diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index e89330a..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-# Editor configuration, see https://editorconfig.org
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.md]
-max_line_length = off
-trim_trailing_whitespace = false
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 86d943a..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,46 +0,0 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
-
-# compiled output
-/dist
-/tmp
-/out-tsc
-# Only exists if Bazel was run
-/bazel-out
-
-# dependencies
-/node_modules
-
-# profiling files
-chrome-profiler-events*.json
-speed-measure-plugin*.json
-
-# IDEs and editors
-/.idea
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# IDE - VSCode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-.history/*
-
-# misc
-/.sass-cache
-/connect.lock
-/coverage
-/libpeerconnection.log
-npm-debug.log
-yarn-error.log
-testem.log
-/typings
-
-# System Files
-.DS_Store
-Thumbs.db
diff --git a/1-es2015.67d3ceb99452bc011267.js b/1-es2015.67d3ceb99452bc011267.js
new file mode 100644
index 0000000..5c64954
--- /dev/null
+++ b/1-es2015.67d3ceb99452bc011267.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"/HVE":function(t,e,i){"use strict";i.d(e,"a",function(){return l}),i.d(e,"b",function(){return o}),i.d(e,"c",function(){return c});var n=i("8Y7J"),s=i("SVse");let r;try{r="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(u){r=!1}let a,l=(()=>{class t{constructor(t){this._platformId=t,this.isBrowser=this._platformId?Object(s.x)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!r)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.ngInjectableDef=Object(n.Pb)({factory:function(){return new t(Object(n.Qb)(n.A,8))},token:t,providedIn:"root"}),t})();class o{}function c(t){return function(){if(null==a&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>a=!0}))}finally{a=a||!1}return a}()?t:!!t.capture}},"5GAg":function(t,e,i){"use strict";i("SVse");var n=i("8Y7J"),s=i("XNiG"),r=(i("quSY"),i("LRne"));i("dvZr"),i("vkgz"),i("7o/Q"),i("D0XW"),i("pLZG"),i("lJxs"),i("IzEk");var a=i("/HVE"),l=i("KCVW");i.d(e,"a",function(){return u}),i.d(e,"b",function(){return d});const o=650,c=Object(a.c)({passive:!0,capture:!0});let u=(()=>{class t{constructor(t,e){this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._documentKeydownListener=()=>{this._lastTouchTarget=null,this._setOriginForCurrentEventQueue("keyboard")},this._documentMousedownListener=()=>{this._lastTouchTarget||this._setOriginForCurrentEventQueue("mouse")},this._documentTouchstartListener=t=>{null!=this._touchTimeoutId&&clearTimeout(this._touchTimeoutId),this._lastTouchTarget=t.target,this._touchTimeoutId=setTimeout(()=>this._lastTouchTarget=null,o)},this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)}}monitor(t,e=!1){if(!this._platform.isBrowser)return Object(r.a)(null);const i=Object(l.b)(t);if(this._elementInfo.has(i)){let t=this._elementInfo.get(i);return t.checkChildren=e,t.subject.asObservable()}let n={unlisten:()=>{},checkChildren:e,subject:new s.a};this._elementInfo.set(i,n),this._incrementMonitoredElementCount();let a=t=>this._onFocus(t,i),o=t=>this._onBlur(t,i);return this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",a,!0),i.addEventListener("blur",o,!0)}),n.unlisten=()=>{i.removeEventListener("focus",a,!0),i.removeEventListener("blur",o,!0)},n.subject.asObservable()}stopMonitoring(t){const e=Object(l.b)(t),i=this._elementInfo.get(e);i&&(i.unlisten(),i.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._decrementMonitoredElementCount())}focusVia(t,e,i){const n=Object(l.b)(t);this._setOriginForCurrentEventQueue(e),"function"==typeof n.focus&&n.focus(i)}ngOnDestroy(){this._elementInfo.forEach((t,e)=>this.stopMonitoring(e))}_toggleClass(t,e,i){i?t.classList.add(e):t.classList.remove(e)}_setClasses(t,e){this._elementInfo.get(t)&&(this._toggleClass(t,"cdk-focused",!!e),this._toggleClass(t,"cdk-touch-focused","touch"===e),this._toggleClass(t,"cdk-keyboard-focused","keyboard"===e),this._toggleClass(t,"cdk-mouse-focused","mouse"===e),this._toggleClass(t,"cdk-program-focused","program"===e))}_setOriginForCurrentEventQueue(t){this._ngZone.runOutsideAngular(()=>{this._origin=t,this._originTimeoutId=setTimeout(()=>this._origin=null,1)})}_wasCausedByTouch(t){let e=t.target;return this._lastTouchTarget instanceof Node&&e instanceof Node&&(e===this._lastTouchTarget||e.contains(this._lastTouchTarget))}_onFocus(t,e){const i=this._elementInfo.get(e);if(!i||!i.checkChildren&&e!==t.target)return;let n=this._origin;n||(n=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(t)?"touch":"program"),this._setClasses(e,n),this._emitOrigin(i.subject,n),this._lastFocusOrigin=n}_onBlur(t,e){const i=this._elementInfo.get(e);!i||i.checkChildren&&t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||(this._setClasses(e),this._emitOrigin(i.subject,null))}_emitOrigin(t,e){this._ngZone.run(()=>t.next(e))}_incrementMonitoredElementCount(){1==++this._monitoredElementCount&&this._platform.isBrowser&&this._ngZone.runOutsideAngular(()=>{document.addEventListener("keydown",this._documentKeydownListener,c),document.addEventListener("mousedown",this._documentMousedownListener,c),document.addEventListener("touchstart",this._documentTouchstartListener,c),window.addEventListener("focus",this._windowFocusListener)})}_decrementMonitoredElementCount(){--this._monitoredElementCount||(document.removeEventListener("keydown",this._documentKeydownListener,c),document.removeEventListener("mousedown",this._documentMousedownListener,c),document.removeEventListener("touchstart",this._documentTouchstartListener,c),window.removeEventListener("focus",this._windowFocusListener),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId))}}return t.ngInjectableDef=Object(n.Pb)({factory:function(){return new t(Object(n.Qb)(n.y),Object(n.Qb)(a.a))},token:t,providedIn:"root"}),t})();function d(t){return 0===t.buttons}},IP0z:function(t,e,i){"use strict";i.d(e,"b",function(){return a}),i.d(e,"a",function(){return l});var n=i("SVse"),s=i("8Y7J");const r=new s.p("cdk-dir-doc",{providedIn:"root",factory:function(){return Object(s.V)(n.c)}});let a=(()=>{class t{constructor(t){if(this.value="ltr",this.change=new s.m,t){const e=t.documentElement?t.documentElement.dir:null,i=(t.body?t.body.dir:null)||e;this.value="ltr"===i||"rtl"===i?i:"ltr"}}ngOnDestroy(){this.change.complete()}}return t.ngInjectableDef=Object(s.Pb)({factory:function(){return new t(Object(s.Qb)(r,8))},token:t,providedIn:"root"}),t})();class l{}},KCVW:function(t,e,i){"use strict";i.d(e,"a",function(){return s}),i.d(e,"c",function(){return r}),i.d(e,"b",function(){return a});var n=i("8Y7J");function s(t){return null!=t&&"false"!==`${t}`}function r(t,e=0){return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function a(t){return t instanceof n.k?t.nativeElement:t}},PCNd:function(t,e,i){"use strict";i.d(e,"a",function(){return n});class n{}},Rcsm:function(t,e,i){"use strict";i.d(e,"a",function(){return n});class n{static delay(t){return new Promise(e=>setTimeout(e,t))}static getRandomColor(){let t="#";for(let e=0;e<6;e++)t+="0123456789ABCDEF"[Math.floor(16*Math.random())];return t}}},SrJx:function(t,e,i){"use strict";i.d(e,"a",function(){return r});var n=i("wZee"),s=(i("huE1"),i("kfgK"),i("8Y7J"));let r=(()=>{class t{constructor(){this.languages={cpp:n.languages.cpp}}highlightCode(t,e){return n.highlight(t,this.languages[e])}}return t.ngInjectableDef=s.Pb({factory:function(){return new t},token:t,providedIn:"root"}),t})()},Xd0L:function(t,e,i){"use strict";var n=i("8Y7J"),s=i("cUpR");const r=new n.N("8.1.4");var a=i("KCVW"),l=(i("XNiG"),i("HDdC"),i("/HVE")),o=(i("JX91"),i("5GAg"));i("dvZr"),i.d(e,"e",function(){return d}),i.d(e,"b",function(){return u}),i.d(e,"j",function(){return h}),i.d(e,"h",function(){return m}),i.d(e,"i",function(){return g}),i.d(e,"k",function(){return p}),i.d(e,"c",function(){return b}),i.d(e,"a",function(){return k}),i.d(e,"g",function(){return D}),i.d(e,"d",function(){return A}),i.d(e,"f",function(){return C});const c=new n.N("8.1.4"),u=new n.p("mat-sanity-checks",{providedIn:"root",factory:function(){return!0}});class d{constructor(t,e){this._sanityChecksEnabled=t,this._hammerLoader=e,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}_areChecksEnabled(){return this._sanityChecksEnabled&&Object(n.W)()&&!this._isTestEnv()}_isTestEnv(){const t=this._window;return t&&(t.__karma__||t.jasmine)}_checkDoctypeIsDefined(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")}_checkThemeIsPresent(){if(!this._document||!this._document.body||"function"!=typeof getComputedStyle)return;const t=this._document.createElement("div");t.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(t);const e=getComputedStyle(t);e&&"none"!==e.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(t)}_checkCdkVersionMatch(){c.full!==r.full&&console.warn("The Angular Material version ("+c.full+") does not match the Angular CDK version ("+r.full+").\nPlease ensure the versions of these two packages exactly match.")}_checkHammerIsAvailable(){!this._hasCheckedHammer&&this._window&&(!this._areChecksEnabled()||this._window.Hammer||this._hammerLoader||console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)}}function h(t){return class extends t{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=Object(a.a)(t)}}}function m(t,e){return class extends t{get color(){return this._color}set color(t){const i=t||e;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}constructor(...t){super(...t),this.color=e}}}function g(t){return class extends t{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=Object(a.a)(t)}}}function p(t,e=0){return class extends t{constructor(...t){super(...t),this._tabIndex=e}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(t){this._tabIndex=null!=t?t:e}}}let f;try{f="undefined"!=typeof Intl}catch(S){f=!1}const b=new n.p("MAT_HAMMER_OPTIONS"),_=["longpress","slide","slidestart","slideend","slideright","slideleft"],v={on:()=>{},off:()=>{}};class k extends s.g{constructor(t,e){super(),this._hammerOptions=t,this.events=_,e&&e._checkHammerIsAvailable()}buildHammer(t){const e="undefined"!=typeof window?window.Hammer:null;if(!e)return v;const i=new e(t,this._hammerOptions||void 0),n=new e.Pan,s=new e.Swipe,r=new e.Press,a=this._createRecognizer(n,{event:"slide",threshold:0},s),l=this._createRecognizer(r,{event:"longpress",time:500});return n.recognizeWith(s),l.recognizeWith(a),i.add([s,r,n,a,l]),i}_createRecognizer(t,e,...i){let n=new t.constructor(e);return i.push(t),i.forEach(t=>n.recognizeWith(t)),n}}const w=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();class y{constructor(t,e,i){this._renderer=t,this.element=e,this.config=i,this.state=w.HIDDEN}fadeOut(){this._renderer.fadeOutRipple(this)}}const x={enterDuration:450,exitDuration:400},E=800,I=Object(l.c)({passive:!0});class F{constructor(t,e,i,n){this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._onMousedown=t=>{const e=Object(o.b)(t),i=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+E;this._target.rippleDisabled||e||i||(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))},this._onTouchStart=t=>{if(!this._target.rippleDisabled){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;const e=t.changedTouches;for(let t=0;t<e.length;t++)this.fadeInRipple(e[t].clientX,e[t].clientY,this._target.rippleConfig)}},this._onPointerUp=()=>{this._isPointerDown&&(this._isPointerDown=!1,this._activeRipples.forEach(t=>{!t.config.persistent&&(t.state===w.VISIBLE||t.config.terminateOnPointerUp&&t.state===w.FADING_IN)&&t.fadeOut()}))},n.isBrowser&&(this._containerElement=i.nativeElement,this._triggerEvents.set("mousedown",this._onMousedown).set("mouseup",this._onPointerUp).set("mouseleave",this._onPointerUp).set("touchstart",this._onTouchStart).set("touchend",this._onPointerUp).set("touchcancel",this._onPointerUp))}fadeInRipple(t,e,i={}){const n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=Object.assign({},x,i.animation);i.centered&&(t=n.left+n.width/2,e=n.top+n.height/2);const r=i.radius||function(t,e,i){const n=Math.max(Math.abs(t-i.left),Math.abs(t-i.right)),s=Math.max(Math.abs(e-i.top),Math.abs(e-i.bottom));return Math.sqrt(n*n+s*s)}(t,e,n),a=t-n.left,l=e-n.top,o=s.enterDuration,c=document.createElement("div");c.classList.add("mat-ripple-element"),c.style.left=`${a-r}px`,c.style.top=`${l-r}px`,c.style.height=`${2*r}px`,c.style.width=`${2*r}px`,c.style.backgroundColor=i.color||null,c.style.transitionDuration=`${o}ms`,this._containerElement.appendChild(c),window.getComputedStyle(c).getPropertyValue("opacity"),c.style.transform="scale(1)";const u=new y(this,c,i);return u.state=w.FADING_IN,this._activeRipples.add(u),i.persistent||(this._mostRecentTransientRipple=u),this._runTimeoutOutsideZone(()=>{const t=u===this._mostRecentTransientRipple;u.state=w.VISIBLE,i.persistent||t&&this._isPointerDown||u.fadeOut()},o),u}fadeOutRipple(t){const e=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!e)return;const i=t.element,n=Object.assign({},x,t.config.animation);i.style.transitionDuration=`${n.exitDuration}ms`,i.style.opacity="0",t.state=w.FADING_OUT,this._runTimeoutOutsideZone(()=>{t.state=w.HIDDEN,i.parentNode.removeChild(i)},n.exitDuration)}fadeOutAll(){this._activeRipples.forEach(t=>t.fadeOut())}setupTriggerEvents(t){t&&t!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(()=>{this._triggerEvents.forEach((e,i)=>{t.addEventListener(i,e,I)})}),this._triggerElement=t)}_runTimeoutOutsideZone(t,e=0){this._ngZone.runOutsideAngular(()=>setTimeout(t,e))}_removeTriggerEvents(){this._triggerElement&&this._triggerEvents.forEach((t,e)=>{this._triggerElement.removeEventListener(e,t,I)})}}const A=new n.p("mat-ripple-global-options");class C{constructor(t,e,i,n,s){this._elementRef=t,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=n||{},this._rippleRenderer=new F(this,e,t,i),"NoopAnimations"===s&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(t){this._trigger=t,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(t,e=0,i){return"number"==typeof t?this._rippleRenderer.fadeInRipple(t,e,Object.assign({},this.rippleConfig,i)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,t))}}class D{}},dvZr:function(t,e,i){"use strict";i.d(e,"l",function(){return n}),i.d(e,"d",function(){return s}),i.d(e,"k",function(){return r}),i.d(e,"i",function(){return a}),i.d(e,"h",function(){return l}),i.d(e,"c",function(){return o}),i.d(e,"e",function(){return c}),i.d(e,"f",function(){return u}),i.d(e,"m",function(){return d}),i.d(e,"j",function(){return h}),i.d(e,"b",function(){return m}),i.d(e,"o",function(){return g}),i.d(e,"g",function(){return p}),i.d(e,"a",function(){return f}),i.d(e,"n",function(){return b}),i.d(e,"p",function(){return _});const n=9,s=13,r=32,a=33,l=34,o=35,c=36,u=37,d=38,h=39,m=40,g=48,p=57,f=65,b=90;function _(t,...e){return e.length?e.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}},huE1:function(t,e){Prism.languages.c=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean},kfgK:function(t,e){Prism.languages.cpp=Prism.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),Prism.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}})},lT8R:function(t,e,i){"use strict";i.d(e,"b",function(){return f}),i.d(e,"a",function(){return p});var n=i("KCVW"),s=i("dvZr"),r=i("8Y7J"),a=(i("s7LF"),i("Xd0L")),l=i("quSY");const o=30,c=7,u=7,d=10;class h{}class m{constructor(t){this._elementRef=t}}const g=Object(a.k)(Object(a.h)(Object(a.j)(m),"accent"));class p extends g{constructor(t,e,i,n,s,a){super(t),this._focusMonitor=e,this._changeDetectorRef=i,this._dir=n,this._animationMode=a,this._invert=!1,this._max=100,this._min=0,this._step=1,this._thumbLabel=!1,this._tickInterval=0,this._value=null,this._vertical=!1,this.change=new r.m,this.input=new r.m,this.valueChange=new r.m,this.onTouched=()=>{},this._percent=0,this._isSliding=!1,this._isActive=!1,this._tickIntervalPercent=0,this._sliderDimensions=null,this._controlValueAccessorChangeFn=()=>{},this._dirChangeSubscription=l.a.EMPTY,this.tabIndex=parseInt(s)||0}get invert(){return this._invert}set invert(t){this._invert=Object(n.a)(t)}get max(){return this._max}set max(t){this._max=Object(n.c)(t,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get min(){return this._min}set min(t){this._min=Object(n.c)(t,this._min),null===this._value&&(this.value=this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}get step(){return this._step}set step(t){this._step=Object(n.c)(t,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}get thumbLabel(){return this._thumbLabel}set thumbLabel(t){this._thumbLabel=Object(n.a)(t)}get tickInterval(){return this._tickInterval}set tickInterval(t){this._tickInterval="auto"===t?"auto":"number"==typeof t||"string"==typeof t?Object(n.c)(t,this._tickInterval):0}get value(){return null===this._value&&(this.value=this._min),this._value}set value(t){if(t!==this._value){let e=Object(n.c)(t);this._roundToDecimal&&(e=parseFloat(e.toFixed(this._roundToDecimal))),this._value=e,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}get vertical(){return this._vertical}set vertical(t){this._vertical=Object(n.a)(t)}get displayValue(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}focus(t){this._focusHostElement(t)}blur(){this._blurHostElement()}get percent(){return this._clamp(this._percent)}get _invertAxis(){return this.vertical?!this.invert:this.invert}get _isMinValue(){return 0===this.percent}get _thumbGap(){return this.disabled?c:this._isMinValue&&!this.thumbLabel?this._isActive?d:u:0}get _trackBackgroundStyles(){const t=this.vertical?`1, ${1-this.percent}, 1`:`${1-this.percent}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"-":""}${this._thumbGap}px) scale3d(${t})`}}get _trackFillStyles(){const t=this.vertical?`1, ${this.percent}, 1`:`${this.percent}, 1, 1`;return{transform:`translate${this.vertical?"Y":"X"}(${this._shouldInvertMouseCoords()?"":"-"}${this._thumbGap}px) scale3d(${t})`}}get _ticksContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"-":""}${this._tickIntervalPercent/2*100}%)`}}get _ticksStyles(){let t=100*this._tickIntervalPercent,e={backgroundSize:this.vertical?`2px ${t}%`:`${t}% 2px`,transform:`translateZ(0) translate${this.vertical?"Y":"X"}(${this.vertical||"rtl"!=this._getDirection()?"":"-"}${t/2}%)${this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)"}`};return this._isMinValue&&this._thumbGap&&(e[`padding${this.vertical?this._invertAxis?"Bottom":"Top":this._invertAxis?"Right":"Left"}`]=`${this._thumbGap}px`),e}get _thumbContainerStyles(){return{transform:`translate${this.vertical?"Y":"X"}(-${100*(("rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis)?this.percent:1-this.percent)}%)`}}_shouldInvertMouseCoords(){return"rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis}_getDirection(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"}ngOnInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{this._isActive=!!t&&"keyboard"!==t,this._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>{this._changeDetectorRef.markForCheck()}))}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()}_onMouseenter(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())}_onMousedown(t){if(this.disabled||0!==t.button)return;const e=this.value;this._isSliding=!1,this._focusHostElement(),this._updateValueFromPosition({x:t.clientX,y:t.clientY}),e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent())}_onSlide(t){if(this.disabled)return;this._isSliding||this._onSlideStart(null),t.preventDefault();let e=this.value;this._updateValueFromPosition({x:t.center.x,y:t.center.y}),e!=this.value&&this._emitInputEvent()}_onSlideStart(t){this.disabled||this._isSliding||(this._onMouseenter(),this._isSliding=!0,this._focusHostElement(),this._valueOnSlideStart=this.value,t&&(this._updateValueFromPosition({x:t.center.x,y:t.center.y}),t.preventDefault()))}_onSlideEnd(){this._isSliding=!1,this._valueOnSlideStart==this.value||this.disabled||this._emitChangeEvent(),this._valueOnSlideStart=null}_onFocus(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()}_onBlur(){this.onTouched()}_onKeydown(t){if(this.disabled||Object(s.p)(t))return;const e=this.value;switch(t.keyCode){case s.i:this._increment(10);break;case s.h:this._increment(-10);break;case s.c:this.value=this.max;break;case s.e:this.value=this.min;break;case s.f:this._increment("rtl"==this._getDirection()?1:-1);break;case s.m:this._increment(1);break;case s.j:this._increment("rtl"==this._getDirection()?-1:1);break;case s.b:this._increment(-1);break;default:return}e!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding=!0,t.preventDefault()}_onKeyup(){this._isSliding=!1}_increment(t){this.value=this._clamp((this.value||0)+this.step*t,this.min,this.max)}_updateValueFromPosition(t){if(!this._sliderDimensions)return;let e=this._clamp(((this.vertical?t.y:t.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(e=1-e),0===e)this.value=this.min;else if(1===e)this.value=this.max;else{const t=this._calculateValue(e),i=Math.round((t-this.min)/this.step)*this.step+this.min;this.value=this._clamp(i,this.min,this.max)}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())}_emitInputEvent(){this.input.emit(this._createChangeEvent())}_updateTickIntervalPercent(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){let t=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,e=Math.ceil(o/(t*this.step/(this.max-this.min)));this._tickIntervalPercent=e*this.step/t}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)}_createChangeEvent(t=this.value){let e=new h;return e.source=this,e.value=t,e}_calculatePercentage(t){return((t||0)-this.min)/(this.max-this.min)}_calculateValue(t){return this.min+t*(this.max-this.min)}_clamp(t,e=0,i=1){return Math.max(e,Math.min(t,i))}_getSliderDimensions(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null}_focusHostElement(t){this._elementRef.nativeElement.focus(t)}_blurHostElement(){this._elementRef.nativeElement.blur()}writeValue(t){this.value=t}registerOnChange(t){this._controlValueAccessorChangeFn=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}}class f{}},mrSG:function(t,e,i){"use strict";function n(t,e,i,n){return new(i||(i=Promise))(function(s,r){function a(t){try{o(n.next(t))}catch(e){r(e)}}function l(t){try{o(n.throw(t))}catch(e){r(e)}}function o(t){t.done?s(t.value):new i(function(e){e(t.value)}).then(a,l)}o((n=n.apply(t,e||[])).next())})}i.d(e,"a",function(){return n})},uM4N:function(t,e,i){"use strict";i.d(e,"a",function(){return r}),i.d(e,"b",function(){return a});var n=i("8Y7J"),s=(i("lT8R"),i("SVse")),r=(i("cUpR"),i("Xd0L"),i("IP0z"),i("s7LF"),i("5GAg"),i("omvX"),n.qb({encapsulation:2,styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider.mat-slider-sliding:not(.mat-slider-disabled),.mat-slider:not(.mat-slider-disabled):active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],data:{}}));function a(t){return n.Lb(2,[n.Ib(671088640,1,{_sliderWrapper:0}),(t()(),n.sb(1,0,[[1,0],["sliderWrapper",1]],null,21,"div",[["class","mat-slider-wrapper"]],null,null,null,null,null)),(t()(),n.sb(2,0,null,null,6,"div",[["class","mat-slider-track-wrapper"]],null,null,null,null,null)),(t()(),n.sb(3,0,null,null,2,"div",[["class","mat-slider-track-background"]],null,null,null,null,null)),n.Hb(512,null,s.B,s.C,[n.k,n.s,n.D]),n.rb(5,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),n.sb(6,0,null,null,2,"div",[["class","mat-slider-track-fill"]],null,null,null,null,null)),n.Hb(512,null,s.B,s.C,[n.k,n.s,n.D]),n.rb(8,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),n.sb(9,0,null,null,5,"div",[["class","mat-slider-ticks-container"]],null,null,null,null,null)),n.Hb(512,null,s.B,s.C,[n.k,n.s,n.D]),n.rb(11,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),n.sb(12,0,null,null,2,"div",[["class","mat-slider-ticks"]],null,null,null,null,null)),n.Hb(512,null,s.B,s.C,[n.k,n.s,n.D]),n.rb(14,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),n.sb(15,0,null,null,7,"div",[["class","mat-slider-thumb-container"]],null,null,null,null,null)),n.Hb(512,null,s.B,s.C,[n.k,n.s,n.D]),n.rb(17,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),n.sb(18,0,null,null,0,"div",[["class","mat-slider-focus-ring"]],null,null,null,null,null)),(t()(),n.sb(19,0,null,null,0,"div",[["class","mat-slider-thumb"]],null,null,null,null,null)),(t()(),n.sb(20,0,null,null,2,"div",[["class","mat-slider-thumb-label"]],null,null,null,null,null)),(t()(),n.sb(21,0,null,null,1,"span",[["class","mat-slider-thumb-label-text"]],null,null,null,null,null)),(t()(),n.Kb(22,null,["",""]))],function(t,e){var i=e.component;t(e,5,0,i._trackBackgroundStyles),t(e,8,0,i._trackFillStyles),t(e,11,0,i._ticksContainerStyles),t(e,14,0,i._ticksStyles),t(e,17,0,i._thumbContainerStyles)},function(t,e){t(e,22,0,e.component.displayValue)})}},wZee:function(t,e,i){var n=function(t){var e=/\blang(?:uage)?-([\w-]+)\b/i,i=0,n={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function(t){return t instanceof s?new s(t.type,n.util.encode(t.content),t.alias):Array.isArray(t)?t.map(n.util.encode):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(t){return Object.prototype.toString.call(t).slice(8,-1)},objId:function(t){return t.__id||Object.defineProperty(t,"__id",{value:++i}),t.__id},clone:function t(e,i){var s,r,a=n.util.type(e);switch(i=i||{},a){case"Object":if(r=n.util.objId(e),i[r])return i[r];for(var l in i[r]=s={},e)e.hasOwnProperty(l)&&(s[l]=t(e[l],i));return s;case"Array":return r=n.util.objId(e),i[r]?i[r]:(i[r]=s=[],e.forEach(function(e,n){s[n]=t(e,i)}),s);default:return e}}},languages:{extend:function(t,e){var i=n.util.clone(n.languages[t]);for(var s in e)i[s]=e[s];return i},insertBefore:function(t,e,i,s){var r=(s=s||n.languages)[t],a={};for(var l in r)if(r.hasOwnProperty(l)){if(l==e)for(var o in i)i.hasOwnProperty(o)&&(a[o]=i[o]);i.hasOwnProperty(l)||(a[l]=r[l])}var c=s[t];return s[t]=a,n.languages.DFS(n.languages,function(e,i){i===c&&e!=t&&(this[e]=a)}),a},DFS:function t(e,i,s,r){r=r||{};var a=n.util.objId;for(var l in e)if(e.hasOwnProperty(l)){i.call(e,l,e[l],s||l);var o=e[l],c=n.util.type(o);"Object"!==c||r[a(o)]?"Array"!==c||r[a(o)]||(r[a(o)]=!0,t(o,i,l,r)):(r[a(o)]=!0,t(o,i,null,r))}}},plugins:{},highlightAll:function(t,e){n.highlightAllUnder(document,t,e)},highlightAllUnder:function(t,e,i){var s={callback:i,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",s);for(var r,a=t.querySelectorAll(s.selector),l=0;r=a[l++];)n.highlightElement(r,!0===e,s.callback)},highlightElement:function(i,s,r){for(var a,l="none",o=i;o&&!e.test(o.className);)o=o.parentNode;o&&(l=(o.className.match(e)||[,"none"])[1].toLowerCase(),a=n.languages[l]),i.className=i.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,i.parentNode&&/pre/i.test((o=i.parentNode).nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var c={element:i,language:l,grammar:a,code:i.textContent},u=function(t){c.highlightedCode=t,n.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,n.hooks.run("after-highlight",c),n.hooks.run("complete",c),r&&r.call(c.element)};if(n.hooks.run("before-sanity-check",c),c.code)if(n.hooks.run("before-highlight",c),c.grammar)if(s&&t.Worker){var d=new Worker(n.filename);d.onmessage=function(t){u(t.data)},d.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else u(n.highlight(c.code,c.grammar,c.language));else u(n.util.encode(c.code));else n.hooks.run("complete",c)},highlight:function(t,e,i){var r={code:t,grammar:e,language:i};return n.hooks.run("before-tokenize",r),r.tokens=n.tokenize(r.code,r.grammar),n.hooks.run("after-tokenize",r),s.stringify(n.util.encode(r.tokens),r.language)},matchGrammar:function(t,e,i,r,a,l,o){for(var c in i)if(i.hasOwnProperty(c)&&i[c]){if(c==o)return;var u=i[c];u="Array"===n.util.type(u)?u:[u];for(var d=0;d<u.length;++d){var h=u[d],m=h.inside,g=!!h.lookbehind,p=!!h.greedy,f=0,b=h.alias;if(p&&!h.pattern.global){var _=h.pattern.toString().match(/[imuy]*$/)[0];h.pattern=RegExp(h.pattern.source,_+"g")}h=h.pattern||h;for(var v=r,k=a;v<e.length;k+=e[v].length,++v){var w=e[v];if(e.length>t.length)return;if(!(w instanceof s)){if(p&&v!=e.length-1){if(h.lastIndex=k,!(A=h.exec(t)))break;for(var y=A.index+(g?A[1].length:0),x=A.index+A[0].length,E=v,I=k,F=e.length;E<F&&(I<x||!e[E].type&&!e[E-1].greedy);++E)y>=(I+=e[E].length)&&(++v,k=I);if(e[v]instanceof s)continue;C=E-v,w=t.slice(k,I),A.index-=k}else{h.lastIndex=0;var A=h.exec(w),C=1}if(A){g&&(f=A[1]?A[1].length:0),x=(y=A.index+f)+(A=A[0].slice(f)).length;var D=w.slice(0,y),S=w.slice(x),T=[v,C];D&&(++v,k+=D.length,T.push(D));var O=new s(c,m?n.tokenize(A,m):A,b,A,p);if(T.push(O),S&&T.push(S),Array.prototype.splice.apply(e,T),1!=C&&n.matchGrammar(t,e,i,v,k,!0,c),l)break}else if(l)break}}}}},tokenize:function(t,e){var i=[t],s=e.rest;if(s){for(var r in s)e[r]=s[r];delete e.rest}return n.matchGrammar(t,i,e,0,0,!1),i},hooks:{all:{},add:function(t,e){var i=n.hooks.all;i[t]=i[t]||[],i[t].push(e)},run:function(t,e){var i=n.hooks.all[t];if(i&&i.length)for(var s,r=0;s=i[r++];)s(e)}},Token:s};function s(t,e,i,n,s){this.type=t,this.content=e,this.alias=i,this.length=0|(n||"").length,this.greedy=!!s}if(t.Prism=n,s.stringify=function(t,e){if("string"==typeof t)return t;if(Array.isArray(t))return t.map(function(t){return s.stringify(t,e)}).join("");var i={type:t.type,content:s.stringify(t.content,e),tag:"span",classes:["token",t.type],attributes:{},language:e};if(t.alias){var r=Array.isArray(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(i.classes,r)}n.hooks.run("wrap",i);var a=Object.keys(i.attributes).map(function(t){return t+'="'+(i.attributes[t]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+(a?" "+a:"")+">"+i.content+"</"+i.tag+">"},!t.document)return t.addEventListener?(n.disableWorkerMessageHandler||t.addEventListener("message",function(e){var i=JSON.parse(e.data),s=i.language,r=i.immediateClose;t.postMessage(n.highlight(i.code,n.languages[s],s)),r&&t.close()},!1),n):n;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),n}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});t.exports&&(t.exports=n),"undefined"!=typeof global&&(global.Prism=n),n.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s\/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))}),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(t,e){var i={};i["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[e]},i.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:i}};s["language-"+e]={pattern:/[\s\S]+/,inside:n.languages[e]};var r={};r[t]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,t),"i"),lookbehind:!0,greedy:!0,inside:s},n.languages.insertBefore("markup","cdata",r)}}),n.languages.xml=n.languages.extend("markup",{}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,function(t){var e=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+e.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+e.source+")*?(?=\\s*\\{)"),string:{pattern:e,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var i=t.languages.markup;i&&(i.tag.addInlined("style","css"),t.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:i.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:t.languages.css}},alias:"language-css"}},i.tag))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.markup.tag.addInlined("script","javascript"),n.languages.js=n.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(t){t=t||document;var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(t.querySelectorAll("pre[data-src]")).forEach(function(t){if(!t.hasAttribute("data-src-loaded")){for(var i,s=t.getAttribute("data-src"),r=t,a=/\blang(?:uage)?-([\w-]+)\b/i;r&&!a.test(r.className);)r=r.parentNode;if(r&&(i=(t.className.match(a)||[,""])[1]),!i){var l=(s.match(/\.(\w+)$/)||[,""])[1];i=e[l]||l}var o=document.createElement("code");o.className="language-"+i,t.textContent="",o.textContent="Loading\u2026",t.appendChild(o);var c=new XMLHttpRequest;c.open("GET",s,!0),c.onreadystatechange=function(){4==c.readyState&&(c.status<400&&c.responseText?(o.textContent=c.responseText,n.highlightElement(o),t.setAttribute("data-src-loaded","")):o.textContent=c.status>=400?"\u2716 Error "+c.status+" while fetching file: "+c.statusText:"\u2716 Error: File does not exist or is empty")},c.send(null)}}),n.plugins.toolbar&&n.plugins.toolbar.registerButton("download-file",function(t){var e=t.element.parentNode;if(e&&/pre/i.test(e.nodeName)&&e.hasAttribute("data-src")&&e.hasAttribute("data-download-link")){var i=e.getAttribute("data-src"),n=document.createElement("a");return n.textContent=e.getAttribute("data-download-link-label")||"Download",n.setAttribute("download",""),n.href=i,n}})},document.addEventListener("DOMContentLoaded",function(){self.Prism.fileHighlight()}))}}]);
\ No newline at end of file
diff --git a/1-es5.67d3ceb99452bc011267.js b/1-es5.67d3ceb99452bc011267.js
new file mode 100644
index 0000000..2d6f8db
--- /dev/null
+++ b/1-es5.67d3ceb99452bc011267.js
@@ -0,0 +1 @@
+function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||false;i.configurable=true;if("value"in i)i.writable=true;Object.defineProperty(t,i.key,i)}}function e(e,n,i){if(n)t(e.prototype,n);if(i)t(e,i);return e}function n(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;t.__proto__=e}(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"/HVE":function t(e,n,i){"use strict";i.d(n,"a",function(){return l}),i.d(n,"b",function(){return u}),i.d(n,"c",function(){return c});var r=i("8Y7J"),s=i("SVse");var a;try{a="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(d){a=!1}var o,l=function(){var t=function t(e){this._platformId=e,this.isBrowser=this._platformId?Object(s.x)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!a)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return t.ngInjectableDef=Object(r.Pb)({factory:function e(){return new t(Object(r.Qb)(r.A,8))},token:t,providedIn:"root"}),t}();var u=function t(){};function c(t){return function(){if(null==o&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function t(){return o=!0}}))}finally{o=o||!1}return o}()?t:!!t.capture}},"5GAg":function t(e,n,i){"use strict";i("SVse");var r=i("8Y7J"),s=i("XNiG"),a=(i("quSY"),i("LRne"));i("dvZr"),i("vkgz"),i("7o/Q"),i("D0XW"),i("pLZG"),i("lJxs"),i("IzEk");var o=i("/HVE"),l=i("KCVW");i.d(n,"a",function(){return d}),i.d(n,"b",function(){return h});var u=650,c=Object(o.c)({passive:!0,capture:!0});var d=function(){var t=function(){function t(t,e){var n=this;this._ngZone=t,this._platform=e,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._documentKeydownListener=function(){n._lastTouchTarget=null,n._setOriginForCurrentEventQueue("keyboard")},this._documentMousedownListener=function(){n._lastTouchTarget||n._setOriginForCurrentEventQueue("mouse")},this._documentTouchstartListener=function(t){null!=n._touchTimeoutId&&clearTimeout(n._touchTimeoutId),n._lastTouchTarget=t.target,n._touchTimeoutId=setTimeout(function(){return n._lastTouchTarget=null},u)},this._windowFocusListener=function(){n._windowFocused=!0,n._windowFocusTimeoutId=setTimeout(function(){return n._windowFocused=!1})}}var e=t.prototype;e.monitor=function t(e,n){var i=this;if(n===void 0){n=!1}if(!this._platform.isBrowser)return Object(a.a)(null);var r=Object(l.b)(e);if(this._elementInfo.has(r)){var o=this._elementInfo.get(r);return o.checkChildren=n,o.subject.asObservable()}var u={unlisten:function t(){},checkChildren:n,subject:new s.a};this._elementInfo.set(r,u),this._incrementMonitoredElementCount();var c=function t(e){return i._onFocus(e,r)},d=function t(e){return i._onBlur(e,r)};return this._ngZone.runOutsideAngular(function(){r.addEventListener("focus",c,!0),r.addEventListener("blur",d,!0)}),u.unlisten=function(){r.removeEventListener("focus",c,!0),r.removeEventListener("blur",d,!0)},u.subject.asObservable()};e.stopMonitoring=function t(e){var n=Object(l.b)(e),i=this._elementInfo.get(n);i&&(i.unlisten(),i.subject.complete(),this._setClasses(n),this._elementInfo.delete(n),this._decrementMonitoredElementCount())};e.focusVia=function t(e,n,i){var r=Object(l.b)(e);this._setOriginForCurrentEventQueue(n),"function"==typeof r.focus&&r.focus(i)};e.ngOnDestroy=function t(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})};e._toggleClass=function t(e,n,i){i?e.classList.add(n):e.classList.remove(n)};e._setClasses=function t(e,n){this._elementInfo.get(e)&&(this._toggleClass(e,"cdk-focused",!!n),this._toggleClass(e,"cdk-touch-focused","touch"===n),this._toggleClass(e,"cdk-keyboard-focused","keyboard"===n),this._toggleClass(e,"cdk-mouse-focused","mouse"===n),this._toggleClass(e,"cdk-program-focused","program"===n))};e._setOriginForCurrentEventQueue=function t(e){var n=this;this._ngZone.runOutsideAngular(function(){n._origin=e,n._originTimeoutId=setTimeout(function(){return n._origin=null},1)})};e._wasCausedByTouch=function t(e){var n=e.target;return this._lastTouchTarget instanceof Node&&n instanceof Node&&(n===this._lastTouchTarget||n.contains(this._lastTouchTarget))};e._onFocus=function t(e,n){var i=this._elementInfo.get(n);if(!i||!i.checkChildren&&n!==e.target)return;var r=this._origin;r||(r=this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:this._wasCausedByTouch(e)?"touch":"program"),this._setClasses(n,r),this._emitOrigin(i.subject,r),this._lastFocusOrigin=r};e._onBlur=function t(e,n){var i=this._elementInfo.get(n);!i||i.checkChildren&&e.relatedTarget instanceof Node&&n.contains(e.relatedTarget)||(this._setClasses(n),this._emitOrigin(i.subject,null))};e._emitOrigin=function t(e,n){this._ngZone.run(function(){return e.next(n)})};e._incrementMonitoredElementCount=function t(){var e=this;1==++this._monitoredElementCount&&this._platform.isBrowser&&this._ngZone.runOutsideAngular(function(){document.addEventListener("keydown",e._documentKeydownListener,c),document.addEventListener("mousedown",e._documentMousedownListener,c),document.addEventListener("touchstart",e._documentTouchstartListener,c),window.addEventListener("focus",e._windowFocusListener)})};e._decrementMonitoredElementCount=function t(){--this._monitoredElementCount||(document.removeEventListener("keydown",this._documentKeydownListener,c),document.removeEventListener("mousedown",this._documentMousedownListener,c),document.removeEventListener("touchstart",this._documentTouchstartListener,c),window.removeEventListener("focus",this._windowFocusListener),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._touchTimeoutId),clearTimeout(this._originTimeoutId))};return t}();return t.ngInjectableDef=Object(r.Pb)({factory:function e(){return new t(Object(r.Qb)(r.y),Object(r.Qb)(o.a))},token:t,providedIn:"root"}),t}();function h(t){return 0===t.buttons}},IP0z:function t(e,n,i){"use strict";i.d(n,"b",function(){return o}),i.d(n,"a",function(){return l});var r=i("SVse"),s=i("8Y7J");var a=new s.p("cdk-dir-doc",{providedIn:"root",factory:function t(){return Object(s.V)(r.c)}});var o=function(){var t=function(){function t(t){if(this.value="ltr",this.change=new s.m,t){var e=t.documentElement?t.documentElement.dir:null,n=(t.body?t.body.dir:null)||e;this.value="ltr"===n||"rtl"===n?n:"ltr"}}var e=t.prototype;e.ngOnDestroy=function t(){this.change.complete()};return t}();return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t(Object(s.Qb)(a,8))},token:t,providedIn:"root"}),t}();var l=function t(){}},KCVW:function t(e,n,i){"use strict";i.d(n,"a",function(){return s}),i.d(n,"c",function(){return a}),i.d(n,"b",function(){return o});var r=i("8Y7J");function s(t){return null!=t&&"false"!==""+t}function a(t,e){if(e===void 0){e=0}return function(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):e}function o(t){return t instanceof r.k?t.nativeElement:t}},PCNd:function t(e,n,i){"use strict";i.d(n,"a",function(){return r});var r=function t(){}},Rcsm:function t(e,n,i){"use strict";i.d(n,"a",function(){return r});var r=function(){function t(){}t.delay=function t(e){return new Promise(function(t){return setTimeout(t,e)})};t.getRandomColor=function t(){var e="#";for(var n=0;n<6;n++){e+="0123456789ABCDEF"[Math.floor(16*Math.random())]}return e};return t}()},SrJx:function t(e,n,i){"use strict";i.d(n,"a",function(){return a});var r=i("wZee"),s=(i("huE1"),i("kfgK"),i("8Y7J"));var a=function(){var t=function(){function t(){this.languages={cpp:r.languages.cpp}}var e=t.prototype;e.highlightCode=function t(e,n){return r.highlight(e,this.languages[n])};return t}();return t.ngInjectableDef=s.Pb({factory:function e(){return new t},token:t,providedIn:"root"}),t}()},Xd0L:function t(i,r,s){"use strict";var a=s("8Y7J"),o=s("cUpR");var l=new a.N("8.1.4");var u=s("KCVW"),c=(s("XNiG"),s("HDdC"),s("/HVE")),d=(s("JX91"),s("5GAg"));s("dvZr"),s.d(r,"e",function(){return f}),s.d(r,"b",function(){return m}),s.d(r,"j",function(){return g}),s.d(r,"h",function(){return p}),s.d(r,"i",function(){return b}),s.d(r,"k",function(){return _}),s.d(r,"c",function(){return k}),s.d(r,"a",function(){return x}),s.d(r,"g",function(){return O}),s.d(r,"d",function(){return S}),s.d(r,"f",function(){return T});var h=new a.N("8.1.4"),m=new a.p("mat-sanity-checks",{providedIn:"root",factory:function t(){return!0}});var f=function(){function t(t,e){this._sanityChecksEnabled=t,this._hammerLoader=e,this._hasDoneGlobalChecks=!1,this._hasCheckedHammer=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this._areChecksEnabled()&&!this._hasDoneGlobalChecks&&(this._checkDoctypeIsDefined(),this._checkThemeIsPresent(),this._checkCdkVersionMatch(),this._hasDoneGlobalChecks=!0)}var e=t.prototype;e._areChecksEnabled=function t(){return this._sanityChecksEnabled&&Object(a.W)()&&!this._isTestEnv()};e._isTestEnv=function t(){var e=this._window;return e&&(e.__karma__||e.jasmine)};e._checkDoctypeIsDefined=function t(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.")};e._checkThemeIsPresent=function t(){if(!this._document||!this._document.body||"function"!=typeof getComputedStyle)return;var e=this._document.createElement("div");e.classList.add("mat-theme-loaded-marker"),this._document.body.appendChild(e);var n=getComputedStyle(e);n&&"none"!==n.display&&console.warn("Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.angular.io/guide/theming"),this._document.body.removeChild(e)};e._checkCdkVersionMatch=function t(){h.full!==l.full&&console.warn("The Angular Material version ("+h.full+") does not match the Angular CDK version ("+l.full+").\nPlease ensure the versions of these two packages exactly match.")};e._checkHammerIsAvailable=function t(){!this._hasCheckedHammer&&this._window&&(!this._areChecksEnabled()||this._window.Hammer||this._hammerLoader||console.warn("Could not find HammerJS. Certain Angular Material components may not work correctly."),this._hasCheckedHammer=!0)};return t}();function g(t){return function(t){n(i,t);function i(){var e;for(var n=arguments.length,i=new Array(n),r=0;r<n;r++){i[r]=arguments[r]}e=t.call.apply(t,[this].concat(i))||this,e._disabled=!1;return e}e(i,[{key:"disabled",get:function t(){return this._disabled},set:function t(e){this._disabled=Object(u.a)(e)}}]);return i}(t)}function p(t,i){return function(t){n(r,t);e(r,[{key:"color",get:function t(){return this._color},set:function t(e){var n=e||i;n!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove("mat-"+this._color),n&&this._elementRef.nativeElement.classList.add("mat-"+n),this._color=n)}}]);function r(){var e;for(var n=arguments.length,r=new Array(n),s=0;s<n;s++){r[s]=arguments[s]}e=t.call.apply(t,[this].concat(r))||this,e.color=i;return e}return r}(t)}function b(t){return function(t){n(i,t);function i(){var e;for(var n=arguments.length,i=new Array(n),r=0;r<n;r++){i[r]=arguments[r]}e=t.call.apply(t,[this].concat(i))||this,e._disableRipple=!1;return e}e(i,[{key:"disableRipple",get:function t(){return this._disableRipple},set:function t(e){this._disableRipple=Object(u.a)(e)}}]);return i}(t)}function _(t,i){if(i===void 0){i=0}return function(t){n(r,t);function r(){var e;for(var n=arguments.length,r=new Array(n),s=0;s<n;s++){r[s]=arguments[s]}e=t.call.apply(t,[this].concat(r))||this,e._tabIndex=i;return e}e(r,[{key:"tabIndex",get:function t(){return this.disabled?-1:this._tabIndex},set:function t(e){this._tabIndex=null!=e?e:i}}]);return r}(t)}var v;try{v="undefined"!=typeof Intl}catch(j){v=!1}var k=new a.p("MAT_HAMMER_OPTIONS"),y=["longpress","slide","slidestart","slideend","slideright","slideleft"],w={on:function t(){},off:function t(){}};var x=function(t){n(e,t);function e(e,n){var i;i=t.call(this)||this,i._hammerOptions=e,i.events=y,n&&n._checkHammerIsAvailable();return i}var i=e.prototype;i.buildHammer=function t(e){var n="undefined"!=typeof window?window.Hammer:null;if(!n)return w;var i=new n(e,this._hammerOptions||void 0),r=new n.Pan,s=new n.Swipe,a=new n.Press,o=this._createRecognizer(r,{event:"slide",threshold:0},s),l=this._createRecognizer(a,{event:"longpress",time:500});return r.recognizeWith(s),l.recognizeWith(o),i.add([s,a,r,o,l]),i};i._createRecognizer=function t(e,n){var i=new e.constructor(n);for(var r=arguments.length,s=new Array(r>2?r-2:0),a=2;a<r;a++){s[a-2]=arguments[a]}return s.push(e),s.forEach(function(t){return i.recognizeWith(t)}),i};return e}(o.g);var E=function(){var t={FADING_IN:0,VISIBLE:1,FADING_OUT:2,HIDDEN:3};return t[t.FADING_IN]="FADING_IN",t[t.VISIBLE]="VISIBLE",t[t.FADING_OUT]="FADING_OUT",t[t.HIDDEN]="HIDDEN",t}();var I=function(){function t(t,e,n){this._renderer=t,this.element=e,this.config=n,this.state=E.HIDDEN}var e=t.prototype;e.fadeOut=function t(){this._renderer.fadeOutRipple(this)};return t}();var F={enterDuration:450,exitDuration:400},A=800,C=Object(c.c)({passive:!0});var D=function(){function t(t,e,n,i){var r=this;this._target=t,this._ngZone=e,this._isPointerDown=!1,this._triggerEvents=new Map,this._activeRipples=new Set,this._onMousedown=function(t){var e=Object(d.b)(t),n=r._lastTouchStartEvent&&Date.now()<r._lastTouchStartEvent+A;r._target.rippleDisabled||e||n||(r._isPointerDown=!0,r.fadeInRipple(t.clientX,t.clientY,r._target.rippleConfig))},this._onTouchStart=function(t){if(!r._target.rippleDisabled){r._lastTouchStartEvent=Date.now(),r._isPointerDown=!0;var e=t.changedTouches;for(var n=0;n<e.length;n++){r.fadeInRipple(e[n].clientX,e[n].clientY,r._target.rippleConfig)}}},this._onPointerUp=function(){r._isPointerDown&&(r._isPointerDown=!1,r._activeRipples.forEach(function(t){!t.config.persistent&&(t.state===E.VISIBLE||t.config.terminateOnPointerUp&&t.state===E.FADING_IN)&&t.fadeOut()}))},i.isBrowser&&(this._containerElement=n.nativeElement,this._triggerEvents.set("mousedown",this._onMousedown).set("mouseup",this._onPointerUp).set("mouseleave",this._onPointerUp).set("touchstart",this._onTouchStart).set("touchend",this._onPointerUp).set("touchcancel",this._onPointerUp))}var e=t.prototype;e.fadeInRipple=function t(e,n,i){var r=this;if(i===void 0){i={}}var s=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),a=Object.assign({},F,i.animation);i.centered&&(e=s.left+s.width/2,n=s.top+s.height/2);var o=i.radius||function(t,e,n){var i=Math.max(Math.abs(t-n.left),Math.abs(t-n.right)),r=Math.max(Math.abs(e-n.top),Math.abs(e-n.bottom));return Math.sqrt(i*i+r*r)}(e,n,s),l=e-s.left,u=n-s.top,c=a.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=l-o+"px",d.style.top=u-o+"px",d.style.height=2*o+"px",d.style.width=2*o+"px",d.style.backgroundColor=i.color||null,d.style.transitionDuration=c+"ms",this._containerElement.appendChild(d),window.getComputedStyle(d).getPropertyValue("opacity"),d.style.transform="scale(1)";var h=new I(this,d,i);return h.state=E.FADING_IN,this._activeRipples.add(h),i.persistent||(this._mostRecentTransientRipple=h),this._runTimeoutOutsideZone(function(){var t=h===r._mostRecentTransientRipple;h.state=E.VISIBLE,i.persistent||t&&r._isPointerDown||h.fadeOut()},c),h};e.fadeOutRipple=function t(e){var n=this._activeRipples.delete(e);if(e===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),!n)return;var i=e.element,r=Object.assign({},F,e.config.animation);i.style.transitionDuration=r.exitDuration+"ms",i.style.opacity="0",e.state=E.FADING_OUT,this._runTimeoutOutsideZone(function(){e.state=E.HIDDEN,i.parentNode.removeChild(i)},r.exitDuration)};e.fadeOutAll=function t(){this._activeRipples.forEach(function(t){return t.fadeOut()})};e.setupTriggerEvents=function t(e){var n=this;e&&e!==this._triggerElement&&(this._removeTriggerEvents(),this._ngZone.runOutsideAngular(function(){n._triggerEvents.forEach(function(t,n){e.addEventListener(n,t,C)})}),this._triggerElement=e)};e._runTimeoutOutsideZone=function t(e,n){if(n===void 0){n=0}this._ngZone.runOutsideAngular(function(){return setTimeout(e,n)})};e._removeTriggerEvents=function t(){var e=this;this._triggerElement&&this._triggerEvents.forEach(function(t,n){e._triggerElement.removeEventListener(n,t,C)})};return t}();var S=new a.p("mat-ripple-global-options");var T=function(){function t(t,e,n,i,r){this._elementRef=t,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=i||{},this._rippleRenderer=new D(this,e,t,n),"NoopAnimations"===r&&(this._globalOptions.animation={enterDuration:0,exitDuration:0})}var n=t.prototype;n.ngOnInit=function t(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()};n.ngOnDestroy=function t(){this._rippleRenderer._removeTriggerEvents()};n.fadeOutAll=function t(){this._rippleRenderer.fadeOutAll()};n._setupTriggerEventsIfEnabled=function t(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)};n.launch=function t(e,n,i){if(n===void 0){n=0}return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,n,Object.assign({},this.rippleConfig,i)):this._rippleRenderer.fadeInRipple(0,0,Object.assign({},this.rippleConfig,e))};e(t,[{key:"disabled",get:function t(){return this._disabled},set:function t(e){this._disabled=e,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function t(){return this._trigger||this._elementRef.nativeElement},set:function t(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}},{key:"rippleConfig",get:function t(){return{centered:this.centered,radius:this.radius,color:this.color,animation:Object.assign({},this._globalOptions.animation,this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function t(){return this.disabled||!!this._globalOptions.disabled}}]);return t}();var O=function t(){}},dvZr:function t(e,n,i){"use strict";i.d(n,"l",function(){return r}),i.d(n,"d",function(){return s}),i.d(n,"k",function(){return a}),i.d(n,"i",function(){return o}),i.d(n,"h",function(){return l}),i.d(n,"c",function(){return u}),i.d(n,"e",function(){return c}),i.d(n,"f",function(){return d}),i.d(n,"m",function(){return h}),i.d(n,"j",function(){return m}),i.d(n,"b",function(){return f}),i.d(n,"o",function(){return g}),i.d(n,"g",function(){return p}),i.d(n,"a",function(){return b}),i.d(n,"n",function(){return _}),i.d(n,"p",function(){return v});var r=9,s=13,a=32,o=33,l=34,u=35,c=36,d=37,h=38,m=39,f=40,g=48,p=57,b=65,_=90;function v(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return n.length?n.some(function(e){return t[e]}):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}},huE1:function t(e,n){Prism.languages.c=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/,lookbehind:!0},directive:{pattern:/(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,lookbehind:!0,alias:"keyword"}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean},kfgK:function t(e,n){Prism.languages.cpp=Prism.languages.extend("c",{"class-name":{pattern:/(\b(?:class|enum|struct)\s+)\w+/,lookbehind:!0},keyword:/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*\/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),Prism.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}})},lT8R:function t(i,r,s){"use strict";s.d(r,"b",function(){return v}),s.d(r,"a",function(){return _});var a=s("KCVW"),o=s("dvZr"),l=s("8Y7J"),u=(s("s7LF"),s("Xd0L")),c=s("quSY");var d=30,h=7,m=7,f=10;var g=function t(){};var p=function t(e){this._elementRef=e};var b=Object(u.k)(Object(u.h)(Object(u.j)(p),"accent"));var _=function(t){n(i,t);function i(e,n,i,r,s,a){var o;o=t.call(this,e)||this,o._focusMonitor=n,o._changeDetectorRef=i,o._dir=r,o._animationMode=a,o._invert=!1,o._max=100,o._min=0,o._step=1,o._thumbLabel=!1,o._tickInterval=0,o._value=null,o._vertical=!1,o.change=new l.m,o.input=new l.m,o.valueChange=new l.m,o.onTouched=function(){},o._percent=0,o._isSliding=!1,o._isActive=!1,o._tickIntervalPercent=0,o._sliderDimensions=null,o._controlValueAccessorChangeFn=function(){},o._dirChangeSubscription=c.a.EMPTY,o.tabIndex=parseInt(s)||0;return o}var r=i.prototype;r.focus=function t(e){this._focusHostElement(e)};r.blur=function t(){this._blurHostElement()};r._shouldInvertMouseCoords=function t(){return"rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis};r._getDirection=function t(){return this._dir&&"rtl"==this._dir.value?"rtl":"ltr"};r.ngOnInit=function t(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){e._isActive=!!t&&"keyboard"!==t,e._changeDetectorRef.detectChanges()}),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(function(){e._changeDetectorRef.markForCheck()}))};r.ngOnDestroy=function t(){this._focusMonitor.stopMonitoring(this._elementRef),this._dirChangeSubscription.unsubscribe()};r._onMouseenter=function t(){this.disabled||(this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent())};r._onMousedown=function t(e){if(this.disabled||0!==e.button)return;var n=this.value;this._isSliding=!1,this._focusHostElement(),this._updateValueFromPosition({x:e.clientX,y:e.clientY}),n!=this.value&&(this._emitInputEvent(),this._emitChangeEvent())};r._onSlide=function t(e){if(this.disabled)return;this._isSliding||this._onSlideStart(null),e.preventDefault();var n=this.value;this._updateValueFromPosition({x:e.center.x,y:e.center.y}),n!=this.value&&this._emitInputEvent()};r._onSlideStart=function t(e){this.disabled||this._isSliding||(this._onMouseenter(),this._isSliding=!0,this._focusHostElement(),this._valueOnSlideStart=this.value,e&&(this._updateValueFromPosition({x:e.center.x,y:e.center.y}),e.preventDefault()))};r._onSlideEnd=function t(){this._isSliding=!1,this._valueOnSlideStart==this.value||this.disabled||this._emitChangeEvent(),this._valueOnSlideStart=null};r._onFocus=function t(){this._sliderDimensions=this._getSliderDimensions(),this._updateTickIntervalPercent()};r._onBlur=function t(){this.onTouched()};r._onKeydown=function t(e){if(this.disabled||Object(o.p)(e))return;var n=this.value;switch(e.keyCode){case o.i:this._increment(10);break;case o.h:this._increment(-10);break;case o.c:this.value=this.max;break;case o.e:this.value=this.min;break;case o.f:this._increment("rtl"==this._getDirection()?1:-1);break;case o.m:this._increment(1);break;case o.j:this._increment("rtl"==this._getDirection()?-1:1);break;case o.b:this._increment(-1);break;default:return}n!=this.value&&(this._emitInputEvent(),this._emitChangeEvent()),this._isSliding=!0,e.preventDefault()};r._onKeyup=function t(){this._isSliding=!1};r._increment=function t(e){this.value=this._clamp((this.value||0)+this.step*e,this.min,this.max)};r._updateValueFromPosition=function t(e){if(!this._sliderDimensions)return;var n=this._clamp(((this.vertical?e.y:e.x)-(this.vertical?this._sliderDimensions.top:this._sliderDimensions.left))/(this.vertical?this._sliderDimensions.height:this._sliderDimensions.width));if(this._shouldInvertMouseCoords()&&(n=1-n),0===n)this.value=this.min;else if(1===n)this.value=this.max;else{var i=this._calculateValue(n),r=Math.round((i-this.min)/this.step)*this.step+this.min;this.value=this._clamp(r,this.min,this.max)}};r._emitChangeEvent=function t(){this._controlValueAccessorChangeFn(this.value),this.valueChange.emit(this.value),this.change.emit(this._createChangeEvent())};r._emitInputEvent=function t(){this.input.emit(this._createChangeEvent())};r._updateTickIntervalPercent=function t(){if(this.tickInterval&&this._sliderDimensions)if("auto"==this.tickInterval){var e=this.vertical?this._sliderDimensions.height:this._sliderDimensions.width,n=Math.ceil(d/(e*this.step/(this.max-this.min)));this._tickIntervalPercent=n*this.step/e}else this._tickIntervalPercent=this.tickInterval*this.step/(this.max-this.min)};r._createChangeEvent=function t(e){if(e===void 0){e=this.value}var n=new g;return n.source=this,n.value=e,n};r._calculatePercentage=function t(e){return((e||0)-this.min)/(this.max-this.min)};r._calculateValue=function t(e){return this.min+e*(this.max-this.min)};r._clamp=function t(e,n,i){if(n===void 0){n=0}if(i===void 0){i=1}return Math.max(n,Math.min(e,i))};r._getSliderDimensions=function t(){return this._sliderWrapper?this._sliderWrapper.nativeElement.getBoundingClientRect():null};r._focusHostElement=function t(e){this._elementRef.nativeElement.focus(e)};r._blurHostElement=function t(){this._elementRef.nativeElement.blur()};r.writeValue=function t(e){this.value=e};r.registerOnChange=function t(e){this._controlValueAccessorChangeFn=e};r.registerOnTouched=function t(e){this.onTouched=e};r.setDisabledState=function t(e){this.disabled=e};e(i,[{key:"invert",get:function t(){return this._invert},set:function t(e){this._invert=Object(a.a)(e)}},{key:"max",get:function t(){return this._max},set:function t(e){this._max=Object(a.c)(e,this._max),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}},{key:"min",get:function t(){return this._min},set:function t(e){this._min=Object(a.c)(e,this._min),null===this._value&&(this.value=this._min),this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}},{key:"step",get:function t(){return this._step},set:function t(e){this._step=Object(a.c)(e,this._step),this._step%1!=0&&(this._roundToDecimal=this._step.toString().split(".").pop().length),this._changeDetectorRef.markForCheck()}},{key:"thumbLabel",get:function t(){return this._thumbLabel},set:function t(e){this._thumbLabel=Object(a.a)(e)}},{key:"tickInterval",get:function t(){return this._tickInterval},set:function t(e){this._tickInterval="auto"===e?"auto":"number"==typeof e||"string"==typeof e?Object(a.c)(e,this._tickInterval):0}},{key:"value",get:function t(){return null===this._value&&(this.value=this._min),this._value},set:function t(e){if(e!==this._value){var n=Object(a.c)(e);this._roundToDecimal&&(n=parseFloat(n.toFixed(this._roundToDecimal))),this._value=n,this._percent=this._calculatePercentage(this._value),this._changeDetectorRef.markForCheck()}}},{key:"vertical",get:function t(){return this._vertical},set:function t(e){this._vertical=Object(a.a)(e)}},{key:"displayValue",get:function t(){return this.displayWith?this.displayWith(this.value):this._roundToDecimal&&this.value&&this.value%1!=0?this.value.toFixed(this._roundToDecimal):this.value||0}},{key:"percent",get:function t(){return this._clamp(this._percent)}},{key:"_invertAxis",get:function t(){return this.vertical?!this.invert:this.invert}},{key:"_isMinValue",get:function t(){return 0===this.percent}},{key:"_thumbGap",get:function t(){return this.disabled?h:this._isMinValue&&!this.thumbLabel?this._isActive?f:m:0}},{key:"_trackBackgroundStyles",get:function t(){var e=this.vertical?"1, "+(1-this.percent)+", 1":1-this.percent+", 1, 1";return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this._shouldInvertMouseCoords()?"-":"")+this._thumbGap+"px) scale3d("+e+")"}}},{key:"_trackFillStyles",get:function t(){var e=this.vertical?"1, "+this.percent+", 1":this.percent+", 1, 1";return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this._shouldInvertMouseCoords()?"":"-")+this._thumbGap+"px) scale3d("+e+")"}}},{key:"_ticksContainerStyles",get:function t(){return{transform:"translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"-":"")+this._tickIntervalPercent/2*100+"%)"}}},{key:"_ticksStyles",get:function t(){var e=100*this._tickIntervalPercent,n={backgroundSize:this.vertical?"2px "+e+"%":e+"% 2px",transform:"translateZ(0) translate"+(this.vertical?"Y":"X")+"("+(this.vertical||"rtl"!=this._getDirection()?"":"-")+e/2+"%)"+(this.vertical||"rtl"!=this._getDirection()?"":" rotate(180deg)")};return this._isMinValue&&this._thumbGap&&(n["padding"+(this.vertical?this._invertAxis?"Bottom":"Top":this._invertAxis?"Right":"Left")]=this._thumbGap+"px"),n}},{key:"_thumbContainerStyles",get:function t(){return{transform:"translate"+(this.vertical?"Y":"X")+"(-"+100*(("rtl"!=this._getDirection()||this.vertical?this._invertAxis:!this._invertAxis)?this.percent:1-this.percent)+"%)"}}}]);return i}(b);var v=function t(){}},mrSG:function t(e,n,i){"use strict";function r(t,e,n,i){return new(n||(n=Promise))(function(r,s){function a(t){try{l(i.next(t))}catch(e){s(e)}}function o(t){try{l(i.throw(t))}catch(e){s(e)}}function l(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(a,o)}l((i=i.apply(t,e||[])).next())})}i.d(n,"a",function(){return r})},uM4N:function t(e,n,i){"use strict";i.d(n,"a",function(){return a}),i.d(n,"b",function(){return o});var r=i("8Y7J"),s=(i("lT8R"),i("SVse")),a=(i("cUpR"),i("Xd0L"),i("IP0z"),i("s7LF"),i("5GAg"),i("omvX"),r.qb({encapsulation:2,styles:[".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:0;vertical-align:middle}.mat-slider.mat-slider-sliding:not(.mat-slider-disabled),.mat-slider:not(.mat-slider-disabled):active{cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(.7);transition:transform .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1),border-color .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform .4s cubic-bezier(.25,.8,.25,1),border-radius .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}@media (-ms-high-contrast:active){.mat-slider-thumb-label{outline:solid 1px}}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-sliding .mat-slider-thumb-container,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-track-fill{transition-duration:0s}.mat-slider-has-ticks .mat-slider-wrapper::after{content:'';position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}@media (-ms-high-contrast:active){.mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}@media (-ms-high-contrast:active){.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}@media (-ms-high-contrast:active){.mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-track-fill{transition:none}"],data:{}}));function o(t){return r.Lb(2,[r.Ib(671088640,1,{_sliderWrapper:0}),(t()(),r.sb(1,0,[[1,0],["sliderWrapper",1]],null,21,"div",[["class","mat-slider-wrapper"]],null,null,null,null,null)),(t()(),r.sb(2,0,null,null,6,"div",[["class","mat-slider-track-wrapper"]],null,null,null,null,null)),(t()(),r.sb(3,0,null,null,2,"div",[["class","mat-slider-track-background"]],null,null,null,null,null)),r.Hb(512,null,s.B,s.C,[r.k,r.s,r.D]),r.rb(5,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),r.sb(6,0,null,null,2,"div",[["class","mat-slider-track-fill"]],null,null,null,null,null)),r.Hb(512,null,s.B,s.C,[r.k,r.s,r.D]),r.rb(8,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),r.sb(9,0,null,null,5,"div",[["class","mat-slider-ticks-container"]],null,null,null,null,null)),r.Hb(512,null,s.B,s.C,[r.k,r.s,r.D]),r.rb(11,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),r.sb(12,0,null,null,2,"div",[["class","mat-slider-ticks"]],null,null,null,null,null)),r.Hb(512,null,s.B,s.C,[r.k,r.s,r.D]),r.rb(14,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),r.sb(15,0,null,null,7,"div",[["class","mat-slider-thumb-container"]],null,null,null,null,null)),r.Hb(512,null,s.B,s.C,[r.k,r.s,r.D]),r.rb(17,278528,null,0,s.n,[s.B],{ngStyle:[0,"ngStyle"]},null),(t()(),r.sb(18,0,null,null,0,"div",[["class","mat-slider-focus-ring"]],null,null,null,null,null)),(t()(),r.sb(19,0,null,null,0,"div",[["class","mat-slider-thumb"]],null,null,null,null,null)),(t()(),r.sb(20,0,null,null,2,"div",[["class","mat-slider-thumb-label"]],null,null,null,null,null)),(t()(),r.sb(21,0,null,null,1,"span",[["class","mat-slider-thumb-label-text"]],null,null,null,null,null)),(t()(),r.Kb(22,null,["",""]))],function(t,e){var n=e.component;t(e,5,0,n._trackBackgroundStyles),t(e,8,0,n._trackFillStyles),t(e,11,0,n._ticksContainerStyles),t(e,14,0,n._ticksStyles),t(e,17,0,n._thumbContainerStyles)},function(t,e){t(e,22,0,e.component.displayValue)})}},wZee:function t(e,n,i){var r=function(t){var e=/\blang(?:uage)?-([\w-]+)\b/i,n=0,i={manual:t.Prism&&t.Prism.manual,disableWorkerMessageHandler:t.Prism&&t.Prism.disableWorkerMessageHandler,util:{encode:function t(e){return e instanceof r?new r(e.type,i.util.encode(e.content),e.alias):Array.isArray(e)?e.map(i.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function t(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function t(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function t(e,n){var r,s,a=i.util.type(e);switch(n=n||{},a){case"Object":if(s=i.util.objId(e),n[s])return n[s];for(var o in n[s]=r={},e){e.hasOwnProperty(o)&&(r[o]=t(e[o],n))}return r;case"Array":return s=i.util.objId(e),n[s]?n[s]:(n[s]=r=[],e.forEach(function(e,i){r[i]=t(e,n)}),r);default:return e}}},languages:{extend:function t(e,n){var r=i.util.clone(i.languages[e]);for(var s in n){r[s]=n[s]}return r},insertBefore:function t(e,n,r,s){var a=(s=s||i.languages)[e],o={};for(var l in a){if(a.hasOwnProperty(l)){if(l==n)for(var u in r){r.hasOwnProperty(u)&&(o[u]=r[u])}r.hasOwnProperty(l)||(o[l]=a[l])}}var c=s[e];return s[e]=o,i.languages.DFS(i.languages,function(t,n){n===c&&t!=e&&(this[t]=o)}),o},DFS:function t(e,n,r,s){s=s||{};var a=i.util.objId;for(var o in e){if(e.hasOwnProperty(o)){n.call(e,o,e[o],r||o);var l=e[o],u=i.util.type(l);"Object"!==u||s[a(l)]?"Array"!==u||s[a(l)]||(s[a(l)]=!0,t(l,n,o,s)):(s[a(l)]=!0,t(l,n,null,s))}}}},plugins:{},highlightAll:function t(e,n){i.highlightAllUnder(document,e,n)},highlightAllUnder:function t(e,n,r){var s={callback:r,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",s);for(var a,o=e.querySelectorAll(s.selector),l=0;a=o[l++];){i.highlightElement(a,!0===n,s.callback)}},highlightElement:function n(r,s,a){for(var o,l="none",u=r;u&&!e.test(u.className);){u=u.parentNode}u&&(l=(u.className.match(e)||[,"none"])[1].toLowerCase(),o=i.languages[l]),r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,r.parentNode&&/pre/i.test((u=r.parentNode).nodeName)&&(u.className=u.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var c={element:r,language:l,grammar:o,code:r.textContent},d=function t(e){c.highlightedCode=e,i.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i.hooks.run("after-highlight",c),i.hooks.run("complete",c),a&&a.call(c.element)};if(i.hooks.run("before-sanity-check",c),c.code){if(i.hooks.run("before-highlight",c),c.grammar){if(s&&t.Worker){var h=new Worker(i.filename);h.onmessage=function(t){d(t.data)},h.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else d(i.highlight(c.code,c.grammar,c.language))}else d(i.util.encode(c.code))}else i.hooks.run("complete",c)},highlight:function t(e,n,s){var a={code:e,grammar:n,language:s};return i.hooks.run("before-tokenize",a),a.tokens=i.tokenize(a.code,a.grammar),i.hooks.run("after-tokenize",a),r.stringify(i.util.encode(a.tokens),a.language)},matchGrammar:function t(e,n,s,a,o,l,u){for(var c in s){if(s.hasOwnProperty(c)&&s[c]){if(c==u)return;var d=s[c];d="Array"===i.util.type(d)?d:[d];for(var h=0;h<d.length;++h){var m=d[h],f=m.inside,g=!!m.lookbehind,p=!!m.greedy,b=0,_=m.alias;if(p&&!m.pattern.global){var v=m.pattern.toString().match(/[imuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}m=m.pattern||m;for(var k=a,y=o;k<n.length;y+=n[k].length,++k){var w=n[k];if(n.length>e.length)return;if(!(w instanceof r)){if(p&&k!=n.length-1){if(m.lastIndex=y,!(C=m.exec(e)))break;for(var x=C.index+(g?C[1].length:0),E=C.index+C[0].length,I=k,F=y,A=n.length;I<A&&(F<E||!n[I].type&&!n[I-1].greedy);++I){x>=(F+=n[I].length)&&(++k,y=F)}if(n[k]instanceof r)continue;D=I-k,w=e.slice(y,F),C.index-=y}else{m.lastIndex=0;var C=m.exec(w),D=1}if(C){g&&(b=C[1]?C[1].length:0),E=(x=C.index+b)+(C=C[0].slice(b)).length;var S=w.slice(0,x),T=w.slice(E),O=[k,D];S&&(++k,y+=S.length,O.push(S));var j=new r(c,f?i.tokenize(C,f):C,_,C,p);if(O.push(j),T&&O.push(T),Array.prototype.splice.apply(n,O),1!=D&&i.matchGrammar(e,n,s,k,y,!0,c),l)break}else if(l)break}}}}}},tokenize:function t(e,n){var r=[e],s=n.rest;if(s){for(var a in s){n[a]=s[a]}delete n.rest}return i.matchGrammar(e,r,n,0,0,!1),r},hooks:{all:{},add:function t(e,n){var r=i.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function t(e,n){var r=i.hooks.all[e];if(r&&r.length)for(var s,a=0;s=r[a++];){s(n)}}},Token:r};function r(t,e,n,i,r){this.type=t,this.content=e,this.alias=n,this.length=0|(i||"").length,this.greedy=!!r}if(t.Prism=i,r.stringify=function(t,e){if("string"==typeof t)return t;if(Array.isArray(t))return t.map(function(t){return r.stringify(t,e)}).join("");var n={type:t.type,content:r.stringify(t.content,e),tag:"span",classes:["token",t.type],attributes:{},language:e};if(t.alias){var s=Array.isArray(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(n.classes,s)}i.hooks.run("wrap",n);var a=Object.keys(n.attributes).map(function(t){return t+'="'+(n.attributes[t]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+n.tag+' class="'+n.classes.join(" ")+'"'+(a?" "+a:"")+">"+n.content+"</"+n.tag+">"},!t.document)return t.addEventListener?(i.disableWorkerMessageHandler||t.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,s=n.immediateClose;t.postMessage(i.highlight(n.code,i.languages[r],r)),s&&t.close()},!1),i):i;var s=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return s&&(i.filename=s.src,i.manual||s.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(i.highlightAll):window.setTimeout(i.highlightAll,16):document.addEventListener("DOMContentLoaded",i.highlightAll))),i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),"undefined"!=typeof global&&(global.Prism=r),r.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s\/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.hooks.add("wrap",function(t){"entity"===t.type&&(t.attributes.title=t.content.replace(/&amp;/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function t(e,n){var i={};i["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[n]},i.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:i}};s["language-"+n]={pattern:/[\s\S]+/,inside:r.languages[n]};var a={};a[e]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,e),"i"),lookbehind:!0,greedy:!0,inside:s},r.languages.insertBefore("markup","cdata",a)}}),r.languages.xml=r.languages.extend("markup",{}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,function(t){var e=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;t.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+e.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+e.source+")*?(?=\\s*\\{)"),string:{pattern:e,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},t.languages.css.atrule.inside.rest=t.languages.css;var n=t.languages.markup;n&&(n.tag.addInlined("style","css"),t.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:t.languages.css}},alias:"language-css"}},n.tag))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}}}),r.languages.markup&&r.languages.markup.tag.addInlined("script","javascript"),r.languages.js=r.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(t){t=t||document;var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(t.querySelectorAll("pre[data-src]")).forEach(function(t){if(!t.hasAttribute("data-src-loaded")){for(var n,i=t.getAttribute("data-src"),s=t,a=/\blang(?:uage)?-([\w-]+)\b/i;s&&!a.test(s.className);){s=s.parentNode}if(s&&(n=(t.className.match(a)||[,""])[1]),!n){var o=(i.match(/\.(\w+)$/)||[,""])[1];n=e[o]||o}var l=document.createElement("code");l.className="language-"+n,t.textContent="",l.textContent="Loading\u2026",t.appendChild(l);var u=new XMLHttpRequest;u.open("GET",i,!0),u.onreadystatechange=function(){4==u.readyState&&(u.status<400&&u.responseText?(l.textContent=u.responseText,r.highlightElement(l),t.setAttribute("data-src-loaded","")):l.textContent=u.status>=400?"\u2716 Error "+u.status+" while fetching file: "+u.statusText:"\u2716 Error: File does not exist or is empty")},u.send(null)}}),r.plugins.toolbar&&r.plugins.toolbar.registerButton("download-file",function(t){var e=t.element.parentNode;if(e&&/pre/i.test(e.nodeName)&&e.hasAttribute("data-src")&&e.hasAttribute("data-download-link")){var n=e.getAttribute("data-src"),i=document.createElement("a");return i.textContent=e.getAttribute("data-download-link-label")||"Download",i.setAttribute("download",""),i.href=n,i}})},document.addEventListener("DOMContentLoaded",function(){self.Prism.fileHighlight()}))}}]);
\ No newline at end of file
diff --git a/3rdpartylicenses.txt b/3rdpartylicenses.txt
new file mode 100644
index 0000000..836b616
--- /dev/null
+++ b/3rdpartylicenses.txt
@@ -0,0 +1,484 @@
+@angular-devkit/build-angular
+MIT
+The MIT License
+
+Copyright (c) 2017 Google, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+@angular/animations
+MIT
+
+@angular/cdk
+MIT
+The MIT License
+
+Copyright (c) 2019 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/common
+MIT
+
+@angular/core
+MIT
+
+@angular/forms
+MIT
+
+@angular/material
+MIT
+The MIT License
+
+Copyright (c) 2019 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+@angular/material/radio
+
+@angular/material/slider
+
+@angular/platform-browser
+MIT
+
+@angular/router
+MIT
+
+@ng-bootstrap/ng-bootstrap
+MIT
+The MIT License (MIT)
+
+Copyright (c) 2015-2018 Angular ng-bootstrap team
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+bootstrap
+MIT
+The MIT License (MIT)
+
+Copyright (c) 2011-2019 Twitter, Inc.
+Copyright (c) 2011-2019 The Bootstrap Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+core-js
+MIT
+Copyright (c) 2014-2019 Denis Pushkarev
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+prismjs
+MIT
+MIT LICENSE
+
+Copyright (c) 2012 Lea Verou
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+rxjs
+Apache-2.0
+                               Apache License
+                         Version 2.0, January 2004
+                      http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+    "License" shall mean the terms and conditions for use, reproduction,
+    and distribution as defined by Sections 1 through 9 of this document.
+
+    "Licensor" shall mean the copyright owner or entity authorized by
+    the copyright owner that is granting the License.
+
+    "Legal Entity" shall mean the union of the acting entity and all
+    other entities that control, are controlled by, or are under common
+    control with that entity. For the purposes of this definition,
+    "control" means (i) the power, direct or indirect, to cause the
+    direction or management of such entity, whether by contract or
+    otherwise, or (ii) ownership of fifty percent (50%) or more of the
+    outstanding shares, or (iii) beneficial ownership of such entity.
+
+    "You" (or "Your") shall mean an individual or Legal Entity
+    exercising permissions granted by this License.
+
+    "Source" form shall mean the preferred form for making modifications,
+    including but not limited to software source code, documentation
+    source, and configuration files.
+
+    "Object" form shall mean any form resulting from mechanical
+    transformation or translation of a Source form, including but
+    not limited to compiled object code, generated documentation,
+    and conversions to other media types.
+
+    "Work" shall mean the work of authorship, whether in Source or
+    Object form, made available under the License, as indicated by a
+    copyright notice that is included in or attached to the work
+    (an example is provided in the Appendix below).
+
+    "Derivative Works" shall mean any work, whether in Source or Object
+    form, that is based on (or derived from) the Work and for which the
+    editorial revisions, annotations, elaborations, or other modifications
+    represent, as a whole, an original work of authorship. For the purposes
+    of this License, Derivative Works shall not include works that remain
+    separable from, or merely link (or bind by name) to the interfaces of,
+    the Work and Derivative Works thereof.
+
+    "Contribution" shall mean any work of authorship, including
+    the original version of the Work and any modifications or additions
+    to that Work or Derivative Works thereof, that is intentionally
+    submitted to Licensor for inclusion in the Work by the copyright owner
+    or by an individual or Legal Entity authorized to submit on behalf of
+    the copyright owner. For the purposes of this definition, "submitted"
+    means any form of electronic, verbal, or written communication sent
+    to the Licensor or its representatives, including but not limited to
+    communication on electronic mailing lists, source code control systems,
+    and issue tracking systems that are managed by, or on behalf of, the
+    Licensor for the purpose of discussing and improving the Work, but
+    excluding communication that is conspicuously marked or otherwise
+    designated in writing by the copyright owner as "Not a Contribution."
+
+    "Contributor" shall mean Licensor and any individual or Legal Entity
+    on behalf of whom a Contribution has been received by Licensor and
+    subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+    this License, each Contributor hereby grants to You a perpetual,
+    worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+    copyright license to reproduce, prepare Derivative Works of,
+    publicly display, publicly perform, sublicense, and distribute the
+    Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+    this License, each Contributor hereby grants to You a perpetual,
+    worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+    (except as stated in this section) patent license to make, have made,
+    use, offer to sell, sell, import, and otherwise transfer the Work,
+    where such license applies only to those patent claims licensable
+    by such Contributor that are necessarily infringed by their
+    Contribution(s) alone or by combination of their Contribution(s)
+    with the Work to which such Contribution(s) was submitted. If You
+    institute patent litigation against any entity (including a
+    cross-claim or counterclaim in a lawsuit) alleging that the Work
+    or a Contribution incorporated within the Work constitutes direct
+    or contributory patent infringement, then any patent licenses
+    granted to You under this License for that Work shall terminate
+    as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+    Work or Derivative Works thereof in any medium, with or without
+    modifications, and in Source or Object form, provided that You
+    meet the following conditions:
+
+    (a) You must give any other recipients of the Work or
+        Derivative Works a copy of this License; and
+
+    (b) You must cause any modified files to carry prominent notices
+        stating that You changed the files; and
+
+    (c) You must retain, in the Source form of any Derivative Works
+        that You distribute, all copyright, patent, trademark, and
+        attribution notices from the Source form of the Work,
+        excluding those notices that do not pertain to any part of
+        the Derivative Works; and
+
+    (d) If the Work includes a "NOTICE" text file as part of its
+        distribution, then any Derivative Works that You distribute must
+        include a readable copy of the attribution notices contained
+        within such NOTICE file, excluding those notices that do not
+        pertain to any part of the Derivative Works, in at least one
+        of the following places: within a NOTICE text file distributed
+        as part of the Derivative Works; within the Source form or
+        documentation, if provided along with the Derivative Works; or,
+        within a display generated by the Derivative Works, if and
+        wherever such third-party notices normally appear. The contents
+        of the NOTICE file are for informational purposes only and
+        do not modify the License. You may add Your own attribution
+        notices within Derivative Works that You distribute, alongside
+        or as an addendum to the NOTICE text from the Work, provided
+        that such additional attribution notices cannot be construed
+        as modifying the License.
+
+    You may add Your own copyright statement to Your modifications and
+    may provide additional or different license terms and conditions
+    for use, reproduction, or distribution of Your modifications, or
+    for any such Derivative Works as a whole, provided Your use,
+    reproduction, and distribution of the Work otherwise complies with
+    the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+    any Contribution intentionally submitted for inclusion in the Work
+    by You to the Licensor shall be under the terms and conditions of
+    this License, without any additional terms or conditions.
+    Notwithstanding the above, nothing herein shall supersede or modify
+    the terms of any separate license agreement you may have executed
+    with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+    names, trademarks, service marks, or product names of the Licensor,
+    except as required for reasonable and customary use in describing the
+    origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+    agreed to in writing, Licensor provides the Work (and each
+    Contributor provides its Contributions) on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+    implied, including, without limitation, any warranties or conditions
+    of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+    PARTICULAR PURPOSE. You are solely responsible for determining the
+    appropriateness of using or redistributing the Work and assume any
+    risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+    whether in tort (including negligence), contract, or otherwise,
+    unless required by applicable law (such as deliberate and grossly
+    negligent acts) or agreed to in writing, shall any Contributor be
+    liable to You for damages, including any direct, indirect, special,
+    incidental, or consequential damages of any character arising as a
+    result of this License or out of the use or inability to use the
+    Work (including but not limited to damages for loss of goodwill,
+    work stoppage, computer failure or malfunction, or any and all
+    other commercial damages or losses), even if such Contributor
+    has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+    the Work or Derivative Works thereof, You may choose to offer,
+    and charge a fee for, acceptance of support, warranty, indemnity,
+    or other liability obligations and/or rights consistent with this
+    License. However, in accepting such obligations, You may act only
+    on Your own behalf and on Your sole responsibility, not on behalf
+    of any other Contributor, and only if You agree to indemnify,
+    defend, and hold each Contributor harmless for any liability
+    incurred by, or claims asserted against, such Contributor by reason
+    of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+    To apply the Apache License to your work, attach the following
+    boilerplate notice, with the fields enclosed by brackets "[]"
+    replaced with your own identifying information. (Don't include
+    the brackets!)  The text should be enclosed in the appropriate
+    comment syntax for the file format. We also recommend that a
+    file or class name and description of purpose be included on the
+    same "printed page" as the copyright notice for easier
+    identification within third-party archives.
+
+ Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ 
+
+
+tslib
+Apache-2.0
+Apache License
+
+Version 2.0, January 2004
+
+http://www.apache.org/licenses/ 
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+
+zone.js
+MIT
+The MIT License
+
+Copyright (c) 2016-2018 Google, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..a613b25
--- /dev/null
+++ b/404.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>AlgorithmsVisualizer</title>
+  <base href="/Algorithms-visualizer/">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+<link rel="stylesheet" href="styles.cadb8fc80cdef81b8481.css"></head>
+<body>
+  <app-root></app-root>
+<script src="polyfills-es5.18cefcf61f1450e7455d.js" nomodule defer></script><script src="polyfills-es2015.e70eeab0d45d5f9db57f.js" type="module"></script><script src="scripts.eab147d5f2ea31a3708c.js" defer></script><script src="runtime-es2015.4401e6f60d45e8780b53.js" type="module"></script><script src="main-es2015.dd9a2e78d1d4a71daa88.js" type="module"></script><script src="runtime-es5.4401e6f60d45e8780b53.js" nomodule defer></script><script src="main-es5.dd9a2e78d1d4a71daa88.js" nomodule defer></script></body>
+</html>
diff --git a/6-es2015.6100aba97d9d2e278473.js b/6-es2015.6100aba97d9d2e278473.js
new file mode 100644
index 0000000..18a9b23
--- /dev/null
+++ b/6-es2015.6100aba97d9d2e278473.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{FvzE:function(l,n,e){"use strict";e.r(n);var t=e("8Y7J");class i{}var a=e("pMnS"),s=e("s7LF"),o=e("iInd"),r=e("SVse"),u=e("uM4N"),d=e("lT8R"),c=e("5GAg"),h=e("IP0z"),b=e("omvX"),m=e("KCVW"),p=e("Xd0L");const g=new t.p("mat-radio-default-options",{providedIn:"root",factory:function(){return{color:"accent"}}});let v=0;class f{constructor(l,n){this.source=l,this.value=n}}class E{constructor(l){this._changeDetector=l,this._value=null,this._name=`mat-radio-group-${v++}`,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=()=>{},this.onTouched=()=>{},this.change=new t.m}get name(){return this._name}set name(l){this._name=l,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(l){this._labelPosition="before"===l?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(l){this._value!==l&&(this._value=l,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(l){this._selected=l,this.value=l?l.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(l){this._disabled=Object(m.a)(l),this._markRadiosForCheck()}get required(){return this._required}set required(l){this._required=Object(m.a)(l),this._markRadiosForCheck()}ngAfterContentInit(){this._isInitialized=!0}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(l=>{l.name=this.name,l._markForCheck()})}_updateSelectedRadioFromValue(){this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(l=>{l.checked=this.value===l.value,l.checked&&(this._selected=l)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new f(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(l=>l._markForCheck())}writeValue(l){this.value=l,this._changeDetector.markForCheck()}registerOnChange(l){this._controlValueAccessorChangeFn=l}registerOnTouched(l){this.onTouched=l}setDisabledState(l){this.disabled=l,this._changeDetector.markForCheck()}}class C{constructor(l){this._elementRef=l}}const _=Object(p.i)(Object(p.k)(C));class k extends _{constructor(l,n,e,i,a,s,o){super(n),this._changeDetector=e,this._focusMonitor=i,this._radioDispatcher=a,this._animationMode=s,this._providerOverride=o,this._uniqueId=`mat-radio-${++v}`,this.id=this._uniqueId,this.change=new t.m,this._checked=!1,this._value=null,this._removeUniqueSelectionListener=()=>{},this.radioGroup=l,this._removeUniqueSelectionListener=a.listen((l,n)=>{l!==this.id&&n===this.name&&(this.checked=!1)})}get checked(){return this._checked}set checked(l){const n=Object(m.a)(l);this._checked!==n&&(this._checked=n,n&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!n&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),n&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(l){this._value!==l&&(this._value=l,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===l),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(l){this._labelPosition=l}get disabled(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled}set disabled(l){const n=Object(m.a)(l);this._disabled!==n&&(this._disabled=n,this._changeDetector.markForCheck())}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(l){this._required=Object(m.a)(l)}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"}set color(l){this._color=l}get inputId(){return`${this.id||this._uniqueId}-input`}focus(l){this._focusMonitor.focusVia(this._inputElement,"keyboard",l)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.name=this.radioGroup.name)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(l=>{!l&&this.radioGroup&&this.radioGroup._touch()})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new f(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputClick(l){l.stopPropagation()}_onInputChange(l){l.stopPropagation();const n=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),n&&this.radioGroup._emitChangeEvent())}}class x{}var w=e("cUpR"),y=e("/HVE");e("HDdC"),e("LRne"),e("XNiG");let M=(()=>{class l{constructor(){this._listeners=[]}notify(l,n){for(let e of this._listeners)e(l,n)}listen(l){return this._listeners.push(l),()=>{this._listeners=this._listeners.filter(n=>l!==n)}}ngOnDestroy(){this._listeners=[]}}return l.ngInjectableDef=Object(t.Pb)({factory:function(){return new l},token:l,providedIn:"root"}),l})();var S=t.qb({encapsulation:2,styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:transform ease 280ms,background-color ease 280ms;width:20px;transform:scale(.001)}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-checked .mat-radio-inner-circle{transform:scale(.5)}@media (-ms-high-contrast:active){.mat-radio-checked .mat-radio-inner-circle{border:solid 10px}}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple,.mat-radio-persistent-ripple{opacity:0}@media (hover:none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}@media (-ms-high-contrast:active){.mat-radio-disabled{opacity:.5}}"],data:{}});function P(l){return t.Lb(2,[t.Ib(671088640,1,{_inputElement:0}),(l()(),t.sb(1,0,[["label",1]],null,12,"label",[["class","mat-radio-label"]],[[1,"for",0]],null,null,null,null)),(l()(),t.sb(2,0,null,null,7,"div",[["class","mat-radio-container"]],null,null,null,null,null)),(l()(),t.sb(3,0,null,null,0,"div",[["class","mat-radio-outer-circle"]],null,null,null,null,null)),(l()(),t.sb(4,0,null,null,0,"div",[["class","mat-radio-inner-circle"]],null,null,null,null,null)),(l()(),t.sb(5,0,null,null,3,"div",[["class","mat-radio-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),t.rb(6,212992,null,0,p.f,[t.k,t.y,y.a,[2,p.d],[2,b.a]],{centered:[0,"centered"],radius:[1,"radius"],animation:[2,"animation"],disabled:[3,"disabled"],trigger:[4,"trigger"]},null),t.Gb(7,{enterDuration:0}),(l()(),t.sb(8,0,null,null,0,"div",[["class","mat-ripple-element mat-radio-persistent-ripple"]],null,null,null,null,null)),(l()(),t.sb(9,0,[[1,0],["input",1]],null,0,"input",[["class","mat-radio-input cdk-visually-hidden"],["type","radio"]],[[8,"id",0],[8,"checked",0],[8,"disabled",0],[8,"tabIndex",0],[1,"name",0],[1,"value",0],[8,"required",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-describedby",0]],[[null,"change"],[null,"click"]],function(l,n,e){var t=!0,i=l.component;return"change"===n&&(t=!1!==i._onInputChange(e)&&t),"click"===n&&(t=!1!==i._onInputClick(e)&&t),t},null,null)),(l()(),t.sb(10,0,null,null,3,"div",[["class","mat-radio-label-content"]],[[2,"mat-radio-label-before",null]],null,null,null,null)),(l()(),t.sb(11,0,null,null,1,"span",[["style","display:none"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,["\xa0"])),t.Db(null,0)],function(l,n){var e=n.component,i=l(n,7,0,150);l(n,6,0,!0,20,i,e._isRippleDisabled(),t.Eb(n,1))},function(l,n){var e=n.component;l(n,1,0,e.inputId),l(n,5,0,t.Eb(n,6).unbounded),l(n,9,0,e.inputId,e.checked,e.disabled,e.tabIndex,e.name,e.value,e.required,e.ariaLabel,e.ariaLabelledby,e.ariaDescribedby),l(n,10,0,"before"==e.labelPosition)})}class V{constructor(){this.edges=[],this.isRoot=!1,this.backgroudColor="#0d0d26",this.color="white",this.borderColor="white",this.shadowBlur=6,this.shodowColor="grey",this.font="normal 12px Verdana",this.visited=!1,this.persistVisualProperties=!1,this.visitedAnimationFrame=0,this.visitedAnimationColors=["#e66750","#11b1bd","#03943b"]}resetMarkerProperties(){this.isRoot=!1,this.visited=!1,this.persistVisualProperties=!1,this.visitedAnimationFrame=0}resetVisualProperties(){this.backgroudColor="#0d0d26",this.color="white",this.borderColor="white",this.shadowBlur=6,this.shodowColor="grey",this.font="normal 12px Verdana"}visitedAnimationNextFrame(){if(this.isRoot)return this.color="white",void(this.backgroudColor="red");this.visitedAnimationFrame>=this.visitedAnimationColors.length||(this.backgroudColor=this.visitedAnimationColors[this.visitedAnimationFrame++],this.color="white")}doesEdgeExists(l){return this.edges.includes(l)}}class I{constructor(l){this.isDirected=!1,this.color="rgba(255,255,255,0.1)",this.arrowColor="rgba(255,255,255,0.3)",this.node=l}}class D{constructor(){this.nodes=[],this.graphReady=new t.m,this.nodeSelected=new t.m}onMouseMove(l){const n=this.board.getBoundingClientRect();if(l.clientX<n.left||l.clientX>n.right||l.y<n.top||l.y>n.bottom)return;const e=new V;e.x=l.clientX-n.left,e.y=l.clientY-n.top,this.nodes.forEach(l=>{l.persistVisualProperties||(this.getDistanceOfNodes(l,e)<=l.radius?(l.backgroudColor="white",l.color="black"):l.resetVisualProperties())}),this.drawBoard()}onMouseClick(l){const n=this.board.getBoundingClientRect();if(l.clientX<n.left||l.clientX>n.right||l.y<n.top||l.y>n.bottom)return;const e=new V;e.x=l.clientX-n.left,e.y=l.clientY-n.top,this.nodes.forEach(l=>{l.resetMarkerProperties(),l.resetVisualProperties(),this.getDistanceOfNodes(l,e)<=l.radius&&(l.backgroudColor="white",l.color="black",this.nodeSelected.emit(l),l.persistVisualProperties=!0)}),this.drawBoard()}adjustBoardParams(){const l=this.boardWrapperElementRef.nativeElement;this.board.width=l.clientWidth,this.board.height=l.clientHeight}drawNodes(){this.nodes.forEach(l=>{l.visited&&l.visitedAnimationNextFrame(),this.boardContext.beginPath(),this.boardContext.strokeStyle=l.borderColor,this.boardContext.fillStyle=l.backgroudColor,this.boardContext.shadowBlur=l.shadowBlur,this.boardContext.shadowColor=l.shodowColor,this.boardContext.arc(l.x,l.y,l.radius,0,2*Math.PI),this.boardContext.stroke(),this.boardContext.fill(),this.boardContext.fillStyle=l.color,this.boardContext.font=l.font,this.boardContext.fillText(l.value.toString(),l.x-l.radius/2+3,l.y+4),this.boardContext.closePath()})}drawEdges(){this.nodes.forEach(l=>{l.edges.forEach(n=>{if(this.boardContext.beginPath(),this.boardContext.shadowBlur=3,this.boardContext.strokeStyle=n.color,this.boardContext.moveTo(l.x,l.y),this.boardContext.lineTo(n.node.x,n.node.y),this.boardContext.stroke(),this.boardContext.closePath(),n.isDirected){const e=Math.atan(Math.abs(l.y-n.node.y)/Math.abs(l.x-n.node.x)),t=Math.PI/9,i=8,a=l.x<n.node.x?1:-1,s=l.y<n.node.y?1:-1,o=n.node.x-a*n.node.radius*Math.cos(e),r=n.node.y-s*n.node.radius*Math.sin(e);this.boardContext.beginPath(),this.boardContext.moveTo(o,r),this.boardContext.fillStyle=n.arrowColor,this.boardContext.lineTo(o-a*i*Math.cos(e-t),r-s*i*Math.sin(e-t)),this.boardContext.lineTo(o+a*i*Math.sin(t-Math.PI/2+e),r-s*i*Math.cos(t-Math.PI/2+e)),this.boardContext.stroke(),this.boardContext.lineTo(o,r),this.boardContext.fill(),this.boardContext.stroke(),this.boardContext.closePath()}})})}drawBoard(){this.boardContext.clearRect(0,0,this.board.width,this.board.height),this.drawEdges(),this.drawNodes()}getDistanceOfNodes(l,n){return Math.sqrt(Math.pow(l.x-n.x,2)+Math.pow(l.y-n.y,2))}initBoard(){this.board=this.boardElementRef.nativeElement,this.boardContext=this.board.getContext("2d"),this.adjustBoardParams(),this.drawBoard()}ngAfterViewInit(){this.initBoard(),this.graphReady.emit(this.board)}ngOnInit(){}}var z=t.qb({encapsulation:0,styles:[["#board-wrapper[_ngcontent-%COMP%]{width:100%;height:98vh;border:2px solid #fff;border-radius:6px}"]],data:{}});function F(l){return t.Lb(0,[t.Ib(671088640,1,{boardElementRef:0}),t.Ib(671088640,2,{boardWrapperElementRef:0}),(l()(),t.sb(2,0,[[2,0],["boardWrapper",1]],null,1,"div",[["id","board-wrapper"]],null,null,null,null,null)),(l()(),t.sb(3,0,[[1,0],["board",1]],null,0,"canvas",[["id","board"]],null,null,null,null,null)),(l()(),t.sb(4,0,null,null,0,"div",[["class","values-wrapper"]],null,null,null,null,null))],null,null)}var G=e("mrSG"),O=e("Rcsm");class N{constructor(){this.bfsExplanation="",this.bfsCode='\n    // Program to print BFS traversal from a given\n    // source vertex. BFS(int s) traverses vertices\n    // reachable from s.\n    #include<iostream>\n    #include <list>\n\n    using namespace std;\n\n    // This class represents a directed graph using\n    // adjacency list representation\n    class Graph\n    {\n        int V; // No. of vertices\n\n        // Pointer to an array containing adjacency\n        // lists\n        list<int> *adj;\n    public:\n        Graph(int V); // Constructor\n\n        // function to add an edge to graph\n        void addEdge(int v, int w);\n\n        // prints BFS traversal from a given source s\n        void BFS(int s);\n    };\n\n    Graph::Graph(int V)\n    {\n        this->V = V;\n        adj = new list<int>[V];\n    }\n\n    void Graph::addEdge(int v, int w)\n    {\n        adj[v].push_back(w); // Add w to v\u2019s list.\n    }\n\n    void Graph::BFS(int s)\n    {\n        // Mark all the vertices as not visited\n        bool *visited = new bool[V];\n        for(int i = 0; i < V; i++)\n            visited[i] = false;\n\n        // Create a queue for BFS\n        list<int> queue;\n\n        // Mark the current node as visited and enqueue it\n        visited[s] = true;\n        queue.push_back(s);\n\n        // \'i\' will be used to get all adjacent\n        // vertices of a vertex\n        list<int>::iterator i;\n\n        while(!queue.empty())\n        {\n            // Dequeue a vertex from queue and print it\n            s = queue.front();\n            cout << s << " ";\n            queue.pop_front();\n\n            // Get all adjacent vertices of the dequeued\n            // vertex s. If a adjacent has not been visited,\n            // then mark it visited and enqueue it\n            for (i = adj[s].begin(); i != adj[s].end(); ++i)\n            {\n                if (!visited[*i])\n                {\n                    visited[*i] = true;\n                    queue.push_back(*i);\n                }\n            }\n        }\n    }\n\n    // Driver program to test methods of graph class\n    int main()\n    {\n        // Create a graph given in the above diagram\n        Graph g(4);\n        g.addEdge(0, 1);\n        g.addEdge(0, 2);\n        g.addEdge(1, 2);\n        g.addEdge(2, 0);\n        g.addEdge(2, 3);\n        g.addEdge(3, 3);\n\n        cout << "Following is Breadth First Traversal "\n            << "(starting from vertex 2) ";\n        g.BFS(2);\n\n        return 0;\n    }\n    ',this.dfsExplanation="",this.dfsCode='\n    // C++ program to print DFS traversal from\n    // a given vertex in a given graph\n    #include<iostream>\n    #include<list>\n    using namespace std;\n\n    // Graph class represents a directed graph\n    // using adjacency list representation\n    class Graph\n    {\n        int V; // No. of vertices\n\n        // Pointer to an array containing\n        // adjacency lists\n        list<int> *adj;\n\n        // A recursive function used by DFS\n        void DFSUtil(int v, bool visited[]);\n    public:\n        Graph(int V); // Constructor\n\n        // function to add an edge to graph\n        void addEdge(int v, int w);\n\n        // DFS traversal of the vertices\n        // reachable from v\n        void DFS(int v);\n    };\n\n    Graph::Graph(int V)\n    {\n        this->V = V;\n        adj = new list<int>[V];\n    }\n\n    void Graph::addEdge(int v, int w)\n    {\n        adj[v].push_back(w); // Add w to v\u2019s list.\n    }\n\n    void Graph::DFSUtil(int v, bool visited[])\n    {\n        // Mark the current node as visited and\n        // print it\n        visited[v] = true;\n        cout << v << " ";\n\n        // Recur for all the vertices adjacent\n        // to this vertex\n        list<int>::iterator i;\n        for (i = adj[v].begin(); i != adj[v].end(); ++i)\n            if (!visited[*i])\n                DFSUtil(*i, visited);\n    }\n\n    // DFS traversal of the vertices reachable from v.\n    // It uses recursive DFSUtil()\n    void Graph::DFS(int v)\n    {\n        // Mark all the vertices as not visited\n        bool *visited = new bool[V];\n        for (int i = 0; i < V; i++)\n            visited[i] = false;\n\n        // Call the recursive helper function\n        // to print DFS traversal\n        DFSUtil(v, visited);\n    }\n\n    // Driver code\n    int main()\n    {\n        // Create a graph given in the above diagram\n        Graph g(4);\n        g.addEdge(0, 1);\n        g.addEdge(0, 2);\n        g.addEdge(1, 2);\n        g.addEdge(2, 0);\n        g.addEdge(2, 3);\n        g.addEdge(3, 3);\n\n        cout << "Following is Depth First Traversal"\n                " (starting from vertex 2) ";\n        g.DFS(2);\n\n        return 0;\n    }\n\n    '}}class R{constructor(l,n){this.highlightService=l,this.notificationService=n,this.algorithms=[],this.algorithmNames=["BFS","DFS"],this.selectedAlgorithm=this.algorithmNames[0],this.samplesCount=70,this.maxSamplesCount=350,this.minValue=1,this.maxValue=150,this.values=[],this.speed=700,this.maxSpeed=3e3,this.visualizing=!1,this.customPanelOpened=!1,this.customValue=null,this.codePanelOpened=!1,this.minNodesDistance=17,this.isDirected=0,this.isCyclic=1,this.isConnected=0,this.algorithmCode="",this.algorithmExplanation="",this.graphAlgorithms=new N,this.algorithms={BFS:{name:"BFS",run:()=>this.bfs(),code:this.graphAlgorithms.bfsCode,explanation:this.graphAlgorithms.bfsExplanation},DFS:{name:"DFS",run:()=>this.dfs(),code:this.graphAlgorithms.dfsCode,explanation:this.graphAlgorithms.dfsExplanation}}}onMouseClick(l){this.visualizing||this.graph.onMouseClick(l)}onMouseMove(l){this.visualizing||this.graph.onMouseMove(l)}onWindowResize(l){this.graph.adjustBoardParams(),this.randomize(),this.graph.drawBoard()}ngOnInit(){}ngAfterViewInit(){this.randomize()}onGraphReady(l){this.board=l,this.randomize()}onNodeSelected(l){this.selectedNode=l}onRadioButtonChange(l){switch(l){case"isDirected":this.setRandomEdges()}this.graph.drawBoard()}updateSpeed(l){this.speed=l.value}updateSamplesCount(l){this.customPanelOpened=!1,this.samplesCount=l.value,this.randomize()}updateMaxValue(l){this.customPanelOpened=!1,this.maxValue=l.value,this.randomize()}addCustomValue(){if(null===this.customValue||this.customValue<=0||this.customValue>999)return;const l=new V;l.value=this.customValue,l.radius=12*l.value.toString().length;let n=1;do{if(l.x=Math.floor(Math.random()*(this.board.width-20-2*l.radius))+l.radius+10,l.y=Math.floor(Math.random()*(this.board.height-20-2*l.radius))+l.radius+10,n++>1e3)break}while(this.graph.nodes.some(n=>this.doesNodesAreTooCloser(n,l)));n<1e3?this.graph.nodes.push(l):this.notificationService.messages.push("Node can't be add as area is full"),this.customValue=null,this.graph.drawBoard()}scrollToElement(l){document.querySelector(l).scrollIntoView({behavior:"smooth",block:"center"})}removeCustomValue(){if(null===this.customValue||this.customValue<=0||this.customValue>999)return;const l=this.graph.nodes.findIndex(l=>l.value===this.customValue);l>=0&&this.graph.nodes.splice(l,1),this.graph.drawBoard()}toggleCustomPanel(){this.customPanelOpened=!this.customPanelOpened,this.graph.nodes=[],this.graph.boardContext.clearRect(0,0,this.board.width,this.board.height),this.customPanelOpened||this.randomize()}toggleCodePanel(){this.codePanelOpened=!this.codePanelOpened,this.algorithmCode=this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code,"cpp"),this.algorithmExplanation=this.algorithms[this.selectedAlgorithm].explanation}doesNodesAreTooCloser(l,n){return this.graph.getDistanceOfNodes(l,n)<l.radius+n.radius+this.minNodesDistance}setRandomEdges(){const l=this.samplesCount<=3?this.samplesCount-1:3;this.graph.nodes.forEach(l=>l.edges=[]),this.graph.nodes.forEach(n=>{this.getNearestKNodes(n,this.graph.nodes,l).forEach(l=>{if(1===Math.floor(2*Math.random())&&this.samplesCount>=3)return;const e=new I(l);if(e.isDirected=1===this.isDirected,!n.doesEdgeExists(e)){if(!this.isDirected){const e=new I(n);e.isDirected=1===this.isDirected,l.doesEdgeExists(e)||l.edges.push(e)}n.edges.push(e)}})})}getRandomNodes(){const l=[];for(let n=1;n<=this.samplesCount;n++){let n=1;const e=new V;do{if(e.value=Math.floor(Math.random()*(this.maxValue-this.minValue+1))+this.minValue,e.radius=12*e.value.toString().length,e.x=Math.floor(Math.random()*(this.board.width-20-2*e.radius))+e.radius+10,e.y=Math.floor(Math.random()*(this.board.height-20-2*e.radius))+e.radius+10,n++>1e3)break}while(l.some(l=>this.doesNodesAreTooCloser(l,e)));n<1e3?l.push(e):this.samplesCount=l.length}return l}randomize(){this.selectedNode=null,this.customPanelOpened=!1,this.graph.nodes=this.getRandomNodes(),this.setRandomEdges(),this.graph.drawBoard()}getNearestKNodes(l,n,e){if(e>=n.length)return[];const t=n.slice(0);return t.sort((n,e)=>this.graph.getDistanceOfNodes(l,n)>this.graph.getDistanceOfNodes(l,e)?1:-1),t.slice(1,e+1)}resetNodes(){this.graph.nodes.forEach(l=>{l.resetMarkerProperties(),l.resetVisualProperties()})}eachStep(){return G.a(this,void 0,void 0,function*(){return!!this.visualizing&&(this.graph.drawBoard(),yield O.a.delay(this.maxSpeed-this.speed),!0)})}toggleVisualize(){return G.a(this,void 0,void 0,function*(){this.visualizing?this.visualizing=!1:yield this.algorithms[this.selectedAlgorithm].run()})}bfs(){return G.a(this,void 0,void 0,function*(){if(this.resetNodes(),!this.selectedNode)return void this.notificationService.addMesage("Select any node as root");this.visualizing=!0;const l=[];if(this.selectedNode.visited=!0,this.selectedNode.isRoot=!0,this.selectedNode.persistVisualProperties=!0,l.push(this.selectedNode),!(yield this.eachStep()))return;let n=1,e=0;for(;0!==l.length;){for(;0!==n;){const t=l.shift();t.persistVisualProperties=!0,t.edges.forEach(n=>{n.node.visited||(n.node.visited=!0,l.push(n.node),e++)}),n--}if(!(yield this.eachStep()))return;n=e,e=0}this.visualizing=!1})}dfs(){return G.a(this,void 0,void 0,function*(){this.resetNodes(),this.selectedNode?(this.visualizing=!0,this.selectedNode.isRoot=!0,yield this.dfsUtil(this.selectedNode),this.visualizing=!1):this.notificationService.addMesage("Select any node as root")})}dfsUtil(l){return G.a(this,void 0,void 0,function*(){if(l.visited=!0,l.persistVisualProperties=!0,!(yield this.eachStep()))return!1;for(const n of l.edges)if(!n.node.visited&&!(yield this.dfsUtil(n.node)))return!1;return!0})}}var A=e("SrJx"),B=e("OC8m"),j=t.qb({encapsulation:0,styles:[[".submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb-label{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-track-fill{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]   .radio-button[_ngcontent-%COMP%]{padding:0 20px}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]   .label-name[_ngcontent-%COMP%]{color:#fff;font-size:14px}"]],data:{}});function q(l){return t.Lb(0,[(l()(),t.sb(0,0,null,null,3,"option",[],[[8,"disabled",0]],null,null,null,null)),t.rb(1,147456,null,0,s.i,[t.k,t.D,[2,s.k]],{value:[0,"value"]},null),t.rb(2,147456,null,0,s.n,[t.k,t.D,[8,null]],{value:[0,"value"]},null),(l()(),t.Kb(3,null,[" "," "]))],function(l,n){l(n,1,0,n.context.$implicit),l(n,2,0,n.context.$implicit)},function(l,n){l(n,0,0,n.component.visualizing),l(n,3,0,n.context.$implicit)})}function L(l){return t.Lb(0,[(l()(),t.sb(0,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t.Kb(-1,null,["Stop"]))],null,null)}function K(l){return t.Lb(0,[(l()(),t.Kb(-1,null,["Visualize"]))],null,null)}function T(l){return t.Lb(0,[(l()(),t.sb(0,0,null,null,13,"div",[["class","custom-panel"]],null,null,null,null,null)),(l()(),t.sb(1,0,null,null,6,"input",[["class","custom-value"],["max","999"],["min","1"],["placeholder","Enter custom value"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(l,n,e){var i=!0,a=l.component;return"input"===n&&(i=!1!==t.Eb(l,2)._handleInput(e.target.value)&&i),"blur"===n&&(i=!1!==t.Eb(l,2).onTouched()&&i),"compositionstart"===n&&(i=!1!==t.Eb(l,2)._compositionStart()&&i),"compositionend"===n&&(i=!1!==t.Eb(l,2)._compositionEnd(e.target.value)&&i),"change"===n&&(i=!1!==t.Eb(l,3).onChange(e.target.value)&&i),"input"===n&&(i=!1!==t.Eb(l,3).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t.Eb(l,3).onTouched()&&i),"ngModelChange"===n&&(i=!1!==(a.customValue=e)&&i),i},null,null)),t.rb(2,16384,null,0,s.b,[t.D,t.k,[2,s.a]],null,null),t.rb(3,16384,null,0,s.j,[t.D,t.k],null,null),t.Hb(1024,null,s.e,function(l,n){return[l,n]},[s.b,s.j]),t.rb(5,671744,null,0,s.h,[[8,null],[8,null],[8,null],[6,s.e]],{model:[0,"model"]},{update:"ngModelChange"}),t.Hb(2048,null,s.f,null,[s.h]),t.rb(7,16384,null,0,s.g,[[4,s.f]],null,null),(l()(),t.sb(8,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.addCustomValue()&&t),t},null,null)),(l()(),t.sb(9,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t.Kb(-1,null,["+"])),(l()(),t.sb(11,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.removeCustomValue()&&t),t},null,null)),(l()(),t.sb(12,0,null,null,1,"span",[],null,null,null,null,null)),(l()(),t.Kb(-1,null,["-"]))],function(l,n){l(n,5,0,n.component.customValue)},function(l,n){l(n,1,0,t.Eb(n,7).ngClassUntouched,t.Eb(n,7).ngClassTouched,t.Eb(n,7).ngClassPristine,t.Eb(n,7).ngClassDirty,t.Eb(n,7).ngClassValid,t.Eb(n,7).ngClassInvalid,t.Eb(n,7).ngClassPending)})}function H(l){return t.Lb(0,[(l()(),t.sb(0,0,null,null,13,"div",[["class","code-panel"]],null,null,null,null,null)),(l()(),t.sb(1,0,null,null,1,"button",[["class","closeCodePanel"]],null,[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.toggleCodePanel()&&t),t},null,null)),(l()(),t.Kb(-1,null,[" X "])),(l()(),t.sb(3,0,null,null,4,"div",[["class","code-explanation-wrapper"]],null,null,null,null,null)),(l()(),t.sb(4,0,null,null,1,"div",[["class","code-explanation-heading"]],null,null,null,null,null)),(l()(),t.Kb(5,null,["",""])),(l()(),t.sb(6,0,null,null,1,"pre",[["class","code-explanation wrap-pre-tag-text"]],[[8,"innerHTML",1]],null,null,null,null)),(l()(),t.Kb(-1,null,["                "])),(l()(),t.sb(8,0,null,null,5,"div",[["class","code-wrapper"]],null,null,null,null,null)),(l()(),t.sb(9,0,null,null,4,"pre",[],null,null,null,null,null)),(l()(),t.Kb(-1,null,["                "])),(l()(),t.sb(11,0,null,null,1,"code",[["class","code"]],[[8,"innerHTML",1]],null,null,null,null)),(l()(),t.Kb(-1,null,["\n                "])),(l()(),t.Kb(-1,null,["\n                "]))],null,function(l,n){var e=n.component;l(n,5,0,e.selectedAlgorithm),l(n,6,0,e.algorithmExplanation),l(n,11,0,e.algorithmCode)})}function U(l){return t.Lb(0,[t.Ib(671088640,1,{graph:0}),(l()(),t.sb(1,0,null,null,88,"div",[["class","submain-container"]],null,null,null,null,null)),(l()(),t.sb(2,0,null,null,2,"div",[["class","header"]],null,null,null,null,null)),(l()(),t.sb(3,0,null,null,1,"div",[["class","brand"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,[" Graph Algorithms Visualizer "])),(l()(),t.sb(5,0,null,null,75,"div",[["class","toolbar"]],null,null,null,null,null)),(l()(),t.sb(6,0,null,null,74,"nav",[["class","navbar navbar-expand-lg"]],null,null,null,null,null)),(l()(),t.sb(7,0,null,null,1,"button",[["class","navbar-toggler"],["data-target","#navbarContent"],["data-toggle","collapse"],["type","button"]],null,null,null,null,null)),(l()(),t.sb(8,0,null,null,0,"i",[["class","fa fa-bars togglerIcon"]],null,null,null,null,null)),(l()(),t.sb(9,0,null,null,71,"div",[["class","collapse navbar-collapse"],["id","navbarContent"]],null,null,null,null,null)),(l()(),t.sb(10,0,null,null,70,"div",[["class","navWrapper row col-md-12"]],null,null,null,null,null)),(l()(),t.sb(11,0,null,null,3,"div",[["class","col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem"]],null,[[null,"click"]],function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t.Eb(l,12).onClick()&&i),i},null,null)),t.rb(12,16384,null,0,o.l,[o.k,o.a,[8,null],t.D,t.k],{routerLink:[0,"routerLink"]},null),t.Fb(13,1),(l()(),t.Kb(-1,null,[" Home "])),(l()(),t.sb(15,0,null,null,8,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(l()(),t.sb(16,0,null,null,7,"select",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(l,n,e){var i=!0,a=l.component;return"change"===n&&(i=!1!==t.Eb(l,17).onChange(e.target.value)&&i),"blur"===n&&(i=!1!==t.Eb(l,17).onTouched()&&i),"ngModelChange"===n&&(i=!1!==(a.selectedAlgorithm=e)&&i),i},null,null)),t.rb(17,16384,null,0,s.k,[t.D,t.k],null,null),t.Hb(1024,null,s.e,function(l){return[l]},[s.k]),t.rb(19,671744,null,0,s.h,[[8,null],[8,null],[8,null],[6,s.e]],{model:[0,"model"]},{update:"ngModelChange"}),t.Hb(2048,null,s.f,null,[s.h]),t.rb(21,16384,null,0,s.g,[[4,s.f]],null,null),(l()(),t.hb(16777216,null,null,1,null,q)),t.rb(23,278528,null,0,r.j,[t.O,t.L,t.r],{ngForOf:[0,"ngForOf"]},null),(l()(),t.sb(24,0,null,null,1,"button",[["class","btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.randomize()&&t),t},null,null)),(l()(),t.Kb(-1,null,[" Randomize "])),(l()(),t.sb(26,0,null,null,6,"button",[],null,[[null,"click"]],function(l,n,e){var t=!0,i=l.component;return"click"===n&&(i.toggleVisualize(),t=!1!==i.scrollToElement("#graph")&&t),t},null,null)),t.Hb(512,null,r.z,r.A,[t.r,t.s,t.k,t.D]),t.rb(28,278528,null,0,r.i,[r.z],{ngClass:[0,"ngClass"]},null),t.Gb(29,{"btn-success":0,"btn-danger":1,"btn col-lg-1 col-md-2 col-sm-4 navItem":2}),(l()(),t.hb(16777216,null,null,1,null,L)),t.rb(31,16384,null,0,r.k,[t.O,t.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(l()(),t.hb(0,[["visualize",2]],null,0,null,K)),(l()(),t.sb(33,0,null,null,4,"button",[],[[8,"disabled",0]],[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.toggleCustomPanel()&&t),t},null,null)),t.Hb(512,null,r.z,r.A,[t.r,t.s,t.k,t.D]),t.rb(35,278528,null,0,r.i,[r.z],{ngClass:[0,"ngClass"]},null),t.Gb(36,{"btn btn-info col-lg-1 col-md-2 col-sm-4 navItem":0}),(l()(),t.Kb(-1,null,[" Custom "])),(l()(),t.sb(38,0,null,null,4,"button",[],null,[[null,"click"]],function(l,n,e){var t=!0;return"click"===n&&(t=!1!==l.component.toggleCodePanel()&&t),t},null,null)),t.Hb(512,null,r.z,r.A,[t.r,t.s,t.k,t.D]),t.rb(40,278528,null,0,r.i,[r.z],{ngClass:[0,"ngClass"]},null),t.Gb(41,{"col-lg-1 col-md-2 col-sm-4 navItem show-code-button":0}),(l()(),t.Kb(-1,null,[" < / > "])),(l()(),t.sb(43,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(l()(),t.sb(44,0,null,null,2,":svg:svg",[["fill","white"],["style","width:30px;height:40px;"]],null,null,null,null,null)),(l()(),t.sb(45,0,null,null,0,":svg:path",[["d","M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"]],null,null,null,null,null)),(l()(),t.sb(46,0,null,null,0,":svg:path",[["d","M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"]],null,null,null,null,null)),(l()(),t.sb(47,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","0"],["role","slider"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(l,n,e){var i=!0,a=l.component;return"focus"===n&&(i=!1!==t.Eb(l,49)._onFocus()&&i),"blur"===n&&(i=!1!==t.Eb(l,49)._onBlur()&&i),"mousedown"===n&&(i=!1!==t.Eb(l,49)._onMousedown(e)&&i),"keydown"===n&&(i=!1!==t.Eb(l,49)._onKeydown(e)&&i),"keyup"===n&&(i=!1!==t.Eb(l,49)._onKeyup()&&i),"mouseenter"===n&&(i=!1!==t.Eb(l,49)._onMouseenter()&&i),"slide"===n&&(i=!1!==t.Eb(l,49)._onSlide(e)&&i),"slideend"===n&&(i=!1!==t.Eb(l,49)._onSlideEnd()&&i),"slidestart"===n&&(i=!1!==t.Eb(l,49)._onSlideStart(e)&&i),"selectstart"===n&&(i=!1!==e.preventDefault()&&i),"change"===n&&(i=!1!==a.updateSpeed(e)&&i),i},u.b,u.a)),t.Hb(5120,null,s.e,function(l){return[l]},[d.a]),t.rb(49,245760,null,0,d.a,[t.k,c.a,t.h,[2,h.b],[8,null],[2,b.a]],{max:[0,"max"],min:[1,"min"],value:[2,"value"]},{change:"change"}),(l()(),t.sb(50,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(l()(),t.sb(51,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(l()(),t.sb(52,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,["N"])),(l()(),t.sb(54,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(l,n,e){var i=!0,a=l.component;return"focus"===n&&(i=!1!==t.Eb(l,56)._onFocus()&&i),"blur"===n&&(i=!1!==t.Eb(l,56)._onBlur()&&i),"mousedown"===n&&(i=!1!==t.Eb(l,56)._onMousedown(e)&&i),"keydown"===n&&(i=!1!==t.Eb(l,56)._onKeydown(e)&&i),"keyup"===n&&(i=!1!==t.Eb(l,56)._onKeyup()&&i),"mouseenter"===n&&(i=!1!==t.Eb(l,56)._onMouseenter()&&i),"slide"===n&&(i=!1!==t.Eb(l,56)._onSlide(e)&&i),"slideend"===n&&(i=!1!==t.Eb(l,56)._onSlideEnd()&&i),"slidestart"===n&&(i=!1!==t.Eb(l,56)._onSlideStart(e)&&i),"selectstart"===n&&(i=!1!==e.preventDefault()&&i),"change"===n&&(i=!1!==a.updateSamplesCount(e)&&i),i},u.b,u.a)),t.Hb(5120,null,s.e,function(l){return[l]},[d.a]),t.rb(56,245760,null,0,d.a,[t.k,c.a,t.h,[2,h.b],[8,null],[2,b.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(l()(),t.sb(57,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(l()(),t.sb(58,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(l()(),t.sb(59,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,["A"])),(l()(),t.sb(61,0,null,null,2,"mat-slider",[["class","mat-slider"],["max","200"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(l,n,e){var i=!0,a=l.component;return"focus"===n&&(i=!1!==t.Eb(l,63)._onFocus()&&i),"blur"===n&&(i=!1!==t.Eb(l,63)._onBlur()&&i),"mousedown"===n&&(i=!1!==t.Eb(l,63)._onMousedown(e)&&i),"keydown"===n&&(i=!1!==t.Eb(l,63)._onKeydown(e)&&i),"keyup"===n&&(i=!1!==t.Eb(l,63)._onKeyup()&&i),"mouseenter"===n&&(i=!1!==t.Eb(l,63)._onMouseenter()&&i),"slide"===n&&(i=!1!==t.Eb(l,63)._onSlide(e)&&i),"slideend"===n&&(i=!1!==t.Eb(l,63)._onSlideEnd()&&i),"slidestart"===n&&(i=!1!==t.Eb(l,63)._onSlideStart(e)&&i),"selectstart"===n&&(i=!1!==e.preventDefault()&&i),"change"===n&&(i=!1!==a.updateMaxValue(e)&&i),i},u.b,u.a)),t.Hb(5120,null,s.e,function(l){return[l]},[d.a]),t.rb(63,245760,null,0,d.a,[t.k,c.a,t.h,[2,h.b],[8,null],[2,b.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(l()(),t.sb(64,0,null,null,16,"div",[["class","col-lg-1 col-md-2 col-sm-3 navItem p-0"]],null,null,null,null,null)),(l()(),t.sb(65,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(l()(),t.sb(66,0,null,null,14,"mat-radio-group",[["class","mat-radio-group"],["role","radiogroup"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"]],function(l,n,e){var t=!0,i=l.component;return"ngModelChange"===n&&(t=!1!==(i.isDirected=e)&&t),"change"===n&&(t=!1!==i.onRadioButtonChange("isDirected")&&t),t},null,null)),t.rb(67,1064960,null,1,E,[t.h],null,{change:"change"}),t.Ib(603979776,2,{_radios:1}),t.Hb(1024,null,s.e,function(l){return[l]},[E]),t.rb(70,671744,null,0,s.h,[[8,null],[8,null],[8,null],[6,s.e]],{model:[0,"model"]},{update:"ngModelChange"}),t.Hb(2048,null,s.f,null,[s.h]),t.rb(72,16384,null,0,s.g,[[4,s.f]],null,null),(l()(),t.sb(73,0,null,null,3,"mat-radio-button",[["class","radio-button mat-radio-button"]],[[2,"mat-radio-checked",null],[2,"mat-radio-disabled",null],[2,"_mat-animation-noopable",null],[2,"mat-primary",null],[2,"mat-accent",null],[2,"mat-warn",null],[1,"tabindex",0],[1,"id",0]],[[null,"focus"]],function(l,n,e){var i=!0;return"focus"===n&&(i=!1!==t.Eb(l,74)._inputElement.nativeElement.focus()&&i),i},P,S)),t.rb(74,4440064,[[2,4]],0,k,[[2,E],t.k,t.h,c.a,M,[2,b.a],[2,g]],{value:[0,"value"]},null),(l()(),t.sb(75,0,null,0,1,"span",[["class","label-name"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,["Directed"])),(l()(),t.sb(77,0,null,null,3,"mat-radio-button",[["class","radio-button mat-radio-button"]],[[2,"mat-radio-checked",null],[2,"mat-radio-disabled",null],[2,"_mat-animation-noopable",null],[2,"mat-primary",null],[2,"mat-accent",null],[2,"mat-warn",null],[1,"tabindex",0],[1,"id",0]],[[null,"focus"]],function(l,n,e){var i=!0;return"focus"===n&&(i=!1!==t.Eb(l,78)._inputElement.nativeElement.focus()&&i),i},P,S)),t.rb(78,4440064,[[2,4]],0,k,[[2,E],t.k,t.h,c.a,M,[2,b.a],[2,g]],{value:[0,"value"]},null),(l()(),t.sb(79,0,null,0,1,"span",[["class","label-name"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,["Undirected"])),(l()(),t.sb(81,0,null,null,6,"div",[["class","section"]],null,null,null,null,null)),(l()(),t.hb(16777216,null,null,1,null,T)),t.rb(83,16384,null,0,r.k,[t.O,t.L],{ngIf:[0,"ngIf"]},null),(l()(),t.sb(84,0,null,null,1,"app-graph",[["id","graph"]],null,[[null,"graphReady"],[null,"nodeSelected"]],function(l,n,e){var t=!0,i=l.component;return"graphReady"===n&&(t=!1!==i.onGraphReady(e)&&t),"nodeSelected"===n&&(t=!1!==i.onNodeSelected(e)&&t),t},F,z)),t.rb(85,4308992,[[1,4],["graph",4]],0,D,[],null,{graphReady:"graphReady",nodeSelected:"nodeSelected"}),(l()(),t.hb(16777216,null,null,1,null,H)),t.rb(87,16384,null,0,r.k,[t.O,t.L],{ngIf:[0,"ngIf"]},null),(l()(),t.sb(88,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(l()(),t.Kb(-1,null,[" while( !(success = try())); "]))],function(l,n){var e=n.component,i=l(n,13,0,"");l(n,12,0,i),l(n,19,0,e.selectedAlgorithm),l(n,23,0,e.algorithmNames);var a=l(n,29,0,!e.visualizing,e.visualizing,!0);l(n,28,0,a),l(n,31,0,e.visualizing,t.Eb(n,32));var s=l(n,36,0,!0);l(n,35,0,s);var o=l(n,41,0,!0);l(n,40,0,o),l(n,49,0,e.maxSpeed,"0",e.speed),l(n,56,0,e.visualizing,e.maxSamplesCount,"1","","1",e.samplesCount),l(n,63,0,e.visualizing,"200","1","","1",e.maxValue),l(n,70,0,e.isDirected),l(n,74,0,1),l(n,78,0,0),l(n,83,0,e.customPanelOpened),l(n,85,0),l(n,87,0,e.codePanelOpened)},function(l,n){var e=n.component;l(n,16,0,t.Eb(n,21).ngClassUntouched,t.Eb(n,21).ngClassTouched,t.Eb(n,21).ngClassPristine,t.Eb(n,21).ngClassDirty,t.Eb(n,21).ngClassValid,t.Eb(n,21).ngClassInvalid,t.Eb(n,21).ngClassPending),l(n,24,0,e.visualizing),l(n,33,0,e.visualizing),l(n,47,1,[t.Eb(n,49).tabIndex,t.Eb(n,49).disabled,t.Eb(n,49).max,t.Eb(n,49).min,t.Eb(n,49).value,t.Eb(n,49).vertical?"vertical":"horizontal",t.Eb(n,49).disabled,t.Eb(n,49).tickInterval,!t.Eb(n,49).vertical,t.Eb(n,49)._invertAxis,t.Eb(n,49)._isSliding,t.Eb(n,49).thumbLabel,t.Eb(n,49).vertical,t.Eb(n,49)._isMinValue,t.Eb(n,49).disabled||t.Eb(n,49)._isMinValue&&t.Eb(n,49)._thumbGap&&t.Eb(n,49)._invertAxis,"NoopAnimations"===t.Eb(n,49)._animationMode]),l(n,54,1,[t.Eb(n,56).tabIndex,t.Eb(n,56).disabled,t.Eb(n,56).max,t.Eb(n,56).min,t.Eb(n,56).value,t.Eb(n,56).vertical?"vertical":"horizontal",t.Eb(n,56).disabled,t.Eb(n,56).tickInterval,!t.Eb(n,56).vertical,t.Eb(n,56)._invertAxis,t.Eb(n,56)._isSliding,t.Eb(n,56).thumbLabel,t.Eb(n,56).vertical,t.Eb(n,56)._isMinValue,t.Eb(n,56).disabled||t.Eb(n,56)._isMinValue&&t.Eb(n,56)._thumbGap&&t.Eb(n,56)._invertAxis,"NoopAnimations"===t.Eb(n,56)._animationMode]),l(n,61,1,[t.Eb(n,63).tabIndex,t.Eb(n,63).disabled,t.Eb(n,63).max,t.Eb(n,63).min,t.Eb(n,63).value,t.Eb(n,63).vertical?"vertical":"horizontal",t.Eb(n,63).disabled,t.Eb(n,63).tickInterval,!t.Eb(n,63).vertical,t.Eb(n,63)._invertAxis,t.Eb(n,63)._isSliding,t.Eb(n,63).thumbLabel,t.Eb(n,63).vertical,t.Eb(n,63)._isMinValue,t.Eb(n,63).disabled||t.Eb(n,63)._isMinValue&&t.Eb(n,63)._thumbGap&&t.Eb(n,63)._invertAxis,"NoopAnimations"===t.Eb(n,63)._animationMode]),l(n,66,0,t.Eb(n,72).ngClassUntouched,t.Eb(n,72).ngClassTouched,t.Eb(n,72).ngClassPristine,t.Eb(n,72).ngClassDirty,t.Eb(n,72).ngClassValid,t.Eb(n,72).ngClassInvalid,t.Eb(n,72).ngClassPending),l(n,73,0,t.Eb(n,74).checked,t.Eb(n,74).disabled,"NoopAnimations"===t.Eb(n,74)._animationMode,"primary"===t.Eb(n,74).color,"accent"===t.Eb(n,74).color,"warn"===t.Eb(n,74).color,-1,t.Eb(n,74).id),l(n,77,0,t.Eb(n,78).checked,t.Eb(n,78).disabled,"NoopAnimations"===t.Eb(n,78)._animationMode,"primary"===t.Eb(n,78).color,"accent"===t.Eb(n,78).color,"warn"===t.Eb(n,78).color,-1,t.Eb(n,78).id)})}function X(l){return t.Lb(0,[(l()(),t.sb(0,0,null,null,1,"app-graph-algorithms",[],null,[[null,"click"],[null,"mousemove"],["window","resize"]],function(l,n,e){var i=!0;return"click"===n&&(i=!1!==t.Eb(l,1).onMouseClick(e)&&i),"mousemove"===n&&(i=!1!==t.Eb(l,1).onMouseMove(e)&&i),"window:resize"===n&&(i=!1!==t.Eb(l,1).onWindowResize(e)&&i),i},U,j)),t.rb(1,4308992,null,0,R,[A.a,B.a],null,null)],function(l,n){l(n,1,0)},null)}var W=t.ob("app-graph-algorithms",R,X,{},{},[]);class ${}var J=e("PCNd");e.d(n,"GraphAlgorithmsModuleNgFactory",function(){return Y});var Y=t.pb(i,[],function(l){return t.Bb([t.Cb(512,t.j,t.ab,[[8,[a.a,W]],[3,t.j],t.w]),t.Cb(4608,r.m,r.l,[t.t,[2,r.E]]),t.Cb(4608,s.m,s.m,[]),t.Cb(4608,w.e,p.a,[[2,p.c],[2,p.e]]),t.Cb(1073742336,r.b,r.b,[]),t.Cb(1073742336,s.l,s.l,[]),t.Cb(1073742336,s.c,s.c,[]),t.Cb(1073742336,h.a,h.a,[]),t.Cb(1073742336,p.e,p.e,[[2,p.b],[2,w.f]]),t.Cb(1073742336,d.b,d.b,[]),t.Cb(1073742336,y.b,y.b,[]),t.Cb(1073742336,p.g,p.g,[]),t.Cb(1073742336,x,x,[]),t.Cb(1073742336,o.m,o.m,[[2,o.r],[2,o.k]]),t.Cb(1073742336,$,$,[]),t.Cb(1073742336,J.a,J.a,[]),t.Cb(1073742336,i,i,[]),t.Cb(1024,o.i,function(){return[[{path:"",component:R}]]},[])])})}}]);
\ No newline at end of file
diff --git a/6-es5.6100aba97d9d2e278473.js b/6-es5.6100aba97d9d2e278473.js
new file mode 100644
index 0000000..73eef6c
--- /dev/null
+++ b/6-es5.6100aba97d9d2e278473.js
@@ -0,0 +1 @@
+function n(n,e){n.prototype=Object.create(e.prototype);n.prototype.constructor=n;n.__proto__=e}function e(n,e){for(var l=0;l<e.length;l++){var t=e[l];t.enumerable=t.enumerable||false;t.configurable=true;if("value"in t)t.writable=true;Object.defineProperty(n,t.key,t)}}function l(n,l,t){if(l)e(n.prototype,l);if(t)e(n,t);return n}(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{FvzE:function e(t,i,a){"use strict";a.r(i);var o=a("8Y7J");var r=function n(){};var s=a("pMnS"),u=a("s7LF"),d=a("iInd"),c=a("SVse"),h=a("uM4N"),b=a("lT8R"),m=a("5GAg"),p=a("IP0z"),g=a("omvX"),v=a("KCVW"),f=a("Xd0L");var k=new o.p("mat-radio-default-options",{providedIn:"root",factory:function n(){return{color:"accent"}}});var E=0;var C=function n(e,l){this.source=e,this.value=l};var _=function(){function n(n){this._changeDetector=n,this._value=null,this._name="mat-radio-group-"+E++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new o.m}var e=n.prototype;e._checkSelectedRadioButton=function n(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)};e.ngAfterContentInit=function n(){this._isInitialized=!0};e._touch=function n(){this.onTouched&&this.onTouched()};e._updateRadioButtonNames=function n(){var e=this;this._radios&&this._radios.forEach(function(n){n.name=e.name,n._markForCheck()})};e._updateSelectedRadioFromValue=function n(){var e=this;this._radios&&(null===this._selected||this._selected.value!==this._value)&&(this._selected=null,this._radios.forEach(function(n){n.checked=e.value===n.value,n.checked&&(e._selected=n)}))};e._emitChangeEvent=function n(){this._isInitialized&&this.change.emit(new C(this._selected,this._value))};e._markRadiosForCheck=function n(){this._radios&&this._radios.forEach(function(n){return n._markForCheck()})};e.writeValue=function n(e){this.value=e,this._changeDetector.markForCheck()};e.registerOnChange=function n(e){this._controlValueAccessorChangeFn=e};e.registerOnTouched=function n(e){this.onTouched=e};e.setDisabledState=function n(e){this.disabled=e,this._changeDetector.markForCheck()};l(n,[{key:"name",get:function n(){return this._name},set:function n(e){this._name=e,this._updateRadioButtonNames()}},{key:"labelPosition",get:function n(){return this._labelPosition},set:function n(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()}},{key:"value",get:function n(){return this._value},set:function n(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}},{key:"selected",get:function n(){return this._selected},set:function n(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}},{key:"disabled",get:function n(){return this._disabled},set:function n(e){this._disabled=Object(v.a)(e),this._markRadiosForCheck()}},{key:"required",get:function n(){return this._required},set:function n(e){this._required=Object(v.a)(e),this._markRadiosForCheck()}}]);return n}();var x=function n(e){this._elementRef=e};var w=Object(f.i)(Object(f.k)(x));var y=function(e){n(t,e);function t(n,l,t,i,a,r,s){var u;u=e.call(this,l)||this,u._changeDetector=t,u._focusMonitor=i,u._radioDispatcher=a,u._animationMode=r,u._providerOverride=s,u._uniqueId="mat-radio-"+ ++E,u.id=u._uniqueId,u.change=new o.m,u._checked=!1,u._value=null,u._removeUniqueSelectionListener=function(){},u.radioGroup=n,u._removeUniqueSelectionListener=a.listen(function(n,e){n!==u.id&&e===u.name&&(u.checked=!1)});return u}var i=t.prototype;i.focus=function n(e){this._focusMonitor.focusVia(this._inputElement,"keyboard",e)};i._markForCheck=function n(){this._changeDetector.markForCheck()};i.ngOnInit=function n(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.name=this.radioGroup.name)};i.ngAfterViewInit=function n(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(n){!n&&e.radioGroup&&e.radioGroup._touch()})};i.ngOnDestroy=function n(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()};i._emitChangeEvent=function n(){this.change.emit(new C(this,this._value))};i._isRippleDisabled=function n(){return this.disableRipple||this.disabled};i._onInputClick=function n(e){e.stopPropagation()};i._onInputChange=function n(e){e.stopPropagation();var l=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),l&&this.radioGroup._emitChangeEvent())};l(t,[{key:"checked",get:function n(){return this._checked},set:function n(e){var l=Object(v.a)(e);this._checked!==l&&(this._checked=l,l&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!l&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),l&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}},{key:"value",get:function n(){return this._value},set:function n(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}},{key:"labelPosition",get:function n(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function n(e){this._labelPosition=e}},{key:"disabled",get:function n(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function n(e){var l=Object(v.a)(e);this._disabled!==l&&(this._disabled=l,this._changeDetector.markForCheck())}},{key:"required",get:function n(){return this._required||this.radioGroup&&this.radioGroup.required},set:function n(e){this._required=Object(v.a)(e)}},{key:"color",get:function n(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function n(e){this._color=e}},{key:"inputId",get:function n(){return(this.id||this._uniqueId)+"-input"}}]);return t}(w);var M=function n(){};var S=a("cUpR"),P=a("/HVE");a("HDdC"),a("LRne"),a("XNiG");var V=function(){var n=function(){function n(){this._listeners=[]}var e=n.prototype;e.notify=function n(e,l){for(var t=this._listeners,i=Array.isArray(t),a=0,t=i?t:t[Symbol.iterator]();;){var o;if(i){if(a>=t.length)break;o=t[a++]}else{a=t.next();if(a.done)break;o=a.value}var r=o;r(e,l)}};e.listen=function n(e){var l=this;return this._listeners.push(e),function(){l._listeners=l._listeners.filter(function(n){return e!==n})}};e.ngOnDestroy=function n(){this._listeners=[]};return n}();return n.ngInjectableDef=Object(o.Pb)({factory:function e(){return new n},token:n,providedIn:"root"}),n}();var I=o.qb({encapsulation:2,styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:transform ease 280ms,background-color ease 280ms;width:20px;transform:scale(.001)}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-checked .mat-radio-inner-circle{transform:scale(.5)}@media (-ms-high-contrast:active){.mat-radio-checked .mat-radio-inner-circle{border:solid 10px}}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple,.mat-radio-persistent-ripple{opacity:0}@media (hover:none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}@media (-ms-high-contrast:active){.mat-radio-disabled{opacity:.5}}"],data:{}});function D(n){return o.Lb(2,[o.Ib(671088640,1,{_inputElement:0}),(n()(),o.sb(1,0,[["label",1]],null,12,"label",[["class","mat-radio-label"]],[[1,"for",0]],null,null,null,null)),(n()(),o.sb(2,0,null,null,7,"div",[["class","mat-radio-container"]],null,null,null,null,null)),(n()(),o.sb(3,0,null,null,0,"div",[["class","mat-radio-outer-circle"]],null,null,null,null,null)),(n()(),o.sb(4,0,null,null,0,"div",[["class","mat-radio-inner-circle"]],null,null,null,null,null)),(n()(),o.sb(5,0,null,null,3,"div",[["class","mat-radio-ripple mat-ripple"],["mat-ripple",""]],[[2,"mat-ripple-unbounded",null]],null,null,null,null)),o.rb(6,212992,null,0,f.f,[o.k,o.y,P.a,[2,f.d],[2,g.a]],{centered:[0,"centered"],radius:[1,"radius"],animation:[2,"animation"],disabled:[3,"disabled"],trigger:[4,"trigger"]},null),o.Gb(7,{enterDuration:0}),(n()(),o.sb(8,0,null,null,0,"div",[["class","mat-ripple-element mat-radio-persistent-ripple"]],null,null,null,null,null)),(n()(),o.sb(9,0,[[1,0],["input",1]],null,0,"input",[["class","mat-radio-input cdk-visually-hidden"],["type","radio"]],[[8,"id",0],[8,"checked",0],[8,"disabled",0],[8,"tabIndex",0],[1,"name",0],[1,"value",0],[8,"required",0],[1,"aria-label",0],[1,"aria-labelledby",0],[1,"aria-describedby",0]],[[null,"change"],[null,"click"]],function(n,e,l){var t=!0,i=n.component;return"change"===e&&(t=!1!==i._onInputChange(l)&&t),"click"===e&&(t=!1!==i._onInputClick(l)&&t),t},null,null)),(n()(),o.sb(10,0,null,null,3,"div",[["class","mat-radio-label-content"]],[[2,"mat-radio-label-before",null]],null,null,null,null)),(n()(),o.sb(11,0,null,null,1,"span",[["style","display:none"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,["\xa0"])),o.Db(null,0)],function(n,e){var l=e.component,t=n(e,7,0,150);n(e,6,0,!0,20,t,l._isRippleDisabled(),o.Eb(e,1))},function(n,e){var l=e.component;n(e,1,0,l.inputId),n(e,5,0,o.Eb(e,6).unbounded),n(e,9,0,l.inputId,l.checked,l.disabled,l.tabIndex,l.name,l.value,l.required,l.ariaLabel,l.ariaLabelledby,l.ariaDescribedby),n(e,10,0,"before"==l.labelPosition)})}var z=function(){function n(){this.edges=[],this.isRoot=!1,this.backgroudColor="#0d0d26",this.color="white",this.borderColor="white",this.shadowBlur=6,this.shodowColor="grey",this.font="normal 12px Verdana",this.visited=!1,this.persistVisualProperties=!1,this.visitedAnimationFrame=0,this.visitedAnimationColors=["#e66750","#11b1bd","#03943b"]}var e=n.prototype;e.resetMarkerProperties=function n(){this.isRoot=!1,this.visited=!1,this.persistVisualProperties=!1,this.visitedAnimationFrame=0};e.resetVisualProperties=function n(){this.backgroudColor="#0d0d26",this.color="white",this.borderColor="white",this.shadowBlur=6,this.shodowColor="grey",this.font="normal 12px Verdana"};e.visitedAnimationNextFrame=function n(){if(this.isRoot)return this.color="white",void(this.backgroudColor="red");this.visitedAnimationFrame>=this.visitedAnimationColors.length||(this.backgroudColor=this.visitedAnimationColors[this.visitedAnimationFrame++],this.color="white")};e.doesEdgeExists=function n(e){return this.edges.includes(e)};return n}();var R=function n(e){this.isDirected=!1,this.color="rgba(255,255,255,0.1)",this.arrowColor="rgba(255,255,255,0.3)",this.node=e};var F=function(){function n(){this.nodes=[],this.graphReady=new o.m,this.nodeSelected=new o.m}var e=n.prototype;e.onMouseMove=function n(e){var l=this;var t=this.board.getBoundingClientRect();if(e.clientX<t.left||e.clientX>t.right||e.y<t.top||e.y>t.bottom)return;var i=new z;i.x=e.clientX-t.left,i.y=e.clientY-t.top,this.nodes.forEach(function(n){n.persistVisualProperties||(l.getDistanceOfNodes(n,i)<=n.radius?(n.backgroudColor="white",n.color="black"):n.resetVisualProperties())}),this.drawBoard()};e.onMouseClick=function n(e){var l=this;var t=this.board.getBoundingClientRect();if(e.clientX<t.left||e.clientX>t.right||e.y<t.top||e.y>t.bottom)return;var i=new z;i.x=e.clientX-t.left,i.y=e.clientY-t.top,this.nodes.forEach(function(n){n.resetMarkerProperties(),n.resetVisualProperties(),l.getDistanceOfNodes(n,i)<=n.radius&&(n.backgroudColor="white",n.color="black",l.nodeSelected.emit(n),n.persistVisualProperties=!0)}),this.drawBoard()};e.adjustBoardParams=function n(){var e=this.boardWrapperElementRef.nativeElement;this.board.width=e.clientWidth,this.board.height=e.clientHeight};e.drawNodes=function n(){var e=this;this.nodes.forEach(function(n){n.visited&&n.visitedAnimationNextFrame(),e.boardContext.beginPath(),e.boardContext.strokeStyle=n.borderColor,e.boardContext.fillStyle=n.backgroudColor,e.boardContext.shadowBlur=n.shadowBlur,e.boardContext.shadowColor=n.shodowColor,e.boardContext.arc(n.x,n.y,n.radius,0,2*Math.PI),e.boardContext.stroke(),e.boardContext.fill(),e.boardContext.fillStyle=n.color,e.boardContext.font=n.font,e.boardContext.fillText(n.value.toString(),n.x-n.radius/2+3,n.y+4),e.boardContext.closePath()})};e.drawEdges=function n(){var e=this;this.nodes.forEach(function(n){n.edges.forEach(function(l){if(e.boardContext.beginPath(),e.boardContext.shadowBlur=3,e.boardContext.strokeStyle=l.color,e.boardContext.moveTo(n.x,n.y),e.boardContext.lineTo(l.node.x,l.node.y),e.boardContext.stroke(),e.boardContext.closePath(),l.isDirected){var t=Math.atan(Math.abs(n.y-l.node.y)/Math.abs(n.x-l.node.x)),i=Math.PI/9,a=8,o=n.x<l.node.x?1:-1,r=n.y<l.node.y?1:-1,s=l.node.x-o*l.node.radius*Math.cos(t),u=l.node.y-r*l.node.radius*Math.sin(t);e.boardContext.beginPath(),e.boardContext.moveTo(s,u),e.boardContext.fillStyle=l.arrowColor,e.boardContext.lineTo(s-o*a*Math.cos(t-i),u-r*a*Math.sin(t-i)),e.boardContext.lineTo(s+o*a*Math.sin(i-Math.PI/2+t),u-r*a*Math.cos(i-Math.PI/2+t)),e.boardContext.stroke(),e.boardContext.lineTo(s,u),e.boardContext.fill(),e.boardContext.stroke(),e.boardContext.closePath()}})})};e.drawBoard=function n(){this.boardContext.clearRect(0,0,this.board.width,this.board.height),this.drawEdges(),this.drawNodes()};e.getDistanceOfNodes=function n(e,l){return Math.sqrt(Math.pow(e.x-l.x,2)+Math.pow(e.y-l.y,2))};e.initBoard=function n(){this.board=this.boardElementRef.nativeElement,this.boardContext=this.board.getContext("2d"),this.adjustBoardParams(),this.drawBoard()};e.ngAfterViewInit=function n(){this.initBoard(),this.graphReady.emit(this.board)};e.ngOnInit=function n(){};return n}();var G=o.qb({encapsulation:0,styles:[["#board-wrapper[_ngcontent-%COMP%]{width:100%;height:98vh;border:2px solid #fff;border-radius:6px}"]],data:{}});function O(n){return o.Lb(0,[o.Ib(671088640,1,{boardElementRef:0}),o.Ib(671088640,2,{boardWrapperElementRef:0}),(n()(),o.sb(2,0,[[2,0],["boardWrapper",1]],null,1,"div",[["id","board-wrapper"]],null,null,null,null,null)),(n()(),o.sb(3,0,[[1,0],["board",1]],null,0,"canvas",[["id","board"]],null,null,null,null,null)),(n()(),o.sb(4,0,null,null,0,"div",[["class","values-wrapper"]],null,null,null,null,null))],null,null)}var A=a("mrSG"),N=a("Rcsm");var B=function n(){this.bfsExplanation="",this.bfsCode='\n    // Program to print BFS traversal from a given\n    // source vertex. BFS(int s) traverses vertices\n    // reachable from s.\n    #include<iostream>\n    #include <list>\n\n    using namespace std;\n\n    // This class represents a directed graph using\n    // adjacency list representation\n    class Graph\n    {\n        int V; // No. of vertices\n\n        // Pointer to an array containing adjacency\n        // lists\n        list<int> *adj;\n    public:\n        Graph(int V); // Constructor\n\n        // function to add an edge to graph\n        void addEdge(int v, int w);\n\n        // prints BFS traversal from a given source s\n        void BFS(int s);\n    };\n\n    Graph::Graph(int V)\n    {\n        this->V = V;\n        adj = new list<int>[V];\n    }\n\n    void Graph::addEdge(int v, int w)\n    {\n        adj[v].push_back(w); // Add w to v\u2019s list.\n    }\n\n    void Graph::BFS(int s)\n    {\n        // Mark all the vertices as not visited\n        bool *visited = new bool[V];\n        for(int i = 0; i < V; i++)\n            visited[i] = false;\n\n        // Create a queue for BFS\n        list<int> queue;\n\n        // Mark the current node as visited and enqueue it\n        visited[s] = true;\n        queue.push_back(s);\n\n        // \'i\' will be used to get all adjacent\n        // vertices of a vertex\n        list<int>::iterator i;\n\n        while(!queue.empty())\n        {\n            // Dequeue a vertex from queue and print it\n            s = queue.front();\n            cout << s << " ";\n            queue.pop_front();\n\n            // Get all adjacent vertices of the dequeued\n            // vertex s. If a adjacent has not been visited,\n            // then mark it visited and enqueue it\n            for (i = adj[s].begin(); i != adj[s].end(); ++i)\n            {\n                if (!visited[*i])\n                {\n                    visited[*i] = true;\n                    queue.push_back(*i);\n                }\n            }\n        }\n    }\n\n    // Driver program to test methods of graph class\n    int main()\n    {\n        // Create a graph given in the above diagram\n        Graph g(4);\n        g.addEdge(0, 1);\n        g.addEdge(0, 2);\n        g.addEdge(1, 2);\n        g.addEdge(2, 0);\n        g.addEdge(2, 3);\n        g.addEdge(3, 3);\n\n        cout << "Following is Breadth First Traversal "\n            << "(starting from vertex 2) ";\n        g.BFS(2);\n\n        return 0;\n    }\n    ',this.dfsExplanation="",this.dfsCode='\n    // C++ program to print DFS traversal from\n    // a given vertex in a given graph\n    #include<iostream>\n    #include<list>\n    using namespace std;\n\n    // Graph class represents a directed graph\n    // using adjacency list representation\n    class Graph\n    {\n        int V; // No. of vertices\n\n        // Pointer to an array containing\n        // adjacency lists\n        list<int> *adj;\n\n        // A recursive function used by DFS\n        void DFSUtil(int v, bool visited[]);\n    public:\n        Graph(int V); // Constructor\n\n        // function to add an edge to graph\n        void addEdge(int v, int w);\n\n        // DFS traversal of the vertices\n        // reachable from v\n        void DFS(int v);\n    };\n\n    Graph::Graph(int V)\n    {\n        this->V = V;\n        adj = new list<int>[V];\n    }\n\n    void Graph::addEdge(int v, int w)\n    {\n        adj[v].push_back(w); // Add w to v\u2019s list.\n    }\n\n    void Graph::DFSUtil(int v, bool visited[])\n    {\n        // Mark the current node as visited and\n        // print it\n        visited[v] = true;\n        cout << v << " ";\n\n        // Recur for all the vertices adjacent\n        // to this vertex\n        list<int>::iterator i;\n        for (i = adj[v].begin(); i != adj[v].end(); ++i)\n            if (!visited[*i])\n                DFSUtil(*i, visited);\n    }\n\n    // DFS traversal of the vertices reachable from v.\n    // It uses recursive DFSUtil()\n    void Graph::DFS(int v)\n    {\n        // Mark all the vertices as not visited\n        bool *visited = new bool[V];\n        for (int i = 0; i < V; i++)\n            visited[i] = false;\n\n        // Call the recursive helper function\n        // to print DFS traversal\n        DFSUtil(v, visited);\n    }\n\n    // Driver code\n    int main()\n    {\n        // Create a graph given in the above diagram\n        Graph g(4);\n        g.addEdge(0, 1);\n        g.addEdge(0, 2);\n        g.addEdge(1, 2);\n        g.addEdge(2, 0);\n        g.addEdge(2, 3);\n        g.addEdge(3, 3);\n\n        cout << "Following is Depth First Traversal"\n                " (starting from vertex 2) ";\n        g.DFS(2);\n\n        return 0;\n    }\n\n    '};var j=function(){function n(n,e){var l=this;this.highlightService=n,this.notificationService=e,this.algorithms=[],this.algorithmNames=["BFS","DFS"],this.selectedAlgorithm=this.algorithmNames[0],this.samplesCount=70,this.maxSamplesCount=350,this.minValue=1,this.maxValue=150,this.values=[],this.speed=700,this.maxSpeed=3e3,this.visualizing=!1,this.customPanelOpened=!1,this.customValue=null,this.codePanelOpened=!1,this.minNodesDistance=17,this.isDirected=0,this.isCyclic=1,this.isConnected=0,this.algorithmCode="",this.algorithmExplanation="",this.graphAlgorithms=new B,this.algorithms={BFS:{name:"BFS",run:function n(){return l.bfs()},code:this.graphAlgorithms.bfsCode,explanation:this.graphAlgorithms.bfsExplanation},DFS:{name:"DFS",run:function n(){return l.dfs()},code:this.graphAlgorithms.dfsCode,explanation:this.graphAlgorithms.dfsExplanation}}}var e=n.prototype;e.onMouseClick=function n(e){this.visualizing||this.graph.onMouseClick(e)};e.onMouseMove=function n(e){this.visualizing||this.graph.onMouseMove(e)};e.onWindowResize=function n(e){this.graph.adjustBoardParams(),this.randomize(),this.graph.drawBoard()};e.ngOnInit=function n(){};e.ngAfterViewInit=function n(){this.randomize()};e.onGraphReady=function n(e){this.board=e,this.randomize()};e.onNodeSelected=function n(e){this.selectedNode=e};e.onRadioButtonChange=function n(e){switch(e){case"isDirected":this.setRandomEdges()}this.graph.drawBoard()};e.updateSpeed=function n(e){this.speed=e.value};e.updateSamplesCount=function n(e){this.customPanelOpened=!1,this.samplesCount=e.value,this.randomize()};e.updateMaxValue=function n(e){this.customPanelOpened=!1,this.maxValue=e.value,this.randomize()};e.addCustomValue=function n(){var e=this;if(null===this.customValue||this.customValue<=0||this.customValue>999)return;var l=new z;l.value=this.customValue,l.radius=12*l.value.toString().length;var t=1;do{if(l.x=Math.floor(Math.random()*(this.board.width-20-2*l.radius))+l.radius+10,l.y=Math.floor(Math.random()*(this.board.height-20-2*l.radius))+l.radius+10,t++>1e3)break}while(this.graph.nodes.some(function(n){return e.doesNodesAreTooCloser(n,l)}));t<1e3?this.graph.nodes.push(l):this.notificationService.messages.push("Node can't be add as area is full"),this.customValue=null,this.graph.drawBoard()};e.scrollToElement=function n(e){document.querySelector(e).scrollIntoView({behavior:"smooth",block:"center"})};e.removeCustomValue=function n(){var e=this;if(null===this.customValue||this.customValue<=0||this.customValue>999)return;var l=this.graph.nodes.findIndex(function(n){return n.value===e.customValue});l>=0&&this.graph.nodes.splice(l,1),this.graph.drawBoard()};e.toggleCustomPanel=function n(){this.customPanelOpened=!this.customPanelOpened,this.graph.nodes=[],this.graph.boardContext.clearRect(0,0,this.board.width,this.board.height),this.customPanelOpened||this.randomize()};e.toggleCodePanel=function n(){this.codePanelOpened=!this.codePanelOpened,this.algorithmCode=this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code,"cpp"),this.algorithmExplanation=this.algorithms[this.selectedAlgorithm].explanation};e.doesNodesAreTooCloser=function n(e,l){return this.graph.getDistanceOfNodes(e,l)<e.radius+l.radius+this.minNodesDistance};e.setRandomEdges=function n(){var e=this;var l=this.samplesCount<=3?this.samplesCount-1:3;this.graph.nodes.forEach(function(n){return n.edges=[]}),this.graph.nodes.forEach(function(n){e.getNearestKNodes(n,e.graph.nodes,l).forEach(function(l){if(1===Math.floor(2*Math.random())&&e.samplesCount>=3)return;var t=new R(l);if(t.isDirected=1===e.isDirected,!n.doesEdgeExists(t)){if(!e.isDirected){var i=new R(n);i.isDirected=1===e.isDirected,l.doesEdgeExists(i)||l.edges.push(i)}n.edges.push(t)}})})};e.getRandomNodes=function n(){var e=this;var l=[];var t=function n(t){var i=1;var a=new z;do{if(a.value=Math.floor(Math.random()*(e.maxValue-e.minValue+1))+e.minValue,a.radius=12*a.value.toString().length,a.x=Math.floor(Math.random()*(e.board.width-20-2*a.radius))+a.radius+10,a.y=Math.floor(Math.random()*(e.board.height-20-2*a.radius))+a.radius+10,i++>1e3)break}while(l.some(function(n){return e.doesNodesAreTooCloser(n,a)}));i<1e3?l.push(a):e.samplesCount=l.length};for(var i=1;i<=this.samplesCount;i++){t(i)}return l};e.randomize=function n(){this.selectedNode=null,this.customPanelOpened=!1,this.graph.nodes=this.getRandomNodes(),this.setRandomEdges(),this.graph.drawBoard()};e.getNearestKNodes=function n(e,l,t){var i=this;if(t>=l.length)return[];var a=l.slice(0);return a.sort(function(n,l){return i.graph.getDistanceOfNodes(e,n)>i.graph.getDistanceOfNodes(e,l)?1:-1}),a.slice(1,t+1)};e.resetNodes=function n(){this.graph.nodes.forEach(function(n){n.resetMarkerProperties(),n.resetVisualProperties()})};e.eachStep=function n(){return A.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(e){while(1){switch(e.prev=e.next){case 0:e.t0=!!this.visualizing;if(!e.t0){e.next=6;break}this.graph.drawBoard();e.next=5;return N.a.delay(this.maxSpeed-this.speed);case 5:e.t0=!0;case 6:return e.abrupt("return",e.t0);case 7:case"end":return e.stop()}}},n,this)}))};e.toggleVisualize=function n(){return A.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(e){while(1){switch(e.prev=e.next){case 0:if(!this.visualizing){e.next=4;break}this.visualizing=!1;e.next=6;break;case 4:e.next=6;return this.algorithms[this.selectedAlgorithm].run();case 6:case"end":return e.stop()}}},n,this)}))};e.bfs=function n(){return A.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var e,l,t,i;return regeneratorRuntime.wrap(function n(a){while(1){switch(a.prev=a.next){case 0:if(!(this.resetNodes(),!this.selectedNode)){a.next=2;break}return a.abrupt("return",void this.notificationService.addMesage("Select any node as root"));case 2:this.visualizing=!0;e=[];this.selectedNode.visited=!0;this.selectedNode.isRoot=!0;this.selectedNode.persistVisualProperties=!0;e.push(this.selectedNode);a.next=10;return this.eachStep();case 10:if(a.sent){a.next=12;break}return a.abrupt("return");case 12:l=1,t=0;case 13:if(!(0!==e.length)){a.next=22;break}for(;0!==l;){i=e.shift();i.persistVisualProperties=!0,i.edges.forEach(function(n){n.node.visited||(n.node.visited=!0,e.push(n.node),t++)}),l--}a.next=17;return this.eachStep();case 17:if(a.sent){a.next=19;break}return a.abrupt("return");case 19:l=t,t=0;case 20:a.next=13;break;case 22:this.visualizing=!1;case 23:case"end":return a.stop()}}},n,this)}))};e.dfs=function n(){return A.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(e){while(1){switch(e.prev=e.next){case 0:this.resetNodes();if(!this.selectedNode){e.next=9;break}this.visualizing=!0;this.selectedNode.isRoot=!0;e.next=6;return this.dfsUtil(this.selectedNode);case 6:this.visualizing=!1;e.next=10;break;case 9:this.notificationService.addMesage("Select any node as root");case 10:case"end":return e.stop()}}},n,this)}))};e.dfsUtil=function n(e){return A.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var l,t,i,a,o;return regeneratorRuntime.wrap(function n(r){while(1){switch(r.prev=r.next){case 0:e.visited=!0;e.persistVisualProperties=!0;r.next=4;return this.eachStep();case 4:if(r.sent){r.next=6;break}return r.abrupt("return",!1);case 6:l=e.edges,t=Array.isArray(l),i=0,l=t?l:l[Symbol.iterator]();case 7:if(!t){r.next=13;break}if(!(i>=l.length)){r.next=10;break}return r.abrupt("break",27);case 10:a=l[i++];r.next=17;break;case 13:i=l.next();if(!i.done){r.next=16;break}return r.abrupt("break",27);case 16:a=i.value;case 17:o=a;r.t0=!o.node.visited;if(!r.t0){r.next=23;break}r.next=22;return this.dfsUtil(o.node);case 22:r.t0=!r.sent;case 23:if(!r.t0){r.next=25;break}return r.abrupt("return",!1);case 25:r.next=7;break;case 27:return r.abrupt("return",!0);case 28:case"end":return r.stop()}}},n,this)}))};return n}();var L=a("SrJx"),q=a("OC8m"),K=o.qb({encapsulation:0,styles:[[".submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb-label{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-track-fill{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]   .radio-button[_ngcontent-%COMP%]{padding:0 20px}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]   .label-name[_ngcontent-%COMP%]{color:#fff;font-size:14px}"]],data:{}});function T(n){return o.Lb(0,[(n()(),o.sb(0,0,null,null,3,"option",[],[[8,"disabled",0]],null,null,null,null)),o.rb(1,147456,null,0,u.i,[o.k,o.D,[2,u.k]],{value:[0,"value"]},null),o.rb(2,147456,null,0,u.n,[o.k,o.D,[8,null]],{value:[0,"value"]},null),(n()(),o.Kb(3,null,[" "," "]))],function(n,e){n(e,1,0,e.context.$implicit),n(e,2,0,e.context.$implicit)},function(n,e){n(e,0,0,e.component.visualizing),n(e,3,0,e.context.$implicit)})}function H(n){return o.Lb(0,[(n()(),o.sb(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),o.Kb(-1,null,["Stop"]))],null,null)}function U(n){return o.Lb(0,[(n()(),o.Kb(-1,null,["Visualize"]))],null,null)}function X(n){return o.Lb(0,[(n()(),o.sb(0,0,null,null,13,"div",[["class","custom-panel"]],null,null,null,null,null)),(n()(),o.sb(1,0,null,null,6,"input",[["class","custom-value"],["max","999"],["min","1"],["placeholder","Enter custom value"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,e,l){var t=!0,i=n.component;return"input"===e&&(t=!1!==o.Eb(n,2)._handleInput(l.target.value)&&t),"blur"===e&&(t=!1!==o.Eb(n,2).onTouched()&&t),"compositionstart"===e&&(t=!1!==o.Eb(n,2)._compositionStart()&&t),"compositionend"===e&&(t=!1!==o.Eb(n,2)._compositionEnd(l.target.value)&&t),"change"===e&&(t=!1!==o.Eb(n,3).onChange(l.target.value)&&t),"input"===e&&(t=!1!==o.Eb(n,3).onChange(l.target.value)&&t),"blur"===e&&(t=!1!==o.Eb(n,3).onTouched()&&t),"ngModelChange"===e&&(t=!1!==(i.customValue=l)&&t),t},null,null)),o.rb(2,16384,null,0,u.b,[o.D,o.k,[2,u.a]],null,null),o.rb(3,16384,null,0,u.j,[o.D,o.k],null,null),o.Hb(1024,null,u.e,function(n,e){return[n,e]},[u.b,u.j]),o.rb(5,671744,null,0,u.h,[[8,null],[8,null],[8,null],[6,u.e]],{model:[0,"model"]},{update:"ngModelChange"}),o.Hb(2048,null,u.f,null,[u.h]),o.rb(7,16384,null,0,u.g,[[4,u.f]],null,null),(n()(),o.sb(8,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.addCustomValue()&&t),t},null,null)),(n()(),o.sb(9,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),o.Kb(-1,null,["+"])),(n()(),o.sb(11,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.removeCustomValue()&&t),t},null,null)),(n()(),o.sb(12,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),o.Kb(-1,null,["-"]))],function(n,e){n(e,5,0,e.component.customValue)},function(n,e){n(e,1,0,o.Eb(e,7).ngClassUntouched,o.Eb(e,7).ngClassTouched,o.Eb(e,7).ngClassPristine,o.Eb(e,7).ngClassDirty,o.Eb(e,7).ngClassValid,o.Eb(e,7).ngClassInvalid,o.Eb(e,7).ngClassPending)})}function W(n){return o.Lb(0,[(n()(),o.sb(0,0,null,null,13,"div",[["class","code-panel"]],null,null,null,null,null)),(n()(),o.sb(1,0,null,null,1,"button",[["class","closeCodePanel"]],null,[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.toggleCodePanel()&&t),t},null,null)),(n()(),o.Kb(-1,null,[" X "])),(n()(),o.sb(3,0,null,null,4,"div",[["class","code-explanation-wrapper"]],null,null,null,null,null)),(n()(),o.sb(4,0,null,null,1,"div",[["class","code-explanation-heading"]],null,null,null,null,null)),(n()(),o.Kb(5,null,["",""])),(n()(),o.sb(6,0,null,null,1,"pre",[["class","code-explanation wrap-pre-tag-text"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),o.Kb(-1,null,["                "])),(n()(),o.sb(8,0,null,null,5,"div",[["class","code-wrapper"]],null,null,null,null,null)),(n()(),o.sb(9,0,null,null,4,"pre",[],null,null,null,null,null)),(n()(),o.Kb(-1,null,["                "])),(n()(),o.sb(11,0,null,null,1,"code",[["class","code"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),o.Kb(-1,null,["\n                "])),(n()(),o.Kb(-1,null,["\n                "]))],null,function(n,e){var l=e.component;n(e,5,0,l.selectedAlgorithm),n(e,6,0,l.algorithmExplanation),n(e,11,0,l.algorithmCode)})}function J(n){return o.Lb(0,[o.Ib(671088640,1,{graph:0}),(n()(),o.sb(1,0,null,null,88,"div",[["class","submain-container"]],null,null,null,null,null)),(n()(),o.sb(2,0,null,null,2,"div",[["class","header"]],null,null,null,null,null)),(n()(),o.sb(3,0,null,null,1,"div",[["class","brand"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,[" Graph Algorithms Visualizer "])),(n()(),o.sb(5,0,null,null,75,"div",[["class","toolbar"]],null,null,null,null,null)),(n()(),o.sb(6,0,null,null,74,"nav",[["class","navbar navbar-expand-lg"]],null,null,null,null,null)),(n()(),o.sb(7,0,null,null,1,"button",[["class","navbar-toggler"],["data-target","#navbarContent"],["data-toggle","collapse"],["type","button"]],null,null,null,null,null)),(n()(),o.sb(8,0,null,null,0,"i",[["class","fa fa-bars togglerIcon"]],null,null,null,null,null)),(n()(),o.sb(9,0,null,null,71,"div",[["class","collapse navbar-collapse"],["id","navbarContent"]],null,null,null,null,null)),(n()(),o.sb(10,0,null,null,70,"div",[["class","navWrapper row col-md-12"]],null,null,null,null,null)),(n()(),o.sb(11,0,null,null,3,"div",[["class","col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem"]],null,[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==o.Eb(n,12).onClick()&&t),t},null,null)),o.rb(12,16384,null,0,d.l,[d.k,d.a,[8,null],o.D,o.k],{routerLink:[0,"routerLink"]},null),o.Fb(13,1),(n()(),o.Kb(-1,null,[" Home "])),(n()(),o.sb(15,0,null,null,8,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),o.sb(16,0,null,null,7,"select",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,e,l){var t=!0,i=n.component;return"change"===e&&(t=!1!==o.Eb(n,17).onChange(l.target.value)&&t),"blur"===e&&(t=!1!==o.Eb(n,17).onTouched()&&t),"ngModelChange"===e&&(t=!1!==(i.selectedAlgorithm=l)&&t),t},null,null)),o.rb(17,16384,null,0,u.k,[o.D,o.k],null,null),o.Hb(1024,null,u.e,function(n){return[n]},[u.k]),o.rb(19,671744,null,0,u.h,[[8,null],[8,null],[8,null],[6,u.e]],{model:[0,"model"]},{update:"ngModelChange"}),o.Hb(2048,null,u.f,null,[u.h]),o.rb(21,16384,null,0,u.g,[[4,u.f]],null,null),(n()(),o.hb(16777216,null,null,1,null,T)),o.rb(23,278528,null,0,c.j,[o.O,o.L,o.r],{ngForOf:[0,"ngForOf"]},null),(n()(),o.sb(24,0,null,null,1,"button",[["class","btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.randomize()&&t),t},null,null)),(n()(),o.Kb(-1,null,[" Randomize "])),(n()(),o.sb(26,0,null,null,6,"button",[],null,[[null,"click"]],function(n,e,l){var t=!0,i=n.component;return"click"===e&&(i.toggleVisualize(),t=!1!==i.scrollToElement("#graph")&&t),t},null,null)),o.Hb(512,null,c.z,c.A,[o.r,o.s,o.k,o.D]),o.rb(28,278528,null,0,c.i,[c.z],{ngClass:[0,"ngClass"]},null),o.Gb(29,{"btn-success":0,"btn-danger":1,"btn col-lg-1 col-md-2 col-sm-4 navItem":2}),(n()(),o.hb(16777216,null,null,1,null,H)),o.rb(31,16384,null,0,c.k,[o.O,o.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(n()(),o.hb(0,[["visualize",2]],null,0,null,U)),(n()(),o.sb(33,0,null,null,4,"button",[],[[8,"disabled",0]],[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.toggleCustomPanel()&&t),t},null,null)),o.Hb(512,null,c.z,c.A,[o.r,o.s,o.k,o.D]),o.rb(35,278528,null,0,c.i,[c.z],{ngClass:[0,"ngClass"]},null),o.Gb(36,{"btn btn-info col-lg-1 col-md-2 col-sm-4 navItem":0}),(n()(),o.Kb(-1,null,[" Custom "])),(n()(),o.sb(38,0,null,null,4,"button",[],null,[[null,"click"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==n.component.toggleCodePanel()&&t),t},null,null)),o.Hb(512,null,c.z,c.A,[o.r,o.s,o.k,o.D]),o.rb(40,278528,null,0,c.i,[c.z],{ngClass:[0,"ngClass"]},null),o.Gb(41,{"col-lg-1 col-md-2 col-sm-4 navItem show-code-button":0}),(n()(),o.Kb(-1,null,[" < / > "])),(n()(),o.sb(43,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),o.sb(44,0,null,null,2,":svg:svg",[["fill","white"],["style","width:30px;height:40px;"]],null,null,null,null,null)),(n()(),o.sb(45,0,null,null,0,":svg:path",[["d","M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"]],null,null,null,null,null)),(n()(),o.sb(46,0,null,null,0,":svg:path",[["d","M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"]],null,null,null,null,null)),(n()(),o.sb(47,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","0"],["role","slider"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,l){var t=!0,i=n.component;return"focus"===e&&(t=!1!==o.Eb(n,49)._onFocus()&&t),"blur"===e&&(t=!1!==o.Eb(n,49)._onBlur()&&t),"mousedown"===e&&(t=!1!==o.Eb(n,49)._onMousedown(l)&&t),"keydown"===e&&(t=!1!==o.Eb(n,49)._onKeydown(l)&&t),"keyup"===e&&(t=!1!==o.Eb(n,49)._onKeyup()&&t),"mouseenter"===e&&(t=!1!==o.Eb(n,49)._onMouseenter()&&t),"slide"===e&&(t=!1!==o.Eb(n,49)._onSlide(l)&&t),"slideend"===e&&(t=!1!==o.Eb(n,49)._onSlideEnd()&&t),"slidestart"===e&&(t=!1!==o.Eb(n,49)._onSlideStart(l)&&t),"selectstart"===e&&(t=!1!==l.preventDefault()&&t),"change"===e&&(t=!1!==i.updateSpeed(l)&&t),t},h.b,h.a)),o.Hb(5120,null,u.e,function(n){return[n]},[b.a]),o.rb(49,245760,null,0,b.a,[o.k,m.a,o.h,[2,p.b],[8,null],[2,g.a]],{max:[0,"max"],min:[1,"min"],value:[2,"value"]},{change:"change"}),(n()(),o.sb(50,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),o.sb(51,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),o.sb(52,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,["N"])),(n()(),o.sb(54,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,l){var t=!0,i=n.component;return"focus"===e&&(t=!1!==o.Eb(n,56)._onFocus()&&t),"blur"===e&&(t=!1!==o.Eb(n,56)._onBlur()&&t),"mousedown"===e&&(t=!1!==o.Eb(n,56)._onMousedown(l)&&t),"keydown"===e&&(t=!1!==o.Eb(n,56)._onKeydown(l)&&t),"keyup"===e&&(t=!1!==o.Eb(n,56)._onKeyup()&&t),"mouseenter"===e&&(t=!1!==o.Eb(n,56)._onMouseenter()&&t),"slide"===e&&(t=!1!==o.Eb(n,56)._onSlide(l)&&t),"slideend"===e&&(t=!1!==o.Eb(n,56)._onSlideEnd()&&t),"slidestart"===e&&(t=!1!==o.Eb(n,56)._onSlideStart(l)&&t),"selectstart"===e&&(t=!1!==l.preventDefault()&&t),"change"===e&&(t=!1!==i.updateSamplesCount(l)&&t),t},h.b,h.a)),o.Hb(5120,null,u.e,function(n){return[n]},[b.a]),o.rb(56,245760,null,0,b.a,[o.k,m.a,o.h,[2,p.b],[8,null],[2,g.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),o.sb(57,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),o.sb(58,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),o.sb(59,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,["A"])),(n()(),o.sb(61,0,null,null,2,"mat-slider",[["class","mat-slider"],["max","200"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,l){var t=!0,i=n.component;return"focus"===e&&(t=!1!==o.Eb(n,63)._onFocus()&&t),"blur"===e&&(t=!1!==o.Eb(n,63)._onBlur()&&t),"mousedown"===e&&(t=!1!==o.Eb(n,63)._onMousedown(l)&&t),"keydown"===e&&(t=!1!==o.Eb(n,63)._onKeydown(l)&&t),"keyup"===e&&(t=!1!==o.Eb(n,63)._onKeyup()&&t),"mouseenter"===e&&(t=!1!==o.Eb(n,63)._onMouseenter()&&t),"slide"===e&&(t=!1!==o.Eb(n,63)._onSlide(l)&&t),"slideend"===e&&(t=!1!==o.Eb(n,63)._onSlideEnd()&&t),"slidestart"===e&&(t=!1!==o.Eb(n,63)._onSlideStart(l)&&t),"selectstart"===e&&(t=!1!==l.preventDefault()&&t),"change"===e&&(t=!1!==i.updateMaxValue(l)&&t),t},h.b,h.a)),o.Hb(5120,null,u.e,function(n){return[n]},[b.a]),o.rb(63,245760,null,0,b.a,[o.k,m.a,o.h,[2,p.b],[8,null],[2,g.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),o.sb(64,0,null,null,16,"div",[["class","col-lg-1 col-md-2 col-sm-3 navItem p-0"]],null,null,null,null,null)),(n()(),o.sb(65,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),o.sb(66,0,null,null,14,"mat-radio-group",[["class","mat-radio-group"],["role","radiogroup"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"]],function(n,e,l){var t=!0,i=n.component;return"ngModelChange"===e&&(t=!1!==(i.isDirected=l)&&t),"change"===e&&(t=!1!==i.onRadioButtonChange("isDirected")&&t),t},null,null)),o.rb(67,1064960,null,1,_,[o.h],null,{change:"change"}),o.Ib(603979776,2,{_radios:1}),o.Hb(1024,null,u.e,function(n){return[n]},[_]),o.rb(70,671744,null,0,u.h,[[8,null],[8,null],[8,null],[6,u.e]],{model:[0,"model"]},{update:"ngModelChange"}),o.Hb(2048,null,u.f,null,[u.h]),o.rb(72,16384,null,0,u.g,[[4,u.f]],null,null),(n()(),o.sb(73,0,null,null,3,"mat-radio-button",[["class","radio-button mat-radio-button"]],[[2,"mat-radio-checked",null],[2,"mat-radio-disabled",null],[2,"_mat-animation-noopable",null],[2,"mat-primary",null],[2,"mat-accent",null],[2,"mat-warn",null],[1,"tabindex",0],[1,"id",0]],[[null,"focus"]],function(n,e,l){var t=!0;return"focus"===e&&(t=!1!==o.Eb(n,74)._inputElement.nativeElement.focus()&&t),t},D,I)),o.rb(74,4440064,[[2,4]],0,y,[[2,_],o.k,o.h,m.a,V,[2,g.a],[2,k]],{value:[0,"value"]},null),(n()(),o.sb(75,0,null,0,1,"span",[["class","label-name"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,["Directed"])),(n()(),o.sb(77,0,null,null,3,"mat-radio-button",[["class","radio-button mat-radio-button"]],[[2,"mat-radio-checked",null],[2,"mat-radio-disabled",null],[2,"_mat-animation-noopable",null],[2,"mat-primary",null],[2,"mat-accent",null],[2,"mat-warn",null],[1,"tabindex",0],[1,"id",0]],[[null,"focus"]],function(n,e,l){var t=!0;return"focus"===e&&(t=!1!==o.Eb(n,78)._inputElement.nativeElement.focus()&&t),t},D,I)),o.rb(78,4440064,[[2,4]],0,y,[[2,_],o.k,o.h,m.a,V,[2,g.a],[2,k]],{value:[0,"value"]},null),(n()(),o.sb(79,0,null,0,1,"span",[["class","label-name"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,["Undirected"])),(n()(),o.sb(81,0,null,null,6,"div",[["class","section"]],null,null,null,null,null)),(n()(),o.hb(16777216,null,null,1,null,X)),o.rb(83,16384,null,0,c.k,[o.O,o.L],{ngIf:[0,"ngIf"]},null),(n()(),o.sb(84,0,null,null,1,"app-graph",[["id","graph"]],null,[[null,"graphReady"],[null,"nodeSelected"]],function(n,e,l){var t=!0,i=n.component;return"graphReady"===e&&(t=!1!==i.onGraphReady(l)&&t),"nodeSelected"===e&&(t=!1!==i.onNodeSelected(l)&&t),t},O,G)),o.rb(85,4308992,[[1,4],["graph",4]],0,F,[],null,{graphReady:"graphReady",nodeSelected:"nodeSelected"}),(n()(),o.hb(16777216,null,null,1,null,W)),o.rb(87,16384,null,0,c.k,[o.O,o.L],{ngIf:[0,"ngIf"]},null),(n()(),o.sb(88,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(n()(),o.Kb(-1,null,[" while( !(success = try())); "]))],function(n,e){var l=e.component,t=n(e,13,0,"");n(e,12,0,t),n(e,19,0,l.selectedAlgorithm),n(e,23,0,l.algorithmNames);var i=n(e,29,0,!l.visualizing,l.visualizing,!0);n(e,28,0,i),n(e,31,0,l.visualizing,o.Eb(e,32));var a=n(e,36,0,!0);n(e,35,0,a);var r=n(e,41,0,!0);n(e,40,0,r),n(e,49,0,l.maxSpeed,"0",l.speed),n(e,56,0,l.visualizing,l.maxSamplesCount,"1","","1",l.samplesCount),n(e,63,0,l.visualizing,"200","1","","1",l.maxValue),n(e,70,0,l.isDirected),n(e,74,0,1),n(e,78,0,0),n(e,83,0,l.customPanelOpened),n(e,85,0),n(e,87,0,l.codePanelOpened)},function(n,e){var l=e.component;n(e,16,0,o.Eb(e,21).ngClassUntouched,o.Eb(e,21).ngClassTouched,o.Eb(e,21).ngClassPristine,o.Eb(e,21).ngClassDirty,o.Eb(e,21).ngClassValid,o.Eb(e,21).ngClassInvalid,o.Eb(e,21).ngClassPending),n(e,24,0,l.visualizing),n(e,33,0,l.visualizing),n(e,47,1,[o.Eb(e,49).tabIndex,o.Eb(e,49).disabled,o.Eb(e,49).max,o.Eb(e,49).min,o.Eb(e,49).value,o.Eb(e,49).vertical?"vertical":"horizontal",o.Eb(e,49).disabled,o.Eb(e,49).tickInterval,!o.Eb(e,49).vertical,o.Eb(e,49)._invertAxis,o.Eb(e,49)._isSliding,o.Eb(e,49).thumbLabel,o.Eb(e,49).vertical,o.Eb(e,49)._isMinValue,o.Eb(e,49).disabled||o.Eb(e,49)._isMinValue&&o.Eb(e,49)._thumbGap&&o.Eb(e,49)._invertAxis,"NoopAnimations"===o.Eb(e,49)._animationMode]),n(e,54,1,[o.Eb(e,56).tabIndex,o.Eb(e,56).disabled,o.Eb(e,56).max,o.Eb(e,56).min,o.Eb(e,56).value,o.Eb(e,56).vertical?"vertical":"horizontal",o.Eb(e,56).disabled,o.Eb(e,56).tickInterval,!o.Eb(e,56).vertical,o.Eb(e,56)._invertAxis,o.Eb(e,56)._isSliding,o.Eb(e,56).thumbLabel,o.Eb(e,56).vertical,o.Eb(e,56)._isMinValue,o.Eb(e,56).disabled||o.Eb(e,56)._isMinValue&&o.Eb(e,56)._thumbGap&&o.Eb(e,56)._invertAxis,"NoopAnimations"===o.Eb(e,56)._animationMode]),n(e,61,1,[o.Eb(e,63).tabIndex,o.Eb(e,63).disabled,o.Eb(e,63).max,o.Eb(e,63).min,o.Eb(e,63).value,o.Eb(e,63).vertical?"vertical":"horizontal",o.Eb(e,63).disabled,o.Eb(e,63).tickInterval,!o.Eb(e,63).vertical,o.Eb(e,63)._invertAxis,o.Eb(e,63)._isSliding,o.Eb(e,63).thumbLabel,o.Eb(e,63).vertical,o.Eb(e,63)._isMinValue,o.Eb(e,63).disabled||o.Eb(e,63)._isMinValue&&o.Eb(e,63)._thumbGap&&o.Eb(e,63)._invertAxis,"NoopAnimations"===o.Eb(e,63)._animationMode]),n(e,66,0,o.Eb(e,72).ngClassUntouched,o.Eb(e,72).ngClassTouched,o.Eb(e,72).ngClassPristine,o.Eb(e,72).ngClassDirty,o.Eb(e,72).ngClassValid,o.Eb(e,72).ngClassInvalid,o.Eb(e,72).ngClassPending),n(e,73,0,o.Eb(e,74).checked,o.Eb(e,74).disabled,"NoopAnimations"===o.Eb(e,74)._animationMode,"primary"===o.Eb(e,74).color,"accent"===o.Eb(e,74).color,"warn"===o.Eb(e,74).color,-1,o.Eb(e,74).id),n(e,77,0,o.Eb(e,78).checked,o.Eb(e,78).disabled,"NoopAnimations"===o.Eb(e,78)._animationMode,"primary"===o.Eb(e,78).color,"accent"===o.Eb(e,78).color,"warn"===o.Eb(e,78).color,-1,o.Eb(e,78).id)})}function Y(n){return o.Lb(0,[(n()(),o.sb(0,0,null,null,1,"app-graph-algorithms",[],null,[[null,"click"],[null,"mousemove"],["window","resize"]],function(n,e,l){var t=!0;return"click"===e&&(t=!1!==o.Eb(n,1).onMouseClick(l)&&t),"mousemove"===e&&(t=!1!==o.Eb(n,1).onMouseMove(l)&&t),"window:resize"===e&&(t=!1!==o.Eb(n,1).onWindowResize(l)&&t),t},J,K)),o.rb(1,4308992,null,0,j,[L.a,q.a],null,null)],function(n,e){n(e,1,0)},null)}var $=o.ob("app-graph-algorithms",j,Y,{},{},[]);var Q=function n(){};var Z=a("PCNd");a.d(i,"GraphAlgorithmsModuleNgFactory",function(){return nn});var nn=o.pb(r,[],function(n){return o.Bb([o.Cb(512,o.j,o.ab,[[8,[s.a,$]],[3,o.j],o.w]),o.Cb(4608,c.m,c.l,[o.t,[2,c.E]]),o.Cb(4608,u.m,u.m,[]),o.Cb(4608,S.e,f.a,[[2,f.c],[2,f.e]]),o.Cb(1073742336,c.b,c.b,[]),o.Cb(1073742336,u.l,u.l,[]),o.Cb(1073742336,u.c,u.c,[]),o.Cb(1073742336,p.a,p.a,[]),o.Cb(1073742336,f.e,f.e,[[2,f.b],[2,S.f]]),o.Cb(1073742336,b.b,b.b,[]),o.Cb(1073742336,P.b,P.b,[]),o.Cb(1073742336,f.g,f.g,[]),o.Cb(1073742336,M,M,[]),o.Cb(1073742336,d.m,d.m,[[2,d.r],[2,d.k]]),o.Cb(1073742336,Q,Q,[]),o.Cb(1073742336,Z.a,Z.a,[]),o.Cb(1073742336,r,r,[]),o.Cb(1024,d.i,function(){return[[{path:"",component:j}]]},[])])})}}]);
\ No newline at end of file
diff --git a/7-es2015.fed6f1cc532aebd6584a.js b/7-es2015.fed6f1cc532aebd6584a.js
new file mode 100644
index 0000000..a53f100
--- /dev/null
+++ b/7-es2015.fed6f1cc532aebd6584a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{"0CzR":function(n,e,t){"use strict";t.r(e);var i=t("8Y7J");class l{}var r=t("pMnS"),a=t("s7LF"),o=t("iInd"),s=t("SVse"),u=t("uM4N"),d=t("lT8R"),h=t("5GAg"),c=t("IP0z"),m=t("omvX");class p{constructor(){this.ind1=null,this.ind2=null,this.ind3=null,this.swapped=!1,this.leftBoundary=null,this.rightBoundary=null,this.leftBoundary2=null,this.rightBoundary2=null}}class b{constructor(){this.historgramReady=new i.m,this.boardColoringParams=new p}ngOnInit(){}onWindowResize(n){this.initBoard()}ngAfterViewInit(){this.initBoard(),this.historgramReady.emit(this.board)}adjustBoardParams(){const n=this.boardWrapperElementRef.nativeElement;this.board.width=n.clientWidth,this.board.height=n.clientHeight,this.barWidth=(this.board.width-2*(this.values.length+2))/this.values.length,this.barUnitLength=(this.board.height-50)/Math.max(...this.values),this.barWidth=Math.min(this.barWidth,10),this.initX=(this.board.width-2*this.values.length-this.barWidth*this.values.length)/2+2,this.initY=40}initBoard(){this.board=this.boardElementRef.nativeElement,this.boardContext=this.board.getContext("2d"),this.adjustBoardParams(),this.drawBoard()}drawBoard(n=new p){this.boardColoringParams=n,this.boardContext.clearRect(0,0,this.board.width,this.board.height);let e=this.initX,t=this.initY;for(let i=0;i<this.values.length;i++){this.boardContext.rotate(-Math.PI/2),this.boardContext.textAlign="center",null!==n.ind1&&n.ind1===i||null!==n.ind2&&n.ind2===i?(n.swapped?this.boardContext.fillStyle="#990000":n.ind1===i?this.boardContext.fillStyle="#232442":n.ind2===i&&(this.boardContext.fillStyle="#1b4a96"),this.boardContext.font="bold 10pt Courier"):(this.boardContext.fillStyle="black",this.boardContext.font="normal 8pt Courier"),this.boardContext.fillText(this.values[i].toString(),-15,e+8),this.boardContext.rotate(Math.PI/2),null!==n.ind1&&n.ind1===i||null!==n.ind2&&n.ind2===i?n.swapped?this.boardContext.fillStyle="#990000":n.ind1===i?this.boardContext.fillStyle="#23216d":n.ind2===i&&(this.boardContext.fillStyle="#143873"):this.boardContext.fillStyle="grey";const l=this.values[i]*this.barUnitLength;null!==n.ind3&&n.ind3===i&&(this.boardContext.fillStyle="black"),this.boardContext.fillRect(e,t,this.barWidth,l),n.leftBoundary!==i&&n.rightBoundary!==i||(this.boardContext.beginPath(),this.boardContext.moveTo(e,t-14),this.boardContext.lineTo(e+this.barWidth,t-14),this.boardContext.lineTo((2*e+this.barWidth)/2,t-2),this.boardContext.lineTo(e,t-14),this.boardContext.closePath(),n.leftBoundary===i?this.boardContext.fillStyle="green":n.rightBoundary===i&&(this.boardContext.fillStyle="red"),this.boardContext.fill()),n.leftBoundary2!==i&&n.rightBoundary2!==i||(this.boardContext.beginPath(),this.boardContext.moveTo(e,t-14),this.boardContext.lineTo(e+this.barWidth,t-14),this.boardContext.lineTo((2*e+this.barWidth)/2,t-2),this.boardContext.lineTo(e,t-14),this.boardContext.closePath(),n.leftBoundary2===i?this.boardContext.fillStyle="blue":n.rightBoundary2===i&&(this.boardContext.fillStyle="orange"),this.boardContext.fill()),e+=this.barWidth+2}}}var g=i.qb({encapsulation:0,styles:[['#board-wrapper[_ngcontent-%COMP%]{width:100%;height:400px;background-color:#fff}.values-wrapper[_ngcontent-%COMP%]{width:100%;margin:0;padding-top:20px;background-color:#0d0d26;float:left}.values-wrapper[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{float:left;width:auto;padding:14px;color:#000;background-color:#fff;font-size:12px;border-radius:4px;margin:4px 2px 22px}.values-wrapper[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]:last-child{float:clear}.values-wrapper[_ngcontent-%COMP%]   .swapped[_ngcontent-%COMP%]{background-color:#0d0d26;color:#fff;font-weight:700;border-radius:4px;padding:12px;border:2px solid #ed594e}.values-wrapper[_ngcontent-%COMP%]   .compared[_ngcontent-%COMP%]{font-weight:700;color:#fff;border-radius:4px;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .compared1[_ngcontent-%COMP%]{background-color:#0d0d26;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .compared2[_ngcontent-%COMP%]{background-color:#143873;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .pivot[_ngcontent-%COMP%]{background-color:#000;font-weight:700;color:#fff;border-radius:4px;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary[_ngcontent-%COMP%]::before{position:absolute;content:"";bottom:-20px;left:-4px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid green}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary[_ngcontent-%COMP%]::after{position:absolute;content:"";bottom:-20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid red}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary2[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary2[_ngcontent-%COMP%]::before{position:absolute;content:"";top:-20px;left:-4px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid #00f}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary2[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary2[_ngcontent-%COMP%]::after{position:absolute;content:"";top:-20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid orange}']],data:{}});function f(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,4,"div",[],null,null,null,null,null)),i.Hb(512,null,s.z,s.A,[i.r,i.s,i.k,i.D]),i.rb(2,278528,null,0,s.i,[s.z],{ngClass:[0,"ngClass"]},null),i.Gb(3,{swapped:0,compared:1,compared1:2,compared2:3,leftBoundary:4,rightBoundary:5,leftBoundary2:6,rightBoundary2:7,pivot:8,value:9}),(n()(),i.Kb(4,null,[" "," "]))],function(n,e){var t=e.component,i=n(e,3,0,(e.context.index===t.boardColoringParams.ind1||e.context.index===t.boardColoringParams.ind2)&&t.boardColoringParams.swapped,(e.context.index===t.boardColoringParams.ind1||e.context.index===t.boardColoringParams.ind2)&&!t.boardColoringParams.swapped,e.context.index===t.boardColoringParams.ind1&&!t.boardColoringParams.swapped,e.context.index===t.boardColoringParams.ind2&&!t.boardColoringParams.swapped,t.boardColoringParams.leftBoundary===e.context.index,t.boardColoringParams.rightBoundary===e.context.index,t.boardColoringParams.leftBoundary2===e.context.index,t.boardColoringParams.rightBoundary2===e.context.index,t.boardColoringParams.ind3===e.context.index,!0);n(e,2,0,i)},function(n,e){n(e,4,0,e.context.$implicit)})}function v(n){return i.Lb(0,[i.Ib(671088640,1,{boardElementRef:0}),i.Ib(671088640,2,{boardWrapperElementRef:0}),(n()(),i.sb(2,0,[[2,0],["boardWrapper",1]],null,1,"div",[["id","board-wrapper"]],null,null,null,null,null)),(n()(),i.sb(3,0,[[1,0],["board",1]],null,0,"canvas",[["id","board"]],null,null,null,null,null)),(n()(),i.sb(4,0,null,null,2,"div",[["class","values-wrapper"]],null,null,null,null,null)),(n()(),i.hb(16777216,null,null,1,null,f)),i.rb(6,278528,null,0,s.j,[i.O,i.L,i.r],{ngForOf:[0,"ngForOf"]},null)],function(n,e){n(e,6,0,e.component.values)},null)}var y=t("mrSG");class w{constructor(){this.bubbleSortExplanation="\nBubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.\n\nExample:\nFirst Pass:\n( 5 1 4 2 8 ) \u2013> ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps since 5 > 1.\n( 1 5 4 2 8 ) \u2013>  ( 1 4 5 2 8 ), Swap since 5 > 4\n( 1 4 5 2 8 ) \u2013>  ( 1 4 2 5 8 ), Swap since 5 > 2\n( 1 4 2 5 8 ) \u2013> ( 1 4 2 5 8 ), Now, since these elements are already in order (8 > 5), algorithm does not swap them.\n\nSecond Pass:\n( 1 4 2 5 8 ) \u2013> ( 1 4 2 5 8 )\n( 1 4 2 5 8 ) \u2013> ( 1 2 4 5 8 ), Swap since 4 > 2\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013>  ( 1 2 4 5 8 )\nNow, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs one whole pass without any swap to know it is sorted.\n\nThird Pass:\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n\nWorst and Average Case Time Complexity: O(n*n). Worst case occurs when array is reverse sorted.\n\nBest Case Time Complexity: O(n). Best case occurs when array is already sorted.\n\nAuxiliary Space: O(1)\n\nSorting In Place: Yes\n\nStable: Yes\n\nDue to its simplicity, bubble sort is often used to introduce the concept of a sorting algorithm.\nIn computer graphics it is popular for its capability to detect a very small error (like swap of just two elements) in almost-sorted arrays and fix it with just linear complexity (2n). For example, it is used in a polygon filling algorithm, where bounding lines are sorted by their x coordinate at a specific scan line (a line parallel to x axis) and with incrementing y their order changes (two elements are swapped) only at intersections of two lines\n  ",this.bubbleSortCode='\n  // C++ program for implementation of Bubble sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  void swap(int *xp, int *yp)\n  {\n    int temp = *xp;\n    *xp = *yp;\n    *yp = temp;\n  }\n\n  // An optimized version of Bubble Sort\n  void bubbleSort(int arr[], int n)\n  {\n     int i, j;\n     bool swapped;\n     for (i = 0; i < n-1; i++)\n     {\n       swapped = false;\n       for (j = 0; j < n-i-1; j++)\n       {\n          if (arr[j] > arr[j+1])\n          {\n             swap(&arr[j], &arr[j+1]);\n             swapped = true;\n          }\n       }\n\n       // If no two elements were swapped by inner loop, then break\n       if (swapped == false)\n          break;\n     }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i = 0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver code\n  int main()\n  {\n    int arr[] = {64, 34, 25, 12, 22, 11, 90};\n    int n = sizeof(arr)/sizeof(arr[0]);\n    bubbleSort(arr, n);\n    cout<<"Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.insertionSortExplanation="\nInsertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.\n\nAlgorithm\n// Sort an arr[] of size n\ninsertionSort(arr, n)\nLoop from i = 1 to n-1.\n  a) Pick element arr[i] and insert it into sorted sequence arr[0\u2026i-1]\n\nExample:\n12, 11, 13, 5, 6\n\nLet us loop for i = 1 (second element of the array) to 4 (last element of the array)\n\ni = 1. Since 11 is smaller than 12, move 12 and insert 11 before 12\n11, 12, 13, 5, 6\n\ni = 2. 13 will remain at its position as all elements in A[0..i-1] are smaller than 13\n11, 12, 13, 5, 6\n\ni = 3. 5 will move to the beginning and all other elements from 11 to 13 will move one position ahead of their current position.\n5, 11, 12, 13, 6\n\ni = 4. 6 will move to position after 5, and elements from 11 to 13 will move one position ahead of their current position.\n5, 6, 11, 12, 13\n\nTime Complexity: O(n*2)\n\nAuxiliary Space: O(1)\n\nBoundary Cases: Insertion sort takes maximum time to sort if elements are sorted in reverse order. And it takes minimum time (Order of n) when elements are already sorted.\n\nAlgorithmic Paradigm: Incremental Approach\n\nSorting In Place: Yes\n\nStable: Yes\n\nOnline: Yes\n\nUses: Insertion sort is used when number of elements is small. It can also be useful when input array is almost sorted, only few elements are misplaced in complete big array.\n\nWhat is Binary Insertion Sort?\n  We can use binary search to reduce the number of comparisons in normal insertion sort. Binary Insertion Sort uses binary search to find the proper location to insert the selected item at each iteration. In normal insertion, sorting takes O(i) (at ith iteration) in worst case. We can reduce it to O(log i) by using binary search. The algorithm, as a whole, still has a running worst case running time of O(n^2) because of the series of swaps required for each insertion.\n\nHow to implement Insertion Sort for Linked List?\n  Below is simple insertion sort algorithm for linked list.\n\n  1) Create an empty sorted (or result) list\n  2) Traverse the given list, do following for every node.\n    a) Insert current node in sorted way in sorted or result list.\n  3) Change head of given linked list to head of sorted (or result) list.\n  ",this.insertionSortCode='\n  // C++ program for insertion sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  /* Function to sort an array using insertion sort*/\n  void insertionSort(int arr[], int n)\n  {\n    int i, key, j;\n    for (i = 1; i < n; i++)\n    {\n      key = arr[i];\n      j = i - 1;\n\n      /* Move elements of arr[0..i-1], that are\n      greater than key, to one position ahead\n      of their current position */\n      while (j >= 0 && arr[j] > key)\n      {\n        arr[j + 1] = arr[j];\n        j = j - 1;\n      }\n      arr[j + 1] = key;\n    }\n  }\n\n  // A utility function to print an array of size n\n  void printArray(int arr[], int n)\n  {\n    int i;\n    for (i = 0; i < n; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  /* Driver code */\n  int main()\n  {\n    int arr[] = { 12, 11, 13, 5, 6 };\n    int n = sizeof(arr) / sizeof(arr[0]);\n\n    insertionSort(arr, n);\n    printArray(arr, n);\n\n    return 0;\n  }\n  ',this.quickSortExplanation='\nLike Merge Sort, QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways. 1. Always pick first element as pivot.\n2. Always pick last element as pivot (implemented below)\n3. Pick a random element as pivot.\n4. Pick median as pivot.\n\nThe key process in quickSort is partition().\nTarget of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x. All this should be done in linear time.\n\nAnalysis of QuickSort\nTime taken by QuickSort in general can be written as following.\n\nT(n) = T(k) + T(n-k-1) + theta(n)\nThe first two terms are for two recursive calls, the last term is for the partition process. k is the number of elements which are smaller than pivot.\nThe time taken by QuickSort depends upon the input array and partition strategy. Following are three cases.\n\nWorst Case: The worst case occurs when the partition process always picks greatest or smallest element as pivot. If we consider above partition strategy where last element is always picked as pivot, the worst case would occur when the array is already sorted in increasing or decreasing order.\n\nFollowing is recurrence for worst case.\n\nT(n) = T(0) + T(n-1) + theta(n)\nwhich is equivalent to\nT(n) = T(n-1) + theta(n)\nThe solution of above recurrence is theta(n^2).\n\nBest Case: The best case occurs when the partition process always picks the middle element as pivot. Following is recurrence for best case.\n\nT(n) = 2T(n/2) + theta(n)\nThe solution of above recurrence is theta(nLogn). It can be solved using case 2 of Master Theorem.\n\nAverage Case:\n  To do average case analysis, we need to consider all possible permutation of array and calculate time taken by every permutation which doesn\u2019t look easy.\nWe can get an idea of average case by considering the case when partition puts O(n/9) elements in one set and O(9n/10) elements in other set. Following is recurrence for this case.\n\nT(n) = T(n/9) + T(9n/10) + theta(n)\nSolution of above recurrence is also O(nLogn)\n\nAlthough the worst case time complexity of QuickSort is O(n^2) which is more than many other sorting algorithms like Merge Sort and Heap Sort, QuickSort is faster in practice, because its inner loop can be efficiently implemented on most architectures, and in most real-world data. QuickSort can be implemented in different ways by changing the choice of pivot, so that the worst case rarely occurs for a given type of data. However, merge sort is generally considered better when data is huge and stored in external storage.\n\nIs QuickSort <a href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/" target="_blank">stable</a>?\n  The default implementation is not stable. However any sorting algorithm can be made stable by considering indexes as comparison parameter.\nIs QuickSort <a href="https://www.geeksforgeeks.org/in-place-algorithm/" target="_blank">In-place</a>?\n  As per the broad definition of in-place algorithm it qualifies as an in-place sorting algorithm as it uses extra space only for storing recursive function calls but not for manipulating the input.\n\nWhat is 3-Way QuickSort?\n  In simple QuickSort algorithm, we select an element as pivot, partition the array around pivot and recur for subarrays on left and right of pivot.\nConsider an array which has many redundant elements. For example, {1, 4, 2, 4, 2, 4, 1, 2, 4, 1, 2, 2, 2, 2, 4, 1, 4, 4, 4}. If 4 is picked as pivot in Simple QuickSort, we fix only one 4 and recursively process remaining occurrences. In 3 Way QuickSort, an array arr[l..r] is divided in 3 parts:\n  a) arr[l..i] elements less than pivot.\n  b) arr[i+1..j-1] elements equal to pivot.\n  c) arr[j..r] elements greater than pivot.\nSee <a href="https://www.geeksforgeeks.org/3-way-quicksort-dutch-national-flag/" target="_blank">this</a> for implementation.\n\nHow to implement QuickSort for Linked Lists?\n  <a href="https://www.geeksforgeeks.org/quicksort-on-singly-linked-list/" target="_blank">QuickSort on Singly Linked List</a>\n  <a href="https://www.geeksforgeeks.org/quicksort-for-linked-list/" target="_blank">QuickSort on Doubly Linked List</a>\n\nCan we implement QuickSort Iteratively?\n  Yes, please refer <a href="https://www.geeksforgeeks.org/iterative-quick-sort/" target="_blank">Iterative Quick Sort.</a>\n\nWhy Quick Sort is preferred over MergeSort for sorting Arrays\n  Quick Sort in its general form is an in-place sort (i.e. it doesn\u2019t require any extra storage) whereas merge sort requires O(N) extra storage, N denoting the array size which may be quite expensive. Allocating and de-allocating the extra space used for merge sort increases the running time of the algorithm. Comparing average complexity we find that both type of sorts have O(NlogN) average complexity but the constants differ. For arrays, merge sort loses due to the use of extra O(N) storage space.\n\n  Most practical implementations of Quick Sort use randomized version. The randomized version has expected time complexity of O(nLogn). The worst case is possible in randomized version also, but worst case doesn\u2019t occur for a particular pattern (like sorted array) and randomized Quick Sort works well in practice.\n\n  Quick Sort is also a cache friendly sorting algorithm as it has good locality of reference when used for arrays.\n\n  Quick Sort is also tail recursive, therefore tail call optimizations is done.\n\nWhy MergeSort is preferred over QuickSort for Linked Lists?\n  In case of linked lists the case is different mainly due to difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike array, in linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.\n\n  In arrays, we can do random access as elements are continuous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in linked list. Quick Sort requires a lot of this kind of access. In linked list to access i\u2019th index, we have to travel each and every node from the head to i\u2019th node as we don\u2019t have continuous block of memory. Therefore, the overhead increases for quick sort. Merge sort accesses data sequentially and the need of random access is low.\n\nHow to optimize QuickSort so that it takes O(Log n) extra space in worst case?\n  Please see <a href="https://www.geeksforgeeks.org/quicksort-tail-call-optimization-reducing-worst-case-space-log-n/" target="_blank">QuickSort Tail Call Optimization</a> (Reducing worst case space to Log n )\n  ',this.quickSortCode='\n  /* C++ implementation of QuickSort */\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  // A utility function to swap two elements\n  void swap(int* a, int* b)\n  {\n    int t = *a;\n    *a = *b;\n    *b = t;\n  }\n\n  /* This function takes last element as pivot, places\n  the pivot element at its correct position in sorted\n  array, and places all smaller (smaller than pivot)\n  to left of pivot and all greater elements to right\n  of pivot */\n  int partition (int arr[], int low, int high)\n  {\n    int pivot = arr[high]; // pivot\n    int i = (low - 1); // Index of smaller element\n\n    for (int j = low; j <= high - 1; j++)\n    {\n      // If current element is smaller than the pivot\n      if (arr[j] < pivot)\n      {\n        i++; // increment index of smaller element\n        swap(&arr[i], &arr[j]);\n      }\n    }\n    swap(&arr[i + 1], &arr[high]);\n    return (i + 1);\n  }\n\n  /* The main function that implements QuickSort\n  arr[] --\x3e Array to be sorted,\n  low --\x3e Starting index,\n  high --\x3e Ending index */\n  void quickSort(int arr[], int low, int high)\n  {\n    if (low < high)\n    {\n      /* pi is partitioning index, arr[p] is now\n      at right place */\n      int pi = partition(arr, low, high);\n\n      // Separately sort elements before\n      // partition and after partition\n      quickSort(arr, low, pi - 1);\n      quickSort(arr, pi + 1, high);\n    }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i = 0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver Code\n  int main()\n  {\n    int arr[] = {10, 7, 8, 9, 1, 5};\n    int n = sizeof(arr) / sizeof(arr[0]);\n    quickSort(arr, 0, n - 1);\n    cout << "Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.mergeSortExplanation='\nLike QuickSort, Merge Sort is a Divide and Conquer algorithm.\nIt divides input array in two halves, calls itself for the two halves and then merges the two sorted halves.\nThe merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-arrays into one.\n\nTime Complexity: Sorting arrays on different machines. Merge Sort is a recursive algorithm and time complexity can be expressed as following recurrence relation.\nT(n) = 2T(n/2) + Theta(n)\nThe above recurrence can be solved either using Recurrence Tree method or Master method. It falls in case II of Master Method and solution of the recurrence is Theta(nLogn).\nTime complexity of Merge Sort is Theta(nLogn) in all 3 cases (worst, average and best) as merge sort always divides the array into two halves and take linear time to merge two halves.\n\nAuxiliary Space: O(n)\n\nAlgorithmic Paradigm: Divide and Conquer\n\nSorting In Place: No in a typical implementation\n\nStable: Yes\n\nApplications of Merge Sort\n\n  1. <a href="https://www.geeksforgeeks.org/merge-sort-for-linked-list/" target="_blank">Merge Sort is useful for sorting linked lists in O(nLogn) time</a>.In the case of linked lists, the case is different mainly due to the difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike an array, in the linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.\nIn arrays, we can do random access as elements are contiguous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in the linked list. Quick Sort requires a lot of this kind of access. In linked list to access i\u2019th index, we have to travel each and every node from the head to i\u2019th node as we don\u2019t have a continuous block of memory. Therefore, the overhead increases for quicksort. Merge sort accesses data sequentially and the need of random access is low.\n\n  2. <a href="https://www.geeksforgeeks.org/counting-inversions/" target="_blank">Inversion Count Problem</a>\n\n  3. <a href="https://en.wikipedia.org/wiki/External_sorting" target="_blank">Used in External Sorting</a>\n  ',this.mergeSortCode='\n  #include<stdlib.h>\n  #include<stdio.h>\n\n  // Merges two subarrays of arr[].\n  // First subarray is arr[l..m]\n  // Second subarray is arr[m+1..r]\n  void merge(int arr[], int l, int m, int r)\n  {\n    int i, j, k;\n    int n1 = m - l + 1;\n    int n2 = r - m;\n\n    /* create temp arrays */\n    int L[n1], R[n2];\n\n    /* Copy data to temp arrays L[] and R[] */\n    for (i = 0; i < n1; i++)\n      L[i] = arr[l + i];\n    for (j = 0; j < n2; j++)\n      R[j] = arr[m + 1+ j];\n\n    /* Merge the temp arrays back into arr[l..r]*/\n    i = 0; // Initial index of first subarray\n    j = 0; // Initial index of second subarray\n    k = l; // Initial index of merged subarray\n    while (i < n1 && j < n2)\n    {\n      if (L[i] <= R[j])\n      {\n        arr[k] = L[i];\n        i++;\n      }\n      else\n      {\n        arr[k] = R[j];\n        j++;\n      }\n      k++;\n    }\n\n    /* Copy the remaining elements of L[], if there\n    are any */\n    while (i < n1)\n    {\n      arr[k] = L[i];\n      i++;\n      k++;\n    }\n\n    /* Copy the remaining elements of R[], if there\n    are any */\n    while (j < n2)\n    {\n      arr[k] = R[j];\n      j++;\n      k++;\n    }\n  }\n\n  /* l is for left index and r is right index of the\n  sub-array of arr to be sorted */\n  void mergeSort(int arr[], int l, int r)\n  {\n    if (l < r)\n    {\n      // Same as (l+r)/2, but avoids overflow for\n      // large l and h\n      int m = l+(r-l)/2;\n\n      // Sort first and second halves\n      mergeSort(arr, l, m);\n      mergeSort(arr, m+1, r);\n\n      merge(arr, l, m, r);\n    }\n  }\n\n  /* UTILITY FUNCTIONS */\n  /* Function to print an array */\n  void printArray(int A[], int size)\n  {\n    int i;\n    for (i=0; i < size; i++)\n      printf("%d ", A[i]);\n    printf("\\n");\n  }\n\n  /* Driver program to test above functions */\n  int main()\n  {\n    int arr[] = {12, 11, 13, 5, 6, 7};\n    int arr_size = sizeof(arr)/sizeof(arr[0]);\n\n    printf("Given array is \\n");\n    printArray(arr, arr_size);\n\n    mergeSort(arr, 0, arr_size - 1);\n\n    printf("\\nSorted array is \\n");\n    printArray(arr, arr_size);\n    return 0;\n  }\n  ',this.selectionSortExplanation="\nThe selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning.\nThe algorithm maintains two subarrays in a given array.\n  1) The subarray which is already sorted.\n  2) Remaining subarray which is unsorted.\n\nIn every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.\n\nFollowing example explains the above steps:\n\narr[] = 64 25 12 22 11\n\nFind the minimum element in arr[0...4] and place it at beginning\n11 25 12 22 64\n\nFind the minimum element in arr[1...4] and place it at beginning of arr[1...4]\n11 12 25 22 64\n\nFind the minimum element in arr[2...4] and place it at beginning of arr[2...4]\n11 12 22 25 64\n\nFind the minimum element in arr[3...4] and place it at beginning of arr[3...4]\n11 12 22 25 64\n\nTime Complexity: O(n^2) as there are two nested loops.\n\nAuxiliary Space: O(1)\nThe good thing about selection sort is it never makes more than O(n) swaps and can be useful when memory write is a costly operation.\n  ",this.selectionSortCode='\n  // C++ program for implementation of selection sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  void swap(int *xp, int *yp)\n  {\n    int temp = *xp;\n    *xp = *yp;\n    *yp = temp;\n  }\n\n  void selectionSort(int arr[], int n)\n  {\n    int i, j, min_idx;\n\n    // One by one move boundary of unsorted subarray\n    for (i = 0; i < n-1; i++)\n    {\n      // Find the minimum element in unsorted array\n      min_idx = i;\n      for (j = i+1; j < n; j++)\n      if (arr[j] < arr[min_idx])\n        min_idx = j;\n\n      // Swap the found minimum element with the first element\n      swap(&arr[min_idx], &arr[i]);\n    }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i=0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver program to test above functions\n  int main()\n  {\n    int arr[] = {64, 25, 12, 22, 11};\n    int n = sizeof(arr)/sizeof(arr[0]);\n    selectionSort(arr, n);\n    cout << "Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.heapSortExplanation='\nHeap sort is a comparison based sorting technique based on Binary Heap data structure.\nIt is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.\n\nComplete Binary Tree:\n  A complete binary tree is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.\n\nBinary Heap:\n  A Binary Heap is a Complete Binary Tree where items are stored in a special order such that value in a parent node is greater(or smaller) than the values in its two children nodes. The former is called as max heap and the latter is called min heap. The heap can be represented by binary tree or array.\n\nWhy array based representation for Binary Heap?\n  Since a Binary Heap is a Complete Binary Tree, it can be easily represented as array and array based representation is space efficient. If the parent node is stored at index I, the left child can be calculated by 2 * I + 1 and right child by 2 * I + 2 (assuming the indexing starts at 0).\n\nHeap Sort Algorithm for sorting in increasing order:\n  1. Build a max heap from the input data.\n  2. At this point, the largest item is stored at the root of the heap. Replace it with the last item of the heap followed by reducing the size of heap by One. Finally, heapify the root of tree.\n  3. Repeat above steps while size of heap is greater than 1.\n\nHow to build the heap?\n  Heapify procedure can be applied to a node only if its children nodes are heapified. So the heapification must be performed in the bottom up order.\n\nLets understand with the help of an example:\n\nInput data: 4, 10, 3, 5, 1\n          4(0)\n        /   \\\n      10(1)   3(2)\n    /   \\\n  5(3)    1(4)\n\nThe numbers in bracket represent the indices in the array representation of data.\n\nApplying heapify procedure to index 1:\n          4(0)\n        /   \\\n    10(1)    3(2)\n    /   \\\n5(3)    1(4)\n\nApplying heapify procedure to index 0:\n        10(0)\n        /  \\\n      5(1)  3(2)\n    /   \\\n  4(3)   1(4)\nThe heapify procedure calls itself recursively to build heap in top down manner.\n\nNote:\nHeap sort is an in-place algorithm.\nIts typical implementation is not stable, but can be made stable (See <a target="_blank" href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/">this</a>)\n\nTime Complexity: Time complexity of heapify is O(Logn). Time complexity of createAndBuildHeap() is O(n) and overall time complexity of Heap Sort is O(nLogn).\n\nApplications of HeapSort\n  1.<a target="_blank" href="https://www.geeksforgeeks.org/nearly-sorted-algorithm/"> Sort a nearly sorted (or K sorted) array</a>\n  2.<a target="_blank" href="https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/"> k largest(or smallest) elements in an array </a>\n\nHeap sort algorithm has limited uses because Quicksort and Mergesort are better in practice. Nevertheless, the Heap data structure itself is enormously used. See <a target="_blank" href="https://www.geeksforgeeks.org/applications-of-heap-data-structure/"> Applications of Heap Data Structure <a>\n  ',this.heapSortCode='\n  // C++ program for implementation of Heap Sort\n  #include <iostream>\n\n  using namespace std;\n\n  // To heapify a subtree rooted with node i which is\n  // an index in arr[]. n is size of heap\n  void heapify(int arr[], int n, int i)\n  {\n    int largest = i; // Initialize largest as root\n    int l = 2*i + 1; // left = 2*i + 1\n    int r = 2*i + 2; // right = 2*i + 2\n\n    // If left child is larger than root\n    if (l < n && arr[l] > arr[largest])\n      largest = l;\n\n    // If right child is larger than largest so far\n    if (r < n && arr[r] > arr[largest])\n      largest = r;\n\n    // If largest is not root\n    if (largest != i)\n    {\n      swap(arr[i], arr[largest]);\n\n      // Recursively heapify the affected sub-tree\n      heapify(arr, n, largest);\n    }\n  }\n\n  // main function to do heap sort\n  void heapSort(int arr[], int n)\n  {\n    // Build heap (rearrange array)\n    for (int i = n / 2 - 1; i >= 0; i--)\n      heapify(arr, n, i);\n\n    // One by one extract an element from heap\n    for (int i=n-1; i>=0; i--)\n    {\n      // Move current root to end\n      swap(arr[0], arr[i]);\n\n      // call max heapify on the reduced heap\n      heapify(arr, i, 0);\n    }\n  }\n\n  /* A utility function to print array of size n */\n  void printArray(int arr[], int n)\n  {\n    for (int i=0; i<n; ++i)\n      cout << arr[i] << " ";\n    cout << "\\n";\n  }\n\n  // Driver program\n  int main()\n  {\n    int arr[] = {12, 11, 13, 5, 6, 7};\n    int n = sizeof(arr)/sizeof(arr[0]);\n\n    heapSort(arr, n);\n\n    cout << "Sorted array is \\n";\n    printArray(arr, n);\n  }\n\n  '}}var x=t("Rcsm");class k{constructor(n){this.highlightService=n,this.algorithms=[],this.algorithmNames=["Bubble Sort","Insertion Sort","Quick Sort","Merge Sort","Heap Sort","Selection Sort"],this.selectedAlgorithm=this.algorithmNames[0],this.samplesCount=20,this.maxSamplesCount=30,this.minValue=1,this.maxValue=100,this.values=[],this.speed=700,this.maxSpeed=1500,this.visualizing=!1,this.customPanelOpened=!1,this.customValue=null,this.codePanelOpened=!1,this.sortingAlgorithms=new w,this.algorithmCode="",this.algorithmExplanation="",this.algorithms={"Bubble Sort":{name:"Bubble Sort",run:()=>this.bubbleSort(this.values),code:this.sortingAlgorithms.bubbleSortCode,explanation:this.sortingAlgorithms.bubbleSortExplanation},"Insertion Sort":{name:"Insertion Sort",run:()=>this.insertionSort(this.values),code:this.sortingAlgorithms.insertionSortCode,explanation:this.sortingAlgorithms.insertionSortExplanation},"Quick Sort":{name:"Quick Sort",run:()=>this.quickSort(this.values),code:this.sortingAlgorithms.quickSortCode,explanation:this.sortingAlgorithms.quickSortExplanation},"Merge Sort":{name:"Merge Sort",run:()=>this.mergeSort(this.values),code:this.sortingAlgorithms.mergeSortCode,explanation:this.sortingAlgorithms.mergeSortExplanation},"Heap Sort":{name:"Heap Sort",run:()=>this.heapSort(this.values),code:this.sortingAlgorithms.heapSortCode,explanation:this.sortingAlgorithms.heapSortExplanation},"Selection Sort":{name:"Selection Sort",run:()=>this.selectionSort(this.values),code:this.sortingAlgorithms.selectionSortCode,explanation:this.sortingAlgorithms.selectionSortExplanation}}}ngOnInit(){for(let n=1;n<=this.samplesCount;n++)this.values.push(Math.floor(Math.random()*(this.maxValue-this.minValue+1)+this.minValue))}ngAfterViewInit(){}onHistogramReady(n){this.board=n,this.maxSamplesCount=Math.ceil((this.board.width-4)/9)}updateSpeed(n){this.speed=n.value}updateSamplesCount(n){this.customPanelOpened=!1,this.samplesCount=n.value,this.randomize()}updateMaxValue(n){this.customPanelOpened=!1,this.maxValue=n.value,this.randomize()}addCustomValue(){null===this.customValue||this.customValue<=0||this.customValue>999||(this.values.push(this.customValue),this.histogram.adjustBoardParams(),this.histogram.drawBoard(),this.customValue=null)}removeCustomValue(){if(null===this.customValue||this.customValue<=0||this.customValue>999)return;const n=this.values.findIndex(n=>n===this.customValue);n>=0&&this.values.splice(n,1),this.histogram.drawBoard()}toggleCustomPanel(){this.customPanelOpened=!this.customPanelOpened,this.values=[],this.histogram.boardContext.clearRect(0,0,this.board.width,this.board.height),this.customPanelOpened||this.randomize()}toggleCodePanel(){this.codePanelOpened=!this.codePanelOpened,this.algorithmCode=this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code,"cpp"),this.algorithmExplanation=this.algorithms[this.selectedAlgorithm].explanation}randomize(){this.customPanelOpened=!1,this.values=[];for(let n=1;n<=this.samplesCount;n++)this.values.push(Math.floor(Math.random()*(this.maxValue-this.minValue+1)+this.minValue));this.histogram.values=this.values,this.histogram.adjustBoardParams(),this.histogram.drawBoard()}shuffleValues(){const n=[];for(let e=1;e<=this.values.length;e++){let e;do{e=Math.floor(Math.random()*this.values.length)}while(-1!==n.findIndex(n=>n===e));n.push(e)}for(let e=0;e<this.values.length;e++)n[e]=this.values[n[e]];this.values=n,this.histogram.values=this.values,this.histogram.drawBoard()}eachStep(n,e){return y.a(this,void 0,void 0,function*(){return!!this.visualizing&&(this.values=n,this.histogram.drawBoard(e),yield x.a.delay(this.maxSpeed-this.speed),!0)})}toggleVisualize(){return y.a(this,void 0,void 0,function*(){this.visualizing?this.visualizing=!1:this.algorithms[this.selectedAlgorithm].run()})}bubbleSort(n){return y.a(this,void 0,void 0,function*(){this.visualizing=!0;for(let e=0;e<n.length;e++){let t=!1;for(let i=0;i<n.length-e-1;i++){const e=new p;if(e.ind1=i,e.ind2=i+1,e.swapped=!1,!(yield this.eachStep(n,e)))return;if(n[i]>n[i+1]&&(t=!0,n[i+1]=[n[i],n[i]=n[i+1]][0],e.swapped=!0,!(yield this.eachStep(n,e))))return}if(!t)break}this.visualizing=!1})}quickSort(n){return y.a(this,void 0,void 0,function*(){this.visualizing=!0,yield this.quickSortUtil(n,0,n.length-1),this.visualizing=!1})}quickSortUtil(n,e,t){return y.a(this,void 0,void 0,function*(){let i;return e<t&&(i=yield this.partition(n,e,t),yield this.quickSortUtil(n,e,i-1),yield this.quickSortUtil(n,i+1,t)),n})}partition(n,e,t){return y.a(this,void 0,void 0,function*(){let i=n[t],l=e-1,r=e,a=t;const o=new p;for(o.ind3=a,o.leftBoundary=e,o.rightBoundary=t,r=e;r<=t-1;r++){if(o.ind1=l+1,o.ind2=r,o.swapped=!1,!(yield this.eachStep(n,o)))return;if(n[r]<i&&(n[++l]=[n[r],n[r]=n[l]][0],l!==r&&(o.ind1=l,o.ind2=r,o.swapped=!0,!(yield this.eachStep(n,o)))))return}if(n[l+1]=[n[a],n[a]=n[l+1]][0],o.ind1=l+1,o.ind2=a,o.swapped=!1,(yield this.eachStep(n,o))&&(l+1===a||(o.swapped=!0,yield this.eachStep(n,o))))return l+1})}mergeSort(n){return y.a(this,void 0,void 0,function*(){this.visualizing=!0,yield this.mergeSortUtil(n,0,this.values.length-1),this.visualizing=!1})}mergeSortUtil(n,e,t){return y.a(this,void 0,void 0,function*(){if(!this.visualizing)return n;if(e<t){const i=Math.floor(e+(t-e)/2),l=new p;return l.swapped=!1,l.leftBoundary=e,l.rightBoundary=i,l.leftBoundary2=i+1,l.rightBoundary2=t,(yield this.eachStep(n,l))?(n=yield this.mergeSortUtil(n,e,i),n=yield this.mergeSortUtil(n,i+1,t),yield this.merge(n,e,i,t)):n}return n})}merge(n,e,t,i){return y.a(this,void 0,void 0,function*(){if(!this.visualizing)return;let l,r,a;const o=t-e+1,s=i-t,u=[],d=[];for(l=0;l<o;l++)u.push(n[e+l]);for(r=0;r<s;r++)d.push(n[t+1+r]);const h=new p;for(h.swapped=!1,h.leftBoundary=e,h.rightBoundary=t,h.leftBoundary2=t+1,h.rightBoundary2=i,l=0,r=0,a=e;l<o&&r<s;){if(h.ind1=e+l,h.ind2=t+1+r,h.ind3=a,!(yield this.eachStep(n,h)))return;if(u[l]<=d[r]){if(n[a]=u[l],l++,!(yield this.eachStep(n,h)))return;h.ind1=e+l}else{if(n[a]=d[r],r++,!(yield this.eachStep(n,h)))return;h.ind2=t+1+r}a++}for(;l<o;){if(n[a]=u[l],l++,a++,!(yield this.eachStep(n,h)))return;h.ind1=e+l}for(;r<s;){if(n[a]=d[r],r++,a++,!(yield this.eachStep(n,h)))return;h.ind2=t+1+r}return n})}insertionSort(n){return y.a(this,void 0,void 0,function*(){this.visualizing=!0;const e=new p;let t;for(let i=0;i<n.length;++i){if(!this.visualizing)return;t=n[i];let l=i-1;if(e.ind1=l,e.ind2=l+1,e.swapped=!1,!(yield this.eachStep(n,e)))return;for(;l>=0&&n[l]>t;){if(!this.visualizing)return;if(n[l+1]=n[l],n[l]=t,e.swapped=!0,!(yield this.eachStep(n,e)))return;if(e.ind1=--l,e.ind2=l+1,e.swapped=!1,!(yield this.eachStep(n,e)))return}}this.visualizing=!1})}selectionSort(n){return y.a(this,void 0,void 0,function*(){const e=new p;e.swapped=!1,this.visualizing=!0;for(let t=0;t<n.length-1;t++){let i=t;e.ind1=t,e.ind3=i;for(let l=t+1;l<n.length;l++)if(n[l]<n[i]&&(i=l),e.ind3=i,e.ind2=l,!(yield this.eachStep(n,e)))return;if(n[t]!=n[i]){if(n[t]=[n[i],n[i]=n[t]][0],e.swapped=!0,e.ind3=null,e.ind2=i,!(yield this.eachStep(n,e)))return;e.swapped=!1}}this.visualizing=!1})}heapify(n,e,t){return y.a(this,void 0,void 0,function*(){const i=new p;let l=t;const r=2*t+1,a=2*t+2;if(i.ind3=l,i.ind1=r,i.ind2=a,r<e&&a<e&&!(yield this.eachStep(n,i)))return!1;if(r<e&&n[r]>n[l]&&(l=r),a<e&&n[a]>n[l]&&(l=a),l!=t){if(n[t]=[n[l],n[l]=n[t]][0],i.ind3=null,i.ind1=t,i.ind2=l,i.swapped=!0,!(yield this.eachStep(n,i)))return!1;if(i.swapped=!1,!(yield this.heapify(n,e,l)))return!1}return!0})}heapSort(n){return y.a(this,void 0,void 0,function*(){const e=n.length,t=new p;this.visualizing=!0;for(let i=Math.floor(e/2)-1;i>=0;i--)if(!(yield this.heapify(n,e,i)))return;for(let i=e-1;i>=0;i--){if(t.ind1=0,t.ind2=i,!(yield this.eachStep(n,t)))return;if(n[i]=[n[0],n[0]=n[i]][0],t.ind1=0,t.ind2=i,t.swapped=!0,!(yield this.eachStep(n,t)))return;if(t.swapped=!1,!(yield this.heapify(n,i,0)))return}this.visualizing=!1})}}var S=t("SrJx"),C=i.qb({encapsulation:0,styles:[[".submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb-label{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-track-fill{background-color:#d168ff}"]],data:{}});function E(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,3,"option",[],[[8,"disabled",0]],null,null,null,null)),i.rb(1,147456,null,0,a.i,[i.k,i.D,[2,a.k]],{value:[0,"value"]},null),i.rb(2,147456,null,0,a.n,[i.k,i.D,[8,null]],{value:[0,"value"]},null),(n()(),i.Kb(3,null,[" "," "]))],function(n,e){n(e,1,0,e.context.$implicit),n(e,2,0,e.context.$implicit)},function(n,e){n(e,0,0,e.component.visualizing),n(e,3,0,e.context.$implicit)})}function _(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["Stop"]))],null,null)}function I(n){return i.Lb(0,[(n()(),i.Kb(-1,null,["Visualize"]))],null,null)}function M(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,13,"div",[["class","custom-panel"]],null,null,null,null,null)),(n()(),i.sb(1,0,null,null,6,"input",[["class","custom-value"],["max","999"],["min","1"],["placeholder","Enter custom value"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,e,t){var l=!0,r=n.component;return"input"===e&&(l=!1!==i.Eb(n,2)._handleInput(t.target.value)&&l),"blur"===e&&(l=!1!==i.Eb(n,2).onTouched()&&l),"compositionstart"===e&&(l=!1!==i.Eb(n,2)._compositionStart()&&l),"compositionend"===e&&(l=!1!==i.Eb(n,2)._compositionEnd(t.target.value)&&l),"change"===e&&(l=!1!==i.Eb(n,3).onChange(t.target.value)&&l),"input"===e&&(l=!1!==i.Eb(n,3).onChange(t.target.value)&&l),"blur"===e&&(l=!1!==i.Eb(n,3).onTouched()&&l),"ngModelChange"===e&&(l=!1!==(r.customValue=t)&&l),l},null,null)),i.rb(2,16384,null,0,a.b,[i.D,i.k,[2,a.a]],null,null),i.rb(3,16384,null,0,a.j,[i.D,i.k],null,null),i.Hb(1024,null,a.e,function(n,e){return[n,e]},[a.b,a.j]),i.rb(5,671744,null,0,a.h,[[8,null],[8,null],[8,null],[6,a.e]],{model:[0,"model"]},{update:"ngModelChange"}),i.Hb(2048,null,a.f,null,[a.h]),i.rb(7,16384,null,0,a.g,[[4,a.f]],null,null),(n()(),i.sb(8,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.addCustomValue()&&i),i},null,null)),(n()(),i.sb(9,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["+"])),(n()(),i.sb(11,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.removeCustomValue()&&i),i},null,null)),(n()(),i.sb(12,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["-"]))],function(n,e){n(e,5,0,e.component.customValue)},function(n,e){n(e,1,0,i.Eb(e,7).ngClassUntouched,i.Eb(e,7).ngClassTouched,i.Eb(e,7).ngClassPristine,i.Eb(e,7).ngClassDirty,i.Eb(e,7).ngClassValid,i.Eb(e,7).ngClassInvalid,i.Eb(e,7).ngClassPending)})}function z(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,13,"div",[["class","code-panel"]],null,null,null,null,null)),(n()(),i.sb(1,0,null,null,1,"button",[["class","closeCodePanel"]],null,[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.toggleCodePanel()&&i),i},null,null)),(n()(),i.Kb(-1,null,[" X "])),(n()(),i.sb(3,0,null,null,4,"div",[["class","code-explanation-wrapper"]],null,null,null,null,null)),(n()(),i.sb(4,0,null,null,1,"div",[["class","code-explanation-heading"]],null,null,null,null,null)),(n()(),i.Kb(5,null,["",""])),(n()(),i.sb(6,0,null,null,1,"pre",[["class","code-explanation wrap-pre-tag-text"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),i.Kb(-1,null,["                "])),(n()(),i.sb(8,0,null,null,5,"div",[["class","code-wrapper"]],null,null,null,null,null)),(n()(),i.sb(9,0,null,null,4,"pre",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["                "])),(n()(),i.sb(11,0,null,null,1,"code",[["class","code"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),i.Kb(-1,null,["\n                "])),(n()(),i.Kb(-1,null,["\n                "]))],null,function(n,e){var t=e.component;n(e,5,0,t.selectedAlgorithm),n(e,6,0,t.algorithmExplanation),n(e,11,0,t.algorithmCode)})}function P(n){return i.Lb(0,[i.Ib(671088640,1,{histogram:0}),(n()(),i.sb(1,0,null,null,73,"div",[["class","submain-container"]],null,null,null,null,null)),(n()(),i.sb(2,0,null,null,2,"div",[["class","header"]],null,null,null,null,null)),(n()(),i.sb(3,0,null,null,1,"div",[["class","brand"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,[" Sorting Algorithms Visualizer "])),(n()(),i.sb(5,0,null,null,60,"div",[["class","toolbar"]],null,null,null,null,null)),(n()(),i.sb(6,0,null,null,59,"nav",[["class","navbar navbar-expand-lg"]],null,null,null,null,null)),(n()(),i.sb(7,0,null,null,1,"button",[["class","navbar-toggler"],["data-target","#navbarContent"],["data-toggle","collapse"],["type","button"]],null,null,null,null,null)),(n()(),i.sb(8,0,null,null,0,"i",[["class","fa fa-bars togglerIcon"]],null,null,null,null,null)),(n()(),i.sb(9,0,null,null,56,"div",[["class","collapse navbar-collapse"],["id","navbarContent"]],null,null,null,null,null)),(n()(),i.sb(10,0,null,null,55,"div",[["class","navWrapper row col-md-12"]],null,null,null,null,null)),(n()(),i.sb(11,0,null,null,3,"div",[["class","col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem"]],null,[[null,"click"]],function(n,e,t){var l=!0;return"click"===e&&(l=!1!==i.Eb(n,12).onClick()&&l),l},null,null)),i.rb(12,16384,null,0,o.l,[o.k,o.a,[8,null],i.D,i.k],{routerLink:[0,"routerLink"]},null),i.Fb(13,1),(n()(),i.Kb(-1,null,[" Home "])),(n()(),i.sb(15,0,null,null,8,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(16,0,null,null,7,"select",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,e,t){var l=!0,r=n.component;return"change"===e&&(l=!1!==i.Eb(n,17).onChange(t.target.value)&&l),"blur"===e&&(l=!1!==i.Eb(n,17).onTouched()&&l),"ngModelChange"===e&&(l=!1!==(r.selectedAlgorithm=t)&&l),l},null,null)),i.rb(17,16384,null,0,a.k,[i.D,i.k],null,null),i.Hb(1024,null,a.e,function(n){return[n]},[a.k]),i.rb(19,671744,null,0,a.h,[[8,null],[8,null],[8,null],[6,a.e]],{model:[0,"model"]},{update:"ngModelChange"}),i.Hb(2048,null,a.f,null,[a.h]),i.rb(21,16384,null,0,a.g,[[4,a.f]],null,null),(n()(),i.hb(16777216,null,null,1,null,E)),i.rb(23,278528,null,0,s.j,[i.O,i.L,i.r],{ngForOf:[0,"ngForOf"]},null),(n()(),i.sb(24,0,null,null,1,"button",[["class","btn btn-secondary col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.shuffleValues()&&i),i},null,null)),(n()(),i.Kb(-1,null,[" Shuffle "])),(n()(),i.sb(26,0,null,null,1,"button",[["class","btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.randomize()&&i),i},null,null)),(n()(),i.Kb(-1,null,[" Randomize "])),(n()(),i.sb(28,0,null,null,6,"button",[],null,[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.toggleVisualize()&&i),i},null,null)),i.Hb(512,null,s.z,s.A,[i.r,i.s,i.k,i.D]),i.rb(30,278528,null,0,s.i,[s.z],{ngClass:[0,"ngClass"]},null),i.Gb(31,{"btn-success":0,"btn-danger":1,"btn col-lg-1 col-md-2 col-sm-4 navItem":2}),(n()(),i.hb(16777216,null,null,1,null,_)),i.rb(33,16384,null,0,s.k,[i.O,i.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(n()(),i.hb(0,[["visualize",2]],null,0,null,I)),(n()(),i.sb(35,0,null,null,4,"button",[],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.toggleCustomPanel()&&i),i},null,null)),i.Hb(512,null,s.z,s.A,[i.r,i.s,i.k,i.D]),i.rb(37,278528,null,0,s.i,[s.z],{ngClass:[0,"ngClass"]},null),i.Gb(38,{"btn btn-info col-lg-1 col-md-2 col-sm-4 navItem":0}),(n()(),i.Kb(-1,null,[" Custom "])),(n()(),i.sb(40,0,null,null,4,"button",[],null,[[null,"click"]],function(n,e,t){var i=!0;return"click"===e&&(i=!1!==n.component.toggleCodePanel()&&i),i},null,null)),i.Hb(512,null,s.z,s.A,[i.r,i.s,i.k,i.D]),i.rb(42,278528,null,0,s.i,[s.z],{ngClass:[0,"ngClass"]},null),i.Gb(43,{"col-lg-1 col-md-2 col-sm-4 navItem show-code-button":0}),(n()(),i.Kb(-1,null,[" < / > "])),(n()(),i.sb(45,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(46,0,null,null,2,":svg:svg",[["fill","white"],["style","width:30px;height:40px;"]],null,null,null,null,null)),(n()(),i.sb(47,0,null,null,0,":svg:path",[["d","M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"]],null,null,null,null,null)),(n()(),i.sb(48,0,null,null,0,":svg:path",[["d","M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"]],null,null,null,null,null)),(n()(),i.sb(49,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","0"],["role","slider"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var l=!0,r=n.component;return"focus"===e&&(l=!1!==i.Eb(n,51)._onFocus()&&l),"blur"===e&&(l=!1!==i.Eb(n,51)._onBlur()&&l),"mousedown"===e&&(l=!1!==i.Eb(n,51)._onMousedown(t)&&l),"keydown"===e&&(l=!1!==i.Eb(n,51)._onKeydown(t)&&l),"keyup"===e&&(l=!1!==i.Eb(n,51)._onKeyup()&&l),"mouseenter"===e&&(l=!1!==i.Eb(n,51)._onMouseenter()&&l),"slide"===e&&(l=!1!==i.Eb(n,51)._onSlide(t)&&l),"slideend"===e&&(l=!1!==i.Eb(n,51)._onSlideEnd()&&l),"slidestart"===e&&(l=!1!==i.Eb(n,51)._onSlideStart(t)&&l),"selectstart"===e&&(l=!1!==t.preventDefault()&&l),"change"===e&&(l=!1!==r.updateSpeed(t)&&l),l},u.b,u.a)),i.Hb(5120,null,a.e,function(n){return[n]},[d.a]),i.rb(51,245760,null,0,d.a,[i.k,h.a,i.h,[2,c.b],[8,null],[2,m.a]],{max:[0,"max"],min:[1,"min"],value:[2,"value"]},{change:"change"}),(n()(),i.sb(52,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(53,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),i.sb(54,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,["N"])),(n()(),i.sb(56,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var l=!0,r=n.component;return"focus"===e&&(l=!1!==i.Eb(n,58)._onFocus()&&l),"blur"===e&&(l=!1!==i.Eb(n,58)._onBlur()&&l),"mousedown"===e&&(l=!1!==i.Eb(n,58)._onMousedown(t)&&l),"keydown"===e&&(l=!1!==i.Eb(n,58)._onKeydown(t)&&l),"keyup"===e&&(l=!1!==i.Eb(n,58)._onKeyup()&&l),"mouseenter"===e&&(l=!1!==i.Eb(n,58)._onMouseenter()&&l),"slide"===e&&(l=!1!==i.Eb(n,58)._onSlide(t)&&l),"slideend"===e&&(l=!1!==i.Eb(n,58)._onSlideEnd()&&l),"slidestart"===e&&(l=!1!==i.Eb(n,58)._onSlideStart(t)&&l),"selectstart"===e&&(l=!1!==t.preventDefault()&&l),"change"===e&&(l=!1!==r.updateSamplesCount(t)&&l),l},u.b,u.a)),i.Hb(5120,null,a.e,function(n){return[n]},[d.a]),i.rb(58,245760,null,0,d.a,[i.k,h.a,i.h,[2,c.b],[8,null],[2,m.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),i.sb(59,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(60,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),i.sb(61,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,["A"])),(n()(),i.sb(63,0,null,null,2,"mat-slider",[["class","mat-slider"],["max","999"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var l=!0,r=n.component;return"focus"===e&&(l=!1!==i.Eb(n,65)._onFocus()&&l),"blur"===e&&(l=!1!==i.Eb(n,65)._onBlur()&&l),"mousedown"===e&&(l=!1!==i.Eb(n,65)._onMousedown(t)&&l),"keydown"===e&&(l=!1!==i.Eb(n,65)._onKeydown(t)&&l),"keyup"===e&&(l=!1!==i.Eb(n,65)._onKeyup()&&l),"mouseenter"===e&&(l=!1!==i.Eb(n,65)._onMouseenter()&&l),"slide"===e&&(l=!1!==i.Eb(n,65)._onSlide(t)&&l),"slideend"===e&&(l=!1!==i.Eb(n,65)._onSlideEnd()&&l),"slidestart"===e&&(l=!1!==i.Eb(n,65)._onSlideStart(t)&&l),"selectstart"===e&&(l=!1!==t.preventDefault()&&l),"change"===e&&(l=!1!==r.updateMaxValue(t)&&l),l},u.b,u.a)),i.Hb(5120,null,a.e,function(n){return[n]},[d.a]),i.rb(65,245760,null,0,d.a,[i.k,h.a,i.h,[2,c.b],[8,null],[2,m.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),i.sb(66,0,null,null,6,"div",[["class","section"]],null,null,null,null,null)),(n()(),i.hb(16777216,null,null,1,null,M)),i.rb(68,16384,null,0,s.k,[i.O,i.L],{ngIf:[0,"ngIf"]},null),(n()(),i.sb(69,0,null,null,1,"app-histogram",[],null,[[null,"historgramReady"],["window","resize"]],function(n,e,t){var l=!0,r=n.component;return"window:resize"===e&&(l=!1!==i.Eb(n,70).onWindowResize(t)&&l),"historgramReady"===e&&(l=!1!==r.onHistogramReady(t)&&l),l},v,g)),i.rb(70,4308992,[[1,4],["histogram",4]],0,b,[],{minValue:[0,"minValue"],maxValue:[1,"maxValue"],values:[2,"values"]},{historgramReady:"historgramReady"}),(n()(),i.hb(16777216,null,null,1,null,z)),i.rb(72,16384,null,0,s.k,[i.O,i.L],{ngIf:[0,"ngIf"]},null),(n()(),i.sb(73,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,[" while( !(success = try())); "]))],function(n,e){var t=e.component,l=n(e,13,0,"");n(e,12,0,l),n(e,19,0,t.selectedAlgorithm),n(e,23,0,t.algorithmNames);var r=n(e,31,0,!t.visualizing,t.visualizing,!0);n(e,30,0,r),n(e,33,0,t.visualizing,i.Eb(e,34));var a=n(e,38,0,!0);n(e,37,0,a);var o=n(e,43,0,!0);n(e,42,0,o),n(e,51,0,t.maxSpeed,"0",t.speed),n(e,58,0,t.visualizing,t.maxSamplesCount,"1","","1",t.samplesCount),n(e,65,0,t.visualizing,"999","1","","1",t.maxValue),n(e,68,0,t.customPanelOpened),n(e,70,0,t.minValue,t.maxValue,t.values),n(e,72,0,t.codePanelOpened)},function(n,e){var t=e.component;n(e,16,0,i.Eb(e,21).ngClassUntouched,i.Eb(e,21).ngClassTouched,i.Eb(e,21).ngClassPristine,i.Eb(e,21).ngClassDirty,i.Eb(e,21).ngClassValid,i.Eb(e,21).ngClassInvalid,i.Eb(e,21).ngClassPending),n(e,24,0,t.visualizing),n(e,26,0,t.visualizing),n(e,35,0,t.visualizing),n(e,49,1,[i.Eb(e,51).tabIndex,i.Eb(e,51).disabled,i.Eb(e,51).max,i.Eb(e,51).min,i.Eb(e,51).value,i.Eb(e,51).vertical?"vertical":"horizontal",i.Eb(e,51).disabled,i.Eb(e,51).tickInterval,!i.Eb(e,51).vertical,i.Eb(e,51)._invertAxis,i.Eb(e,51)._isSliding,i.Eb(e,51).thumbLabel,i.Eb(e,51).vertical,i.Eb(e,51)._isMinValue,i.Eb(e,51).disabled||i.Eb(e,51)._isMinValue&&i.Eb(e,51)._thumbGap&&i.Eb(e,51)._invertAxis,"NoopAnimations"===i.Eb(e,51)._animationMode]),n(e,56,1,[i.Eb(e,58).tabIndex,i.Eb(e,58).disabled,i.Eb(e,58).max,i.Eb(e,58).min,i.Eb(e,58).value,i.Eb(e,58).vertical?"vertical":"horizontal",i.Eb(e,58).disabled,i.Eb(e,58).tickInterval,!i.Eb(e,58).vertical,i.Eb(e,58)._invertAxis,i.Eb(e,58)._isSliding,i.Eb(e,58).thumbLabel,i.Eb(e,58).vertical,i.Eb(e,58)._isMinValue,i.Eb(e,58).disabled||i.Eb(e,58)._isMinValue&&i.Eb(e,58)._thumbGap&&i.Eb(e,58)._invertAxis,"NoopAnimations"===i.Eb(e,58)._animationMode]),n(e,63,1,[i.Eb(e,65).tabIndex,i.Eb(e,65).disabled,i.Eb(e,65).max,i.Eb(e,65).min,i.Eb(e,65).value,i.Eb(e,65).vertical?"vertical":"horizontal",i.Eb(e,65).disabled,i.Eb(e,65).tickInterval,!i.Eb(e,65).vertical,i.Eb(e,65)._invertAxis,i.Eb(e,65)._isSliding,i.Eb(e,65).thumbLabel,i.Eb(e,65).vertical,i.Eb(e,65)._isMinValue,i.Eb(e,65).disabled||i.Eb(e,65)._isMinValue&&i.Eb(e,65)._thumbGap&&i.Eb(e,65)._invertAxis,"NoopAnimations"===i.Eb(e,65)._animationMode])})}function O(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,1,"app-sorting-algorithms",[],null,null,null,P,C)),i.rb(1,4308992,null,0,k,[S.a],null,null)],function(n,e){n(e,1,0)},null)}var A=i.ob("app-sorting-algorithms",k,O,{},{},[]),T=t("cUpR"),B=t("Xd0L");class L{}var j=t("PCNd");t.d(e,"SortingAlgorithmsModuleNgFactory",function(){return V});var V=i.pb(l,[],function(n){return i.Bb([i.Cb(512,i.j,i.ab,[[8,[r.a,A]],[3,i.j],i.w]),i.Cb(4608,s.m,s.l,[i.t,[2,s.E]]),i.Cb(4608,a.m,a.m,[]),i.Cb(4608,T.e,B.a,[[2,B.c],[2,B.e]]),i.Cb(1073742336,s.b,s.b,[]),i.Cb(1073742336,a.l,a.l,[]),i.Cb(1073742336,a.c,a.c,[]),i.Cb(1073742336,o.m,o.m,[[2,o.r],[2,o.k]]),i.Cb(1073742336,L,L,[]),i.Cb(1073742336,j.a,j.a,[]),i.Cb(1073742336,c.a,c.a,[]),i.Cb(1073742336,B.e,B.e,[[2,B.b],[2,T.f]]),i.Cb(1073742336,d.b,d.b,[]),i.Cb(1073742336,l,l,[]),i.Cb(1024,o.i,function(){return[[{path:"",component:k}]]},[])])})}}]);
\ No newline at end of file
diff --git a/7-es5.fed6f1cc532aebd6584a.js b/7-es5.fed6f1cc532aebd6584a.js
new file mode 100644
index 0000000..ad538c1
--- /dev/null
+++ b/7-es5.fed6f1cc532aebd6584a.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{"0CzR":function n(e,t,r){"use strict";r.r(t);var i=r("8Y7J");var a=function n(){};var l=r("pMnS"),o=r("s7LF"),s=r("iInd"),u=r("SVse"),d=r("uM4N"),c=r("lT8R"),h=r("5GAg"),p=r("IP0z"),m=r("omvX");var b=function n(){this.ind1=null,this.ind2=null,this.ind3=null,this.swapped=!1,this.leftBoundary=null,this.rightBoundary=null,this.leftBoundary2=null,this.rightBoundary2=null};var g=function(){function n(){this.historgramReady=new i.m,this.boardColoringParams=new b}var e=n.prototype;e.ngOnInit=function n(){};e.onWindowResize=function n(e){this.initBoard()};e.ngAfterViewInit=function n(){this.initBoard(),this.historgramReady.emit(this.board)};e.adjustBoardParams=function n(){var e=this.boardWrapperElementRef.nativeElement;this.board.width=e.clientWidth,this.board.height=e.clientHeight,this.barWidth=(this.board.width-2*(this.values.length+2))/this.values.length,this.barUnitLength=(this.board.height-50)/Math.max.apply(Math,this.values),this.barWidth=Math.min(this.barWidth,10),this.initX=(this.board.width-2*this.values.length-this.barWidth*this.values.length)/2+2,this.initY=40};e.initBoard=function n(){this.board=this.boardElementRef.nativeElement,this.boardContext=this.board.getContext("2d"),this.adjustBoardParams(),this.drawBoard()};e.drawBoard=function n(e){if(e===void 0){e=new b}this.boardColoringParams=e,this.boardContext.clearRect(0,0,this.board.width,this.board.height);var t=this.initX,r=this.initY;for(var i=0;i<this.values.length;i++){this.boardContext.rotate(-Math.PI/2),this.boardContext.textAlign="center",null!==e.ind1&&e.ind1===i||null!==e.ind2&&e.ind2===i?(e.swapped?this.boardContext.fillStyle="#990000":e.ind1===i?this.boardContext.fillStyle="#232442":e.ind2===i&&(this.boardContext.fillStyle="#1b4a96"),this.boardContext.font="bold 10pt Courier"):(this.boardContext.fillStyle="black",this.boardContext.font="normal 8pt Courier"),this.boardContext.fillText(this.values[i].toString(),-15,t+8),this.boardContext.rotate(Math.PI/2),null!==e.ind1&&e.ind1===i||null!==e.ind2&&e.ind2===i?e.swapped?this.boardContext.fillStyle="#990000":e.ind1===i?this.boardContext.fillStyle="#23216d":e.ind2===i&&(this.boardContext.fillStyle="#143873"):this.boardContext.fillStyle="grey";var a=this.values[i]*this.barUnitLength;null!==e.ind3&&e.ind3===i&&(this.boardContext.fillStyle="black"),this.boardContext.fillRect(t,r,this.barWidth,a),e.leftBoundary!==i&&e.rightBoundary!==i||(this.boardContext.beginPath(),this.boardContext.moveTo(t,r-14),this.boardContext.lineTo(t+this.barWidth,r-14),this.boardContext.lineTo((2*t+this.barWidth)/2,r-2),this.boardContext.lineTo(t,r-14),this.boardContext.closePath(),e.leftBoundary===i?this.boardContext.fillStyle="green":e.rightBoundary===i&&(this.boardContext.fillStyle="red"),this.boardContext.fill()),e.leftBoundary2!==i&&e.rightBoundary2!==i||(this.boardContext.beginPath(),this.boardContext.moveTo(t,r-14),this.boardContext.lineTo(t+this.barWidth,r-14),this.boardContext.lineTo((2*t+this.barWidth)/2,r-2),this.boardContext.lineTo(t,r-14),this.boardContext.closePath(),e.leftBoundary2===i?this.boardContext.fillStyle="blue":e.rightBoundary2===i&&(this.boardContext.fillStyle="orange"),this.boardContext.fill()),t+=this.barWidth+2}};return n}();var f=i.qb({encapsulation:0,styles:[['#board-wrapper[_ngcontent-%COMP%]{width:100%;height:400px;background-color:#fff}.values-wrapper[_ngcontent-%COMP%]{width:100%;margin:0;padding-top:20px;background-color:#0d0d26;float:left}.values-wrapper[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]{float:left;width:auto;padding:14px;color:#000;background-color:#fff;font-size:12px;border-radius:4px;margin:4px 2px 22px}.values-wrapper[_ngcontent-%COMP%]   .value[_ngcontent-%COMP%]:last-child{float:clear}.values-wrapper[_ngcontent-%COMP%]   .swapped[_ngcontent-%COMP%]{background-color:#0d0d26;color:#fff;font-weight:700;border-radius:4px;padding:12px;border:2px solid #ed594e}.values-wrapper[_ngcontent-%COMP%]   .compared[_ngcontent-%COMP%]{font-weight:700;color:#fff;border-radius:4px;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .compared1[_ngcontent-%COMP%]{background-color:#0d0d26;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .compared2[_ngcontent-%COMP%]{background-color:#143873;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .pivot[_ngcontent-%COMP%]{background-color:#000;font-weight:700;color:#fff;border-radius:4px;padding:12px;border:2px solid #fff}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary[_ngcontent-%COMP%]::before{position:absolute;content:"";bottom:-20px;left:-4px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid green}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary[_ngcontent-%COMP%]::after{position:absolute;content:"";bottom:-20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid red}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary2[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .leftBoundary2[_ngcontent-%COMP%]::before{position:absolute;content:"";top:-20px;left:-4px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid #00f}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary2[_ngcontent-%COMP%]{position:relative}.values-wrapper[_ngcontent-%COMP%]   .rightBoundary2[_ngcontent-%COMP%]::after{position:absolute;content:"";top:-20px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid orange}']],data:{}});function v(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,4,"div",[],null,null,null,null,null)),i.Hb(512,null,u.z,u.A,[i.r,i.s,i.k,i.D]),i.rb(2,278528,null,0,u.i,[u.z],{ngClass:[0,"ngClass"]},null),i.Gb(3,{swapped:0,compared:1,compared1:2,compared2:3,leftBoundary:4,rightBoundary:5,leftBoundary2:6,rightBoundary2:7,pivot:8,value:9}),(n()(),i.Kb(4,null,[" "," "]))],function(n,e){var t=e.component,r=n(e,3,0,(e.context.index===t.boardColoringParams.ind1||e.context.index===t.boardColoringParams.ind2)&&t.boardColoringParams.swapped,(e.context.index===t.boardColoringParams.ind1||e.context.index===t.boardColoringParams.ind2)&&!t.boardColoringParams.swapped,e.context.index===t.boardColoringParams.ind1&&!t.boardColoringParams.swapped,e.context.index===t.boardColoringParams.ind2&&!t.boardColoringParams.swapped,t.boardColoringParams.leftBoundary===e.context.index,t.boardColoringParams.rightBoundary===e.context.index,t.boardColoringParams.leftBoundary2===e.context.index,t.boardColoringParams.rightBoundary2===e.context.index,t.boardColoringParams.ind3===e.context.index,!0);n(e,2,0,r)},function(n,e){n(e,4,0,e.context.$implicit)})}function x(n){return i.Lb(0,[i.Ib(671088640,1,{boardElementRef:0}),i.Ib(671088640,2,{boardWrapperElementRef:0}),(n()(),i.sb(2,0,[[2,0],["boardWrapper",1]],null,1,"div",[["id","board-wrapper"]],null,null,null,null,null)),(n()(),i.sb(3,0,[[1,0],["board",1]],null,0,"canvas",[["id","board"]],null,null,null,null,null)),(n()(),i.sb(4,0,null,null,2,"div",[["class","values-wrapper"]],null,null,null,null,null)),(n()(),i.hb(16777216,null,null,1,null,v)),i.rb(6,278528,null,0,u.j,[i.O,i.L,i.r],{ngForOf:[0,"ngForOf"]},null)],function(n,e){n(e,6,0,e.component.values)},null)}var w=r("mrSG");var y=function n(){this.bubbleSortExplanation="\nBubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.\n\nExample:\nFirst Pass:\n( 5 1 4 2 8 ) \u2013> ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps since 5 > 1.\n( 1 5 4 2 8 ) \u2013>  ( 1 4 5 2 8 ), Swap since 5 > 4\n( 1 4 5 2 8 ) \u2013>  ( 1 4 2 5 8 ), Swap since 5 > 2\n( 1 4 2 5 8 ) \u2013> ( 1 4 2 5 8 ), Now, since these elements are already in order (8 > 5), algorithm does not swap them.\n\nSecond Pass:\n( 1 4 2 5 8 ) \u2013> ( 1 4 2 5 8 )\n( 1 4 2 5 8 ) \u2013> ( 1 2 4 5 8 ), Swap since 4 > 2\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013>  ( 1 2 4 5 8 )\nNow, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs one whole pass without any swap to know it is sorted.\n\nThird Pass:\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n( 1 2 4 5 8 ) \u2013> ( 1 2 4 5 8 )\n\nWorst and Average Case Time Complexity: O(n*n). Worst case occurs when array is reverse sorted.\n\nBest Case Time Complexity: O(n). Best case occurs when array is already sorted.\n\nAuxiliary Space: O(1)\n\nSorting In Place: Yes\n\nStable: Yes\n\nDue to its simplicity, bubble sort is often used to introduce the concept of a sorting algorithm.\nIn computer graphics it is popular for its capability to detect a very small error (like swap of just two elements) in almost-sorted arrays and fix it with just linear complexity (2n). For example, it is used in a polygon filling algorithm, where bounding lines are sorted by their x coordinate at a specific scan line (a line parallel to x axis) and with incrementing y their order changes (two elements are swapped) only at intersections of two lines\n  ",this.bubbleSortCode='\n  // C++ program for implementation of Bubble sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  void swap(int *xp, int *yp)\n  {\n    int temp = *xp;\n    *xp = *yp;\n    *yp = temp;\n  }\n\n  // An optimized version of Bubble Sort\n  void bubbleSort(int arr[], int n)\n  {\n     int i, j;\n     bool swapped;\n     for (i = 0; i < n-1; i++)\n     {\n       swapped = false;\n       for (j = 0; j < n-i-1; j++)\n       {\n          if (arr[j] > arr[j+1])\n          {\n             swap(&arr[j], &arr[j+1]);\n             swapped = true;\n          }\n       }\n\n       // If no two elements were swapped by inner loop, then break\n       if (swapped == false)\n          break;\n     }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i = 0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver code\n  int main()\n  {\n    int arr[] = {64, 34, 25, 12, 22, 11, 90};\n    int n = sizeof(arr)/sizeof(arr[0]);\n    bubbleSort(arr, n);\n    cout<<"Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.insertionSortExplanation="\nInsertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.\n\nAlgorithm\n// Sort an arr[] of size n\ninsertionSort(arr, n)\nLoop from i = 1 to n-1.\n  a) Pick element arr[i] and insert it into sorted sequence arr[0\u2026i-1]\n\nExample:\n12, 11, 13, 5, 6\n\nLet us loop for i = 1 (second element of the array) to 4 (last element of the array)\n\ni = 1. Since 11 is smaller than 12, move 12 and insert 11 before 12\n11, 12, 13, 5, 6\n\ni = 2. 13 will remain at its position as all elements in A[0..i-1] are smaller than 13\n11, 12, 13, 5, 6\n\ni = 3. 5 will move to the beginning and all other elements from 11 to 13 will move one position ahead of their current position.\n5, 11, 12, 13, 6\n\ni = 4. 6 will move to position after 5, and elements from 11 to 13 will move one position ahead of their current position.\n5, 6, 11, 12, 13\n\nTime Complexity: O(n*2)\n\nAuxiliary Space: O(1)\n\nBoundary Cases: Insertion sort takes maximum time to sort if elements are sorted in reverse order. And it takes minimum time (Order of n) when elements are already sorted.\n\nAlgorithmic Paradigm: Incremental Approach\n\nSorting In Place: Yes\n\nStable: Yes\n\nOnline: Yes\n\nUses: Insertion sort is used when number of elements is small. It can also be useful when input array is almost sorted, only few elements are misplaced in complete big array.\n\nWhat is Binary Insertion Sort?\n  We can use binary search to reduce the number of comparisons in normal insertion sort. Binary Insertion Sort uses binary search to find the proper location to insert the selected item at each iteration. In normal insertion, sorting takes O(i) (at ith iteration) in worst case. We can reduce it to O(log i) by using binary search. The algorithm, as a whole, still has a running worst case running time of O(n^2) because of the series of swaps required for each insertion.\n\nHow to implement Insertion Sort for Linked List?\n  Below is simple insertion sort algorithm for linked list.\n\n  1) Create an empty sorted (or result) list\n  2) Traverse the given list, do following for every node.\n    a) Insert current node in sorted way in sorted or result list.\n  3) Change head of given linked list to head of sorted (or result) list.\n  ",this.insertionSortCode='\n  // C++ program for insertion sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  /* Function to sort an array using insertion sort*/\n  void insertionSort(int arr[], int n)\n  {\n    int i, key, j;\n    for (i = 1; i < n; i++)\n    {\n      key = arr[i];\n      j = i - 1;\n\n      /* Move elements of arr[0..i-1], that are\n      greater than key, to one position ahead\n      of their current position */\n      while (j >= 0 && arr[j] > key)\n      {\n        arr[j + 1] = arr[j];\n        j = j - 1;\n      }\n      arr[j + 1] = key;\n    }\n  }\n\n  // A utility function to print an array of size n\n  void printArray(int arr[], int n)\n  {\n    int i;\n    for (i = 0; i < n; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  /* Driver code */\n  int main()\n  {\n    int arr[] = { 12, 11, 13, 5, 6 };\n    int n = sizeof(arr) / sizeof(arr[0]);\n\n    insertionSort(arr, n);\n    printArray(arr, n);\n\n    return 0;\n  }\n  ',this.quickSortExplanation='\nLike Merge Sort, QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways. 1. Always pick first element as pivot.\n2. Always pick last element as pivot (implemented below)\n3. Pick a random element as pivot.\n4. Pick median as pivot.\n\nThe key process in quickSort is partition().\nTarget of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x. All this should be done in linear time.\n\nAnalysis of QuickSort\nTime taken by QuickSort in general can be written as following.\n\nT(n) = T(k) + T(n-k-1) + theta(n)\nThe first two terms are for two recursive calls, the last term is for the partition process. k is the number of elements which are smaller than pivot.\nThe time taken by QuickSort depends upon the input array and partition strategy. Following are three cases.\n\nWorst Case: The worst case occurs when the partition process always picks greatest or smallest element as pivot. If we consider above partition strategy where last element is always picked as pivot, the worst case would occur when the array is already sorted in increasing or decreasing order.\n\nFollowing is recurrence for worst case.\n\nT(n) = T(0) + T(n-1) + theta(n)\nwhich is equivalent to\nT(n) = T(n-1) + theta(n)\nThe solution of above recurrence is theta(n^2).\n\nBest Case: The best case occurs when the partition process always picks the middle element as pivot. Following is recurrence for best case.\n\nT(n) = 2T(n/2) + theta(n)\nThe solution of above recurrence is theta(nLogn). It can be solved using case 2 of Master Theorem.\n\nAverage Case:\n  To do average case analysis, we need to consider all possible permutation of array and calculate time taken by every permutation which doesn\u2019t look easy.\nWe can get an idea of average case by considering the case when partition puts O(n/9) elements in one set and O(9n/10) elements in other set. Following is recurrence for this case.\n\nT(n) = T(n/9) + T(9n/10) + theta(n)\nSolution of above recurrence is also O(nLogn)\n\nAlthough the worst case time complexity of QuickSort is O(n^2) which is more than many other sorting algorithms like Merge Sort and Heap Sort, QuickSort is faster in practice, because its inner loop can be efficiently implemented on most architectures, and in most real-world data. QuickSort can be implemented in different ways by changing the choice of pivot, so that the worst case rarely occurs for a given type of data. However, merge sort is generally considered better when data is huge and stored in external storage.\n\nIs QuickSort <a href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/" target="_blank">stable</a>?\n  The default implementation is not stable. However any sorting algorithm can be made stable by considering indexes as comparison parameter.\nIs QuickSort <a href="https://www.geeksforgeeks.org/in-place-algorithm/" target="_blank">In-place</a>?\n  As per the broad definition of in-place algorithm it qualifies as an in-place sorting algorithm as it uses extra space only for storing recursive function calls but not for manipulating the input.\n\nWhat is 3-Way QuickSort?\n  In simple QuickSort algorithm, we select an element as pivot, partition the array around pivot and recur for subarrays on left and right of pivot.\nConsider an array which has many redundant elements. For example, {1, 4, 2, 4, 2, 4, 1, 2, 4, 1, 2, 2, 2, 2, 4, 1, 4, 4, 4}. If 4 is picked as pivot in Simple QuickSort, we fix only one 4 and recursively process remaining occurrences. In 3 Way QuickSort, an array arr[l..r] is divided in 3 parts:\n  a) arr[l..i] elements less than pivot.\n  b) arr[i+1..j-1] elements equal to pivot.\n  c) arr[j..r] elements greater than pivot.\nSee <a href="https://www.geeksforgeeks.org/3-way-quicksort-dutch-national-flag/" target="_blank">this</a> for implementation.\n\nHow to implement QuickSort for Linked Lists?\n  <a href="https://www.geeksforgeeks.org/quicksort-on-singly-linked-list/" target="_blank">QuickSort on Singly Linked List</a>\n  <a href="https://www.geeksforgeeks.org/quicksort-for-linked-list/" target="_blank">QuickSort on Doubly Linked List</a>\n\nCan we implement QuickSort Iteratively?\n  Yes, please refer <a href="https://www.geeksforgeeks.org/iterative-quick-sort/" target="_blank">Iterative Quick Sort.</a>\n\nWhy Quick Sort is preferred over MergeSort for sorting Arrays\n  Quick Sort in its general form is an in-place sort (i.e. it doesn\u2019t require any extra storage) whereas merge sort requires O(N) extra storage, N denoting the array size which may be quite expensive. Allocating and de-allocating the extra space used for merge sort increases the running time of the algorithm. Comparing average complexity we find that both type of sorts have O(NlogN) average complexity but the constants differ. For arrays, merge sort loses due to the use of extra O(N) storage space.\n\n  Most practical implementations of Quick Sort use randomized version. The randomized version has expected time complexity of O(nLogn). The worst case is possible in randomized version also, but worst case doesn\u2019t occur for a particular pattern (like sorted array) and randomized Quick Sort works well in practice.\n\n  Quick Sort is also a cache friendly sorting algorithm as it has good locality of reference when used for arrays.\n\n  Quick Sort is also tail recursive, therefore tail call optimizations is done.\n\nWhy MergeSort is preferred over QuickSort for Linked Lists?\n  In case of linked lists the case is different mainly due to difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike array, in linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.\n\n  In arrays, we can do random access as elements are continuous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in linked list. Quick Sort requires a lot of this kind of access. In linked list to access i\u2019th index, we have to travel each and every node from the head to i\u2019th node as we don\u2019t have continuous block of memory. Therefore, the overhead increases for quick sort. Merge sort accesses data sequentially and the need of random access is low.\n\nHow to optimize QuickSort so that it takes O(Log n) extra space in worst case?\n  Please see <a href="https://www.geeksforgeeks.org/quicksort-tail-call-optimization-reducing-worst-case-space-log-n/" target="_blank">QuickSort Tail Call Optimization</a> (Reducing worst case space to Log n )\n  ',this.quickSortCode='\n  /* C++ implementation of QuickSort */\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  // A utility function to swap two elements\n  void swap(int* a, int* b)\n  {\n    int t = *a;\n    *a = *b;\n    *b = t;\n  }\n\n  /* This function takes last element as pivot, places\n  the pivot element at its correct position in sorted\n  array, and places all smaller (smaller than pivot)\n  to left of pivot and all greater elements to right\n  of pivot */\n  int partition (int arr[], int low, int high)\n  {\n    int pivot = arr[high]; // pivot\n    int i = (low - 1); // Index of smaller element\n\n    for (int j = low; j <= high - 1; j++)\n    {\n      // If current element is smaller than the pivot\n      if (arr[j] < pivot)\n      {\n        i++; // increment index of smaller element\n        swap(&arr[i], &arr[j]);\n      }\n    }\n    swap(&arr[i + 1], &arr[high]);\n    return (i + 1);\n  }\n\n  /* The main function that implements QuickSort\n  arr[] --\x3e Array to be sorted,\n  low --\x3e Starting index,\n  high --\x3e Ending index */\n  void quickSort(int arr[], int low, int high)\n  {\n    if (low < high)\n    {\n      /* pi is partitioning index, arr[p] is now\n      at right place */\n      int pi = partition(arr, low, high);\n\n      // Separately sort elements before\n      // partition and after partition\n      quickSort(arr, low, pi - 1);\n      quickSort(arr, pi + 1, high);\n    }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i = 0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver Code\n  int main()\n  {\n    int arr[] = {10, 7, 8, 9, 1, 5};\n    int n = sizeof(arr) / sizeof(arr[0]);\n    quickSort(arr, 0, n - 1);\n    cout << "Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.mergeSortExplanation='\nLike QuickSort, Merge Sort is a Divide and Conquer algorithm.\nIt divides input array in two halves, calls itself for the two halves and then merges the two sorted halves.\nThe merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-arrays into one.\n\nTime Complexity: Sorting arrays on different machines. Merge Sort is a recursive algorithm and time complexity can be expressed as following recurrence relation.\nT(n) = 2T(n/2) + Theta(n)\nThe above recurrence can be solved either using Recurrence Tree method or Master method. It falls in case II of Master Method and solution of the recurrence is Theta(nLogn).\nTime complexity of Merge Sort is Theta(nLogn) in all 3 cases (worst, average and best) as merge sort always divides the array into two halves and take linear time to merge two halves.\n\nAuxiliary Space: O(n)\n\nAlgorithmic Paradigm: Divide and Conquer\n\nSorting In Place: No in a typical implementation\n\nStable: Yes\n\nApplications of Merge Sort\n\n  1. <a href="https://www.geeksforgeeks.org/merge-sort-for-linked-list/" target="_blank">Merge Sort is useful for sorting linked lists in O(nLogn) time</a>.In the case of linked lists, the case is different mainly due to the difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike an array, in the linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.\nIn arrays, we can do random access as elements are contiguous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in the linked list. Quick Sort requires a lot of this kind of access. In linked list to access i\u2019th index, we have to travel each and every node from the head to i\u2019th node as we don\u2019t have a continuous block of memory. Therefore, the overhead increases for quicksort. Merge sort accesses data sequentially and the need of random access is low.\n\n  2. <a href="https://www.geeksforgeeks.org/counting-inversions/" target="_blank">Inversion Count Problem</a>\n\n  3. <a href="https://en.wikipedia.org/wiki/External_sorting" target="_blank">Used in External Sorting</a>\n  ',this.mergeSortCode='\n  #include<stdlib.h>\n  #include<stdio.h>\n\n  // Merges two subarrays of arr[].\n  // First subarray is arr[l..m]\n  // Second subarray is arr[m+1..r]\n  void merge(int arr[], int l, int m, int r)\n  {\n    int i, j, k;\n    int n1 = m - l + 1;\n    int n2 = r - m;\n\n    /* create temp arrays */\n    int L[n1], R[n2];\n\n    /* Copy data to temp arrays L[] and R[] */\n    for (i = 0; i < n1; i++)\n      L[i] = arr[l + i];\n    for (j = 0; j < n2; j++)\n      R[j] = arr[m + 1+ j];\n\n    /* Merge the temp arrays back into arr[l..r]*/\n    i = 0; // Initial index of first subarray\n    j = 0; // Initial index of second subarray\n    k = l; // Initial index of merged subarray\n    while (i < n1 && j < n2)\n    {\n      if (L[i] <= R[j])\n      {\n        arr[k] = L[i];\n        i++;\n      }\n      else\n      {\n        arr[k] = R[j];\n        j++;\n      }\n      k++;\n    }\n\n    /* Copy the remaining elements of L[], if there\n    are any */\n    while (i < n1)\n    {\n      arr[k] = L[i];\n      i++;\n      k++;\n    }\n\n    /* Copy the remaining elements of R[], if there\n    are any */\n    while (j < n2)\n    {\n      arr[k] = R[j];\n      j++;\n      k++;\n    }\n  }\n\n  /* l is for left index and r is right index of the\n  sub-array of arr to be sorted */\n  void mergeSort(int arr[], int l, int r)\n  {\n    if (l < r)\n    {\n      // Same as (l+r)/2, but avoids overflow for\n      // large l and h\n      int m = l+(r-l)/2;\n\n      // Sort first and second halves\n      mergeSort(arr, l, m);\n      mergeSort(arr, m+1, r);\n\n      merge(arr, l, m, r);\n    }\n  }\n\n  /* UTILITY FUNCTIONS */\n  /* Function to print an array */\n  void printArray(int A[], int size)\n  {\n    int i;\n    for (i=0; i < size; i++)\n      printf("%d ", A[i]);\n    printf("\\n");\n  }\n\n  /* Driver program to test above functions */\n  int main()\n  {\n    int arr[] = {12, 11, 13, 5, 6, 7};\n    int arr_size = sizeof(arr)/sizeof(arr[0]);\n\n    printf("Given array is \\n");\n    printArray(arr, arr_size);\n\n    mergeSort(arr, 0, arr_size - 1);\n\n    printf("\\nSorted array is \\n");\n    printArray(arr, arr_size);\n    return 0;\n  }\n  ',this.selectionSortExplanation="\nThe selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning.\nThe algorithm maintains two subarrays in a given array.\n  1) The subarray which is already sorted.\n  2) Remaining subarray which is unsorted.\n\nIn every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.\n\nFollowing example explains the above steps:\n\narr[] = 64 25 12 22 11\n\nFind the minimum element in arr[0...4] and place it at beginning\n11 25 12 22 64\n\nFind the minimum element in arr[1...4] and place it at beginning of arr[1...4]\n11 12 25 22 64\n\nFind the minimum element in arr[2...4] and place it at beginning of arr[2...4]\n11 12 22 25 64\n\nFind the minimum element in arr[3...4] and place it at beginning of arr[3...4]\n11 12 22 25 64\n\nTime Complexity: O(n^2) as there are two nested loops.\n\nAuxiliary Space: O(1)\nThe good thing about selection sort is it never makes more than O(n) swaps and can be useful when memory write is a costly operation.\n  ",this.selectionSortCode='\n  // C++ program for implementation of selection sort\n  #include <bits/stdc++.h>\n  using namespace std;\n\n  void swap(int *xp, int *yp)\n  {\n    int temp = *xp;\n    *xp = *yp;\n    *yp = temp;\n  }\n\n  void selectionSort(int arr[], int n)\n  {\n    int i, j, min_idx;\n\n    // One by one move boundary of unsorted subarray\n    for (i = 0; i < n-1; i++)\n    {\n      // Find the minimum element in unsorted array\n      min_idx = i;\n      for (j = i+1; j < n; j++)\n      if (arr[j] < arr[min_idx])\n        min_idx = j;\n\n      // Swap the found minimum element with the first element\n      swap(&arr[min_idx], &arr[i]);\n    }\n  }\n\n  /* Function to print an array */\n  void printArray(int arr[], int size)\n  {\n    int i;\n    for (i=0; i < size; i++)\n      cout << arr[i] << " ";\n    cout << endl;\n  }\n\n  // Driver program to test above functions\n  int main()\n  {\n    int arr[] = {64, 25, 12, 22, 11};\n    int n = sizeof(arr)/sizeof(arr[0]);\n    selectionSort(arr, n);\n    cout << "Sorted array: \\n";\n    printArray(arr, n);\n    return 0;\n  }\n  ',this.heapSortExplanation='\nHeap sort is a comparison based sorting technique based on Binary Heap data structure.\nIt is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.\n\nComplete Binary Tree:\n  A complete binary tree is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.\n\nBinary Heap:\n  A Binary Heap is a Complete Binary Tree where items are stored in a special order such that value in a parent node is greater(or smaller) than the values in its two children nodes. The former is called as max heap and the latter is called min heap. The heap can be represented by binary tree or array.\n\nWhy array based representation for Binary Heap?\n  Since a Binary Heap is a Complete Binary Tree, it can be easily represented as array and array based representation is space efficient. If the parent node is stored at index I, the left child can be calculated by 2 * I + 1 and right child by 2 * I + 2 (assuming the indexing starts at 0).\n\nHeap Sort Algorithm for sorting in increasing order:\n  1. Build a max heap from the input data.\n  2. At this point, the largest item is stored at the root of the heap. Replace it with the last item of the heap followed by reducing the size of heap by One. Finally, heapify the root of tree.\n  3. Repeat above steps while size of heap is greater than 1.\n\nHow to build the heap?\n  Heapify procedure can be applied to a node only if its children nodes are heapified. So the heapification must be performed in the bottom up order.\n\nLets understand with the help of an example:\n\nInput data: 4, 10, 3, 5, 1\n          4(0)\n        /   \\\n      10(1)   3(2)\n    /   \\\n  5(3)    1(4)\n\nThe numbers in bracket represent the indices in the array representation of data.\n\nApplying heapify procedure to index 1:\n          4(0)\n        /   \\\n    10(1)    3(2)\n    /   \\\n5(3)    1(4)\n\nApplying heapify procedure to index 0:\n        10(0)\n        /  \\\n      5(1)  3(2)\n    /   \\\n  4(3)   1(4)\nThe heapify procedure calls itself recursively to build heap in top down manner.\n\nNote:\nHeap sort is an in-place algorithm.\nIts typical implementation is not stable, but can be made stable (See <a target="_blank" href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/">this</a>)\n\nTime Complexity: Time complexity of heapify is O(Logn). Time complexity of createAndBuildHeap() is O(n) and overall time complexity of Heap Sort is O(nLogn).\n\nApplications of HeapSort\n  1.<a target="_blank" href="https://www.geeksforgeeks.org/nearly-sorted-algorithm/"> Sort a nearly sorted (or K sorted) array</a>\n  2.<a target="_blank" href="https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/"> k largest(or smallest) elements in an array </a>\n\nHeap sort algorithm has limited uses because Quicksort and Mergesort are better in practice. Nevertheless, the Heap data structure itself is enormously used. See <a target="_blank" href="https://www.geeksforgeeks.org/applications-of-heap-data-structure/"> Applications of Heap Data Structure <a>\n  ',this.heapSortCode='\n  // C++ program for implementation of Heap Sort\n  #include <iostream>\n\n  using namespace std;\n\n  // To heapify a subtree rooted with node i which is\n  // an index in arr[]. n is size of heap\n  void heapify(int arr[], int n, int i)\n  {\n    int largest = i; // Initialize largest as root\n    int l = 2*i + 1; // left = 2*i + 1\n    int r = 2*i + 2; // right = 2*i + 2\n\n    // If left child is larger than root\n    if (l < n && arr[l] > arr[largest])\n      largest = l;\n\n    // If right child is larger than largest so far\n    if (r < n && arr[r] > arr[largest])\n      largest = r;\n\n    // If largest is not root\n    if (largest != i)\n    {\n      swap(arr[i], arr[largest]);\n\n      // Recursively heapify the affected sub-tree\n      heapify(arr, n, largest);\n    }\n  }\n\n  // main function to do heap sort\n  void heapSort(int arr[], int n)\n  {\n    // Build heap (rearrange array)\n    for (int i = n / 2 - 1; i >= 0; i--)\n      heapify(arr, n, i);\n\n    // One by one extract an element from heap\n    for (int i=n-1; i>=0; i--)\n    {\n      // Move current root to end\n      swap(arr[0], arr[i]);\n\n      // call max heapify on the reduced heap\n      heapify(arr, i, 0);\n    }\n  }\n\n  /* A utility function to print array of size n */\n  void printArray(int arr[], int n)\n  {\n    for (int i=0; i<n; ++i)\n      cout << arr[i] << " ";\n    cout << "\\n";\n  }\n\n  // Driver program\n  int main()\n  {\n    int arr[] = {12, 11, 13, 5, 6, 7};\n    int n = sizeof(arr)/sizeof(arr[0]);\n\n    heapSort(arr, n);\n\n    cout << "Sorted array is \\n";\n    printArray(arr, n);\n  }\n\n  '};var k=r("Rcsm");var S=function(){function n(n){var e=this;this.highlightService=n,this.algorithms=[],this.algorithmNames=["Bubble Sort","Insertion Sort","Quick Sort","Merge Sort","Heap Sort","Selection Sort"],this.selectedAlgorithm=this.algorithmNames[0],this.samplesCount=20,this.maxSamplesCount=30,this.minValue=1,this.maxValue=100,this.values=[],this.speed=700,this.maxSpeed=1500,this.visualizing=!1,this.customPanelOpened=!1,this.customValue=null,this.codePanelOpened=!1,this.sortingAlgorithms=new y,this.algorithmCode="",this.algorithmExplanation="",this.algorithms={"Bubble Sort":{name:"Bubble Sort",run:function n(){return e.bubbleSort(e.values)},code:this.sortingAlgorithms.bubbleSortCode,explanation:this.sortingAlgorithms.bubbleSortExplanation},"Insertion Sort":{name:"Insertion Sort",run:function n(){return e.insertionSort(e.values)},code:this.sortingAlgorithms.insertionSortCode,explanation:this.sortingAlgorithms.insertionSortExplanation},"Quick Sort":{name:"Quick Sort",run:function n(){return e.quickSort(e.values)},code:this.sortingAlgorithms.quickSortCode,explanation:this.sortingAlgorithms.quickSortExplanation},"Merge Sort":{name:"Merge Sort",run:function n(){return e.mergeSort(e.values)},code:this.sortingAlgorithms.mergeSortCode,explanation:this.sortingAlgorithms.mergeSortExplanation},"Heap Sort":{name:"Heap Sort",run:function n(){return e.heapSort(e.values)},code:this.sortingAlgorithms.heapSortCode,explanation:this.sortingAlgorithms.heapSortExplanation},"Selection Sort":{name:"Selection Sort",run:function n(){return e.selectionSort(e.values)},code:this.sortingAlgorithms.selectionSortCode,explanation:this.sortingAlgorithms.selectionSortExplanation}}}var e=n.prototype;e.ngOnInit=function n(){for(var e=1;e<=this.samplesCount;e++){this.values.push(Math.floor(Math.random()*(this.maxValue-this.minValue+1)+this.minValue))}};e.ngAfterViewInit=function n(){};e.onHistogramReady=function n(e){this.board=e,this.maxSamplesCount=Math.ceil((this.board.width-4)/9)};e.updateSpeed=function n(e){this.speed=e.value};e.updateSamplesCount=function n(e){this.customPanelOpened=!1,this.samplesCount=e.value,this.randomize()};e.updateMaxValue=function n(e){this.customPanelOpened=!1,this.maxValue=e.value,this.randomize()};e.addCustomValue=function n(){null===this.customValue||this.customValue<=0||this.customValue>999||(this.values.push(this.customValue),this.histogram.adjustBoardParams(),this.histogram.drawBoard(),this.customValue=null)};e.removeCustomValue=function n(){var e=this;if(null===this.customValue||this.customValue<=0||this.customValue>999)return;var t=this.values.findIndex(function(n){return n===e.customValue});t>=0&&this.values.splice(t,1),this.histogram.drawBoard()};e.toggleCustomPanel=function n(){this.customPanelOpened=!this.customPanelOpened,this.values=[],this.histogram.boardContext.clearRect(0,0,this.board.width,this.board.height),this.customPanelOpened||this.randomize()};e.toggleCodePanel=function n(){this.codePanelOpened=!this.codePanelOpened,this.algorithmCode=this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code,"cpp"),this.algorithmExplanation=this.algorithms[this.selectedAlgorithm].explanation};e.randomize=function n(){this.customPanelOpened=!1,this.values=[];for(var e=1;e<=this.samplesCount;e++){this.values.push(Math.floor(Math.random()*(this.maxValue-this.minValue+1)+this.minValue))}this.histogram.values=this.values,this.histogram.adjustBoardParams(),this.histogram.drawBoard()};e.shuffleValues=function n(){var e=this;var t=[];var r=function n(r){var i=void 0;do{i=Math.floor(Math.random()*e.values.length)}while(-1!==t.findIndex(function(n){return n===i}));t.push(i)};for(var i=1;i<=this.values.length;i++){r(i)}for(var a=0;a<this.values.length;a++){t[a]=this.values[t[a]]}this.values=t,this.histogram.values=this.values,this.histogram.drawBoard()};e.eachStep=function n(e,t){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(r){while(1){switch(r.prev=r.next){case 0:r.t0=!!this.visualizing;if(!r.t0){r.next=7;break}this.values=e;this.histogram.drawBoard(t);r.next=6;return k.a.delay(this.maxSpeed-this.speed);case 6:r.t0=!0;case 7:return r.abrupt("return",r.t0);case 8:case"end":return r.stop()}}},n,this)}))};e.toggleVisualize=function n(){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(e){while(1){switch(e.prev=e.next){case 0:this.visualizing?this.visualizing=!1:this.algorithms[this.selectedAlgorithm].run();case 1:case"end":return e.stop()}}},n,this)}))};e.bubbleSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var t,r,i,a;return regeneratorRuntime.wrap(function n(l){while(1){switch(l.prev=l.next){case 0:this.visualizing=!0;t=0;case 2:if(!(t<e.length)){l.next=32;break}r=!1;i=0;case 5:if(!(i<e.length-t-1)){l.next=27;break}a=new b;a.ind1=i;a.ind2=i+1;a.swapped=!1;l.next=12;return this.eachStep(e,a);case 12:if(l.sent){l.next=14;break}return l.abrupt("return");case 14:l.t0=e[i]>e[i+1];if(!l.t0){l.next=22;break}r=!0;e[i+1]=[e[i],e[i]=e[i+1]][0];a.swapped=!0;l.next=21;return this.eachStep(e,a);case 21:l.t0=!l.sent;case 22:if(!l.t0){l.next=24;break}return l.abrupt("return");case 24:i++;l.next=5;break;case 27:if(r){l.next=29;break}return l.abrupt("break",32);case 29:t++;l.next=2;break;case 32:this.visualizing=!1;case 33:case"end":return l.stop()}}},n,this)}))};e.quickSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(t){while(1){switch(t.prev=t.next){case 0:this.visualizing=!0;t.next=3;return this.quickSortUtil(e,0,e.length-1);case 3:this.visualizing=!1;case 4:case"end":return t.stop()}}},n,this)}))};e.quickSortUtil=function n(e,t,r){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function n(a){while(1){switch(a.prev=a.next){case 0:a.t0=t<r;if(!a.t0){a.next=9;break}a.next=4;return this.partition(e,t,r);case 4:i=a.sent;a.next=7;return this.quickSortUtil(e,t,i-1);case 7:a.next=9;return this.quickSortUtil(e,i+1,r);case 9:return a.abrupt("return",e);case 10:case"end":return a.stop()}}},n,this)}))};e.partition=function n(e,t,r){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,a,l,o,s;return regeneratorRuntime.wrap(function n(u){while(1){switch(u.prev=u.next){case 0:i=e[r],a=t-1,l=t,o=r;s=new b;s.ind3=o,s.leftBoundary=t,s.rightBoundary=r,l=t;case 3:if(!(l<=r-1)){u.next=28;break}s.ind1=a+1;s.ind2=l;s.swapped=!1;u.next=9;return this.eachStep(e,s);case 9:if(u.sent){u.next=11;break}return u.abrupt("return");case 11:u.t0=e[l]<i;if(!u.t0){u.next=23;break}e[++a]=[e[l],e[l]=e[a]][0];u.t1=a!==l;if(!u.t1){u.next=22;break}s.ind1=a;s.ind2=l;s.swapped=!0;u.next=21;return this.eachStep(e,s);case 21:u.t1=!u.sent;case 22:u.t0=u.t1;case 23:if(!u.t0){u.next=25;break}return u.abrupt("return");case 25:l++;u.next=3;break;case 28:e[a+1]=[e[o],e[o]=e[a+1]][0];s.ind1=a+1;s.ind2=o;s.swapped=!1;u.next=34;return this.eachStep(e,s);case 34:u.t2=u.sent;if(!u.t2){u.next=43;break}u.t3=a+1===o;if(u.t3){u.next=42;break}s.swapped=!0;u.next=41;return this.eachStep(e,s);case 41:u.t3=u.sent;case 42:u.t2=u.t3;case 43:if(!u.t2){u.next=45;break}return u.abrupt("return",a+1);case 45:case"end":return u.stop()}}},n,this)}))};e.mergeSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){return regeneratorRuntime.wrap(function n(t){while(1){switch(t.prev=t.next){case 0:this.visualizing=!0;t.next=3;return this.mergeSortUtil(e,0,this.values.length-1);case 3:this.visualizing=!1;case 4:case"end":return t.stop()}}},n,this)}))};e.mergeSortUtil=function n(e,t,r){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,a;return regeneratorRuntime.wrap(function n(l){while(1){switch(l.prev=l.next){case 0:if(this.visualizing){l.next=2;break}return l.abrupt("return",e);case 2:if(!(t<r)){l.next=25;break}i=Math.floor(t+(r-t)/2),a=new b;a.swapped=!1;a.leftBoundary=t;a.rightBoundary=i;a.leftBoundary2=i+1;a.rightBoundary2=r;l.next=11;return this.eachStep(e,a);case 11:if(!l.sent){l.next=23;break}l.next=14;return this.mergeSortUtil(e,t,i);case 14:e=l.sent;l.next=17;return this.mergeSortUtil(e,i+1,r);case 17:e=l.sent;l.next=20;return this.merge(e,t,i,r);case 20:l.t0=l.sent;l.next=24;break;case 23:l.t0=e;case 24:return l.abrupt("return",l.t0);case 25:return l.abrupt("return",e);case 26:case"end":return l.stop()}}},n,this)}))};e.merge=function n(e,t,r,i){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var a,l,o,s,u,d,c,h;return regeneratorRuntime.wrap(function n(p){while(1){switch(p.prev=p.next){case 0:if(this.visualizing){p.next=2;break}return p.abrupt("return");case 2:s=r-t+1,u=i-r,d=[],c=[];for(a=0;a<s;a++){d.push(e[t+a])}for(l=0;l<u;l++){c.push(e[r+1+l])}h=new b;h.swapped=!1,h.leftBoundary=t,h.rightBoundary=r,h.leftBoundary2=r+1,h.rightBoundary2=i,a=0,l=0,o=t;case 7:if(!(a<s&&l<u)){p.next=35;break}h.ind1=t+a;h.ind2=r+1+l;h.ind3=o;p.next=13;return this.eachStep(e,h);case 13:if(p.sent){p.next=15;break}return p.abrupt("return");case 15:if(!(d[a]<=c[l])){p.next=25;break}e[o]=d[a];a++;p.next=20;return this.eachStep(e,h);case 20:if(p.sent){p.next=22;break}return p.abrupt("return");case 22:h.ind1=t+a;p.next=32;break;case 25:e[o]=c[l];l++;p.next=29;return this.eachStep(e,h);case 29:if(p.sent){p.next=31;break}return p.abrupt("return");case 31:h.ind2=r+1+l;case 32:o++;case 33:p.next=7;break;case 35:if(!(a<s)){p.next=46;break}e[o]=d[a];a++;o++;p.next=41;return this.eachStep(e,h);case 41:if(p.sent){p.next=43;break}return p.abrupt("return");case 43:h.ind1=t+a;case 44:p.next=35;break;case 46:if(!(l<u)){p.next=57;break}e[o]=c[l];l++;o++;p.next=52;return this.eachStep(e,h);case 52:if(p.sent){p.next=54;break}return p.abrupt("return");case 54:h.ind2=r+1+l;case 55:p.next=46;break;case 57:return p.abrupt("return",e);case 58:case"end":return p.stop()}}},n,this)}))};e.insertionSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var t,r,i,a;return regeneratorRuntime.wrap(function n(l){while(1){switch(l.prev=l.next){case 0:this.visualizing=!0;t=new b;i=0;case 3:if(!(i<e.length)){l.next=37;break}if(this.visualizing){l.next=6;break}return l.abrupt("return");case 6:r=e[i];a=i-1;t.ind1=a;t.ind2=a+1;t.swapped=!1;l.next=13;return this.eachStep(e,t);case 13:if(l.sent){l.next=15;break}return l.abrupt("return");case 15:if(!(a>=0&&e[a]>r)){l.next=34;break}if(this.visualizing){l.next=18;break}return l.abrupt("return");case 18:e[a+1]=e[a];e[a]=r;t.swapped=!0;l.next=23;return this.eachStep(e,t);case 23:if(l.sent){l.next=25;break}return l.abrupt("return");case 25:t.ind1=--a;t.ind2=a+1;t.swapped=!1;l.next=30;return this.eachStep(e,t);case 30:if(l.sent){l.next=32;break}return l.abrupt("return");case 32:l.next=15;break;case 34:++i;l.next=3;break;case 37:this.visualizing=!1;case 38:case"end":return l.stop()}}},n,this)}))};e.selectionSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var t,r,i,a;return regeneratorRuntime.wrap(function n(l){while(1){switch(l.prev=l.next){case 0:t=new b;t.swapped=!1,this.visualizing=!0;r=0;case 3:if(!(r<e.length-1)){l.next=31;break}i=r;t.ind1=r,t.ind3=i;a=r+1;case 7:if(!(a<e.length)){l.next=18;break}e[a]<e[i]&&(i=a);t.ind3=i;t.ind2=a;l.next=13;return this.eachStep(e,t);case 13:if(l.sent){l.next=15;break}return l.abrupt("return");case 15:a++;l.next=7;break;case 18:if(!(e[r]!=e[i])){l.next=28;break}e[r]=[e[i],e[i]=e[r]][0];t.swapped=!0;t.ind3=null;t.ind2=i;l.next=25;return this.eachStep(e,t);case 25:if(l.sent){l.next=27;break}return l.abrupt("return");case 27:t.swapped=!1;case 28:r++;l.next=3;break;case 31:this.visualizing=!1;case 32:case"end":return l.stop()}}},n,this)}))};e.heapify=function n(e,t,r){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var i,a,l,o;return regeneratorRuntime.wrap(function n(s){while(1){switch(s.prev=s.next){case 0:i=new b;a=r;l=2*r+1,o=2*r+2;i.ind3=a;i.ind1=l;i.ind2=o;s.t0=l<t&&o<t;if(!s.t0){s.next=11;break}s.next=10;return this.eachStep(e,i);case 10:s.t0=!s.sent;case 11:if(!s.t0){s.next=13;break}return s.abrupt("return",!1);case 13:if(!(l<t&&e[l]>e[a]&&(a=l),o<t&&e[o]>e[a]&&(a=o),a!=r)){s.next=28;break}e[r]=[e[a],e[a]=e[r]][0];i.ind3=null;i.ind1=r;i.ind2=a;i.swapped=!0;s.next=21;return this.eachStep(e,i);case 21:if(s.sent){s.next=23;break}return s.abrupt("return",!1);case 23:i.swapped=!1;s.next=26;return this.heapify(e,t,a);case 26:if(s.sent){s.next=28;break}return s.abrupt("return",!1);case 28:return s.abrupt("return",!0);case 29:case"end":return s.stop()}}},n,this)}))};e.heapSort=function n(e){return w.a(this,void 0,void 0,regeneratorRuntime.mark(function n(){var t,r,i,a;return regeneratorRuntime.wrap(function n(l){while(1){switch(l.prev=l.next){case 0:t=e.length,r=new b;this.visualizing=!0;i=Math.floor(t/2)-1;case 3:if(!(i>=0)){l.next=11;break}l.next=6;return this.heapify(e,t,i);case 6:if(l.sent){l.next=8;break}return l.abrupt("return");case 8:i--;l.next=3;break;case 11:a=t-1;case 12:if(!(a>=0)){l.next=35;break}r.ind1=0;r.ind2=a;l.next=17;return this.eachStep(e,r);case 17:if(l.sent){l.next=19;break}return l.abrupt("return");case 19:e[a]=[e[0],e[0]=e[a]][0];r.ind1=0;r.ind2=a;r.swapped=!0;l.next=25;return this.eachStep(e,r);case 25:if(l.sent){l.next=27;break}return l.abrupt("return");case 27:r.swapped=!1;l.next=30;return this.heapify(e,a,0);case 30:if(l.sent){l.next=32;break}return l.abrupt("return");case 32:a--;l.next=12;break;case 35:this.visualizing=!1;case 36:case"end":return l.stop()}}},n,this)}))};return n}();var C=r("SrJx"),E=i.qb({encapsulation:0,styles:[[".submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-thumb-label{background-color:#d168ff}.submain-container[_ngcontent-%COMP%]   .toolbar[_ngcontent-%COMP%]     .mat-accent .mat-slider-track-fill{background-color:#d168ff}"]],data:{}});function _(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,3,"option",[],[[8,"disabled",0]],null,null,null,null)),i.rb(1,147456,null,0,o.i,[i.k,i.D,[2,o.k]],{value:[0,"value"]},null),i.rb(2,147456,null,0,o.n,[i.k,i.D,[8,null]],{value:[0,"value"]},null),(n()(),i.Kb(3,null,[" "," "]))],function(n,e){n(e,1,0,e.context.$implicit),n(e,2,0,e.context.$implicit)},function(n,e){n(e,0,0,e.component.visualizing),n(e,3,0,e.context.$implicit)})}function I(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["Stop"]))],null,null)}function M(n){return i.Lb(0,[(n()(),i.Kb(-1,null,["Visualize"]))],null,null)}function z(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,13,"div",[["class","custom-panel"]],null,null,null,null,null)),(n()(),i.sb(1,0,null,null,6,"input",[["class","custom-value"],["max","999"],["min","1"],["placeholder","Enter custom value"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,e,t){var r=!0,a=n.component;return"input"===e&&(r=!1!==i.Eb(n,2)._handleInput(t.target.value)&&r),"blur"===e&&(r=!1!==i.Eb(n,2).onTouched()&&r),"compositionstart"===e&&(r=!1!==i.Eb(n,2)._compositionStart()&&r),"compositionend"===e&&(r=!1!==i.Eb(n,2)._compositionEnd(t.target.value)&&r),"change"===e&&(r=!1!==i.Eb(n,3).onChange(t.target.value)&&r),"input"===e&&(r=!1!==i.Eb(n,3).onChange(t.target.value)&&r),"blur"===e&&(r=!1!==i.Eb(n,3).onTouched()&&r),"ngModelChange"===e&&(r=!1!==(a.customValue=t)&&r),r},null,null)),i.rb(2,16384,null,0,o.b,[i.D,i.k,[2,o.a]],null,null),i.rb(3,16384,null,0,o.j,[i.D,i.k],null,null),i.Hb(1024,null,o.e,function(n,e){return[n,e]},[o.b,o.j]),i.rb(5,671744,null,0,o.h,[[8,null],[8,null],[8,null],[6,o.e]],{model:[0,"model"]},{update:"ngModelChange"}),i.Hb(2048,null,o.f,null,[o.h]),i.rb(7,16384,null,0,o.g,[[4,o.f]],null,null),(n()(),i.sb(8,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.addCustomValue()&&r),r},null,null)),(n()(),i.sb(9,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["+"])),(n()(),i.sb(11,0,null,null,2,"button",[["class","edit-button"]],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.removeCustomValue()&&r),r},null,null)),(n()(),i.sb(12,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["-"]))],function(n,e){n(e,5,0,e.component.customValue)},function(n,e){n(e,1,0,i.Eb(e,7).ngClassUntouched,i.Eb(e,7).ngClassTouched,i.Eb(e,7).ngClassPristine,i.Eb(e,7).ngClassDirty,i.Eb(e,7).ngClassValid,i.Eb(e,7).ngClassInvalid,i.Eb(e,7).ngClassPending)})}function P(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,13,"div",[["class","code-panel"]],null,null,null,null,null)),(n()(),i.sb(1,0,null,null,1,"button",[["class","closeCodePanel"]],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.toggleCodePanel()&&r),r},null,null)),(n()(),i.Kb(-1,null,[" X "])),(n()(),i.sb(3,0,null,null,4,"div",[["class","code-explanation-wrapper"]],null,null,null,null,null)),(n()(),i.sb(4,0,null,null,1,"div",[["class","code-explanation-heading"]],null,null,null,null,null)),(n()(),i.Kb(5,null,["",""])),(n()(),i.sb(6,0,null,null,1,"pre",[["class","code-explanation wrap-pre-tag-text"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),i.Kb(-1,null,["                "])),(n()(),i.sb(8,0,null,null,5,"div",[["class","code-wrapper"]],null,null,null,null,null)),(n()(),i.sb(9,0,null,null,4,"pre",[],null,null,null,null,null)),(n()(),i.Kb(-1,null,["                "])),(n()(),i.sb(11,0,null,null,1,"code",[["class","code"]],[[8,"innerHTML",1]],null,null,null,null)),(n()(),i.Kb(-1,null,["\n                "])),(n()(),i.Kb(-1,null,["\n                "]))],null,function(n,e){var t=e.component;n(e,5,0,t.selectedAlgorithm),n(e,6,0,t.algorithmExplanation),n(e,11,0,t.algorithmCode)})}function O(n){return i.Lb(0,[i.Ib(671088640,1,{histogram:0}),(n()(),i.sb(1,0,null,null,73,"div",[["class","submain-container"]],null,null,null,null,null)),(n()(),i.sb(2,0,null,null,2,"div",[["class","header"]],null,null,null,null,null)),(n()(),i.sb(3,0,null,null,1,"div",[["class","brand"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,[" Sorting Algorithms Visualizer "])),(n()(),i.sb(5,0,null,null,60,"div",[["class","toolbar"]],null,null,null,null,null)),(n()(),i.sb(6,0,null,null,59,"nav",[["class","navbar navbar-expand-lg"]],null,null,null,null,null)),(n()(),i.sb(7,0,null,null,1,"button",[["class","navbar-toggler"],["data-target","#navbarContent"],["data-toggle","collapse"],["type","button"]],null,null,null,null,null)),(n()(),i.sb(8,0,null,null,0,"i",[["class","fa fa-bars togglerIcon"]],null,null,null,null,null)),(n()(),i.sb(9,0,null,null,56,"div",[["class","collapse navbar-collapse"],["id","navbarContent"]],null,null,null,null,null)),(n()(),i.sb(10,0,null,null,55,"div",[["class","navWrapper row col-md-12"]],null,null,null,null,null)),(n()(),i.sb(11,0,null,null,3,"div",[["class","col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem"]],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==i.Eb(n,12).onClick()&&r),r},null,null)),i.rb(12,16384,null,0,s.l,[s.k,s.a,[8,null],i.D,i.k],{routerLink:[0,"routerLink"]},null),i.Fb(13,1),(n()(),i.Kb(-1,null,[" Home "])),(n()(),i.sb(15,0,null,null,8,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(16,0,null,null,7,"select",[],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,e,t){var r=!0,a=n.component;return"change"===e&&(r=!1!==i.Eb(n,17).onChange(t.target.value)&&r),"blur"===e&&(r=!1!==i.Eb(n,17).onTouched()&&r),"ngModelChange"===e&&(r=!1!==(a.selectedAlgorithm=t)&&r),r},null,null)),i.rb(17,16384,null,0,o.k,[i.D,i.k],null,null),i.Hb(1024,null,o.e,function(n){return[n]},[o.k]),i.rb(19,671744,null,0,o.h,[[8,null],[8,null],[8,null],[6,o.e]],{model:[0,"model"]},{update:"ngModelChange"}),i.Hb(2048,null,o.f,null,[o.h]),i.rb(21,16384,null,0,o.g,[[4,o.f]],null,null),(n()(),i.hb(16777216,null,null,1,null,_)),i.rb(23,278528,null,0,u.j,[i.O,i.L,i.r],{ngForOf:[0,"ngForOf"]},null),(n()(),i.sb(24,0,null,null,1,"button",[["class","btn btn-secondary col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.shuffleValues()&&r),r},null,null)),(n()(),i.Kb(-1,null,[" Shuffle "])),(n()(),i.sb(26,0,null,null,1,"button",[["class","btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem"]],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.randomize()&&r),r},null,null)),(n()(),i.Kb(-1,null,[" Randomize "])),(n()(),i.sb(28,0,null,null,6,"button",[],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.toggleVisualize()&&r),r},null,null)),i.Hb(512,null,u.z,u.A,[i.r,i.s,i.k,i.D]),i.rb(30,278528,null,0,u.i,[u.z],{ngClass:[0,"ngClass"]},null),i.Gb(31,{"btn-success":0,"btn-danger":1,"btn col-lg-1 col-md-2 col-sm-4 navItem":2}),(n()(),i.hb(16777216,null,null,1,null,I)),i.rb(33,16384,null,0,u.k,[i.O,i.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(n()(),i.hb(0,[["visualize",2]],null,0,null,M)),(n()(),i.sb(35,0,null,null,4,"button",[],[[8,"disabled",0]],[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.toggleCustomPanel()&&r),r},null,null)),i.Hb(512,null,u.z,u.A,[i.r,i.s,i.k,i.D]),i.rb(37,278528,null,0,u.i,[u.z],{ngClass:[0,"ngClass"]},null),i.Gb(38,{"btn btn-info col-lg-1 col-md-2 col-sm-4 navItem":0}),(n()(),i.Kb(-1,null,[" Custom "])),(n()(),i.sb(40,0,null,null,4,"button",[],null,[[null,"click"]],function(n,e,t){var r=!0;return"click"===e&&(r=!1!==n.component.toggleCodePanel()&&r),r},null,null)),i.Hb(512,null,u.z,u.A,[i.r,i.s,i.k,i.D]),i.rb(42,278528,null,0,u.i,[u.z],{ngClass:[0,"ngClass"]},null),i.Gb(43,{"col-lg-1 col-md-2 col-sm-4 navItem show-code-button":0}),(n()(),i.Kb(-1,null,[" < / > "])),(n()(),i.sb(45,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(46,0,null,null,2,":svg:svg",[["fill","white"],["style","width:30px;height:40px;"]],null,null,null,null,null)),(n()(),i.sb(47,0,null,null,0,":svg:path",[["d","M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"]],null,null,null,null,null)),(n()(),i.sb(48,0,null,null,0,":svg:path",[["d","M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"]],null,null,null,null,null)),(n()(),i.sb(49,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","0"],["role","slider"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var r=!0,a=n.component;return"focus"===e&&(r=!1!==i.Eb(n,51)._onFocus()&&r),"blur"===e&&(r=!1!==i.Eb(n,51)._onBlur()&&r),"mousedown"===e&&(r=!1!==i.Eb(n,51)._onMousedown(t)&&r),"keydown"===e&&(r=!1!==i.Eb(n,51)._onKeydown(t)&&r),"keyup"===e&&(r=!1!==i.Eb(n,51)._onKeyup()&&r),"mouseenter"===e&&(r=!1!==i.Eb(n,51)._onMouseenter()&&r),"slide"===e&&(r=!1!==i.Eb(n,51)._onSlide(t)&&r),"slideend"===e&&(r=!1!==i.Eb(n,51)._onSlideEnd()&&r),"slidestart"===e&&(r=!1!==i.Eb(n,51)._onSlideStart(t)&&r),"selectstart"===e&&(r=!1!==t.preventDefault()&&r),"change"===e&&(r=!1!==a.updateSpeed(t)&&r),r},d.b,d.a)),i.Hb(5120,null,o.e,function(n){return[n]},[c.a]),i.rb(51,245760,null,0,c.a,[i.k,h.a,i.h,[2,p.b],[8,null],[2,m.a]],{max:[0,"max"],min:[1,"min"],value:[2,"value"]},{change:"change"}),(n()(),i.sb(52,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(53,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),i.sb(54,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,["N"])),(n()(),i.sb(56,0,null,null,2,"mat-slider",[["class","mat-slider"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var r=!0,a=n.component;return"focus"===e&&(r=!1!==i.Eb(n,58)._onFocus()&&r),"blur"===e&&(r=!1!==i.Eb(n,58)._onBlur()&&r),"mousedown"===e&&(r=!1!==i.Eb(n,58)._onMousedown(t)&&r),"keydown"===e&&(r=!1!==i.Eb(n,58)._onKeydown(t)&&r),"keyup"===e&&(r=!1!==i.Eb(n,58)._onKeyup()&&r),"mouseenter"===e&&(r=!1!==i.Eb(n,58)._onMouseenter()&&r),"slide"===e&&(r=!1!==i.Eb(n,58)._onSlide(t)&&r),"slideend"===e&&(r=!1!==i.Eb(n,58)._onSlideEnd()&&r),"slidestart"===e&&(r=!1!==i.Eb(n,58)._onSlideStart(t)&&r),"selectstart"===e&&(r=!1!==t.preventDefault()&&r),"change"===e&&(r=!1!==a.updateSamplesCount(t)&&r),r},d.b,d.a)),i.Hb(5120,null,o.e,function(n){return[n]},[c.a]),i.rb(58,245760,null,0,c.a,[i.k,h.a,i.h,[2,p.b],[8,null],[2,m.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),i.sb(59,0,null,null,6,"div",[["class","col-lg-2 col-md-3 col-sm-4 navItem p-0"]],null,null,null,null,null)),(n()(),i.sb(60,0,null,null,5,"div",[["class","row"]],null,null,null,null,null)),(n()(),i.sb(61,0,null,null,1,"span",[["style","color:white;padding: 10px 0px 10px 20px"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,["A"])),(n()(),i.sb(63,0,null,null,2,"mat-slider",[["class","mat-slider"],["max","999"],["min","1"],["role","slider"],["thumbLabel",""],["tickInterval","1"]],[[8,"tabIndex",0],[1,"aria-disabled",0],[1,"aria-valuemax",0],[1,"aria-valuemin",0],[1,"aria-valuenow",0],[1,"aria-orientation",0],[2,"mat-slider-disabled",null],[2,"mat-slider-has-ticks",null],[2,"mat-slider-horizontal",null],[2,"mat-slider-axis-inverted",null],[2,"mat-slider-sliding",null],[2,"mat-slider-thumb-label-showing",null],[2,"mat-slider-vertical",null],[2,"mat-slider-min-value",null],[2,"mat-slider-hide-last-tick",null],[2,"_mat-animation-noopable",null]],[[null,"change"],[null,"focus"],[null,"blur"],[null,"mousedown"],[null,"keydown"],[null,"keyup"],[null,"mouseenter"],[null,"slide"],[null,"slideend"],[null,"slidestart"],[null,"selectstart"]],function(n,e,t){var r=!0,a=n.component;return"focus"===e&&(r=!1!==i.Eb(n,65)._onFocus()&&r),"blur"===e&&(r=!1!==i.Eb(n,65)._onBlur()&&r),"mousedown"===e&&(r=!1!==i.Eb(n,65)._onMousedown(t)&&r),"keydown"===e&&(r=!1!==i.Eb(n,65)._onKeydown(t)&&r),"keyup"===e&&(r=!1!==i.Eb(n,65)._onKeyup()&&r),"mouseenter"===e&&(r=!1!==i.Eb(n,65)._onMouseenter()&&r),"slide"===e&&(r=!1!==i.Eb(n,65)._onSlide(t)&&r),"slideend"===e&&(r=!1!==i.Eb(n,65)._onSlideEnd()&&r),"slidestart"===e&&(r=!1!==i.Eb(n,65)._onSlideStart(t)&&r),"selectstart"===e&&(r=!1!==t.preventDefault()&&r),"change"===e&&(r=!1!==a.updateMaxValue(t)&&r),r},d.b,d.a)),i.Hb(5120,null,o.e,function(n){return[n]},[c.a]),i.rb(65,245760,null,0,c.a,[i.k,h.a,i.h,[2,p.b],[8,null],[2,m.a]],{disabled:[0,"disabled"],max:[1,"max"],min:[2,"min"],thumbLabel:[3,"thumbLabel"],tickInterval:[4,"tickInterval"],value:[5,"value"]},{change:"change"}),(n()(),i.sb(66,0,null,null,6,"div",[["class","section"]],null,null,null,null,null)),(n()(),i.hb(16777216,null,null,1,null,z)),i.rb(68,16384,null,0,u.k,[i.O,i.L],{ngIf:[0,"ngIf"]},null),(n()(),i.sb(69,0,null,null,1,"app-histogram",[],null,[[null,"historgramReady"],["window","resize"]],function(n,e,t){var r=!0,a=n.component;return"window:resize"===e&&(r=!1!==i.Eb(n,70).onWindowResize(t)&&r),"historgramReady"===e&&(r=!1!==a.onHistogramReady(t)&&r),r},x,f)),i.rb(70,4308992,[[1,4],["histogram",4]],0,g,[],{minValue:[0,"minValue"],maxValue:[1,"maxValue"],values:[2,"values"]},{historgramReady:"historgramReady"}),(n()(),i.hb(16777216,null,null,1,null,P)),i.rb(72,16384,null,0,u.k,[i.O,i.L],{ngIf:[0,"ngIf"]},null),(n()(),i.sb(73,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(n()(),i.Kb(-1,null,[" while( !(success = try())); "]))],function(n,e){var t=e.component,r=n(e,13,0,"");n(e,12,0,r),n(e,19,0,t.selectedAlgorithm),n(e,23,0,t.algorithmNames);var a=n(e,31,0,!t.visualizing,t.visualizing,!0);n(e,30,0,a),n(e,33,0,t.visualizing,i.Eb(e,34));var l=n(e,38,0,!0);n(e,37,0,l);var o=n(e,43,0,!0);n(e,42,0,o),n(e,51,0,t.maxSpeed,"0",t.speed),n(e,58,0,t.visualizing,t.maxSamplesCount,"1","","1",t.samplesCount),n(e,65,0,t.visualizing,"999","1","","1",t.maxValue),n(e,68,0,t.customPanelOpened),n(e,70,0,t.minValue,t.maxValue,t.values),n(e,72,0,t.codePanelOpened)},function(n,e){var t=e.component;n(e,16,0,i.Eb(e,21).ngClassUntouched,i.Eb(e,21).ngClassTouched,i.Eb(e,21).ngClassPristine,i.Eb(e,21).ngClassDirty,i.Eb(e,21).ngClassValid,i.Eb(e,21).ngClassInvalid,i.Eb(e,21).ngClassPending),n(e,24,0,t.visualizing),n(e,26,0,t.visualizing),n(e,35,0,t.visualizing),n(e,49,1,[i.Eb(e,51).tabIndex,i.Eb(e,51).disabled,i.Eb(e,51).max,i.Eb(e,51).min,i.Eb(e,51).value,i.Eb(e,51).vertical?"vertical":"horizontal",i.Eb(e,51).disabled,i.Eb(e,51).tickInterval,!i.Eb(e,51).vertical,i.Eb(e,51)._invertAxis,i.Eb(e,51)._isSliding,i.Eb(e,51).thumbLabel,i.Eb(e,51).vertical,i.Eb(e,51)._isMinValue,i.Eb(e,51).disabled||i.Eb(e,51)._isMinValue&&i.Eb(e,51)._thumbGap&&i.Eb(e,51)._invertAxis,"NoopAnimations"===i.Eb(e,51)._animationMode]),n(e,56,1,[i.Eb(e,58).tabIndex,i.Eb(e,58).disabled,i.Eb(e,58).max,i.Eb(e,58).min,i.Eb(e,58).value,i.Eb(e,58).vertical?"vertical":"horizontal",i.Eb(e,58).disabled,i.Eb(e,58).tickInterval,!i.Eb(e,58).vertical,i.Eb(e,58)._invertAxis,i.Eb(e,58)._isSliding,i.Eb(e,58).thumbLabel,i.Eb(e,58).vertical,i.Eb(e,58)._isMinValue,i.Eb(e,58).disabled||i.Eb(e,58)._isMinValue&&i.Eb(e,58)._thumbGap&&i.Eb(e,58)._invertAxis,"NoopAnimations"===i.Eb(e,58)._animationMode]),n(e,63,1,[i.Eb(e,65).tabIndex,i.Eb(e,65).disabled,i.Eb(e,65).max,i.Eb(e,65).min,i.Eb(e,65).value,i.Eb(e,65).vertical?"vertical":"horizontal",i.Eb(e,65).disabled,i.Eb(e,65).tickInterval,!i.Eb(e,65).vertical,i.Eb(e,65)._invertAxis,i.Eb(e,65)._isSliding,i.Eb(e,65).thumbLabel,i.Eb(e,65).vertical,i.Eb(e,65)._isMinValue,i.Eb(e,65).disabled||i.Eb(e,65)._isMinValue&&i.Eb(e,65)._thumbGap&&i.Eb(e,65)._invertAxis,"NoopAnimations"===i.Eb(e,65)._animationMode])})}function A(n){return i.Lb(0,[(n()(),i.sb(0,0,null,null,1,"app-sorting-algorithms",[],null,null,null,O,E)),i.rb(1,4308992,null,0,S,[C.a],null,null)],function(n,e){n(e,1,0)},null)}var T=i.ob("app-sorting-algorithms",S,A,{},{},[]),B=r("cUpR"),L=r("Xd0L");var R=function n(){};var j=r("PCNd");r.d(t,"SortingAlgorithmsModuleNgFactory",function(){return V});var V=i.pb(a,[],function(n){return i.Bb([i.Cb(512,i.j,i.ab,[[8,[l.a,T]],[3,i.j],i.w]),i.Cb(4608,u.m,u.l,[i.t,[2,u.E]]),i.Cb(4608,o.m,o.m,[]),i.Cb(4608,B.e,L.a,[[2,L.c],[2,L.e]]),i.Cb(1073742336,u.b,u.b,[]),i.Cb(1073742336,o.l,o.l,[]),i.Cb(1073742336,o.c,o.c,[]),i.Cb(1073742336,s.m,s.m,[[2,s.r],[2,s.k]]),i.Cb(1073742336,R,R,[]),i.Cb(1073742336,j.a,j.a,[]),i.Cb(1073742336,p.a,p.a,[]),i.Cb(1073742336,L.e,L.e,[[2,L.b],[2,B.f]]),i.Cb(1073742336,c.b,c.b,[]),i.Cb(1073742336,a,a,[]),i.Cb(1024,s.i,function(){return[[{path:"",component:S}]]},[])])})}}]);
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index 3846f04..0000000
--- a/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# AlgorithmsVisualizer
-
-### A web application that helps you to understand algorithms better.
-
-### You can visit https://tejeshreddymeka.github.io/Algorithms-visualizer/ to experience the visualization of algorithms.
-
-
-
-[![Algorithms Visualizer](https://img.youtube.com/vi/YLOdPzzkTLU/0.jpg)](https://www.youtube.com/watch?v=YLOdPzzkTLU)
-
-Demo vedio: [vedio link](https://www.youtube.com/watch?v=YLOdPzzkTLU)
-
-![graph](https://github.com/tejeshreddymeka/Algorithms-visualizer/blob/master/graphs.gif)
-
-![sort techniques](https://github.com/tejeshreddymeka/Algorithms-visualizer/blob/master/sort-techq.gif)
-
-#### I will add new algorithms when i have free time.
diff --git a/angular.json b/angular.json
deleted file mode 100644
index 315b69a..0000000
--- a/angular.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
-  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
-  "version": 1,
-  "newProjectRoot": "projects",
-  "projects": {
-    "Algorithms-visualizer": {
-      "projectType": "application",
-      "schematics": {
-        "@schematics/angular:component": {
-          "style": "sass"
-        }
-      },
-      "root": "",
-      "sourceRoot": "src",
-      "prefix": "app",
-      "architect": {
-        "build": {
-          "builder": "@angular-devkit/build-angular:browser",
-          "options": {
-            "outputPath": "dist/Algorithms-visualizer",
-            "index": "src/index.html",
-            "main": "src/main.ts",
-            "polyfills": "src/polyfills.ts",
-            "tsConfig": "tsconfig.app.json",
-            "aot": false,
-            "assets": [
-              "src/favicon.ico",
-              "src/assets"
-            ],
-            "styles": [
-              "src/styles.sass",
-              "./node_modules/bootstrap/dist/css/bootstrap.min.css"
-            ],
-            "scripts": [
-              "./node_modules/jquery/dist/jquery.min.js",
-              "./node_modules/bootstrap/dist/js/bootstrap.min.js",
-              "./node_modules/prismjs/prism.js"
-            ]
-          },
-          "configurations": {
-            "production": {
-              "fileReplacements": [
-                {
-                  "replace": "src/environments/environment.ts",
-                  "with": "src/environments/environment.prod.ts"
-                }
-              ],
-              "optimization": true,
-              "outputHashing": "all",
-              "sourceMap": false,
-              "extractCss": true,
-              "namedChunks": false,
-              "aot": true,
-              "extractLicenses": true,
-              "vendorChunk": false,
-              "buildOptimizer": true,
-              "budgets": [
-                {
-                  "type": "initial",
-                  "maximumWarning": "2mb",
-                  "maximumError": "5mb"
-                },
-                {
-                  "type": "anyComponentStyle",
-                  "maximumWarning": "6kb",
-                  "maximumError": "10kb"
-                }
-              ]
-            }
-          }
-        },
-        "serve": {
-          "builder": "@angular-devkit/build-angular:dev-server",
-          "options": {
-            "browserTarget": "Algorithms-visualizer:build"
-          },
-          "configurations": {
-            "production": {
-              "browserTarget": "Algorithms-visualizer:build:production"
-            }
-          }
-        },
-        "extract-i18n": {
-          "builder": "@angular-devkit/build-angular:extract-i18n",
-          "options": {
-            "browserTarget": "Algorithms-visualizer:build"
-          }
-        },
-        "test": {
-          "builder": "@angular-devkit/build-angular:karma",
-          "options": {
-            "main": "src/test.ts",
-            "polyfills": "src/polyfills.ts",
-            "tsConfig": "tsconfig.spec.json",
-            "karmaConfig": "karma.conf.js",
-            "assets": [
-              "src/favicon.ico",
-              "src/assets"
-            ],
-            "styles": [
-              "src/styles.sass"
-            ],
-            "scripts": []
-          }
-        },
-        "lint": {
-          "builder": "@angular-devkit/build-angular:tslint",
-          "options": {
-            "tsConfig": [
-              "tsconfig.app.json",
-              "tsconfig.spec.json",
-              "e2e/tsconfig.json"
-            ],
-            "exclude": [
-              "**/node_modules/**"
-            ]
-          }
-        },
-        "e2e": {
-          "builder": "@angular-devkit/build-angular:protractor",
-          "options": {
-            "protractorConfig": "e2e/protractor.conf.js",
-            "devServerTarget": "Algorithms-visualizer:serve"
-          },
-          "configurations": {
-            "production": {
-              "devServerTarget": "Algorithms-visualizer:serve:production"
-            }
-          }
-        },
-        "deploy": {
-          "builder": "angular-cli-ghpages:deploy",
-          "options": {}
-        }
-      }
-    }
-  },
-  "defaultProject": "Algorithms-visualizer"
-}
\ No newline at end of file
diff --git a/src/assets/home-header-image.jpg b/assets/home-header-image.jpg
similarity index 100%
rename from src/assets/home-header-image.jpg
rename to assets/home-header-image.jpg
diff --git a/browserslist b/browserslist
deleted file mode 100644
index 8084853..0000000
--- a/browserslist
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
-# For additional information regarding the format and rule options, please see:
-# https://github.com/browserslist/browserslist#queries
-
-# You can see what browsers were selected by your queries by running:
-#   npx browserslist
-
-> 0.5%
-last 2 versions
-Firefox ESR
-not dead
-not IE 9-11 # For IE 9-11 support, remove 'not'.
\ No newline at end of file
diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js
deleted file mode 100644
index 73e4e68..0000000
--- a/e2e/protractor.conf.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// @ts-check
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-const { SpecReporter } = require('jasmine-spec-reporter');
-
-/**
- * @type { import("protractor").Config }
- */
-exports.config = {
-  allScriptsTimeout: 11000,
-  specs: [
-    './src/**/*.e2e-spec.ts'
-  ],
-  capabilities: {
-    'browserName': 'chrome'
-  },
-  directConnect: true,
-  baseUrl: 'http://localhost:4200/',
-  framework: 'jasmine',
-  jasmineNodeOpts: {
-    showColors: true,
-    defaultTimeoutInterval: 30000,
-    print: function() {}
-  },
-  onPrepare() {
-    require('ts-node').register({
-      project: require('path').join(__dirname, './tsconfig.json')
-    });
-    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
-  }
-};
\ No newline at end of file
diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts
deleted file mode 100644
index 32513bc..0000000
--- a/e2e/src/app.e2e-spec.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { AppPage } from './app.po';
-import { browser, logging } from 'protractor';
-
-describe('workspace-project App', () => {
-  let page: AppPage;
-
-  beforeEach(() => {
-    page = new AppPage();
-  });
-
-  it('should display welcome message', () => {
-    page.navigateTo();
-    expect(page.getTitleText()).toEqual('Algorithms-visualizer app is running!');
-  });
-
-  afterEach(async () => {
-    // Assert that there are no errors emitted from the browser
-    const logs = await browser.manage().logs().get(logging.Type.BROWSER);
-    expect(logs).not.toContain(jasmine.objectContaining({
-      level: logging.Level.SEVERE,
-    } as logging.Entry));
-  });
-});
diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts
deleted file mode 100644
index b8498c2..0000000
--- a/e2e/src/app.po.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { browser, by, element } from 'protractor';
-
-export class AppPage {
-  navigateTo() {
-    return browser.get(browser.baseUrl) as Promise<any>;
-  }
-
-  getTitleText() {
-    return element(by.css('app-root .content span')).getText() as Promise<string>;
-  }
-}
diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json
deleted file mode 100644
index 39b800f..0000000
--- a/e2e/tsconfig.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "extends": "../tsconfig.json",
-  "compilerOptions": {
-    "outDir": "../out-tsc/e2e",
-    "module": "commonjs",
-    "target": "es5",
-    "types": [
-      "jasmine",
-      "jasminewd2",
-      "node"
-    ]
-  }
-}
diff --git a/src/favicon.ico b/favicon.ico
similarity index 100%
rename from src/favicon.ico
rename to favicon.ico
diff --git a/graphs.gif b/graphs.gif
deleted file mode 100644
index d87e413..0000000
Binary files a/graphs.gif and /dev/null differ
diff --git a/home-header-image.8ce7381c43fe4e6f288d.jpg b/home-header-image.8ce7381c43fe4e6f288d.jpg
new file mode 100644
index 0000000..d14a6ac
Binary files /dev/null and b/home-header-image.8ce7381c43fe4e6f288d.jpg differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..a613b25
--- /dev/null
+++ b/index.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>AlgorithmsVisualizer</title>
+  <base href="/Algorithms-visualizer/">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+<link rel="stylesheet" href="styles.cadb8fc80cdef81b8481.css"></head>
+<body>
+  <app-root></app-root>
+<script src="polyfills-es5.18cefcf61f1450e7455d.js" nomodule defer></script><script src="polyfills-es2015.e70eeab0d45d5f9db57f.js" type="module"></script><script src="scripts.eab147d5f2ea31a3708c.js" defer></script><script src="runtime-es2015.4401e6f60d45e8780b53.js" type="module"></script><script src="main-es2015.dd9a2e78d1d4a71daa88.js" type="module"></script><script src="runtime-es5.4401e6f60d45e8780b53.js" nomodule defer></script><script src="main-es5.dd9a2e78d1d4a71daa88.js" nomodule defer></script></body>
+</html>
diff --git a/karma.conf.js b/karma.conf.js
deleted file mode 100644
index 55fcdc0..0000000
--- a/karma.conf.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-module.exports = function (config) {
-  config.set({
-    basePath: '',
-    frameworks: ['jasmine', '@angular-devkit/build-angular'],
-    plugins: [
-      require('karma-jasmine'),
-      require('karma-chrome-launcher'),
-      require('karma-jasmine-html-reporter'),
-      require('karma-coverage-istanbul-reporter'),
-      require('@angular-devkit/build-angular/plugins/karma')
-    ],
-    client: {
-      clearContext: false // leave Jasmine Spec Runner output visible in browser
-    },
-    coverageIstanbulReporter: {
-      dir: require('path').join(__dirname, './coverage/Algorithms-visualizer'),
-      reports: ['html', 'lcovonly', 'text-summary'],
-      fixWebpackSourcePaths: true
-    },
-    reporters: ['progress', 'kjhtml'],
-    port: 9876,
-    colors: true,
-    logLevel: config.LOG_INFO,
-    autoWatch: true,
-    browsers: ['Chrome'],
-    singleRun: false,
-    restartOnFileChange: true
-  });
-};
diff --git a/main-es2015.dd9a2e78d1d4a71daa88.js b/main-es2015.dd9a2e78d1d4a71daa88.js
new file mode 100644
index 0000000..6b8b833
--- /dev/null
+++ b/main-es2015.dd9a2e78d1d4a71daa88.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{0:function(e,t,n){e.exports=n("zUnb")},"0EUg":function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("bHdf");function s(){return Object(r.a)(1)}},"2QA8":function(e,t,n){"use strict";n.d(t,"a",function(){return r});const r="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},"2Vo4":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n("XNiG"),s=n("9ppp");class i extends r.a{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return t&&!t.closed&&e.next(this._value),t}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.a;return this._value}next(e){super.next(this._value=e)}}},"2fFW":function(e,t,n){"use strict";n.d(t,"a",function(){return s});let r=!1;const s={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){const e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else r&&console.log("RxJS: Back to a better error behavior. Thank you. <3");r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},"4I5i":function(e,t,n){"use strict";function r(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}n.d(t,"a",function(){return s}),r.prototype=Object.create(Error.prototype);const s=r},"5+tZ":function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("ZUHj"),s=n("l7GE"),i=n("51Dv"),o=n("lJxs"),a=n("Cfvw");function l(e,t,n=Number.POSITIVE_INFINITY){return"function"==typeof t?r=>r.pipe(l((n,r)=>Object(a.a)(e(n,r)).pipe(Object(o.a)((e,s)=>t(n,e,r,s))),n)):("number"==typeof t&&(n=t),t=>t.lift(new c(e,n)))}class c{constructor(e,t=Number.POSITIVE_INFINITY){this.project=e,this.concurrent=t}call(e,t){return t.subscribe(new u(e,this.project,this.concurrent))}}class u extends s.a{constructor(e,t,n=Number.POSITIVE_INFINITY){super(e),this.project=t,this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)}_tryNext(e){let t;const n=this.index++;try{t=this.project(e,n)}catch(r){return void this.destination.error(r)}this.active++,this._innerSub(t,e,n)}_innerSub(e,t,n){const s=new i.a(this,void 0,void 0);this.destination.add(s),Object(r.a)(this,e,t,n,s)}_complete(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()}notifyNext(e,t,n,r,s){this.destination.next(t)}notifyComplete(e){const t=this.buffer;this.remove(e),this.active--,t.length>0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}},"51Dv":function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("7o/Q");class s extends r.a{constructor(e,t,n){super(),this.parent=e,this.outerValue=t,this.outerIndex=n,this.index=0}_next(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)}_error(e){this.parent.notifyError(e,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}},"7o/Q":function(e,t,n){"use strict";n.d(t,"a",function(){return c});var r=n("n6bG"),s=n("gRHU"),i=n("quSY"),o=n("2QA8"),a=n("2fFW"),l=n("NJ4a");class c extends i.a{constructor(e,t,n){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.a;break;case 1:if(!e){this.destination=s.a;break}if("object"==typeof e){e instanceof c?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new u(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new u(this,e,t,n)}}[o.a](){return this}static create(e,t,n){const r=new c(e,t,n);return r.syncErrorThrowable=!1,r}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parent:e,_parents:t}=this;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=t,this}}class u extends c{constructor(e,t,n,i){let o;super(),this._parentSubscriber=e;let a=this;Object(r.a)(t)?o=t:t&&(o=t.next,n=t.error,i=t.complete,t!==s.a&&(a=Object.create(t),Object(r.a)(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this))),this._context=a,this._next=o,this._error=n,this._complete=i}next(e){if(!this.isStopped&&this._next){const{_parentSubscriber:t}=this;a.a.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}}error(e){if(!this.isStopped){const{_parentSubscriber:t}=this,{useDeprecatedSynchronousErrorHandling:n}=a.a;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):Object(l.a)(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;Object(l.a)(e)}}}complete(){if(!this.isStopped){const{_parentSubscriber:e}=this;if(this._complete){const t=()=>this._complete.call(this._context);a.a.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?(this.__tryOrSetError(e,t),this.unsubscribe()):(this.__tryOrUnsub(t),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,t){try{e.call(this._context,t)}catch(n){if(this.unsubscribe(),a.a.useDeprecatedSynchronousErrorHandling)throw n;Object(l.a)(n)}}__tryOrSetError(e,t,n){if(!a.a.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(r){return a.a.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Object(l.a)(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}}},"8Y7J":function(e,t,n){"use strict";n.d(t,"kb",function(){return Ho}),n.d(t,"lb",function(){return zo}),n.d(t,"mb",function(){return Bo}),n.d(t,"nb",function(){return qo}),n.d(t,"jb",function(){return ji}),n.d(t,"ib",function(){return _i}),n.d(t,"g",function(){return ko}),n.d(t,"R",function(){return Co}),n.d(t,"x",function(){return wo}),n.d(t,"S",function(){return pt}),n.d(t,"W",function(){return ft}),n.d(t,"c",function(){return Ri}),n.d(t,"B",function(){return Vi}),n.d(t,"A",function(){return Fi}),n.d(t,"b",function(){return Li}),n.d(t,"d",function(){return Ii}),n.d(t,"e",function(){return Pi}),n.d(t,"U",function(){return Lo}),n.d(t,"M",function(){return ho}),n.d(t,"Y",function(){return mo}),n.d(t,"t",function(){return Ui}),n.d(t,"f",function(){return Wo}),n.d(t,"m",function(){return Di}),n.d(t,"l",function(){return ut}),n.d(t,"G",function(){return Ft}),n.d(t,"H",function(){return Vt}),n.d(t,"a",function(){return En}),n.d(t,"P",function(){return K}),n.d(t,"N",function(){return cr}),n.d(t,"Pb",function(){return g}),n.d(t,"T",function(){return w}),n.d(t,"q",function(){return mn}),n.d(t,"Qb",function(){return $}),n.d(t,"V",function(){return U}),n.d(t,"n",function(){return D}),n.d(t,"p",function(){return T}),n.d(t,"o",function(){return u}),n.d(t,"z",function(){return h}),n.d(t,"I",function(){return f}),n.d(t,"y",function(){return so}),n.d(t,"D",function(){return ar}),n.d(t,"E",function(){return ir}),n.d(t,"F",function(){return or}),n.d(t,"i",function(){return Qi}),n.d(t,"j",function(){return Jn}),n.d(t,"k",function(){return nr}),n.d(t,"u",function(){return q}),n.d(t,"w",function(){return B}),n.d(t,"v",function(){return To}),n.d(t,"C",function(){return Ni}),n.d(t,"J",function(){return Po}),n.d(t,"K",function(){return No}),n.d(t,"L",function(){return kr}),n.d(t,"O",function(){return Tr}),n.d(t,"h",function(){return hn}),n.d(t,"r",function(){return wr}),n.d(t,"s",function(){return Cr}),n.d(t,"Q",function(){return An}),n.d(t,"X",function(){return Uo}),n.d(t,"xb",function(){return Nn}),n.d(t,"bb",function(){return $i}),n.d(t,"Z",function(){return fn}),n.d(t,"ab",function(){return Xn}),n.d(t,"eb",function(){return jt}),n.d(t,"fb",function(){return Ut}),n.d(t,"gb",function(){return bt}),n.d(t,"vb",function(){return O}),n.d(t,"Ab",function(){return Tn}),n.d(t,"Jb",function(){return _}),n.d(t,"yb",function(){return qn}),n.d(t,"zb",function(){return Bn}),n.d(t,"ub",function(){return Ei}),n.d(t,"tb",function(){return xi}),n.d(t,"cb",function(){return vi}),n.d(t,"db",function(){return wi}),n.d(t,"Ob",function(){return ie}),n.d(t,"Mb",function(){return xn}),n.d(t,"Sb",function(){return Pn}),n.d(t,"Rb",function(){return Rn}),n.d(t,"Nb",function(){return jn}),n.d(t,"Tb",function(){return Fn}),n.d(t,"hb",function(){return Go}),n.d(t,"ob",function(){return Ps}),n.d(t,"pb",function(){return yl}),n.d(t,"qb",function(){return Wr}),n.d(t,"rb",function(){return ri}),n.d(t,"sb",function(){return Qo}),n.d(t,"wb",function(){return _s}),n.d(t,"Bb",function(){return ks}),n.d(t,"Cb",function(){return xs}),n.d(t,"Db",function(){return sa}),n.d(t,"Eb",function(){return Bs}),n.d(t,"Hb",function(){return si}),n.d(t,"Fb",function(){return oa}),n.d(t,"Gb",function(){return aa}),n.d(t,"Ib",function(){return Xo}),n.d(t,"Kb",function(){return ca}),n.d(t,"Lb",function(){return da});var r=n("XNiG"),s=n("quSY"),i=n("HDdC"),o=n("VRyK"),a=n("w1tV");const l="__parameters__";function c(e,t,n){const r=function(e){return function(...t){if(e){const n=e(...t);for(const e in n)this[e]=n[e]}}}(t);function s(...e){if(this instanceof s)return r.apply(this,e),this;const t=new s(...e);return n.annotation=t,n;function n(e,n,r){const s=e.hasOwnProperty(l)?e[l]:Object.defineProperty(e,l,{value:[]})[l];for(;s.length<=r;)s.push(null);return(s[r]=s[r]||[]).push(t),e}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=e,s.annotationCls=s,s}const u=c("Inject",e=>({token:e})),h=c("Optional"),d=c("Self"),f=c("SkipSelf");var p=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}({});function m(e){for(let t in e)if(e[t]===m)return t;throw Error("Could not find renamed property on target object.")}function g(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function y(e){const t=e[b];return t&&t.token===e?t:null}const b=m({ngInjectableDef:m});function _(e){if("string"==typeof e)return e;if(e instanceof Array)return"["+e.map(_).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}const v=m({__forward_ref__:m});function w(e){return e.__forward_ref__=w,e.toString=function(){return _(this())},e}function C(e){const t=e;return"function"==typeof t&&t.hasOwnProperty(v)&&t.__forward_ref__===w?t():e}const S="undefined"!=typeof globalThis&&globalThis,E="undefined"!=typeof window&&window,x="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,k="undefined"!=typeof global&&global,O=S||k||E||x;class T{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.ngInjectableDef=g({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const D=new T("INJECTOR",-1),A=new Object,N="ngTempTokenPath",I="ngTokenPath",P=/\n/gm,R="\u0275",j="__source",M=m({provide:String,useValue:m});let V,F=void 0;function L(e){const t=F;return F=e,t}function $(e,t=p.Default){return(V||function(e,t=p.Default){if(void 0===F)throw new Error("inject() must be called from an injection context");return null===F?function(e,t,n){const r=y(e);if(r&&"root"==r.providedIn)return void 0===r.value?r.value=r.factory():r.value;if(n&p.Optional)return null;throw new Error(`Injector: NOT_FOUND [${_(e)}]`)}(e,0,t):F.get(e,t&p.Optional?null:void 0,t)})(e,t)}const U=$;class H{get(e,t=A){if(t===A){const t=new Error(`NullInjectorError: No provider for ${_(e)}!`);throw t.name="NullInjectorError",t}return t}}function z(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&e.charAt(1)==R?e.substr(2):e;let s=_(t);if(t instanceof Array)s=t.map(_).join(" -> ");else if("object"==typeof t){let e=[];for(let n in t)if(t.hasOwnProperty(n)){let r=t[n];e.push(n+":"+("string"==typeof r?JSON.stringify(r):_(r)))}s=`{${e.join(", ")}}`}return`${n}${r?"("+r+")":""}[${s}]: ${e.replace(P,"\n  ")}`}class B{}class q{}function W(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function G(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}const Q=function(){var e={OnPush:0,Default:1};return e[e.OnPush]="OnPush",e[e.Default]="Default",e}(),K=function(){var e={Emulated:0,Native:1,None:2,ShadowDom:3};return e[e.Emulated]="Emulated",e[e.Native]="Native",e[e.None]="None",e[e.ShadowDom]="ShadowDom",e}(),Z={},Y=[],J=m({ngComponentDef:m}),X=m({ngDirectiveDef:m}),ee=m({ngPipeDef:m});let te=0;function ne(e){return function(e){return e[J]||null}(e)||function(e){return e[X]||null}(e)}function re(e){return function(e){return e[ee]||null}(e)}function se(e,t){if(null==e)return Z;const n={};for(const r in e)if(e.hasOwnProperty(r)){let s=e[r],i=s;Array.isArray(s)&&(i=s[1],s=s[0]),n[s]=r,t&&(t[s]=i)}return n}const ie=function(e){const t=e.type,n=t.prototype,r={},s={type:t,providersResolver:null,consts:e.consts,vars:e.vars,factory:e.factory,template:e.template||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,contentQueries:e.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:e.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:e.changeDetection===Q.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||K.Emulated,id:"c",styles:e.styles||Y,_:null,setInput:null,schemas:e.schemas||null,tView:null};return s._=""+{toString:()=>{const n=e.directives,i=e.features,o=e.pipes;s.id+=te++,s.inputs=se(e.inputs,r),s.outputs=se(e.outputs),i&&i.forEach(e=>e(s)),s.directiveDefs=n?()=>("function"==typeof n?n():n).map(ne):null,s.pipeDefs=o?()=>("function"==typeof o?o():o).map(re):null,t.hasOwnProperty(b)||(t[b]=g({token:t,factory:e.factory}))}},s},oe=0,ae=1,le=7,ce=12,ue=19;let he=null;const de=new Map;let fe=null;const pe=1,me=0;function ge(e,t){return fe&&e===fe||(fe=e,t&&(he=de.get(e)||null),he=he||{classesBitMask:me,classesIndex:pe,stylesBitMask:me,stylesIndex:pe}),he}function ye(e,t){return function(e){for(;Array.isArray(e);)e=e[oe];return e}(t[e.index])}function be(e,t){return t[ae].data[e+ue]}let _e=null;function ve(){return Ce}let we,Ce,Se,Ee=1,xe=0,ke=0,Oe=-1;function Te(){return Oe}function De(){return Se}const Ae=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(O))(),Ne="--MAP--",Ie=0;function Pe(e,t){t===Ie?e[2]>Ie&&function(e){je(e,2|Re(e))}(e):e[2]=t}function Re(e){return e[1]}function je(e,t){e[1]=t}function Me(e,t){return e[t+2]}function Ve(e,t){return 1&e[t+0]}function Fe(e,t){return(1&Ve(e,t))>0}function Le(e,t){return e[t+0]>>1}function $e(e,t,n){const r=Ve(e,t);e[t+0]=r|n<<1}function Ue(e,t){return e[t+1]}function He(e,t,n){return e[t+3+n]}function ze(e,t){return!(!e||t!==e[2])}function Be(e){return(1&Re(e))>0}function qe(e){return(2&Re(e))>0}function We(e){return 6+e[4]}function Ge(e,t){let n=Array.isArray(e)?e[0]:e,r=Array.isArray(t)?t[0]:t;return n instanceof String&&(n=n.toString()),r instanceof String&&(r=r.toString()),!(n!=n&&r!=r)&&n!==r}function Qe(e){return null!=e&&""!==e}function Ke(e,t,n=" "){return e+(t.length&&e.length?n:"")+t}function Ze(e){return e.replace(/[a-z][A-Z]/g,e=>e.charAt(0)+"-"+e.charAt(1)).toLowerCase()}function Ye(e){return Je(e)?e[0]:e}function Je(e){return Array.isArray(e)&&e.length>=6&&"string"!=typeof e[1]}function Xe(e,t){return e[t+0]}function et(e,t,n){e[t+1]=n}function tt(e,t){return e[t+1]}const nt=function(){var e={Important:1,DashCase:2};return e[e.Important]="Important",e[e.DashCase]="DashCase",e}();function rt(e){return!!e.listen}const st="ngDebugContext",it="ngOriginalError",ot="ngErrorLogger";function at(e){return e[st]}function lt(e){return e[it]}function ct(e,...t){e.error(...t)}class ut{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),n=this._findContext(e),r=function(e){return e[ot]||ct}(e);r(this._console,"ERROR",e),t&&r(this._console,"ORIGINAL ERROR",t),n&&r(this._console,"ERROR CONTEXT",n)}_findContext(e){return e?at(e)?at(e):this._findContext(lt(e)):null}_findOriginalError(e){let t=lt(e);for(;t&&lt(t);)t=lt(t);return t}}let ht=!0,dt=!1;function ft(){return dt=!0,ht}function pt(){if(dt)throw new Error("Cannot enable prod mode after platform setup.");ht=!1}class mt{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e),this.inertBodyElement=this.inertDocument.createElement("body"),e.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(e){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}getInertBodyElement_XHR(e){e="<body><remove></remove>"+e+"</body>";try{e=encodeURI(e)}catch(r){return null}const t=new XMLHttpRequest;t.responseType="document",t.open("GET","data:text/html;charset=utf-8,"+e,!1),t.send(void 0);const n=t.response.body;return n.removeChild(n.firstChild),n}getInertBodyElement_DOMParser(e){e="<body><remove></remove>"+e+"</body>";try{const n=(new window.DOMParser).parseFromString(e,"text/html").body;return n.removeChild(n.firstChild),n}catch(t){return null}}getInertBodyElement_InertDocument(e){const t=this.inertDocument.createElement("template");return"content"in t?(t.innerHTML=e,t):(this.inertBodyElement.innerHTML=e,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)}stripCustomNsAttrs(e){const t=e.attributes;for(let r=t.length-1;0<r;r--){const n=t.item(r).name;"xmlns:ns1"!==n&&0!==n.indexOf("ns1:")||e.removeAttribute(n)}let n=e.firstChild;for(;n;)n.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(n),n=n.nextSibling}}const gt=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,yt=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function bt(e){return(e=String(e)).match(gt)||e.match(yt)?e:(ft()&&console.warn(`WARNING: sanitizing unsafe URL value ${e} (see http://g.co/ng/security#xss)`),"unsafe:"+e)}function _t(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function vt(...e){const t={};for(const n of e)for(const e in n)n.hasOwnProperty(e)&&(t[e]=!0);return t}const wt=_t("area,br,col,hr,img,wbr"),Ct=_t("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),St=_t("rp,rt"),Et=vt(St,Ct),xt=vt(wt,vt(Ct,_t("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),vt(St,_t("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Et),kt=_t("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ot=_t("srcset"),Tt=vt(kt,Ot,_t("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),_t("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Dt=_t("script,style,template");class At{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,n=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?n=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,n&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let e=this.checkClobberedElement(t,t.nextSibling);if(e){t=e;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!xt.hasOwnProperty(t))return this.sanitizedSomething=!0,!Dt.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const n=e.attributes;for(let s=0;s<n.length;s++){const e=n.item(s),t=e.name,i=t.toLowerCase();if(!Tt.hasOwnProperty(i)){this.sanitizedSomething=!0;continue}let o=e.value;kt[i]&&(o=bt(o)),Ot[i]&&(r=o,o=(r=String(r)).split(",").map(e=>bt(e.trim())).join(", ")),this.buf.push(" ",t,'="',Pt(o),'"')}var r;return this.buf.push(">"),!0}endElement(e){const t=e.nodeName.toLowerCase();xt.hasOwnProperty(t)&&!wt.hasOwnProperty(t)&&(this.buf.push("</"),this.buf.push(t),this.buf.push(">"))}chars(e){this.buf.push(Pt(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const Nt=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,It=/([^\#-~ |!])/g;function Pt(e){return e.replace(/&/g,"&amp;").replace(Nt,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(It,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Rt;function jt(e,t){let n=null;try{Rt=Rt||new mt(e);let r=t?String(t):"";n=Rt.getInertBodyElement(r);let s=5,i=r;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,r=i,i=n.innerHTML,n=Rt.getInertBodyElement(r)}while(r!==i);const o=new At,a=o.sanitizeChildren(Mt(n)||n);return ft()&&o.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),a}finally{if(n){const e=Mt(n)||n;for(;e.firstChild;)e.removeChild(e.firstChild)}}}function Mt(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}const Vt=function(){var e={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return e[e.NONE]="NONE",e[e.HTML]="HTML",e[e.STYLE]="STYLE",e[e.SCRIPT]="SCRIPT",e[e.URL]="URL",e[e.RESOURCE_URL]="RESOURCE_URL",e}();class Ft{}const Lt=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),$t=/^url\(([^)]+)\)$/;function Ut(e){if(!(e=String(e).trim()))return"";const t=e.match($t);return t&&bt(t[1])===t[1]||e.match(Lt)&&function(e){let t=!0,n=!0;for(let r=0;r<e.length;r++){const s=e.charAt(r);"'"===s&&n?t=!t:'"'===s&&t&&(n=!n)}return t&&n}(e)?e:(ft()&&console.warn(`WARNING: sanitizing unsafe style value ${e} (see http://g.co/ng/security#xss).`),"unsafe")}const Ht=/([A-Z])/g;function zt(e){try{return null!=e?e.toString().slice(0,30):e}catch(t){return"[ERROR] Exception while trying to serialize the value"}}const Bt=1,qt=0,Wt=null,Gt=1;let Qt=[];function Kt(e,t,n,r,s,i,o,a,l){Be(e)||(o?function(e,t,n,r,s){Qt.unshift(e,t,n,r,s)}(e,n,r,s,l):(Qt.length&&Zt(),Yt(e,n,r,s,l)));const c=a||Ge(t[s],i);return c&&(t[s]=i),c}function Zt(){let e=0;for(;e<Qt.length;)Yt(Qt[e++],Qt[e++],Qt[e++],Qt[e++],Qt[e++]);Qt.length=0}function Yt(e,t,n,r,s){let i=!1;if(n){let o=!1,a=We(e);for(;a<e.length;){const i=Ue(e,a),l=Me(e,a);if(o=n<=l){n<l&&Jt(e,a,n,s),Xt(e,!1,a,r,t);break}a+=3+i}o||(Jt(e,e.length,n,s),Xt(e,!1,a,r,t),i=!0)}else Xt(e,!0,3,r,t),i=!0;return i}function Jt(e,t,n,r){e.splice(t,0,r?1:0,Gt,n,Wt),$e(e,t,Bt)}function Xt(e,t,n,r,s){const i=n+3;let o=i+Ue(e,n);if(t||o--,"number"==typeof r){for(let t=i;t<=o;t++)if(e[t]===r)return;e.splice(o,0,r),e[n+1]++,$e(e,n,Le(e,n)|1<<s)}else null!==r&&null==e[o]&&(e[o]=r)}function en(e,t,n,r,s,i,o,a){return s&&r&&(function(e){if(!Be(e)){const t=Ye(e);t&&function(e,t){for(let n=1;n<t.length;n+=2){const r=tt(t,n);r&&Yt(e,-1,Xe(t,n),r,!1)}}(e,t),function(e){je(e,1|Re(e))}(e)}}(r),function(e,t){return e&&t>me}(r,i))?(function(e,t,n,r,s,i,o){const a=!0===(l=s)?-1:!1===l?0:l;var l;const c=tn,u=(a&Le(e,3))>0?1:0;let h=We(e);for(;h<e.length;){const s=Ue(e,h);if(a&Le(e,h)){let a=!1;const l=Me(e,h),d=s-1,f=He(e,h,d);for(let s=0;s<d;s++){const c=He(e,h,s),u=r[c];if(Qe(u)){i(t,n,l,o&&Fe(e,h)?o(l,u,2):u,c),a=!0;break}}if(c){const s=c(e,t,n,r,i,o,u|(a?4:2),l,f);a=a||s}a||i(t,n,l,f)}h+=3+s}c&&c(e,t,n,r,i,o,u)}(r,e,t,n,i,o,a),!0):s}let tn=null;const nn=(e,t,n,r)=>{const s=t.style;r?(r=r.toString(),e&&rt(e)?e.setStyle(t,n,r,nt.DashCase):s&&s.setProperty(n,r)):e&&rt(e)?e.removeStyle(t,n,nt.DashCase):s&&s.removeProperty(n)},rn=(e,t,n,r)=>{if(""!==n){const s=t.classList;r?e&&rt(e)?e.addClass(t,n):s&&s.add(n):e&&rt(e)?e.removeClass(t,n):s&&s.remove(n)}},sn={},on=(e,t,n,r,s,i,o,a,l)=>{let c=!1;if(Ue(e,3)){let u=!0;const h=!a;h&&-2&o&&(u=!1,c=!0),u&&(c=function e(t,n,r,s,i,o,a,l,c,u){let h=!1;if(c<Ue(t,3)){const d=He(t,3,c),f=s[d];let p=function(e){return e>=cn.length&&cn.push(1),cn[e]}(c);for(;p<f.length;){const m=Xe(f,p),g=l&&m>l,y=!g&&m===l,b=tt(f,p),_=Qe(b);let v=e(t,n,r,s,i,o,g?a:an(a,_,y),g?l:m,c+1,u);if(g){h||(h=v);break}if(!v&&ln(a,y)){const e=y&&!_,t=e?u:b,s=e?d:null;i(n,r,m,o?o(m,t,3):t,s),v=!0}h=v&&y,p+=2}if(cn[c]=p,1===f.length||!l)return e(t,n,r,s,i,o,a,l,c+1,u)}return h}(e,t,n,r,s,i,o,a||null,0,l||null)),h&&function(){for(let e=0;e<cn.length;e++)cn[e]=1}()}return c};function an(e,t,n){let r=e;return t||4&e||!(n||1&e)?(r|=4,r&=-3):(r|=2,r&=-5),r}function ln(e,t){let n=(1&e)>0;return n?4&e&&t&&(n=!1):2&e&&(n=t),n}const cn=[];function un(e,t,n,r){for(let s=1;s<e.length;s+=2){const i=Xe(e,s);if(t<=i){let o=!1;if(i===t){const t=e[s];!r&&Qe(t)||(o=!0,et(e,s,n))}else o=!0,e.splice(s,0,t,n);return o}}return e.push(t,n),!0}let hn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>dn(),e})();const dn=(...e)=>{},fn=new T("The presence of this token marks an injector as being the root injector."),pn=function(e,t,n){return new wn(e,t,n)};let mn=(()=>{class e{static create(e,t){return Array.isArray(e)?pn(e,t,""):pn(e.providers,e.parent,e.name||"")}}return e.THROW_IF_NOT_FOUND=A,e.NULL=new H,e.ngInjectableDef=g({token:e,providedIn:"any",factory:()=>$(D)}),e.__NG_ELEMENT_ID__=-1,e})();const gn=function(e){return e},yn=[],bn=gn,_n=function(){return Array.prototype.slice.call(arguments)},vn="\u0275";class wn{constructor(e,t=mn.NULL,n=null){this.parent=t,this.source=n;const r=this._records=new Map;r.set(mn,{token:mn,fn:gn,deps:yn,value:this,useNew:!1}),r.set(D,{token:D,fn:gn,deps:yn,value:this,useNew:!1}),function e(t,n){if(n)if((n=C(n))instanceof Array)for(let r=0;r<n.length;r++)e(t,n[r]);else{if("function"==typeof n)throw Sn("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw Sn("Unexpected provider",n);{let e=C(n.provide);const r=function(e){const t=function(e){let t=yn;const n=e.deps;if(n&&n.length){t=[];for(let e=0;e<n.length;e++){let r=6,s=C(n[e]);if(s instanceof Array)for(let e=0,t=s;e<t.length;e++){const n=t[e];n instanceof h||n==h?r|=1:n instanceof f||n==f?r&=-3:n instanceof d||n==d?r&=-5:s=n instanceof u?n.token:C(n)}t.push({token:s,options:r})}}else if(e.useExisting)t=[{token:C(e.useExisting),options:6}];else if(!(n||M in e))throw Sn("'deps' required",e);return t}(e);let n=gn,r=yn,s=!1,i=C(e.provide);if(M in e)r=e.useValue;else if(e.useFactory)n=e.useFactory;else if(e.useExisting);else if(e.useClass)s=!0,n=C(e.useClass);else{if("function"!=typeof i)throw Sn("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",e);s=!0,n=i}return{deps:t,fn:n,useNew:s,value:r}}(n);if(!0===n.multi){let r=t.get(e);if(r){if(r.fn!==_n)throw Cn(e)}else t.set(e,r={token:n.provide,deps:[],useNew:!1,fn:_n,value:yn});r.deps.push({token:e=n,options:6})}const s=t.get(e);if(s&&s.fn==_n)throw Cn(e);t.set(e,r)}}}(r,e)}get(e,t,n=p.Default){const r=this._records.get(e);try{return function e(t,n,r,s,i,o){try{return function(t,n,r,s,i,o){let a;if(!n||o&p.SkipSelf)o&p.Self||(a=s.get(t,i,p.Default));else{if((a=n.value)==bn)throw Error(vn+"Circular dependency");if(a===yn){n.value=bn;let t=void 0,i=n.useNew,o=n.fn,l=n.deps,c=yn;if(l.length){c=[];for(let t=0;t<l.length;t++){const n=l[t],i=n.options,o=2&i?r.get(n.token):void 0;c.push(e(n.token,o,r,o||4&i?s:mn.NULL,1&i?null:mn.THROW_IF_NOT_FOUND,p.Default))}}n.value=a=i?new o(...c):o.apply(t,c)}}return a}(t,n,r,s,i,o)}catch(a){throw a instanceof Error||(a=new Error(a)),(a[N]=a[N]||[]).unshift(t),n&&n.value==bn&&(n.value=yn),a}}(e,r,this._records,this.parent,t,n)}catch(s){return function(e,t,n,r){const s=e[N];throw t[j]&&s.unshift(t[j]),e.message=z("\n"+e.message,s,"StaticInjectorError",r),e[I]=s,e[N]=null,e}(s,e,0,this.source)}}toString(){const e=[];return this._records.forEach((t,n)=>e.push(_(n))),`StaticInjector[${e.join(", ")}]`}}function Cn(e){return Sn("Cannot mix multi providers and regular providers",e)}function Sn(e,t){return new Error(z(e,t,"StaticInjectorError"))}const En=new T("AnalyzeForEntryComponents");function xn(e){const t=ve(),n=t[ae];n.firstTemplatePass&&(function(e,t,n){const r=e.expandoInstructions,s=r.length;s>=2&&r[s-2]===t.hostBindings?r[s-1]=r[s-1]+n:r.push(t.hostBindings,n)}(n,_e,e),function(e,t,n){for(let r=0;r<n;r++)t.push(sn),e.blueprint.push(sn),e.data.push(null)}(n,t,e))}let kn=null;function On(){if(!kn){const e=O.Symbol;if(e&&e.iterator)kn=e.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const n=e[t];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(kn=n)}}}return kn}function Tn(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)}function Dn(e,t){const n=Nn(e),r=Nn(t);if(n&&r)return function(e,t,n){const r=e[On()](),s=t[On()]();for(;;){const e=r.next(),t=s.next();if(e.done&&t.done)return!0;if(e.done||t.done)return!1;if(!n(e.value,t.value))return!1}}(e,t,Dn);{const s=e&&("object"==typeof e||"function"==typeof e),i=t&&("object"==typeof t||"function"==typeof t);return!(n||!s||r||!i)||Tn(e,t)}}class An{constructor(e){this.wrapped=e}static wrap(e){return new An(e)}static unwrap(e){return An.isWrapped(e)?e.wrapped:e}static isWrapped(e){return e instanceof An}}function Nn(e){return!!In(e)&&(Array.isArray(e)||!(e instanceof Map)&&On()in e)}function In(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Pn(){var e,t;ve()[ae].firstTemplatePass&&(e=we,t=Ln(),Pe(Un(e),t),Pe($n(e),t))}function Rn(e){const t=Te(),n=ve(),r=be(t,n),s=$n(r),i=Ln(),o=n[le]++;!i&&function(e){return 0!=(16&e.flags)}(r)&&e!==sn&&(Vn(s,n,r,o,e,!1),e=sn),Mn(t,s,o,e,!1,zn())}function jn(e){!function(e,t){const n=ve(),r=be(e,n),s=Un(r),i=Ln(),o=n[le]++;!i&&function(e){return 0!=(8&e.flags)}(r)&&t!==sn&&(Vn(s,n,r,o,t,!0),t=sn),Mn(e,s,o,t,!0,zn())}(Te(),e)}function Mn(e,t,n,r,s,i){tn=on;const o=ve();let a=!1;if(r!==sn){const l=ye(be(e,o),o),c=o[n];a=Ge(c,r);const u=function(e,t,n){const r=Array.isArray(e)?e:[null];r[0]=t||null;for(let a=1;a<r.length;a+=2)et(r,a,null);let s,i=null,o=!1;if("string"==typeof t?t.length&&(i=t.split(/\s+/),o=!0):(i=t?Object.keys(t):null,s=t),i)for(let a=0;a<i.length;a++){const e=i[a];un(r,n?Ze(e):e,!!o||s[e],!0)}return r}(c,r,!s);s?function(e,t,n,r,s,i,o,a){const c=ge(l,qe(e)),u=qt;!Kt(e,t,u,null,s,i,o,a,!1)&&!a||(c.classesBitMask|=1<<u)}(t,o,0,0,n,u,i,a):function(e,t,n,r,s,i,o,a,l){const c=ge(n,qe(e)),u=qt;!Kt(e,t,u,null,s,i,a,l,!0)&&!l||(c.stylesBitMask|=1<<u)}(t,o,l,0,n,u,De(),i,a)}return a}function Vn(e,t,n,r,s,i){t[r]!==s&&((s||Be(e))&&function(e,t,n){const r=e[ae];for(let s=0;s<t.length;){const i=t[s++],o=t[s++],a=t[s++],l=e[i],c=r.data[i];c.setInput?c.setInput(l,n,o,a):l[a]=n}}(t,n.inputs[i?"class":"style"],function(e,t,n){let r=t;var s;return e.length>0&&(r=n?Ke(e,((s=t)&&"string"!=typeof s&&(s=Object.keys(s).join(" ")),s||"")):Ke(e,function(e){let t="";if(e){const n=Object.keys(e);for(let r=0;r<n.length;r++){const s=n[r];t=Ke(t,`${s}:${e[s]}`,";")}}return t}(t),";")),r}(function(e){const t=Ye(e);return t&&t[0]||""}(e),s,i)),t[r]=s)}function Fn(){const e=Te(),t=ve(),n=be(e,t),r=function(e,t){return 3===e.type?t[ce]:null}(n,t),s=ye(n,t),i=Ln(),o=De();(function(e,t,n,r,s,i,o){const a=n?qe(n):!!r&&qe(r),l=ze(n,i),c=ze(r,i);Qt.length&&(l||c)&&Zt();const u=ge(s,a),h=en(e,s,t,n,l,u.classesBitMask,rn,null),d=en(e,s,t,r,c,u.stylesBitMask,nn,o);h&&d?(he=null,fe=null,a&&function(e){de.delete(e)}(s)):a&&function(e,t){de.set(e,t)}(s,u)})(r,t,Un(n),$n(n),s,i,o),Se=null}function Ln(){return Ee+xe}function $n(e){return Hn(e,!1)}function Un(e){return Hn(e,!0)}function Hn(e,t){let n=t?e.classes:e.styles;return Je(n)||(n=[n||[""],0,Ie,1,0,Ne],t?e.classes=n:e.styles=n),n}function zn(){return ke>0}function Bn(e){return!!e&&"function"==typeof e.then}function qn(e){return!!e&&"function"==typeof e.subscribe}class Wn{constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}}class Gn{}class Qn{}function Kn(e){const t=Error(`No component factory found for ${_(e)}. Did you add it to @NgModule.entryComponents?`);return t[Zn]=e,t}const Zn="ngComponent";class Yn{resolveComponentFactory(e){throw Kn(e)}}let Jn=(()=>{class e{}return e.NULL=new Yn,e})();class Xn{constructor(e,t,n){this._parent=t,this._ngModule=n,this._factories=new Map;for(let r=0;r<e.length;r++){const t=e[r];this._factories.set(t.componentType,t)}}resolveComponentFactory(e){let t=this._factories.get(e);if(!t&&this._parent&&(t=this._parent.resolveComponentFactory(e)),!t)throw Kn(e);return new er(t,this._ngModule)}}class er extends Qn{constructor(e,t){super(),this.factory=e,this.ngModule=t,this.selector=e.selector,this.componentType=e.componentType,this.ngContentSelectors=e.ngContentSelectors,this.inputs=e.inputs,this.outputs=e.outputs}create(e,t,n,r){return this.factory.create(e,t,n,r||this.ngModule)}}function tr(...e){}let nr=(()=>{class e{constructor(e){this.nativeElement=e}}return e.__NG_ELEMENT_ID__=()=>rr(e),e})();const rr=tr;class sr{}class ir{}const or=function(){var e={Important:1,DashCase:2};return e[e.Important]="Important",e[e.DashCase]="DashCase",e}();let ar=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>lr(),e})();const lr=tr;class cr{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const ur=new cr("8.2.4");class hr{constructor(){}supports(e){return Nn(e)}create(e){return new fr(e)}}const dr=(e,t)=>t;class fr{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||dr}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,n=this._removalsHead,r=0,s=null;for(;t||n;){const i=!n||t&&t.currentIndex<yr(n,r,s)?t:n,o=yr(i,r,s),a=i.currentIndex;if(i===n)r--,n=n._nextRemoved;else if(t=t._next,null==i.previousIndex)r++;else{s||(s=[]);const e=o-r,t=a-r;if(e!=t){for(let n=0;n<e;n++){const r=n<s.length?s[n]:s[n]=0,i=r+n;t<=i&&i<e&&(s[n]=r+1)}s[i.previousIndex]=t-e}}o!==a&&e(i,o,a)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!Nn(e))throw new Error(`Error trying to diff '${_(e)}'. Only arrays and iterables are allowed`);return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t,n,r,s=this._itHead,i=!1;if(Array.isArray(e)){this.length=e.length;for(let t=0;t<this.length;t++)r=this._trackByFn(t,n=e[t]),null!==s&&Tn(s.trackById,r)?(i&&(s=this._verifyReinsertion(s,n,r,t)),Tn(s.item,n)||this._addIdentityChange(s,n)):(s=this._mismatch(s,n,r,t),i=!0),s=s._next}else t=0,function(e,t){if(Array.isArray(e))for(let n=0;n<e.length;n++)t(e[n]);else{const n=e[On()]();let r;for(;!(r=n.next()).done;)t(r.value)}}(e,e=>{r=this._trackByFn(t,e),null!==s&&Tn(s.trackById,r)?(i&&(s=this._verifyReinsertion(s,e,r,t)),Tn(s.item,e)||this._addIdentityChange(s,e)):(s=this._mismatch(s,e,r,t),i=!0),s=s._next,t++}),this.length=t;return this._truncate(s),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e,t;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=t)e.previousIndex=e.currentIndex,t=e._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,n,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Tn(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Tn(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):e=this._addAfter(new pr(t,n),s,r),e}_verifyReinsertion(e,t,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,n),this._addToMoves(e,n),e}_moveAfter(e,t,n){return this._unlink(e),this._insertAfter(e,t,n),this._addToMoves(e,n),e}_addAfter(e,t,n){return this._insertAfter(e,t,n),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,n){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new gr),this._linkedRecords.put(e),e.currentIndex=n,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,n=e._next;return null===t?this._itHead=n:t._next=n,null===n?this._itTail=t:n._prev=t,e}_addToMoves(e,t){return e.previousIndex===t?e:(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e,e)}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new gr),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class pr{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class mr{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===t||t<=n.currentIndex)&&Tn(n.trackById,e))return n;return null}remove(e){const t=e._prevDup,n=e._nextDup;return null===t?this._head=n:t._nextDup=n,null===n?this._tail=t:n._prevDup=t,null===this._head}}class gr{constructor(){this.map=new Map}put(e){const t=e.trackById;let n=this.map.get(t);n||(n=new mr,this.map.set(t,n)),n.add(e)}get(e,t){const n=this.map.get(e);return n?n.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function yr(e,t,n){const r=e.previousIndex;if(null===r)return r;let s=0;return n&&r<n.length&&(s=n[r]),r+t+s}class br{constructor(){}supports(e){return e instanceof Map||In(e)}create(){return new _r}}class _r{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(e){let t;for(t=this._mapHead;null!==t;t=t._next)e(t)}forEachPreviousItem(e){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)}forEachChangedItem(e){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}diff(e){if(e){if(!(e instanceof Map||In(e)))throw new Error(`Error trying to diff '${_(e)}'. Only maps and objects are allowed`)}else e=new Map;return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(e,(e,n)=>{if(t&&t.key===n)this._maybeAddToChanges(t,e),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(n,e);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let e=t;null!==e;e=e._nextRemoved)e===this._mapHead&&(this._mapHead=null),this._records.delete(e.key),e._nextRemoved=e._next,e.previousValue=e.currentValue,e.currentValue=null,e._prev=null,e._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const n=e._prev;return t._next=e,t._prev=n,e._prev=t,n&&(n._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const n=this._records.get(e);this._maybeAddToChanges(n,t);const r=n._prev,s=n._next;return r&&(r._next=s),s&&(s._prev=r),n._next=null,n._prev=null,n}const n=new vr(e);return this._records.set(e,n),n.currentValue=t,this._addToAdditions(n),n}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Tn(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(n=>t(e[n],n))}}class vr{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}let wr=(()=>{class e{constructor(e){this.factories=e}static create(t,n){if(null!=n){const e=n.factories.slice();t=t.concat(e)}return new e(t)}static extend(t){return{provide:e,useFactory:n=>{if(!n)throw new Error("Cannot extend IterableDiffers without a parent injector");return e.create(t,n)},deps:[[e,new f,new h]]}}find(e){const t=this.factories.find(t=>t.supports(e));if(null!=t)return t;throw new Error(`Cannot find a differ supporting object '${e}' of type '${n=e,n.name||typeof n}'`);var n}}return e.ngInjectableDef=g({token:e,providedIn:"root",factory:()=>new e([new hr])}),e})(),Cr=(()=>{class e{constructor(e){this.factories=e}static create(t,n){if(n){const e=n.factories.slice();t=t.concat(e)}return new e(t)}static extend(t){return{provide:e,useFactory:n=>{if(!n)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return e.create(t,n)},deps:[[e,new f,new h]]}}find(e){const t=this.factories.find(t=>t.supports(e));if(t)return t;throw new Error(`Cannot find a differ supporting object '${e}'`)}}return e.ngInjectableDef=g({token:e,providedIn:"root",factory:()=>new e([new br])}),e})();const Sr=[new br],Er=new wr([new hr]),xr=new Cr(Sr);let kr=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>Or(e,nr),e})();const Or=tr;let Tr=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>Dr(e,nr),e})();const Dr=tr;function Ar(e,t,n,r){let s=`ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '${t}'. Current value: '${n}'.`;return r&&(s+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(e,t){const n=new Error(e);return Nr(n,t),n}(s,e)}function Nr(e,t){e[st]=t,e[ot]=t.logError.bind(t)}function Ir(e){return new Error(`ViewDestroyedError: Attempt to use a destroyed view: ${e}`)}function Pr(e,t,n){const r=e.state,s=1792&r;return s===t?(e.state=-1793&r|n,e.initIndex=-1,!0):s===n}function Rr(e,t,n){return(1792&e.state)===t&&e.initIndex<=n&&(e.initIndex=n+1,!0)}function jr(e,t){return e.nodes[t]}function Mr(e,t){return e.nodes[t]}function Vr(e,t){return e.nodes[t]}function Fr(e,t){return e.nodes[t]}function Lr(e,t){return e.nodes[t]}const $r={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0},Ur=()=>{},Hr=new Map;function zr(e){let t=Hr.get(e);return t||(t=_(e)+"_"+Hr.size,Hr.set(e,t)),t}const Br="$$undefined",qr="$$empty";function Wr(e){return{id:Br,styles:e.styles,encapsulation:e.encapsulation,data:e.data}}let Gr=0;function Qr(e,t,n,r){return!(!(2&e.state)&&Tn(e.oldValues[t.bindingIndex+n],r))}function Kr(e,t,n,r){return!!Qr(e,t,n,r)&&(e.oldValues[t.bindingIndex+n]=r,!0)}function Zr(e,t,n,r){const s=e.oldValues[t.bindingIndex+n];if(1&e.state||!Dn(s,r)){const i=t.bindings[n].name;throw Ar($r.createDebugContext(e,t.nodeIndex),`${i}: ${s}`,`${i}: ${r}`,0!=(1&e.state))}}function Yr(e){let t=e;for(;t;)2&t.def.flags&&(t.state|=8),t=t.viewContainerParent||t.parent}function Jr(e,t){let n=e;for(;n&&n!==t;)n.state|=64,n=n.viewContainerParent||n.parent}function Xr(e,t,n,r){try{return Yr(33554432&e.def.nodes[t].flags?Mr(e,t).componentView:e),$r.handleEvent(e,t,n,r)}catch(s){e.root.errorHandler.handleError(s)}}function es(e){return e.parent?Mr(e.parent,e.parentNodeDef.nodeIndex):null}function ts(e){return e.parent?e.parentNodeDef.parent:null}function ns(e,t){switch(201347067&t.flags){case 1:return Mr(e,t.nodeIndex).renderElement;case 2:return jr(e,t.nodeIndex).renderText}}function rs(e){return!!e.parent&&!!(32768&e.parentNodeDef.flags)}function ss(e){return!(!e.parent||32768&e.parentNodeDef.flags)}function is(e){return 1<<e%32}function os(e){const t={};let n=0;const r={};return e&&e.forEach(([e,s])=>{"number"==typeof e?(t[e]=s,n|=is(e)):r[e]=s}),{matchedQueries:t,references:r,matchedQueryIds:n}}function as(e,t){return e.map(e=>{let n,r;return Array.isArray(e)?[r,n]=e:(r=0,n=e),n&&("function"==typeof n||"object"==typeof n)&&t&&Object.defineProperty(n,j,{value:t,configurable:!0}),{flags:r,token:n,tokenKey:zr(n)}})}function ls(e,t,n){let r=n.renderParent;return r?0==(1&r.flags)||0==(33554432&r.flags)||r.element.componentRendererType&&r.element.componentRendererType.encapsulation===K.Native?Mr(e,n.renderParent.nodeIndex).renderElement:void 0:t}const cs=new WeakMap;function us(e){let t=cs.get(e);return t||((t=e(()=>Ur)).factory=e,cs.set(e,t)),t}function hs(e,t,n,r,s){3===t&&(n=e.renderer.parentNode(ns(e,e.def.lastRenderRootNode))),ds(e,t,0,e.def.nodes.length-1,n,r,s)}function ds(e,t,n,r,s,i,o){for(let a=n;a<=r;a++){const n=e.def.nodes[a];11&n.flags&&ps(e,n,t,s,i,o),a+=n.childCount}}function fs(e,t,n,r,s,i){let o=e;for(;o&&!rs(o);)o=o.parent;const a=o.parent,l=ts(o),c=l.nodeIndex+l.childCount;for(let u=l.nodeIndex+1;u<=c;u++){const e=a.def.nodes[u];e.ngContentIndex===t&&ps(a,e,n,r,s,i),u+=e.childCount}if(!a.parent){const o=e.root.projectableNodes[t];if(o)for(let t=0;t<o.length;t++)ms(e,o[t],n,r,s,i)}}function ps(e,t,n,r,s,i){if(8&t.flags)fs(e,t.ngContent.index,n,r,s,i);else{const o=ns(e,t);if(3===n&&33554432&t.flags&&48&t.bindingFlags?(16&t.bindingFlags&&ms(e,o,n,r,s,i),32&t.bindingFlags&&ms(Mr(e,t.nodeIndex).componentView,o,n,r,s,i)):ms(e,o,n,r,s,i),16777216&t.flags){const o=Mr(e,t.nodeIndex).viewContainer._embeddedViews;for(let e=0;e<o.length;e++)hs(o[e],n,r,s,i)}1&t.flags&&!t.element.name&&ds(e,n,t.nodeIndex+1,t.nodeIndex+t.childCount,r,s,i)}}function ms(e,t,n,r,s,i){const o=e.renderer;switch(n){case 1:o.appendChild(r,t);break;case 2:o.insertBefore(r,t,s);break;case 3:o.removeChild(r,t);break;case 0:i.push(t)}}const gs=/^:([^:]+):(.+)$/;function ys(e){if(":"===e[0]){const t=e.match(gs);return[t[1],t[2]]}return["",e]}function bs(e){let t=0;for(let n=0;n<e.length;n++)t|=e[n].flags;return t}function _s(e,t,n,r,s,i,o,a,l,c,u,h,d,f,p,m,g,y,b,_){switch(e){case 1:return t+vs(n)+r;case 2:return t+vs(n)+r+vs(s)+i;case 3:return t+vs(n)+r+vs(s)+i+vs(o)+a;case 4:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c;case 5:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c+vs(u)+h;case 6:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c+vs(u)+h+vs(d)+f;case 7:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c+vs(u)+h+vs(d)+f+vs(p)+m;case 8:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c+vs(u)+h+vs(d)+f+vs(p)+m+vs(g)+y;case 9:return t+vs(n)+r+vs(s)+i+vs(o)+a+vs(l)+c+vs(u)+h+vs(d)+f+vs(p)+m+vs(g)+y+vs(b)+_;default:throw new Error("Does not support more than 9 expressions")}}function vs(e){return null!=e?e.toString():""}const ws=new Object,Cs=zr(mn),Ss=zr(D),Es=zr(B);function xs(e,t,n,r){return n=C(n),{index:-1,deps:as(r,_(t)),flags:e,token:t,value:n}}function ks(e){const t={},n=[];let r=!1;for(let s=0;s<e.length;s++){const i=e[s];i.token===fn&&!0===i.value&&(r=!0),1073741824&i.flags&&n.push(i.token),i.index=s,t[zr(i.token)]=i}return{factory:null,providersByKey:t,providers:e,modules:n,isRoot:r}}function Os(e,t,n=mn.THROW_IF_NOT_FOUND){const r=L(e);try{if(8&t.flags)return t.token;if(2&t.flags&&(n=null),1&t.flags)return e._parent.get(t.token,n);const o=t.tokenKey;switch(o){case Cs:case Ss:case Es:return e}const a=e._def.providersByKey[o];let l;if(a){let t=e._providers[a.index];return void 0===t&&(t=e._providers[a.index]=Ts(e,a)),t===ws?void 0:t}if((l=y(t.token))&&(s=e,null!=(i=l).providedIn&&(function(e,t){return e._def.modules.indexOf(i.providedIn)>-1}(s)||"root"===i.providedIn&&s._def.isRoot))){const n=e._providers.length;return e._def.providers[n]=e._def.providersByKey[t.tokenKey]={flags:5120,value:l.factory,deps:[],index:n,token:t.token},e._providers[n]=ws,e._providers[n]=Ts(e,e._def.providersByKey[t.tokenKey])}return 4&t.flags?n:e._parent.get(t.token,n)}finally{L(r)}var s,i}function Ts(e,t){let n;switch(201347067&t.flags){case 512:n=function(e,t,n){const r=n.length;switch(r){case 0:return new t;case 1:return new t(Os(e,n[0]));case 2:return new t(Os(e,n[0]),Os(e,n[1]));case 3:return new t(Os(e,n[0]),Os(e,n[1]),Os(e,n[2]));default:const s=new Array(r);for(let t=0;t<r;t++)s[t]=Os(e,n[t]);return new t(...s)}}(e,t.value,t.deps);break;case 1024:n=function(e,t,n){const r=n.length;switch(r){case 0:return t();case 1:return t(Os(e,n[0]));case 2:return t(Os(e,n[0]),Os(e,n[1]));case 3:return t(Os(e,n[0]),Os(e,n[1]),Os(e,n[2]));default:const s=Array(r);for(let t=0;t<r;t++)s[t]=Os(e,n[t]);return t(...s)}}(e,t.value,t.deps);break;case 2048:n=Os(e,t.deps[0]);break;case 256:n=t.value}return n===ws||null===n||"object"!=typeof n||131072&t.flags||"function"!=typeof n.ngOnDestroy||(t.flags|=131072),void 0===n?ws:n}function Ds(e,t){const n=e.viewContainer._embeddedViews;if((null==t||t>=n.length)&&(t=n.length-1),t<0)return null;const r=n[t];return r.viewContainerParent=null,G(n,t),$r.dirtyParentQueries(r),Ns(r),r}function As(e,t,n){const r=t?ns(t,t.def.lastRenderRootNode):e.renderElement,s=n.renderer.parentNode(r),i=n.renderer.nextSibling(r);hs(n,2,s,i,void 0)}function Ns(e){hs(e,3,null,null,void 0)}const Is=new Object;function Ps(e,t,n,r,s,i){return new Rs(e,t,n,r,s,i)}class Rs extends Qn{constructor(e,t,n,r,s,i){super(),this.selector=e,this.componentType=t,this._inputs=r,this._outputs=s,this.ngContentSelectors=i,this.viewDefFactory=n}get inputs(){const e=[],t=this._inputs;for(let n in t)e.push({propName:n,templateName:t[n]});return e}get outputs(){const e=[];for(let t in this._outputs)e.push({propName:t,templateName:this._outputs[t]});return e}create(e,t,n,r){if(!r)throw new Error("ngModule should be provided");const s=us(this.viewDefFactory),i=s.nodes[0].element.componentProvider.nodeIndex,o=$r.createRootView(e,t||[],n,s,r,Is),a=Vr(o,i).instance;return n&&o.renderer.setAttribute(Mr(o,0).renderElement,"ng-version",ur.full),new js(o,new Ls(o),a)}}class js extends Gn{constructor(e,t,n){super(),this._view=e,this._viewRef=t,this._component=n,this._elDef=this._view.def.nodes[0],this.hostView=t,this.changeDetectorRef=t,this.instance=n}get location(){return new nr(Mr(this._view,this._elDef.nodeIndex).renderElement)}get injector(){return new zs(this._view,this._elDef)}get componentType(){return this._component.constructor}destroy(){this._viewRef.destroy()}onDestroy(e){this._viewRef.onDestroy(e)}}function Ms(e,t,n){return new Vs(e,t,n)}class Vs{constructor(e,t,n){this._view=e,this._elDef=t,this._data=n,this._embeddedViews=[]}get element(){return new nr(this._data.renderElement)}get injector(){return new zs(this._view,this._elDef)}get parentInjector(){let e=this._view,t=this._elDef.parent;for(;!t&&e;)t=ts(e),e=e.parent;return e?new zs(e,t):new zs(this._view,null)}clear(){for(let e=this._embeddedViews.length-1;e>=0;e--){const t=Ds(this._data,e);$r.destroyView(t)}}get(e){const t=this._embeddedViews[e];if(t){const e=new Ls(t);return e.attachToViewContainerRef(this),e}return null}get length(){return this._embeddedViews.length}createEmbeddedView(e,t,n){const r=e.createEmbeddedView(t||{});return this.insert(r,n),r}createComponent(e,t,n,r,s){const i=n||this.parentInjector;s||e instanceof er||(s=i.get(B));const o=e.create(i,r,void 0,s);return this.insert(o.hostView,t),o}insert(e,t){if(e.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");const n=e;return function(e,t,n,r){let s=t.viewContainer._embeddedViews;null==n&&(n=s.length),r.viewContainerParent=e,W(s,n,r),function(e,t){const n=es(t);if(!n||n===e||16&t.state)return;t.state|=16;let r=n.template._projectedViews;r||(r=n.template._projectedViews=[]),r.push(t),function(e,n){if(4&n.flags)return;t.parent.def.nodeFlags|=4,n.flags|=4;let r=n.parent;for(;r;)r.childFlags|=4,r=r.parent}(0,t.parentNodeDef)}(t,r),$r.dirtyParentQueries(r),As(t,n>0?s[n-1]:null,r)}(this._view,this._data,t,n._view),n.attachToViewContainerRef(this),e}move(e,t){if(e.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");const n=this._embeddedViews.indexOf(e._view);return function(e,t,r){const s=e.viewContainer._embeddedViews,i=s[n];G(s,n),null==r&&(r=s.length),W(s,r,i),$r.dirtyParentQueries(i),Ns(i),As(e,r>0?s[r-1]:null,i)}(this._data,0,t),e}indexOf(e){return this._embeddedViews.indexOf(e._view)}remove(e){const t=Ds(this._data,e);t&&$r.destroyView(t)}detach(e){const t=Ds(this._data,e);return t?new Ls(t):null}}function Fs(e){return new Ls(e)}class Ls{constructor(e){this._view=e,this._viewContainerRef=null,this._appRef=null}get rootNodes(){return function(e){const t=[];return hs(e,0,void 0,void 0,t),t}(this._view)}get context(){return this._view.context}get destroyed(){return 0!=(128&this._view.state)}markForCheck(){Yr(this._view)}detach(){this._view.state&=-5}detectChanges(){const e=this._view.root.rendererFactory;e.begin&&e.begin();try{$r.checkAndUpdateView(this._view)}finally{e.end&&e.end()}}checkNoChanges(){$r.checkNoChangesView(this._view)}reattach(){this._view.state|=4}onDestroy(e){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(e)}destroy(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),$r.destroyView(this._view)}detachFromAppRef(){this._appRef=null,Ns(this._view),$r.dirtyParentQueries(this._view)}attachToAppRef(e){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}attachToViewContainerRef(e){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=e}}function $s(e,t){return new Us(e,t)}class Us extends kr{constructor(e,t){super(),this._parentView=e,this._def=t}createEmbeddedView(e){return new Ls($r.createEmbeddedView(this._parentView,this._def,this._def.element.template,e))}get elementRef(){return new nr(Mr(this._parentView,this._def.nodeIndex).renderElement)}}function Hs(e,t){return new zs(e,t)}class zs{constructor(e,t){this.view=e,this.elDef=t}get(e,t=mn.THROW_IF_NOT_FOUND){return $r.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:e,tokenKey:zr(e)},t)}}function Bs(e,t){const n=e.def.nodes[t];if(1&n.flags){const t=Mr(e,n.nodeIndex);return n.element.template?t.template:t.renderElement}if(2&n.flags)return jr(e,n.nodeIndex).renderText;if(20240&n.flags)return Vr(e,n.nodeIndex).instance;throw new Error(`Illegal state: read nodeValue for node index ${t}`)}function qs(e){return new Ws(e.renderer)}class Ws{constructor(e){this.delegate=e}selectRootElement(e){return this.delegate.selectRootElement(e)}createElement(e,t){const[n,r]=ys(t),s=this.delegate.createElement(r,n);return e&&this.delegate.appendChild(e,s),s}createViewRoot(e){return e}createTemplateAnchor(e){const t=this.delegate.createComment("");return e&&this.delegate.appendChild(e,t),t}createText(e,t){const n=this.delegate.createText(t);return e&&this.delegate.appendChild(e,n),n}projectNodes(e,t){for(let n=0;n<t.length;n++)this.delegate.appendChild(e,t[n])}attachViewAfter(e,t){const n=this.delegate.parentNode(e),r=this.delegate.nextSibling(e);for(let s=0;s<t.length;s++)this.delegate.insertBefore(n,t[s],r)}detachView(e){for(let t=0;t<e.length;t++){const n=e[t],r=this.delegate.parentNode(n);this.delegate.removeChild(r,n)}}destroyView(e,t){for(let n=0;n<t.length;n++)this.delegate.destroyNode(t[n])}listen(e,t,n){return this.delegate.listen(e,t,n)}listenGlobal(e,t,n){return this.delegate.listen(e,t,n)}setElementProperty(e,t,n){this.delegate.setProperty(e,t,n)}setElementAttribute(e,t,n){const[r,s]=ys(t);null!=n?this.delegate.setAttribute(e,s,n,r):this.delegate.removeAttribute(e,s,r)}setBindingDebugInfo(e,t,n){}setElementClass(e,t,n){n?this.delegate.addClass(e,t):this.delegate.removeClass(e,t)}setElementStyle(e,t,n){null!=n?this.delegate.setStyle(e,t,n):this.delegate.removeStyle(e,t)}invokeElementMethod(e,t,n){e[t].apply(e,n)}setText(e,t){this.delegate.setValue(e,t)}animate(){throw new Error("Renderer.animate is no longer supported!")}}function Gs(e,t,n,r){return new Qs(e,t,n,r)}class Qs{constructor(e,t,n,r){this._moduleType=e,this._parent=t,this._bootstrapComponents=n,this._def=r,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(e){const t=e._def,n=e._providers=new Array(t.providers.length);for(let r=0;r<t.providers.length;r++){const s=t.providers[r];4096&s.flags||void 0===n[r]&&(n[r]=Ts(e,s))}}(this)}get(e,t=mn.THROW_IF_NOT_FOUND,n=p.Default){let r=0;return n&p.SkipSelf?r|=1:n&p.Self&&(r|=4),Os(this,{token:e,tokenKey:zr(e),flags:r},t)}get instance(){return this.get(this._moduleType)}get componentFactoryResolver(){return this.get(Jn)}destroy(){if(this._destroyed)throw new Error(`The ng module ${_(this.instance.constructor)} has already been destroyed.`);this._destroyed=!0,function(e,t){const n=e._def,r=new Set;for(let s=0;s<n.providers.length;s++)if(131072&n.providers[s].flags){const t=e._providers[s];if(t&&t!==ws){const e=t.ngOnDestroy;"function"!=typeof e||r.has(t)||(e.apply(t),r.add(t))}}}(this),this._destroyListeners.forEach(e=>e())}onDestroy(e){this._destroyListeners.push(e)}}const Ks=zr(sr),Zs=zr(ar),Ys=zr(nr),Js=zr(Tr),Xs=zr(kr),ei=zr(hn),ti=zr(mn),ni=zr(D);function ri(e,t,n,r,s,i,o,a){const l=[];if(o)for(let u in o){const[e,t]=o[u];l[e]={flags:8,name:u,nonMinifiedName:t,ns:null,securityContext:null,suffix:null}}const c=[];if(a)for(let u in a)c.push({type:1,propName:u,target:null,eventName:a[u]});return ii(e,t|=16384,n,r,s,s,i,l,c)}function si(e,t,n,r,s){return ii(-1,e,t,0,n,r,s)}function ii(e,t,n,r,s,i,o,a,l){const{matchedQueries:c,references:u,matchedQueryIds:h}=os(n);l||(l=[]),a||(a=[]),i=C(i);const d=as(o,_(s));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:c,matchedQueryIds:h,references:u,ngContentIndex:-1,childCount:r,bindings:a,bindingFlags:bs(a),outputs:l,element:null,provider:{token:s,value:i,deps:d},text:null,query:null,ngContent:null}}function oi(e,t){return ui(e,t)}function ai(e,t){let n=e;for(;n.parent&&!rs(n);)n=n.parent;return hi(n.parent,ts(n),!0,t.provider.value,t.provider.deps)}function li(e,t){const n=hi(e,t.parent,(32768&t.flags)>0,t.provider.value,t.provider.deps);if(t.outputs.length)for(let r=0;r<t.outputs.length;r++){const s=t.outputs[r],i=n[s.propName];if(!qn(i))throw new Error(`@Output ${s.propName} not initialized in '${n.constructor.name}'.`);{const n=i.subscribe(ci(e,t.parent.nodeIndex,s.eventName));e.disposables[t.outputIndex+r]=n.unsubscribe.bind(n)}}return n}function ci(e,t,n){return r=>Xr(e,t,n,r)}function ui(e,t){const n=(8192&t.flags)>0,r=t.provider;switch(201347067&t.flags){case 512:return hi(e,t.parent,n,r.value,r.deps);case 1024:return function(e,t,n,r,s){const i=s.length;switch(i){case 0:return r();case 1:return r(fi(e,t,n,s[0]));case 2:return r(fi(e,t,n,s[0]),fi(e,t,n,s[1]));case 3:return r(fi(e,t,n,s[0]),fi(e,t,n,s[1]),fi(e,t,n,s[2]));default:const o=Array(i);for(let r=0;r<i;r++)o[r]=fi(e,t,n,s[r]);return r(...o)}}(e,t.parent,n,r.value,r.deps);case 2048:return fi(e,t.parent,n,r.deps[0]);case 256:return r.value}}function hi(e,t,n,r,s){const i=s.length;switch(i){case 0:return new r;case 1:return new r(fi(e,t,n,s[0]));case 2:return new r(fi(e,t,n,s[0]),fi(e,t,n,s[1]));case 3:return new r(fi(e,t,n,s[0]),fi(e,t,n,s[1]),fi(e,t,n,s[2]));default:const o=new Array(i);for(let r=0;r<i;r++)o[r]=fi(e,t,n,s[r]);return new r(...o)}}const di={};function fi(e,t,n,r,s=mn.THROW_IF_NOT_FOUND){if(8&r.flags)return r.token;const i=e;2&r.flags&&(s=null);const o=r.tokenKey;o===ei&&(n=!(!t||!t.element.componentView)),t&&1&r.flags&&(n=!1,t=t.parent);let a=e;for(;a;){if(t)switch(o){case Ks:return qs(pi(a,t,n));case Zs:return pi(a,t,n).renderer;case Ys:return new nr(Mr(a,t.nodeIndex).renderElement);case Js:return Mr(a,t.nodeIndex).viewContainer;case Xs:if(t.element.template)return Mr(a,t.nodeIndex).template;break;case ei:return Fs(pi(a,t,n));case ti:case ni:return Hs(a,t);default:const e=(n?t.element.allProviders:t.element.publicProviders)[o];if(e){let t=Vr(a,e.nodeIndex);return t||(t={instance:ui(a,e)},a.nodes[e.nodeIndex]=t),t.instance}}n=rs(a),t=ts(a),a=a.parent,4&r.flags&&(a=null)}const l=i.root.injector.get(r.token,di);return l!==di||s===di?l:i.root.ngModule.injector.get(r.token,s)}function pi(e,t,n){let r;if(n)r=Mr(e,t.nodeIndex).componentView;else for(r=e;r.parent&&!rs(r);)r=r.parent;return r}function mi(e,t,n,r,s,i){if(32768&n.flags){const t=Mr(e,n.parent.nodeIndex).componentView;2&t.def.flags&&(t.state|=8)}if(t.instance[n.bindings[r].name]=s,524288&n.flags){i=i||{};const t=An.unwrap(e.oldValues[n.bindingIndex+r]);i[n.bindings[r].nonMinifiedName]=new Wn(t,s,0!=(2&e.state))}return e.oldValues[n.bindingIndex+r]=s,i}function gi(e,t){if(!(e.def.nodeFlags&t))return;const n=e.def.nodes;let r=0;for(let s=0;s<n.length;s++){const i=n[s];let o=i.parent;for(!o&&i.flags&t&&bi(e,s,i.flags&t,r++),0==(i.childFlags&t)&&(s+=i.childCount);o&&1&o.flags&&s===o.nodeIndex+o.childCount;)o.directChildFlags&t&&(r=yi(e,o,t,r)),o=o.parent}}function yi(e,t,n,r){for(let s=t.nodeIndex+1;s<=t.nodeIndex+t.childCount;s++){const t=e.def.nodes[s];t.flags&n&&bi(e,s,t.flags&n,r++),s+=t.childCount}return r}function bi(e,t,n,r){const s=Vr(e,t);if(!s)return;const i=s.instance;i&&($r.setCurrentNode(e,t),1048576&n&&Rr(e,512,r)&&i.ngAfterContentInit(),2097152&n&&i.ngAfterContentChecked(),4194304&n&&Rr(e,768,r)&&i.ngAfterViewInit(),8388608&n&&i.ngAfterViewChecked(),131072&n&&i.ngOnDestroy())}const _i=new T("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Ae}),vi={},wi=function(){var e={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencySymbol:15,CurrencyName:16,Currencies:17,PluralCase:18,ExtraData:19};return e[e.LocaleId]="LocaleId",e[e.DayPeriodsFormat]="DayPeriodsFormat",e[e.DayPeriodsStandalone]="DayPeriodsStandalone",e[e.DaysFormat]="DaysFormat",e[e.DaysStandalone]="DaysStandalone",e[e.MonthsFormat]="MonthsFormat",e[e.MonthsStandalone]="MonthsStandalone",e[e.Eras]="Eras",e[e.FirstDayOfWeek]="FirstDayOfWeek",e[e.WeekendRange]="WeekendRange",e[e.DateFormat]="DateFormat",e[e.TimeFormat]="TimeFormat",e[e.DateTimeFormat]="DateTimeFormat",e[e.NumberSymbols]="NumberSymbols",e[e.NumberFormats]="NumberFormats",e[e.CurrencySymbol]="CurrencySymbol",e[e.CurrencyName]="CurrencyName",e[e.Currencies]="Currencies",e[e.PluralCase]="PluralCase",e[e.ExtraData]="ExtraData",e}(),Ci=void 0;var Si=["en",[["a","p"],["AM","PM"],Ci],[["AM","PM"],Ci,Ci],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Ci,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Ci,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Ci,"{1} 'at' {0}",Ci],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===n?1:5}];function Ei(e){return xi(e)[wi.PluralCase]}function xi(e){const t=e.toLowerCase().replace(/_/g,"-");let n=vi[t];if(n)return n;const r=t.split("-")[0];if(n=vi[r])return n;if("en"===r)return Si;throw new Error(`Missing locale data for the locale "${e}".`)}const ki="en-US";let Oi=ki;function Ti(e){var t;t="Expected localeId to be defined",null==e&&function(e){throw new Error(`ASSERTION ERROR: ${e}`)}(t),"string"==typeof e&&(Oi=e.toLowerCase().replace(/_/g,"-"))}class Di extends r.a{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,n){let r,i=e=>null,o=()=>null;e&&"object"==typeof e?(r=this.__isAsync?t=>{setTimeout(()=>e.next(t))}:t=>{e.next(t)},e.error&&(i=this.__isAsync?t=>{setTimeout(()=>e.error(t))}:t=>{e.error(t)}),e.complete&&(o=this.__isAsync?()=>{setTimeout(()=>e.complete())}:()=>{e.complete()})):(r=this.__isAsync?t=>{setTimeout(()=>e(t))}:t=>{e(t)},t&&(i=this.__isAsync?e=>{setTimeout(()=>t(e))}:e=>{t(e)}),n&&(o=this.__isAsync?()=>{setTimeout(()=>n())}:()=>{n()}));const a=super.subscribe(r,i,o);return e instanceof s.a&&e.add(a),a}}function Ai(){return this._results[On()]()}class Ni{constructor(){this.dirty=!0,this._results=[],this.changes=new Di,this.length=0;const e=On(),t=Ni.prototype;t[e]||(t[e]=Ai)}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e){this._results=function e(t,n){void 0===n&&(n=t);for(let r=0;r<t.length;r++){let s=t[r];Array.isArray(s)?(n===t&&(n=t.slice(0,r)),e(s,n)):n!==t&&n.push(s)}return n}(e),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]}notifyOnChanges(){this.changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}const Ii=new T("Application Initializer");class Pi{constructor(e){this.appInits=e,this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}runInitializers(){if(this.initialized)return;const e=[],t=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let n=0;n<this.appInits.length;n++){const t=this.appInits[n]();Bn(t)&&e.push(t)}Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),0===e.length&&t(),this.initialized=!0}}const Ri=new T("AppId");function ji(){return`${Mi()}${Mi()}${Mi()}`}function Mi(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Vi=new T("Platform Initializer"),Fi=new T("Platform ID"),Li=new T("appBootstrapListener");class $i{log(e){console.log(e)}warn(e){console.warn(e)}}const Ui=new T("LocaleId"),Hi=!1;function zi(){throw new Error("Runtime compiler is not loaded")}const Bi=zi,qi=zi,Wi=zi,Gi=zi;class Qi{constructor(){this.compileModuleSync=Bi,this.compileModuleAsync=qi,this.compileModuleAndAllComponentsSync=Wi,this.compileModuleAndAllComponentsAsync=Gi}clearCache(){}clearCacheFor(e){}getModuleId(e){}}class Ki{}let Zi,Yi;function Ji(){const e=O.wtf;return!(!e||!(Zi=e.trace)||(Yi=Zi.events,0))}const Xi=Ji(),eo=Xi?function(e,t=null){return Yi.createScope(e,t)}:(e,t)=>(function(e,t){return null}),to=Xi?function(e,t){return Zi.leaveScope(e,t),t}:(e,t)=>t,no=(()=>Promise.resolve(0))();function ro(e){"undefined"==typeof Zone?no.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class so{constructor({enableLongStackTrace:e=!1}){if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Di(!1),this.onMicrotaskEmpty=new Di(!1),this.onStable=new Di(!1),this.onError=new Di(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");var t;Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),(t=this)._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,n,r,s,i,o)=>{try{return lo(t),e.invokeTask(r,s,i,o)}finally{co(t)}},onInvoke:(e,n,r,s,i,o,a)=>{try{return lo(t),e.invoke(r,s,i,o,a)}finally{co(t)}},onHasTask:(e,n,r,s)=>{e.hasTask(r,s),n===r&&("microTask"==s.change?(t.hasPendingMicrotasks=s.microTask,ao(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,n,r,s)=>(e.handleError(r,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!so.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(so.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){const s=this._inner,i=s.scheduleEventTask("NgZoneEvent: "+r,e,oo,io,io);try{return s.runTask(i,t,n)}finally{s.cancelTask(i)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}}function io(){}const oo={};function ao(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function lo(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function co(e){e._nesting--,ao(e)}class uo{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Di,this.onMicrotaskEmpty=new Di,this.onStable=new Di,this.onError=new Di}run(e){return e()}runGuarded(e){return e()}runOutsideAngular(e){return e()}runTask(e){return e()}}class ho{constructor(e){this._ngZone=e,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{so.assertNotInAngularZone(),ro(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())ro(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(t=>!t.updateCb||!t.updateCb(e)||(clearTimeout(t.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,t,n){let r=-1;t&&t>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(e=>e.timeoutId!==r),e(this._didWork,this.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:r,updateCb:n})}whenStable(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(e,t,n){return[]}}class fo{constructor(){this._applications=new Map,yo.addToWindow(this)}registerApplication(e,t){this._applications.set(e,t)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,t=!0){return yo.findTestabilityInTree(this,e,t)}}class po{addToWindow(e){}findTestabilityInTree(e,t,n){return null}}function mo(e){yo=e}let go,yo=new po,bo=function(e,t,n){return e.get(Ki).createCompiler([t]).compileModuleAsync(n)},_o=function(e){return e instanceof er};const vo=new T("AllowMultipleToken");class wo{constructor(e,t){this.name=e,this.token=t}}function Co(e,t,n=[]){const r=`Platform: ${t}`,s=new T(r);return(t=[])=>{let i=So();if(!i||i.injector.get(vo,!1))if(e)e(n.concat(t).concat({provide:s,useValue:!0}));else{const e=n.concat(t).concat({provide:s,useValue:!0});!function(e){if(go&&!go.destroyed&&!go.injector.get(vo,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");go=e.get(Eo);const t=e.get(Vi,null);t&&t.forEach(e=>e())}(mn.create({providers:e,name:r}))}return function(e){const t=So();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}(s)}}function So(){return go&&!go.destroyed?go:null}class Eo{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,t){const n="noop"===(s=t?t.ngZone:void 0)?new uo:("zone.js"===s?void 0:s)||new so({enableLongStackTrace:ft()}),r=[{provide:so,useValue:n}];var s;return n.run(()=>{const t=mn.create({providers:r,parent:this.injector,name:e.moduleType.name}),s=e.create(t),i=s.injector.get(ut,null);if(!i)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return Hi&&Ti(s.injector.get(Ui,ki)||ki),s.onDestroy(()=>Oo(this._modules,s)),n.runOutsideAngular(()=>n.onError.subscribe({next:e=>{i.handleError(e)}})),function(e,t,n){try{const s=n();return Bn(s)?s.catch(n=>{throw t.runOutsideAngular(()=>e.handleError(n)),n}):s}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(i,n,()=>{const e=s.injector.get(Pi);return e.runInitializers(),e.donePromise.then(()=>(this._moduleDoBootstrap(s),s))})})}bootstrapModule(e,t=[]){const n=xo({},t);return bo(this.injector,n,e).then(e=>this.bootstrapModuleFactory(e,n))}_moduleDoBootstrap(e){const t=e.injector.get(ko);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(e=>t.bootstrap(e));else{if(!e.instance.ngDoBootstrap)throw new Error(`The module ${_(e.instance.constructor)} was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. `+"Please define one of these.");e.instance.ngDoBootstrap(t)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(e=>e.destroy()),this._destroyListeners.forEach(e=>e()),this._destroyed=!0}get destroyed(){return this._destroyed}}function xo(e,t){return Array.isArray(t)?t.reduce(xo,e):Object.assign({},e,t)}let ko=(()=>{class e{constructor(e,t,n,r,s,l){this._zone=e,this._console=t,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=l,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=ft(),this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const c=new i.a(e=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{e.next(this._stable),e.complete()})}),u=new i.a(e=>{let t;this._zone.runOutsideAngular(()=>{t=this._zone.onStable.subscribe(()=>{so.assertNotInAngularZone(),ro(()=>{this._stable||this._zone.hasPendingMacrotasks||this._zone.hasPendingMicrotasks||(this._stable=!0,e.next(!0))})})});const n=this._zone.onUnstable.subscribe(()=>{so.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{e.next(!1)}))});return()=>{t.unsubscribe(),n.unsubscribe()}});this.isStable=Object(o.a)(c,u.pipe(Object(a.a)()))}bootstrap(e,t){if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");let n;n=e instanceof Qn?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);const r=_o(n)?null:this._injector.get(B),s=n.create(mn.NULL,[],t||n.selector,r);s.onDestroy(()=>{this._unloadComponent(s)});const i=s.injector.get(ho,null);return i&&s.injector.get(fo).registerApplication(s.location.nativeElement,i),this._loadComponent(s),ft()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s}tick(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");const t=e._tickScope();try{this._runningTick=!0;for(let e of this._views)e.detectChanges();if(this._enforceNoNewChanges)for(let e of this._views)e.checkNoChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1,to(t)}}attachView(e){const t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){const t=e;Oo(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Li,[]).concat(this._bootstrapListeners).forEach(t=>t(e))}_unloadComponent(e){this.detachView(e.hostView),Oo(this.components,e)}ngOnDestroy(){this._views.slice().forEach(e=>e.destroy())}get viewCount(){return this._views.length}}return e._tickScope=eo("ApplicationRef#tick()"),e})();function Oo(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class To{}const Do="#",Ao="NgFactory";class No{}const Io={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};class Po{constructor(e,t){this._compiler=e,this._config=t||Io}load(e){return!Hi&&this._compiler instanceof Qi?this.loadFactory(e):this.loadAndCompile(e)}loadAndCompile(e){let[t,r]=e.split(Do);return void 0===r&&(r="default"),n("zn8P")(t).then(e=>e[r]).then(e=>Ro(e,t,r)).then(e=>this._compiler.compileModuleAsync(e))}loadFactory(e){let[t,r]=e.split(Do),s=Ao;return void 0===r&&(r="default",s=""),n("zn8P")(this._config.factoryPathPrefix+t+this._config.factoryPathSuffix).then(e=>e[r+s]).then(e=>Ro(e,t,r))}}function Ro(e,t,n){if(!e)throw new Error(`Cannot find '${n}' in '${t}'`);return e}class jo{constructor(e,t){this.name=e,this.callback=t}}class Mo{constructor(e,t,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=e,t&&t instanceof Vo&&t.addChild(this)}get injector(){return this._debugContext.injector}get componentInstance(){return this._debugContext.component}get context(){return this._debugContext.context}get references(){return this._debugContext.references}get providerTokens(){return this._debugContext.providerTokens}}class Vo extends Mo{constructor(e,t,n){super(e,t,n),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=e}addChild(e){e&&(this.childNodes.push(e),e.parent=this)}removeChild(e){const t=this.childNodes.indexOf(e);-1!==t&&(e.parent=null,this.childNodes.splice(t,1))}insertChildrenAfter(e,t){const n=this.childNodes.indexOf(e);-1!==n&&(this.childNodes.splice(n+1,0,...t),t.forEach(t=>{t.parent&&t.parent.removeChild(t),e.parent=this}))}insertBefore(e,t){const n=this.childNodes.indexOf(e);-1===n?this.addChild(t):(t.parent&&t.parent.removeChild(t),t.parent=this,this.childNodes.splice(n,0,t))}query(e){return this.queryAll(e)[0]||null}queryAll(e){const t=[];return function e(t,n,r){t.childNodes.forEach(t=>{t instanceof Vo&&(n(t)&&r.push(t),e(t,n,r))})}(this,e,t),t}queryAllNodes(e){const t=[];return function e(t,n,r){t instanceof Vo&&t.childNodes.forEach(t=>{n(t)&&r.push(t),t instanceof Vo&&e(t,n,r)})}(this,e,t),t}get children(){return this.childNodes.filter(e=>e instanceof Vo)}triggerEventHandler(e,t){this.listeners.forEach(n=>{n.name==e&&n.callback(t)})}}const Fo=new Map,Lo=function(e){return Fo.get(e)||null};function $o(e){Fo.set(e.nativeNode,e)}const Uo=Co(null,"core",[{provide:Fi,useValue:"unknown"},{provide:Eo,deps:[mn]},{provide:fo,deps:[]},{provide:$i,deps:[]}]);function Ho(){return Er}function zo(){return xr}function Bo(e){return e?(Hi&&Ti(e),e):ki}function qo(e){let t=[];return e.onStable.subscribe(()=>{for(;t.length;)t.pop()()}),function(e){t.push(e)}}class Wo{constructor(e){}}function Go(e,t,n,r,s,i){e|=1;const{matchedQueries:o,references:a,matchedQueryIds:l}=os(t);return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:e,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:o,matchedQueryIds:l,references:a,ngContentIndex:n,childCount:r,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:i?us(i):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:s||Ur},provider:null,text:null,query:null,ngContent:null}}function Qo(e,t,n,r,s,i,o=[],a,l,c,u,h){c||(c=Ur);const{matchedQueries:d,references:f,matchedQueryIds:p}=os(n);let m=null,g=null;i&&([m,g]=ys(i)),a=a||[];const y=new Array(a.length);for(let v=0;v<a.length;v++){const[e,t,n]=a[v],[r,s]=ys(t);let i=void 0,o=void 0;switch(15&e){case 4:o=n;break;case 1:case 8:i=n}y[v]={flags:e,ns:r,name:s,nonMinifiedName:s,securityContext:i,suffix:o}}l=l||[];const b=new Array(l.length);for(let v=0;v<l.length;v++){const[e,t]=l[v];b[v]={type:0,target:e,eventName:t,propName:null}}const _=(o=o||[]).map(([e,t])=>{const[n,r]=ys(e);return[n,r,t]});return h=function(e){if(e&&e.id===Br){const t=null!=e.encapsulation&&e.encapsulation!==K.None||e.styles.length||Object.keys(e.data).length;e.id=t?`c${Gr++}`:qr}return e&&e.id===qr&&(e=null),e||null}(h),u&&(t|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:t|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:d,matchedQueryIds:p,references:f,ngContentIndex:r,childCount:s,bindings:y,bindingFlags:bs(y),outputs:b,element:{ns:m,name:g,attrs:_,template:null,componentProvider:null,componentView:u||null,componentRendererType:h,publicProviders:null,allProviders:null,handleEvent:c||Ur},provider:null,text:null,query:null,ngContent:null}}function Ko(e,t,n){const r=n.element,s=e.root.selectorOrNode,i=e.renderer;let o;if(e.parent||!s){o=r.name?i.createElement(r.name,r.ns):i.createComment("");const s=ls(e,t,n);s&&i.appendChild(s,o)}else o=i.selectRootElement(s,!!r.componentRendererType&&r.componentRendererType.encapsulation===K.ShadowDom);if(r.attrs)for(let a=0;a<r.attrs.length;a++){const[e,t,n]=r.attrs[a];i.setAttribute(o,t,n,e)}return o}function Zo(e,t,n,r){for(let o=0;o<n.outputs.length;o++){const a=n.outputs[o],l=Yo(e,n.nodeIndex,(i=a.eventName,(s=a.target)?`${s}:${i}`:i));let c=a.target,u=e;"component"===a.target&&(c=null,u=t);const h=u.renderer.listen(c||r,a.eventName,l);e.disposables[n.outputIndex+o]=h}var s,i}function Yo(e,t,n){return r=>Xr(e,t,n,r)}function Jo(e,t,n,r){if(!Kr(e,t,n,r))return!1;const s=t.bindings[n],i=Mr(e,t.nodeIndex),o=i.renderElement,a=s.name;switch(15&s.flags){case 1:!function(e,t,n,r,s,i){const o=t.securityContext;let a=o?e.root.sanitizer.sanitize(o,i):i;a=null!=a?a.toString():null;const l=e.renderer;null!=i?l.setAttribute(n,s,a,r):l.removeAttribute(n,s,r)}(e,s,o,s.ns,a,r);break;case 2:!function(e,t,n,r){const s=e.renderer;r?s.addClass(t,n):s.removeClass(t,n)}(e,o,a,r);break;case 4:!function(e,t,n,r,s){let i=e.root.sanitizer.sanitize(Vt.STYLE,s);if(null!=i){i=i.toString();const e=t.suffix;null!=e&&(i+=e)}else i=null;const o=e.renderer;null!=i?o.setStyle(n,r,i):o.removeStyle(n,r)}(e,s,o,a,r);break;case 8:!function(e,t,n,r,s){const i=t.securityContext;let o=i?e.root.sanitizer.sanitize(i,s):s;e.renderer.setProperty(n,r,o)}(33554432&t.flags&&32&s.flags?i.componentView:e,s,o,a,r)}return!0}function Xo(e,t,n){let r=[];for(let s in n)r.push({propName:s,bindingType:n[s]});return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:t,filterId:is(t),bindings:r},ngContent:null}}function ea(e){const t=e.def.nodeMatchedQueries;for(;e.parent&&ss(e);){let n=e.parentNodeDef;e=e.parent;const r=n.nodeIndex+n.childCount;for(let s=0;s<=r;s++){const r=e.def.nodes[s];67108864&r.flags&&536870912&r.flags&&(r.query.filterId&t)===r.query.filterId&&Lr(e,s).setDirty(),!(1&r.flags&&s+r.childCount<n.nodeIndex)&&67108864&r.childFlags&&536870912&r.childFlags||(s+=r.childCount)}}if(134217728&e.def.nodeFlags)for(let n=0;n<e.def.nodes.length;n++){const t=e.def.nodes[n];134217728&t.flags&&536870912&t.flags&&Lr(e,n).setDirty(),n+=t.childCount}}function ta(e,t){const n=Lr(e,t.nodeIndex);if(!n.dirty)return;let r,s=void 0;if(67108864&t.flags){const n=t.parent.parent;s=na(e,n.nodeIndex,n.nodeIndex+n.childCount,t.query,[]),r=Vr(e,t.parent.nodeIndex).instance}else 134217728&t.flags&&(s=na(e,0,e.def.nodes.length-1,t.query,[]),r=e.component);n.reset(s);const i=t.query.bindings;let o=!1;for(let a=0;a<i.length;a++){const e=i[a];let t;switch(e.bindingType){case 0:t=n.first;break;case 1:t=n,o=!0}r[e.propName]=t}o&&n.notifyOnChanges()}function na(e,t,n,r,s){for(let i=t;i<=n;i++){const t=e.def.nodes[i],n=t.matchedQueries[r.id];if(null!=n&&s.push(ra(e,t,n)),1&t.flags&&t.element.template&&(t.element.template.nodeMatchedQueries&r.filterId)===r.filterId){const n=Mr(e,i);if((t.childMatchedQueries&r.filterId)===r.filterId&&(na(e,i+1,i+t.childCount,r,s),i+=t.childCount),16777216&t.flags){const e=n.viewContainer._embeddedViews;for(let t=0;t<e.length;t++){const i=e[t],o=es(i);o&&o===n&&na(i,0,i.def.nodes.length-1,r,s)}}const o=n.template._projectedViews;if(o)for(let e=0;e<o.length;e++){const t=o[e];na(t,0,t.def.nodes.length-1,r,s)}}(t.childMatchedQueries&r.filterId)!==r.filterId&&(i+=t.childCount)}return s}function ra(e,t,n){if(null!=n)switch(n){case 1:return Mr(e,t.nodeIndex).renderElement;case 0:return new nr(Mr(e,t.nodeIndex).renderElement);case 2:return Mr(e,t.nodeIndex).template;case 3:return Mr(e,t.nodeIndex).viewContainer;case 4:return Vr(e,t.nodeIndex).instance}}function sa(e,t){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:t}}}function ia(e,t,n){const r=ls(e,t,n);r&&fs(e,n.ngContent.index,1,r,null,void 0)}function oa(e,t){return la(32,e,new Array(t))}function aa(e,t){const n=Object.keys(t),r=n.length,s=new Array(r);for(let i=0;i<r;i++){const e=n[i];s[t[e]]=e}return la(64,e,s)}function la(e,t,n){const r=new Array(n.length);for(let s=0;s<n.length;s++){const e=n[s];r[s]={flags:8,name:e,ns:null,nonMinifiedName:e,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:r,bindingFlags:bs(r),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}function ca(e,t,n){const r=new Array(n.length-1);for(let s=1;s<n.length;s++)r[s-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[s]};return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:r,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function ua(e,t,n){let r;const s=e.renderer;r=s.createText(n.text.prefix);const i=ls(e,t,n);return i&&s.appendChild(i,r),{renderText:r}}function ha(e,t){return(null!=e?e.toString():"")+t.suffix}function da(e,t,n,r){let s=0,i=0,o=0,a=0,l=0,c=null,u=null,h=!1,d=!1,f=null;for(let p=0;p<t.length;p++){const e=t[p];if(e.nodeIndex=p,e.parent=c,e.bindingIndex=s,e.outputIndex=i,e.renderParent=u,o|=e.flags,l|=e.matchedQueryIds,e.element){const t=e.element;t.publicProviders=c?c.element.publicProviders:Object.create(null),t.allProviders=t.publicProviders,h=!1,d=!1,e.element.template&&(l|=e.element.template.nodeMatchedQueries)}if(pa(c,e,t.length),s+=e.bindings.length,i+=e.outputs.length,!u&&3&e.flags&&(f=e),20224&e.flags){h||(h=!0,c.element.publicProviders=Object.create(c.element.publicProviders),c.element.allProviders=c.element.publicProviders);const t=0!=(32768&e.flags);0==(8192&e.flags)||t?c.element.publicProviders[zr(e.provider.token)]=e:(d||(d=!0,c.element.allProviders=Object.create(c.element.publicProviders)),c.element.allProviders[zr(e.provider.token)]=e),t&&(c.element.componentProvider=e)}if(c?(c.childFlags|=e.flags,c.directChildFlags|=e.flags,c.childMatchedQueries|=e.matchedQueryIds,e.element&&e.element.template&&(c.childMatchedQueries|=e.element.template.nodeMatchedQueries)):a|=e.flags,e.childCount>0)c=e,fa(e)||(u=e);else for(;c&&p===c.nodeIndex+c.childCount;){const e=c.parent;e&&(e.childFlags|=c.childFlags,e.childMatchedQueries|=c.childMatchedQueries),u=(c=e)&&fa(c)?c.renderParent:c}}return{factory:null,nodeFlags:o,rootNodeFlags:a,nodeMatchedQueries:l,flags:e,nodes:t,updateDirectives:n||Ur,updateRenderer:r||Ur,handleEvent:(e,n,r,s)=>t[n].element.handleEvent(e,r,s),bindingCount:s,outputCount:i,lastRenderRootNode:f}}function fa(e){return 0!=(1&e.flags)&&null===e.element.name}function pa(e,t,n){const r=t.element&&t.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error(`Illegal State: Last root node of a template can't have embedded views, at index ${t.nodeIndex}!`)}if(20224&t.flags&&0==(1&(e?e.flags:0)))throw new Error(`Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index ${t.nodeIndex}!`);if(t.query){if(67108864&t.flags&&(!e||0==(16384&e.flags)))throw new Error(`Illegal State: Content Query nodes need to be children of directives, at index ${t.nodeIndex}!`);if(134217728&t.flags&&e)throw new Error(`Illegal State: View Query nodes have to be top level nodes, at index ${t.nodeIndex}!`)}if(t.childCount){const r=e?e.nodeIndex+e.childCount:n-1;if(t.nodeIndex<=r&&t.nodeIndex+t.childCount>r)throw new Error(`Illegal State: childCount of node leads outside of parent, at index ${t.nodeIndex}!`)}}function ma(e,t,n,r){const s=ba(e.root,e.renderer,e,t,n);return _a(s,e.component,r),va(s),s}function ga(e,t,n){const r=ba(e,e.renderer,null,null,t);return _a(r,n,n),va(r),r}function ya(e,t,n,r){const s=t.element.componentRendererType;let i;return i=s?e.root.rendererFactory.createRenderer(r,s):e.root.renderer,ba(e.root,i,e,t.element.componentProvider,n)}function ba(e,t,n,r,s){const i=new Array(s.nodes.length),o=s.outputCount?new Array(s.outputCount):null;return{def:s,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:i,state:13,root:e,renderer:t,oldValues:new Array(s.bindingCount),disposables:o,initIndex:-1}}function _a(e,t,n){e.component=t,e.context=n}function va(e){let t;rs(e)&&(t=Mr(e.parent,e.parentNodeDef.parent.nodeIndex).renderElement);const n=e.def,r=e.nodes;for(let s=0;s<n.nodes.length;s++){const i=n.nodes[s];let o;switch($r.setCurrentNode(e,s),201347067&i.flags){case 1:const n=Ko(e,t,i);let a=void 0;if(33554432&i.flags){const t=us(i.element.componentView);a=$r.createComponentView(e,i,t,n)}Zo(e,a,i,n),o={renderElement:n,componentView:a,viewContainer:null,template:i.element.template?$s(e,i):void 0},16777216&i.flags&&(o.viewContainer=Ms(e,i,o));break;case 2:o=ua(e,t,i);break;case 512:case 1024:case 2048:case 256:(o=r[s])||4096&i.flags||(o={instance:oi(e,i)});break;case 16:o={instance:ai(e,i)};break;case 16384:(o=r[s])||(o={instance:li(e,i)}),32768&i.flags&&_a(Mr(e,i.parent.nodeIndex).componentView,o.instance,o.instance);break;case 32:case 64:case 128:o={value:void 0};break;case 67108864:case 134217728:o=new Ni;break;case 8:ia(e,t,i),o=void 0}r[s]=o}Da(e,Ta.CreateViewNodes),Pa(e,201326592,268435456,0)}function wa(e){Ea(e),$r.updateDirectives(e,1),Aa(e,Ta.CheckNoChanges),$r.updateRenderer(e,1),Da(e,Ta.CheckNoChanges),e.state&=-97}function Ca(e){1&e.state?(e.state&=-2,e.state|=2):e.state&=-3,Pr(e,0,256),Ea(e),$r.updateDirectives(e,0),Aa(e,Ta.CheckAndUpdate),Pa(e,67108864,536870912,0);let t=Pr(e,256,512);gi(e,2097152|(t?1048576:0)),$r.updateRenderer(e,0),Da(e,Ta.CheckAndUpdate),Pa(e,134217728,536870912,0),gi(e,8388608|((t=Pr(e,512,768))?4194304:0)),2&e.def.flags&&(e.state&=-9),e.state&=-97,Pr(e,768,1024)}function Sa(e,t,n,r,s,i,o,a,l,c,u,h,d){return 0===n?function(e,t,n,r,s,i,o,a,l,c,u,h){switch(201347067&t.flags){case 1:return function(e,t,n,r,s,i,o,a,l,c,u,h){const d=t.bindings.length;let f=!1;return d>0&&Jo(e,t,0,n)&&(f=!0),d>1&&Jo(e,t,1,r)&&(f=!0),d>2&&Jo(e,t,2,s)&&(f=!0),d>3&&Jo(e,t,3,i)&&(f=!0),d>4&&Jo(e,t,4,o)&&(f=!0),d>5&&Jo(e,t,5,a)&&(f=!0),d>6&&Jo(e,t,6,l)&&(f=!0),d>7&&Jo(e,t,7,c)&&(f=!0),d>8&&Jo(e,t,8,u)&&(f=!0),d>9&&Jo(e,t,9,h)&&(f=!0),f}(e,t,n,r,s,i,o,a,l,c,u,h);case 2:return function(e,t,n,r,s,i,o,a,l,c,u,h){let d=!1;const f=t.bindings,p=f.length;if(p>0&&Kr(e,t,0,n)&&(d=!0),p>1&&Kr(e,t,1,r)&&(d=!0),p>2&&Kr(e,t,2,s)&&(d=!0),p>3&&Kr(e,t,3,i)&&(d=!0),p>4&&Kr(e,t,4,o)&&(d=!0),p>5&&Kr(e,t,5,a)&&(d=!0),p>6&&Kr(e,t,6,l)&&(d=!0),p>7&&Kr(e,t,7,c)&&(d=!0),p>8&&Kr(e,t,8,u)&&(d=!0),p>9&&Kr(e,t,9,h)&&(d=!0),d){let d=t.text.prefix;p>0&&(d+=ha(n,f[0])),p>1&&(d+=ha(r,f[1])),p>2&&(d+=ha(s,f[2])),p>3&&(d+=ha(i,f[3])),p>4&&(d+=ha(o,f[4])),p>5&&(d+=ha(a,f[5])),p>6&&(d+=ha(l,f[6])),p>7&&(d+=ha(c,f[7])),p>8&&(d+=ha(u,f[8])),p>9&&(d+=ha(h,f[9]));const m=jr(e,t.nodeIndex).renderText;e.renderer.setValue(m,d)}return d}(e,t,n,r,s,i,o,a,l,c,u,h);case 16384:return function(e,t,n,r,s,i,o,a,l,c,u,h){const d=Vr(e,t.nodeIndex),f=d.instance;let p=!1,m=void 0;const g=t.bindings.length;return g>0&&Qr(e,t,0,n)&&(p=!0,m=mi(e,d,t,0,n,m)),g>1&&Qr(e,t,1,r)&&(p=!0,m=mi(e,d,t,1,r,m)),g>2&&Qr(e,t,2,s)&&(p=!0,m=mi(e,d,t,2,s,m)),g>3&&Qr(e,t,3,i)&&(p=!0,m=mi(e,d,t,3,i,m)),g>4&&Qr(e,t,4,o)&&(p=!0,m=mi(e,d,t,4,o,m)),g>5&&Qr(e,t,5,a)&&(p=!0,m=mi(e,d,t,5,a,m)),g>6&&Qr(e,t,6,l)&&(p=!0,m=mi(e,d,t,6,l,m)),g>7&&Qr(e,t,7,c)&&(p=!0,m=mi(e,d,t,7,c,m)),g>8&&Qr(e,t,8,u)&&(p=!0,m=mi(e,d,t,8,u,m)),g>9&&Qr(e,t,9,h)&&(p=!0,m=mi(e,d,t,9,h,m)),m&&f.ngOnChanges(m),65536&t.flags&&Rr(e,256,t.nodeIndex)&&f.ngOnInit(),262144&t.flags&&f.ngDoCheck(),p}(e,t,n,r,s,i,o,a,l,c,u,h);case 32:case 64:case 128:return function(e,t,n,r,s,i,o,a,l,c,u,h){const d=t.bindings;let f=!1;const p=d.length;if(p>0&&Kr(e,t,0,n)&&(f=!0),p>1&&Kr(e,t,1,r)&&(f=!0),p>2&&Kr(e,t,2,s)&&(f=!0),p>3&&Kr(e,t,3,i)&&(f=!0),p>4&&Kr(e,t,4,o)&&(f=!0),p>5&&Kr(e,t,5,a)&&(f=!0),p>6&&Kr(e,t,6,l)&&(f=!0),p>7&&Kr(e,t,7,c)&&(f=!0),p>8&&Kr(e,t,8,u)&&(f=!0),p>9&&Kr(e,t,9,h)&&(f=!0),f){const f=Fr(e,t.nodeIndex);let m;switch(201347067&t.flags){case 32:m=new Array(d.length),p>0&&(m[0]=n),p>1&&(m[1]=r),p>2&&(m[2]=s),p>3&&(m[3]=i),p>4&&(m[4]=o),p>5&&(m[5]=a),p>6&&(m[6]=l),p>7&&(m[7]=c),p>8&&(m[8]=u),p>9&&(m[9]=h);break;case 64:m={},p>0&&(m[d[0].name]=n),p>1&&(m[d[1].name]=r),p>2&&(m[d[2].name]=s),p>3&&(m[d[3].name]=i),p>4&&(m[d[4].name]=o),p>5&&(m[d[5].name]=a),p>6&&(m[d[6].name]=l),p>7&&(m[d[7].name]=c),p>8&&(m[d[8].name]=u),p>9&&(m[d[9].name]=h);break;case 128:const e=n;switch(p){case 1:m=e.transform(n);break;case 2:m=e.transform(r);break;case 3:m=e.transform(r,s);break;case 4:m=e.transform(r,s,i);break;case 5:m=e.transform(r,s,i,o);break;case 6:m=e.transform(r,s,i,o,a);break;case 7:m=e.transform(r,s,i,o,a,l);break;case 8:m=e.transform(r,s,i,o,a,l,c);break;case 9:m=e.transform(r,s,i,o,a,l,c,u);break;case 10:m=e.transform(r,s,i,o,a,l,c,u,h)}}f.value=m}return f}(e,t,n,r,s,i,o,a,l,c,u,h);default:throw"unreachable"}}(e,t,r,s,i,o,a,l,c,u,h,d):function(e,t,n){switch(201347067&t.flags){case 1:return function(e,t,n){let r=!1;for(let s=0;s<n.length;s++)Jo(e,t,s,n[s])&&(r=!0);return r}(e,t,n);case 2:return function(e,t,n){const r=t.bindings;let s=!1;for(let i=0;i<n.length;i++)Kr(e,t,i,n[i])&&(s=!0);if(s){let s="";for(let e=0;e<n.length;e++)s+=ha(n[e],r[e]);s=t.text.prefix+s;const i=jr(e,t.nodeIndex).renderText;e.renderer.setValue(i,s)}return s}(e,t,n);case 16384:return function(e,t,n){const r=Vr(e,t.nodeIndex),s=r.instance;let i=!1,o=void 0;for(let a=0;a<n.length;a++)Qr(e,t,a,n[a])&&(i=!0,o=mi(e,r,t,a,n[a],o));return o&&s.ngOnChanges(o),65536&t.flags&&Rr(e,256,t.nodeIndex)&&s.ngOnInit(),262144&t.flags&&s.ngDoCheck(),i}(e,t,n);case 32:case 64:case 128:return function(e,t,n){const r=t.bindings;let s=!1;for(let i=0;i<n.length;i++)Kr(e,t,i,n[i])&&(s=!0);if(s){const s=Fr(e,t.nodeIndex);let i;switch(201347067&t.flags){case 32:i=n;break;case 64:i={};for(let t=0;t<n.length;t++)i[r[t].name]=n[t];break;case 128:const e=n[0],s=n.slice(1);i=e.transform(...s)}s.value=i}return s}(e,t,n);default:throw"unreachable"}}(e,t,r)}function Ea(e){const t=e.def;if(4&t.nodeFlags)for(let n=0;n<t.nodes.length;n++){const r=t.nodes[n];if(4&r.flags){const t=Mr(e,n).template._projectedViews;if(t)for(let n=0;n<t.length;n++){const r=t[n];r.state|=32,Jr(r,e)}}else 0==(4&r.childFlags)&&(n+=r.childCount)}}function xa(e,t,n,r,s,i,o,a,l,c,u,h,d){return 0===n?function(e,t,n,r,s,i,o,a,l,c,u,h){const d=t.bindings.length;d>0&&Zr(e,t,0,n),d>1&&Zr(e,t,1,r),d>2&&Zr(e,t,2,s),d>3&&Zr(e,t,3,i),d>4&&Zr(e,t,4,o),d>5&&Zr(e,t,5,a),d>6&&Zr(e,t,6,l),d>7&&Zr(e,t,7,c),d>8&&Zr(e,t,8,u),d>9&&Zr(e,t,9,h)}(e,t,r,s,i,o,a,l,c,u,h,d):function(e,t,n){for(let r=0;r<n.length;r++)Zr(e,t,r,n[r])}(e,t,r),!1}function ka(e,t){if(Lr(e,t.nodeIndex).dirty)throw Ar($r.createDebugContext(e,t.nodeIndex),`Query ${t.query.id} not dirty`,`Query ${t.query.id} dirty`,0!=(1&e.state))}function Oa(e){if(!(128&e.state)){if(Aa(e,Ta.Destroy),Da(e,Ta.Destroy),gi(e,131072),e.disposables)for(let t=0;t<e.disposables.length;t++)e.disposables[t]();!function(e){if(!(16&e.state))return;const t=es(e);if(t){const n=t.template._projectedViews;n&&(G(n,n.indexOf(e)),$r.dirtyParentQueries(e))}}(e),e.renderer.destroyNode&&function(e){const t=e.def.nodes.length;for(let n=0;n<t;n++){const t=e.def.nodes[n];1&t.flags?e.renderer.destroyNode(Mr(e,n).renderElement):2&t.flags?e.renderer.destroyNode(jr(e,n).renderText):(67108864&t.flags||134217728&t.flags)&&Lr(e,n).destroy()}}(e),rs(e)&&e.renderer.destroy(),e.state|=128}}const Ta=function(){var e={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return e[e.CreateViewNodes]="CreateViewNodes",e[e.CheckNoChanges]="CheckNoChanges",e[e.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",e[e.CheckAndUpdate]="CheckAndUpdate",e[e.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",e[e.Destroy]="Destroy",e}();function Da(e,t){const n=e.def;if(33554432&n.nodeFlags)for(let r=0;r<n.nodes.length;r++){const s=n.nodes[r];33554432&s.flags?Na(Mr(e,r).componentView,t):0==(33554432&s.childFlags)&&(r+=s.childCount)}}function Aa(e,t){const n=e.def;if(16777216&n.nodeFlags)for(let r=0;r<n.nodes.length;r++){const s=n.nodes[r];if(16777216&s.flags){const n=Mr(e,r).viewContainer._embeddedViews;for(let e=0;e<n.length;e++)Na(n[e],t)}else 0==(16777216&s.childFlags)&&(r+=s.childCount)}}function Na(e,t){const n=e.state;switch(t){case Ta.CheckNoChanges:0==(128&n)&&(12==(12&n)?wa(e):64&n&&Ia(e,Ta.CheckNoChangesProjectedViews));break;case Ta.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?wa(e):64&n&&Ia(e,t));break;case Ta.CheckAndUpdate:0==(128&n)&&(12==(12&n)?Ca(e):64&n&&Ia(e,Ta.CheckAndUpdateProjectedViews));break;case Ta.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?Ca(e):64&n&&Ia(e,t));break;case Ta.Destroy:Oa(e);break;case Ta.CreateViewNodes:va(e)}}function Ia(e,t){Aa(e,t),Da(e,t)}function Pa(e,t,n,r){if(!(e.def.nodeFlags&t&&e.def.nodeFlags&n))return;const s=e.def.nodes.length;for(let i=0;i<s;i++){const s=e.def.nodes[i];if(s.flags&t&&s.flags&n)switch($r.setCurrentNode(e,s.nodeIndex),r){case 0:ta(e,s);break;case 1:ka(e,s)}s.childFlags&t&&s.childFlags&n||(i+=s.childCount)}}let Ra=!1;function ja(e,t,n,r,s,i){const o=s.injector.get(ir);return ga(Va(e,s,o,t,n),r,i)}function Ma(e,t,n,r,s,i){const o=s.injector.get(ir),a=Va(e,s,new ml(o),t,n),l=Ga(r);return fl(Xa.create,ga,null,[a,l,i])}function Va(e,t,n,r,s){const i=t.injector.get(Ft),o=t.injector.get(ut),a=n.createRenderer(null,null);return{ngModule:t,injector:e,projectableNodes:r,selectorOrNode:s,sanitizer:i,rendererFactory:n,renderer:a,errorHandler:o}}function Fa(e,t,n,r){const s=Ga(n);return fl(Xa.create,ma,null,[e,t,s,r])}function La(e,t,n,r){return n=za.get(t.element.componentProvider.provider.token)||Ga(n),fl(Xa.create,ya,null,[e,t,n,r])}function $a(e,t,n,r){return Gs(e,t,n,function(e){const{hasOverrides:t,hasDeprecatedOverrides:n}=function(e){let t=!1,n=!1;return 0===Ua.size?{hasOverrides:t,hasDeprecatedOverrides:n}:(e.providers.forEach(e=>{const r=Ua.get(e.token);3840&e.flags&&r&&(t=!0,n=n||r.deprecatedBehavior)}),e.modules.forEach(e=>{Ha.forEach((r,s)=>{y(s).providedIn===e&&(t=!0,n=n||r.deprecatedBehavior)})}),{hasOverrides:t,hasDeprecatedOverrides:n})}(e);return t?(function(e){for(let t=0;t<e.providers.length;t++){const r=e.providers[t];n&&(r.flags|=4096);const s=Ua.get(r.token);s&&(r.flags=-3841&r.flags|s.flags,r.deps=as(s.deps),r.value=s.value)}if(Ha.size>0){let t=new Set(e.modules);Ha.forEach((r,s)=>{if(t.has(y(s).providedIn)){let t={token:s,flags:r.flags|(n?4096:0),deps:as(r.deps),value:r.value,index:e.providers.length};e.providers.push(t),e.providersByKey[zr(s)]=t}})}}(e=e.factory(()=>Ur)),e):e}(r))}const Ua=new Map,Ha=new Map,za=new Map;function Ba(e){let t;Ua.set(e.token,e),"function"==typeof e.token&&(t=y(e.token))&&"function"==typeof t.providedIn&&Ha.set(e.token,e)}function qa(e,t){const n=us(t.viewDefFactory),r=us(n.nodes[0].element.componentView);za.set(e,r)}function Wa(){Ua.clear(),Ha.clear(),za.clear()}function Ga(e){if(0===Ua.size)return e;const t=function(e){const t=[];let n=null;for(let r=0;r<e.nodes.length;r++){const s=e.nodes[r];1&s.flags&&(n=s),n&&3840&s.flags&&Ua.has(s.provider.token)&&(t.push(n.nodeIndex),n=null)}return t}(e);if(0===t.length)return e;e=e.factory(()=>Ur);for(let r=0;r<t.length;r++)n(e,t[r]);return e;function n(e,t){for(let n=t+1;n<e.nodes.length;n++){const t=e.nodes[n];if(1&t.flags)return;if(3840&t.flags){const e=t.provider,n=Ua.get(e.token);n&&(t.flags=-3841&t.flags|n.flags,e.deps=as(n.deps),e.value=n.value)}}}}function Qa(e,t,n,r,s,i,o,a,l,c,u,h,d){const f=e.def.nodes[t];return Sa(e,f,n,r,s,i,o,a,l,c,u,h,d),224&f.flags?Fr(e,t).value:void 0}function Ka(e,t,n,r,s,i,o,a,l,c,u,h,d){const f=e.def.nodes[t];return xa(e,f,n,r,s,i,o,a,l,c,u,h,d),224&f.flags?Fr(e,t).value:void 0}function Za(e){return fl(Xa.detectChanges,Ca,null,[e])}function Ya(e){return fl(Xa.checkNoChanges,wa,null,[e])}function Ja(e){return fl(Xa.destroy,Oa,null,[e])}const Xa=function(){var e={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return e[e.create]="create",e[e.detectChanges]="detectChanges",e[e.checkNoChanges]="checkNoChanges",e[e.destroy]="destroy",e[e.handleEvent]="handleEvent",e}();let el,tl,nl;function rl(e,t){tl=e,nl=t}function sl(e,t,n,r){return rl(e,t),fl(Xa.handleEvent,e.def.handleEvent,null,[e,t,n,r])}function il(e,t){if(128&e.state)throw Ir(Xa[el]);return rl(e,cl(e,0)),e.def.updateDirectives(function(e,n,r,...s){const i=e.def.nodes[n];return 0===t?al(e,i,r,s):ll(e,i,r,s),16384&i.flags&&rl(e,cl(e,n)),224&i.flags?Fr(e,i.nodeIndex).value:void 0},e)}function ol(e,t){if(128&e.state)throw Ir(Xa[el]);return rl(e,ul(e,0)),e.def.updateRenderer(function(e,n,r,...s){const i=e.def.nodes[n];return 0===t?al(e,i,r,s):ll(e,i,r,s),3&i.flags&&rl(e,ul(e,n)),224&i.flags?Fr(e,i.nodeIndex).value:void 0},e)}function al(e,t,n,r){if(Sa(e,t,n,...r)){const o=1===n?r[0]:r;if(16384&t.flags){const n={};for(let e=0;e<t.bindings.length;e++){const r=t.bindings[e],a=o[e];8&r.flags&&(n[(s=r.nonMinifiedName,i=void 0,i=s.replace(/[$@]/g,"_"),`ng-reflect-${s=i.replace(Ht,(...e)=>"-"+e[1].toLowerCase())}`)]=zt(a))}const r=t.parent,a=Mr(e,r.nodeIndex).renderElement;if(r.element.name)for(let t in n){const r=n[t];null!=r?e.renderer.setAttribute(a,t,r):e.renderer.removeAttribute(a,t)}else e.renderer.setValue(a,`bindings=${JSON.stringify(n,null,2)}`)}}var s,i}function ll(e,t,n,r){xa(e,t,n,...r)}function cl(e,t){for(let n=t;n<e.def.nodes.length;n++){const t=e.def.nodes[n];if(16384&t.flags&&t.bindings&&t.bindings.length)return n}return null}function ul(e,t){for(let n=t;n<e.def.nodes.length;n++){const t=e.def.nodes[n];if(3&t.flags&&t.bindings&&t.bindings.length)return n}return null}class hl{constructor(e,t){this.view=e,this.nodeIndex=t,null==t&&(this.nodeIndex=t=0),this.nodeDef=e.def.nodes[t];let n=this.nodeDef,r=e;for(;n&&0==(1&n.flags);)n=n.parent;if(!n)for(;!n&&r;)n=ts(r),r=r.parent;this.elDef=n,this.elView=r}get elOrCompView(){return Mr(this.elView,this.elDef.nodeIndex).componentView||this.view}get injector(){return Hs(this.elView,this.elDef)}get component(){return this.elOrCompView.component}get context(){return this.elOrCompView.context}get providerTokens(){const e=[];if(this.elDef)for(let t=this.elDef.nodeIndex+1;t<=this.elDef.nodeIndex+this.elDef.childCount;t++){const n=this.elView.def.nodes[t];20224&n.flags&&e.push(n.provider.token),t+=n.childCount}return e}get references(){const e={};if(this.elDef){dl(this.elView,this.elDef,e);for(let t=this.elDef.nodeIndex+1;t<=this.elDef.nodeIndex+this.elDef.childCount;t++){const n=this.elView.def.nodes[t];20224&n.flags&&dl(this.elView,n,e),t+=n.childCount}}return e}get componentRenderElement(){const e=function(e){for(;e&&!rs(e);)e=e.parent;return e.parent?Mr(e.parent,ts(e).nodeIndex):null}(this.elOrCompView);return e?e.renderElement:void 0}get renderNode(){return 2&this.nodeDef.flags?ns(this.view,this.nodeDef):ns(this.elView,this.elDef)}logError(e,...t){let n,r;2&this.nodeDef.flags?(n=this.view.def,r=this.nodeDef.nodeIndex):(n=this.elView.def,r=this.elDef.nodeIndex);const s=function(e,t){let n=-1;for(let r=0;r<=t;r++)3&e.nodes[r].flags&&n++;return n}(n,r);let i=-1;n.factory(()=>++i===s?e.error.bind(e,...t):Ur),i<s&&(e.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),e.error(...t))}}function dl(e,t,n){for(let r in t.references)n[r]=ra(e,t,t.references[r])}function fl(e,t,n,r){const s=el,i=tl,o=nl;try{el=e;const l=t.apply(n,r);return tl=i,nl=o,el=s,l}catch(a){if(at(a)||!tl)throw a;throw function(e,t){return e instanceof Error||(e=new Error(e.toString())),Nr(e,t),e}(a,pl())}}function pl(){return tl?new hl(tl,nl):null}class ml{constructor(e){this.delegate=e}createRenderer(e,t){return new gl(this.delegate.createRenderer(e,t))}begin(){this.delegate.begin&&this.delegate.begin()}end(){this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)}}class gl{constructor(e){this.delegate=e,this.debugContextFactory=pl,this.data=this.delegate.data}createDebugContext(e){return this.debugContextFactory(e)}destroyNode(e){const t=Lo(e);Fo.delete(t.nativeNode),t instanceof Mo&&(t.listeners.length=0),this.delegate.destroyNode&&this.delegate.destroyNode(e)}destroy(){this.delegate.destroy()}createElement(e,t){const n=this.delegate.createElement(e,t),r=this.createDebugContext(n);if(r){const t=new Vo(n,null,r);t.name=e,$o(t)}return n}createComment(e){const t=this.delegate.createComment(e),n=this.createDebugContext(t);return n&&$o(new Mo(t,null,n)),t}createText(e){const t=this.delegate.createText(e),n=this.createDebugContext(t);return n&&$o(new Mo(t,null,n)),t}appendChild(e,t){const n=Lo(e),r=Lo(t);n&&r&&n instanceof Vo&&n.addChild(r),this.delegate.appendChild(e,t)}insertBefore(e,t,n){const r=Lo(e),s=Lo(t),i=Lo(n);r&&s&&r instanceof Vo&&r.insertBefore(i,s),this.delegate.insertBefore(e,t,n)}removeChild(e,t){const n=Lo(e),r=Lo(t);n&&r&&n instanceof Vo&&n.removeChild(r),this.delegate.removeChild(e,t)}selectRootElement(e,t){const n=this.delegate.selectRootElement(e,t),r=pl();return r&&$o(new Vo(n,null,r)),n}setAttribute(e,t,n,r){const s=Lo(e);s&&s instanceof Vo&&(s.attributes[r?r+":"+t:t]=n),this.delegate.setAttribute(e,t,n,r)}removeAttribute(e,t,n){const r=Lo(e);r&&r instanceof Vo&&(r.attributes[n?n+":"+t:t]=null),this.delegate.removeAttribute(e,t,n)}addClass(e,t){const n=Lo(e);n&&n instanceof Vo&&(n.classes[t]=!0),this.delegate.addClass(e,t)}removeClass(e,t){const n=Lo(e);n&&n instanceof Vo&&(n.classes[t]=!1),this.delegate.removeClass(e,t)}setStyle(e,t,n,r){const s=Lo(e);s&&s instanceof Vo&&(s.styles[t]=n),this.delegate.setStyle(e,t,n,r)}removeStyle(e,t,n){const r=Lo(e);r&&r instanceof Vo&&(r.styles[t]=null),this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){const r=Lo(e);r&&r instanceof Vo&&(r.properties[t]=n),this.delegate.setProperty(e,t,n)}listen(e,t,n){if("string"!=typeof e){const r=Lo(e);r&&r.listeners.push(new jo(t,n))}return this.delegate.listen(e,t,n)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setValue(e,t){return this.delegate.setValue(e,t)}}function yl(e,t,n){return new bl(e,t,n)}class bl extends q{constructor(e,t,n){super(),this.moduleType=e,this._bootstrapComponents=t,this._ngModuleDefFactory=n}create(e){!function(){if(Ra)return;Ra=!0;const e=ft()?{setCurrentNode:rl,createRootView:Ma,createEmbeddedView:Fa,createComponentView:La,createNgModuleRef:$a,overrideProvider:Ba,overrideComponentView:qa,clearOverrides:Wa,checkAndUpdateView:Za,checkNoChangesView:Ya,destroyView:Ja,createDebugContext:(e,t)=>new hl(e,t),handleEvent:sl,updateDirectives:il,updateRenderer:ol}:{setCurrentNode:()=>{},createRootView:ja,createEmbeddedView:ma,createComponentView:ya,createNgModuleRef:Gs,overrideProvider:Ur,overrideComponentView:Ur,clearOverrides:Ur,checkAndUpdateView:Ca,checkNoChangesView:wa,destroyView:Oa,createDebugContext:(e,t)=>new hl(e,t),handleEvent:(e,t,n,r)=>e.def.handleEvent(e,t,n,r),updateDirectives:(e,t)=>e.def.updateDirectives(0===t?Qa:Ka,e),updateRenderer:(e,t)=>e.def.updateRenderer(0===t?Qa:Ka,e)};$r.setCurrentNode=e.setCurrentNode,$r.createRootView=e.createRootView,$r.createEmbeddedView=e.createEmbeddedView,$r.createComponentView=e.createComponentView,$r.createNgModuleRef=e.createNgModuleRef,$r.overrideProvider=e.overrideProvider,$r.overrideComponentView=e.overrideComponentView,$r.clearOverrides=e.clearOverrides,$r.checkAndUpdateView=e.checkAndUpdateView,$r.checkNoChangesView=e.checkNoChangesView,$r.destroyView=e.destroyView,$r.resolveDep=fi,$r.createDebugContext=e.createDebugContext,$r.handleEvent=e.handleEvent,$r.updateDirectives=e.updateDirectives,$r.updateRenderer=e.updateRenderer,$r.dirtyParentQueries=ea}();const t=function(e){const t=Array.from(e.providers),n=Array.from(e.modules),r={};for(const s in e.providersByKey)r[s]=e.providersByKey[s];return{factory:e.factory,isRoot:e.isRoot,providers:t,modules:n,providersByKey:r}}(us(this._ngModuleDefFactory));return $r.createNgModuleRef(this.moduleType,e||mn.NULL,this._bootstrapComponents,t)}}},"9ppp":function(e,t,n){"use strict";function r(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}n.d(t,"a",function(){return s}),r.prototype=Object.create(Error.prototype);const s=r},CRDf:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("kJWO");const s=e=>t=>{const n=e[r.a]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(t)}},Cfvw:function(e,t,n){"use strict";var r=n("HDdC"),s=n("c2HN"),i=n("I55L"),o=n("kJWO"),a=n("Lhse"),l=n("yCtX"),c=n("quSY"),u=n("a7t3"),h=n("pLzU"),d=n("CRDf"),f=n("SeVD");function p(e,t){if(!t)return e instanceof r.a?e:new r.a(Object(f.a)(e));if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return new r.a(t?n=>{const r=new c.a;return r.add(t.schedule(()=>{const s=e[o.a]();r.add(s.subscribe({next(e){r.add(t.schedule(()=>n.next(e)))},error(e){r.add(t.schedule(()=>n.error(e)))},complete(){r.add(t.schedule(()=>n.complete()))}}))})),r}:Object(d.a)(e))}(e,t);if(Object(s.a)(e))return function(e,t){return new r.a(t?n=>{const r=new c.a;return r.add(t.schedule(()=>e.then(e=>{r.add(t.schedule(()=>{n.next(e),r.add(t.schedule(()=>n.complete()))}))},e=>{r.add(t.schedule(()=>n.error(e)))}))),r}:Object(u.a)(e))}(e,t);if(Object(i.a)(e))return Object(l.a)(e,t);if(function(e){return e&&"function"==typeof e[a.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new r.a(t?n=>{const r=new c.a;let s;return r.add(()=>{s&&"function"==typeof s.return&&s.return()}),r.add(t.schedule(()=>{s=e[a.a](),r.add(t.schedule(function(){if(n.closed)return;let e,t;try{const i=s.next();e=i.value,t=i.done}catch(r){return void n.error(r)}t?n.complete():(n.next(e),this.schedule())}))})),r}:Object(h.a)(e))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}n.d(t,"a",function(){return p})},D0XW:function(e,t,n){"use strict";var r=n("quSY");class s extends r.a{constructor(e,t){super()}schedule(e,t=0){return this}}class i extends s{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,n=0){return setInterval(e.flush.bind(e,this),n)}recycleAsyncId(e,t,n=0){if(null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let n=!1,r=void 0;try{this.work(e)}catch(s){n=!0,r=!!s&&s||new Error(s)}if(n)return this.unsubscribe(),r}_unsubscribe(){const e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null}}let o=(()=>{class e{constructor(t,n=e.now){this.SchedulerAction=t,this.now=n}schedule(e,t=0,n){return new this.SchedulerAction(this,e).schedule(n,t)}}return e.now=()=>Date.now(),e})();class a extends o{constructor(e,t=o.now){super(e,()=>a.delegate&&a.delegate!==this?a.delegate.now():t()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(e,t=0,n){return a.delegate&&a.delegate!==this?a.delegate.schedule(e,t,n):super.schedule(e,t,n)}flush(e){const{actions:t}=this;if(this.active)return void t.push(e);let n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}}n.d(t,"a",function(){return l});const l=new a(i)},DH7j:function(e,t,n){"use strict";n.d(t,"a",function(){return r});const r=Array.isArray||(e=>e&&"number"==typeof e.length)},EY2u:function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return i});var r=n("HDdC");const s=new r.a(e=>e.complete());function i(e){return e?function(e){return new r.a(t=>e.schedule(()=>t.complete()))}(e):s}},GS7A:function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"c",function(){return s}),n.d(t,"a",function(){return i}),n.d(t,"e",function(){return o}),n.d(t,"f",function(){return a}),n.d(t,"d",function(){return c}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return h});class r{}class s{}const i="*";function o(e,t=null){return{type:2,steps:e,options:t}}function a(e){return{type:6,styles:e,offset:null}}function l(e){Promise.resolve(null).then(e)}class c{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){l(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){}setPosition(e){}getPosition(){return 0}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}}class u{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,n=0,r=0;const s=this.players.length;0==s?l(()=>this._onFinish()):this.players.forEach(e=>{e.onDone(()=>{++t==s&&this._onFinish()}),e.onDestroy(()=>{++n==s&&this._onDestroy()}),e.onStart(()=>{++r==s&&this._onStart()})}),this.totalTime=this.players.reduce((e,t)=>Math.max(e,t.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(e=>{const n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let e=0;return this.players.forEach(t=>{const n=t.getPosition();e=Math.min(n,e)}),e}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}}const h="!"},HDdC:function(e,t,n){"use strict";var r=n("7o/Q"),s=n("2QA8"),i=n("gRHU"),o=n("kJWO"),a=n("mCNh"),l=n("2fFW");n.d(t,"a",function(){return c});let c=(()=>{class e{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(t){const n=new e;return n.source=this,n.operator=t,n}subscribe(e,t,n){const{operator:o}=this,a=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[s.a])return e[s.a]()}return e||t||n?new r.a(e,t,n):new r.a(i.a)}(e,t,n);if(a.add(o?o.call(a,this.source):this.source||l.a.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),l.a.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),function(e){for(;e;){const{closed:t,destination:n,isStopped:s}=e;if(t||s)return!1;e=n&&n instanceof r.a?n:null}return!0}(e)?e.error(t):console.warn(t)}}forEach(e,t){return new(t=u(t))((t,n)=>{let r;r=this.subscribe(t=>{try{e(t)}catch(s){n(s),r&&r.unsubscribe()}},n,t)})}_subscribe(e){const{source:t}=this;return t&&t.subscribe(e)}[o.a](){return this}pipe(...e){return 0===e.length?this:Object(a.b)(e)(this)}toPromise(e){return new(e=u(e))((e,t)=>{let n;this.subscribe(e=>n=e,e=>t(e),()=>e(n))})}}return e.create=t=>new e(t),e})();function u(e){if(e||(e=l.a.Promise||Promise),!e)throw new Error("no Promise impl found");return e}},I55L:function(e,t,n){"use strict";n.d(t,"a",function(){return r});const r=e=>e&&"number"==typeof e.length&&"function"!=typeof e},IzEk:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n("7o/Q"),s=n("4I5i"),i=n("EY2u");function o(e){return t=>0===e?Object(i.b)():t.lift(new a(e))}class a{constructor(e){if(this.total=e,this.total<0)throw new s.a}call(e,t){return t.subscribe(new l(e,this.total))}}class l extends r.a{constructor(e,t){super(e),this.total=t,this.count=0}_next(e){const t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))}}},JX91:function(e,t,n){"use strict";var r=n("yCtX"),s=n("XUOw"),i=n("EY2u"),o=n("LRne"),a=n("0EUg"),l=n("z+Ro");function c(...e){return t=>{let n=e[e.length-1];Object(l.a)(n)?e.pop():n=null;const c=e.length;return function(...e){return Object(a.a)()(Object(o.a)(...e))}(1!==c||n?c>0?Object(r.a)(e,n):Object(i.b)(n):Object(s.a)(e[0]),t)}}n.d(t,"a",function(){return c})},KqfI:function(e,t,n){"use strict";function r(){}n.d(t,"a",function(){return r})},LRne:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n("z+Ro"),s=n("yCtX"),i=n("EY2u"),o=n("XUOw");function a(...e){let t=e[e.length-1];switch(Object(r.a)(t)?e.pop():t=void 0,e.length){case 0:return Object(i.b)(t);case 1:return t?Object(s.a)(e,t):Object(o.a)(e[0]);default:return Object(s.a)(e,t)}}},Lhse:function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return s});const s=r()},NJ4a:function(e,t,n){"use strict";function r(e){setTimeout(()=>{throw e})}n.d(t,"a",function(){return r})},OC8m:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("8Y7J");let s=(()=>{class e{constructor(){this.messages=[]}addMesage(e){this.messages.push(e)}popMessage(){this.messages.splice(0,1)}}return e.ngInjectableDef=r.Pb({factory:function(){return new e},token:e,providedIn:"root"}),e})()},SVse:function(e,t,n){"use strict";n.d(t,"E",function(){return W}),n.d(t,"t",function(){return R}),n.d(t,"l",function(){return Q}),n.d(t,"m",function(){return G}),n.d(t,"d",function(){return f}),n.d(t,"r",function(){return p}),n.d(t,"v",function(){return y}),n.d(t,"u",function(){return b}),n.d(t,"w",function(){return _}),n.d(t,"F",function(){return K}),n.d(t,"b",function(){return he}),n.d(t,"i",function(){return X}),n.d(t,"j",function(){return te}),n.d(t,"k",function(){return re}),n.d(t,"n",function(){return ce}),n.d(t,"o",function(){return ue}),n.d(t,"c",function(){return de}),n.d(t,"D",function(){return fe}),n.d(t,"x",function(){return me}),n.d(t,"y",function(){return ge}),n.d(t,"s",function(){return ye}),n.d(t,"A",function(){return Y}),n.d(t,"z",function(){return Z}),n.d(t,"C",function(){return ae}),n.d(t,"B",function(){return oe}),n.d(t,"q",function(){return s}),n.d(t,"f",function(){return i}),n.d(t,"h",function(){return o}),n.d(t,"a",function(){return a}),n.d(t,"e",function(){return u}),n.d(t,"p",function(){return h}),n.d(t,"g",function(){return l});var r=n("8Y7J");class s{}const i=new r.p("Location Initialized");class o{}const a=new r.p("appBaseHref");class l{constructor(e,t){this._subject=new r.m,this._urlChangeListeners=[],this._platformStrategy=e;const n=this._platformStrategy.getBaseHref();this._platformLocation=t,this._baseHref=l.stripTrailingSlash(c(n)),this._platformStrategy.onPopState(e=>{this._subject.emit({url:this.path(!0),pop:!0,state:e.state,type:e.type})})}path(e=!1){return this.normalize(this._platformStrategy.path(e))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(e,t=""){return this.path()==this.normalize(e+l.normalizeQueryParams(t))}normalize(e){return l.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,c(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)}go(e,t="",n=null){this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+l.normalizeQueryParams(t)),n)}replaceState(e,t="",n=null){this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+l.normalizeQueryParams(t)),n)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}onUrlChange(e){this._urlChangeListeners.push(e),this.subscribe(e=>{this._notifyUrlChangeListeners(e.url,e.state)})}_notifyUrlChangeListeners(e="",t){this._urlChangeListeners.forEach(n=>n(e,t))}subscribe(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})}static normalizeQueryParams(e){return e&&"?"!==e[0]?"?"+e:e}static joinWithSlash(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}static stripTrailingSlash(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}}function c(e){return e.replace(/\/index.html$/,"")}class u extends o{constructor(e,t){super(),this._platformLocation=e,this._baseHref="",null!=t&&(this._baseHref=t)}onPopState(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)}getBaseHref(){return this._baseHref}path(e=!1){let t=this._platformLocation.hash;return null==t&&(t="#"),t.length>0?t.substring(1):t}prepareExternalUrl(e){const t=l.joinWithSlash(this._baseHref,e);return t.length>0?"#"+t:t}pushState(e,t,n,r){let s=this.prepareExternalUrl(n+l.normalizeQueryParams(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(e,t,s)}replaceState(e,t,n,r){let s=this.prepareExternalUrl(n+l.normalizeQueryParams(r));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}class h extends o{constructor(e,t){if(super(),this._platformLocation=e,null==t&&(t=this._platformLocation.getBaseHrefFromDOM()),null==t)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=t}onPopState(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return l.joinWithSlash(this._baseHref,e)}path(e=!1){const t=this._platformLocation.pathname+l.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&e?`${t}${n}`:t}pushState(e,t,n,r){const s=this.prepareExternalUrl(n+l.normalizeQueryParams(r));this._platformLocation.pushState(e,t,s)}replaceState(e,t,n,r){const s=this.prepareExternalUrl(n+l.normalizeQueryParams(r));this._platformLocation.replaceState(e,t,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}}const d=function(){var e={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return e[e.Zero]="Zero",e[e.One]="One",e[e.Two]="Two",e[e.Few]="Few",e[e.Many]="Many",e[e.Other]="Other",e}(),f=function(){var e={Format:0,Standalone:1};return e[e.Format]="Format",e[e.Standalone]="Standalone",e}(),p=function(){var e={Narrow:0,Abbreviated:1,Wide:2,Short:3};return e[e.Narrow]="Narrow",e[e.Abbreviated]="Abbreviated",e[e.Wide]="Wide",e[e.Short]="Short",e}(),m=function(){var e={Short:0,Medium:1,Long:2,Full:3};return e[e.Short]="Short",e[e.Medium]="Medium",e[e.Long]="Long",e[e.Full]="Full",e}(),g=function(){var e={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return e[e.Decimal]="Decimal",e[e.Group]="Group",e[e.List]="List",e[e.PercentSign]="PercentSign",e[e.PlusSign]="PlusSign",e[e.MinusSign]="MinusSign",e[e.Exponential]="Exponential",e[e.SuperscriptingExponent]="SuperscriptingExponent",e[e.PerMille]="PerMille",e[e.Infinity]="Infinity",e[e.NaN]="NaN",e[e.TimeSeparator]="TimeSeparator",e[e.CurrencyDecimal]="CurrencyDecimal",e[e.CurrencyGroup]="CurrencyGroup",e}();function y(e,t,n){const s=Object(r.tb)(e),i=k([s[r.db.DayPeriodsFormat],s[r.db.DayPeriodsStandalone]],t);return k(i,n)}function b(e,t,n){const s=Object(r.tb)(e),i=k([s[r.db.DaysFormat],s[r.db.DaysStandalone]],t);return k(i,n)}function _(e,t,n){const s=Object(r.tb)(e),i=k([s[r.db.MonthsFormat],s[r.db.MonthsStandalone]],t);return k(i,n)}function v(e,t){return k(Object(r.tb)(e)[r.db.DateFormat],t)}function w(e,t){return k(Object(r.tb)(e)[r.db.TimeFormat],t)}function C(e,t){return k(Object(r.tb)(e)[r.db.DateTimeFormat],t)}function S(e,t){const n=Object(r.tb)(e),s=n[r.db.NumberSymbols][t];if(void 0===s){if(t===g.CurrencyDecimal)return n[r.db.NumberSymbols][g.Decimal];if(t===g.CurrencyGroup)return n[r.db.NumberSymbols][g.Group]}return s}const E=r.ub;function x(e){if(!e[r.db.ExtraData])throw new Error(`Missing extra locale data for the locale "${e[r.db.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function k(e,t){for(let n=t;n>-1;n--)if(void 0!==e[n])return e[n];throw new Error("Locale data API: locale data undefined")}function O(e){const[t,n]=e.split(":");return{hours:+t,minutes:+n}}const T=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,D={},A=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,N=function(){var e={Short:0,ShortGMT:1,Long:2,Extended:3};return e[e.Short]="Short",e[e.ShortGMT]="ShortGMT",e[e.Long]="Long",e[e.Extended]="Extended",e}(),I=function(){var e={FullYear:0,Month:1,Date:2,Hours:3,Minutes:4,Seconds:5,FractionalSeconds:6,Day:7};return e[e.FullYear]="FullYear",e[e.Month]="Month",e[e.Date]="Date",e[e.Hours]="Hours",e[e.Minutes]="Minutes",e[e.Seconds]="Seconds",e[e.FractionalSeconds]="FractionalSeconds",e[e.Day]="Day",e}(),P=function(){var e={DayPeriods:0,Days:1,Months:2,Eras:3};return e[e.DayPeriods]="DayPeriods",e[e.Days]="Days",e[e.Months]="Months",e[e.Eras]="Eras",e}();function R(e,t,n,s){let i=function(e){if(q(e))return e;if("number"==typeof e&&!isNaN(e))return new Date(e);if("string"==typeof e){e=e.trim();const t=parseFloat(e);if(!isNaN(e-t))return new Date(t);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){const[t,n,r]=e.split("-").map(e=>+e);return new Date(t,n-1,r)}let n;if(n=e.match(T))return function(e){const t=new Date(0);let n=0,r=0;const s=e[8]?t.setUTCFullYear:t.setFullYear,i=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11])),s.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));const o=Number(e[4]||0)-n,a=Number(e[5]||0)-r,l=Number(e[6]||0),c=Math.round(1e3*parseFloat("0."+(e[7]||0)));return i.call(t,o,a,l,c),t}(n)}const t=new Date(e);if(!q(t))throw new Error(`Unable to convert "${e}" into a date`);return t}(e);t=function e(t,n){const s=function(e){return Object(r.tb)(e)[r.db.LocaleId]}(t);if(D[s]=D[s]||{},D[s][n])return D[s][n];let i="";switch(n){case"shortDate":i=v(t,m.Short);break;case"mediumDate":i=v(t,m.Medium);break;case"longDate":i=v(t,m.Long);break;case"fullDate":i=v(t,m.Full);break;case"shortTime":i=w(t,m.Short);break;case"mediumTime":i=w(t,m.Medium);break;case"longTime":i=w(t,m.Long);break;case"fullTime":i=w(t,m.Full);break;case"short":const r=e(t,"shortTime"),s=e(t,"shortDate");i=j(C(t,m.Short),[r,s]);break;case"medium":const o=e(t,"mediumTime"),a=e(t,"mediumDate");i=j(C(t,m.Medium),[o,a]);break;case"long":const l=e(t,"longTime"),c=e(t,"longDate");i=j(C(t,m.Long),[l,c]);break;case"full":const u=e(t,"fullTime"),h=e(t,"fullDate");i=j(C(t,m.Full),[u,h])}return i&&(D[s][n]=i),i}(n,t)||t;let o,a=[];for(;t;){if(!(o=A.exec(t))){a.push(t);break}{const e=(a=a.concat(o.slice(1))).pop();if(!e)break;t=e}}let l=i.getTimezoneOffset();s&&(l=B(s,l),i=function(e,t,n){const r=e.getTimezoneOffset();return function(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}(e,-1*(B(t,r)-r))}(i,s));let c="";return a.forEach(e=>{const t=function(e){if(z[e])return z[e];let t;switch(e){case"G":case"GG":case"GGG":t=F(P.Eras,p.Abbreviated);break;case"GGGG":t=F(P.Eras,p.Wide);break;case"GGGGG":t=F(P.Eras,p.Narrow);break;case"y":t=V(I.FullYear,1,0,!1,!0);break;case"yy":t=V(I.FullYear,2,0,!0,!0);break;case"yyy":t=V(I.FullYear,3,0,!1,!0);break;case"yyyy":t=V(I.FullYear,4,0,!1,!0);break;case"M":case"L":t=V(I.Month,1,1);break;case"MM":case"LL":t=V(I.Month,2,1);break;case"MMM":t=F(P.Months,p.Abbreviated);break;case"MMMM":t=F(P.Months,p.Wide);break;case"MMMMM":t=F(P.Months,p.Narrow);break;case"LLL":t=F(P.Months,p.Abbreviated,f.Standalone);break;case"LLLL":t=F(P.Months,p.Wide,f.Standalone);break;case"LLLLL":t=F(P.Months,p.Narrow,f.Standalone);break;case"w":t=H(1);break;case"ww":t=H(2);break;case"W":t=H(1,!0);break;case"d":t=V(I.Date,1);break;case"dd":t=V(I.Date,2);break;case"E":case"EE":case"EEE":t=F(P.Days,p.Abbreviated);break;case"EEEE":t=F(P.Days,p.Wide);break;case"EEEEE":t=F(P.Days,p.Narrow);break;case"EEEEEE":t=F(P.Days,p.Short);break;case"a":case"aa":case"aaa":t=F(P.DayPeriods,p.Abbreviated);break;case"aaaa":t=F(P.DayPeriods,p.Wide);break;case"aaaaa":t=F(P.DayPeriods,p.Narrow);break;case"b":case"bb":case"bbb":t=F(P.DayPeriods,p.Abbreviated,f.Standalone,!0);break;case"bbbb":t=F(P.DayPeriods,p.Wide,f.Standalone,!0);break;case"bbbbb":t=F(P.DayPeriods,p.Narrow,f.Standalone,!0);break;case"B":case"BB":case"BBB":t=F(P.DayPeriods,p.Abbreviated,f.Format,!0);break;case"BBBB":t=F(P.DayPeriods,p.Wide,f.Format,!0);break;case"BBBBB":t=F(P.DayPeriods,p.Narrow,f.Format,!0);break;case"h":t=V(I.Hours,1,-12);break;case"hh":t=V(I.Hours,2,-12);break;case"H":t=V(I.Hours,1);break;case"HH":t=V(I.Hours,2);break;case"m":t=V(I.Minutes,1);break;case"mm":t=V(I.Minutes,2);break;case"s":t=V(I.Seconds,1);break;case"ss":t=V(I.Seconds,2);break;case"S":t=V(I.FractionalSeconds,1);break;case"SS":t=V(I.FractionalSeconds,2);break;case"SSS":t=V(I.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":t=L(N.Short);break;case"ZZZZZ":t=L(N.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":t=L(N.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":t=L(N.Long);break;default:return null}return z[e]=t,t}(e);c+=t?t(i,n,l):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function j(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(e,n){return null!=t&&n in t?t[n]:e})),e}function M(e,t,n="-",r,s){let i="";(e<0||s&&e<=0)&&(s?e=1-e:(e=-e,i=n));let o=String(e);for(;o.length<t;)o="0"+o;return r&&(o=o.substr(o.length-t)),i+o}function V(e,t,n=0,r=!1,s=!1){return function(i,o){let a=function(e,t){switch(e){case I.FullYear:return t.getFullYear();case I.Month:return t.getMonth();case I.Date:return t.getDate();case I.Hours:return t.getHours();case I.Minutes:return t.getMinutes();case I.Seconds:return t.getSeconds();case I.FractionalSeconds:return t.getMilliseconds();case I.Day:return t.getDay();default:throw new Error(`Unknown DateType value "${e}".`)}}(e,i);if((n>0||a>-n)&&(a+=n),e===I.Hours)0===a&&-12===n&&(a=12);else if(e===I.FractionalSeconds)return l=t,M(a,3).substr(0,l);var l;const c=S(o,g.MinusSign);return M(a,t,c,r,s)}}function F(e,t,n=f.Format,s=!1){return function(i,o){return function(e,t,n,s,i,o){switch(n){case P.Months:return _(t,i,s)[e.getMonth()];case P.Days:return b(t,i,s)[e.getDay()];case P.DayPeriods:const a=e.getHours(),l=e.getMinutes();if(o){const e=function(e){const t=Object(r.tb)(e);return x(t),(t[r.db.ExtraData][2]||[]).map(e=>"string"==typeof e?O(e):[O(e[0]),O(e[1])])}(t),n=function(e,t,n){const s=Object(r.tb)(e);x(s);const i=k([s[r.db.ExtraData][0],s[r.db.ExtraData][1]],t)||[];return k(i,n)||[]}(t,i,s);let o;if(e.forEach((e,t)=>{if(Array.isArray(e)){const{hours:r,minutes:s}=e[0],{hours:i,minutes:c}=e[1];a>=r&&l>=s&&(a<i||a===i&&l<c)&&(o=n[t])}else{const{hours:r,minutes:s}=e;r===a&&s===l&&(o=n[t])}}),o)return o}return y(t,i,s)[a<12?0:1];case P.Eras:return function(e,t){return k(Object(r.tb)(e)[r.db.Eras],t)}(t,s)[e.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${n}`)}}(i,o,e,t,n,s)}}function L(e){return function(t,n,r){const s=-1*r,i=S(n,g.MinusSign),o=s>0?Math.floor(s/60):Math.ceil(s/60);switch(e){case N.Short:return(s>=0?"+":"")+M(o,2,i)+M(Math.abs(s%60),2,i);case N.ShortGMT:return"GMT"+(s>=0?"+":"")+M(o,1,i);case N.Long:return"GMT"+(s>=0?"+":"")+M(o,2,i)+":"+M(Math.abs(s%60),2,i);case N.Extended:return 0===r?"Z":(s>=0?"+":"")+M(o,2,i)+":"+M(Math.abs(s%60),2,i);default:throw new Error(`Unknown zone width "${e}"`)}}}const $=0,U=4;function H(e,t=!1){return function(n,r){let s;if(t){const e=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,t=n.getDate();s=1+Math.floor((t+e)/7)}else{const e=function(e){const t=new Date(e,$,1).getDay();return new Date(e,0,1+(t<=U?U:U+7)-t)}(n.getFullYear()),t=(i=n,new Date(i.getFullYear(),i.getMonth(),i.getDate()+(U-i.getDay()))).getTime()-e.getTime();s=1+Math.round(t/6048e5)}var i;return M(s,e,S(r,g.MinusSign))}}const z={};function B(e,t){e=e.replace(/:/g,"");const n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function q(e){return e instanceof Date&&!isNaN(e.valueOf())}const W=new r.p("UseV4Plurals");class G{}class Q extends G{constructor(e,t){super(),this.locale=e,this.deprecatedPluralFn=t}getPluralCategory(e,t){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(t||this.locale,e):E(t||this.locale)(e)){case d.Zero:return"zero";case d.One:return"one";case d.Two:return"two";case d.Few:return"few";case d.Many:return"many";default:return"other"}}}function K(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const e=n.indexOf("="),[r,s]=-1==e?[n,""]:[n.slice(0,e),n.slice(e+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class Z{}class Y{constructor(e,t,n,r){this._iterableDiffers=e,this._keyValueDiffers=t,this._ngEl=n,this._renderer=r,this._initialClasses=[]}getValue(){return null}setClass(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}setNgClass(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Object(r.xb)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}applyChanges(){if(this._iterableDiffer){const e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){const e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}}_applyKeyValueChanges(e){e.forEachAddedItem(e=>this._toggleClass(e.key,e.currentValue)),e.forEachChangedItem(e=>this._toggleClass(e.key,e.currentValue)),e.forEachRemovedItem(e=>{e.previousValue&&this._toggleClass(e.key,!1)})}_applyIterableChanges(e){e.forEachAddedItem(e=>{if("string"!=typeof e.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${Object(r.Jb)(e.item)}`);this._toggleClass(e.item,!0)}),e.forEachRemovedItem(e=>this._toggleClass(e.item,!1))}_applyClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(e=>this._toggleClass(e,!0)):Object.keys(e).forEach(t=>this._toggleClass(t,!!e[t])))}_removeClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(e=>this._toggleClass(e,!1)):Object.keys(e).forEach(e=>this._toggleClass(e,!1)))}_toggleClass(e,t){(e=e.trim())&&e.split(/\s+/g).forEach(e=>{t?this._renderer.addClass(this._ngEl.nativeElement,e):this._renderer.removeClass(this._ngEl.nativeElement,e)})}}let J=(()=>{class e{constructor(e){this._delegate=e}getValue(){return this._delegate.getValue()}}return e.ngDirectiveDef=void 0,e})();class X extends J{constructor(e){super(e)}set klass(e){this._delegate.setClass(e)}set ngClass(e){this._delegate.setNgClass(e)}ngDoCheck(){this._delegate.applyChanges()}}class ee{constructor(e,t,n,r){this.$implicit=e,this.ngForOf=t,this.index=n,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}class te{constructor(e,t,n){this._viewContainer=e,this._template=t,this._differs=n,this._ngForOfDirty=!0,this._differ=null}set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){Object(r.W)()&&null!=e&&"function"!=typeof e&&console&&console.warn&&console.warn(`trackBy must be a function, but received ${JSON.stringify(e)}. `+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;if(!this._differ&&n)try{this._differ=this._differs.find(n).create(this.ngForTrackBy)}catch(t){throw new Error(`Cannot find a differ supporting object '${n}' of type '${e=n,e.name||typeof e}'. NgFor only supports binding to Iterables such as Arrays.`)}}var e;if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const t=[];e.forEachOperation((e,n,r)=>{if(null==e.previousIndex){const n=this._viewContainer.createEmbeddedView(this._template,new ee(null,this._ngForOf,-1,-1),null===r?void 0:r),s=new ne(e,n);t.push(s)}else if(null==r)this._viewContainer.remove(null===n?void 0:n);else if(null!==n){const s=this._viewContainer.get(n);this._viewContainer.move(s,r);const i=new ne(e,s);t.push(i)}});for(let n=0;n<t.length;n++)this._perViewChange(t[n].view,t[n].record);for(let n=0,r=this._viewContainer.length;n<r;n++){const e=this._viewContainer.get(n);e.context.index=n,e.context.count=r,e.context.ngForOf=this._ngForOf}e.forEachIdentityChange(e=>{this._viewContainer.get(e.currentIndex).context.$implicit=e.item})}_perViewChange(e,t){e.context.$implicit=t.item}static ngTemplateContextGuard(e,t){return!0}}class ne{constructor(e,t){this.record=e,this.view=t}}class re{constructor(e,t){this._viewContainer=e,this._context=new se,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=t}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){ie("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){ie("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}}class se{constructor(){this.$implicit=null,this.ngIf=null}}function ie(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Object(r.Jb)(t)}'.`)}class oe{}class ae{constructor(e,t,n){this._ngEl=e,this._differs=t,this._renderer=n}getValue(){return null}setNgStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}applyChanges(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_applyChanges(e){e.forEachRemovedItem(e=>this._setStyle(e.key,null)),e.forEachAddedItem(e=>this._setStyle(e.key,e.currentValue)),e.forEachChangedItem(e=>this._setStyle(e.key,e.currentValue))}_setStyle(e,t){const[n,r]=e.split(".");null!=(t=null!=t&&r?`${t}${r}`:t)?this._renderer.setStyle(this._ngEl.nativeElement,n,t):this._renderer.removeStyle(this._ngEl.nativeElement,n)}}let le=(()=>{class e{constructor(e){this._delegate=e}getValue(){return this._delegate.getValue()}}return e.ngDirectiveDef=void 0,e})();class ce extends le{constructor(e){super(e)}set ngStyle(e){this._delegate.setNgStyle(e)}ngDoCheck(){this._delegate.applyChanges()}}class ue{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}ngOnChanges(e){this._shouldRecreateView(e)?(this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext))):this._viewRef&&this.ngTemplateOutletContext&&this._updateExistingContext(this.ngTemplateOutletContext)}_shouldRecreateView(e){const t=e.ngTemplateOutletContext;return!!e.ngTemplateOutlet||t&&this._hasContextShapeChanged(t)}_hasContextShapeChanged(e){const t=Object.keys(e.previousValue||{}),n=Object.keys(e.currentValue||{});if(t.length===n.length){for(let e of n)if(-1===t.indexOf(e))return!0;return!1}return!0}_updateExistingContext(e){for(let t of Object.keys(e))this._viewRef.context[t]=this.ngTemplateOutletContext[t]}}class he{}const de=new r.p("DocumentToken"),fe="browser",pe="server";function me(e){return e===fe}function ge(e){return e===pe}let ye=(()=>{class e{}return e.ngInjectableDef=Object(r.Pb)({token:e,providedIn:"root",factory:()=>new be(Object(r.Qb)(de),window,Object(r.Qb)(r.l))}),e})();class be{constructor(e,t,n){this.document=e,this.window=t,this.errorHandler=n,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]}scrollToPosition(e){this.supportScrollRestoration()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(this.supportScrollRestoration()){e=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(e):e.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{const n=this.document.querySelector(`#${e}`);if(n)return void this.scrollToElement(n);const r=this.document.querySelector(`[name='${e}']`);if(r)return void this.scrollToElement(r)}catch(t){this.errorHandler.handleError(t)}}}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=e)}}scrollToElement(e){const t=e.getBoundingClientRect(),n=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(n-s[0],r-s[1])}supportScrollRestoration(){try{return!!this.window&&!!this.window.scrollTo}catch(e){return!1}}}},SeVD:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var r=n("HDdC"),s=n("ngJS"),i=n("a7t3"),o=n("pLzU"),a=n("CRDf"),l=n("I55L"),c=n("c2HN"),u=n("XoHu"),h=n("Lhse"),d=n("kJWO");const f=e=>{if(e instanceof r.a)return t=>e._isScalar?(t.next(e.value),void t.complete()):e.subscribe(t);if(e&&"function"==typeof e[d.a])return Object(a.a)(e);if(Object(l.a)(e))return Object(s.a)(e);if(Object(c.a)(e))return Object(i.a)(e);if(e&&"function"==typeof e[h.a])return Object(o.a)(e);{const t=Object(u.a)(e)?"an invalid object":`'${e}'`;throw new TypeError(`You provided ${t} where a stream was expected.`+" You can provide an Observable, Promise, Array, or Iterable.")}}},SpAZ:function(e,t,n){"use strict";function r(e){return e}n.d(t,"a",function(){return r})},VRyK:function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n("HDdC"),s=n("z+Ro"),i=n("bHdf"),o=n("yCtX");function a(...e){let t=Number.POSITIVE_INFINITY,n=null,a=e[e.length-1];return Object(s.a)(a)?(n=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(t=e.pop())):"number"==typeof a&&(t=e.pop()),null===n&&1===e.length&&e[0]instanceof r.a?e[0]:Object(i.a)(t)(Object(o.a)(e,n))}},XNiG:function(e,t,n){"use strict";var r=n("HDdC"),s=n("7o/Q"),i=n("quSY"),o=n("9ppp");class a extends i.a{constructor(e,t){super(),this.subject=e,this.subscriber=t,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const e=this.subject,t=e.observers;if(this.subject=null,!t||0===t.length||e.isStopped||e.closed)return;const n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}var l=n("2QA8");n.d(t,"b",function(){return c}),n.d(t,"a",function(){return u});class c extends s.a{constructor(e){super(e),this.destination=e}}let u=(()=>{class e extends r.a{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[l.a](){return new c(this)}lift(e){const t=new h(this,this);return t.operator=e,t}next(e){if(this.closed)throw new o.a;if(!this.isStopped){const{observers:t}=this,n=t.length,r=t.slice();for(let s=0;s<n;s++)r[s].next(e)}}error(e){if(this.closed)throw new o.a;this.hasError=!0,this.thrownError=e,this.isStopped=!0;const{observers:t}=this,n=t.length,r=t.slice();for(let s=0;s<n;s++)r[s].error(e);this.observers.length=0}complete(){if(this.closed)throw new o.a;this.isStopped=!0;const{observers:e}=this,t=e.length,n=e.slice();for(let r=0;r<t;r++)n[r].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(e){if(this.closed)throw new o.a;return super._trySubscribe(e)}_subscribe(e){if(this.closed)throw new o.a;return this.hasError?(e.error(this.thrownError),i.a.EMPTY):this.isStopped?(e.complete(),i.a.EMPTY):(this.observers.push(e),new a(this,e))}asObservable(){const e=new r.a;return e.source=this,e}}return e.create=(e,t)=>new h(e,t),e})();class h extends u{constructor(e,t){super(),this.destination=e,this.source=t}next(e){const{destination:t}=this;t&&t.next&&t.next(e)}error(e){const{destination:t}=this;t&&t.error&&this.destination.error(e)}complete(){const{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){const{source:t}=this;return t?this.source.subscribe(e):i.a.EMPTY}}},XUOw:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("HDdC");function s(e){const t=new r.a(t=>{t.next(e),t.complete()});return t._isScalar=!0,t.value=e,t}},XoHu:function(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}n.d(t,"a",function(){return r})},ZUHj:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n("51Dv"),s=n("SeVD");function i(e,t,n,i,o=new r.a(e,n,i)){if(!o.closed)return Object(s.a)(t)(o)}},a7t3:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("NJ4a");const s=e=>t=>(e.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,r.a),t)},bHdf:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n("5+tZ"),s=n("SpAZ");function i(e=Number.POSITIVE_INFINITY){return Object(r.a)(s.a,e)}},c2HN:function(e,t,n){"use strict";function r(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}n.d(t,"a",function(){return r})},cUpR:function(e,t,n){"use strict";n.d(t,"p",function(){return Ce}),n.d(t,"q",function(){return k}),n.d(t,"a",function(){return Se}),n.d(t,"h",function(){return we}),n.d(t,"c",function(){return O}),n.d(t,"d",function(){return T}),n.d(t,"e",function(){return ie}),n.d(t,"f",function(){return oe}),n.d(t,"g",function(){return ae}),n.d(t,"b",function(){return de}),n.d(t,"r",function(){return o}),n.d(t,"j",function(){return F}),n.d(t,"i",function(){return re}),n.d(t,"m",function(){return le}),n.d(t,"n",function(){return he}),n.d(t,"l",function(){return N}),n.d(t,"o",function(){return A}),n.d(t,"k",function(){return fe});var r=n("SVse"),s=n("8Y7J");let i=null;function o(){return i}class a{constructor(){this.resourceLoaderType=null}get attrToPropMap(){return this._attrToPropMap}set attrToPropMap(e){this._attrToPropMap=e}}class l extends a{constructor(){super(),this._animationPrefix=null,this._transitionEnd=null;try{const t=this.createElement("div",document);if(null!=this.getStyle(t,"animationName"))this._animationPrefix="";else{const e=["Webkit","Moz","O","ms"];for(let n=0;n<e.length;n++)if(null!=this.getStyle(t,e[n]+"AnimationName")){this._animationPrefix="-"+e[n].toLowerCase()+"-";break}}const n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(n).forEach(e=>{null!=this.getStyle(t,e)&&(this._transitionEnd=n[e])})}catch(e){this._animationPrefix=null,this._transitionEnd=null}}getDistributedNodes(e){return e.getDistributedNodes()}resolveAndSetHref(e,t,n){e.href=null==n?t:t+"/../"+n}supportsDOMEvents(){return!0}supportsNativeShadowDOM(){return"function"==typeof document.body.createShadowRoot}getAnimationPrefix(){return this._animationPrefix?this._animationPrefix:""}getTransitionEnd(){return this._transitionEnd?this._transitionEnd:""}supportsAnimation(){return null!=this._animationPrefix&&null!=this._transitionEnd}}const c={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},u=3,h={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},d={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},f=(()=>{if(s.vb.Node)return s.vb.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))}})();class p extends l{parse(e){throw new Error("parse not implemented")}static makeCurrent(){var e;e=new p,i||(i=e)}hasProperty(e,t){return t in e}setProperty(e,t,n){e[t]=n}getProperty(e,t){return e[t]}invoke(e,t,n){e[t](...n)}logError(e){window.console&&(console.error?console.error(e):console.log(e))}log(e){window.console&&window.console.log&&window.console.log(e)}logGroup(e){window.console&&window.console.group&&window.console.group(e)}logGroupEnd(){window.console&&window.console.groupEnd&&window.console.groupEnd()}get attrToPropMap(){return c}contains(e,t){return f.call(e,t)}querySelector(e,t){return e.querySelector(t)}querySelectorAll(e,t){return e.querySelectorAll(t)}on(e,t,n){e.addEventListener(t,n,!1)}onAndCancel(e,t,n){return e.addEventListener(t,n,!1),()=>{e.removeEventListener(t,n,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}createMouseEvent(e){const t=this.getDefaultDocument().createEvent("MouseEvent");return t.initEvent(e,!0,!0),t}createEvent(e){const t=this.getDefaultDocument().createEvent("Event");return t.initEvent(e,!0,!0),t}preventDefault(e){e.preventDefault(),e.returnValue=!1}isPrevented(e){return e.defaultPrevented||null!=e.returnValue&&!e.returnValue}getInnerHTML(e){return e.innerHTML}getTemplateContent(e){return"content"in e&&this.isTemplateElement(e)?e.content:null}getOuterHTML(e){return e.outerHTML}nodeName(e){return e.nodeName}nodeValue(e){return e.nodeValue}type(e){return e.type}content(e){return this.hasProperty(e,"content")?e.content:e}firstChild(e){return e.firstChild}nextSibling(e){return e.nextSibling}parentElement(e){return e.parentNode}childNodes(e){return e.childNodes}childNodesAsList(e){const t=e.childNodes,n=new Array(t.length);for(let r=0;r<t.length;r++)n[r]=t[r];return n}clearNodes(e){for(;e.firstChild;)e.removeChild(e.firstChild)}appendChild(e,t){e.appendChild(t)}removeChild(e,t){e.removeChild(t)}replaceChild(e,t,n){e.replaceChild(t,n)}remove(e){return e.parentNode&&e.parentNode.removeChild(e),e}insertBefore(e,t,n){e.insertBefore(n,t)}insertAllBefore(e,t,n){n.forEach(n=>e.insertBefore(n,t))}insertAfter(e,t,n){e.insertBefore(n,t.nextSibling)}setInnerHTML(e,t){e.innerHTML=t}getText(e){return e.textContent}setText(e,t){e.textContent=t}getValue(e){return e.value}setValue(e,t){e.value=t}getChecked(e){return e.checked}setChecked(e,t){e.checked=t}createComment(e){return this.getDefaultDocument().createComment(e)}createTemplate(e){const t=this.getDefaultDocument().createElement("template");return t.innerHTML=e,t}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createElementNS(e,t,n){return(n=n||this.getDefaultDocument()).createElementNS(e,t)}createTextNode(e,t){return(t=t||this.getDefaultDocument()).createTextNode(e)}createScriptTag(e,t,n){const r=(n=n||this.getDefaultDocument()).createElement("SCRIPT");return r.setAttribute(e,t),r}createStyleElement(e,t){const n=(t=t||this.getDefaultDocument()).createElement("style");return this.appendChild(n,this.createTextNode(e,t)),n}createShadowRoot(e){return e.createShadowRoot()}getShadowRoot(e){return e.shadowRoot}getHost(e){return e.host}clone(e){return e.cloneNode(!0)}getElementsByClassName(e,t){return e.getElementsByClassName(t)}getElementsByTagName(e,t){return e.getElementsByTagName(t)}classList(e){return Array.prototype.slice.call(e.classList,0)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}hasClass(e,t){return e.classList.contains(t)}setStyle(e,t,n){e.style[t]=n}removeStyle(e,t){e.style[t]=""}getStyle(e,t){return e.style[t]}hasStyle(e,t,n){const r=this.getStyle(e,t)||"";return n?r==n:r.length>0}tagName(e){return e.tagName}attributeMap(e){const t=new Map,n=e.attributes;for(let r=0;r<n.length;r++){const e=n.item(r);t.set(e.name,e.value)}return t}hasAttribute(e,t){return e.hasAttribute(t)}hasAttributeNS(e,t,n){return e.hasAttributeNS(t,n)}getAttribute(e,t){return e.getAttribute(t)}getAttributeNS(e,t,n){return e.getAttributeNS(t,n)}setAttribute(e,t,n){e.setAttribute(t,n)}setAttributeNS(e,t,n,r){e.setAttributeNS(t,n,r)}removeAttribute(e,t){e.removeAttribute(t)}removeAttributeNS(e,t,n){e.removeAttributeNS(t,n)}templateAwareRoot(e){return this.isTemplateElement(e)?this.content(e):e}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}getBoundingClientRect(e){try{return e.getBoundingClientRect()}catch(t){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}}getTitle(e){return e.title}setTitle(e,t){e.title=t||""}elementMatches(e,t){return!!this.isElementNode(e)&&(e.matches&&e.matches(t)||e.msMatchesSelector&&e.msMatchesSelector(t)||e.webkitMatchesSelector&&e.webkitMatchesSelector(t))}isTemplateElement(e){return this.isElementNode(e)&&"TEMPLATE"===e.nodeName}isTextNode(e){return e.nodeType===Node.TEXT_NODE}isCommentNode(e){return e.nodeType===Node.COMMENT_NODE}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}hasShadowRoot(e){return null!=e.shadowRoot&&e instanceof HTMLElement}isShadowRoot(e){return e instanceof DocumentFragment}importIntoDoc(e){return document.importNode(this.templateAwareRoot(e),!0)}adoptNode(e){return document.adoptNode(e)}getHref(e){return e.getAttribute("href")}getEventKey(e){let t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),e.location===u&&d.hasOwnProperty(t)&&(t=d[t]))}return h[t]||t}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getHistory(){return window.history}getLocation(){return window.location}getBaseHref(e){const t=g||(g=document.querySelector("base"))?g.getAttribute("href"):null;return null==t?null:(n=t,m||(m=document.createElement("a")),m.setAttribute("href",n),"/"===m.pathname.charAt(0)?m.pathname:"/"+m.pathname);var n}resetBaseElement(){g=null}getUserAgent(){return window.navigator.userAgent}setData(e,t,n){this.setAttribute(e,"data-"+t,n)}getData(e,t){return this.getAttribute(e,"data-"+t)}getComputedStyle(e){return getComputedStyle(e)}supportsWebAnimation(){return"function"==typeof Element.prototype.animate}performanceNow(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()}supportsCookies(){return!0}getCookie(e){return Object(r.F)(document.cookie,e)}setCookie(e,t){document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)}}let m,g=null;function y(){return!!window.history.pushState}const b=new s.p("TRANSITION_ID"),_=[{provide:s.d,useFactory:function(e,t,n){return()=>{n.get(s.e).donePromise.then(()=>{const n=o();Array.prototype.slice.apply(n.querySelectorAll(t,"style[ng-transition]")).filter(t=>n.getAttribute(t,"ng-transition")===e).forEach(e=>n.remove(e))})}},deps:[b,r.c,s.q],multi:!0}];class v{static init(){Object(s.Y)(new v)}addToWindow(e){s.vb.getAngularTestability=(t,n=!0)=>{const r=e.findTestabilityInTree(t,n);if(null==r)throw new Error("Could not find testability for element.");return r},s.vb.getAllAngularTestabilities=()=>e.getAllTestabilities(),s.vb.getAllAngularRootElements=()=>e.getAllRootElements(),s.vb.frameworkStabilizers||(s.vb.frameworkStabilizers=[]),s.vb.frameworkStabilizers.push(e=>{const t=s.vb.getAllAngularTestabilities();let n=t.length,r=!1;const i=function(t){r=r||t,0==--n&&e(r)};t.forEach(function(e){e.whenStable(i)})})}findTestabilityInTree(e,t,n){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:n?o().isShadowRoot(t)?this.findTestabilityInTree(e,o().getHost(t),!0):this.findTestabilityInTree(e,o().parentElement(t),!0):null}}function w(e,t){"undefined"!=typeof COMPILED&&COMPILED||((s.vb.ng=s.vb.ng||{})[e]=t)}const C=(()=>({ApplicationRef:s.g,NgZone:s.y}))(),S="probe",E="coreTokens";function x(e){return Object(s.U)(e)}function k(e){return w(S,x),w(E,Object.assign({},C,(e||[]).reduce((e,t)=>(e[t.name]=t.token,e),{}))),()=>x}const O=new s.p("EventManagerPlugins");class T{constructor(e,t){this._zone=t,this._eventNameToPlugin=new Map,e.forEach(e=>e.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)}addGlobalEventListener(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)}getZone(){return this._zone}_findPluginFor(e){const t=this._eventNameToPlugin.get(e);if(t)return t;const n=this._plugins;for(let r=0;r<n.length;r++){const t=n[r];if(t.supports(e))return this._eventNameToPlugin.set(e,t),t}throw new Error(`No event manager plugin found for event ${e}`)}}class D{constructor(e){this._doc=e}addGlobalEventListener(e,t,n){const r=o().getGlobalEventTarget(this._doc,e);if(!r)throw new Error(`Unsupported event target ${r} for event ${t}`);return this.addEventListener(r,t,n)}}class A{constructor(){this._stylesSet=new Set}addStyles(e){const t=new Set;e.forEach(e=>{this._stylesSet.has(e)||(this._stylesSet.add(e),t.add(e))}),this.onStylesAdded(t)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}class N extends A{constructor(e){super(),this._doc=e,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(e.head)}_addStylesToHost(e,t){e.forEach(e=>{const n=this._doc.createElement("style");n.textContent=e,this._styleNodes.add(t.appendChild(n))})}addHost(e){this._addStylesToHost(this._stylesSet,e),this._hostNodes.add(e)}removeHost(e){this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach(t=>this._addStylesToHost(e,t))}ngOnDestroy(){this._styleNodes.forEach(e=>o().remove(e))}}const I={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},P=/%COMP%/g,R="_nghost-%COMP%",j="_ngcontent-%COMP%";function M(e,t,n){for(let r=0;r<t.length;r++){let s=t[r];Array.isArray(s)?M(e,s,n):(s=s.replace(P,e),n.push(s))}return n}function V(e){return t=>{!1===e(t)&&(t.preventDefault(),t.returnValue=!1)}}class F{constructor(e,t,n){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new L(e)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;switch(t.encapsulation){case s.P.Emulated:{let n=this.rendererByCompId.get(t.id);return n||(n=new H(this.eventManager,this.sharedStylesHost,t,this.appId),this.rendererByCompId.set(t.id,n)),n.applyToHost(e),n}case s.P.Native:case s.P.ShadowDom:return new z(this.eventManager,this.sharedStylesHost,e,t);default:if(!this.rendererByCompId.has(t.id)){const e=M(t.id,t.styles,[]);this.sharedStylesHost.addStyles(e),this.rendererByCompId.set(t.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}class L{constructor(e){this.eventManager=e,this.data=Object.create(null)}destroy(){}createElement(e,t){return t?document.createElementNS(I[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,n){e&&e.insertBefore(t,n)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let n="string"==typeof e?document.querySelector(e):e;if(!n)throw new Error(`The selector "${e}" did not match any elements`);return t||(n.textContent=""),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+":"+t;const s=I[r];s?e.setAttributeNS(s,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){const r=I[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){r&s.F.DashCase?e.style.setProperty(t,n,r&s.F.Important?"important":""):e.style[t]=n}removeStyle(e,t,n){n&s.F.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,n){U(t,"property"),e[t]=n}setValue(e,t){e.nodeValue=t}listen(e,t,n){return U(t,"listener"),"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,V(n)):this.eventManager.addEventListener(e,t,V(n))}}const $=(()=>"@".charCodeAt(0))();function U(e,t){if(e.charCodeAt(0)===$)throw new Error(`Found the synthetic ${t} ${e}. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.`)}class H extends L{constructor(e,t,n,r){super(e),this.component=n;const s=M(r+"-"+n.id,n.styles,[]);t.addStyles(s),this.contentAttr=j.replace(P,r+"-"+n.id),this.hostAttr=R.replace(P,r+"-"+n.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,""),n}}class z extends L{constructor(e,t,n,r){super(e),this.sharedStylesHost=t,this.hostEl=n,this.component=r,this.shadowRoot=r.encapsulation===s.P.ShadowDom?n.attachShadow({mode:"open"}):n.createShadowRoot(),this.sharedStylesHost.addHost(this.shadowRoot);const i=M(r.id,r.styles,[]);for(let s=0;s<i.length;s++){const e=document.createElement("style");e.textContent=i[s],this.shadowRoot.appendChild(e)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}const B=(()=>"undefined"!=typeof Zone&&Zone.__symbol__||function(e){return"__zone_symbol__"+e})(),q=B("addEventListener"),W=B("removeEventListener"),G={},Q="FALSE",K="ANGULAR",Z="addEventListener",Y="removeEventListener",J="__zone_symbol__propagationStopped",X="__zone_symbol__stopImmediatePropagation",ee=(()=>{const e="undefined"!=typeof Zone&&Zone[B("BLACK_LISTED_EVENTS")];if(e){const t={};return e.forEach(e=>{t[e]=e}),t}})(),te=function(e){return!!ee&&ee.hasOwnProperty(e)},ne=function(e){const t=G[e.type];if(!t)return;const n=this[t];if(!n)return;const r=[e];if(1===n.length){const e=n[0];return e.zone!==Zone.current?e.zone.run(e.handler,this,r):e.handler.apply(this,r)}{const t=n.slice();for(let n=0;n<t.length&&!0!==e[J];n++){const e=t[n];e.zone!==Zone.current?e.zone.run(e.handler,this,r):e.handler.apply(this,r)}}};class re extends D{constructor(e,t,n){super(e),this.ngZone=t,n&&Object(r.y)(n)||this.patchEvent()}patchEvent(){if("undefined"==typeof Event||!Event||!Event.prototype)return;if(Event.prototype[X])return;const e=Event.prototype[X]=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[J]=!0),e&&e.apply(this,arguments)}}supports(e){return!0}addEventListener(e,t,n){let r=n;if(!e[q]||s.y.isInAngularZone()&&!te(t))e[Z](t,r,!1);else{let n=G[t];n||(n=G[t]=B(K+t+Q));let s=e[n];const i=s&&s.length>0;s||(s=e[n]=[]);const o=te(t)?Zone.root:Zone.current;if(0===s.length)s.push({zone:o,handler:r});else{let e=!1;for(let t=0;t<s.length;t++)if(s[t].handler===r){e=!0;break}e||s.push({zone:o,handler:r})}i||e[q](t,ne,!1)}return()=>this.removeEventListener(e,t,r)}removeEventListener(e,t,n){let r=e[W];if(!r)return e[Y].apply(e,[t,n,!1]);let s=G[t],i=s&&e[s];if(!i)return e[Y].apply(e,[t,n,!1]);let o=!1;for(let a=0;a<i.length;a++)if(i[a].handler===n){o=!0,i.splice(a,1);break}o?0===i.length&&r.apply(e,[t,ne,!1]):e[Y].apply(e,[t,n,!1])}}const se={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},ie=new s.p("HammerGestureConfig"),oe=new s.p("HammerLoader");class ae{constructor(){this.events=[],this.overrides={}}buildHammer(e){const t=new Hammer(e,this.options);t.get("pinch").set({enable:!0}),t.get("rotate").set({enable:!0});for(const n in this.overrides)t.get(n).set(this.overrides[n]);return t}}class le extends D{constructor(e,t,n,r){super(e),this._config=t,this.console=n,this.loader=r}supports(e){return!(!se.hasOwnProperty(e.toLowerCase())&&!this.isCustomEvent(e)||!window.Hammer&&!this.loader&&(this.console.warn(`The "${e}" event cannot be bound because Hammer.JS is not `+"loaded and no custom loader has been specified."),1))}addEventListener(e,t,n){const r=this.manager.getZone();if(t=t.toLowerCase(),!window.Hammer&&this.loader){let r=!1,s=()=>{r=!0};return this.loader().then(()=>{if(!window.Hammer)return this.console.warn("The custom HAMMER_LOADER completed, but Hammer.JS is not present."),void(s=()=>{});r||(s=this.addEventListener(e,t,n))}).catch(()=>{this.console.warn(`The "${t}" event cannot be bound because the custom `+"Hammer.JS loader failed."),s=()=>{}}),()=>{s()}}return r.runOutsideAngular(()=>{const s=this._config.buildHammer(e),i=function(e){r.runGuarded(function(){n(e)})};return s.on(t,i),()=>{s.off(t,i),"function"==typeof s.destroy&&s.destroy()}})}isCustomEvent(e){return this._config.events.indexOf(e)>-1}}const ce=["alt","control","meta","shift"],ue={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};class he extends D{constructor(e){super(e)}supports(e){return null!=he.parseEventName(e)}addEventListener(e,t,n){const r=he.parseEventName(t),s=he.eventCallback(r.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>o().onAndCancel(e,r.domEventName,s))}static parseEventName(e){const t=e.toLowerCase().split("."),n=t.shift();if(0===t.length||"keydown"!==n&&"keyup"!==n)return null;const r=he._normalizeKey(t.pop());let s="";if(ce.forEach(e=>{const n=t.indexOf(e);n>-1&&(t.splice(n,1),s+=e+".")}),s+=r,0!=t.length||0===r.length)return null;const i={};return i.domEventName=n,i.fullKey=s,i}static getEventFullKey(e){let t="",n=o().getEventKey(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),ce.forEach(r=>{r!=n&&(0,ue[r])(e)&&(t+=r+".")}),t+=n}static eventCallback(e,t,n){return r=>{he.getEventFullKey(r)===e&&n.runGuarded(()=>t(r))}}static _normalizeKey(e){switch(e){case"esc":return"escape";default:return e}}}class de{}class fe extends de{constructor(e){super(),this._doc=e}sanitize(e,t){if(null==t)return null;switch(e){case s.H.NONE:return t;case s.H.HTML:return t instanceof me?t.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(t,"HTML"),Object(s.eb)(this._doc,String(t)));case s.H.STYLE:return t instanceof ge?t.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(t,"Style"),Object(s.fb)(t));case s.H.SCRIPT:if(t instanceof ye)return t.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(t,"Script"),new Error("unsafe value used in a script context");case s.H.URL:return t instanceof _e||t instanceof be?t.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(t,"URL"),Object(s.gb)(String(t)));case s.H.RESOURCE_URL:if(t instanceof _e)return t.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(t,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${e} (see http://g.co/ng/security#xss)`)}}checkNotSafeValue(e,t){if(e instanceof pe)throw new Error(`Required a safe ${t}, got a ${e.getTypeName()} `+"(see http://g.co/ng/security#xss)")}bypassSecurityTrustHtml(e){return new me(e)}bypassSecurityTrustStyle(e){return new ge(e)}bypassSecurityTrustScript(e){return new ye(e)}bypassSecurityTrustUrl(e){return new be(e)}bypassSecurityTrustResourceUrl(e){return new _e(e)}}class pe{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}`+" (see http://g.co/ng/security#xss)"}}class me extends pe{getTypeName(){return"HTML"}}class ge extends pe{getTypeName(){return"Style"}}class ye extends pe{getTypeName(){return"Script"}}class be extends pe{getTypeName(){return"URL"}}class _e extends pe{getTypeName(){return"ResourceURL"}}const ve=[{provide:s.A,useValue:r.D},{provide:s.B,useValue:function(){p.makeCurrent(),v.init()},multi:!0},{provide:r.q,useClass:class extends r.q{constructor(e){super(),this._doc=e,this._init()}_init(){this.location=o().getLocation(),this._history=o().getHistory()}getBaseHrefFromDOM(){return o().getBaseHref(this._doc)}onPopState(e){o().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",e,!1)}onHashChange(e){o().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",e,!1)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(e){this.location.pathname=e}pushState(e,t,n){y()?this._history.pushState(e,t,n):this.location.hash=n}replaceState(e,t,n){y()?this._history.replaceState(e,t,n):this.location.hash=n}forward(){this._history.forward()}back(){this._history.back()}getState(){return this._history.state}},deps:[r.c]},{provide:r.c,useFactory:function(){return document},deps:[]}],we=Object(s.R)(s.X,"browser",ve);function Ce(){return new s.l}class Se{constructor(e){if(e)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(e){return{ngModule:Se,providers:[{provide:s.c,useValue:e.appId},{provide:b,useExisting:s.c},_]}}}"undefined"!=typeof window&&window},eIep:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("l7GE"),s=n("51Dv"),i=n("ZUHj"),o=n("lJxs"),a=n("Cfvw");function l(e,t){return"function"==typeof t?n=>n.pipe(l((n,r)=>Object(a.a)(e(n,r)).pipe(Object(o.a)((e,s)=>t(n,e,r,s))))):t=>t.lift(new c(e))}class c{constructor(e){this.project=e}call(e,t){return t.subscribe(new u(e,this.project))}}class u extends r.a{constructor(e,t){super(e),this.project=t,this.index=0}_next(e){let t;const n=this.index++;try{t=this.project(e,n)}catch(r){return void this.destination.error(r)}this._innerSub(t,e,n)}_innerSub(e,t,n){const r=this.innerSubscription;r&&r.unsubscribe();const o=new s.a(this,void 0,void 0);this.destination.add(o),this.innerSubscription=Object(i.a)(this,e,t,n,o)}_complete(){const{innerSubscription:e}=this;e&&!e.closed||super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=null}notifyComplete(e){this.destination.remove(e),this.innerSubscription=null,this.isStopped&&super._complete()}notifyNext(e,t,n,r,s){this.destination.next(t)}}},fDlF:function(e,t,n){"use strict";n.d(t,"a",function(){return E}),n.d(t,"c",function(){return xe}),n.d(t,"g",function(){return ke}),n.d(t,"e",function(){return S}),n.d(t,"b",function(){return at}),n.d(t,"d",function(){return Dt}),n.d(t,"f",function(){return Nt}),n.d(t,"h",function(){return It});var r=n("GS7A");function s(){return"undefined"!=typeof process}function i(e){switch(e.length){case 0:return new r.d;case 1:return e[0];default:return new r.g(e)}}function o(e,t,n,s,i={},o={}){const a=[],l=[];let c=-1,u=null;if(s.forEach(e=>{const n=e.offset,s=n==c,h=s&&u||{};Object.keys(e).forEach(n=>{let s=n,l=e[n];if("offset"!==n)switch(s=t.normalizePropertyName(s,a),l){case r.h:l=i[n];break;case r.a:l=o[n];break;default:l=t.normalizeStyleValue(n,s,l,a)}h[s]=l}),s||l.push(h),u=h,c=n}),a.length){const e="\n - ";throw new Error(`Unable to animate due to the following errors:${e}${a.join(e)}`)}return l}function a(e,t,n,r){switch(t){case"start":e.onStart(()=>r(n&&l(n,"start",e)));break;case"done":e.onDone(()=>r(n&&l(n,"done",e)));break;case"destroy":e.onDestroy(()=>r(n&&l(n,"destroy",e)))}}function l(e,t,n){const r=n.totalTime,s=c(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,!!n.disabled),i=e._data;return null!=i&&(s._data=i),s}function c(e,t,n,r,s="",i=0,o){return{element:e,triggerName:t,fromState:n,toState:r,phaseName:s,totalTime:i,disabled:!!o}}function u(e,t,n){let r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function h(e){const t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}let d=(e,t)=>!1,f=(e,t)=>!1,p=(e,t,n)=>[];const m=s();(m||"undefined"!=typeof Element)&&(d=(e,t)=>e.contains(t),f=(()=>{if(m||Element.prototype.matches)return(e,t)=>e.matches(t);{const e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?(e,n)=>t.apply(e,[n]):f}})(),p=(e,t,n)=>{let r=[];if(n)r.push(...e.querySelectorAll(t));else{const n=e.querySelector(t);n&&r.push(n)}return r});let g=null,y=!1;function b(e){g||(g=("undefined"!=typeof document?document.body:null)||{},y=!!g.style&&"WebkitAppearance"in g.style);let t=!0;return g.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&!(t=e in g.style)&&y&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in g.style),t}const _=f,v=d,w=p;function C(e){const t={};return Object.keys(e).forEach(n=>{const r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}class S{validateStyleProperty(e){return b(e)}matchesElement(e,t){return _(e,t)}containsElement(e,t){return v(e,t)}query(e,t,n){return w(e,t,n)}computeStyle(e,t,n){return n||""}animate(e,t,n,s,i,o=[],a){return new r.d(n,s)}}let E=(()=>{class e{}return e.NOOP=new S,e})();const x=1e3,k="{{",O="ng-enter",T="ng-leave",D="ng-trigger",A=".ng-trigger",N="ng-animating",I=".ng-animating";function P(e){if("number"==typeof e)return e;const t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:R(parseFloat(t[1]),t[2])}function R(e,t){switch(t){case"s":return e*x;default:return e}}function j(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){let r,s=0,i="";if("string"==typeof e){const n=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===n)return t.push(`The provided timing value "${e}" is invalid.`),{duration:0,delay:0,easing:""};r=R(parseFloat(n[1]),n[2]);const o=n[3];null!=o&&(s=R(parseFloat(o),n[4]));const a=n[5];a&&(i=a)}else r=e;if(!n){let n=!1,i=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),n=!0),s<0&&(t.push("Delay values below 0 are not allowed for this animation step."),n=!0),n&&t.splice(i,0,`The provided timing value "${e}" is invalid.`)}return{duration:r,delay:s,easing:i}}(e,t,n)}function M(e,t={}){return Object.keys(e).forEach(n=>{t[n]=e[n]}),t}function V(e,t,n={}){if(t)for(let r in e)n[r]=e[r];else M(e,n);return n}function F(e,t,n){return n?t+":"+n+";":""}function L(e){let t="";for(let n=0;n<e.style.length;n++){const r=e.style.item(n);t+=F(0,r,e.style.getPropertyValue(r))}for(const n in e.style)e.style.hasOwnProperty(n)&&!n.startsWith("_")&&(t+=F(0,n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),e.style[n]));e.setAttribute("style",t)}function $(e,t,n){e.style&&(Object.keys(t).forEach(r=>{const s=Q(r);n&&!n.hasOwnProperty(r)&&(n[r]=e.style[s]),e.style[s]=t[r]}),s()&&L(e))}function U(e,t){e.style&&(Object.keys(t).forEach(t=>{const n=Q(t);e.style[n]=""}),s()&&L(e))}function H(e){return Array.isArray(e)?1==e.length?e[0]:Object(r.e)(e):e}const z=new RegExp(`${k}\\s*(.+?)\\s*}}`,"g");function B(e){let t=[];if("string"==typeof e){const n=e.toString();let r;for(;r=z.exec(n);)t.push(r[1]);z.lastIndex=0}return t}function q(e,t,n){const r=e.toString(),s=r.replace(z,(e,r)=>{let s=t[r];return t.hasOwnProperty(r)||(n.push(`Please provide a value for the animation param ${r}`),s=""),s.toString()});return s==r?e:s}function W(e){const t=[];let n=e.next();for(;!n.done;)t.push(n.value),n=e.next();return t}const G=/-+([a-z0-9])/g;function Q(e){return e.replace(G,(...e)=>e[1].toUpperCase())}function K(e,t){return 0===e||0===t}function Z(e,t,n){const r=Object.keys(n);if(r.length&&t.length){let i=t[0],o=[];if(r.forEach(e=>{i.hasOwnProperty(e)||o.push(e),i[e]=n[e]}),o.length)for(var s=1;s<t.length;s++){let n=t[s];o.forEach(function(t){n[t]=J(e,t)})}}return t}function Y(e,t,n){switch(t.type){case 7:return e.visitTrigger(t,n);case 0:return e.visitState(t,n);case 1:return e.visitTransition(t,n);case 2:return e.visitSequence(t,n);case 3:return e.visitGroup(t,n);case 4:return e.visitAnimate(t,n);case 5:return e.visitKeyframes(t,n);case 6:return e.visitStyle(t,n);case 8:return e.visitReference(t,n);case 9:return e.visitAnimateChild(t,n);case 10:return e.visitAnimateRef(t,n);case 11:return e.visitQuery(t,n);case 12:return e.visitStagger(t,n);default:throw new Error(`Unable to resolve animation metadata node #${t.type}`)}}function J(e,t){return window.getComputedStyle(e)[t]}const X="*";function ee(e,t){const n=[];return"string"==typeof e?e.split(/\s*,\s*/).forEach(e=>(function(e,t,n){if(":"==e[0]){const r=function(e,t){switch(e){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,t)=>parseFloat(t)>parseFloat(e);case":decrement":return(e,t)=>parseFloat(t)<parseFloat(e);default:return t.push(`The transition alias value "${e}" is not supported`),"* => *"}}(e,n);if("function"==typeof r)return void t.push(r);e=r}const r=e.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return n.push(`The provided transition expression "${e}" is not supported`),t;const s=r[1],i=r[2],o=r[3];t.push(re(s,o)),"<"!=i[0]||s==X&&o==X||t.push(re(o,s))})(e,n,t)):n.push(e),n}const te=new Set(["true","1"]),ne=new Set(["false","0"]);function re(e,t){const n=te.has(e)||ne.has(e),r=te.has(t)||ne.has(t);return(s,i)=>{let o=e==X||e==s,a=t==X||t==i;return!o&&n&&"boolean"==typeof s&&(o=s?te.has(e):ne.has(e)),!a&&r&&"boolean"==typeof i&&(a=i?te.has(t):ne.has(t)),o&&a}}const se=":self",ie=new RegExp(`s*${se}s*,?`,"g");function oe(e,t,n){return new le(e).build(t,n)}const ae="";class le{constructor(e){this._driver=e}build(e,t){const n=new ce(t);return this._resetContextStyleTimingState(n),Y(this,H(e),n)}_resetContextStyleTimingState(e){e.currentQuerySelector=ae,e.collectedStyles={},e.collectedStyles[ae]={},e.currentTime=0}visitTrigger(e,t){let n=t.queryCount=0,r=t.depCount=0;const s=[],i=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(e=>{if(this._resetContextStyleTimingState(t),0==e.type){const n=e,r=n.name;r.toString().split(/\s*,\s*/).forEach(e=>{n.name=e,s.push(this.visitState(n,t))}),n.name=r}else if(1==e.type){const s=this.visitTransition(e,t);n+=s.queryCount,r+=s.depCount,i.push(s)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:s,transitions:i,queryCount:n,depCount:r,options:null}}visitState(e,t){const n=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(n.containsDynamicStyles){const s=new Set,i=r||{};if(n.styles.forEach(e=>{if(ue(e)){const t=e;Object.keys(t).forEach(e=>{B(t[e]).forEach(e=>{i.hasOwnProperty(e)||s.add(e)})})}}),s.size){const n=W(s.values());t.errors.push(`state("${e.name}", ...) must define default values for all the following style substitutions: ${n.join(", ")}`)}}return{type:0,name:e.name,style:n,options:r?{params:r}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const n=Y(this,H(e.animation),t);return{type:1,matchers:ee(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:he(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(e=>Y(this,e,t)),options:he(e.options)}}visitGroup(e,t){const n=t.currentTime;let r=0;const s=e.steps.map(e=>{t.currentTime=n;const s=Y(this,e,t);return r=Math.max(r,t.currentTime),s});return t.currentTime=r,{type:3,steps:s,options:he(e.options)}}visitAnimate(e,t){const n=function(e,t){let n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e)return de(j(e,t).duration,0,"");const r=e;if(r.split(/\s+/).some(e=>"{"==e.charAt(0)&&"{"==e.charAt(1))){const e=de(0,0,"");return e.dynamic=!0,e.strValue=r,e}return de((n=n||j(r,t)).duration,n.delay,n.easing)}(e.timings,t.errors);let s;t.currentAnimateTimings=n;let i=e.styles?e.styles:Object(r.f)({});if(5==i.type)s=this.visitKeyframes(i,t);else{let i=e.styles,o=!1;if(!i){o=!0;const e={};n.easing&&(e.easing=n.easing),i=Object(r.f)(e)}t.currentTime+=n.duration+n.delay;const a=this.visitStyle(i,t);a.isEmptyStep=o,s=a}return t.currentAnimateTimings=null,{type:4,timings:n,style:s,options:null}}visitStyle(e,t){const n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}_makeStyleAst(e,t){const n=[];Array.isArray(e.styles)?e.styles.forEach(e=>{"string"==typeof e?e==r.a?n.push(e):t.errors.push(`The provided style string value ${e} is not allowed.`):n.push(e)}):n.push(e.styles);let s=!1,i=null;return n.forEach(e=>{if(ue(e)){const t=e,n=t.easing;if(n&&(i=n,delete t.easing),!s)for(let e in t)if(t[e].toString().indexOf(k)>=0){s=!0;break}}}),{type:6,styles:n,easing:i,offset:e.offset,containsDynamicStyles:s,options:null}}_validateStyleAst(e,t){const n=t.currentAnimateTimings;let r=t.currentTime,s=t.currentTime;n&&s>0&&(s-=n.duration+n.delay),e.styles.forEach(e=>{"string"!=typeof e&&Object.keys(e).forEach(n=>{if(!this._driver.validateStyleProperty(n))return void t.errors.push(`The provided animation property "${n}" is not a supported CSS property for animations`);const i=t.collectedStyles[t.currentQuerySelector],o=i[n];let a=!0;o&&(s!=r&&s>=o.startTime&&r<=o.endTime&&(t.errors.push(`The CSS property "${n}" that exists between the times of "${o.startTime}ms" and "${o.endTime}ms" is also being animated in a parallel animation between the times of "${s}ms" and "${r}ms"`),a=!1),s=o.startTime),a&&(i[n]={startTime:s,endTime:r}),t.options&&function(r,s,i){const o=t.options.params||{},a=B(e[n]);a.length&&a.forEach(e=>{o.hasOwnProperty(e)||i.push(`Unable to resolve the local animation param ${e} in the given list of values`)})}(0,0,t.errors)})})}visitKeyframes(e,t){const n={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),n;let r=0;const s=[];let i=!1,o=!1,a=0;const l=e.steps.map(e=>{const n=this._makeStyleAst(e,t);let l=null!=n.offset?n.offset:function(e){if("string"==typeof e)return null;let t=null;if(Array.isArray(e))e.forEach(e=>{if(ue(e)&&e.hasOwnProperty("offset")){const n=e;t=parseFloat(n.offset),delete n.offset}});else if(ue(e)&&e.hasOwnProperty("offset")){const n=e;t=parseFloat(n.offset),delete n.offset}return t}(n.styles),c=0;return null!=l&&(r++,c=n.offset=l),o=o||c<0||c>1,i=i||c<a,a=c,s.push(c),n});o&&t.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),i&&t.errors.push("Please ensure that all keyframe offsets are in order");const c=e.steps.length;let u=0;r>0&&r<c?t.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==r&&(u=1/(c-1));const h=c-1,d=t.currentTime,f=t.currentAnimateTimings,p=f.duration;return l.forEach((e,r)=>{const i=u>0?r==h?1:u*r:s[r],o=i*p;t.currentTime=d+f.delay+o,f.duration=o,this._validateStyleAst(e,t),e.offset=i,n.styles.push(e)}),n}visitReference(e,t){return{type:8,animation:Y(this,H(e.animation),t),options:he(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:he(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:he(e.options)}}visitQuery(e,t){const n=t.currentQuerySelector,r=e.options||{};t.queryCount++,t.currentQuery=e;const[s,i]=function(e){const t=!!e.split(/\s*,\s*/).find(e=>e==se);return t&&(e=e.replace(ie,"")),[e=e.replace(/@\*/g,A).replace(/@\w+/g,e=>A+"-"+e.substr(1)).replace(/:animating/g,I),t]}(e.selector);t.currentQuerySelector=n.length?n+" "+s:s,u(t.collectedStyles,t.currentQuerySelector,{});const o=Y(this,H(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:11,selector:s,limit:r.limit||0,optional:!!r.optional,includeSelf:i,animation:o,originalSelector:e.selector,options:he(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");const n="full"===e.timings?{duration:0,delay:0,easing:"full"}:j(e.timings,t.errors,!0);return{type:12,animation:Y(this,H(e.animation),t),timings:n,options:null}}}class ce{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}function ue(e){return!Array.isArray(e)&&"object"==typeof e}function he(e){var t;return e?(e=M(e)).params&&(e.params=(t=e.params)?M(t):null):e={},e}function de(e,t,n){return{duration:e,delay:t,easing:n}}function fe(e,t,n,r,s,i,o=null,a=!1){return{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:r,duration:s,delay:i,totalTime:s+i,easing:o,subTimeline:a}}class pe{constructor(){this._map=new Map}consume(e){let t=this._map.get(e);return t?this._map.delete(e):t=[],t}append(e,t){let n=this._map.get(e);n||this._map.set(e,n=[]),n.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const me=1,ge=new RegExp(":enter","g"),ye=new RegExp(":leave","g");function be(e,t,n,r,s,i={},o={},a,l,c=[]){return(new _e).buildKeyframes(e,t,n,r,s,i,o,a,l,c)}class _e{buildKeyframes(e,t,n,r,s,i,o,a,l,c=[]){l=l||new pe;const u=new we(e,t,l,r,s,c,[]);u.options=a,u.currentTimeline.setStyles([i],null,u.errors,a),Y(this,n,u);const h=u.timelines.filter(e=>e.containsAnimation());if(h.length&&Object.keys(o).length){const e=h[h.length-1];e.allowOnlyTimelineStyles()||e.setStyles([o],null,u.errors,a)}return h.length?h.map(e=>e.buildKeyframes()):[fe(t,[],[],[],0,0,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const n=t.subInstructions.consume(t.element);if(n){const r=t.createSubContext(e.options),s=t.currentTimeline.currentTime,i=this._visitSubInstructions(n,r,r.options);s!=i&&t.transformIntoNewTimeline(i)}t.previousNode=e}visitAnimateRef(e,t){const n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,n){let r=t.currentTimeline.currentTime;const s=null!=n.duration?P(n.duration):null,i=null!=n.delay?P(n.delay):null;return 0!==s&&e.forEach(e=>{const n=t.appendInstructionToTimeline(e,s,i);r=Math.max(r,n.duration+n.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),Y(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const n=t.subContextCount;let r=t;const s=e.options;if(s&&(s.params||s.delay)&&((r=t.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=ve);const e=P(s.delay);r.delayNextStep(e)}e.steps.length&&(e.steps.forEach(e=>Y(this,e,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>n&&r.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const n=[];let r=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?P(e.options.delay):0;e.steps.forEach(i=>{const o=t.createSubContext(e.options);s&&o.delayNextStep(s),Y(this,i,o),r=Math.max(r,o.currentTimeline.currentTime),n.push(o.currentTimeline)}),n.forEach(e=>t.currentTimeline.mergeTimelineCollectedStyles(e)),t.transformIntoNewTimeline(r),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const n=e.strValue;return j(t.params?q(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const n=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),r.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(n.duration),this.visitStyle(s,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const n=t.currentTimeline,r=t.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();const s=r&&r.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(s):n.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const n=t.currentAnimateTimings,r=t.currentTimeline.duration,s=n.duration,i=t.createSubContext().currentTimeline;i.easing=n.easing,e.styles.forEach(e=>{i.forwardTime((e.offset||0)*s),i.setStyles(e.styles,e.easing,t.errors,t.options),i.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(i),t.transformIntoNewTimeline(r+s),t.previousNode=e}visitQuery(e,t){const n=t.currentTimeline.currentTime,r=e.options||{},s=r.delay?P(r.delay):0;s&&(6===t.previousNode.type||0==n&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=ve);let i=n;const o=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=o.length;let a=null;o.forEach((n,r)=>{t.currentQueryIndex=r;const o=t.createSubContext(e.options,n);s&&o.delayNextStep(s),n===t.element&&(a=o.currentTimeline),Y(this,e.animation,o),o.currentTimeline.applyStylesToKeyframe(),i=Math.max(i,o.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(i),a&&(t.currentTimeline.mergeTimelineCollectedStyles(a),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const n=t.parentContext,r=t.currentTimeline,s=e.timings,i=Math.abs(s.duration),o=i*(t.currentQueryTotal-1);let a=i*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":a=o-a;break;case"full":a=n.currentStaggerTime}const l=t.currentTimeline;a&&l.delayNextStep(a);const c=l.currentTime;Y(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=r.currentTime-c+(r.startTime-n.currentTimeline.startTime)}}const ve={};class we{constructor(e,t,n,r,s,i,o,a){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=s,this.errors=i,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=ve,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Ce(this._driver,t,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const n=e;let r=this.options;null!=n.duration&&(r.duration=P(n.duration)),null!=n.delay&&(r.delay=P(n.delay));const s=n.params;if(s){let e=r.params;e||(e=this.options.params={}),Object.keys(s).forEach(n=>{t&&e.hasOwnProperty(n)||(e[n]=q(s[n],e,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const n=e.params={};Object.keys(t).forEach(e=>{n[e]=t[e]})}}return e}createSubContext(e=null,t,n){const r=t||this.element,s=new we(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,n||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=ve,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,n){const r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},s=new Se(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(s),r}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,n,r,s,i){let o=[];if(r&&o.push(this.element),e.length>0){e=(e=e.replace(ge,"."+this._enterClassName)).replace(ye,"."+this._leaveClassName);let t=this._driver.query(this.element,e,1!=n);0!==n&&(t=n<0?t.slice(t.length+n,t.length):t.slice(0,n)),o.push(...t)}return s||0!=o.length||i.push(`\`query("${t}")\` returned zero elements. (Use \`query("${t}", { optional: true })\` if you wish to allow this.)`),o}}class Ce{constructor(e,t,n,r){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}getCurrentStyleProperties(){return Object.keys(this._currentKeyframe)}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new Ce(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=me,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(e=>{this._backFill[e]=this._globalTimelineStyles[e]||r.a,this._currentKeyframe[e]=r.a}),this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,n,s){t&&(this._previousKeyframe.easing=t);const i=s&&s.params||{},o=function(e,t){const n={};let s;return e.forEach(e=>{"*"===e?(s=s||Object.keys(t)).forEach(e=>{n[e]=r.a}):V(e,!1,n)}),n}(e,this._globalTimelineStyles);Object.keys(o).forEach(e=>{const t=q(o[e],i,n);this._pendingStyles[e]=t,this._localTimelineStyles.hasOwnProperty(e)||(this._backFill[e]=this._globalTimelineStyles.hasOwnProperty(e)?this._globalTimelineStyles[e]:r.a),this._updateStyle(e,t)})}applyStylesToKeyframe(){const e=this._pendingStyles,t=Object.keys(e);0!=t.length&&(this._pendingStyles={},t.forEach(t=>{this._currentKeyframe[t]=e[t]}),Object.keys(this._localTimelineStyles).forEach(e=>{this._currentKeyframe.hasOwnProperty(e)||(this._currentKeyframe[e]=this._localTimelineStyles[e])}))}snapshotCurrentStyles(){Object.keys(this._localTimelineStyles).forEach(e=>{const t=this._localTimelineStyles[e];this._pendingStyles[e]=t,this._updateStyle(e,t)})}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){Object.keys(e._styleSummary).forEach(t=>{const n=this._styleSummary[t],r=e._styleSummary[t];(!n||r.time>n.time)&&this._updateStyle(t,r.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,n=1===this._keyframes.size&&0===this.duration;let s=[];this._keyframes.forEach((i,o)=>{const a=V(i,!0);Object.keys(a).forEach(n=>{const s=a[n];s==r.h?e.add(n):s==r.a&&t.add(n)}),n||(a.offset=o/this.duration),s.push(a)});const i=e.size?W(e.values()):[],o=t.size?W(t.values()):[];if(n){const e=s[0],t=M(e);e.offset=0,t.offset=1,s=[e,t]}return fe(this.element,s,i,o,this.duration,this.startTime,this.easing,!1)}}class Se extends Ce{constructor(e,t,n,r,s,i,o=!1){super(e,t,i.delay),this.element=t,this.keyframes=n,this.preStyleProps=r,this.postStyleProps=s,this._stretchStartingKeyframe=o,this.timings={duration:i.duration,delay:i.delay,easing:i.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:n,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],i=n+t,o=t/i,a=V(e[0],!1);a.offset=0,s.push(a);const l=V(e[0],!1);l.offset=Ee(o),s.push(l);const c=e.length-1;for(let r=1;r<=c;r++){let o=V(e[r],!1);o.offset=Ee((t+o.offset*n)/i),s.push(o)}n=i,t=0,r="",e=s}return fe(this.element,e,this.preStyleProps,this.postStyleProps,n,t,r,!0)}}function Ee(e,t=3){const n=Math.pow(10,t-1);return Math.round(e*n)/n}class xe{}class ke extends xe{normalizePropertyName(e,t){return Q(e)}normalizeStyleValue(e,t,n,r){let s="";const i=n.toString().trim();if(Oe[t]&&0!==n&&"0"!==n)if("number"==typeof n)s="px";else{const t=n.match(/^[+-]?[\d\.]+([a-z]*)$/);t&&0==t[1].length&&r.push(`Please provide a CSS unit value for ${e}:${n}`)}return i+s}}const Oe=(()=>(function(e){const t={};return e.forEach(e=>t[e]=!0),t})("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")))();function Te(e,t,n,r,s,i,o,a,l,c,u,h,d){return{type:0,element:e,triggerName:t,isRemovalTransition:s,fromState:n,fromStyles:i,toState:r,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:h,errors:d}}const De={};class Ae{constructor(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}match(e,t,n,r){return function(e,t,n,r,s){return e.some(e=>e(t,n,r,s))}(this.ast.matchers,e,t,n,r)}buildStyles(e,t,n){const r=this._stateStyles["*"],s=this._stateStyles[e],i=r?r.buildStyles(t,n):{};return s?s.buildStyles(t,n):i}build(e,t,n,r,s,i,o,a,l,c){const h=[],d=this.ast.options&&this.ast.options.params||De,f=this.buildStyles(n,o&&o.params||De,h),p=a&&a.params||De,m=this.buildStyles(r,p,h),g=new Set,y=new Map,b=new Map,_="void"===r,v={params:Object.assign({},d,p)},w=c?[]:be(e,t,this.ast.animation,s,i,f,m,v,l,h);let C=0;if(w.forEach(e=>{C=Math.max(e.duration+e.delay,C)}),h.length)return Te(t,this._triggerName,n,r,_,f,m,[],[],y,b,C,h);w.forEach(e=>{const n=e.element,r=u(y,n,{});e.preStyleProps.forEach(e=>r[e]=!0);const s=u(b,n,{});e.postStyleProps.forEach(e=>s[e]=!0),n!==t&&g.add(n)});const S=W(g.values());return Te(t,this._triggerName,n,r,_,f,m,w,S,y,b,C)}}class Ne{constructor(e,t){this.styles=e,this.defaultParams=t}buildStyles(e,t){const n={},r=M(this.defaultParams);return Object.keys(e).forEach(t=>{const n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(e=>{if("string"!=typeof e){const s=e;Object.keys(s).forEach(e=>{let i=s[e];i.length>1&&(i=q(i,r,t)),n[e]=i})}}),n}}class Ie{constructor(e,t){this.name=e,this.ast=t,this.transitionFactories=[],this.states={},t.states.forEach(e=>{this.states[e.name]=new Ne(e.style,e.options&&e.options.params||{})}),Pe(this.states,"true","1"),Pe(this.states,"false","0"),t.transitions.forEach(t=>{this.transitionFactories.push(new Ae(e,t,this.states))}),this.fallbackTransition=new Ae(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[(e,t)=>!0],options:null,queryCount:0,depCount:0},this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,n,r){return this.transitionFactories.find(s=>s.match(e,t,n,r))||null}matchStyles(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}}function Pe(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])}const Re=new pe;class je{constructor(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}register(e,t){const n=[],r=oe(this._driver,t,n);if(n.length)throw new Error(`Unable to build the animation due to the following errors: ${n.join("\n")}`);this._animations[e]=r}_buildPlayer(e,t,n){const r=e.element,s=o(0,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(r,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,n={}){const s=[],o=this._animations[e];let a;const l=new Map;if(o?(a=be(this._driver,t,o,O,T,{},{},n,Re,s)).forEach(e=>{const t=u(l,e.element,{});e.postStyleProps.forEach(e=>t[e]=null)}):(s.push("The requested animation doesn't exist or has already been destroyed"),a=[]),s.length)throw new Error(`Unable to create the animation due to the following errors: ${s.join("\n")}`);l.forEach((e,t)=>{Object.keys(e).forEach(n=>{e[n]=this._driver.computeStyle(t,n,r.a)})});const c=i(a.map(e=>{const t=l.get(e.element);return this._buildPlayer(e,{},t)}));return this._playersById[e]=c,c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){const t=this._getPlayer(e);t.destroy(),delete this._playersById[e];const n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}_getPlayer(e){const t=this._playersById[e];if(!t)throw new Error(`Unable to find the timeline player referenced by ${e}`);return t}listen(e,t,n,r){const s=c(t,"","","");return a(this._getPlayer(e),n,s,r),()=>{}}command(e,t,n,r){if("register"==n)return void this.register(e,r[0]);if("create"==n)return void this.create(e,t,r[0]||{});const s=this._getPlayer(e);switch(n){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}}const Me="ng-animate-queued",Ve=".ng-animate-queued",Fe="ng-animate-disabled",Le=".ng-animate-disabled",$e="ng-star-inserted",Ue=".ng-star-inserted",He=[],ze={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Be={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},qe="__ng_removed";class We{constructor(e,t=""){this.namespaceId=t;const n=e&&e.hasOwnProperty("value");if(this.value=function(e){return null!=e?e:null}(n?e.value:e),n){const t=M(e);delete t.value,this.options=t}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const e=this.options.params;Object.keys(t).forEach(n=>{null==e[n]&&(e[n]=t[n])})}}}const Ge="void",Qe=new We(Ge);class Ke{constructor(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,rt(t,this._hostClassName)}listen(e,t,n,r){if(!this._triggers.hasOwnProperty(t))throw new Error(`Unable to listen on the animation trigger event "${n}" because the animation trigger "${t}" doesn't exist!`);if(null==n||0==n.length)throw new Error(`Unable to listen on the animation trigger "${t}" because the provided event is undefined!`);if("start"!=(s=n)&&"done"!=s)throw new Error(`The provided animation trigger event "${n}" for the animation trigger "${t}" is not supported!`);var s;const i=u(this._elementListeners,e,[]),o={name:t,phase:n,callback:r};i.push(o);const a=u(this._engine.statesByElement,e,{});return a.hasOwnProperty(t)||(rt(e,D),rt(e,D+"-"+t),a[t]=Qe),()=>{this._engine.afterFlush(()=>{const e=i.indexOf(o);e>=0&&i.splice(e,1),this._triggers[t]||delete a[t]})}}register(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)}_getTrigger(e){const t=this._triggers[e];if(!t)throw new Error(`The provided animation trigger "${e}" has not been registered!`);return t}trigger(e,t,n,r=!0){const s=this._getTrigger(t),i=new Ye(this.id,t,e);let o=this._engine.statesByElement.get(e);o||(rt(e,D),rt(e,D+"-"+t),this._engine.statesByElement.set(e,o={}));let a=o[t];const l=new We(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&a&&l.absorbOptions(a.options),o[t]=l,a||(a=Qe),l.value!==Ge&&a.value===l.value){if(!function(e,t){const n=Object.keys(e),r=Object.keys(t);if(n.length!=r.length)return!1;for(let s=0;s<n.length;s++){const r=n[s];if(!t.hasOwnProperty(r)||e[r]!==t[r])return!1}return!0}(a.params,l.params)){const t=[],n=s.matchStyles(a.value,a.params,t),r=s.matchStyles(l.value,l.params,t);t.length?this._engine.reportError(t):this._engine.afterFlush(()=>{U(e,n),$(e,r)})}return}const c=u(this._engine.playersByElement,e,[]);c.forEach(e=>{e.namespaceId==this.id&&e.triggerName==t&&e.queued&&e.destroy()});let h=s.matchTransition(a.value,l.value,e,l.params),d=!1;if(!h){if(!r)return;h=s.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:h,fromState:a,toState:l,player:i,isFallbackTransition:d}),d||(rt(e,Me),i.onStart(()=>{st(e,Me)})),i.onDone(()=>{let t=this.players.indexOf(i);t>=0&&this.players.splice(t,1);const n=this._engine.playersByElement.get(e);if(n){let e=n.indexOf(i);e>=0&&n.splice(e,1)}}),this.players.push(i),c.push(i),i}deregister(e){delete this._triggers[e],this._engine.statesByElement.forEach((t,n)=>{delete t[e]}),this._elementListeners.forEach((t,n)=>{this._elementListeners.set(n,t.filter(t=>t.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(e=>e.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t,n=!1){this._engine.driver.query(e,A,!0).forEach(e=>{if(e[qe])return;const n=this._engine.fetchNamespacesByElement(e);n.size?n.forEach(n=>n.triggerLeaveAnimation(e,t,!1,!0)):this.clearElementCache(e)})}triggerLeaveAnimation(e,t,n,r){const s=this._engine.statesByElement.get(e);if(s){const o=[];if(Object.keys(s).forEach(t=>{if(this._triggers[t]){const n=this.trigger(e,t,Ge,r);n&&o.push(n)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t),n&&i(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e);if(t){const n=new Set;t.forEach(t=>{const r=t.name;if(n.has(r))return;n.add(r);const s=this._triggers[r].fallbackTransition,i=this._engine.statesByElement.get(e)[r]||Qe,o=new We(Ge),a=new Ye(this.id,r,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:r,transition:s,fromState:i,toState:o,player:a,isFallbackTransition:!0})})}}removeNode(e,t){const n=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t,!0),this.triggerLeaveAnimation(e,t,!0))return;let r=!1;if(n.totalAnimations){const t=n.players.length?n.playersByQueriedElement.get(e):[];if(t&&t.length)r=!0;else{let t=e;for(;t=t.parentNode;)if(n.statesByElement.get(t)){r=!0;break}}}this.prepareLeaveAnimationListeners(e),r?n.markElementAsRemoved(this.id,e,!1,t):(n.afterFlush(()=>this.clearElementCache(e)),n.destroyInnerAnimations(e),n._onRemovalComplete(e,t))}insertNode(e,t){rt(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(n=>{const r=n.player;if(r.destroyed)return;const s=n.element,i=this._elementListeners.get(s);i&&i.forEach(t=>{if(t.name==n.triggerName){const r=c(s,n.triggerName,n.fromState.value,n.toState.value);r._data=e,a(n.player,t.phase,r,t.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(n)}),this._queue=[],t.sort((e,t)=>{const n=e.transition.ast.depCount,r=t.transition.ast.depCount;return 0==n||0==r?n-r:this._engine.driver.containsElement(e.element,t.element)?1:-1})}destroy(e){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),!!this._queue.find(t=>t.element===e)||t}}class Ze{constructor(e,t,n){this.bodyNode=e,this.driver=t,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(e,t)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(t=>{t.queued&&e.push(t)})}),e}createNamespace(e,t){const n=new Ke(e,t,this);return t.parentNode?this._balanceNamespaceList(n,t):(this.newHostElements.set(t,n),this.collectEnterElement(t)),this._namespaceLookup[e]=n}_balanceNamespaceList(e,t){const n=this._namespaceList.length-1;if(n>=0){let r=!1;for(let s=n;s>=0;s--)if(this.driver.containsElement(this._namespaceList[s].hostElement,t)){this._namespaceList.splice(s+1,0,e),r=!0;break}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e}register(e,t){let n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}registerTrigger(e,t,n){let r=this._namespaceLookup[e];r&&r.register(t,n)&&this.totalAnimations++}destroy(e,t){if(!e)return;const n=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(n.hostElement),delete this._namespaceLookup[e];const t=this._namespaceList.indexOf(n);t>=0&&this._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(()=>n.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,n=this.statesByElement.get(e);if(n){const e=Object.keys(n);for(let r=0;r<e.length;r++){const s=n[e[r]].namespaceId;if(s){const e=this._fetchNamespace(s);e&&t.add(e)}}}return t}trigger(e,t,n,r){if(Je(t)){const s=this._fetchNamespace(e);if(s)return s.trigger(t,n,r),!0}return!1}insertNode(e,t,n,r){if(!Je(t))return;const s=t[qe];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const e=this.collectedLeaveElements.indexOf(t);e>=0&&this.collectedLeaveElements.splice(e,1)}if(e){const r=this._fetchNamespace(e);r&&r.insertNode(t,n)}r&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),rt(e,Fe)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),st(e,Fe))}removeNode(e,t,n,r){if(Je(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),n){const n=this.namespacesByHostElement.get(t);n&&n.id!==e&&n.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(e,t,n,r){this.collectedLeaveElements.push(t),t[qe]={namespaceId:e,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}}listen(e,t,n,r,s){return Je(t)?this._fetchNamespace(e).listen(t,n,r,s):()=>{}}_buildInstruction(e,t,n,r,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,r,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,A,!0);t.forEach(e=>this.destroyActiveAnimationsForElement(e)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,I,!0)).forEach(e=>this.finishActiveQueriedAnimationOnElement(e))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(e=>{e.queued?e.markedForDestroy=!0:e.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(e=>e.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return i(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[qe];if(t&&t.setForRemoval){if(e[qe]=ze,t.namespaceId){this.destroyInnerAnimations(e);const n=this._fetchNamespace(t.namespaceId);n&&n.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}this.driver.matchesElement(e,Le)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Le,!0).forEach(e=>{this.markElementAsDisabled(e,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((e,t)=>this._balanceNamespaceList(e,t)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;n<this.collectedEnterElements.length;n++)rt(this.collectedEnterElements[n],$e);if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const n=[];try{t=this._flushAnimations(n,e)}finally{for(let e=0;e<n.length;e++)n[e]()}}else for(let n=0;n<this.collectedLeaveElements.length;n++)this.processLeaveNode(this.collectedLeaveElements[n]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(e=>e()),this._flushFns=[],this._whenQuietFns.length){const e=this._whenQuietFns;this._whenQuietFns=[],t.length?i(t).onDone(()=>{e.forEach(e=>e())}):e.forEach(e=>e())}}reportError(e){throw new Error(`Unable to process animations due to the following failed trigger transitions\n ${e.join("\n")}`)}_flushAnimations(e,t){const n=new pe,s=[],o=new Map,a=[],l=new Map,c=new Map,h=new Map,d=new Set;this.disabledNodes.forEach(e=>{d.add(e);const t=this.driver.query(e,Ve,!0);for(let n=0;n<t.length;n++)d.add(t[n])});const f=this.bodyNode,p=Array.from(this.statesByElement.keys()),m=tt(p,this.collectedEnterElements),g=new Map;let y=0;m.forEach((e,t)=>{const n=O+y++;g.set(t,n),e.forEach(e=>rt(e,n))});const b=[],_=new Set,v=new Set;for(let r=0;r<this.collectedLeaveElements.length;r++){const e=this.collectedLeaveElements[r],t=e[qe];t&&t.setForRemoval&&(b.push(e),_.add(e),t.hasAnimation?this.driver.query(e,Ue,!0).forEach(e=>_.add(e)):v.add(e))}const w=new Map,C=tt(p,Array.from(_));C.forEach((e,t)=>{const n=T+y++;w.set(t,n),e.forEach(e=>rt(e,n))}),e.push(()=>{m.forEach((e,t)=>{const n=g.get(t);e.forEach(e=>st(e,n))}),C.forEach((e,t)=>{const n=w.get(t);e.forEach(e=>st(e,n))}),b.forEach(e=>{this.processLeaveNode(e)})});const S=[],E=[];for(let r=this._namespaceList.length-1;r>=0;r--)this._namespaceList[r].drainQueuedTransitions(t).forEach(e=>{const t=e.player,r=e.element;if(S.push(t),this.collectedEnterElements.length){const e=r[qe];if(e&&e.setForMove)return void t.destroy()}const i=!f||!this.driver.containsElement(f,r),o=w.get(r),d=g.get(r),p=this._buildInstruction(e,n,d,o,i);if(!p.errors||!p.errors.length)return i?(t.onStart(()=>U(r,p.fromStyles)),t.onDestroy(()=>$(r,p.toStyles)),void s.push(t)):e.isFallbackTransition?(t.onStart(()=>U(r,p.fromStyles)),t.onDestroy(()=>$(r,p.toStyles)),void s.push(t)):(p.timelines.forEach(e=>e.stretchStartingKeyframe=!0),n.append(r,p.timelines),a.push({instruction:p,player:t,element:r}),p.queriedElements.forEach(e=>u(l,e,[]).push(t)),p.preStyleProps.forEach((e,t)=>{const n=Object.keys(e);if(n.length){let e=c.get(t);e||c.set(t,e=new Set),n.forEach(t=>e.add(t))}}),void p.postStyleProps.forEach((e,t)=>{const n=Object.keys(e);let r=h.get(t);r||h.set(t,r=new Set),n.forEach(e=>r.add(e))}));E.push(p)});if(E.length){const e=[];E.forEach(t=>{e.push(`@${t.triggerName} has failed due to:\n`),t.errors.forEach(t=>e.push(`- ${t}\n`))}),S.forEach(e=>e.destroy()),this.reportError(e)}const x=new Map,k=new Map;a.forEach(e=>{const t=e.element;n.has(t)&&(k.set(t,t),this._beforeAnimationBuild(e.player.namespaceId,e.instruction,x))}),s.forEach(e=>{const t=e.element;this._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(e=>{u(x,t,[]).push(e),e.destroy()})});const D=b.filter(e=>ot(e,c,h)),A=new Map;et(A,this.driver,v,h,r.a).forEach(e=>{ot(e,c,h)&&D.push(e)});const N=new Map;m.forEach((e,t)=>{et(N,this.driver,new Set(e),c,r.h)}),D.forEach(e=>{const t=A.get(e),n=N.get(e);A.set(e,Object.assign({},t,n))});const P=[],R=[],j={};a.forEach(e=>{const{element:t,player:r,instruction:a}=e;if(n.has(t)){if(d.has(t))return r.onDestroy(()=>$(t,a.toStyles)),r.disabled=!0,r.overrideTotalTime(a.totalTime),void s.push(r);let e=j;if(k.size>1){let n=t;const r=[];for(;n=n.parentNode;){const t=k.get(n);if(t){e=t;break}r.push(n)}r.forEach(t=>k.set(t,e))}const n=this._buildAnimation(r.namespaceId,a,x,o,N,A);if(r.setRealPlayer(n),e===j)P.push(r);else{const t=this.playersByElement.get(e);t&&t.length&&(r.parentPlayer=i(t)),s.push(r)}}else U(t,a.fromStyles),r.onDestroy(()=>$(t,a.toStyles)),R.push(r),d.has(t)&&s.push(r)}),R.forEach(e=>{const t=o.get(e.element);if(t&&t.length){const n=i(t);e.setRealPlayer(n)}}),s.forEach(e=>{e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(let r=0;r<b.length;r++){const e=b[r],t=e[qe];if(st(e,T),t&&t.hasAnimation)continue;let n=[];if(l.size){let t=l.get(e);t&&t.length&&n.push(...t);let r=this.driver.query(e,I,!0);for(let e=0;e<r.length;e++){let t=l.get(r[e]);t&&t.length&&n.push(...t)}}const s=n.filter(e=>!e.destroyed);s.length?it(this,e,s):this.processLeaveNode(e)}return b.length=0,P.forEach(e=>{this.players.push(e),e.onDone(()=>{e.destroy();const t=this.players.indexOf(e);this.players.splice(t,1)}),e.play()}),P}elementContainsData(e,t){let n=!1;const r=t[qe];return r&&r.setForRemoval&&(n=!0),this.playersByElement.has(t)&&(n=!0),this.playersByQueriedElement.has(t)&&(n=!0),this.statesByElement.has(t)&&(n=!0),this._fetchNamespace(e).elementContainsData(t)||n}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,n,r,s){let i=[];if(t){const t=this.playersByQueriedElement.get(e);t&&(i=t)}else{const t=this.playersByElement.get(e);if(t){const e=!s||s==Ge;t.forEach(t=>{t.queued||(e||t.triggerName==r)&&i.push(t)})}}return(n||r)&&(i=i.filter(e=>!(n&&n!=e.namespaceId||r&&r!=e.triggerName))),i}_beforeAnimationBuild(e,t,n){const r=t.element,s=t.isRemovalTransition?void 0:e,i=t.isRemovalTransition?void 0:t.triggerName;for(const o of t.timelines){const e=o.element,a=e!==r,l=u(n,e,[]);this._getPreviousPlayers(e,a,s,i,t.toState).forEach(e=>{const t=e.getRealPlayer();t.beforeDestroy&&t.beforeDestroy(),e.destroy(),l.push(e)})}U(r,t.fromStyles)}_buildAnimation(e,t,n,s,a,l){const c=t.triggerName,h=t.element,d=[],f=new Set,p=new Set,m=t.timelines.map(t=>{const i=t.element;f.add(i);const u=i[qe];if(u&&u.removedBeforeQueried)return new r.d(t.duration,t.delay);const m=i!==h,g=function(e){const t=[];return function e(t,n){for(let s=0;s<t.length;s++){const i=t[s];i instanceof r.g?e(i.players,n):n.push(i)}}((n.get(i)||He).map(e=>e.getRealPlayer()),t),t}().filter(e=>!!e.element&&e.element===i),y=a.get(i),b=l.get(i),_=o(0,this._normalizer,0,t.keyframes,y,b),v=this._buildPlayer(t,_,g);if(t.subTimeline&&s&&p.add(i),m){const t=new Ye(e,c,i);t.setRealPlayer(v),d.push(t)}return v});d.forEach(e=>{u(this.playersByQueriedElement,e.element,[]).push(e),e.onDone(()=>(function(e,t,n){let r;if(e instanceof Map){if(r=e.get(t)){if(r.length){const e=r.indexOf(n);r.splice(e,1)}0==r.length&&e.delete(t)}}else if(r=e[t]){if(r.length){const e=r.indexOf(n);r.splice(e,1)}0==r.length&&delete e[t]}return r})(this.playersByQueriedElement,e.element,e))}),f.forEach(e=>rt(e,N));const g=i(m);return g.onDestroy(()=>{f.forEach(e=>st(e,N)),$(h,t.toStyles)}),p.forEach(e=>{u(s,e,[]).push(g)}),g}_buildPlayer(e,t,n){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new r.d(e.duration,e.delay)}}class Ye{constructor(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n,this._player=new r.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(t=>{this._queuedCallbacks[t].forEach(n=>a(e,t,void 0,n))}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){u(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function Je(e){return e&&1===e.nodeType}function Xe(e,t){const n=e.style.display;return e.style.display=null!=t?t:"none",n}function et(e,t,n,r,s){const i=[];n.forEach(e=>i.push(Xe(e)));const o=[];r.forEach((n,r)=>{const i={};n.forEach(e=>{const n=i[e]=t.computeStyle(r,e,s);n&&0!=n.length||(r[qe]=Be,o.push(r))}),e.set(r,i)});let a=0;return n.forEach(e=>Xe(e,i[a++])),o}function tt(e,t){const n=new Map;if(e.forEach(e=>n.set(e,[])),0==t.length)return n;const r=new Set(t),s=new Map;return t.forEach(e=>{const t=function e(t){if(!t)return 1;let i=s.get(t);if(i)return i;const o=t.parentNode;return i=n.has(o)?o:r.has(o)?1:e(o),s.set(t,i),i}(e);1!==t&&n.get(t).push(e)}),n}const nt="$$classes";function rt(e,t){if(e.classList)e.classList.add(t);else{let n=e[nt];n||(n=e[nt]={}),n[t]=!0}}function st(e,t){if(e.classList)e.classList.remove(t);else{let n=e[nt];n&&delete n[t]}}function it(e,t,n){i(n).onDone(()=>e.processLeaveNode(t))}function ot(e,t,n){const r=n.get(e);if(!r)return!1;let s=t.get(e);return s?r.forEach(e=>s.add(e)):t.set(e,r),n.delete(e),!0}class at{constructor(e,t,n){this.bodyNode=e,this._driver=t,this._triggerCache={},this.onRemovalComplete=(e,t)=>{},this._transitionEngine=new Ze(e,t,n),this._timelineEngine=new je(e,t,n),this._transitionEngine.onRemovalComplete=(e,t)=>this.onRemovalComplete(e,t)}registerTrigger(e,t,n,r,s){const i=e+"-"+r;let o=this._triggerCache[i];if(!o){const e=[],t=oe(this._driver,s,e);if(e.length)throw new Error(`The animation trigger "${r}" has failed to build due to the following errors:\n - ${e.join("\n - ")}`);o=function(e,t){return new Ie(e,t)}(r,t),this._triggerCache[i]=o}this._transitionEngine.registerTrigger(t,r,o)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,n,r){this._transitionEngine.insertNode(e,t,n,r)}onRemove(e,t,n,r){this._transitionEngine.removeNode(e,t,r||!1,n)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,n,r){if("@"==n.charAt(0)){const[e,s]=h(n);this._timelineEngine.command(e,t,s,r)}else this._transitionEngine.trigger(e,t,n,r)}listen(e,t,n,r,s){if("@"==n.charAt(0)){const[e,r]=h(n);return this._timelineEngine.listen(e,t,r,s)}return this._transitionEngine.listen(e,t,n,r,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}function lt(e,t){let n=null,r=null;return Array.isArray(t)&&t.length?(n=ut(t[0]),t.length>1&&(r=ut(t[t.length-1]))):t&&(n=ut(t)),n||r?new ct(e,n,r):null}let ct=(()=>{class e{constructor(t,n,r){this._element=t,this._startStyles=n,this._endStyles=r,this._state=0;let s=e.initialStylesByElement.get(t);s||e.initialStylesByElement.set(t,s={}),this._initialStyles=s}start(){this._state<1&&(this._startStyles&&$(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&($(this._element,this._initialStyles),this._endStyles&&($(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(U(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(U(this._element,this._endStyles),this._endStyles=null),$(this._element,this._initialStyles),this._state=3)}}return e.initialStylesByElement=new WeakMap,e})();function ut(e){let t=null;const n=Object.keys(e);for(let r=0;r<n.length;r++){const s=n[r];ht(s)&&((t=t||{})[s]=e[s])}return t}function ht(e){return"display"===e||"position"===e}const dt=3,ft="animation",pt="animationend",mt=1e3;class gt{constructor(e,t,n,r,s,i,o){this._element=e,this._name=t,this._duration=n,this._delay=r,this._easing=s,this._fillMode=i,this._onDoneFn=o,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=e=>this._handleCallback(e)}apply(){!function(e,t){const n=Ct(e,"").trim();n.length&&(function(e,t){let n=0;for(let r=0;r<e.length;r++)","===e.charAt(r)&&n++}(n),t=`${n}, ${t}`),wt(e,"",t)}(this._element,`${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`),vt(this._element,this._eventFn,!1),this._startTime=Date.now()}pause(){yt(this._element,this._name,"paused")}resume(){yt(this._element,this._name,"running")}setPosition(e){const t=bt(this._element,this._name);this._position=e*this._duration,wt(this._element,"Delay",`-${this._position}ms`,t)}getPosition(){return this._position}_handleCallback(e){const t=e._ngTestManualTimestamp||Date.now(),n=parseFloat(e.elapsedTime.toFixed(dt))*mt;e.animationName==this._name&&Math.max(t-this._startTime,0)>=this._delay&&n>=this._duration&&this.finish()}finish(){this._finished||(this._finished=!0,this._onDoneFn(),vt(this._element,this._eventFn,!0))}destroy(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){const n=Ct(e,"").split(","),r=_t(n,t);r>=0&&(n.splice(r,1),wt(e,"",n.join(",")))}(this._element,this._name))}}function yt(e,t,n){wt(e,"PlayState",n,bt(e,t))}function bt(e,t){const n=Ct(e,"");return n.indexOf(",")>0?_t(n.split(","),t):_t([n],t)}function _t(e,t){for(let n=0;n<e.length;n++)if(e[n].indexOf(t)>=0)return n;return-1}function vt(e,t,n){n?e.removeEventListener(pt,t):e.addEventListener(pt,t)}function wt(e,t,n,r){const s=ft+t;if(null!=r){const t=e.style[s];if(t.length){const e=t.split(",");e[r]=n,n=e.join(",")}}e.style[s]=n}function Ct(e,t){return e.style[ft+t]}const St="forwards",Et="linear";class xt{constructor(e,t,n,r,s,i,o,a){this.element=e,this.keyframes=t,this.animationName=n,this._duration=r,this._delay=s,this._finalStyles=o,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=i||Et,this.totalTime=r+s,this._buildStyler()}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}destroy(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}_flushDoneFns(){this._onDoneFns.forEach(e=>e()),this._onDoneFns=[]}_flushStartFns(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}finish(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}setPosition(e){this._styler.setPosition(e)}getPosition(){return this._styler.getPosition()}hasStarted(){return this._state>=2}init(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}play(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}pause(){this.init(),this._styler.pause()}restart(){this.reset(),this.play()}reset(){this._styler.destroy(),this._buildStyler(),this._styler.apply()}_buildStyler(){this._styler=new gt(this.element,this.animationName,this._duration,this._delay,this.easing,St,()=>this.finish())}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}beforeDestroy(){this.init();const e={};if(this.hasStarted()){const t=this._state>=3;Object.keys(this._finalStyles).forEach(n=>{"offset"!=n&&(e[n]=t?this._finalStyles[n]:J(this.element,n))})}this.currentSnapshot=e}}class kt extends r.d{constructor(e,t){super(),this.element=e,this._startingStyles={},this.__initialized=!1,this._styles=C(t)}init(){!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(e=>{this._startingStyles[e]=this.element.style[e]}),super.init())}play(){this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(e=>this.element.style.setProperty(e,this._styles[e])),super.play())}destroy(){this._startingStyles&&(Object.keys(this._startingStyles).forEach(e=>{const t=this._startingStyles[e];t?this.element.style.setProperty(e,t):this.element.style.removeProperty(e)}),this._startingStyles=null,super.destroy())}}const Ot="gen_css_kf_",Tt=" ";class Dt{constructor(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}validateStyleProperty(e){return b(e)}matchesElement(e,t){return _(e,t)}containsElement(e,t){return v(e,t)}query(e,t,n){return w(e,t,n)}computeStyle(e,t,n){return window.getComputedStyle(e)[t]}buildKeyframeElement(e,t,n){n=n.map(e=>C(e));let r=`@keyframes ${t} {\n`,s="";n.forEach(e=>{s=Tt;const t=parseFloat(e.offset);r+=`${s}${100*t}% {\n`,s+=Tt,Object.keys(e).forEach(t=>{const n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(r+=`${s}animation-timing-function: ${n};\n`));default:return void(r+=`${s}${t}: ${n};\n`)}}),r+=`${s}}\n`}),r+="}\n";const i=document.createElement("style");return i.innerHTML=r,i}animate(e,t,n,r,s,i=[],o){o&&this._notifyFaultyScrubber();const a=i.filter(e=>e instanceof xt),l={};K(n,r)&&a.forEach(e=>{let t=e.currentSnapshot;Object.keys(t).forEach(e=>l[e]=t[e])});const c=function(e){let t={};return e&&(Array.isArray(e)?e:[e]).forEach(e=>{Object.keys(e).forEach(n=>{"offset"!=n&&"easing"!=n&&(t[n]=e[n])})}),t}(t=Z(e,t,l));if(0==n)return new kt(e,c);const u=`${Ot}${this._count++}`,h=this.buildKeyframeElement(e,u,t);document.querySelector("head").appendChild(h);const d=lt(e,t),f=new xt(e,t,u,n,r,s,c,d);return f.onDestroy(()=>(function(e){h.parentNode.removeChild(h)})()),f}_notifyFaultyScrubber(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n","  visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)}}class At{constructor(e,t,n,r){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_triggerWebAnimation(e,t,n){return e.animate(t,n)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(t=>{"offset"!=t&&(e[t]=this._finished?this._finalKeyframe[t]:J(this.element,t))}),this.currentSnapshot=e}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}}class Nt{constructor(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Pt().toString()),this._cssKeyframesDriver=new Dt}validateStyleProperty(e){return b(e)}matchesElement(e,t){return _(e,t)}containsElement(e,t){return v(e,t)}query(e,t,n){return w(e,t,n)}computeStyle(e,t,n){return window.getComputedStyle(e)[t]}overrideWebAnimationsSupport(e){this._isNativeImpl=e}animate(e,t,n,r,s,i=[],o){if(!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,r,s,i);const a={duration:n,delay:r,fill:0==r?"both":"forwards"};s&&(a.easing=s);const l={},c=i.filter(e=>e instanceof At);K(n,r)&&c.forEach(e=>{let t=e.currentSnapshot;Object.keys(t).forEach(e=>l[e]=t[e])});const u=lt(e,t=Z(e,t=t.map(e=>V(e,!1)),l));return new At(e,t,a,u)}}function It(){return"function"==typeof Pt()}function Pt(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}},gRHU:function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n("2fFW"),s=n("NJ4a");const i={closed:!0,next(e){},error(e){if(r.a.useDeprecatedSynchronousErrorHandling)throw e;Object(s.a)(e)},complete(){}}},iInd:function(e,t,n){"use strict";var r=n("SVse"),s=n("8Y7J"),i=n("LRne"),o=n("Cfvw"),a=n("2Vo4"),l=n("HDdC");function c(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}c.prototype=Object.create(Error.prototype);const u=c;var h=n("itXk"),d=n("EY2u");function f(e){return new l.a(t=>{let n;try{n=e()}catch(r){return void t.error(r)}return(n?Object(o.a)(n):Object(d.b)()).subscribe(t)})}var p=n("XNiG"),m=n("lJxs"),g=n("0EUg"),y=n("pLZG"),b=n("7o/Q"),_=n("4I5i");function v(e){return function(t){return 0===e?Object(d.b)():t.lift(new w(e))}}class w{constructor(e){if(this.total=e,this.total<0)throw new _.a}call(e,t){return t.subscribe(new C(e,this.total))}}class C extends b.a{constructor(e,t){super(e),this.total=t,this.ring=new Array,this.count=0}_next(e){const t=this.ring,n=this.total,r=this.count++;t.length<n?t.push(e):t[r%n]=e}_complete(){const e=this.destination;let t=this.count;if(t>0){const n=this.count>=this.total?this.total:this.count,r=this.ring;for(let s=0;s<n;s++){const s=t++%n;e.next(r[s])}}e.complete()}}var S=n("vkgz");const E=(e=function(){return new u})=>Object(S.a)({hasValue:!1,next(){this.hasValue=!0},complete(){if(!this.hasValue)throw e()}});function x(e=null){return t=>t.lift(new k(e))}class k{constructor(e){this.defaultValue=e}call(e,t){return t.subscribe(new O(e,this.defaultValue))}}class O extends b.a{constructor(e,t){super(e),this.defaultValue=t,this.isEmpty=!0}_next(e){this.isEmpty=!1,this.destination.next(e)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}var T=n("SpAZ");function D(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Object(y.a)((t,n)=>e(t,n,r)):T.a,v(1),n?x(t):E(()=>new u))}var A=n("l7GE"),N=n("51Dv"),I=n("ZUHj");function P(e){return function(t){const n=new R(e),r=t.lift(n);return n.caught=r}}class R{constructor(e){this.selector=e}call(e,t){return t.subscribe(new j(e,this.selector,this.caught))}}class j extends A.a{constructor(e,t,n){super(e),this.selector=t,this.caught=n}error(e){if(!this.isStopped){let n;try{n=this.selector(e,this.caught)}catch(t){return void super.error(t)}this._unsubscribeAndRecycle();const r=new N.a(this,void 0,void 0);this.add(r),Object(I.a)(this,n,void 0,void 0,r)}}}var M=n("IzEk");function V(e,t){const n=arguments.length>=2;return r=>r.pipe(e?Object(y.a)((t,n)=>e(t,n,r)):T.a,Object(M.a)(1),n?x(t):E(()=>new u))}var F=n("5+tZ");class L{constructor(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}call(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))}}class $ extends b.a{constructor(e,t,n,r){super(e),this.predicate=t,this.thisArg=n,this.source=r,this.index=0,this.thisArg=n||this}notifyComplete(e){this.destination.next(e),this.destination.complete()}_next(e){let t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)}_complete(){this.notifyComplete(!0)}}var U=n("eIep"),H=n("JX91");function z(e,t){let n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new B(e,t,n))}}class B{constructor(e,t,n=!1){this.accumulator=e,this.seed=t,this.hasSeed=n}call(e,t){return t.subscribe(new q(e,this.accumulator,this.seed,this.hasSeed))}}class q extends b.a{constructor(e,t,n,r){super(e),this.accumulator=t,this._seed=n,this.hasSeed=r,this.index=0}get seed(){return this._seed}set seed(e){this.hasSeed=!0,this._seed=e}_next(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)}_tryNext(e){const t=this.index++;let n;try{n=this.accumulator(this.seed,e,t)}catch(r){this.destination.error(r)}this.seed=n,this.destination.next(n)}}function W(e,t){return Object(F.a)(e,t,1)}var G=n("mCNh"),Q=n("quSY");class K{constructor(e){this.callback=e}call(e,t){return t.subscribe(new Z(e,this.callback))}}class Z extends b.a{constructor(e,t){super(e),this.add(new Q.a(t))}}var Y=n("bHdf"),J=n("cUpR");n.d(t,"B",function(){return ge}),n.d(t,"r",function(){return In}),n.d(t,"y",function(){return Hn}),n.d(t,"t",function(){return Mn}),n.d(t,"z",function(){return zn}),n.d(t,"A",function(){return Bn}),n.d(t,"v",function(){return Fn}),n.d(t,"u",function(){return Vn}),n.d(t,"x",function(){return Un}),n.d(t,"s",function(){return Rn}),n.d(t,"w",function(){return $n}),n.d(t,"C",function(){return An}),n.d(t,"l",function(){return vn}),n.d(t,"n",function(){return En}),n.d(t,"j",function(){return un}),n.d(t,"k",function(){return _n}),n.d(t,"i",function(){return dn}),n.d(t,"g",function(){return Nn}),n.d(t,"h",function(){return qn}),n.d(t,"m",function(){return jn}),n.d(t,"b",function(){return Sn}),n.d(t,"d",function(){return Tn}),n.d(t,"e",function(){return On}),n.d(t,"f",function(){return kn}),n.d(t,"o",function(){return Dn}),n.d(t,"a",function(){return at}),n.d(t,"p",function(){return pn}),n.d(t,"c",function(){return $e}),n.d(t,"q",function(){return Le});class X{constructor(e,t){this.id=e,this.url=t}}class ee extends X{constructor(e,t,n="imperative",r=null){super(e,t),this.navigationTrigger=n,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class te extends X{constructor(e,t,n){super(e,t),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ne extends X{constructor(e,t,n){super(e,t),this.reason=n}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class re extends X{constructor(e,t,n){super(e,t),this.error=n}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class se extends X{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ie extends X{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class oe extends X{constructor(e,t,n,r,s){super(e,t),this.urlAfterRedirects=n,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class ae extends X{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class le extends X{constructor(e,t,n,r){super(e,t),this.urlAfterRedirects=n,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ce{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class ue{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class he{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class de{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class fe{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class pe{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class me{constructor(e,t,n){this.routerEvent=e,this.position=t,this.anchor=n}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class ge{}const ye="primary";class be{constructor(e){this.params=e||{}}has(e){return this.params.hasOwnProperty(e)}get(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function _e(e){return new be(e)}const ve="ngNavigationCancelingError";function we(e){const t=Error("NavigationCancelingError: "+e);return t[ve]=!0,t}function Ce(e,t,n){const r=n.path.split("/");if(r.length>e.length)return null;if("full"===n.pathMatch&&(t.hasChildren()||r.length<e.length))return null;const s={};for(let i=0;i<r.length;i++){const t=r[i],n=e[i];if(t.startsWith(":"))s[t.substring(1)]=n;else if(t!==n.path)return null}return{consumed:e.slice(0,r.length),posParams:s}}class Se{constructor(e,t){this.routes=e,this.module=t}}function Ee(e,t=""){for(let n=0;n<e.length;n++){const r=e[n];xe(r,ke(t,r))}}function xe(e,t){if(!e)throw new Error(`\n      Invalid configuration of route '${t}': Encountered undefined route.\n      The reason might be an extra comma.\n\n      Example:\n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    `);if(Array.isArray(e))throw new Error(`Invalid configuration of route '${t}': Array cannot be specified`);if(!e.component&&!e.children&&!e.loadChildren&&e.outlet&&e.outlet!==ye)throw new Error(`Invalid configuration of route '${t}': a componentless route without children or loadChildren cannot have a named outlet set`);if(e.redirectTo&&e.children)throw new Error(`Invalid configuration of route '${t}': redirectTo and children cannot be used together`);if(e.redirectTo&&e.loadChildren)throw new Error(`Invalid configuration of route '${t}': redirectTo and loadChildren cannot be used together`);if(e.children&&e.loadChildren)throw new Error(`Invalid configuration of route '${t}': children and loadChildren cannot be used together`);if(e.redirectTo&&e.component)throw new Error(`Invalid configuration of route '${t}': redirectTo and component cannot be used together`);if(e.path&&e.matcher)throw new Error(`Invalid configuration of route '${t}': path and matcher cannot be used together`);if(void 0===e.redirectTo&&!e.component&&!e.children&&!e.loadChildren)throw new Error(`Invalid configuration of route '${t}'. One of the following must be provided: component, redirectTo, children or loadChildren`);if(void 0===e.path&&void 0===e.matcher)throw new Error(`Invalid configuration of route '${t}': routes must have either a path or a matcher specified`);if("string"==typeof e.path&&"/"===e.path.charAt(0))throw new Error(`Invalid configuration of route '${t}': path cannot start with a slash`);if(""===e.path&&void 0!==e.redirectTo&&void 0===e.pathMatch)throw new Error(`Invalid configuration of route '{path: "${t}", redirectTo: "${e.redirectTo}"}': please provide 'pathMatch'. The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.`);if(void 0!==e.pathMatch&&"full"!==e.pathMatch&&"prefix"!==e.pathMatch)throw new Error(`Invalid configuration of route '${t}': pathMatch can only be set to 'prefix' or 'full'`);e.children&&Ee(e.children,t)}function ke(e,t){return t?e||t.path?e&&!t.path?`${e}/`:!e&&t.path?t.path:`${e}/${t.path}`:"":e}function Oe(e){const t=e.children&&e.children.map(Oe),n=t?Object.assign({},e,{children:t}):Object.assign({},e);return!n.component&&(t||n.loadChildren)&&n.outlet&&n.outlet!==ye&&(n.component=ge),n}function Te(e,t){const n=Object.keys(e),r=Object.keys(t);if(!n||!r||n.length!=r.length)return!1;let s;for(let i=0;i<n.length;i++)if(e[s=n[i]]!==t[s])return!1;return!0}function De(e){return Array.prototype.concat.apply([],e)}function Ae(e){return e.length>0?e[e.length-1]:null}function Ne(e,t){for(const n in e)e.hasOwnProperty(n)&&t(e[n],n)}function Ie(e){return Object(s.yb)(e)?e:Object(s.zb)(e)?Object(o.a)(Promise.resolve(e)):Object(i.a)(e)}function Pe(e,t,n){return n?function(e,t){return Te(e,t)}(e.queryParams,t.queryParams)&&function e(t,n){if(!Ve(t.segments,n.segments))return!1;if(t.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children){if(!t.children[r])return!1;if(!e(t.children[r],n.children[r]))return!1}return!0}(e.root,t.root):function(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>t[n]===e[n])}(e.queryParams,t.queryParams)&&function e(t,n){return function t(n,r,s){if(n.segments.length>s.length){return!!Ve(n.segments.slice(0,s.length),s)&&!r.hasChildren()}if(n.segments.length===s.length){if(!Ve(n.segments,s))return!1;for(const t in r.children){if(!n.children[t])return!1;if(!e(n.children[t],r.children[t]))return!1}return!0}{const e=s.slice(0,n.segments.length),i=s.slice(n.segments.length);return!!Ve(n.segments,e)&&!!n.children[ye]&&t(n.children[ye],r,i)}}(t,n,n.segments)}(e.root,t.root)}class Re{constructor(e,t,n){this.root=e,this.queryParams=t,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=_e(this.queryParams)),this._queryParamMap}toString(){return Ue.serialize(this)}}class je{constructor(e,t){this.segments=e,this.children=t,this.parent=null,Ne(t,(e,t)=>e.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return He(this)}}class Me{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=_e(this.parameters)),this._parameterMap}toString(){return Qe(this)}}function Ve(e,t){return e.length===t.length&&e.every((e,n)=>e.path===t[n].path)}function Fe(e,t){let n=[];return Ne(e.children,(e,r)=>{r===ye&&(n=n.concat(t(e,r)))}),Ne(e.children,(e,r)=>{r!==ye&&(n=n.concat(t(e,r)))}),n}class Le{}class $e{parse(e){const t=new Xe(e);return new Re(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){var t;return`${`/${function e(t,n){if(!t.hasChildren())return He(t);if(n){const n=t.children[ye]?e(t.children[ye],!1):"",r=[];return Ne(t.children,(t,n)=>{n!==ye&&r.push(`${n}:${e(t,!1)}`)}),r.length>0?`${n}(${r.join("//")})`:n}{const n=Fe(t,(n,r)=>r===ye?[e(t.children[ye],!1)]:[`${r}:${e(n,!1)}`]);return`${He(t)}/(${n.join("//")})`}}(e.root,!0)}`}${function(e){const t=Object.keys(e).map(t=>{const n=e[t];return Array.isArray(n)?n.map(e=>`${Be(t)}=${Be(e)}`).join("&"):`${Be(t)}=${Be(n)}`});return t.length?`?${t.join("&")}`:""}(e.queryParams)}${"string"==typeof e.fragment?`#${t=e.fragment,encodeURI(t)}`:""}`}}const Ue=new $e;function He(e){return e.segments.map(e=>Qe(e)).join("/")}function ze(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Be(e){return ze(e).replace(/%3B/gi,";")}function qe(e){return ze(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function We(e){return decodeURIComponent(e)}function Ge(e){return We(e.replace(/\+/g,"%20"))}function Qe(e){return`${qe(e.path)}${t=e.parameters,Object.keys(t).map(e=>`;${qe(e)}=${qe(t[e])}`).join("")}`;var t}const Ke=/^[^\/()?;=#]+/;function Ze(e){const t=e.match(Ke);return t?t[0]:""}const Ye=/^[^=?&#]+/,Je=/^[^?&#]+/;class Xe{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new je([],{}):new je([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(n[ye]=new je(e,t)),n}parseSegment(){const e=Ze(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new Me(We(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const t=Ze(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){const e=Ze(this.remaining);e&&this.capture(n=e)}e[We(t)]=We(n)}parseQueryParam(e){const t=function(e){const t=e.match(Ye);return t?t[0]:""}(this.remaining);if(!t)return;this.capture(t);let n="";if(this.consumeOptional("=")){const e=function(e){const t=e.match(Je);return t?t[0]:""}(this.remaining);e&&this.capture(n=e)}const r=Ge(t),s=Ge(n);if(e.hasOwnProperty(r)){let t=e[r];Array.isArray(t)||(e[r]=t=[t]),t.push(s)}else e[r]=s}parseParens(e){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=Ze(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s=void 0;n.indexOf(":")>-1?(s=n.substr(0,n.indexOf(":")),this.capture(s),this.capture(":")):e&&(s=ye);const i=this.parseChildren();t[s]=1===Object.keys(i).length?i[ye]:new je([],i),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class et{constructor(e){this._root=e}get root(){return this._root.value}parent(e){const t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){const t=tt(e,this._root);return t?t.children.map(e=>e.value):[]}firstChild(e){const t=tt(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){const t=nt(e,this._root);return t.length<2?[]:t[t.length-2].children.map(e=>e.value).filter(t=>t!==e)}pathFromRoot(e){return nt(e,this._root).map(e=>e.value)}}function tt(e,t){if(e===t.value)return t;for(const n of t.children){const t=tt(e,n);if(t)return t}return null}function nt(e,t){if(e===t.value)return[t];for(const n of t.children){const r=nt(e,n);if(r.length)return r.unshift(t),r}return[]}class rt{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}}function st(e){const t={};return e&&e.children.forEach(e=>t[e.value.outlet]=e),t}class it extends et{constructor(e,t){super(e),this.snapshot=t,ht(this,e)}toString(){return this.snapshot.toString()}}function ot(e,t){const n=function(e,t){const n=new ct([],{},{},"",{},ye,t,null,e.root,-1,{});return new ut("",new rt(n,[]))}(e,t),r=new a.a([new Me("",{})]),s=new a.a({}),i=new a.a({}),o=new a.a({}),l=new a.a(""),c=new at(r,s,o,l,i,ye,t,n.root);return c.snapshot=n.root,new it(new rt(c,[]),n)}class at{constructor(e,t,n,r,s,i,o,a){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this._futureSnapshot=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Object(m.a)(e=>_e(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(m.a)(e=>_e(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function lt(e,t="emptyOnly"){const n=e.pathFromRoot;let r=0;if("always"!==t)for(r=n.length-1;r>=1;){const e=n[r],t=n[r-1];if(e.routeConfig&&""===e.routeConfig.path)r--;else{if(t.component)break;r--}}return function(e){return e.reduce((e,t)=>({params:Object.assign({},e.params,t.params),data:Object.assign({},e.data,t.data),resolve:Object.assign({},e.resolve,t._resolvedData)}),{params:{},data:{},resolve:{}})}(n.slice(r))}class ct{constructor(e,t,n,r,s,i,o,a,l,c,u){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=s,this.outlet=i,this.component=o,this.routeConfig=a,this._urlSegment=l,this._lastPathIndex=c,this._resolve=u}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=_e(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=_e(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(e=>e.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class ut extends et{constructor(e,t){super(t),this.url=e,ht(this,t)}toString(){return dt(this._root)}}function ht(e,t){t.value._routerState=e,t.children.forEach(t=>ht(e,t))}function dt(e){const t=e.children.length>0?` { ${e.children.map(dt).join(", ")} } `:"";return`${e.value}${t}`}function ft(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,Te(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),Te(t.params,n.params)||e.params.next(n.params),function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!Te(e[n],t[n]))return!1;return!0}(t.url,n.url)||e.url.next(n.url),Te(t.data,n.data)||e.data.next(n.data)}else e.snapshot=e._futureSnapshot,e.data.next(e._futureSnapshot.data)}function pt(e,t){var n,r;return Te(e.params,t.params)&&Ve(n=e.url,r=t.url)&&n.every((e,t)=>Te(e.parameters,r[t].parameters))&&!(!e.parent!=!t.parent)&&(!e.parent||pt(e.parent,t.parent))}function mt(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function gt(e,t,n,r,s){let i={};return r&&Ne(r,(e,t)=>{i[t]=Array.isArray(e)?e.map(e=>`${e}`):`${e}`}),new Re(n.root===e?t:function e(t,n,r){const s={};return Ne(t.children,(t,i)=>{s[i]=t===n?r:e(t,n,r)}),new je(t.segments,s)}(n.root,e,t),i,s)}class yt{constructor(e,t,n){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=n,e&&n.length>0&&mt(n[0]))throw new Error("Root segment cannot have matrix parameters");const r=n.find(e=>"object"==typeof e&&null!=e&&e.outlets);if(r&&r!==Ae(n))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class bt{constructor(e,t,n){this.segmentGroup=e,this.processChildren=t,this.index=n}}function _t(e){return"object"==typeof e&&null!=e&&e.outlets?e.outlets[ye]:`${e}`}function vt(e,t,n){if(e||(e=new je([],{})),0===e.segments.length&&e.hasChildren())return wt(e,t,n);const r=function(e,t,n){let r=0,s=t;const i={match:!1,pathIndex:0,commandIndex:0};for(;s<e.segments.length;){if(r>=n.length)return i;const t=e.segments[s],o=_t(n[r]),a=r<n.length-1?n[r+1]:null;if(s>0&&void 0===o)break;if(o&&a&&"object"==typeof a&&void 0===a.outlets){if(!xt(o,a,t))return i;r+=2}else{if(!xt(o,{},t))return i;r++}s++}return{match:!0,pathIndex:s,commandIndex:r}}(e,t,n),s=n.slice(r.commandIndex);if(r.match&&r.pathIndex<e.segments.length){const t=new je(e.segments.slice(0,r.pathIndex),{});return t.children[ye]=new je(e.segments.slice(r.pathIndex),e.children),wt(t,0,s)}return r.match&&0===s.length?new je(e.segments,{}):r.match&&!e.hasChildren()?Ct(e,t,n):r.match?wt(e,0,s):Ct(e,t,n)}function wt(e,t,n){if(0===n.length)return new je(e.segments,{});{const r=function(e){return"object"!=typeof e[0]?{[ye]:e}:void 0===e[0].outlets?{[ye]:e}:e[0].outlets}(n),s={};return Ne(r,(n,r)=>{null!==n&&(s[r]=vt(e.children[r],t,n))}),Ne(e.children,(e,t)=>{void 0===r[t]&&(s[t]=e)}),new je(e.segments,s)}}function Ct(e,t,n){const r=e.segments.slice(0,t);let s=0;for(;s<n.length;){if("object"==typeof n[s]&&void 0!==n[s].outlets){const e=St(n[s].outlets);return new je(r,e)}if(0===s&&mt(n[0])){r.push(new Me(e.segments[t].path,n[0])),s++;continue}const i=_t(n[s]),o=s<n.length-1?n[s+1]:null;i&&o&&mt(o)?(r.push(new Me(i,Et(o))),s+=2):(r.push(new Me(i,{})),s++)}return new je(r,{})}function St(e){const t={};return Ne(e,(e,n)=>{null!==e&&(t[n]=Ct(new je([],{}),0,e))}),t}function Et(e){const t={};return Ne(e,(e,n)=>t[n]=`${e}`),t}function xt(e,t,n){return e==n.path&&Te(t,n.parameters)}const kt=(e,t,n)=>Object(m.a)(r=>(new Ot(t,r.targetRouterState,r.currentRouterState,n).activate(e),r));class Ot{constructor(e,t,n,r){this.routeReuseStrategy=e,this.futureState=t,this.currState=n,this.forwardEvent=r}activate(e){const t=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,n,e),ft(this.futureState.root),this.activateChildRoutes(t,n,e)}deactivateChildRoutes(e,t,n){const r=st(t);e.children.forEach(e=>{const t=e.value.outlet;this.deactivateRoutes(e,r[t],n),delete r[t]}),Ne(r,(e,t)=>{this.deactivateRouteAndItsChildren(e,n)})}deactivateRoutes(e,t,n){const r=e.value,s=t?t.value:null;if(r===s)if(r.component){const s=n.getContext(r.outlet);s&&this.deactivateChildRoutes(e,t,s.children)}else this.deactivateChildRoutes(e,t,n);else s&&this.deactivateRouteAndItsChildren(t,n)}deactivateRouteAndItsChildren(e,t){this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){const n=t.getContext(e.value.outlet);if(n&&n.outlet){const t=n.outlet.detach(),r=n.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:t,route:e,contexts:r})}}deactivateRouteAndOutlet(e,t){const n=t.getContext(e.value.outlet);if(n){const r=st(e),s=e.value.component?n.children:t;Ne(r,(e,t)=>this.deactivateRouteAndItsChildren(e,s)),n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated())}}activateChildRoutes(e,t,n){const r=st(t);e.children.forEach(e=>{this.activateRoutes(e,r[e.value.outlet],n),this.forwardEvent(new pe(e.value.snapshot))}),e.children.length&&this.forwardEvent(new de(e.value.snapshot))}activateRoutes(e,t,n){const r=e.value,s=t?t.value:null;if(ft(r),r===s)if(r.component){const s=n.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,s.children)}else this.activateChildRoutes(e,t,n);else if(r.component){const t=n.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const e=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),t.children.onOutletReAttached(e.contexts),t.attachRef=e.componentRef,t.route=e.route.value,t.outlet&&t.outlet.attach(e.componentRef,e.route.value),Tt(e.route)}else{const n=function(e){for(let t=r.snapshot.parent;t;t=t.parent){const e=t.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig;if(e&&e.component)return null}return null}(),s=n?n.module.componentFactoryResolver:null;t.attachRef=null,t.route=r,t.resolver=s,t.outlet&&t.outlet.activateWith(r,s),this.activateChildRoutes(e,null,t.children)}}else this.activateChildRoutes(e,null,n)}}function Tt(e){ft(e.value),e.children.forEach(Tt)}function Dt(e){return"function"==typeof e}function At(e){return e instanceof Re}class Nt{constructor(e){this.segmentGroup=e||null}}class It{constructor(e){this.urlTree=e}}function Pt(e){return new l.a(t=>t.error(new Nt(e)))}function Rt(e){return new l.a(t=>t.error(new It(e)))}function jt(e){return new l.a(t=>t.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${e}'`)))}class Mt{constructor(e,t,n,r,i){this.configLoader=t,this.urlSerializer=n,this.urlTree=r,this.config=i,this.allowRedirects=!0,this.ngModule=e.get(s.w)}apply(){return this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,ye).pipe(Object(m.a)(e=>this.createUrlTree(e,this.urlTree.queryParams,this.urlTree.fragment))).pipe(P(e=>{if(e instanceof It)return this.allowRedirects=!1,this.match(e.urlTree);if(e instanceof Nt)throw this.noMatchError(e);throw e}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,ye).pipe(Object(m.a)(t=>this.createUrlTree(t,e.queryParams,e.fragment))).pipe(P(e=>{if(e instanceof Nt)throw this.noMatchError(e);throw e}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,t,n){const r=e.segments.length>0?new je([],{[ye]:e}):e;return new Re(r,t,n)}expandSegmentGroup(e,t,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(e,t,n).pipe(Object(m.a)(e=>new je([],e))):this.expandSegment(e,n,t,n.segments,r,!0)}expandChildren(e,t,n){return function(e,t){if(0===Object.keys(e).length)return Object(i.a)({});const n=[],r=[],s={};return Ne(e,(e,i)=>{const o=t(i,e).pipe(Object(m.a)(e=>s[i]=e));i===ye?n.push(o):r.push(o)}),i.a.apply(null,n.concat(r)).pipe(Object(g.a)(),D(),Object(m.a)(()=>s))}(n.children,(n,r)=>this.expandSegmentGroup(e,t,r,n))}expandSegment(e,t,n,r,s,o){return Object(i.a)(...n).pipe(Object(m.a)(a=>this.expandSegmentAgainstRoute(e,t,n,a,r,s,o).pipe(P(e=>{if(e instanceof Nt)return Object(i.a)(null);throw e}))),Object(g.a)(),V(e=>!!e),P((e,n)=>{if(e instanceof u||"EmptyError"===e.name){if(this.noLeftoversInUrl(t,r,s))return Object(i.a)(new je([],{}));throw new Nt(t)}throw e}))}noLeftoversInUrl(e,t,n){return 0===t.length&&!e.children[n]}expandSegmentAgainstRoute(e,t,n,r,s,i,o){return $t(r)!==i?Pt(t):void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,s):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,n,r,s,i):Pt(t)}expandSegmentAgainstRouteUsingRedirect(e,t,n,r,s,i){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,n,r,i):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,n,r,s,i)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,t,n,r){const s=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Rt(s):this.lineralizeSegments(n,s).pipe(Object(F.a)(n=>{const s=new je(n,{});return this.expandSegment(e,s,t,n,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,t,n,r,s,i){const{matched:o,consumedSegments:a,lastChild:l,positionalParamSegments:c}=Vt(t,r,s);if(!o)return Pt(t);const u=this.applyRedirectCommands(a,r.redirectTo,c);return r.redirectTo.startsWith("/")?Rt(u):this.lineralizeSegments(r,u).pipe(Object(F.a)(r=>this.expandSegment(e,t,n,r.concat(s.slice(l)),i,!1)))}matchSegmentAgainstRoute(e,t,n,r){if("**"===n.path)return n.loadChildren?this.configLoader.load(e.injector,n).pipe(Object(m.a)(e=>(n._loadedConfig=e,new je(r,{})))):Object(i.a)(new je(r,{}));const{matched:s,consumedSegments:o,lastChild:a}=Vt(t,n,r);if(!s)return Pt(t);const l=r.slice(a);return this.getChildConfig(e,n,r).pipe(Object(F.a)(e=>{const n=e.module,r=e.routes,{segmentGroup:s,slicedSegments:a}=function(e,t,n,r){return n.length>0&&function(e,t,n){return r.some(n=>Lt(e,t,n)&&$t(n)!==ye)}(e,n)?{segmentGroup:Ft(new je(t,function(e,t){const n={};n[ye]=t;for(const r of e)""===r.path&&$t(r)!==ye&&(n[$t(r)]=new je([],{}));return n}(r,new je(n,e.children)))),slicedSegments:[]}:0===n.length&&function(e,t,n){return r.some(n=>Lt(e,t,n))}(e,n)?{segmentGroup:Ft(new je(e.segments,function(e,t,n,r){const s={};for(const i of n)Lt(e,t,i)&&!r[$t(i)]&&(s[$t(i)]=new je([],{}));return Object.assign({},r,s)}(e,n,r,e.children))),slicedSegments:n}:{segmentGroup:e,slicedSegments:n}}(t,o,l,r);return 0===a.length&&s.hasChildren()?this.expandChildren(n,r,s).pipe(Object(m.a)(e=>new je(o,e))):0===r.length&&0===a.length?Object(i.a)(new je(o,{})):this.expandSegment(n,s,r,a,ye,!0).pipe(Object(m.a)(e=>new je(o.concat(e.segments),e.children)))}))}getChildConfig(e,t,n){return t.children?Object(i.a)(new Se(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?Object(i.a)(t._loadedConfig):function(e,t,n){const r=t.canLoad;return r&&0!==r.length?Object(o.a)(r).pipe(Object(m.a)(r=>{const s=e.get(r);let i;if(function(e){return e&&Dt(e.canLoad)}(s))i=s.canLoad(t,n);else{if(!Dt(s))throw new Error("Invalid CanLoad guard");i=s(t,n)}return Ie(i)})).pipe(Object(g.a)(),(s=e=>!0===e,e=>e.lift(new L(s,void 0,e)))):Object(i.a)(!0);var s}(e.injector,t,n).pipe(Object(F.a)(n=>n?this.configLoader.load(e.injector,t).pipe(Object(m.a)(e=>(t._loadedConfig=e,e))):function(e){return new l.a(t=>t.error(we(`Cannot load children because the guard of the route "path: '${e.path}'" returned false`)))}(t))):Object(i.a)(new Se([],e))}lineralizeSegments(e,t){let n=[],r=t.root;for(;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Object(i.a)(n);if(r.numberOfChildren>1||!r.children[ye])return jt(e.redirectTo);r=r.children[ye]}}applyRedirectCommands(e,t,n){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,n)}applyRedirectCreatreUrlTree(e,t,n,r){const s=this.createSegmentGroup(e,t.root,n,r);return new Re(s,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){const n={};return Ne(e,(e,r)=>{if("string"==typeof e&&e.startsWith(":")){const s=e.substring(1);n[r]=t[s]}else n[r]=e}),n}createSegmentGroup(e,t,n,r){const s=this.createSegments(e,t.segments,n,r);let i={};return Ne(t.children,(t,s)=>{i[s]=this.createSegmentGroup(e,t,n,r)}),new je(s,i)}createSegments(e,t,n,r){return t.map(t=>t.path.startsWith(":")?this.findPosParam(e,t,r):this.findOrReturn(t,n))}findPosParam(e,t,n){const r=n[t.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${e}'. Cannot find '${t.path}'.`);return r}findOrReturn(e,t){let n=0;for(const r of t){if(r.path===e.path)return t.splice(n),r;n++}return e}}function Vt(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};const r=(t.matcher||Ce)(n,e,t);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Ft(e){if(1===e.numberOfChildren&&e.children[ye]){const t=e.children[ye];return new je(e.segments.concat(t.segments),t.children)}return e}function Lt(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function $t(e){return e.outlet||ye}class Ut{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class Ht{constructor(e,t){this.component=e,this.route=t}}function zt(e,t,n){const r=e._root;return function e(t,n,r,s,i={canDeactivateChecks:[],canActivateChecks:[]}){const o=st(n);return t.children.forEach(t=>{!function(t,n,r,s,i={canDeactivateChecks:[],canActivateChecks:[]}){const o=t.value,a=n?n.value:null,l=r?r.getContext(t.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){const c=function(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!Ve(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Ve(e.url,t.url)||!Te(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!pt(e,t)||!Te(e.queryParams,t.queryParams);case"paramsChange":default:return!pt(e,t)}}(a,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new Ut(s)):(o.data=a.data,o._resolvedData=a._resolvedData),e(t,n,o.component?l?l.children:null:r,s,i),c&&i.canDeactivateChecks.push(new Ht(l&&l.outlet&&l.outlet.component||null,a))}else a&&qt(n,l,i),i.canActivateChecks.push(new Ut(s)),e(t,null,o.component?l?l.children:null:r,s,i)}(t,o[t.value.outlet],r,s.concat([t.value]),i),delete o[t.value.outlet]}),Ne(o,(e,t)=>qt(e,r.getContext(t),i)),i}(r,t?t._root:null,n,[r.value])}function Bt(e,t,n){const r=function(e){if(!e)return null;for(let t=e.parent;t;t=t.parent){const e=t.routeConfig;if(e&&e._loadedConfig)return e._loadedConfig}return null}(t);return(r?r.module.injector:n).get(e)}function qt(e,t,n){const r=st(e),s=e.value;Ne(r,(e,r)=>{qt(e,s.component?t?t.children.getContext(r):null:t,n)}),n.canDeactivateChecks.push(new Ht(s.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,s))}const Wt=Symbol("INITIAL_VALUE");function Gt(){return Object(U.a)(e=>Object(h.a)(...e.map(e=>e.pipe(Object(M.a)(1),Object(H.a)(Wt)))).pipe(z((e,t)=>{let n=!1;return t.reduce((e,r,s)=>{if(e!==Wt)return e;if(r===Wt&&(n=!0),!n){if(!1===r)return r;if(s===t.length-1||At(r))return r}return e},e)},Wt),Object(y.a)(e=>e!==Wt),Object(m.a)(e=>At(e)?e:!0===e),Object(M.a)(1)))}function Qt(e,t){return null!==e&&t&&t(new fe(e)),Object(i.a)(!0)}function Kt(e,t){return null!==e&&t&&t(new he(e)),Object(i.a)(!0)}function Zt(e,t,n){const r=t.routeConfig?t.routeConfig.canActivate:null;if(!r||0===r.length)return Object(i.a)(!0);const s=r.map(r=>f(()=>{const s=Bt(r,t,n);let i;if(function(e){return e&&Dt(e.canActivate)}(s))i=Ie(s.canActivate(t,e));else{if(!Dt(s))throw new Error("Invalid CanActivate guard");i=Ie(s(t,e))}return i.pipe(V())}));return Object(i.a)(s).pipe(Gt())}function Yt(e,t,n){const r=t[t.length-1],s=t.slice(0,t.length-1).reverse().map(e=>(function(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null})(e)).filter(e=>null!==e).map(t=>f(()=>{const s=t.guards.map(s=>{const i=Bt(s,t.node,n);let o;if(function(e){return e&&Dt(e.canActivateChild)}(i))o=Ie(i.canActivateChild(r,e));else{if(!Dt(i))throw new Error("Invalid CanActivateChild guard");o=Ie(i(r,e))}return o.pipe(V())});return Object(i.a)(s).pipe(Gt())}));return Object(i.a)(s).pipe(Gt())}class Jt{}class Xt{constructor(e,t,n,r,s,i){this.rootComponentType=e,this.config=t,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=i}recognize(){try{const t=nn(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,n=this.processSegmentGroup(this.config,t,ye),r=new ct([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ye,this.rootComponentType,null,this.urlTree.root,-1,{}),s=new rt(r,n),o=new ut(this.url,s);return this.inheritParamsAndData(o._root),Object(i.a)(o)}catch(e){return new l.a(t=>t.error(e))}}inheritParamsAndData(e){const t=e.value,n=lt(t,this.paramsInheritanceStrategy);t.params=Object.freeze(n.params),t.data=Object.freeze(n.data),e.children.forEach(e=>this.inheritParamsAndData(e))}processSegmentGroup(e,t,n){return 0===t.segments.length&&t.hasChildren()?this.processChildren(e,t):this.processSegment(e,t,t.segments,n)}processChildren(e,t){const n=Fe(t,(t,n)=>this.processSegmentGroup(e,t,n));return function(e){const t={};n.forEach(e=>{const n=t[e.value.outlet];if(n){const t=n.url.map(e=>e.toString()).join("/"),r=e.value.url.map(e=>e.toString()).join("/");throw new Error(`Two segments cannot have the same outlet name: '${t}' and '${r}'.`)}t[e.value.outlet]=e.value})}(),n.sort((e,t)=>e.value.outlet===ye?-1:t.value.outlet===ye?1:e.value.outlet.localeCompare(t.value.outlet)),n}processSegment(e,t,n,r){for(const i of e)try{return this.processSegmentAgainstRoute(i,t,n,r)}catch(s){if(!(s instanceof Jt))throw s}if(this.noLeftoversInUrl(t,n,r))return[];throw new Jt}noLeftoversInUrl(e,t,n){return 0===t.length&&!e.children[n]}processSegmentAgainstRoute(e,t,n,r){if(e.redirectTo)throw new Jt;if((e.outlet||ye)!==r)throw new Jt;let s,i=[],o=[];if("**"===e.path){const i=n.length>0?Ae(n).parameters:{};s=new ct(n,i,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,on(e),r,e.component,e,en(t),tn(t)+n.length,an(e))}else{const a=function(e,t,n){if(""===t.path){if("full"===t.pathMatch&&(e.hasChildren()||n.length>0))throw new Jt;return{consumedSegments:[],lastChild:0,parameters:{}}}const r=(t.matcher||Ce)(n,e,t);if(!r)throw new Jt;const s={};Ne(r.posParams,(e,t)=>{s[t]=e.path});const i=r.consumed.length>0?Object.assign({},s,r.consumed[r.consumed.length-1].parameters):s;return{consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:i}}(t,e,n);i=a.consumedSegments,o=n.slice(a.lastChild),s=new ct(i,a.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,on(e),r,e.component,e,en(t),tn(t)+i.length,an(e))}const a=function(e){return e.children?e.children:e.loadChildren?e._loadedConfig.routes:[]}(e),{segmentGroup:l,slicedSegments:c}=nn(t,i,o,a,this.relativeLinkResolution);if(0===c.length&&l.hasChildren()){const e=this.processChildren(a,l);return[new rt(s,e)]}if(0===a.length&&0===c.length)return[new rt(s,[])];const u=this.processSegment(a,l,c,ye);return[new rt(s,u)]}}function en(e){let t=e;for(;t._sourceSegment;)t=t._sourceSegment;return t}function tn(e){let t=e,n=t._segmentIndexShift?t._segmentIndexShift:0;for(;t._sourceSegment;)n+=(t=t._sourceSegment)._segmentIndexShift?t._segmentIndexShift:0;return n-1}function nn(e,t,n,r,s){if(n.length>0&&function(e,t,n){return r.some(n=>rn(e,t,n)&&sn(n)!==ye)}(e,n)){const s=new je(t,function(e,t,n,r){const s={};s[ye]=r,r._sourceSegment=e,r._segmentIndexShift=t.length;for(const i of n)if(""===i.path&&sn(i)!==ye){const n=new je([],{});n._sourceSegment=e,n._segmentIndexShift=t.length,s[sn(i)]=n}return s}(e,t,r,new je(n,e.children)));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===n.length&&function(e,t,n){return r.some(n=>rn(e,t,n))}(e,n)){const i=new je(e.segments,function(e,t,n,r,s,i){const o={};for(const a of r)if(rn(e,n,a)&&!s[sn(a)]){const n=new je([],{});n._sourceSegment=e,n._segmentIndexShift="legacy"===i?e.segments.length:t.length,o[sn(a)]=n}return Object.assign({},s,o)}(e,t,n,r,e.children,s));return i._sourceSegment=e,i._segmentIndexShift=t.length,{segmentGroup:i,slicedSegments:n}}const i=new je(e.segments,e.children);return i._sourceSegment=e,i._segmentIndexShift=t.length,{segmentGroup:i,slicedSegments:n}}function rn(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function sn(e){return e.outlet||ye}function on(e){return e.data||{}}function an(e){return e.resolve||{}}function ln(e,t,n,r){const s=Bt(e,t,r);return Ie(s.resolve?s.resolve(t,n):s(t,n))}function cn(e){return function(t){return t.pipe(Object(U.a)(t=>{const n=e(t);return n?Object(o.a)(n).pipe(Object(m.a)(()=>t)):Object(o.a)([t])}))}}class un{}class hn{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}}const dn=new s.p("ROUTES");class fn{constructor(e,t,n,r){this.loader=e,this.compiler=t,this.onLoadStartListener=n,this.onLoadEndListener=r}load(e,t){return this.onLoadStartListener&&this.onLoadStartListener(t),this.loadModuleFactory(t.loadChildren).pipe(Object(m.a)(n=>{this.onLoadEndListener&&this.onLoadEndListener(t);const r=n.create(e);return new Se(De(r.injector.get(dn)).map(Oe),r)}))}loadModuleFactory(e){return"string"==typeof e?Object(o.a)(this.loader.load(e)):Ie(e()).pipe(Object(F.a)(e=>e instanceof s.u?Object(i.a)(e):Object(o.a)(this.compiler.compileModuleAsync(e))))}}class pn{}class mn{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}}function gn(e){throw e}function yn(e,t,n){return t.parse("/")}function bn(e,t){return Object(i.a)(null)}class _n{constructor(e,t,n,r,i,o,l,c){this.rootComponentType=e,this.urlSerializer=t,this.rootContexts=n,this.location=r,this.config=c,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new p.a,this.errorHandler=gn,this.malformedUriErrorHandler=yn,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:bn,afterPreactivation:bn},this.urlHandlingStrategy=new mn,this.routeReuseStrategy=new hn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy",this.ngModule=i.get(s.w),this.console=i.get(s.bb);const u=i.get(s.y);this.isNgZoneEnabled=u instanceof s.y,this.resetConfig(c),this.currentUrlTree=new Re(new je([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new fn(o,l,e=>this.triggerEvent(new ce(e)),e=>this.triggerEvent(new ue(e))),this.routerState=ot(this.currentUrlTree,this.rootComponentType),this.transitions=new a.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}setupNavigations(e){const t=this.events;return e.pipe(Object(y.a)(e=>0!==e.id),Object(m.a)(e=>Object.assign({},e,{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl)})),Object(U.a)(e=>{let n=!1,r=!1;return Object(i.a)(e).pipe(Object(S.a)(e=>{this.currentNavigation={id:e.id,initialUrl:e.currentRawUrl,extractedUrl:e.extractedUrl,trigger:e.source,extras:e.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign({},this.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(U.a)(e=>{const n=!this.navigated||e.extractedUrl.toString()!==this.browserUrlTree.toString();if(("reload"===this.onSameUrlNavigation||n)&&this.urlHandlingStrategy.shouldProcessUrl(e.rawUrl))return Object(i.a)(e).pipe(Object(U.a)(e=>{const n=this.transitions.getValue();return t.next(new ee(e.id,this.serializeUrl(e.extractedUrl),e.source,e.restoredState)),n!==this.transitions.getValue()?d.a:[e]}),Object(U.a)(e=>Promise.resolve(e)),function(e,t,n,r){return function(s){return s.pipe(Object(U.a)(s=>(function(e,t,n,r,i){return new Mt(e,t,n,s.extractedUrl,i).apply()})(e,t,n,0,r).pipe(Object(m.a)(e=>Object.assign({},s,{urlAfterRedirects:e})))))}}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Object(S.a)(e=>{this.currentNavigation=Object.assign({},this.currentNavigation,{finalUrl:e.urlAfterRedirects})}),function(e,t,n,r,s){return function(i){return i.pipe(Object(F.a)(i=>(function(e,t,n,r,s="emptyOnly",i="legacy"){return new Xt(e,t,n,r,s,i).recognize()})(e,t,i.urlAfterRedirects,n(i.urlAfterRedirects),r,s).pipe(Object(m.a)(e=>Object.assign({},i,{targetSnapshot:e})))))}}(this.rootComponentType,this.config,e=>this.serializeUrl(e),this.paramsInheritanceStrategy,this.relativeLinkResolution),Object(S.a)(e=>{"eager"===this.urlUpdateStrategy&&(e.extras.skipLocationChange||this.setBrowserUrl(e.urlAfterRedirects,!!e.extras.replaceUrl,e.id,e.extras.state),this.browserUrlTree=e.urlAfterRedirects)}),Object(S.a)(e=>{const n=new se(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);t.next(n)}));if(n&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:n,extractedUrl:r,source:s,restoredState:o,extras:a}=e,l=new ee(n,this.serializeUrl(r),s,o);t.next(l);const c=ot(r,this.rootComponentType).snapshot;return Object(i.a)(Object.assign({},e,{targetSnapshot:c,urlAfterRedirects:r,extras:Object.assign({},a,{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=e.rawUrl,this.browserUrlTree=e.urlAfterRedirects,e.resolve(null),d.a}),cn(e=>{const{targetSnapshot:t,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=e;return this.hooks.beforePreactivation(t,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),Object(S.a)(e=>{const t=new ie(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}),Object(m.a)(e=>Object.assign({},e,{guards:zt(e.targetSnapshot,e.currentSnapshot,this.rootContexts)})),function(e,t){return function(n){return n.pipe(Object(F.a)(n=>{const{targetSnapshot:r,currentSnapshot:s,guards:{canActivateChecks:a,canDeactivateChecks:l}}=n;return 0===l.length&&0===a.length?Object(i.a)(Object.assign({},n,{guardsResult:!0})):function(e,t,n,r){return Object(o.a)(e).pipe(Object(F.a)(e=>(function(e,t,n,r,s){const o=t&&t.routeConfig?t.routeConfig.canDeactivate:null;if(!o||0===o.length)return Object(i.a)(!0);const a=o.map(i=>{const o=Bt(i,t,s);let a;if(function(e){return e&&Dt(e.canDeactivate)}(o))a=Ie(o.canDeactivate(e,t,n,r));else{if(!Dt(o))throw new Error("Invalid CanDeactivate guard");a=Ie(o(e,t,n,r))}return a.pipe(V())});return Object(i.a)(a).pipe(Gt())})(e.component,e.route,n,t,r)),V(e=>!0!==e,!0))}(l,r,s,e).pipe(Object(F.a)(n=>n&&function(e){return"boolean"==typeof n}()?function(e,t,n,r){return Object(o.a)(t).pipe(W(t=>Object(o.a)([Kt(t.route.parent,r),Qt(t.route,r),Yt(e,t.path,n),Zt(e,t.route,n)]).pipe(Object(g.a)(),V(e=>!0!==e,!0))),V(e=>!0!==e,!0))}(r,a,e,t):Object(i.a)(n)),Object(m.a)(e=>Object.assign({},n,{guardsResult:e})))}))}}(this.ngModule.injector,e=>this.triggerEvent(e)),Object(S.a)(e=>{if(At(e.guardsResult)){const t=we(`Redirecting to "${this.serializeUrl(e.guardsResult)}"`);throw t.url=e.guardsResult,t}}),Object(S.a)(e=>{const t=new oe(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot,!!e.guardsResult);this.triggerEvent(t)}),Object(y.a)(e=>{if(!e.guardsResult){this.resetUrlToCurrentUrlTree();const n=new ne(e.id,this.serializeUrl(e.extractedUrl),"");return t.next(n),e.resolve(!1),!1}return!0}),cn(e=>{if(e.guards.canActivateChecks.length)return Object(i.a)(e).pipe(Object(S.a)(e=>{const t=new ae(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}),function(e,t){return function(n){return n.pipe(Object(F.a)(n=>{const{targetSnapshot:r,guards:{canActivateChecks:s}}=n;return s.length?Object(o.a)(s).pipe(W(n=>(function(e,t,n,s){return function(e,t,n,r){const s=Object.keys(e);if(0===s.length)return Object(i.a)({});if(1===s.length){const i=s[0];return ln(e[i],t,n,r).pipe(Object(m.a)(e=>({[i]:e})))}const a={};return Object(o.a)(s).pipe(Object(F.a)(s=>ln(e[s],t,n,r).pipe(Object(m.a)(e=>(a[s]=e,e))))).pipe(D(),Object(m.a)(()=>a))}(e._resolve,e,r,s).pipe(Object(m.a)(t=>(e._resolvedData=t,e.data=Object.assign({},e.data,lt(e,n).resolve),null)))})(n.route,0,e,t)),function(e,t){return arguments.length>=2?function(n){return Object(G.a)(z(e,t),v(1),x(t))(n)}:function(t){return Object(G.a)(z((t,n,r)=>e(t,n,r+1)),v(1))(t)}}((e,t)=>e),Object(m.a)(e=>n)):Object(i.a)(n)}))}}(this.paramsInheritanceStrategy,this.ngModule.injector),Object(S.a)(e=>{const t=new le(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);this.triggerEvent(t)}))}),cn(e=>{const{targetSnapshot:t,id:n,extractedUrl:r,rawUrl:s,extras:{skipLocationChange:i,replaceUrl:o}}=e;return this.hooks.afterPreactivation(t,{navigationId:n,appliedUrlTree:r,rawUrlTree:s,skipLocationChange:!!i,replaceUrl:!!o})}),Object(m.a)(e=>{const t=function(e,t,n){const r=function e(t,n,r){if(r&&t.shouldReuseRoute(n.value,r.value.snapshot)){const s=r.value;s._futureSnapshot=n.value;const i=function(t,n,r){return n.children.map(n=>{for(const s of r.children)if(t.shouldReuseRoute(s.value.snapshot,n.value))return e(t,n,s);return e(t,n)})}(t,n,r);return new rt(s,i)}{const r=t.retrieve(n.value);if(r){const e=r.route;return function e(t,n){if(t.value.routeConfig!==n.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==n.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");n.value._futureSnapshot=t.value;for(let r=0;r<t.children.length;++r)e(t.children[r],n.children[r])}(n,e),e}{const r=new at(new a.a((s=n.value).url),new a.a(s.params),new a.a(s.queryParams),new a.a(s.fragment),new a.a(s.data),s.outlet,s.component,s),i=n.children.map(n=>e(t,n));return new rt(r,i)}}var s}(e,t._root,n?n._root:void 0);return new it(r,t)}(this.routeReuseStrategy,e.targetSnapshot,e.currentRouterState);return Object.assign({},e,{targetRouterState:t})}),Object(S.a)(e=>{this.currentUrlTree=e.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl),this.routerState=e.targetRouterState,"deferred"===this.urlUpdateStrategy&&(e.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,!!e.extras.replaceUrl,e.id,e.extras.state),this.browserUrlTree=e.urlAfterRedirects)}),kt(this.rootContexts,this.routeReuseStrategy,e=>this.triggerEvent(e)),Object(S.a)({next(){n=!0},complete(){n=!0}}),function(e){return t=>t.lift(new K(e))}(()=>{if(!n&&!r){this.resetUrlToCurrentUrlTree();const n=new ne(e.id,this.serializeUrl(e.extractedUrl),`Navigation ID ${e.id} is not equal to the current navigation id ${this.navigationId}`);t.next(n),e.resolve(!1)}this.currentNavigation=null}),P(n=>{if(r=!0,function(e){return n&&n[ve]}()){const r=At(n.url);r||(this.navigated=!0,this.resetStateAndUrl(e.currentRouterState,e.currentUrlTree,e.rawUrl));const s=new ne(e.id,this.serializeUrl(e.extractedUrl),n.message);t.next(s),e.resolve(!1),r&&this.navigateByUrl(n.url)}else{this.resetStateAndUrl(e.currentRouterState,e.currentUrlTree,e.rawUrl);const r=new re(e.id,this.serializeUrl(e.extractedUrl),n);t.next(r);try{e.resolve(this.errorHandler(n))}catch(s){e.reject(s)}}return d.a}))}))}resetRootComponentType(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType}getTransition(){const e=this.transitions.value;return e.urlAfterRedirects=this.browserUrlTree,e}setTransition(e){this.transitions.next(Object.assign({},this.getTransition(),e))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{let t=this.parseUrl(e.url);const n="popstate"===e.type?"popstate":"hashchange",r=e.state&&e.state.navigationId?e.state:null;setTimeout(()=>{this.scheduleNavigation(t,n,r,{replaceUrl:!0})},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(e){this.events.next(e)}resetConfig(e){Ee(e),this.config=e.map(Oe),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)}createUrlTree(e,t={}){const{relativeTo:n,queryParams:r,fragment:i,preserveQueryParams:o,queryParamsHandling:a,preserveFragment:l}=t;Object(s.W)()&&o&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");const c=n||this.routerState.root,u=l?this.currentUrlTree.fragment:i;let h=null;if(a)switch(a){case"merge":h=Object.assign({},this.currentUrlTree.queryParams,r);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=r||null}else h=o?this.currentUrlTree.queryParams:r||null;return null!==h&&(h=this.removeEmptyProps(h)),function(e,t,n,r,s){if(0===n.length)return gt(t.root,t.root,t,r,s);const i=function(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new yt(!0,0,e);let t=0,n=!1;const r=e.reduce((e,r,s)=>{if("object"==typeof r&&null!=r){if(r.outlets){const t={};return Ne(r.outlets,(e,n)=>{t[n]="string"==typeof e?e.split("/"):e}),[...e,{outlets:t}]}if(r.segmentPath)return[...e,r.segmentPath]}return"string"!=typeof r?[...e,r]:0===s?(r.split("/").forEach((r,s)=>{0==s&&"."===r||(0==s&&""===r?n=!0:".."===r?t++:""!=r&&e.push(r))}),e):[...e,r]},[]);return new yt(n,t,r)}(n);if(i.toRoot())return gt(t.root,new je([],{}),t,r,s);const o=function(e,n,r){if(e.isAbsolute)return new bt(t.root,!0,0);if(-1===r.snapshot._lastPathIndex)return new bt(r.snapshot._urlSegment,!0,0);const s=mt(e.commands[0])?0:1;return function(t,n,i){let o=r.snapshot._urlSegment,a=r.snapshot._lastPathIndex+s,l=e.numberOfDoubleDots;for(;l>a;){if(l-=a,!(o=o.parent))throw new Error("Invalid number of '../'");a=o.segments.length}return new bt(o,!1,a-l)}()}(i,0,e),a=o.processChildren?wt(o.segmentGroup,o.index,i.commands):vt(o.segmentGroup,o.index,i.commands);return gt(o.segmentGroup,a,t,r,s)}(c,this.currentUrlTree,e,h,u)}navigateByUrl(e,t={skipLocationChange:!1}){Object(s.W)()&&this.isNgZoneEnabled&&!s.y.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");const n=At(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,t)}navigate(e,t={skipLocationChange:!1}){return function(e){for(let t=0;t<e.length;t++){const n=e[t];if(null==n)throw new Error(`The requested path contains ${n} segment at index ${t}`)}}(e),this.navigateByUrl(this.createUrlTree(e,t),t)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){let t;try{t=this.urlSerializer.parse(e)}catch(n){t=this.malformedUriErrorHandler(n,this.urlSerializer,e)}return t}isActive(e,t){if(At(e))return Pe(this.currentUrlTree,e,t);const n=this.parseUrl(e);return Pe(this.currentUrlTree,n,t)}removeEmptyProps(e){return Object.keys(e).reduce((t,n)=>{const r=e[n];return null!=r&&(t[n]=r),t},{})}processNavigations(){this.navigations.subscribe(e=>{this.navigated=!0,this.lastSuccessfulId=e.id,this.events.next(new te(e.id,this.serializeUrl(e.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,this.currentNavigation=null,e.resolve(!0)},e=>{this.console.warn("Unhandled Navigation Error: ")})}scheduleNavigation(e,t,n,r){const s=this.getTransition();if(s&&"imperative"!==t&&"imperative"===s.source&&s.rawUrl.toString()===e.toString())return Promise.resolve(!0);if(s&&"hashchange"==t&&"popstate"===s.source&&s.rawUrl.toString()===e.toString())return Promise.resolve(!0);if(s&&"popstate"==t&&"hashchange"===s.source&&s.rawUrl.toString()===e.toString())return Promise.resolve(!0);let i=null,o=null;const a=new Promise((e,t)=>{i=e,o=t}),l=++this.navigationId;return this.setTransition({id:l,source:t,restoredState:n,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:e,extras:r,resolve:i,reject:o,promise:a,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),a.catch(e=>Promise.reject(e))}setBrowserUrl(e,t,n,r){const s=this.urlSerializer.serialize(e);r=r||{},this.location.isCurrentPathEqualTo(s)||t?this.location.replaceState(s,"",Object.assign({},r,{navigationId:n})):this.location.go(s,"",Object.assign({},r,{navigationId:n}))}resetStateAndUrl(e,t,n){this.routerState=e,this.currentUrlTree=t,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n),this.resetUrlToCurrentUrlTree()}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})}}class vn{constructor(e,t,n,r,s){this.router=e,this.route=t,this.commands=[],null==n&&r.setAttribute(s.nativeElement,"tabindex","0")}set routerLink(e){this.commands=null!=e?Array.isArray(e)?e:[e]:[]}set preserveQueryParams(e){Object(s.W)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated!, use queryParamsHandling instead."),this.preserve=e}onClick(){const e={skipLocationChange:wn(this.skipLocationChange),replaceUrl:wn(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,e),!0}get urlTree(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:wn(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:wn(this.preserveFragment)})}}function wn(e){return""===e||!!e}class Cn{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new Sn,this.attachRef=null}}class Sn{constructor(){this.contexts=new Map}onChildOutletCreated(e,t){const n=this.getOrCreateContext(e);n.outlet=t,this.contexts.set(e,n)}onChildOutletDestroyed(e){const t=this.getContext(e);t&&(t.outlet=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new Cn,this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}}class En{constructor(e,t,n,r,i){this.parentContexts=e,this.location=t,this.resolver=n,this.changeDetector=i,this.activated=null,this._activatedRoute=null,this.activateEvents=new s.m,this.deactivateEvents=new s.m,this.name=r||ye,e.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const e=this.parentContexts.getContext(this.name);e&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,e}attach(e,t){this.activated=e,this._activatedRoute=t,this.location.insert(e.hostView)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,t){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=e;const n=(t=t||this.resolver).resolveComponentFactory(e._futureSnapshot.routeConfig.component),r=this.parentContexts.getOrCreateContext(this.name).children,s=new xn(e,r,this.location.injector);this.activated=this.location.createComponent(n,this.location.length,s),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}class xn{constructor(e,t,n){this.route=e,this.childContexts=t,this.parent=n}get(e,t){return e===at?this.route:e===Sn?this.childContexts:this.parent.get(e,t)}}class kn{}class On{preload(e,t){return t().pipe(P(()=>Object(i.a)(null)))}}class Tn{preload(e,t){return Object(i.a)(null)}}class Dn{constructor(e,t,n,r,s){this.router=e,this.injector=r,this.preloadingStrategy=s,this.loader=new fn(t,n,t=>e.triggerEvent(new ce(t)),t=>e.triggerEvent(new ue(t)))}setUpPreloading(){this.subscription=this.router.events.pipe(Object(y.a)(e=>e instanceof te),W(()=>this.preload())).subscribe(()=>{})}preload(){const e=this.injector.get(s.w);return this.processRoutes(e,this.router.config)}ngOnDestroy(){this.subscription.unsubscribe()}processRoutes(e,t){const n=[];for(const r of t)if(r.loadChildren&&!r.canLoad&&r._loadedConfig){const e=r._loadedConfig;n.push(this.processRoutes(e.module,e.routes))}else r.loadChildren&&!r.canLoad?n.push(this.preloadConfig(e,r)):r.children&&n.push(this.processRoutes(e,r.children));return Object(o.a)(n).pipe(Object(Y.a)(),Object(m.a)(e=>void 0))}preloadConfig(e,t){return this.preloadingStrategy.preload(t,()=>this.loader.load(e.injector,t).pipe(Object(F.a)(e=>(t._loadedConfig=e,this.processRoutes(e.module,e.routes)))))}}class An{constructor(e,t,n={}){this.router=e,this.viewportScroller=t,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(e=>{e instanceof ee?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof te&&(this.lastId=e.id,this.scheduleScrollEvent(e,this.router.parseUrl(e.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(e=>{e instanceof me&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,t){this.router.triggerEvent(new me(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,t))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}const Nn=new s.p("ROUTER_CONFIGURATION"),In=new s.p("ROUTER_FORROOT_GUARD"),Pn=[r.g,{provide:Le,useClass:$e},{provide:_n,useFactory:$n,deps:[s.g,Le,Sn,r.g,s.q,s.v,s.i,dn,Nn,[pn,new s.z],[un,new s.z]]},Sn,{provide:at,useFactory:Un,deps:[_n]},{provide:s.v,useClass:s.J},Dn,Tn,On,{provide:Nn,useValue:{enableTracing:!1}}];function Rn(){return new s.x("Router",_n)}class jn{constructor(e,t){}static forRoot(e,t){return{ngModule:jn,providers:[Pn,Ln(e),{provide:In,useFactory:Fn,deps:[[_n,new s.z,new s.I]]},{provide:Nn,useValue:t||{}},{provide:r.h,useFactory:Vn,deps:[r.q,[new s.o(r.a),new s.z],Nn]},{provide:An,useFactory:Mn,deps:[_n,r.s,Nn]},{provide:kn,useExisting:t&&t.preloadingStrategy?t.preloadingStrategy:Tn},{provide:s.x,multi:!0,useFactory:Rn},[Hn,{provide:s.d,multi:!0,useFactory:zn,deps:[Hn]},{provide:qn,useFactory:Bn,deps:[Hn]},{provide:s.b,multi:!0,useExisting:qn}]]}}static forChild(e){return{ngModule:jn,providers:[Ln(e)]}}}function Mn(e,t,n){return n.scrollOffset&&t.setOffset(n.scrollOffset),new An(e,t,n)}function Vn(e,t,n={}){return n.useHash?new r.e(e,t):new r.p(e,t)}function Fn(e){if(e)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function Ln(e){return[{provide:s.a,multi:!0,useValue:e},{provide:dn,multi:!0,useValue:e}]}function $n(e,t,n,r,s,i,o,a,l={},c,u){const h=new _n(null,t,n,r,s,i,o,De(a));if(c&&(h.urlHandlingStrategy=c),u&&(h.routeReuseStrategy=u),l.errorHandler&&(h.errorHandler=l.errorHandler),l.malformedUriErrorHandler&&(h.malformedUriErrorHandler=l.malformedUriErrorHandler),l.enableTracing){const e=Object(J.r)();h.events.subscribe(t=>{e.logGroup(`Router Event: ${t.constructor.name}`),e.log(t.toString()),e.log(t),e.logGroupEnd()})}return l.onSameUrlNavigation&&(h.onSameUrlNavigation=l.onSameUrlNavigation),l.paramsInheritanceStrategy&&(h.paramsInheritanceStrategy=l.paramsInheritanceStrategy),l.urlUpdateStrategy&&(h.urlUpdateStrategy=l.urlUpdateStrategy),l.relativeLinkResolution&&(h.relativeLinkResolution=l.relativeLinkResolution),h}function Un(e){return e.routerState.root}class Hn{constructor(e){this.injector=e,this.initNavigation=!1,this.resultOfPreactivationDone=new p.a}appInitializer(){return this.injector.get(r.f,Promise.resolve(null)).then(()=>{let e=null;const t=new Promise(t=>e=t),n=this.injector.get(_n),r=this.injector.get(Nn);if(this.isLegacyDisabled(r)||this.isLegacyEnabled(r))e(!0);else if("disabled"===r.initialNavigation)n.setUpLocationChangeListener(),e(!0);else{if("enabled"!==r.initialNavigation)throw new Error(`Invalid initialNavigation options: '${r.initialNavigation}'`);n.hooks.afterPreactivation=()=>this.initNavigation?Object(i.a)(null):(this.initNavigation=!0,e(!0),this.resultOfPreactivationDone),n.initialNavigation()}return t})}bootstrapListener(e){const t=this.injector.get(Nn),n=this.injector.get(Dn),r=this.injector.get(An),i=this.injector.get(_n),o=this.injector.get(s.g);e===o.components[0]&&(this.isLegacyEnabled(t)?i.initialNavigation():this.isLegacyDisabled(t)&&i.setUpLocationChangeListener(),n.setUpPreloading(),r.init(),i.resetRootComponentType(o.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}isLegacyEnabled(e){return"legacy_enabled"===e.initialNavigation||!0===e.initialNavigation||void 0===e.initialNavigation}isLegacyDisabled(e){return"legacy_disabled"===e.initialNavigation||!1===e.initialNavigation}}function zn(e){return e.appInitializer.bind(e)}function Bn(e){return e.bootstrapListener.bind(e)}const qn=new s.p("Router Initializer")},itXk:function(e,t,n){"use strict";n.d(t,"a",function(){return c});var r=n("z+Ro"),s=n("DH7j"),i=n("l7GE"),o=n("ZUHj"),a=n("yCtX");const l={};function c(...e){let t=null,n=null;return Object(r.a)(e[e.length-1])&&(n=e.pop()),"function"==typeof e[e.length-1]&&(t=e.pop()),1===e.length&&Object(s.a)(e[0])&&(e=e[0]),Object(a.a)(e,n).lift(new u(t))}class u{constructor(e){this.resultSelector=e}call(e,t){return t.subscribe(new h(e,this.resultSelector))}}class h extends i.a{constructor(e,t){super(e),this.resultSelector=t,this.active=0,this.values=[],this.observables=[]}_next(e){this.values.push(l),this.observables.push(e)}_complete(){const e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(let n=0;n<t;n++){const t=e[n];this.add(Object(o.a)(this,t,t,n))}}}notifyComplete(e){0==(this.active-=1)&&this.destination.complete()}notifyNext(e,t,n,r,s){const i=this.values,o=this.toRespond?i[n]===l?--this.toRespond:this.toRespond:0;i[n]=t,0===o&&(this.resultSelector?this._tryResultSelector(i):this.destination.next(i.slice()))}_tryResultSelector(e){let t;try{t=this.resultSelector.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}},kJWO:function(e,t,n){"use strict";n.d(t,"a",function(){return r});const r="function"==typeof Symbol&&Symbol.observable||"@@observable"},l7GE:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("7o/Q");class s extends r.a{notifyNext(e,t,n,r,s){this.destination.next(t)}notifyError(e,t){this.destination.error(e)}notifyComplete(e){this.destination.complete()}}},lJxs:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("7o/Q");function s(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new i(e,t))}}class i{constructor(e,t){this.project=e,this.thisArg=t}call(e,t){return t.subscribe(new o(e,this.project,this.thisArg))}}class o extends r.a{constructor(e,t,n){super(e),this.project=t,this.count=0,this.thisArg=n||this}_next(e){let t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}},mCNh:function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return i});var r=n("KqfI");function s(...e){return i(e)}function i(e){return e?1===e.length?e[0]:function(t){return e.reduce((e,t)=>t(e),t)}:r.a}},n6bG:function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},ngJS:function(e,t,n){"use strict";n.d(t,"a",function(){return r});const r=e=>t=>{for(let n=0,r=e.length;n<r&&!t.closed;n++)t.next(e[n]);t.closed||t.complete()}},omvX:function(e,t,n){"use strict";n.d(t,"f",function(){return y}),n.d(t,"g",function(){return b}),n.d(t,"e",function(){return g}),n.d(t,"b",function(){return v}),n.d(t,"a",function(){return _}),n.d(t,"c",function(){return o}),n.d(t,"d",function(){return m});var r=n("8Y7J"),s=(n("cUpR"),n("GS7A")),i=n("fDlF");class o extends s.b{constructor(e,t){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(t.body,{id:"0",encapsulation:r.P.None,styles:[],data:{animation:[]}})}build(e){const t=this._nextAnimationId.toString();this._nextAnimationId++;const n=Array.isArray(e)?Object(s.e)(e):e;return c(this._renderer,null,t,"register",[n]),new a(t,this._renderer)}}class a extends s.c{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new l(this._id,e,t||{},this._renderer)}}class l{constructor(e,t,n,r){this.id=e,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return c(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset")}setPosition(e){this._command("setPosition",e)}getPosition(){return 0}}function c(e,t,n,r,s){return e.setProperty(t,`@@${n}:${r}`,s)}const u="@",h="@.disabled";class d{constructor(e,t,n){this.delegate=e,this.engine=t,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),t.onRemovalComplete=(e,t)=>{t&&t.parentNode(e)&&t.removeChild(e.parentNode,e)}}createRenderer(e,t){const n=this.delegate.createRenderer(e,t);if(!(e&&t&&t.data&&t.data.animation)){let e=this._rendererCache.get(n);return e||(e=new f("",n,this.engine),this._rendererCache.set(n,e)),e}const r=t.id,s=t.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,e),t.data.animation.forEach(t=>this.engine.registerTrigger(r,s,e,t.name,t)),new p(this,s,n,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,n){e>=0&&e<this._microtaskId?this._zone.run(()=>t(n)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(e=>{const[t,n]=e;t(n)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([t,n]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}class f{constructor(e,t,n){this.namespaceId=e,this.delegate=t,this.engine=n,this.destroyNode=this.delegate.destroyNode?e=>t.destroyNode(e):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,n){this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,!0)}removeChild(e,t,n){this.engine.onRemove(this.namespaceId,t,this.delegate,n)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,n,r){this.delegate.setAttribute(e,t,n,r)}removeAttribute(e,t,n){this.delegate.removeAttribute(e,t,n)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,n,r){this.delegate.setStyle(e,t,n,r)}removeStyle(e,t,n){this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){t.charAt(0)==u&&t==h?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,n){return this.delegate.listen(e,t,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class p extends f{constructor(e,t,n,r){super(t,n,r),this.factory=e,this.namespaceId=t}setProperty(e,t,n){t.charAt(0)==u?"."==t.charAt(1)&&t==h?this.disableAnimations(e,n=void 0===n||!!n):this.engine.process(this.namespaceId,e,t.substr(1),n):this.delegate.setProperty(e,t,n)}listen(e,t,n){if(t.charAt(0)==u){const r=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(e);let s=t.substr(1),i="";return s.charAt(0)!=u&&([s,i]=function(e){const t=e.indexOf(".");return[e.substring(0,t),e.substr(t+1)]}(s)),this.engine.listen(this.namespaceId,r,s,i,e=>{this.factory.scheduleListenerCallback(e._data||-1,n,e)})}return this.delegate.listen(e,t,n)}}class m extends i.b{constructor(e,t,n){super(e.body,t,n)}}function g(){return Object(i.h)()?new i.f:new i.d}function y(){return new i.g}function b(e,t,n){return new d(e,t,n)}const _=new r.p("AnimationModuleType");class v{}},pLZG:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("7o/Q");function s(e,t){return function(n){return n.lift(new i(e,t))}}class i{constructor(e,t){this.predicate=e,this.thisArg=t}call(e,t){return t.subscribe(new o(e,this.predicate,this.thisArg))}}class o extends r.a{constructor(e,t,n){super(e),this.predicate=t,this.thisArg=n,this.count=0}_next(e){let t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)}}},pLzU:function(e,t,n){"use strict";n.d(t,"a",function(){return s});var r=n("Lhse");const s=e=>t=>{const n=e[r.a]();for(;;){const e=n.next();if(e.done){t.complete();break}if(t.next(e.value),t.closed)break}return"function"==typeof n.return&&t.add(()=>{n.return&&n.return()}),t}},pMnS:function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("8Y7J"),s=n("iInd"),i=r.qb({encapsulation:2,styles:[],data:{}});function o(e){return r.Lb(0,[(e()(),r.sb(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),r.rb(1,212992,null,0,s.n,[s.b,r.O,r.j,[8,null],r.h],null,null)],function(e,t){e(t,1,0)},null)}function a(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ng-component",[],null,null,null,o,i)),r.rb(1,49152,null,0,s.B,[],null,null)],null,null)}var l=r.ob("ng-component",s.B,a,{},{},[])},quSY:function(e,t,n){"use strict";var r=n("DH7j"),s=n("XoHu"),i=n("n6bG");function o(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((e,t)=>`${t+1}) ${e.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=e,this}o.prototype=Object.create(Error.prototype);const a=o;n.d(t,"a",function(){return l});let l=(()=>{class e{constructor(e){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,e&&(this._unsubscribe=e)}unsubscribe(){let e,t=!1;if(this.closed)return;let{_parent:n,_parents:o,_unsubscribe:l,_subscriptions:u}=this;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;let h=-1,d=o?o.length:0;for(;n;)n.remove(this),n=++h<d&&o[h]||null;if(Object(i.a)(l))try{l.call(this)}catch(f){t=!0,e=f instanceof a?c(f.errors):[f]}if(Object(r.a)(u))for(h=-1,d=u.length;++h<d;){const n=u[h];if(Object(s.a)(n))try{n.unsubscribe()}catch(f){t=!0,e=e||[],f instanceof a?e=e.concat(c(f.errors)):e.push(f)}}if(t)throw new a(e)}add(t){let n=t;switch(typeof t){case"function":n=new e(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof e)){const t=n;(n=new e)._subscriptions=[t]}break;default:if(!t)return e.EMPTY;throw new Error("unrecognized teardown "+t+" added to Subscription.")}if(n._addParent(this)){const e=this._subscriptions;e?e.push(n):this._subscriptions=[n]}return n}remove(e){const t=this._subscriptions;if(t){const n=t.indexOf(e);-1!==n&&t.splice(n,1)}}_addParent(e){let{_parent:t,_parents:n}=this;return t!==e&&(t?n?-1===n.indexOf(e)&&(n.push(e),!0):(this._parents=[e],!0):(this._parent=e,!0))}}return e.EMPTY=function(e){return e.closed=!0,e}(new e),e})();function c(e){return e.reduce((e,t)=>e.concat(t instanceof a?t.errors:t),[])}},s7LF:function(e,t,n){"use strict";var r=n("8Y7J"),s=n("cUpR"),i=n("HDdC"),o=n("DH7j"),a=n("EY2u"),l=n("ZUHj"),c=n("l7GE"),u=n("lJxs");class h extends c.a{constructor(e,t){super(e),this.sources=t,this.completed=0,this.haveValues=0;const n=t.length;this.values=new Array(n);for(let r=0;r<n;r++){const e=t[r],n=Object(l.a)(this,e,null,r);n&&this.add(n)}}notifyNext(e,t,n,r,s){this.values[n]=t,s._hasValue||(s._hasValue=!0,this.haveValues++)}notifyComplete(e){const{destination:t,haveValues:n,values:r}=this,s=r.length;e._hasValue?(this.completed++,this.completed===s&&(n===s&&t.next(r),t.complete())):t.complete()}}var d=n("Cfvw");n.d(t,"l",function(){return he}),n.d(t,"m",function(){return I}),n.d(t,"n",function(){return F}),n.d(t,"e",function(){return f}),n.d(t,"a",function(){return p}),n.d(t,"b",function(){return m}),n.d(t,"f",function(){return _}),n.d(t,"g",function(){return w}),n.d(t,"h",function(){return ue}),n.d(t,"j",function(){return N}),n.d(t,"i",function(){return M}),n.d(t,"k",function(){return j}),n.d(t,"d",function(){return S}),n.d(t,"c",function(){return de});const f=new r.p("NgValueAccessor"),p=new r.p("CompositionEventMode");class m{constructor(e,t,n){this._renderer=e,this._elementRef=t,this._compositionMode=n,this.onChange=e=>{},this.onTouched=()=>{},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const e=Object(s.r)()?Object(s.r)().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}class g{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}reset(e){this.control&&this.control.reset(e)}hasError(e,t){return!!this.control&&this.control.hasError(e,t)}getError(e,t){return this.control?this.control.getError(e,t):null}}class y extends g{get formDirective(){return null}get path(){return null}}function b(){throw new Error("unimplemented")}class _ extends g{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null,this._rawValidators=[],this._rawAsyncValidators=[]}get validator(){return b()}get asyncValidator(){return b()}}class v{constructor(e){this._cd=e}get ngClassUntouched(){return!!this._cd.control&&this._cd.control.untouched}get ngClassTouched(){return!!this._cd.control&&this._cd.control.touched}get ngClassPristine(){return!!this._cd.control&&this._cd.control.pristine}get ngClassDirty(){return!!this._cd.control&&this._cd.control.dirty}get ngClassValid(){return!!this._cd.control&&this._cd.control.valid}get ngClassInvalid(){return!!this._cd.control&&this._cd.control.invalid}get ngClassPending(){return!!this._cd.control&&this._cd.control.pending}}class w extends v{constructor(e){super(e)}}function C(e){return null==e||0===e.length}const S=new r.p("NgValidators"),E=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;class x{static min(e){return t=>{if(C(t.value)||C(e))return null;const n=parseFloat(t.value);return!isNaN(n)&&n<e?{min:{min:e,actual:t.value}}:null}}static max(e){return t=>{if(C(t.value)||C(e))return null;const n=parseFloat(t.value);return!isNaN(n)&&n>e?{max:{max:e,actual:t.value}}:null}}static required(e){return C(e.value)?{required:!0}:null}static requiredTrue(e){return!0===e.value?null:{required:!0}}static email(e){return C(e.value)?null:E.test(e.value)?null:{email:!0}}static minLength(e){return t=>{if(C(t.value))return null;const n=t.value?t.value.length:0;return n<e?{minlength:{requiredLength:e,actualLength:n}}:null}}static maxLength(e){return t=>{const n=t.value?t.value.length:0;return n>e?{maxlength:{requiredLength:e,actualLength:n}}:null}}static pattern(e){if(!e)return x.nullValidator;let t,n;return"string"==typeof e?(n="","^"!==e.charAt(0)&&(n+="^"),n+=e,"$"!==e.charAt(e.length-1)&&(n+="$"),t=new RegExp(n)):(n=e.toString(),t=e),e=>{if(C(e.value))return null;const r=e.value;return t.test(r)?null:{pattern:{requiredPattern:n,actualValue:r}}}}static nullValidator(e){return null}static compose(e){if(!e)return null;const t=e.filter(k);return 0==t.length?null:function(e){return T(function(e,n){return t.map(t=>t(e))}(e))}}static composeAsync(e){if(!e)return null;const t=e.filter(k);return 0==t.length?null:function(e){return function e(...t){let n;return"function"==typeof t[t.length-1]&&(n=t.pop()),1===t.length&&Object(o.a)(t[0])&&(t=t[0]),0===t.length?a.a:n?e(t).pipe(Object(u.a)(e=>n(...e))):new i.a(e=>new h(e,t))}(function(e,n){return t.map(t=>t(e))}(e).map(O)).pipe(Object(u.a)(T))}}}function k(e){return null!=e}function O(e){const t=Object(r.zb)(e)?Object(d.a)(e):e;if(!Object(r.yb)(t))throw new Error("Expected validator to return Promise or Observable.");return t}function T(e){const t=e.reduce((e,t)=>null!=t?Object.assign({},e,t):e,{});return 0===Object.keys(t).length?null:t}function D(e){return e.validate?t=>e.validate(t):e}function A(e){return e.validate?t=>e.validate(t):e}class N{constructor(e,t){this._renderer=e,this._elementRef=t,this.onChange=e=>{},this.onTouched=()=>{}}writeValue(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)}registerOnChange(e){this.onChange=t=>{e(""==t?null:parseFloat(t))}}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}}class I{constructor(){this._accessors=[]}add(e,t){this._accessors.push([e,t])}remove(e){for(let t=this._accessors.length-1;t>=0;--t)if(this._accessors[t][1]===e)return void this._accessors.splice(t,1)}select(e){this._accessors.forEach(t=>{this._isSameGroup(t,e)&&t[1]!==e&&t[1].fireUncheck(e.value)})}_isSameGroup(e,t){return!!e[0].control&&e[0]._parent===t._control._parent&&e[1].name===t.name}}const P={formControlName:'\n    <div [formGroup]="myGroup">\n      <input formControlName="firstName">\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       firstName: new FormControl()\n    });',formGroupName:'\n    <div [formGroup]="myGroup">\n       <div formGroupName="person">\n          <input formControlName="firstName">\n       </div>\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       person: new FormGroup({ firstName: new FormControl() })\n    });',formArrayName:'\n    <div [formGroup]="myGroup">\n      <div formArrayName="cities">\n        <div *ngFor="let city of cityArray.controls; index as i">\n          <input [formControlName]="i">\n        </div>\n      </div>\n    </div>\n\n    In your class:\n\n    this.cityArray = new FormArray([new FormControl(\'SF\')]);\n    this.myGroup = new FormGroup({\n      cities: this.cityArray\n    });',ngModelGroup:'\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>',ngModelWithFormGroup:'\n    <div [formGroup]="myGroup">\n       <input formControlName="firstName">\n       <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n    </div>\n  '};function R(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}class j{constructor(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=e=>{},this.onTouched=()=>{},this._compareWith=r.Ab}set compareWith(e){if("function"!=typeof e)throw new Error(`compareWith must be a function, but received ${JSON.stringify(e)}`);this._compareWith=e}writeValue(e){this.value=e;const t=this._getOptionId(e);null==t&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);const n=R(t,e);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)}registerOnChange(e){this.onChange=t=>{this.value=this._getOptionValue(t),e(this.value)}}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(const t of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(t),e))return t;return null}_getOptionValue(e){const t=function(e){return e.split(":")[0]}(e);return this._optionMap.has(t)?this._optionMap.get(t):e}}class M{constructor(e,t,n){this._element=e,this._renderer=t,this._select=n,this._select&&(this.id=this._select._registerOption())}set ngValue(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(R(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function V(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}class F{constructor(e,t,n){this._element=e,this._renderer=t,this._select=n,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){null!=this._select&&(this._value=e,this._setElementValue(V(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(V(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}function L(e,t){return[...t.path,e]}function $(e,t){e||H(t,"Cannot find control with"),t.valueAccessor||H(t,"No value accessor for form control with"),e.validator=x.compose([e.validator,t.validator]),e.asyncValidator=x.composeAsync([e.asyncValidator,t.asyncValidator]),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&U(e,t)})}(e,t),function(e,t){e.registerOnChange((e,n)=>{t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&U(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),t.valueAccessor.setDisabledState&&e.registerOnDisabledChange(e=>{t.valueAccessor.setDisabledState(e)}),t._rawValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(()=>e.updateValueAndValidity())}),t._rawAsyncValidators.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(()=>e.updateValueAndValidity())})}function U(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function H(e,t){let n;throw n=e.path.length>1?`path: '${e.path.join(" -> ")}'`:e.path[0]?`name: '${e.path}'`:"unspecified name attribute",new Error(`${t} ${n}`)}function z(e){return null!=e?x.compose(e.map(D)):null}function B(e){return null!=e?x.composeAsync(e.map(A)):null}const q=[class{constructor(e,t){this._renderer=e,this._elementRef=t,this.onChange=e=>{},this.onTouched=()=>{}}writeValue(e){this._renderer.setProperty(this._elementRef.nativeElement,"checked",e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}},class{constructor(e,t){this._renderer=e,this._elementRef=t,this.onChange=e=>{},this.onTouched=()=>{}}writeValue(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(e))}registerOnChange(e){this.onChange=t=>{e(""==t?null:parseFloat(t))}}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}},N,j,class{constructor(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=e=>{},this.onTouched=()=>{},this._compareWith=r.Ab}set compareWith(e){if("function"!=typeof e)throw new Error(`compareWith must be a function, but received ${JSON.stringify(e)}`);this._compareWith=e}writeValue(e){let t;if(this.value=e,Array.isArray(e)){const n=e.map(e=>this._getOptionId(e));t=(e,t)=>{e._setSelected(n.indexOf(t.toString())>-1)}}else t=(e,t)=>{e._setSelected(!1)};this._optionMap.forEach(t)}registerOnChange(e){this.onChange=t=>{const n=[];if(t.hasOwnProperty("selectedOptions")){const e=t.selectedOptions;for(let t=0;t<e.length;t++){const r=e.item(t),s=this._getOptionValue(r.value);n.push(s)}}else{const e=t.options;for(let t=0;t<e.length;t++){const r=e.item(t);if(r.selected){const e=this._getOptionValue(r.value);n.push(e)}}}this.value=n,e(n)}}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}_registerOption(e){const t=(this._idCounter++).toString();return this._optionMap.set(t,e),t}_getOptionId(e){for(const t of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(t)._value,e))return t;return null}_getOptionValue(e){const t=function(e){return e.split(":")[0]}(e);return this._optionMap.has(t)?this._optionMap.get(t)._value:e}},class{constructor(e,t,n,r){this._renderer=e,this._elementRef=t,this._registry=n,this._injector=r,this.onChange=()=>{},this.onTouched=()=>{}}ngOnInit(){this._control=this._injector.get(_),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}fireUncheck(e){this.writeValue(e)}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)}_checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}_throwNameError(){throw new Error('\n      If you define both a name and a formControlName attribute on your radio button, their values\n      must match. Ex: <input type="radio" formControlName="food" name="food">\n    ')}}],W="VALID",G="INVALID",Q="PENDING",K="DISABLED";function Z(e){const t=J(e)?e.validators:e;return Array.isArray(t)?z(t):t||null}function Y(e,t){const n=J(t)?t.asyncValidators:e;return Array.isArray(n)?B(n):n||null}function J(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class X{constructor(e,t){this.validator=e,this.asyncValidator=t,this._onCollectionChange=()=>{},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}get parent(){return this._parent}get valid(){return this.status===W}get invalid(){return this.status===G}get pending(){return this.status==Q}get disabled(){return this.status===K}get enabled(){return this.status!==K}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this.validator=Z(e)}setAsyncValidators(e){this.asyncValidator=Y(e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=Q,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=K,this.errors=null,this._forEachChild(t=>{t.disable(Object.assign({},e,{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign({},e,{skipPristineCheck:t})),this._onDisabledChange.forEach(e=>e(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=W,this._forEachChild(t=>{t.enable(Object.assign({},e,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign({},e,{skipPristineCheck:t})),this._onDisabledChange.forEach(e=>e(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==W&&this.status!==Q||this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?K:W}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=Q;const t=O(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(t=>this.setErrors(t,{emitEvent:e}))}}_cancelExistingSubscription(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(e,t,n){return null==t?null:(t instanceof Array||(t=t.split(".")),t instanceof Array&&0===t.length?null:t.reduce((e,t)=>e instanceof te?e.controls.hasOwnProperty(t)?e.controls[t]:null:e instanceof ne&&e.at(t)||null,e))}(this,e)}getError(e,t){const n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new r.m,this.statusChanges=new r.m}_calculateStatus(){return this._allControlsDisabled()?K:this.errors?G:this._anyControlsHaveStatus(Q)?Q:this._anyControlsHaveStatus(G)?G:W}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){J(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()}}class ee extends X{constructor(e=null,t,n){super(Z(t),Y(n,t)),this._onChange=[],this._applyFormState(e),this._setUpdateStrategy(t),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),this._initObservables()}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(e=>e(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_clearChangeFns(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=()=>{}}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class te extends X{constructor(e,t,n){super(Z(t),Y(n,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t){this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()}removeControl(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity(),this._onCollectionChange()}setControl(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(n=>{this._throwIfControlMissing(n),this.controls[n].setValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){Object.keys(e).forEach(n=>{this.controls[n]&&this.controls[n].patchValue(e[n],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}reset(e={},t={}){this._forEachChild((n,r)=>{n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,n)=>(e[n]=t instanceof ee?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(e,t)=>!!t._syncPendingControls()||e);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>e(this.controls[t],t))}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){let t=!1;return this._forEachChild((n,r)=>{t=t||this.contains(r)&&e(n)}),t}_reduceValue(){return this._reduceChildren({},(e,t,n)=>((t.enabled||this.disabled)&&(e[n]=t.value),e))}_reduceChildren(e,t){let n=e;return this._forEachChild((e,r)=>{n=t(n,e,r)}),n}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,n)=>{if(void 0===e[n])throw new Error(`Must supply a value for form control with name: '${n}'.`)})}}class ne extends X{constructor(e,t,n){super(Z(t),Y(n,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!1})}at(e){return this.controls[e]}push(e){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()}insert(e,t){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity()}removeAt(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity()}setControl(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity(),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((e,n)=>{this._throwIfControlMissing(n),this.at(n).setValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){e.forEach((e,n)=>{this.at(n)&&this.at(n).patchValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}reset(e=[],t={}){this._forEachChild((n,r)=>{n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof ee?e.value:e.getRawValue())}clear(){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity())}_syncPendingControls(){let e=this.controls.reduce((e,t)=>!!t._syncPendingControls()||e,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,n)=>{e(t,n)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,n)=>{if(void 0===e[n])throw new Error(`Must supply a value for form control at index: ${n}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const re=(()=>Promise.resolve(null))();class se extends y{constructor(e,t){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new r.m,this.form=new te({},z(e),B(t))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){re.then(()=>{const t=this._findContainer(e.path);e.control=t.registerControl(e.name,e.control),$(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){re.then(()=>{const t=this._findContainer(e.path);t&&t.removeControl(e.name),function(t,n){const r=t.indexOf(e);r>-1&&t.splice(r,1)}(this._directives)})}addFormGroup(e){re.then(()=>{const t=this._findContainer(e.path),n=new te({});(function(e,t){null==e&&H(t,"Cannot find control with"),e.validator=x.compose([e.validator,t.validator]),e.asyncValidator=x.composeAsync([e.asyncValidator,t.asyncValidator])})(n,e),t.registerControl(e.name,n),n.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){re.then(()=>{const t=this._findContainer(e.path);t&&t.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,t){re.then(()=>{this.form.get(e.path).setValue(t)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,t=this._directives,this.form._syncPendingControls(),t.forEach(e=>{const t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)}),this.ngSubmit.emit(e),!1;var t}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}class ie{static modelParentException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n      formGroup's partner directive "formControlName" instead.  Example:\n\n      ${P.formControlName}\n\n      Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n      Example:\n\n      ${P.ngModelWithFormGroup}`)}static formGroupNameException(){throw new Error(`\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n      ${P.formGroupName}\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      ${P.ngModelGroup}`)}static missingNameException(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n      control must be defined as \'standalone\' in ngModelOptions.\n\n      Example 1: <input [(ngModel)]="person.firstName" name="first">\n      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')}static modelGroupParentException(){throw new Error(`\n      ngModelGroup cannot be used with a parent formGroup directive.\n\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n      ${P.formGroupName}\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      ${P.ngModelGroup}`)}static ngFormWarning(){console.warn("\n    It looks like you're using 'ngForm'.\n\n    Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n    in Angular v9.\n\n    Use 'ng-form' instead.\n\n    Before:\n    <ngForm #myForm=\"ngForm\">\n\n    After:\n    <ng-form #myForm=\"ngForm\">\n    ")}}const oe=new r.p("NgFormSelectorWarning");class ae extends y{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return L(this.name,this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return z(this._validators)}get asyncValidator(){return B(this._asyncValidators)}_checkParentType(){}}class le extends ae{constructor(e,t,n){super(),this._parent=e,this._validators=t,this._asyncValidators=n}_checkParentType(){this._parent instanceof le||this._parent instanceof se||ie.modelGroupParentException()}}const ce=(()=>Promise.resolve(null))();class ue extends _{constructor(e,t,n,s){super(),this.control=new ee,this._registered=!1,this.update=new r.m,this._parent=e,this._rawValidators=t||[],this._rawAsyncValidators=n||[],this.valueAccessor=function(e,t){if(!t)return null;Array.isArray(t)||H(e,"Value accessor was not provided as an array for form control with");let n=void 0,r=void 0,s=void 0;return t.forEach(t=>{t.constructor===m?n=t:function(e){return q.some(t=>e.constructor===t)}(t)?(r&&H(e,"More than one built-in value accessor matches form control with"),r=t):(s&&H(e,"More than one custom value accessor matches form control with"),s=t)}),s||r||n||(H(e,"No valid value accessor for form control with"),null)}(this,s)}ngOnChanges(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),function(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object(r.Ab)(t,n.currentValue)}(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?L(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}get validator(){return z(this._rawValidators)}get asyncValidator(){return B(this._rawAsyncValidators)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){!(this._parent instanceof le)&&this._parent instanceof ae?ie.formGroupNameException():this._parent instanceof le||this._parent instanceof se||ie.modelParentException()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||ie.missingNameException()}_updateValue(e){ce.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1})})}_updateDisabled(e){const t=e.isDisabled.currentValue,n=""===t||t&&"false"!==t;ce.then(()=>{n&&!this.control.disabled?this.control.disable():!n&&this.control.disabled&&this.control.enable()})}}class he{}class de{static withConfig(e){return{ngModule:de,providers:[{provide:oe,useValue:e.warnOnDeprecatedNgFormSelector}]}}}},vkgz:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n("7o/Q"),s=n("KqfI"),i=n("n6bG");function o(e,t,n){return function(r){return r.lift(new a(e,t,n))}}class a{constructor(e,t,n){this.nextOrObserver=e,this.error=t,this.complete=n}call(e,t){return t.subscribe(new l(e,this.nextOrObserver,this.error,this.complete))}}class l extends r.a{constructor(e,t,n,r){super(e),this._tapNext=s.a,this._tapError=s.a,this._tapComplete=s.a,this._tapError=n||s.a,this._tapComplete=r||s.a,Object(i.a)(t)?(this._context=this,this._tapNext=t):t&&(this._context=t,this._tapNext=t.next||s.a,this._tapError=t.error||s.a,this._tapComplete=t.complete||s.a)}_next(e){try{this._tapNext.call(this._context,e)}catch(t){return void this.destination.error(t)}this.destination.next(e)}_error(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)}_complete(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()}}},w1tV:function(e,t,n){"use strict";var r=n("XNiG"),s=n("HDdC"),i=n("7o/Q"),o=n("quSY");function a(){return function(e){return e.lift(new l(e))}}class l{constructor(e){this.connectable=e}call(e,t){const{connectable:n}=this;n._refCount++;const r=new c(e,n),s=t.subscribe(r);return r.closed||(r.connection=n.connect()),s}}class c extends i.a{constructor(e,t){super(e),this.connectable=t}_unsubscribe(){const{connectable:e}=this;if(!e)return void(this.connection=null);this.connectable=null;const t=e._refCount;if(t<=0)return void(this.connection=null);if(e._refCount=t-1,t>1)return void(this.connection=null);const{connection:n}=this,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}const u=class extends s.a{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._refCount=0,this._isComplete=!1}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject}connect(){let e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new o.a).add(this.source.subscribe(new d(this.getSubject(),this))),e.closed?(this._connection=null,e=o.a.EMPTY):this._connection=e),e}refCount(){return a()(this)}}.prototype,h={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:u._subscribe},_isComplete:{value:u._isComplete,writable:!0},getSubject:{value:u.getSubject},connect:{value:u.connect},refCount:{value:u.refCount}};class d extends r.b{constructor(e,t){super(e),this.connectable=t}_error(e){this._unsubscribe(),super._error(e)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const e=this.connectable;if(e){this.connectable=null;const t=e._connection;e._refCount=0,e._subject=null,e._connection=null,t&&t.unsubscribe()}}}function f(){return new r.a}function p(){return e=>a()(function(e,t){return function(t){let n;n="function"==typeof e?e:function(){return e};const r=Object.create(t,h);return r.source=t,r.subjectFactory=n,r}}(f)(e))}n.d(t,"a",function(){return p})},yCtX:function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n("HDdC"),s=n("quSY"),i=n("ngJS");function o(e,t){return new r.a(t?n=>{const r=new s.a;let i=0;return r.add(t.schedule(function(){i!==e.length?(n.next(e[i++]),n.closed||r.add(this.schedule())):n.complete()})),r}:Object(i.a)(e))}},"z+Ro":function(e,t,n){"use strict";function r(e){return e&&"function"==typeof e.schedule}n.d(t,"a",function(){return r})},zUnb:function(e,t,n){"use strict";n.r(t);var r=n("8Y7J");class s{}class i{}var o=n("pMnS"),a=n("iInd");class l{constructor(){this.particles=[],this.maxRadius=8,this.minRadius=5,this.minDistanceBetweenParticles=20}onWindowResize(e){this.headerCanvas.width=this.headerCanvasWrapperRef.nativeElement.clientWidth,this.headerCanvas.height=this.headerCanvasWrapperRef.nativeElement.clientHeight,this.adjustHeaderCanvasParams(),this.initParticles()}ngOnInit(){}ngAfterViewInit(){this.headerCanvas=this.headerCanvasRef.nativeElement,this.headerCanvasContext=this.headerCanvas.getContext("2d"),this.headerCanvas.width=this.headerCanvasWrapperRef.nativeElement.clientWidth,this.headerCanvas.height=this.headerCanvasWrapperRef.nativeElement.clientHeight,this.adjustHeaderCanvasParams(),this.initParticles()}adjustHeaderCanvasParams(){this.particlesCount=Math.floor(this.headerCanvas.width/50)*Math.floor(this.headerCanvas.height/80)}initParticles(){this.particles=[];for(let e=1;e<=this.particlesCount;++e){let e;do{e={radius:Math.floor(Math.random()*(this.maxRadius-this.minRadius+1)+this.minRadius),x:Math.floor(Math.random()*(this.headerCanvas.width-2*this.maxRadius))+this.maxRadius,y:Math.floor(Math.random()*(this.headerCanvas.height-2*this.maxRadius))+this.maxRadius,color:"rgba(255,255,255,0.5)"}}while(this.particles.some(t=>this.doesParticlesAreNearby(t,e)));this.particles.push(e)}}doesParticlesAreNearby(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))<e.radius+t.radius+this.minDistanceBetweenParticles}drawHomeCanvas(){this.headerCanvasContext.clearRect(0,0,this.headerCanvas.width,this.headerCanvas.height),this.particles.forEach(e=>{this.headerCanvasContext.beginPath(),this.headerCanvasContext.shadowBlur=10,this.headerCanvasContext.shadowColor=e.color,this.headerCanvasContext.fillStyle=e.color,this.headerCanvasContext.arc(e.x,e.y,e.radius,0,2*Math.PI),this.headerCanvasContext.fill(),this.headerCanvasContext.closePath()})}}var c=r.qb({encapsulation:0,styles:[[".home-container[_ngcontent-%COMP%]{padding:0;margin:0;width:100%}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]{width:100%;height:100vh;background-color:#14141f;background-image:url(home-header-image.8ce7381c43fe4e6f288d.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .text[_ngcontent-%COMP%]{position:absolute;right:10px;top:20px;color:#fff;float:right;text-align:end;padding:20px;font-size:40px;font-family:Tangerine,cursive;font-weight:700;-webkit-animation:1s ease-in-out infinite alternate blueglow;animation:1s ease-in-out infinite alternate blueglow;z-index:100}@-webkit-keyframes pinkglow{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #e60073,0 0 40px #e60073,0 0 50px #e60073,0 0 60px #e60073,0 0 70px #e60073}to{text-shadow:0 0 20px #fff,0 0 30px #ff4da6,0 0 40px #ff4da6,0 0 50px #ff4da6,0 0 60px #ff4da6,0 0 70px #ff4da6,0 0 80px #ff4da6}}@-webkit-keyframes blueglow{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #014940,0 0 40px #014940,0 0 50px #014940,0 0 60px #014940,0 0 70px #014940}to{text-shadow:0 0 20px #fff,0 0 30px #0293a8,0 0 40px #0293a8,0 0 50px #0293a8,0 0 60px #0293a8,0 0 70px #0293a8,0 0 80px #0293a8}}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .text[_ngcontent-%COMP%]:hover   .rotate-text[_ngcontent-%COMP%]{display:inline-block;transform-origin:top left;-webkit-animation:1.5s ease-in-out infinite alternate rotateText;animation:1.5s ease-in-out infinite alternate rotateText}@-webkit-keyframes rotateText{0%{transform:rotate(8deg)}100%{transform:rotate(120deg)}}@keyframes rotateText{0%{transform:rotate(8deg)}100%{transform:rotate(120deg)}}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .header-canvas-wrapper[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]{background-color:#0d0d26;padding:20px 10px 40px}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]{padding:10px}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]{border:1px solid #e6e6e6;height:50px;cursor:pointer;box-shadow:0 0 10px grey;font-family:cursive}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{margin:auto}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]:hover{box-shadow:0 0 14px #7fe6f5}"]],data:{}});function u(e){return r.Lb(0,[r.Ib(671088640,1,{headerCanvasRef:0}),r.Ib(671088640,2,{headerCanvasWrapperRef:0}),(e()(),r.sb(2,0,null,null,29,"div",[["class","home-container"]],null,null,null,null,null)),(e()(),r.sb(3,0,null,null,5,"div",[["class","header"]],null,null,null,null,null)),(e()(),r.sb(4,0,null,null,2,"div",[["class","text glow"]],null,null,null,null,null)),(e()(),r.sb(5,0,null,null,1,"span",[["class","rotate-text"]],null,null,null,null,null)),(e()(),r.Kb(-1,null,["Algorithms Visualizer"])),(e()(),r.sb(7,0,[[2,0],["headerCanvasWrapper",1]],null,1,"div",[["class","header-canvas-wrapper"]],null,null,null,null,null)),(e()(),r.sb(8,0,[[1,0],["headerCanvas",1]],null,0,"canvas",[["id","headerCanvas"]],null,null,null,null,null)),(e()(),r.sb(9,0,null,null,19,"div",[["class","section"]],null,null,null,null,null)),(e()(),r.sb(10,0,null,null,18,"div",[["class","col-md-12 row"]],null,null,null,null,null)),(e()(),r.sb(11,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(e,t,n){var s=!0;return"click"===t&&(s=!1!==r.Eb(e,12).onClick()&&s),s},null,null)),r.rb(12,16384,null,0,a.l,[a.k,a.a,[8,null],r.D,r.k],{routerLink:[0,"routerLink"]},null),r.Fb(13,1),(e()(),r.sb(14,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(e()(),r.sb(15,0,null,null,1,"span",[],null,null,null,null,null)),(e()(),r.Kb(-1,null,["Sorting Algorithms"])),(e()(),r.sb(17,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(e,t,n){var s=!0;return"click"===t&&(s=!1!==r.Eb(e,18).onClick()&&s),s},null,null)),r.rb(18,16384,null,0,a.l,[a.k,a.a,[8,null],r.D,r.k],{routerLink:[0,"routerLink"]},null),r.Fb(19,1),(e()(),r.sb(20,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(e()(),r.sb(21,0,null,null,1,"span",[],null,null,null,null,null)),(e()(),r.Kb(-1,null,["Graph Algorithms"])),(e()(),r.sb(23,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(e,t,n){var s=!0;return"click"===t&&(s=!1!==r.Eb(e,24).onClick()&&s),s},null,null)),r.rb(24,16384,null,0,a.l,[a.k,a.a,[8,null],r.D,r.k],{routerLink:[0,"routerLink"]},null),r.Fb(25,1),(e()(),r.sb(26,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(e()(),r.sb(27,0,null,null,1,"span",[],null,null,null,null,null)),(e()(),r.Kb(-1,null,["Misc"])),(e()(),r.sb(29,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(e()(),r.Kb(-1,null,[" while(noSuccess) { tryAgain(); if(Dead) break; } "])),(e()(),r.sb(31,0,null,null,0,"div",[],null,null,null,null,null))],function(e,t){var n=e(t,13,0,"sorting-algorithms");e(t,12,0,n);var r=e(t,19,0,"graph-algorithms");e(t,18,0,r);var s=e(t,25,0,"");e(t,24,0,s)},null)}function h(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"app-home",[],null,[["window","resize"]],function(e,t,n){var s=!0;return"window:resize"===t&&(s=!1!==r.Eb(e,1).onWindowResize(n)&&s),s},u,c)),r.rb(1,4308992,null,0,l,[],null,null)],function(e,t){e(t,1,0)},null)}var d=r.ob("app-home",l,h,{},{},[]),f=n("SVse"),p=n("s7LF"),m=n("XNiG"),g=(n("2Vo4"),n("itXk"),n("HDdC")),y=(n("D0XW"),n("DH7j"));n("z+Ro"),n("KqfI");var b=n("n6bG"),_=n("lJxs");function v(e,t,n,r){return Object(b.a)(n)&&(r=n,n=void 0),r?v(e,t,n).pipe(Object(_.a)(e=>Object(y.a)(e)?r(...e):r(e))):new g.a(r=>{!function e(t,n,r,s,i){let o;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(t)){const e=t;t.addEventListener(n,r,i),o=()=>e.removeEventListener(n,r,i)}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(t)){const e=t;t.on(n,r),o=()=>e.off(n,r)}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(t)){const e=t;t.addListener(n,r),o=()=>e.removeListener(n,r)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let o=0,a=t.length;o<a;o++)e(t[o],n,r,s,i)}s.add(o)}(e,t,function(e){r.next(arguments.length>1?Array.prototype.slice.call(arguments):e)},r,n)})}var w=n("VRyK"),C=(n("yCtX"),n("l7GE")),S=n("ZUHj");function E(e){return t=>t.lift(new x(e))}n("JX91"),n("7o/Q"),n("eIep");class x{constructor(e){this.notifier=e}call(e,t){const n=new k(e),r=Object(S.a)(n,this.notifier);return r&&!n.seenValue?(n.add(r),t.subscribe(n)):n}}class k extends C.a{constructor(e){super(e),this.seenValue=!1}notifyNext(e,t,n,r,s){this.seenValue=!0,this.complete()}notifyComplete(){}}var O=n("pLZG"),T=n("IzEk");function D(...e){return t=>{let n;return"function"==typeof e[e.length-1]&&(n=e.pop()),t.lift(new A(e,n))}}class A{constructor(e,t){this.observables=e,this.project=t}call(e,t){return t.subscribe(new N(e,this.observables,this.project))}}class N extends C.a{constructor(e,t,n){super(e),this.observables=t,this.project=n,this.toRespond=[];const r=t.length;this.values=new Array(r);for(let s=0;s<r;s++)this.toRespond.push(s);for(let s=0;s<r;s++){let e=t[s];this.add(Object(S.a)(this,e,e,s))}}notifyNext(e,t,n,r,s){this.values[n]=t;const i=this.toRespond;if(i.length>0){const e=i.indexOf(n);-1!==e&&i.splice(e,1)}}notifyComplete(){}_next(e){if(0===this.toRespond.length){const t=[e,...this.values];this.project?this._tryProject(t):this.destination.next(t)}}_tryProject(e){let t;try{t=this.project.apply(this,e)}catch(n){return void this.destination.error(n)}this.destination.next(t)}}function I(e){return parseInt(`${e}`,10)}function P(e){return null!=e?`${e}`:""}function R(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function j(e){return null!=e}function M(e,t){return e&&e.className&&e.className.split&&e.className.split(/\s+/).indexOf(t)>=0}n("EY2u"),n("LRne"),n("w1tV"),n("vkgz"),"undefined"==typeof Element||Element.prototype.closest||(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest=function(e){let t=this;if(!document.documentElement.contains(t))return null;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null});class V{}let F=(()=>{class e{constructor(){this.dismissible=!0,this.type="warning"}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e},token:e,providedIn:"root"}),e})();class L{constructor(e,t,n){this._renderer=t,this._element=n,this.close=new r.m,this.dismissible=e.dismissible,this.type=e.type}closeHandler(){this.close.emit(null)}ngOnChanges(e){const t=e.type;t&&!t.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${t.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${t.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}class ${}class U{}class H{}class z{}class B{static from(e){return e instanceof B?e:e?new B(e.year,e.month,e.day):null}constructor(e,t,n){this.year=R(e)?e:null,this.month=R(t)?t:null,this.day=R(n)?n:null}equals(e){return e&&this.year===e.year&&this.month===e.month&&this.day===e.day}before(e){return!!e&&(this.year===e.year?this.month===e.month?this.day!==e.day&&this.day<e.day:this.month<e.month:this.year<e.year)}after(e){return!!e&&(this.year===e.year?this.month===e.month?this.day!==e.day&&this.day>e.day:this.month>e.month:this.year>e.year)}}function q(e){return new B(e.getFullYear(),e.getMonth()+1,e.getDate())}function W(e){const t=new Date(e.year,e.month-1,e.day,12);return isNaN(t.getTime())||t.setFullYear(e.year),t}function G(){return new K}let Q=(()=>{class e{}return e.ngInjectableDef=Object(r.Pb)({factory:G,token:e,providedIn:"root"}),e})();class K extends Q{getDaysPerWeek(){return 7}getMonths(){return[1,2,3,4,5,6,7,8,9,10,11,12]}getWeeksPerMonth(){return 6}getNext(e,t="d",n=1){let r=W(e);switch(t){case"y":return new B(e.year+n,1,1);case"m":r=new Date(e.year,e.month+n-1,1,12);break;case"d":r.setDate(r.getDate()+n);break;default:return e}return q(r)}getPrev(e,t="d",n=1){return this.getNext(e,t,-n)}getWeekday(e){let t=W(e).getDay();return 0===t?7:t}getWeekNumber(e,t){7===t&&(t=0);const n=W(e[(11-t)%7]);n.setDate(n.getDate()+4-(n.getDay()||7));const r=n.getTime();return n.setMonth(0),n.setDate(1),Math.floor(Math.round((r-n.getTime())/864e5)/7)+1}getToday(){return q(new Date)}isValid(e){if(!(e&&R(e.year)&&R(e.month)&&R(e.day)))return!1;if(0===e.year)return!1;const t=W(e);return!isNaN(t.getTime())&&t.getFullYear()===e.year&&t.getMonth()+1===e.month&&t.getDate()===e.day}}function Z(e,t){return!function(e,t){return!e&&!t||!!e&&!!t&&e.equals(t)}(e,t)}function Y(e,t){return!(!e&&!t||e&&t&&e.year===t.year&&e.month===t.month)}function J(e,t,n){return e&&t&&e.before(t)?t:e&&n&&e.after(n)?n:e}function X(e,t){const{minDate:n,maxDate:r,disabled:s,markDisabled:i}=t;return!(!j(e)||s||i&&i(e,{year:e.year,month:e.month})||n&&e.before(n)||r&&e.after(r))}let ee=(()=>{class e{getDayNumerals(e){return`${e.day}`}getWeekNumerals(e){return`${e}`}getYearNumerals(e){return`${e}`}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return e=Object(r.Qb)(r.t),new te(e);var e},token:e,providedIn:"root"}),e})();class te extends ee{constructor(e){super(),this._locale=e;const t=Object(f.u)(e,f.d.Standalone,f.r.Short);this._weekdaysShort=t.map((e,n)=>t[(n+1)%7]),this._monthsShort=Object(f.w)(e,f.d.Standalone,f.r.Abbreviated),this._monthsFull=Object(f.w)(e,f.d.Standalone,f.r.Wide)}getWeekdayShortName(e){return this._weekdaysShort[e-1]}getMonthShortName(e){return this._monthsShort[e-1]}getMonthFullName(e){return this._monthsFull[e-1]}getDayAriaLabel(e){const t=new Date(e.year,e.month-1,e.day);return Object(f.t)(t,"fullDate",this._locale)}}class ne{constructor(e,t){this._calendar=e,this._i18n=t,this._model$=new m.a,this._select$=new m.a,this._state={disabled:!1,displayMonths:1,firstDayOfWeek:1,focusVisible:!1,months:[],navigation:"select",outsideDays:"visible",prevDisabled:!1,nextDisabled:!1,selectBoxes:{years:[],months:[]},selectedDate:null}}get model$(){return this._model$.pipe(Object(O.a)(e=>e.months.length>0))}get select$(){return this._select$.pipe(Object(O.a)(e=>null!==e))}set dayTemplateData(e){this._state.dayTemplateData!==e&&this._nextState({dayTemplateData:e})}set disabled(e){this._state.disabled!==e&&this._nextState({disabled:e})}set displayMonths(e){R(e=I(e))&&e>0&&this._state.displayMonths!==e&&this._nextState({displayMonths:e})}set firstDayOfWeek(e){R(e=I(e))&&e>=0&&this._state.firstDayOfWeek!==e&&this._nextState({firstDayOfWeek:e})}set focusVisible(e){this._state.focusVisible===e||this._state.disabled||this._nextState({focusVisible:e})}set maxDate(e){const t=this.toValidDate(e,null);Z(this._state.maxDate,t)&&this._nextState({maxDate:t})}set markDisabled(e){this._state.markDisabled!==e&&this._nextState({markDisabled:e})}set minDate(e){const t=this.toValidDate(e,null);Z(this._state.minDate,t)&&this._nextState({minDate:t})}set navigation(e){this._state.navigation!==e&&this._nextState({navigation:e})}set outsideDays(e){this._state.outsideDays!==e&&this._nextState({outsideDays:e})}focus(e){!this._state.disabled&&this._calendar.isValid(e)&&Z(this._state.focusDate,e)&&this._nextState({focusDate:e})}focusMove(e,t){this.focus(this._calendar.getNext(this._state.focusDate,e,t))}focusSelect(){X(this._state.focusDate,this._state)&&this.select(this._state.focusDate,{emitEvent:!0})}open(e){const t=this.toValidDate(e,this._calendar.getToday());this._state.disabled||this._state.firstDate&&!Y(this._state.firstDate,e)||this._nextState({firstDate:t})}select(e,t={}){const n=this.toValidDate(e,null);this._state.disabled||(Z(this._state.selectedDate,n)&&this._nextState({selectedDate:n}),t.emitEvent&&X(n,this._state)&&this._select$.next(n))}toValidDate(e,t){const n=B.from(e);return void 0===t&&(t=this._calendar.getToday()),this._calendar.isValid(n)?n:t}_nextState(e){const t=this._updateState(e);this._patchContexts(t),this._state=t,this._model$.next(this._state)}_patchContexts(e){const{months:t,displayMonths:n,selectedDate:r,focusDate:s,focusVisible:i,disabled:o,outsideDays:a}=e;e.months.forEach(e=>{e.weeks.forEach(l=>{l.days.forEach(l=>{s&&(l.context.focused=s.equals(l.date)&&i),l.tabindex=!o&&l.date.equals(s)&&s.month===e.number?0:-1,!0===o&&(l.context.disabled=!0),void 0!==r&&(l.context.selected=null!==r&&r.equals(l.date)),e.number!==l.date.month&&(l.hidden="hidden"===a||"collapsed"===a||n>1&&l.date.after(t[0].firstDate)&&l.date.before(t[n-1].lastDate))})})})}_updateState(e){const t=Object.assign({},this._state,e);let n=t.firstDate;if(("minDate"in e||"maxDate"in e)&&(function(e,t){if(t&&e&&t.before(e))throw new Error(`'maxDate' ${t} should be greater than 'minDate' ${e}`)}(t.minDate,t.maxDate),t.focusDate=J(t.focusDate,t.minDate,t.maxDate),t.firstDate=J(t.firstDate,t.minDate,t.maxDate),n=t.focusDate),"disabled"in e&&(t.focusVisible=!1),"selectedDate"in e&&0===this._state.months.length&&(n=t.selectedDate),"focusVisible"in e)return t;if("focusDate"in e&&(t.focusDate=J(t.focusDate,t.minDate,t.maxDate),n=t.focusDate,0!==t.months.length&&!t.focusDate.before(t.firstDate)&&!t.focusDate.after(t.lastDate)))return t;if("firstDate"in e&&(t.firstDate=J(t.firstDate,t.minDate,t.maxDate),n=t.firstDate),n){const s=function(e,t,n,r,s){const{displayMonths:i,months:o}=n,a=o.splice(0,o.length);return Array.from({length:i},(n,r)=>{const i=e.getNext(t,"m",r);if(o[r]=null,!s){const e=a.findIndex(e=>e.firstDate.equals(i));-1!==e&&(o[r]=a.splice(e,1)[0])}return i}).forEach((t,s)=>{null===o[s]&&(o[s]=function(e,t,n,r,s={}){const{dayTemplateData:i,minDate:o,maxDate:a,firstDayOfWeek:l,markDisabled:c,outsideDays:u}=n,h=e.getToday();s.firstDate=null,s.lastDate=null,s.number=t.month,s.year=t.year,s.weeks=s.weeks||[],s.weekdays=s.weekdays||[],t=function(e,t,n){const r=e.getDaysPerWeek(),s=new B(t.year,t.month,1),i=e.getWeekday(s)%r;return e.getPrev(s,"d",(r+i-n)%r)}(e,t,l);for(let d=0;d<e.getWeeksPerMonth();d++){let n=s.weeks[d];n||(n=s.weeks[d]={number:0,days:[],collapsed:!0});const f=n.days;for(let l=0;l<e.getDaysPerWeek();l++){0===d&&(s.weekdays[l]=e.getWeekday(t));const n=new B(t.year,t.month,t.day),u=e.getNext(n),p=r.getDayAriaLabel(n);let m=!!(o&&n.before(o)||a&&n.after(a));!m&&c&&(m=c(n,{month:s.number,year:s.year}));let g=n.equals(h),y=i?i(n,{month:s.number,year:s.year}):void 0;null===s.firstDate&&n.month===s.number&&(s.firstDate=n),n.month===s.number&&u.month!==s.number&&(s.lastDate=n);let b=f[l];b||(b=f[l]={}),b.date=n,b.context=Object.assign(b.context||{},{$implicit:n,date:n,data:y,currentMonth:s.number,disabled:m,focused:!1,selected:!1,today:g}),b.tabindex=-1,b.ariaLabel=p,b.hidden=!1,t=u}n.number=e.getWeekNumber(f.map(e=>e.date),l),n.collapsed="collapsed"===u&&f[0].date.month!==s.number&&f[f.length-1].date.month!==s.number}return s}(e,t,n,r,a.shift()||{}))}),o}(this._calendar,n,t,this._i18n,"dayTemplateData"in e||"firstDayOfWeek"in e||"markDisabled"in e||"minDate"in e||"maxDate"in e||"disabled"in e||"outsideDays"in e);t.months=s,t.firstDate=s.length>0?s[0].firstDate:void 0,t.lastDate=s.length>0?s[s.length-1].lastDate:void 0,"selectedDate"in e&&!X(t.selectedDate,t)&&(t.selectedDate=null),"firstDate"in e&&(void 0===t.focusDate||t.focusDate.before(t.firstDate)||t.focusDate.after(t.lastDate))&&(t.focusDate=n);const i=!this._state.firstDate||this._state.firstDate.year!==t.firstDate.year,o=!this._state.firstDate||this._state.firstDate.month!==t.firstDate.month;"select"===t.navigation?(("minDate"in e||"maxDate"in e||0===t.selectBoxes.years.length||i)&&(t.selectBoxes.years=function(e,t,n){if(!e)return[];const r=t&&t.year||e.year-10;return Array.from({length:(n&&n.year||e.year+10)-r+1},(e,t)=>r+t)}(t.firstDate,t.minDate,t.maxDate)),("minDate"in e||"maxDate"in e||0===t.selectBoxes.months.length||i)&&(t.selectBoxes.months=function(e,t,n,r){if(!t)return[];let s=e.getMonths(t.year);if(n&&t.year===n.year){const e=s.findIndex(e=>e===n.month);s=s.slice(e)}if(r&&t.year===r.year){const e=s.findIndex(e=>e===r.month);s=s.slice(0,e+1)}return s}(this._calendar,t.firstDate,t.minDate,t.maxDate))):t.selectBoxes={years:[],months:[]},"arrows"!==t.navigation&&"select"!==t.navigation||!(o||i||"minDate"in e||"maxDate"in e||"disabled"in e)||(t.prevDisabled=t.disabled||function(e,n,r){const s=e.getPrev(t.firstDate,"m");return r&&(s.year===r.year&&s.month<r.month||s.year<r.year&&1===r.month)}(this._calendar,0,t.minDate),t.nextDisabled=t.disabled||(r=t.maxDate)&&this._calendar.getNext(t.lastDate,"m").after(r))}var r;return t}}const re=function(){var e={Tab:9,Enter:13,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40};return e[e.Tab]="Tab",e[e.Enter]="Enter",e[e.Escape]="Escape",e[e.Space]="Space",e[e.PageUp]="PageUp",e[e.PageDown]="PageDown",e[e.End]="End",e[e.Home]="Home",e[e.ArrowLeft]="ArrowLeft",e[e.ArrowUp]="ArrowUp",e[e.ArrowRight]="ArrowRight",e[e.ArrowDown]="ArrowDown",e}();class se{constructor(e,t){this._service=e,this._calendar=t,e.model$.subscribe(e=>{this._minDate=e.minDate,this._maxDate=e.maxDate,this._firstViewDate=e.firstDate,this._lastViewDate=e.lastDate})}processKey(e){switch(e.which){case re.PageUp:this._service.focusMove(e.shiftKey?"y":"m",-1);break;case re.PageDown:this._service.focusMove(e.shiftKey?"y":"m",1);break;case re.End:this._service.focus(e.shiftKey?this._maxDate:this._lastViewDate);break;case re.Home:this._service.focus(e.shiftKey?this._minDate:this._firstViewDate);break;case re.ArrowLeft:this._service.focusMove("d",-1);break;case re.ArrowUp:this._service.focusMove("d",-this._calendar.getDaysPerWeek());break;case re.ArrowRight:this._service.focusMove("d",1);break;case re.ArrowDown:this._service.focusMove("d",this._calendar.getDaysPerWeek());break;case re.Enter:case re.Space:this._service.focusSelect();break;default:return}e.preventDefault(),e.stopPropagation()}}const ie=function(){var e={PREV:0,NEXT:1};return e[e.PREV]="PREV",e[e.NEXT]="NEXT",e}();let oe=(()=>{class e{constructor(){this.displayMonths=1,this.firstDayOfWeek=1,this.navigation="select",this.outsideDays="visible",this.showWeekdays=!0,this.showWeekNumbers=!1}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e},token:e,providedIn:"root"}),e})();function ae(){return new ce}let le=(()=>{class e{}return e.ngInjectableDef=Object(r.Pb)({factory:ae,token:e,providedIn:"root"}),e})();class ce extends le{fromModel(e){return e&&R(e.year)&&R(e.month)&&R(e.day)?{year:e.year,month:e.month,day:e.day}:null}toModel(e){return e&&R(e.year)&&R(e.month)&&R(e.day)?{year:e.year,month:e.month,day:e.day}:null}}class ue{constructor(e,t,n,s,i,o,a,l,c){this._keyMapService=e,this._service=t,this._calendar=n,this.i18n=s,this._cd=o,this._elementRef=a,this._ngbDateAdapter=l,this._ngZone=c,this._destroyed$=new m.a,this.navigate=new r.m,this.select=new r.m,this.onChange=e=>{},this.onTouched=()=>{},["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showWeekdays","showWeekNumbers","startDate"].forEach(e=>this[e]=i[e]),t.select$.pipe(E(this._destroyed$)).subscribe(e=>{this.select.emit(e)}),t.model$.pipe(E(this._destroyed$)).subscribe(e=>{const t=e.firstDate,n=this.model?this.model.firstDate:null;let r=!1;if(!t.equals(n)&&(this.navigate.emit({current:n?{year:n.year,month:n.month}:null,next:{year:t.year,month:t.month},preventDefault:()=>r=!0}),r&&null!==n))return void this._service.open(n);const s=e.selectedDate,i=e.focusDate,a=this.model?this.model.focusDate:null;this.model=e,Z(s,this._controlValue)&&(this._controlValue=s,this.onTouched(),this.onChange(this._ngbDateAdapter.toModel(s))),Z(i,a)&&a&&e.focusVisible&&this.focus(),o.markForCheck()})}focus(){this._ngZone.onStable.asObservable().pipe(Object(T.a)(1)).subscribe(()=>{const e=this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex="0"]');e&&e.focus()})}navigateTo(e){this._service.open(B.from(e?e.day?e:Object.assign({},e,{day:1}):null))}ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{const e=v(this._monthsEl.nativeElement,"focusin"),t=v(this._monthsEl.nativeElement,"focusout");Object(w.a)(e,t).pipe(Object(O.a)(({target:e,relatedTarget:t})=>!(M(e,"ngb-dp-day")&&M(t,"ngb-dp-day"))),E(this._destroyed$)).subscribe(({type:e})=>this._ngZone.run(()=>this._service.focusVisible="focusin"===e))})}ngOnDestroy(){this._destroyed$.next()}ngOnInit(){void 0===this.model&&(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays"].forEach(e=>this._service[e]=this[e]),this.navigateTo(this.startDate))}ngOnChanges(e){if(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays"].filter(t=>t in e).forEach(e=>this._service[e]=this[e]),"startDate"in e){const{currentValue:t,previousValue:n}=e.startDate;Y(n,t)&&this.navigateTo(this.startDate)}}onDateSelect(e){this._service.focus(e),this._service.select(e,{emitEvent:!0})}onKeyDown(e){this._keyMapService.processKey(e)}onNavigateDateSelect(e){this._service.open(e)}onNavigateEvent(e){switch(e){case ie.PREV:this._service.open(this._calendar.getPrev(this.model.firstDate,"m",1));break;case ie.NEXT:this._service.open(this._calendar.getNext(this.model.firstDate,"m",1))}}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this._service.disabled=e}writeValue(e){this._controlValue=B.from(this._ngbDateAdapter.fromModel(e)),this._service.select(this._controlValue)}}class he{constructor(e){this.i18n=e,this.select=new r.m}doSelect(e){e.context.disabled||e.hidden||this.select.emit(e.date)}}class de{constructor(e){this.i18n=e,this.navigation=ie,this.months=[],this.navigate=new r.m,this.select=new r.m}}"undefined"!=typeof navigator&&navigator.userAgent&&navigator;const fe=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function pe(e){const t=Array.from(e.querySelectorAll(fe)).filter(e=>-1!==e.tabIndex);return[t[0],t[t.length-1]]}const me=(e,t,n=!1)=>{const r=v(e,"focusin").pipe(E(t),Object(_.a)(e=>e.target));v(e,"keydown").pipe(E(t),Object(O.a)(e=>e.which===re.Tab),D(r)).subscribe(([t,n])=>{const[r,s]=pe(e);n!==r&&n!==e||!t.shiftKey||(s.focus(),t.preventDefault()),n!==s||t.shiftKey||(r.focus(),t.preventDefault())}),n&&v(e,"click").pipe(E(t),D(r),Object(_.a)(e=>e[1])).subscribe(e=>e.focus())};class ge{constructor(e){this.i18n=e}isMuted(){return!this.selected&&(this.date.month!==this.currentMonth||this.disabled)}}class ye{constructor(e){this.i18n=e,this.select=new r.m}changeMonth(e){this.select.emit(new B(this.date.year,I(e),1))}changeYear(e){this.select.emit(new B(I(e),this.date.month,1))}}class be{}class _e{}let ve=(()=>{class e{constructor(){this.backdrop=!0,this.keyboard=!0}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e},token:e,providedIn:"root"}),e})();class we{constructor(e,t,n){this.nodes=e,this.viewRef=t,this.componentRef=n}}const Ce=()=>{};let Se=(()=>{class e{constructor(e){this._document=e}compensate(){return this._isPresent()?this._adjustBody(this._getWidth()):Ce}_adjustBody(e){const t=this._document.body,n=t.style.paddingRight,r=parseFloat(window.getComputedStyle(t)["padding-right"]);return t.style["padding-right"]=`${r+e}px`,()=>t.style["padding-right"]=n}_isPresent(){const e=this._document.body.getBoundingClientRect();return e.left+e.right<window.innerWidth}_getWidth(){const e=this._document.createElement("div");e.className="modal-scrollbar-measure";const t=this._document.body;t.appendChild(e);const n=e.getBoundingClientRect().width-e.clientWidth;return t.removeChild(e),n}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e(Object(r.Qb)(f.c))},token:e,providedIn:"root"}),e})();class Ee{}class xe{close(e){}dismiss(e){}}class ke{constructor(e,t,n,r){this._windowCmptRef=e,this._contentRef=t,this._backdropCmptRef=n,this._beforeDismiss=r,e.instance.dismissEvent.subscribe(e=>{this.dismiss(e)}),this.result=new Promise((e,t)=>{this._resolve=e,this._reject=t}),this.result.then(null,()=>{})}get componentInstance(){if(this._contentRef.componentRef)return this._contentRef.componentRef.instance}close(e){this._windowCmptRef&&(this._resolve(e),this._removeModalElements())}_dismiss(e){this._reject(e),this._removeModalElements()}dismiss(e){if(this._windowCmptRef)if(this._beforeDismiss){const t=this._beforeDismiss();t&&t.then?t.then(t=>{!1!==t&&this._dismiss(e)},()=>{}):!1!==t&&this._dismiss(e)}else this._dismiss(e)}_removeModalElements(){const e=this._windowCmptRef.location.nativeElement;if(e.parentNode.removeChild(e),this._windowCmptRef.destroy(),this._backdropCmptRef){const e=this._backdropCmptRef.location.nativeElement;e.parentNode.removeChild(e),this._backdropCmptRef.destroy()}this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._backdropCmptRef=null,this._contentRef=null}}const Oe=function(){var e={BACKDROP_CLICK:0,ESC:1};return e[e.BACKDROP_CLICK]="BACKDROP_CLICK",e[e.ESC]="ESC",e}();class Te{constructor(e,t){this._document=e,this._elRef=t,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new r.m}backdropClick(e){!0===this.backdrop&&this._elRef.nativeElement===e.target&&this.dismiss(Oe.BACKDROP_CLICK)}escKey(e){this.keyboard&&!e.defaultPrevented&&this.dismiss(Oe.ESC)}dismiss(e){this.dismissEvent.emit(e)}ngOnInit(){this._elWithFocus=this._document.activeElement}ngAfterViewInit(){if(!this._elRef.nativeElement.contains(document.activeElement)){const e=this._elRef.nativeElement.querySelector("[ngbAutofocus]"),t=pe(this._elRef.nativeElement)[0];(e||t||this._elRef.nativeElement).focus()}}ngOnDestroy(){const e=this._document.body,t=this._elWithFocus;let n;(n=t&&t.focus&&e.contains(t)?t:e).focus(),this._elWithFocus=null}}let De=(()=>{class e{constructor(e,t,n,r,s){this._applicationRef=e,this._injector=t,this._document=n,this._scrollBar=r,this._rendererFactory=s,this._activeWindowCmptHasChanged=new m.a,this._ariaHiddenValues=new Map,this._backdropAttributes=["backdropClass"],this._modalRefs=[],this._windowAttributes=["ariaLabelledBy","backdrop","centered","keyboard","scrollable","size","windowClass"],this._windowCmpts=[],this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const e=this._windowCmpts[this._windowCmpts.length-1];me(e.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(e.location.nativeElement)}})}open(e,t,n,r){const s=j(r.container)?this._document.querySelector(r.container):this._document.body,i=this._rendererFactory.createRenderer(null,null),o=this._scrollBar.compensate(),a=()=>{this._modalRefs.length||(i.removeClass(this._document.body,"modal-open"),this._revertAriaHidden())};if(!s)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);const l=new xe,c=this._getContentRef(e,r.injector||t,n,l,r);let u=!1!==r.backdrop?this._attachBackdrop(e,s):null,h=this._attachWindowComponent(e,s,c),d=new ke(h,c,u,r.beforeDismiss);return this._registerModalRef(d),this._registerWindowCmpt(h),d.result.then(o,o),d.result.then(a,a),l.close=e=>{d.close(e)},l.dismiss=e=>{d.dismiss(e)},this._applyWindowOptions(h.instance,r),1===this._modalRefs.length&&i.addClass(this._document.body,"modal-open"),u&&u.instance&&this._applyBackdropOptions(u.instance,r),d}dismissAll(e){this._modalRefs.forEach(t=>t.dismiss(e))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(e,t){let n=e.resolveComponentFactory(Ee).create(this._injector);return this._applicationRef.attachView(n.hostView),t.appendChild(n.location.nativeElement),n}_attachWindowComponent(e,t,n){let r=e.resolveComponentFactory(Te).create(this._injector,n.nodes);return this._applicationRef.attachView(r.hostView),t.appendChild(r.location.nativeElement),r}_applyWindowOptions(e,t){this._windowAttributes.forEach(n=>{j(t[n])&&(e[n]=t[n])})}_applyBackdropOptions(e,t){this._backdropAttributes.forEach(n=>{j(t[n])&&(e[n]=t[n])})}_getContentRef(e,t,n,s,i){return n?n instanceof r.L?this._createFromTemplateRef(n,s):"string"==typeof n?this._createFromString(n):this._createFromComponent(e,t,n,s,i):new we([])}_createFromTemplateRef(e,t){const n=e.createEmbeddedView({$implicit:t,close(e){t.close(e)},dismiss(e){t.dismiss(e)}});return this._applicationRef.attachView(n),new we([n.rootNodes],n)}_createFromString(e){const t=this._document.createTextNode(`${e}`);return new we([[t]])}_createFromComponent(e,t,n,s,i){const o=e.resolveComponentFactory(n),a=r.q.create({providers:[{provide:xe,useValue:s}],parent:t}),l=o.create(a),c=l.location.nativeElement;return i.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new we([[c]],l.hostView,l)}_setAriaHidden(e){const t=e.parentElement;t&&e!==this._document.body&&(Array.from(t.children).forEach(t=>{t!==e&&"SCRIPT"!==t.nodeName&&(this._ariaHiddenValues.set(t,t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))}),this._setAriaHidden(t))}_revertAriaHidden(){this._ariaHiddenValues.forEach((e,t)=>{e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(e){const t=()=>{const t=this._modalRefs.indexOf(e);t>-1&&this._modalRefs.splice(t,1)};this._modalRefs.push(e),e.result.then(t,t)}_registerWindowCmpt(e){this._windowCmpts.push(e),this._activeWindowCmptHasChanged.next(),e.onDestroy(()=>{const t=this._windowCmpts.indexOf(e);t>-1&&(this._windowCmpts.splice(t,1),this._activeWindowCmptHasChanged.next())})}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e(Object(r.Qb)(r.g),Object(r.Qb)(r.n),Object(r.Qb)(f.c),Object(r.Qb)(Se),Object(r.Qb)(r.E))},token:e,providedIn:"root"}),e})(),Ae=(()=>{class e{constructor(e,t,n,r){this._moduleCFR=e,this._injector=t,this._modalStack=n,this._config=r}open(e,t={}){const n=Object.assign({},this._config,t);return this._modalStack.open(this._moduleCFR,this._injector,e,n)}dismissAll(e){this._modalStack.dismissAll(e)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return e.ngInjectableDef=Object(r.Pb)({factory:function(){return new e(Object(r.Qb)(r.j),Object(r.Qb)(r.n),Object(r.Qb)(De),Object(r.Qb)(ve))},token:e,providedIn:"root"}),e})();class Ne{}class Ie{}class Pe{isTitleTemplate(){return this.title instanceof r.L}}class Re{}class je{}class Me{}class Ve{}class Fe{}class Le{}class $e{}class Ue{}class He{constructor(){this.highlightClass="ngb-highlight"}ngOnChanges(e){const t=P(this.result),n=(Array.isArray(this.term)?this.term:[this.term]).map(e=>(function(t){return P(e).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")})()).filter(e=>e);this.parts=n.length?t.split(new RegExp(`(${n.join("|")})`,"gmi")):[t]}}class ze{constructor(){this.activeIdx=0,this.focusFirst=!0,this.formatter=P,this.selectEvent=new r.m,this.activeChangeEvent=new r.m}hasActive(){return this.activeIdx>-1&&this.activeIdx<this.results.length}getActive(){return this.results[this.activeIdx]}markActive(e){this.activeIdx=e,this._activeChanged()}next(){this.activeIdx===this.results.length-1?this.activeIdx=this.focusFirst?(this.activeIdx+1)%this.results.length:-1:this.activeIdx++,this._activeChanged()}prev(){this.activeIdx<0?this.activeIdx=this.results.length-1:0===this.activeIdx?this.activeIdx=this.focusFirst?this.results.length-1:-1:this.activeIdx--,this._activeChanged()}resetActive(){this.activeIdx=this.focusFirst?0:-1,this._activeChanged()}select(e){this.selectEvent.emit(e)}ngOnInit(){this.resetActive()}_activeChanged(){this.activeChangeEvent.emit(this.activeIdx>=0?this.id+"-"+this.activeIdx:void 0)}}class Be{}class qe{}var We=r.qb({encapsulation:2,styles:["ngb-alert{display:block}"],data:{}});function Ge(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,2,"button",[["aria-label","Close"],["class","close"],["type","button"]],null,[[null,"click"]],function(e,t,n){var r=!0;return"click"===t&&(r=!1!==e.component.closeHandler()&&r),r},null,null)),(e()(),r.sb(1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(e()(),r.Kb(-1,null,["\xd7"]))],null,null)}function Qe(e){return r.Lb(2,[r.Db(null,0),(e()(),r.hb(16777216,null,null,1,null,Ge)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null)],function(e,t){e(t,2,0,t.component.dismissible)},null)}function Ke(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-alert",[["class","alert"],["role","alert"]],[[2,"alert-dismissible",null]],null,null,Qe,We)),r.rb(1,638976,null,0,L,[F,r.D,r.k],null,null)],function(e,t){e(t,1,0)},function(e,t){e(t,0,0,r.Eb(t,1).dismissible)})}var Ze=r.ob("ngb-alert",L,Ke,{dismissible:"dismissible",type:"type"},{close:"close"},["*"]),Ye=r.qb({encapsulation:2,styles:["ngb-datepicker-month-view{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:-ms-flexbox;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default}"],data:{}});function Je(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,0,"div",[["class","ngb-dp-weekday ngb-dp-showweek"]],null,null,null,null,null))],null,null)}function Xe(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"div",[["class","ngb-dp-weekday small"]],null,null,null,null,null)),(e()(),r.Kb(1,null,[" "," "]))],null,function(e,t){e(t,1,0,t.component.i18n.getWeekdayShortName(t.context.$implicit))})}function et(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,4,"div",[["class","ngb-dp-week ngb-dp-weekdays bg-light"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,Je)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(16777216,null,null,1,null,Xe)),r.rb(4,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){var n=t.component;e(t,2,0,n.showWeekNumbers),e(t,4,0,n.month.weekdays)},null)}function tt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"div",[["class","ngb-dp-week-number small text-muted"]],null,null,null,null,null)),(e()(),r.Kb(1,null,["",""]))],null,function(e,t){e(t,1,0,t.component.i18n.getWeekNumerals(t.parent.parent.context.$implicit.number))})}function nt(e){return r.Lb(0,[(e()(),r.hb(0,null,null,0))],null,null)}function rt(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,nt)),r.rb(1,540672,null,0,f.o,[r.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(e()(),r.hb(0,null,null,0))],function(e,t){e(t,1,0,t.parent.context.$implicit.context,t.component.dayTemplate)},null)}function st(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,2,"div",[["class","ngb-dp-day"],["role","gridcell"]],[[2,"disabled",null],[8,"tabIndex",0],[2,"hidden",null],[2,"ngb-dp-today",null],[1,"aria-label",0]],[[null,"click"]],function(e,t,n){var r=!0;return"click"===t&&(r=!1!==e.component.doSelect(e.context.$implicit)&&r),r},null,null)),(e()(),r.hb(16777216,null,null,1,null,rt)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null)],function(e,t){e(t,2,0,!t.context.$implicit.hidden)},function(e,t){e(t,0,0,t.context.$implicit.context.disabled,t.context.$implicit.tabindex,t.context.$implicit.hidden,t.context.$implicit.context.today,t.context.$implicit.ariaLabel)})}function it(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,4,"div",[["class","ngb-dp-week"],["role","row"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,tt)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(16777216,null,null,1,null,st)),r.rb(4,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){e(t,2,0,t.component.showWeekNumbers),e(t,4,0,t.parent.context.$implicit.days)},null)}function ot(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,it)),r.rb(1,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(0,null,null,0))],function(e,t){e(t,1,0,!t.context.$implicit.collapsed)},null)}function at(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,et)),r.rb(1,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(16777216,null,null,1,null,ot)),r.rb(3,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){var n=t.component;e(t,1,0,n.showWeekdays),e(t,3,0,n.month.weeks)},null)}var lt=r.qb({encapsulation:2,styles:["[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:0 0}[ngbDatepickerDayView].outside{opacity:.5}"],data:{}});function ct(e){return r.Lb(2,[(e()(),r.Kb(0,null,["",""]))],null,function(e,t){var n=t.component;e(t,0,0,n.i18n.getDayNumerals(n.date))})}var ut=r.qb({encapsulation:2,styles:["ngb-datepicker-navigation{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.right .ngb-dp-navigation-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{-ms-flex-pack:end;justify-content:flex-end}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:-ms-flexbox;display:flex;-ms-flex:1 1 9rem;flex:1 1 9rem}"],data:{}});function ht(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-datepicker-navigation-select",[["class","ngb-dp-navigation-select"]],null,[[null,"select"]],function(e,t,n){var r=!0;return"select"===t&&(r=!1!==e.component.select.emit(n)&&r),r},vt,yt)),r.rb(1,49152,null,0,ye,[ee],{date:[0,"date"],disabled:[1,"disabled"],months:[2,"months"],years:[3,"years"]},{select:"select"})],function(e,t){var n=t.component;e(t,1,0,n.date,n.disabled,n.selectBoxes.months,n.selectBoxes.years)},null)}function dt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,0,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null))],null,null)}function ft(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,0,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null))],null,null)}function pt(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,dt)),r.rb(1,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.sb(2,0,null,null,1,"div",[["class","ngb-dp-month-name"]],null,null,null,null,null)),(e()(),r.Kb(3,null,[" "," "," "])),(e()(),r.hb(16777216,null,null,1,null,ft)),r.rb(5,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(0,null,null,0))],function(e,t){var n=t.component;e(t,1,0,t.context.index>0),e(t,5,0,t.context.index!==n.months.length-1)},function(e,t){var n=t.component;e(t,3,0,n.i18n.getMonthFullName(t.context.$implicit.number,t.context.$implicit.year),n.i18n.getYearNumerals(t.context.$implicit.year))})}function mt(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,pt)),r.rb(1,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null),(e()(),r.hb(0,null,null,0))],function(e,t){e(t,1,0,t.component.months)},null)}function gt(e){return r.Lb(2,[(e()(),r.sb(0,0,null,null,2,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null)),(e()(),r.sb(1,0,null,null,1,"button",[["aria-label","Previous month"],["class","btn btn-link ngb-dp-arrow-btn"],["title","Previous month"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(e,t,n){var r=!0,s=e.component;return"click"===t&&(r=!1!==s.navigate.emit(s.navigation.PREV)&&r),r},null,null)),(e()(),r.sb(2,0,null,null,0,"span",[["class","ngb-dp-navigation-chevron"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,ht)),r.rb(4,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.hb(16777216,null,null,1,null,mt)),r.rb(6,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.sb(7,0,null,null,2,"div",[["class","ngb-dp-arrow right"]],null,null,null,null,null)),(e()(),r.sb(8,0,null,null,1,"button",[["aria-label","Next month"],["class","btn btn-link ngb-dp-arrow-btn"],["title","Next month"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(e,t,n){var r=!0,s=e.component;return"click"===t&&(r=!1!==s.navigate.emit(s.navigation.NEXT)&&r),r},null,null)),(e()(),r.sb(9,0,null,null,0,"span",[["class","ngb-dp-navigation-chevron"]],null,null,null,null,null))],function(e,t){var n=t.component;e(t,4,0,n.showSelect),e(t,6,0,!n.showSelect)},function(e,t){var n=t.component;e(t,1,0,n.prevDisabled),e(t,8,0,n.nextDisabled)})}var yt=r.qb({encapsulation:2,styles:["ngb-datepicker-navigation-select>.custom-select{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}"],data:{}});function bt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,3,"option",[],[[1,"aria-label",0]],null,null,null,null)),r.rb(1,147456,null,0,p.i,[r.k,r.D,[8,null]],{value:[0,"value"]},null),r.rb(2,147456,null,0,p.n,[r.k,r.D,[8,null]],{value:[0,"value"]},null),(e()(),r.Kb(3,null,["",""]))],function(e,t){e(t,1,0,t.context.$implicit),e(t,2,0,t.context.$implicit)},function(e,t){var n=t.component;e(t,0,0,n.i18n.getMonthFullName(t.context.$implicit,null==n.date?null:n.date.year)),e(t,3,0,n.i18n.getMonthShortName(t.context.$implicit,null==n.date?null:n.date.year))})}function _t(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,3,"option",[],null,null,null,null,null)),r.rb(1,147456,null,0,p.i,[r.k,r.D,[8,null]],{value:[0,"value"]},null),r.rb(2,147456,null,0,p.n,[r.k,r.D,[8,null]],{value:[0,"value"]},null),(e()(),r.Kb(3,null,["",""]))],function(e,t){e(t,1,0,t.context.$implicit),e(t,2,0,t.context.$implicit)},function(e,t){e(t,3,0,t.component.i18n.getYearNumerals(t.context.$implicit))})}function vt(e){return r.Lb(2,[(e()(),r.sb(0,0,null,null,2,"select",[["aria-label","Select month"],["class","custom-select"],["title","Select month"]],[[8,"disabled",0],[8,"value",0]],[[null,"change"]],function(e,t,n){var r=!0;return"change"===t&&(r=!1!==e.component.changeMonth(n.target.value)&&r),r},null,null)),(e()(),r.hb(16777216,null,null,1,null,bt)),r.rb(2,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null),(e()(),r.sb(3,0,null,null,2,"select",[["aria-label","Select year"],["class","custom-select"],["title","Select year"]],[[8,"disabled",0],[8,"value",0]],[[null,"change"]],function(e,t,n){var r=!0;return"change"===t&&(r=!1!==e.component.changeYear(n.target.value)&&r),r},null,null)),(e()(),r.hb(16777216,null,null,1,null,_t)),r.rb(5,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){var n=t.component;e(t,2,0,n.months),e(t,5,0,n.years)},function(e,t){var n=t.component;e(t,0,0,n.disabled,null==n.date?null:n.date.month),e(t,3,0,n.disabled,null==n.date?null:n.date.year)})}var wt=r.qb({encapsulation:2,styles:["ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month-view{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa}.ngb-dp-months{display:-ms-flexbox;display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}"],data:{}});function Ct(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"div",[["class","btn-light"],["ngbDatepickerDayView",""]],[[2,"bg-primary",null],[2,"text-white",null],[2,"text-muted",null],[2,"outside",null],[2,"active",null]],null,null,ct,lt)),r.rb(1,49152,null,0,ge,[ee],{currentMonth:[0,"currentMonth"],date:[1,"date"],disabled:[2,"disabled"],focused:[3,"focused"],selected:[4,"selected"]},null)],function(e,t){e(t,1,0,t.context.currentMonth,t.context.date,t.context.disabled,t.context.focused,t.context.selected)},function(e,t){e(t,0,0,r.Eb(t,1).selected,r.Eb(t,1).selected,r.Eb(t,1).isMuted(),r.Eb(t,1).isMuted(),r.Eb(t,1).focused)})}function St(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-datepicker-navigation",[],null,[[null,"navigate"],[null,"select"]],function(e,t,n){var r=!0,s=e.component;return"navigate"===t&&(r=!1!==s.onNavigateEvent(n)&&r),"select"===t&&(r=!1!==s.onNavigateDateSelect(n)&&r),r},gt,ut)),r.rb(1,49152,null,0,de,[ee],{date:[0,"date"],disabled:[1,"disabled"],months:[2,"months"],showSelect:[3,"showSelect"],prevDisabled:[4,"prevDisabled"],nextDisabled:[5,"nextDisabled"],selectBoxes:[6,"selectBoxes"]},{navigate:"navigate",select:"select"})],function(e,t){var n=t.component;e(t,1,0,n.model.firstDate,n.model.disabled,n.model.months,"select"===n.model.navigation,n.model.prevDisabled,n.model.nextDisabled,n.model.selectBoxes)},null)}function Et(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"div",[["class","ngb-dp-month-name"]],null,null,null,null,null)),(e()(),r.Kb(1,null,[" "," "," "]))],null,function(e,t){var n=t.component;e(t,1,0,n.i18n.getMonthFullName(t.parent.context.$implicit.number,t.parent.context.$implicit.year),n.i18n.getYearNumerals(t.parent.context.$implicit.year))})}function xt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,4,"div",[["class","ngb-dp-month"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,Et)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.sb(3,0,null,null,1,"ngb-datepicker-month-view",[["role","grid"]],null,[[null,"select"]],function(e,t,n){var r=!0;return"select"===t&&(r=!1!==e.component.onDateSelect(n)&&r),r},at,Ye)),r.rb(4,49152,null,0,he,[ee],{dayTemplate:[0,"dayTemplate"],month:[1,"month"],showWeekdays:[2,"showWeekdays"],showWeekNumbers:[3,"showWeekNumbers"]},{select:"select"})],function(e,t){var n=t.component;e(t,2,0,"none"===n.navigation||n.displayMonths>1&&"select"===n.navigation),e(t,4,0,n.dayTemplate||r.Eb(t.parent,1),t.context.$implicit,n.showWeekdays,n.showWeekNumbers)},null)}function kt(e){return r.Lb(0,[(e()(),r.hb(0,null,null,0))],null,null)}function Ot(e){return r.Lb(2,[r.Ib(402653184,1,{_monthsEl:0}),(e()(),r.hb(0,[["dt",2]],null,0,null,Ct)),(e()(),r.sb(2,0,null,null,2,"div",[["class","ngb-dp-header"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,St)),r.rb(4,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.sb(5,0,[[1,0],["months",1]],null,2,"div",[["class","ngb-dp-months"]],null,[[null,"keydown"]],function(e,t,n){var r=!0;return"keydown"===t&&(r=!1!==e.component.onKeyDown(n)&&r),r},null,null)),(e()(),r.hb(16777216,null,null,1,null,xt)),r.rb(7,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null),(e()(),r.hb(16777216,null,null,1,null,kt)),r.rb(9,540672,null,0,f.o,[r.O],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],function(e,t){var n=t.component;e(t,4,0,"none"!==n.navigation),e(t,7,0,n.model.months),e(t,9,0,n.footerTemplate)},null)}function Tt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,4,"ngb-datepicker",[],null,null,null,Ot,wt)),r.Hb(5120,null,p.e,function(e){return[e]},[ue]),r.Hb(512,null,ne,ne,[Q,ee]),r.Hb(512,null,se,se,[ne,Q]),r.rb(4,4964352,null,0,ue,[se,ne,Q,ee,oe,r.h,r.k,le,r.y],null,null)],function(e,t){e(t,4,0)},null)}var Dt=r.ob("ngb-datepicker",ue,Tt,{dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",maxDate:"maxDate",minDate:"minDate",navigation:"navigation",outsideDays:"outsideDays",showWeekdays:"showWeekdays",showWeekNumbers:"showWeekNumbers",startDate:"startDate"},{navigate:"navigate",select:"select"},[]),At=r.qb({encapsulation:2,styles:["ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}"],data:{}});function Nt(e){return r.Lb(0,[(e()(),r.Kb(0,null,["",""]))],null,function(e,t){e(t,0,0,t.component.title)})}function It(e){return r.Lb(0,[(e()(),r.hb(0,null,null,0))],null,null)}function Pt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,3,"h3",[["class","popover-header"]],null,null,null,null,null)),(e()(),r.hb(0,[["simpleTitle",2]],null,0,null,Nt)),(e()(),r.hb(16777216,null,null,1,null,It)),r.rb(3,540672,null,0,f.o,[r.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null)],function(e,t){var n=t.component;e(t,3,0,n.context,n.isTitleTemplate()?n.title:r.Eb(t,1))},null)}function Rt(e){return r.Lb(2,[(e()(),r.sb(0,0,null,null,0,"div",[["class","arrow"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,Pt)),r.rb(2,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"]},null),(e()(),r.sb(3,0,null,null,1,"div",[["class","popover-body"]],null,null,null,null,null)),r.Db(null,0)],function(e,t){e(t,2,0,null!=t.component.title)},null)}function jt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-popover-window",[["role","tooltip"]],[[8,"className",0],[8,"id",0]],null,null,Rt,At)),r.rb(1,49152,null,0,Pe,[],null,null)],null,function(e,t){e(t,0,0,"popover"+(r.Eb(t,1).popoverClass?" "+r.Eb(t,1).popoverClass:""),r.Eb(t,1).id)})}var Mt=r.ob("ngb-popover-window",Pe,jt,{title:"title",id:"id",popoverClass:"popoverClass",context:"context"},{},["*"]),Vt=r.qb({encapsulation:2,styles:["ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}"],data:{}});function Ft(e){return r.Lb(2,[(e()(),r.sb(0,0,null,null,0,"div",[["class","arrow"]],null,null,null,null,null)),(e()(),r.sb(1,0,null,null,1,"div",[["class","tooltip-inner"]],null,null,null,null,null)),r.Db(null,0)],null,null)}function Lt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-tooltip-window",[["role","tooltip"]],[[8,"className",0],[8,"id",0]],null,null,Ft,Vt)),r.rb(1,49152,null,0,$e,[],null,null)],null,function(e,t){e(t,0,0,"tooltip show"+(r.Eb(t,1).tooltipClass?" "+r.Eb(t,1).tooltipClass:""),r.Eb(t,1).id)})}var $t=r.ob("ngb-tooltip-window",$e,Lt,{id:"id",tooltipClass:"tooltipClass"},{},["*"]),Ut=r.qb({encapsulation:2,styles:[],data:{}});function Ht(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-highlight",[],null,null,null,Jt,Qt)),r.rb(1,573440,null,0,He,[],{result:[0,"result"],term:[1,"term"]},null)],function(e,t){var n=t.context.formatter(t.context.result);e(t,1,0,n,t.context.term)},null)}function zt(e){return r.Lb(0,[(e()(),r.hb(0,null,null,0))],null,null)}function Bt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,3,"button",[["class","dropdown-item"],["role","option"],["type","button"]],[[8,"id",0],[2,"active",null]],[[null,"mouseenter"],[null,"click"]],function(e,t,n){var r=!0,s=e.component;return"mouseenter"===t&&(r=!1!==s.markActive(e.context.index)&&r),"click"===t&&(r=!1!==s.select(e.context.$implicit)&&r),r},null,null)),(e()(),r.hb(16777216,null,null,2,null,zt)),r.rb(2,540672,null,0,f.o,[r.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),r.Gb(3,{result:0,term:1,formatter:2})],function(e,t){var n=t.component,s=e(t,3,0,t.context.$implicit,n.term,n.formatter);e(t,2,0,s,n.resultTemplate||r.Eb(t.parent,0))},function(e,t){var n=t.component;e(t,0,0,n.id+"-"+t.context.index,t.context.index===n.activeIdx)})}function qt(e){return r.Lb(0,[(e()(),r.hb(0,[["rt",2]],null,0,null,Ht)),(e()(),r.hb(16777216,null,null,1,null,Bt)),r.rb(2,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){e(t,2,0,t.component.results)},null)}function Wt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-typeahead-window",[["class","dropdown-menu show"],["role","listbox"]],[[8,"id",0]],[[null,"mousedown"]],function(e,t,n){var r=!0;return"mousedown"===t&&(r=!1!==n.preventDefault()&&r),r},qt,Ut)),r.rb(1,114688,null,0,ze,[],null,null)],function(e,t){e(t,1,0)},function(e,t){e(t,0,0,r.Eb(t,1).id)})}var Gt=r.ob("ngb-typeahead-window",ze,Wt,{id:"id",focusFirst:"focusFirst",results:"results",term:"term",formatter:"formatter",resultTemplate:"resultTemplate"},{selectEvent:"select",activeChangeEvent:"activeChange"},[]),Qt=r.qb({encapsulation:2,styles:[".ngb-highlight{font-weight:700}"],data:{}});function Kt(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(e()(),r.Kb(1,null,["",""]))],null,function(e,t){e(t,0,0,t.component.highlightClass),e(t,1,0,t.parent.context.$implicit)})}function Zt(e){return r.Lb(0,[(e()(),r.Kb(0,null,["",""]))],null,function(e,t){e(t,0,0,t.parent.context.$implicit)})}function Yt(e){return r.Lb(0,[(e()(),r.hb(16777216,null,null,1,null,Kt)),r.rb(1,16384,null,0,f.k,[r.O,r.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(e()(),r.hb(0,[["even",2]],null,0,null,Zt))],function(e,t){e(t,1,0,t.context.odd,r.Eb(t,2))},null)}function Jt(e){return r.Lb(2,[(e()(),r.hb(16777216,null,null,1,null,Yt)),r.rb(1,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){e(t,1,0,t.component.parts)},null)}var Xt=r.qb({encapsulation:2,styles:[],data:{}});function en(e){return r.Lb(0,[],null,null)}function tn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-modal-backdrop",[["style","z-index: 1050"]],[[8,"className",0]],null,null,en,Xt)),r.rb(1,49152,null,0,Ee,[],null,null)],null,function(e,t){e(t,0,0,"modal-backdrop fade show"+(r.Eb(t,1).backdropClass?" "+r.Eb(t,1).backdropClass:""))})}var nn=r.ob("ngb-modal-backdrop",Ee,tn,{backdropClass:"backdropClass"},{},[]),rn=r.qb({encapsulation:2,styles:["ngb-modal-window .component-host-scrollable{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}"],data:{}});function sn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,2,"div",[["role","document"]],[[8,"className",0]],null,null,null,null)),(e()(),r.sb(1,0,null,null,1,"div",[["class","modal-content"]],null,null,null,null,null)),r.Db(null,0)],null,function(e,t){var n=t.component;e(t,0,0,"modal-dialog"+(n.size?" modal-"+n.size:"")+(n.centered?" modal-dialog-centered":"")+(n.scrollable?" modal-dialog-scrollable":""))})}function on(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"ngb-modal-window",[["role","dialog"],["tabindex","-1"]],[[8,"className",0],[1,"aria-modal",0],[1,"aria-labelledby",0]],[[null,"keyup.esc"],[null,"click"]],function(e,t,n){var s=!0;return"keyup.esc"===t&&(s=!1!==r.Eb(e,1).escKey(n)&&s),"click"===t&&(s=!1!==r.Eb(e,1).backdropClick(n)&&s),s},sn,rn)),r.rb(1,4440064,null,0,Te,[f.c,r.k],null,null)],function(e,t){e(t,1,0)},function(e,t){e(t,0,0,"modal fade show d-block"+(r.Eb(t,1).windowClass?" "+r.Eb(t,1).windowClass:""),!0,r.Eb(t,1).ariaLabelledBy)})}var an=r.ob("ngb-modal-window",Te,on,{ariaLabelledBy:"ariaLabelledBy",backdrop:"backdrop",centered:"centered",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass"},{dismissEvent:"dismiss"},["*"]);class ln{constructor(e){this.notificationService=e}ngOnInit(){}closeTopNotification(){this.notificationService.popMessage()}}var cn=n("OC8m"),un=r.qb({encapsulation:0,styles:[[".notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]{position:fixed;top:100px;right:-276px;width:300px;height:100px;padding:10px;color:#fff;border-left:20px solid #1a1358f0;background-color:rgba(0,0,0,.9);border-radius:6px;box-shadow:0 0 10px grey;-webkit-animation:3s notificationAnimation;animation:3s notificationAnimation}@-webkit-keyframes notificationAnimation{0%{right:-300px}20%,80%{right:10px}90%{right:30px}100%{right:-280px}}@keyframes notificationAnimation{0%{right:-300px}20%,80%{right:10px}90%{right:30px}100%{right:-280px}}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]:hover{right:0}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]   .close-button[_ngcontent-%COMP%]{font-size:16px;float:right;background-color:rgba(0,0,0,.7);color:#fff;border:1px solid #fff;border-radius:6px;padding:8px 10px}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]   .close-button[_ngcontent-%COMP%]:hover{background-color:#fff;color:#000;font-weight:700}"]],data:{}});function hn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,3,"div",[["class","notification"]],null,null,null,null,null)),(e()(),r.Kb(1,null,[" "," "])),(e()(),r.sb(2,0,null,null,1,"button",[["class","close-button"]],null,[[null,"click"]],function(e,t,n){var r=!0;return"click"===t&&(r=!1!==e.component.closeTopNotification()&&r),r},null,null)),(e()(),r.Kb(-1,null,[" X "]))],null,function(e,t){e(t,1,0,t.context.$implicit)})}function dn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,2,"div",[["class","notifications-wrapper"]],null,null,null,null,null)),(e()(),r.hb(16777216,null,null,1,null,hn)),r.rb(2,278528,null,0,f.j,[r.O,r.L,r.r],{ngForOf:[0,"ngForOf"]},null)],function(e,t){e(t,2,0,t.component.notificationService.messages)},null)}var fn=r.qb({encapsulation:0,styles:[[""]],data:{}});function pn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,2,"div",[["class","main-container"]],null,null,null,null,null)),(e()(),r.sb(1,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),r.rb(2,212992,null,0,a.n,[a.b,r.O,r.j,[8,null],r.h],null,null),(e()(),r.sb(3,0,null,null,1,"app-notification",[],null,null,null,dn,un)),r.rb(4,114688,null,0,ln,[cn.a],null,null)],function(e,t){e(t,2,0),e(t,4,0)},null)}function mn(e){return r.Lb(0,[(e()(),r.sb(0,0,null,null,1,"app-root",[],null,null,null,pn,fn)),r.rb(1,49152,null,0,i,[],null,null)],null,null)}var gn=r.ob("app-root",i,mn,{},{},[]),yn=n("cUpR"),bn=n("fDlF"),_n=n("omvX"),vn=n("GS7A");const wn=()=>Promise.all([n.e(1),n.e(7)]).then(n.bind(null,"0CzR")).then(e=>e.SortingAlgorithmsModuleNgFactory),Cn=()=>Promise.all([n.e(1),n.e(6)]).then(n.bind(null,"FvzE")).then(e=>e.GraphAlgorithmsModuleNgFactory);class Sn{}var En=r.pb(s,[i],function(e){return r.Bb([r.Cb(512,r.j,r.ab,[[8,[o.a,d,Ze,Dt,nn,an,Mt,$t,Gt,gn]],[3,r.j],r.w]),r.Cb(5120,r.t,r.mb,[[3,r.t]]),r.Cb(4608,f.m,f.l,[r.t,[2,f.E]]),r.Cb(5120,r.ib,r.nb,[r.y]),r.Cb(5120,r.c,r.jb,[]),r.Cb(5120,r.r,r.kb,[]),r.Cb(5120,r.s,r.lb,[]),r.Cb(4608,yn.b,yn.k,[f.c]),r.Cb(6144,r.G,null,[yn.b]),r.Cb(4608,yn.e,yn.g,[]),r.Cb(5120,yn.c,function(e,t,n,r,s,i,o,a){return[new yn.i(e,t,n),new yn.n(r),new yn.m(s,i,o,a)]},[f.c,r.y,r.A,f.c,f.c,yn.e,r.bb,[2,yn.f]]),r.Cb(4608,yn.d,yn.d,[yn.c,r.y]),r.Cb(135680,yn.l,yn.l,[f.c]),r.Cb(4608,yn.j,yn.j,[yn.d,yn.l,r.c]),r.Cb(5120,bn.a,_n.e,[]),r.Cb(5120,bn.c,_n.f,[]),r.Cb(4608,bn.b,_n.d,[f.c,bn.a,bn.c]),r.Cb(5120,r.E,_n.g,[yn.j,bn.b,r.y]),r.Cb(6144,yn.o,null,[yn.l]),r.Cb(4608,r.M,r.M,[r.y]),r.Cb(5120,a.a,a.x,[a.k]),r.Cb(4608,a.d,a.d,[]),r.Cb(6144,a.f,null,[a.d]),r.Cb(135680,a.o,a.o,[a.k,r.v,r.i,r.q,a.f]),r.Cb(4608,a.e,a.e,[]),r.Cb(5120,a.C,a.t,[a.k,f.s,a.g]),r.Cb(5120,a.h,a.A,[a.y]),r.Cb(5120,r.b,function(e){return[e]},[a.h]),r.Cb(4608,p.m,p.m,[]),r.Cb(4608,Ae,Ae,[r.j,r.q,De,ve]),r.Cb(4608,vn.b,_n.c,[r.E,f.c]),r.Cb(1073742336,f.b,f.b,[]),r.Cb(1024,r.l,yn.p,[]),r.Cb(1024,r.x,function(){return[a.s()]},[]),r.Cb(512,a.y,a.y,[r.q]),r.Cb(1024,r.d,function(e,t){return[yn.q(e),a.z(t)]},[[2,r.x],a.y]),r.Cb(512,r.e,r.e,[[2,r.d]]),r.Cb(131584,r.g,r.g,[r.y,r.bb,r.q,r.l,r.j,r.e]),r.Cb(1073742336,r.f,r.f,[r.g]),r.Cb(1073742336,yn.a,yn.a,[[3,yn.a]]),r.Cb(1024,a.r,a.v,[[3,a.k]]),r.Cb(512,a.q,a.c,[]),r.Cb(512,a.b,a.b,[]),r.Cb(256,a.g,{},[]),r.Cb(1024,f.h,a.u,[f.q,[2,f.a],a.g]),r.Cb(512,f.g,f.g,[f.h,f.q]),r.Cb(512,r.i,r.i,[]),r.Cb(512,r.v,r.J,[r.i,[2,r.K]]),r.Cb(1024,a.i,function(){return[[{path:"",component:l},{path:"sorting-algorithms",loadChildren:wn},{path:"graph-algorithms",loadChildren:Cn}]]},[]),r.Cb(1024,a.k,a.w,[r.g,a.q,a.b,f.g,r.q,r.v,r.i,a.i,a.g,[2,a.p],[2,a.j]]),r.Cb(1073742336,a.m,a.m,[[2,a.r],[2,a.k]]),r.Cb(1073742336,Sn,Sn,[]),r.Cb(1073742336,V,V,[]),r.Cb(1073742336,$,$,[]),r.Cb(1073742336,U,U,[]),r.Cb(1073742336,H,H,[]),r.Cb(1073742336,z,z,[]),r.Cb(1073742336,p.l,p.l,[]),r.Cb(1073742336,p.c,p.c,[]),r.Cb(1073742336,be,be,[]),r.Cb(1073742336,_e,_e,[]),r.Cb(1073742336,Ne,Ne,[]),r.Cb(1073742336,Ie,Ie,[]),r.Cb(1073742336,Re,Re,[]),r.Cb(1073742336,je,je,[]),r.Cb(1073742336,Me,Me,[]),r.Cb(1073742336,Ve,Ve,[]),r.Cb(1073742336,Fe,Fe,[]),r.Cb(1073742336,Le,Le,[]),r.Cb(1073742336,Ue,Ue,[]),r.Cb(1073742336,Be,Be,[]),r.Cb(1073742336,qe,qe,[]),r.Cb(1073742336,_n.b,_n.b,[]),r.Cb(1073742336,s,s,[]),r.Cb(256,r.Z,!0,[]),r.Cb(256,_n.a,"BrowserAnimations",[])])});Object(r.S)(),yn.h().bootstrapModuleFactory(En).catch(e=>console.error(e))},zn8P:function(e,t){function n(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id="zn8P"}},[[0,0]]]);
\ No newline at end of file
diff --git a/main-es5.dd9a2e78d1d4a71daa88.js b/main-es5.dd9a2e78d1d4a71daa88.js
new file mode 100644
index 0000000..295a95c
--- /dev/null
+++ b/main-es5.dd9a2e78d1d4a71daa88.js
@@ -0,0 +1 @@
+function t(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Date.prototype.toString.call(Reflect.construct(Date,[],function(){}));return true}catch(t){return false}}function e(r,i,o){if(t()){e=Reflect.construct}else{e=function t(e,r,i){var o=[null];o.push.apply(o,r);var a=Function.bind.apply(e,o);var s=new a;if(i)n(s,i.prototype);return s}}return e.apply(null,arguments)}function n(t,e){n=Object.setPrototypeOf||function t(e,n){e.__proto__=n;return e};return n(t,e)}function r(t){if(t===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}function o(t,e,n){if(e)i(t.prototype,e);if(n)i(t,n);return t}function a(t,e){t.prototype=Object.create(e.prototype);t.prototype.constructor=t;t.__proto__=e}(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{0:function t(e,n,r){e.exports=r("zUnb")},"0EUg":function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("bHdf");function o(){return Object(i.a)(1)}},"2QA8":function t(e,n,r){"use strict";r.d(n,"a",function(){return i});var i="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},"2Vo4":function t(e,n,r){"use strict";r.d(n,"a",function(){return u});var i=r("XNiG"),s=r("9ppp");var u=function(t){a(e,t);function e(e){var n;n=t.call(this)||this,n._value=e;return n}var n=e.prototype;n._subscribe=function e(n){var r=t.prototype._subscribe.call(this,n);return r&&!r.closed&&n.next(this._value),r};n.getValue=function t(){if(this.hasError)throw this.thrownError;if(this.closed)throw new s.a;return this._value};n.next=function e(n){t.prototype.next.call(this,this._value=n)};o(e,[{key:"value",get:function t(){return this.getValue()}}]);return e}(i.a)},"2fFW":function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=!1;var o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){var e=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+e.stack)}else i&&console.log("RxJS: Back to a better error behavior. Thank you. <3");i=t},get useDeprecatedSynchronousErrorHandling(){return i}}},"4I5i":function t(e,n,r){"use strict";function i(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}r.d(n,"a",function(){return o}),i.prototype=Object.create(Error.prototype);var o=i},"5+tZ":function t(e,n,r){"use strict";r.d(n,"a",function(){return c});var i=r("ZUHj"),o=r("l7GE"),s=r("51Dv"),u=r("lJxs"),l=r("Cfvw");function c(t,e,n){if(n===void 0){n=Number.POSITIVE_INFINITY}return"function"==typeof e?function(r){return r.pipe(c(function(n,r){return Object(l.a)(t(n,r)).pipe(Object(u.a)(function(t,i){return e(n,t,r,i)}))},n))}:("number"==typeof e&&(n=e),function(e){return e.lift(new f(t,n))})}var f=function(){function t(t,e){if(e===void 0){e=Number.POSITIVE_INFINITY}this.project=t,this.concurrent=e}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new h(e,this.project,this.concurrent))};return t}();var h=function(t){a(e,t);function e(e,n,r){var i;if(r===void 0){r=Number.POSITIVE_INFINITY}i=t.call(this,e)||this,i.project=n,i.concurrent=r,i.hasCompleted=!1,i.buffer=[],i.active=0,i.index=0;return i}var n=e.prototype;n._next=function t(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)};n._tryNext=function t(e){var n;var r=this.index++;try{n=this.project(e,r)}catch(i){return void this.destination.error(i)}this.active++,this._innerSub(n,e,r)};n._innerSub=function t(e,n,r){var o=new s.a(this,void 0,void 0);this.destination.add(o),Object(i.a)(this,e,n,r,o)};n._complete=function t(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()};n.notifyNext=function t(e,n,r,i,o){this.destination.next(n)};n.notifyComplete=function t(e){var n=this.buffer;this.remove(e),this.active--,n.length>0?this._next(n.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()};return e}(o.a)},"51Dv":function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("7o/Q");var o=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this)||this,i.parent=e,i.outerValue=n,i.outerIndex=r,i.index=0;return i}var n=e.prototype;n._next=function t(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)};n._error=function t(e){this.parent.notifyError(e,this),this.unsubscribe()};n._complete=function t(){this.parent.notifyComplete(this),this.unsubscribe()};return e}(i.a)},"7o/Q":function t(e,n,i){"use strict";i.d(n,"a",function(){return h});var o=i("n6bG"),s=i("gRHU"),u=i("quSY"),l=i("2QA8"),c=i("2fFW"),f=i("NJ4a");var h=function(t){a(e,t);function e(n,i,o){var a;switch(a=t.call(this)||this,a.syncErrorValue=null,a.syncErrorThrown=!1,a.syncErrorThrowable=!1,a.isStopped=!1,arguments.length){case 0:a.destination=s.a;break;case 1:if(!n){a.destination=s.a;break}if("object"==typeof n){n instanceof e?(a.syncErrorThrowable=n.syncErrorThrowable,a.destination=n,n.add(r(a))):(a.syncErrorThrowable=!0,a.destination=new d(r(a),n));break}default:a.syncErrorThrowable=!0,a.destination=new d(r(a),n,i,o)}return a}var n=e.prototype;n[l.a]=function(){return this};e.create=function t(n,r,i){var o=new e(n,r,i);return o.syncErrorThrowable=!1,o};n.next=function t(e){this.isStopped||this._next(e)};n.error=function t(e){this.isStopped||(this.isStopped=!0,this._error(e))};n.complete=function t(){this.isStopped||(this.isStopped=!0,this._complete())};n.unsubscribe=function e(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))};n._next=function t(e){this.destination.next(e)};n._error=function t(e){this.destination.error(e),this.unsubscribe()};n._complete=function t(){this.destination.complete(),this.unsubscribe()};n._unsubscribeAndRecycle=function t(){var e=this._parent,n=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=n,this};return e}(u.a);var d=function(t){a(e,t);function e(e,n,i,a){var u;var l;u=t.call(this)||this,u._parentSubscriber=e;var c=r(u);Object(o.a)(n)?l=n:n&&(l=n.next,i=n.error,a=n.complete,n!==s.a&&(c=Object.create(n),Object(o.a)(c.unsubscribe)&&u.add(c.unsubscribe.bind(c)),c.unsubscribe=u.unsubscribe.bind(r(u)))),u._context=c,u._next=l,u._error=i,u._complete=a;return u}var n=e.prototype;n.next=function t(e){if(!this.isStopped&&this._next){var n=this._parentSubscriber;c.a.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable?this.__tryOrSetError(n,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}};n.error=function t(e){if(!this.isStopped){var n=this._parentSubscriber,r=c.a.useDeprecatedSynchronousErrorHandling;if(this._error)r&&n.syncErrorThrowable?(this.__tryOrSetError(n,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(n.syncErrorThrowable)r?(n.syncErrorValue=e,n.syncErrorThrown=!0):Object(f.a)(e),this.unsubscribe();else{if(this.unsubscribe(),r)throw e;Object(f.a)(e)}}};n.complete=function t(){var e=this;if(!this.isStopped){var n=this._parentSubscriber;if(this._complete){var r=function t(){return e._complete.call(e._context)};c.a.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable?(this.__tryOrSetError(n,r),this.unsubscribe()):(this.__tryOrUnsub(r),this.unsubscribe())}else this.unsubscribe()}};n.__tryOrUnsub=function t(e,n){try{e.call(this._context,n)}catch(r){if(this.unsubscribe(),c.a.useDeprecatedSynchronousErrorHandling)throw r;Object(f.a)(r)}};n.__tryOrSetError=function t(e,n,r){if(!c.a.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{n.call(this._context,r)}catch(i){return c.a.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=i,e.syncErrorThrown=!0,!0):(Object(f.a)(i),!0)}return!1};n._unsubscribe=function t(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()};return e}(h)},"8Y7J":function t(n,r,i){"use strict";i.d(r,"kb",function(){return Ga}),i.d(r,"lb",function(){return Qa}),i.d(r,"mb",function(){return Ka}),i.d(r,"nb",function(){return Za}),i.d(r,"jb",function(){return Uo}),i.d(r,"ib",function(){return Eo}),i.d(r,"g",function(){return Aa}),i.d(r,"R",function(){return xa}),i.d(r,"x",function(){return ka}),i.d(r,"S",function(){return ye}),i.d(r,"W",function(){return ge}),i.d(r,"c",function(){return Lo}),i.d(r,"B",function(){return zo}),i.d(r,"A",function(){return Bo}),i.d(r,"b",function(){return qo}),i.d(r,"d",function(){return Vo}),i.d(r,"e",function(){return Fo}),i.d(r,"U",function(){return Ba}),i.d(r,"M",function(){return ma}),i.d(r,"Y",function(){return ba}),i.d(r,"t",function(){return Go}),i.d(r,"f",function(){return $a}),i.d(r,"m",function(){return Po}),i.d(r,"l",function(){return pe}),i.d(r,"G",function(){return ze}),i.d(r,"H",function(){return He}),i.d(r,"a",function(){return Tn}),i.d(r,"P",function(){return X}),i.d(r,"N",function(){return dr}),i.d(r,"Pb",function(){return _}),i.d(r,"T",function(){return k}),i.d(r,"q",function(){return bn}),i.d(r,"Qb",function(){return q}),i.d(r,"V",function(){return W}),i.d(r,"n",function(){return R}),i.d(r,"p",function(){return I}),i.d(r,"o",function(){return p}),i.d(r,"z",function(){return v}),i.d(r,"I",function(){return g}),i.d(r,"y",function(){return la}),i.d(r,"D",function(){return fr}),i.d(r,"E",function(){return lr}),i.d(r,"F",function(){return cr}),i.d(r,"i",function(){return Xo}),i.d(r,"j",function(){return nr}),i.d(r,"k",function(){return ar}),i.d(r,"u",function(){return Z}),i.d(r,"w",function(){return K}),i.d(r,"v",function(){return Ia}),i.d(r,"C",function(){return Mo}),i.d(r,"J",function(){return Va}),i.d(r,"K",function(){return ja}),i.d(r,"L",function(){return Ar}),i.d(r,"O",function(){return Ir}),i.d(r,"h",function(){return vn}),i.d(r,"r",function(){return kr}),i.d(r,"s",function(){return xr}),i.d(r,"Q",function(){return Pn}),i.d(r,"X",function(){return Wa}),i.d(r,"xb",function(){return jn}),i.d(r,"bb",function(){return Wo}),i.d(r,"Z",function(){return gn}),i.d(r,"ab",function(){return rr}),i.d(r,"eb",function(){return Le}),i.d(r,"fb",function(){return We}),i.d(r,"gb",function(){return Ce}),i.d(r,"vb",function(){return N}),i.d(r,"Ab",function(){return In}),i.d(r,"Jb",function(){return S}),i.d(r,"yb",function(){return Zn}),i.d(r,"zb",function(){return Kn}),i.d(r,"ub",function(){return Do}),i.d(r,"tb",function(){return Ao}),i.d(r,"cb",function(){return ko}),i.d(r,"db",function(){return xo}),i.d(r,"Ob",function(){return lt}),i.d(r,"Mb",function(){return Dn}),i.d(r,"Sb",function(){return Vn}),i.d(r,"Rb",function(){return Fn}),i.d(r,"Nb",function(){return Ln}),i.d(r,"Tb",function(){return zn}),i.d(r,"hb",function(){return Ya}),i.d(r,"ob",function(){return Vi}),i.d(r,"pb",function(){return wu}),i.d(r,"qb",function(){return $r}),i.d(r,"rb",function(){return so}),i.d(r,"sb",function(){return Ja}),i.d(r,"wb",function(){return Si}),i.d(r,"Bb",function(){return Ai}),i.d(r,"Cb",function(){return Di}),i.d(r,"Db",function(){return us}),i.d(r,"Eb",function(){return Ki}),i.d(r,"Hb",function(){return uo}),i.d(r,"Fb",function(){return cs}),i.d(r,"Gb",function(){return fs}),i.d(r,"Ib",function(){return rs}),i.d(r,"Kb",function(){return ds}),i.d(r,"Lb",function(){return ms});var s=i("XNiG"),u=i("quSY"),l=i("HDdC"),c=i("VRyK"),f=i("w1tV");var h="__parameters__";function d(t,n,r){var i=function(t){return function(){if(t){var e=t.apply(void 0,arguments);for(var n in e){this[n]=e[n]}}}}(n);function o(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}if(this instanceof o)return i.apply(this,n),this;var a=e(o,n);return s.annotation=a,s;function s(t,e,n){var r=t.hasOwnProperty(h)?t[h]:Object.defineProperty(t,h,{value:[]})[h];for(;r.length<=n;){r.push(null)}return(r[n]=r[n]||[]).push(a),t}}return r&&(o.prototype=Object.create(r.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o}var p=d("Inject",function(t){return{token:t}}),v=d("Optional"),m=d("Self"),g=d("SkipSelf");var y=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}({});function b(t){for(var e in t){if(t[e]===b)return e}throw Error("Could not find renamed property on target object.")}function _(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function w(t){var e=t[C];return e&&e.token===t?e:null}var C=b({ngInjectableDef:b});function S(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(S).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString();if(null==e)return""+e;var n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}var E=b({__forward_ref__:b});function k(t){return t.__forward_ref__=k,t.toString=function(){return S(this())},t}function x(t){var e=t;return"function"==typeof e&&e.hasOwnProperty(E)&&e.__forward_ref__===k?e():t}var O="undefined"!=typeof globalThis&&globalThis,T="undefined"!=typeof window&&window,D="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,A="undefined"!=typeof global&&global,N=O||A||T||D;var I=function(){function t(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.ngInjectableDef=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.ngInjectableDef=_({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}var e=t.prototype;e.toString=function t(){return"InjectionToken "+this._desc};return t}();var R=new I("INJECTOR",-1),P=new Object,j="ngTempTokenPath",M="ngTokenPath",V=/\n/gm,F="\u0275",L="__source",U=b({provide:String,useValue:b});var H,z=void 0;function B(t){var e=z;return z=t,e}function q(t,e){if(e===void 0){e=y.Default}return(H||function(t,e){if(e===void 0){e=y.Default}if(void 0===z)throw new Error("inject() must be called from an injection context");return null===z?function(t,e,n){var r=w(t);if(r&&"root"==r.providedIn)return void 0===r.value?r.value=r.factory():r.value;if(n&y.Optional)return null;throw new Error("Injector: NOT_FOUND ["+S(t)+"]")}(t,0,e):z.get(t,e&y.Optional?null:void 0,e)})(t,e)}var W=q;var G=function(){function t(){}var e=t.prototype;e.get=function t(e,n){if(n===void 0){n=P}if(n===P){var r=new Error("NullInjectorError: No provider for "+S(e)+"!");throw r.name="NullInjectorError",r}return n};return t}();function Q(t,e,n,r){if(r===void 0){r=null}t=t&&"\n"===t.charAt(0)&&t.charAt(1)==F?t.substr(2):t;var i=S(e);if(e instanceof Array)i=e.map(S).join(" -> ");else if("object"==typeof e){var o=[];for(var a in e){if(e.hasOwnProperty(a)){var s=e[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):S(s)))}}i="{"+o.join(", ")+"}"}return""+n+(r?"("+r+")":"")+"["+i+"]: "+t.replace(V,"\n  ")}var K=function t(){};var Z=function t(){};function $(t,e,n){e>=t.length?t.push(n):t.splice(e,0,n)}function Y(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}var J=function(){var t={OnPush:0,Default:1};return t[t.OnPush]="OnPush",t[t.Default]="Default",t}(),X=function(){var t={Emulated:0,Native:1,None:2,ShadowDom:3};return t[t.Emulated]="Emulated",t[t.Native]="Native",t[t.None]="None",t[t.ShadowDom]="ShadowDom",t}(),tt={},et=[],nt=b({ngComponentDef:b}),rt=b({ngDirectiveDef:b}),it=b({ngPipeDef:b});var ot=0;function at(t){return function(t){return t[nt]||null}(t)||function(t){return t[rt]||null}(t)}function st(t){return function(t){return t[it]||null}(t)}function ut(t,e){if(null==t)return tt;var n={};for(var r in t){if(t.hasOwnProperty(r)){var i=t[r],o=i;Array.isArray(i)&&(o=i[1],i=i[0]),n[i]=r,e&&(e[i]=o)}}return n}var lt=function t(e){var n=e.type,r=n.prototype,i={},o={type:n,providersResolver:null,consts:e.consts,vars:e.vars,factory:e.factory,template:e.template||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,contentQueries:e.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:e.exportAs||null,onChanges:null,onInit:r.ngOnInit||null,doCheck:r.ngDoCheck||null,afterContentInit:r.ngAfterContentInit||null,afterContentChecked:r.ngAfterContentChecked||null,afterViewInit:r.ngAfterViewInit||null,afterViewChecked:r.ngAfterViewChecked||null,onDestroy:r.ngOnDestroy||null,onPush:e.changeDetection===J.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||X.Emulated,id:"c",styles:e.styles||et,_:null,setInput:null,schemas:e.schemas||null,tView:null};return o._=""+{toString:function t(){var r=e.directives,a=e.features,s=e.pipes;o.id+=ot++,o.inputs=ut(e.inputs,i),o.outputs=ut(e.outputs),a&&a.forEach(function(t){return t(o)}),o.directiveDefs=r?function(){return("function"==typeof r?r():r).map(at)}:null,o.pipeDefs=s?function(){return("function"==typeof s?s():s).map(st)}:null,n.hasOwnProperty(C)||(n[C]=_({token:n,factory:e.factory}))}},o},ct=0,ft=1,ht=7,dt=12,pt=19;var vt=null;var mt=new Map;var gt=null;var yt=1,bt=0;function _t(t,e){return gt&&t===gt||(gt=t,e&&(vt=mt.get(t)||null),vt=vt||{classesBitMask:bt,classesIndex:yt,stylesBitMask:bt,stylesIndex:yt}),vt}function wt(t,e){return function(t){for(;Array.isArray(t);){t=t[ct]}return t}(e[t.index])}function Ct(t,e){return e[ft].data[t+pt]}var St=null;function Et(){return xt}var kt,xt,Ot,Tt=1,Dt=0,At=0,Nt=-1;function It(){return Nt}function Rt(){return Ot}var Pt=function(){return("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(N)}(),jt="--MAP--",Mt=0;function Vt(t,e){e===Mt?t[2]>Mt&&function(t){Lt(t,2|Ft(t))}(t):t[2]=e}function Ft(t){return t[1]}function Lt(t,e){t[1]=e}function Ut(t,e){return t[e+2]}function Ht(t,e){return 1&t[e+0]}function zt(t,e){return(1&Ht(t,e))>0}function Bt(t,e){return t[e+0]>>1}function qt(t,e,n){var r=Ht(t,e);t[e+0]=r|n<<1}function Wt(t,e){return t[e+1]}function Gt(t,e,n){return t[e+3+n]}function Qt(t,e){return!(!t||e!==t[2])}function Kt(t){return(1&Ft(t))>0}function Zt(t){return(2&Ft(t))>0}function $t(t){return 6+t[4]}function Yt(t,e){var n=Array.isArray(t)?t[0]:t,r=Array.isArray(e)?e[0]:e;return n instanceof String&&(n=n.toString()),r instanceof String&&(r=r.toString()),!(n!=n&&r!=r)&&n!==r}function Jt(t){return null!=t&&""!==t}function Xt(t,e,n){if(n===void 0){n=" "}return t+(e.length&&t.length?n:"")+e}function te(t){return t.replace(/[a-z][A-Z]/g,function(t){return t.charAt(0)+"-"+t.charAt(1)}).toLowerCase()}function ee(t){return ne(t)?t[0]:t}function ne(t){return Array.isArray(t)&&t.length>=6&&"string"!=typeof t[1]}function re(t,e){return t[e+0]}function ie(t,e,n){t[e+1]=n}function oe(t,e){return t[e+1]}var ae=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();function se(t){return!!t.listen}var ue="ngDebugContext",le="ngOriginalError",ce="ngErrorLogger";function fe(t){return t[ue]}function he(t){return t[le]}function de(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++){n[r-1]=arguments[r]}t.error.apply(t,n)}var pe=function(){function t(){this._console=console}var e=t.prototype;e.handleError=function t(e){var n=this._findOriginalError(e),r=this._findContext(e),i=function(t){return t[ce]||de}(e);i(this._console,"ERROR",e),n&&i(this._console,"ORIGINAL ERROR",n),r&&i(this._console,"ERROR CONTEXT",r)};e._findContext=function t(e){return e?fe(e)?fe(e):this._findContext(he(e)):null};e._findOriginalError=function t(e){var n=he(e);for(;n&&he(n);){n=he(n)}return n};return t}();var ve=!0,me=!1;function ge(){return me=!0,ve}function ye(){if(me)throw new Error("Cannot enable prod mode after platform setup.");ve=!1}var be=function(){function t(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),this.inertBodyElement=this.inertDocument.body,null==this.inertBodyElement){var e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e),this.inertBodyElement=this.inertDocument.createElement("body"),e.appendChild(this.inertBodyElement)}this.inertBodyElement.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',!this.inertBodyElement.querySelector||this.inertBodyElement.querySelector("svg")?(this.inertBodyElement.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',this.getInertBodyElement=this.inertBodyElement.querySelector&&this.inertBodyElement.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(t){return!1}}()?this.getInertBodyElement_DOMParser:this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}var e=t.prototype;e.getInertBodyElement_XHR=function t(e){e="<body><remove></remove>"+e+"</body>";try{e=encodeURI(e)}catch(i){return null}var n=new XMLHttpRequest;n.responseType="document",n.open("GET","data:text/html;charset=utf-8,"+e,!1),n.send(void 0);var r=n.response.body;return r.removeChild(r.firstChild),r};e.getInertBodyElement_DOMParser=function t(e){e="<body><remove></remove>"+e+"</body>";try{var n=(new window.DOMParser).parseFromString(e,"text/html").body;return n.removeChild(n.firstChild),n}catch(r){return null}};e.getInertBodyElement_InertDocument=function t(e){var n=this.inertDocument.createElement("template");return"content"in n?(n.innerHTML=e,n):(this.inertBodyElement.innerHTML=e,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(this.inertBodyElement),this.inertBodyElement)};e.stripCustomNsAttrs=function t(e){var n=e.attributes;for(var r=n.length-1;0<r;r--){var i=n.item(r).name;"xmlns:ns1"!==i&&0!==i.indexOf("ns1:")||e.removeAttribute(i)}var o=e.firstChild;for(;o;){o.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(o),o=o.nextSibling}};return t}();var _e=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,we=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Ce(t){return(t=String(t)).match(_e)||t.match(we)?t:(ge()&&console.warn("WARNING: sanitizing unsafe URL value "+t+" (see http://g.co/ng/security#xss)"),"unsafe:"+t)}function Se(t){var e={};for(var n=t.split(","),r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{i=n.next();if(i.done)break;o=i.value}var a=o;e[a]=!0}return e}function Ee(){var t={};for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}for(var i=0,o=n;i<o.length;i++){var a=o[i];for(var s in a){a.hasOwnProperty(s)&&(t[s]=!0)}}return t}var ke=Se("area,br,col,hr,img,wbr"),xe=Se("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Oe=Se("rp,rt"),Te=Ee(Oe,xe),De=Ee(ke,Ee(xe,Se("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Ee(Oe,Se("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Te),Ae=Se("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ne=Se("srcset"),Ie=Ee(Ae,Ne,Se("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Se("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Re=Se("script,style,template");var Pe=function(){function t(){this.sanitizedSomething=!1,this.buf=[]}var e=t.prototype;e.sanitizeChildren=function t(e){var n=e.firstChild,r=!0;for(;n;){if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);var i=this.checkClobberedElement(n,n.nextSibling);if(i){n=i;break}n=this.checkClobberedElement(n,n.parentNode)}}return this.buf.join("")};e.startElement=function t(e){var n=e.nodeName.toLowerCase();if(!De.hasOwnProperty(n))return this.sanitizedSomething=!0,!Re.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);var r=e.attributes;for(var i=0;i<r.length;i++){var o=r.item(i),a=o.name,s=a.toLowerCase();if(!Ie.hasOwnProperty(s)){this.sanitizedSomething=!0;continue}var u=o.value;Ae[s]&&(u=Ce(u)),Ne[s]&&(l=u,u=(l=String(l)).split(",").map(function(t){return Ce(t.trim())}).join(", ")),this.buf.push(" ",a,'="',Ve(u),'"')}var l;return this.buf.push(">"),!0};e.endElement=function t(e){var n=e.nodeName.toLowerCase();De.hasOwnProperty(n)&&!ke.hasOwnProperty(n)&&(this.buf.push("</"),this.buf.push(n),this.buf.push(">"))};e.chars=function t(e){this.buf.push(Ve(e))};e.checkClobberedElement=function t(e,n){if(n&&(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: "+e.outerHTML);return n};return t}();var je=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Me=/([^\#-~ |!])/g;function Ve(t){return t.replace(/&/g,"&amp;").replace(je,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Me,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}var Fe;function Le(t,e){var n=null;try{Fe=Fe||new be(t);var r=e?String(e):"";n=Fe.getInertBodyElement(r);var i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=n.innerHTML,n=Fe.getInertBodyElement(r)}while(r!==o);var a=new Pe,s=a.sanitizeChildren(Ue(n)||n);return ge()&&a.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n){var u=Ue(n)||n;for(;u.firstChild;){u.removeChild(u.firstChild)}}}}function Ue(t){return"content"in t&&function(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var He=function(){var t={NONE:0,HTML:1,STYLE:2,SCRIPT:3,URL:4,RESOURCE_URL:5};return t[t.NONE]="NONE",t[t.HTML]="HTML",t[t.STYLE]="STYLE",t[t.SCRIPT]="SCRIPT",t[t.URL]="URL",t[t.RESOURCE_URL]="RESOURCE_URL",t}();var ze=function t(){};var Be=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:calc|attr))\\([-0-9.%, #a-zA-Z]+\\))$","g"),qe=/^url\(([^)]+)\)$/;function We(t){if(!(t=String(t).trim()))return"";var e=t.match(qe);return e&&Ce(e[1])===e[1]||t.match(Be)&&function(t){var e=!0,n=!0;for(var r=0;r<t.length;r++){var i=t.charAt(r);"'"===i&&n?e=!e:'"'===i&&e&&(n=!n)}return e&&n}(t)?t:(ge()&&console.warn("WARNING: sanitizing unsafe style value "+t+" (see http://g.co/ng/security#xss)."),"unsafe")}var Ge=/([A-Z])/g;function Qe(t){try{return null!=t?t.toString().slice(0,30):t}catch(e){return"[ERROR] Exception while trying to serialize the value"}}var Ke=1,Ze=0,$e=null,Ye=1;var Je=[];function Xe(t,e,n,r,i,o,a,s,u){Kt(t)||(a?function(t,e,n,r,i){Je.unshift(t,e,n,r,i)}(t,n,r,i,u):(Je.length&&tn(),en(t,n,r,i,u)));var l=s||Yt(e[i],o);return l&&(e[i]=o),l}function tn(){var t=0;for(;t<Je.length;){en(Je[t++],Je[t++],Je[t++],Je[t++],Je[t++])}Je.length=0}function en(t,e,n,r,i){var o=!1;if(n){var a=!1,s=$t(t);for(;s<t.length;){var u=Wt(t,s),l=Ut(t,s);if(a=n<=l){n<l&&nn(t,s,n,i),rn(t,!1,s,r,e);break}s+=3+u}a||(nn(t,t.length,n,i),rn(t,!1,s,r,e),o=!0)}else rn(t,!0,3,r,e),o=!0;return o}function nn(t,e,n,r){t.splice(e,0,r?1:0,Ye,n,$e),qt(t,e,Ke)}function rn(t,e,n,r,i){var o=n+3;var a=o+Wt(t,n);if(e||a--,"number"==typeof r){for(var s=o;s<=a;s++){if(t[s]===r)return}t.splice(a,0,r),t[n+1]++,qt(t,n,Bt(t,n)|1<<i)}else null!==r&&null==t[a]&&(t[a]=r)}function on(t,e,n,r,i,o,a,s){return i&&r&&(function(t){if(!Kt(t)){var e=ee(t);e&&function(t,e){for(var n=1;n<e.length;n+=2){var r=oe(e,n);r&&en(t,-1,re(e,n),r,!1)}}(t,e),function(t){Lt(t,1|Ft(t))}(t)}}(r),function(t,e){return t&&e>bt}(r,o))?(function(t,e,n,r,i,o,a){var s=!0===(u=i)?-1:!1===u?0:u;var u;var l=an,c=(s&Bt(t,3))>0?1:0;var f=$t(t);for(;f<t.length;){var h=Wt(t,f);if(s&Bt(t,f)){var d=!1;var p=Ut(t,f),v=h-1,m=Gt(t,f,v);for(var g=0;g<v;g++){var y=Gt(t,f,g),b=r[y];if(Jt(b)){o(e,n,p,a&&zt(t,f)?a(p,b,2):b,y),d=!0;break}}if(l){var _=l(t,e,n,r,o,a,c|(d?4:2),p,m);d=d||_}d||o(e,n,p,m)}f+=3+h}l&&l(t,e,n,r,o,a,c)}(r,t,e,n,o,a,s),!0):i}var an=null;var sn=function t(e,n,r,i){var o=n.style;i?(i=i.toString(),e&&se(e)?e.setStyle(n,r,i,ae.DashCase):o&&o.setProperty(r,i)):e&&se(e)?e.removeStyle(n,r,ae.DashCase):o&&o.removeProperty(r)},un=function t(e,n,r,i){if(""!==r){var o=n.classList;i?e&&se(e)?e.addClass(n,r):o&&o.add(r):e&&se(e)?e.removeClass(n,r):o&&o.remove(r)}},ln={},cn=function t(e,n,r,i,o,a,s,u,l){var c=!1;if(Wt(e,3)){var f=!0;var h=!u;h&&-2&s&&(f=!1,c=!0),f&&(c=function t(e,n,r,i,o,a,s,u,l,c){var f=!1;if(l<Wt(e,3)){var h=Gt(e,3,l),d=i[h];var p=function(t){return t>=dn.length&&dn.push(1),dn[t]}(l);for(;p<d.length;){var v=re(d,p),m=u&&v>u,g=!m&&v===u,y=oe(d,p),b=Jt(y);var _=t(e,n,r,i,o,a,m?s:fn(s,b,g),m?u:v,l+1,c);if(m){f||(f=_);break}if(!_&&hn(s,g)){var w=g&&!b,C=w?c:y,S=w?h:null;o(n,r,v,a?a(v,C,3):C,S),_=!0}f=_&&g,p+=2}if(dn[l]=p,1===d.length||!u)return t(e,n,r,i,o,a,s,u,l+1,c)}return f}(e,n,r,i,o,a,s,u||null,0,l||null)),h&&function(){for(var t=0;t<dn.length;t++){dn[t]=1}}()}return c};function fn(t,e,n){var r=t;return e||4&t||!(n||1&t)?(r|=4,r&=-3):(r|=2,r&=-5),r}function hn(t,e){var n=(1&t)>0;return n?4&t&&e&&(n=!1):2&t&&(n=e),n}var dn=[];function pn(t,e,n,r){for(var i=1;i<t.length;i+=2){var o=re(t,i);if(e<=o){var a=!1;if(o===e){var s=t[i];!r&&Jt(s)||(a=!0,ie(t,i,n))}else a=!0,t.splice(i,0,e,n);return a}}return t.push(e,n),!0}var vn=function(){var t=function t(){};return t.__NG_ELEMENT_ID__=function(){return mn()},t}();var mn=function t(){},gn=new I("The presence of this token marks an injector as being the root injector."),yn=function t(e,n,r){return new kn(e,n,r)};var bn=function(){var t=function(){function t(){}t.create=function t(e,n){return Array.isArray(e)?yn(e,n,""):yn(e.providers,e.parent,e.name||"")};return t}();return t.THROW_IF_NOT_FOUND=P,t.NULL=new G,t.ngInjectableDef=_({token:t,providedIn:"any",factory:function t(){return q(R)}}),t.__NG_ELEMENT_ID__=-1,t}();var _n=function t(e){return e},wn=[],Cn=_n,Sn=function t(){return Array.prototype.slice.call(arguments)},En="\u0275";var kn=function(){function t(t,e,n){if(e===void 0){e=bn.NULL}if(n===void 0){n=null}this.parent=e,this.source=n;var r=this._records=new Map;r.set(bn,{token:bn,fn:_n,deps:wn,value:this,useNew:!1}),r.set(R,{token:R,fn:_n,deps:wn,value:this,useNew:!1}),function t(e,n){if(n)if((n=x(n))instanceof Array)for(var r=0;r<n.length;r++){t(e,n[r])}else{if("function"==typeof n)throw On("Function/Class not supported",n);if(!n||"object"!=typeof n||!n.provide)throw On("Unexpected provider",n);{var i=x(n.provide);var o=function(t){var e=function(t){var e=wn;var n=t.deps;if(n&&n.length){e=[];for(var r=0;r<n.length;r++){var i=6,o=x(n[r]);if(o instanceof Array)for(var a=0,s=o;a<s.length;a++){var u=s[a];u instanceof v||u==v?i|=1:u instanceof g||u==g?i&=-3:u instanceof m||u==m?i&=-5:o=u instanceof p?u.token:x(u)}e.push({token:o,options:i})}}else if(t.useExisting)e=[{token:x(t.useExisting),options:6}];else if(!(n||U in t))throw On("'deps' required",t);return e}(t);var n=_n,r=wn,i=!1,o=x(t.provide);if(U in t)r=t.useValue;else if(t.useFactory)n=t.useFactory;else if(t.useExisting);else if(t.useClass)i=!0,n=x(t.useClass);else{if("function"!=typeof o)throw On("StaticProvider does not have [useValue|useFactory|useExisting|useClass] or [provide] is not newable",t);i=!0,n=o}return{deps:e,fn:n,useNew:i,value:r}}(n);if(!0===n.multi){var a=e.get(i);if(a){if(a.fn!==Sn)throw xn(i)}else e.set(i,a={token:n.provide,deps:[],useNew:!1,fn:Sn,value:wn});a.deps.push({token:i=n,options:6})}var s=e.get(i);if(s&&s.fn==Sn)throw xn(i);e.set(i,o)}}}(r,t)}var n=t.prototype;n.get=function t(n,r,i){if(i===void 0){i=y.Default}var o=this._records.get(n);try{return function t(n,r,i,o,a,s){try{return function(n,r,i,o,a,s){var u;if(!r||s&y.SkipSelf)s&y.Self||(u=o.get(n,a,y.Default));else{if((u=r.value)==Cn)throw Error(En+"Circular dependency");if(u===wn){r.value=Cn;var l=void 0,c=r.useNew,f=r.fn,h=r.deps,d=wn;if(h.length){d=[];for(var p=0;p<h.length;p++){var v=h[p],m=v.options,g=2&m?i.get(v.token):void 0;d.push(t(v.token,g,i,g||4&m?o:bn.NULL,1&m?null:bn.THROW_IF_NOT_FOUND,y.Default))}}r.value=u=c?e(f,d):f.apply(l,d)}}return u}(n,r,i,o,a,s)}catch(u){throw u instanceof Error||(u=new Error(u)),(u[j]=u[j]||[]).unshift(n),r&&r.value==Cn&&(r.value=wn),u}}(n,o,this._records,this.parent,r,i)}catch(a){return function(t,e,n,r){var i=t[j];throw e[L]&&i.unshift(e[L]),t.message=Q("\n"+t.message,i,"StaticInjectorError",r),t[M]=i,t[j]=null,t}(a,n,0,this.source)}};n.toString=function t(){var e=[];return this._records.forEach(function(t,n){return e.push(S(n))}),"StaticInjector["+e.join(", ")+"]"};return t}();function xn(t){return On("Cannot mix multi providers and regular providers",t)}function On(t,e){return new Error(Q(t,e,"StaticInjectorError"))}var Tn=new I("AnalyzeForEntryComponents");function Dn(t){var e=Et(),n=e[ft];n.firstTemplatePass&&(function(t,e,n){var r=t.expandoInstructions,i=r.length;i>=2&&r[i-2]===e.hostBindings?r[i-1]=r[i-1]+n:r.push(e.hostBindings,n)}(n,St,t),function(t,e,n){for(var r=0;r<n;r++){e.push(ln),t.blueprint.push(ln),t.data.push(null)}}(n,e,t))}var An=null;function Nn(){if(!An){var t=N.Symbol;if(t&&t.iterator)An=t.iterator;else{var e=Object.getOwnPropertyNames(Map.prototype);for(var n=0;n<e.length;++n){var r=e[n];"entries"!==r&&"size"!==r&&Map.prototype[r]===Map.prototype.entries&&(An=r)}}}return An}function In(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function Rn(t,e){var n=jn(t),r=jn(e);if(n&&r)return function(t,e,n){var r=t[Nn()](),i=e[Nn()]();for(;;){var o=r.next(),a=i.next();if(o.done&&a.done)return!0;if(o.done||a.done)return!1;if(!n(o.value,a.value))return!1}}(t,e,Rn);{var i=t&&("object"==typeof t||"function"==typeof t),o=e&&("object"==typeof e||"function"==typeof e);return!(n||!i||r||!o)||In(t,e)}}var Pn=function(){function t(t){this.wrapped=t}t.wrap=function e(n){return new t(n)};t.unwrap=function e(n){return t.isWrapped(n)?n.wrapped:n};t.isWrapped=function e(n){return n instanceof t};return t}();function jn(t){return!!Mn(t)&&(Array.isArray(t)||!(t instanceof Map)&&Nn()in t)}function Mn(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Vn(){var t,e;Et()[ft].firstTemplatePass&&(t=kt,e=Bn(),Vt(Wn(t),e),Vt(qn(t),e))}function Fn(t){var e=It(),n=Et(),r=Ct(e,n),i=qn(r),o=Bn(),a=n[ht]++;!o&&function(t){return 0!=(16&t.flags)}(r)&&t!==ln&&(Hn(i,n,r,a,t,!1),t=ln),Un(e,i,a,t,!1,Qn())}function Ln(t){!function(t,e){var n=Et(),r=Ct(t,n),i=Wn(r),o=Bn(),a=n[ht]++;!o&&function(t){return 0!=(8&t.flags)}(r)&&e!==ln&&(Hn(i,n,r,a,e,!0),e=ln),Un(t,i,a,e,!0,Qn())}(It(),t)}function Un(t,e,n,r,i,o){an=cn;var a=Et();var s=!1;if(r!==ln){var u=wt(Ct(t,a),a),l=a[n];s=Yt(l,r);var c=function(t,e,n){var r=Array.isArray(t)?t:[null];r[0]=e||null;for(var i=1;i<r.length;i+=2){ie(r,i,null)}var o,a=null,s=!1;if("string"==typeof e?e.length&&(a=e.split(/\s+/),s=!0):(a=e?Object.keys(e):null,o=e),a)for(var u=0;u<a.length;u++){var l=a[u];pn(r,n?te(l):l,!!s||o[l],!0)}return r}(l,r,!i);i?function(t,e,n,r,i,o,a,s){var l=_t(u,Zt(t)),c=Ze;!Xe(t,e,c,null,i,o,a,s,!1)&&!s||(l.classesBitMask|=1<<c)}(e,a,0,0,n,c,o,s):function(t,e,n,r,i,o,a,s,u){var l=_t(n,Zt(t)),c=Ze;!Xe(t,e,c,null,i,o,s,u,!0)&&!u||(l.stylesBitMask|=1<<c)}(e,a,u,0,n,c,Rt(),o,s)}return s}function Hn(t,e,n,r,i,o){e[r]!==i&&((i||Kt(t))&&function(t,e,n){var r=t[ft];for(var i=0;i<e.length;){var o=e[i++],a=e[i++],s=e[i++],u=t[o],l=r.data[o];l.setInput?l.setInput(u,n,a,s):u[s]=n}}(e,n.inputs[o?"class":"style"],function(t,e,n){var r=e;var i;return t.length>0&&(r=n?Xt(t,((i=e)&&"string"!=typeof i&&(i=Object.keys(i).join(" ")),i||"")):Xt(t,function(t){var e="";if(t){var n=Object.keys(t);for(var r=0;r<n.length;r++){var i=n[r];e=Xt(e,i+":"+t[i],";")}}return e}(e),";")),r}(function(t){var e=ee(t);return e&&e[0]||""}(t),i,o)),e[r]=i)}function zn(){var t=It(),e=Et(),n=Ct(t,e),r=function(t,e){return 3===t.type?e[dt]:null}(n,e),i=wt(n,e),o=Bn(),a=Rt();(function(t,e,n,r,i,o,a){var s=n?Zt(n):!!r&&Zt(r),u=Qt(n,o),l=Qt(r,o);Je.length&&(u||l)&&tn();var c=_t(i,s),f=on(t,i,e,n,u,c.classesBitMask,un,null),h=on(t,i,e,r,l,c.stylesBitMask,sn,a);f&&h?(vt=null,gt=null,s&&function(t){mt.delete(t)}(i)):s&&function(t,e){mt.set(t,e)}(i,c)})(r,e,Wn(n),qn(n),i,o,a),Ot=null}function Bn(){return Tt+Dt}function qn(t){return Gn(t,!1)}function Wn(t){return Gn(t,!0)}function Gn(t,e){var n=e?t.classes:t.styles;return ne(n)||(n=[n||[""],0,Mt,1,0,jt],e?t.classes=n:t.styles=n),n}function Qn(){return At>0}function Kn(t){return!!t&&"function"==typeof t.then}function Zn(t){return!!t&&"function"==typeof t.subscribe}var $n=function(){function t(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}var e=t.prototype;e.isFirstChange=function t(){return this.firstChange};return t}();var Yn=function t(){};var Jn=function t(){};function Xn(t){var e=Error("No component factory found for "+S(t)+". Did you add it to @NgModule.entryComponents?");return e[tr]=t,e}var tr="ngComponent";var er=function(){function t(){}var e=t.prototype;e.resolveComponentFactory=function t(e){throw Xn(e)};return t}();var nr=function(){var t=function t(){};return t.NULL=new er,t}();var rr=function(){function t(t,e,n){this._parent=e,this._ngModule=n,this._factories=new Map;for(var r=0;r<t.length;r++){var i=t[r];this._factories.set(i.componentType,i)}}var e=t.prototype;e.resolveComponentFactory=function t(e){var n=this._factories.get(e);if(!n&&this._parent&&(n=this._parent.resolveComponentFactory(e)),!n)throw Xn(e);return new ir(n,this._ngModule)};return t}();var ir=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.factory=e,r.ngModule=n,r.selector=e.selector,r.componentType=e.componentType,r.ngContentSelectors=e.ngContentSelectors,r.inputs=e.inputs,r.outputs=e.outputs;return r}var n=e.prototype;n.create=function t(e,n,r,i){return this.factory.create(e,n,r,i||this.ngModule)};return e}(Jn);function or(){}var ar=function(){var t=function t(e){this.nativeElement=e};return t.__NG_ELEMENT_ID__=function(){return sr(t)},t}();var sr=or;var ur=function t(){};var lr=function t(){};var cr=function(){var t={Important:1,DashCase:2};return t[t.Important]="Important",t[t.DashCase]="DashCase",t}();var fr=function(){var t=function t(){};return t.__NG_ELEMENT_ID__=function(){return hr()},t}();var hr=or;var dr=function t(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")};var pr=new dr("8.2.4");var vr=function(){function t(){}var e=t.prototype;e.supports=function t(e){return jn(e)};e.create=function t(e){return new gr(e)};return t}();var mr=function t(e,n){return n};var gr=function(){function t(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||mr}var e=t.prototype;e.forEachItem=function t(e){var n;for(n=this._itHead;null!==n;n=n._next){e(n)}};e.forEachOperation=function t(e){var n=this._itHead,r=this._removalsHead,i=0,o=null;for(;n||r;){var a=!r||n&&n.currentIndex<wr(r,i,o)?n:r,s=wr(a,i,o),u=a.currentIndex;if(a===r)i--,r=r._nextRemoved;else if(n=n._next,null==a.previousIndex)i++;else{o||(o=[]);var l=s-i,c=u-i;if(l!=c){for(var f=0;f<l;f++){var h=f<o.length?o[f]:o[f]=0,d=h+f;c<=d&&d<l&&(o[f]=h+1)}o[a.previousIndex]=c-l}}s!==u&&e(a,s,u)}};e.forEachPreviousItem=function t(e){var n;for(n=this._previousItHead;null!==n;n=n._nextPrevious){e(n)}};e.forEachAddedItem=function t(e){var n;for(n=this._additionsHead;null!==n;n=n._nextAdded){e(n)}};e.forEachMovedItem=function t(e){var n;for(n=this._movesHead;null!==n;n=n._nextMoved){e(n)}};e.forEachRemovedItem=function t(e){var n;for(n=this._removalsHead;null!==n;n=n._nextRemoved){e(n)}};e.forEachIdentityChange=function t(e){var n;for(n=this._identityChangesHead;null!==n;n=n._nextIdentityChange){e(n)}};e.diff=function t(e){if(null==e&&(e=[]),!jn(e))throw new Error("Error trying to diff '"+S(e)+"'. Only arrays and iterables are allowed");return this.check(e)?this:null};e.onDestroy=function t(){};e.check=function t(e){var n=this;this._reset();var r,i,o,a=this._itHead,s=!1;if(Array.isArray(e)){this.length=e.length;for(var u=0;u<this.length;u++){o=this._trackByFn(u,i=e[u]),null!==a&&In(a.trackById,o)?(s&&(a=this._verifyReinsertion(a,i,o,u)),In(a.item,i)||this._addIdentityChange(a,i)):(a=this._mismatch(a,i,o,u),s=!0),a=a._next}}else r=0,function(t,e){if(Array.isArray(t))for(var n=0;n<t.length;n++){e(t[n])}else{var r=t[Nn()]();var i;for(;!(i=r.next()).done;){e(i.value)}}}(e,function(t){o=n._trackByFn(r,t),null!==a&&In(a.trackById,o)?(s&&(a=n._verifyReinsertion(a,t,o,r)),In(a.item,t)||n._addIdentityChange(a,t)):(a=n._mismatch(a,t,o,r),s=!0),a=a._next,r++}),this.length=r;return this._truncate(a),this.collection=e,this.isDirty};e._reset=function t(){if(this.isDirty){var e,n;for(e=this._previousItHead=this._itHead;null!==e;e=e._next){e._nextPrevious=e._next}for(e=this._additionsHead;null!==e;e=e._nextAdded){e.previousIndex=e.currentIndex}for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=n){e.previousIndex=e.currentIndex,n=e._nextMoved}this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}};e._mismatch=function t(e,n,r,i){var o;return null===e?o=this._itTail:(o=e._prev,this._remove(e)),null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(r,i))?(In(e.item,n)||this._addIdentityChange(e,n),this._moveAfter(e,o,i)):null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(In(e.item,n)||this._addIdentityChange(e,n),this._reinsertAfter(e,o,i)):e=this._addAfter(new yr(n,r),o,i),e};e._verifyReinsertion=function t(e,n,r,i){var o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==o?e=this._reinsertAfter(o,e._prev,i):e.currentIndex!=i&&(e.currentIndex=i,this._addToMoves(e,i)),e};e._truncate=function t(e){for(;null!==e;){var n=e._next;this._addToRemovals(this._unlink(e)),e=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)};e._reinsertAfter=function t(e,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);var i=e._prevRemoved,o=e._nextRemoved;return null===i?this._removalsHead=o:i._nextRemoved=o,null===o?this._removalsTail=i:o._prevRemoved=i,this._insertAfter(e,n,r),this._addToMoves(e,r),e};e._moveAfter=function t(e,n,r){return this._unlink(e),this._insertAfter(e,n,r),this._addToMoves(e,r),e};e._addAfter=function t(e,n,r){return this._insertAfter(e,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e};e._insertAfter=function t(e,n,r){var i=null===n?this._itHead:n._next;return e._next=i,e._prev=n,null===i?this._itTail=e:i._prev=e,null===n?this._itHead=e:n._next=e,null===this._linkedRecords&&(this._linkedRecords=new _r),this._linkedRecords.put(e),e.currentIndex=r,e};e._remove=function t(e){return this._addToRemovals(this._unlink(e))};e._unlink=function t(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);var n=e._prev,r=e._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,e};e._addToMoves=function t(e,n){return e.previousIndex===n?e:(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e,e)};e._addToRemovals=function t(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new _r),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e};e._addIdentityChange=function t(e,n){return e.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e};o(t,[{key:"isDirty",get:function t(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}}]);return t}();var yr=function t(e,n){this.item=e,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null};var br=function(){function t(){this._head=null,this._tail=null}var e=t.prototype;e.add=function t(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)};e.get=function t(e,n){var r;for(r=this._head;null!==r;r=r._nextDup){if((null===n||n<=r.currentIndex)&&In(r.trackById,e))return r}return null};e.remove=function t(e){var n=e._prevDup,r=e._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head};return t}();var _r=function(){function t(){this.map=new Map}var e=t.prototype;e.put=function t(e){var n=e.trackById;var r=this.map.get(n);r||(r=new br,this.map.set(n,r)),r.add(e)};e.get=function t(e,n){var r=this.map.get(e);return r?r.get(e,n):null};e.remove=function t(e){var n=e.trackById;return this.map.get(n).remove(e)&&this.map.delete(n),e};e.clear=function t(){this.map.clear()};o(t,[{key:"isEmpty",get:function t(){return 0===this.map.size}}]);return t}();function wr(t,e,n){var r=t.previousIndex;if(null===r)return r;var i=0;return n&&r<n.length&&(i=n[r]),r+e+i}var Cr=function(){function t(){}var e=t.prototype;e.supports=function t(e){return e instanceof Map||Mn(e)};e.create=function t(){return new Sr};return t}();var Sr=function(){function t(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}var e=t.prototype;e.forEachItem=function t(e){var n;for(n=this._mapHead;null!==n;n=n._next){e(n)}};e.forEachPreviousItem=function t(e){var n;for(n=this._previousMapHead;null!==n;n=n._nextPrevious){e(n)}};e.forEachChangedItem=function t(e){var n;for(n=this._changesHead;null!==n;n=n._nextChanged){e(n)}};e.forEachAddedItem=function t(e){var n;for(n=this._additionsHead;null!==n;n=n._nextAdded){e(n)}};e.forEachRemovedItem=function t(e){var n;for(n=this._removalsHead;null!==n;n=n._nextRemoved){e(n)}};e.diff=function t(e){if(e){if(!(e instanceof Map||Mn(e)))throw new Error("Error trying to diff '"+S(e)+"'. Only maps and objects are allowed")}else e=new Map;return this.check(e)?this:null};e.onDestroy=function t(){};e.check=function t(e){var n=this;this._reset();var r=this._mapHead;if(this._appendAfter=null,this._forEach(e,function(t,e){if(r&&r.key===e)n._maybeAddToChanges(r,t),n._appendAfter=r,r=r._next;else{var i=n._getOrCreateRecordForKey(e,t);r=n._insertBeforeOrAppend(r,i)}}),r){r._prev&&(r._prev._next=null),this._removalsHead=r;for(var i=r;null!==i;i=i._nextRemoved){i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty};e._insertBeforeOrAppend=function t(e,n){if(e){var r=e._prev;return n._next=e,n._prev=r,e._prev=n,r&&(r._next=n),e===this._mapHead&&(this._mapHead=n),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null};e._getOrCreateRecordForKey=function t(e,n){if(this._records.has(e)){var r=this._records.get(e);this._maybeAddToChanges(r,n);var i=r._prev,o=r._next;return i&&(i._next=o),o&&(o._prev=i),r._next=null,r._prev=null,r}var a=new Er(e);return this._records.set(e,a),a.currentValue=n,this._addToAdditions(a),a};e._reset=function t(){if(this.isDirty){var e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next){e._nextPrevious=e._next}for(e=this._changesHead;null!==e;e=e._nextChanged){e.previousValue=e.currentValue}for(e=this._additionsHead;null!=e;e=e._nextAdded){e.previousValue=e.currentValue}this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}};e._maybeAddToChanges=function t(e,n){In(n,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=n,this._addToChanges(e))};e._addToAdditions=function t(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)};e._addToChanges=function t(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)};e._forEach=function t(e,n){e instanceof Map?e.forEach(n):Object.keys(e).forEach(function(t){return n(e[t],t)})};o(t,[{key:"isDirty",get:function t(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}}]);return t}();var Er=function t(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null};var kr=function(){var t=function(){function t(t){this.factories=t}t.create=function e(n,r){if(null!=r){var i=r.factories.slice();n=n.concat(i)}return new t(n)};t.extend=function e(n){return{provide:t,useFactory:function e(r){if(!r)throw new Error("Cannot extend IterableDiffers without a parent injector");return t.create(n,r)},deps:[[t,new g,new v]]}};var e=t.prototype;e.find=function t(e){var n=this.factories.find(function(t){return t.supports(e)});if(null!=n)return n;throw new Error("Cannot find a differ supporting object '"+e+"' of type '"+(r=e,r.name||typeof r)+"'");var r};return t}();return t.ngInjectableDef=_({token:t,providedIn:"root",factory:function e(){return new t([new vr])}}),t}(),xr=function(){var t=function(){function t(t){this.factories=t}t.create=function e(n,r){if(r){var i=r.factories.slice();n=n.concat(i)}return new t(n)};t.extend=function e(n){return{provide:t,useFactory:function e(r){if(!r)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return t.create(n,r)},deps:[[t,new g,new v]]}};var e=t.prototype;e.find=function t(e){var n=this.factories.find(function(t){return t.supports(e)});if(n)return n;throw new Error("Cannot find a differ supporting object '"+e+"'")};return t}();return t.ngInjectableDef=_({token:t,providedIn:"root",factory:function e(){return new t([new Cr])}}),t}();var Or=[new Cr],Tr=new kr([new vr]),Dr=new xr(Or);var Ar=function(){var t=function t(){};return t.__NG_ELEMENT_ID__=function(){return Nr(t,ar)},t}();var Nr=or;var Ir=function(){var t=function t(){};return t.__NG_ELEMENT_ID__=function(){return Rr(t,ar)},t}();var Rr=or;function Pr(t,e,n,r){var i="ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: '"+e+"'. Current value: '"+n+"'.";return r&&(i+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),function(t,e){var n=new Error(t);return jr(n,e),n}(i,t)}function jr(t,e){t[ue]=e,t[ce]=e.logError.bind(e)}function Mr(t){return new Error("ViewDestroyedError: Attempt to use a destroyed view: "+t)}function Vr(t,e,n){var r=t.state,i=1792&r;return i===e?(t.state=-1793&r|n,t.initIndex=-1,!0):i===n}function Fr(t,e,n){return(1792&t.state)===e&&t.initIndex<=n&&(t.initIndex=n+1,!0)}function Lr(t,e){return t.nodes[e]}function Ur(t,e){return t.nodes[e]}function Hr(t,e){return t.nodes[e]}function zr(t,e){return t.nodes[e]}function Br(t,e){return t.nodes[e]}var qr={setCurrentNode:void 0,createRootView:void 0,createEmbeddedView:void 0,createComponentView:void 0,createNgModuleRef:void 0,overrideProvider:void 0,overrideComponentView:void 0,clearOverrides:void 0,checkAndUpdateView:void 0,checkNoChangesView:void 0,destroyView:void 0,resolveDep:void 0,createDebugContext:void 0,handleEvent:void 0,updateDirectives:void 0,updateRenderer:void 0,dirtyParentQueries:void 0},Wr=function t(){},Gr=new Map;function Qr(t){var e=Gr.get(t);return e||(e=S(t)+"_"+Gr.size,Gr.set(t,e)),e}var Kr="$$undefined",Zr="$$empty";function $r(t){return{id:Kr,styles:t.styles,encapsulation:t.encapsulation,data:t.data}}var Yr=0;function Jr(t,e,n,r){return!(!(2&t.state)&&In(t.oldValues[e.bindingIndex+n],r))}function Xr(t,e,n,r){return!!Jr(t,e,n,r)&&(t.oldValues[e.bindingIndex+n]=r,!0)}function ti(t,e,n,r){var i=t.oldValues[e.bindingIndex+n];if(1&t.state||!Rn(i,r)){var o=e.bindings[n].name;throw Pr(qr.createDebugContext(t,e.nodeIndex),o+": "+i,o+": "+r,0!=(1&t.state))}}function ei(t){var e=t;for(;e;){2&e.def.flags&&(e.state|=8),e=e.viewContainerParent||e.parent}}function ni(t,e){var n=t;for(;n&&n!==e;){n.state|=64,n=n.viewContainerParent||n.parent}}function ri(t,e,n,r){try{return ei(33554432&t.def.nodes[e].flags?Ur(t,e).componentView:t),qr.handleEvent(t,e,n,r)}catch(i){t.root.errorHandler.handleError(i)}}function ii(t){return t.parent?Ur(t.parent,t.parentNodeDef.nodeIndex):null}function oi(t){return t.parent?t.parentNodeDef.parent:null}function ai(t,e){switch(201347067&e.flags){case 1:return Ur(t,e.nodeIndex).renderElement;case 2:return Lr(t,e.nodeIndex).renderText}}function si(t){return!!t.parent&&!!(32768&t.parentNodeDef.flags)}function ui(t){return!(!t.parent||32768&t.parentNodeDef.flags)}function li(t){return 1<<t%32}function ci(t){var e={};var n=0;var r={};return t&&t.forEach(function(t){var i=t[0],o=t[1];"number"==typeof i?(e[i]=o,n|=li(i)):r[i]=o}),{matchedQueries:e,references:r,matchedQueryIds:n}}function fi(t,e){return t.map(function(t){var n;var r,i;return Array.isArray(t)?(n=t,i=n[0],r=n[1],n):(i=0,r=t),r&&("function"==typeof r||"object"==typeof r)&&e&&Object.defineProperty(r,L,{value:e,configurable:!0}),{flags:i,token:r,tokenKey:Qr(r)}})}function hi(t,e,n){var r=n.renderParent;return r?0==(1&r.flags)||0==(33554432&r.flags)||r.element.componentRendererType&&r.element.componentRendererType.encapsulation===X.Native?Ur(t,n.renderParent.nodeIndex).renderElement:void 0:e}var di=new WeakMap;function pi(t){var e=di.get(t);return e||((e=t(function(){return Wr})).factory=t,di.set(t,e)),e}function vi(t,e,n,r,i){3===e&&(n=t.renderer.parentNode(ai(t,t.def.lastRenderRootNode))),mi(t,e,0,t.def.nodes.length-1,n,r,i)}function mi(t,e,n,r,i,o,a){for(var s=n;s<=r;s++){var u=t.def.nodes[s];11&u.flags&&yi(t,u,e,i,o,a),s+=u.childCount}}function gi(t,e,n,r,i,o){var a=t;for(;a&&!si(a);){a=a.parent}var s=a.parent,u=oi(a),l=u.nodeIndex+u.childCount;for(var c=u.nodeIndex+1;c<=l;c++){var f=s.def.nodes[c];f.ngContentIndex===e&&yi(s,f,n,r,i,o),c+=f.childCount}if(!s.parent){var h=t.root.projectableNodes[e];if(h)for(var d=0;d<h.length;d++){bi(t,h[d],n,r,i,o)}}}function yi(t,e,n,r,i,o){if(8&e.flags)gi(t,e.ngContent.index,n,r,i,o);else{var a=ai(t,e);if(3===n&&33554432&e.flags&&48&e.bindingFlags?(16&e.bindingFlags&&bi(t,a,n,r,i,o),32&e.bindingFlags&&bi(Ur(t,e.nodeIndex).componentView,a,n,r,i,o)):bi(t,a,n,r,i,o),16777216&e.flags){var s=Ur(t,e.nodeIndex).viewContainer._embeddedViews;for(var u=0;u<s.length;u++){vi(s[u],n,r,i,o)}}1&e.flags&&!e.element.name&&mi(t,n,e.nodeIndex+1,e.nodeIndex+e.childCount,r,i,o)}}function bi(t,e,n,r,i,o){var a=t.renderer;switch(n){case 1:a.appendChild(r,e);break;case 2:a.insertBefore(r,e,i);break;case 3:a.removeChild(r,e);break;case 0:o.push(e)}}var _i=/^:([^:]+):(.+)$/;function wi(t){if(":"===t[0]){var e=t.match(_i);return[e[1],e[2]]}return["",t]}function Ci(t){var e=0;for(var n=0;n<t.length;n++){e|=t[n].flags}return e}function Si(t,e,n,r,i,o,a,s,u,l,c,f,h,d,p,v,m,g,y,b){switch(t){case 1:return e+Ei(n)+r;case 2:return e+Ei(n)+r+Ei(i)+o;case 3:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s;case 4:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l;case 5:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l+Ei(c)+f;case 6:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l+Ei(c)+f+Ei(h)+d;case 7:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l+Ei(c)+f+Ei(h)+d+Ei(p)+v;case 8:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l+Ei(c)+f+Ei(h)+d+Ei(p)+v+Ei(m)+g;case 9:return e+Ei(n)+r+Ei(i)+o+Ei(a)+s+Ei(u)+l+Ei(c)+f+Ei(h)+d+Ei(p)+v+Ei(m)+g+Ei(y)+b;default:throw new Error("Does not support more than 9 expressions")}}function Ei(t){return null!=t?t.toString():""}var ki=new Object,xi=Qr(bn),Oi=Qr(R),Ti=Qr(K);function Di(t,e,n,r){return n=x(n),{index:-1,deps:fi(r,S(e)),flags:t,token:e,value:n}}function Ai(t){var e={},n=[];var r=!1;for(var i=0;i<t.length;i++){var o=t[i];o.token===gn&&!0===o.value&&(r=!0),1073741824&o.flags&&n.push(o.token),o.index=i,e[Qr(o.token)]=o}return{factory:null,providersByKey:e,providers:t,modules:n,isRoot:r}}function Ni(t,e,n){if(n===void 0){n=bn.THROW_IF_NOT_FOUND}var r=B(t);try{if(8&e.flags)return e.token;if(2&e.flags&&(n=null),1&e.flags)return t._parent.get(e.token,n);var i=e.tokenKey;switch(i){case xi:case Oi:case Ti:return t}var o=t._def.providersByKey[i];var a;if(o){var s=t._providers[o.index];return void 0===s&&(s=t._providers[o.index]=Ii(t,o)),s===ki?void 0:s}if((a=w(e.token))&&(l=t,null!=(c=a).providedIn&&(function(t,e){return t._def.modules.indexOf(c.providedIn)>-1}(l)||"root"===c.providedIn&&l._def.isRoot))){var u=t._providers.length;return t._def.providers[u]=t._def.providersByKey[e.tokenKey]={flags:5120,value:a.factory,deps:[],index:u,token:e.token},t._providers[u]=ki,t._providers[u]=Ii(t,t._def.providersByKey[e.tokenKey])}return 4&e.flags?n:t._parent.get(e.token,n)}finally{B(r)}var l,c}function Ii(t,n){var r;switch(201347067&n.flags){case 512:r=function(t,n,r){var i=r.length;switch(i){case 0:return new n;case 1:return new n(Ni(t,r[0]));case 2:return new n(Ni(t,r[0]),Ni(t,r[1]));case 3:return new n(Ni(t,r[0]),Ni(t,r[1]),Ni(t,r[2]));default:var o=new Array(i);for(var a=0;a<i;a++){o[a]=Ni(t,r[a])}return e(n,o)}}(t,n.value,n.deps);break;case 1024:r=function(t,e,n){var r=n.length;switch(r){case 0:return e();case 1:return e(Ni(t,n[0]));case 2:return e(Ni(t,n[0]),Ni(t,n[1]));case 3:return e(Ni(t,n[0]),Ni(t,n[1]),Ni(t,n[2]));default:var i=Array(r);for(var o=0;o<r;o++){i[o]=Ni(t,n[o])}return e.apply(void 0,i)}}(t,n.value,n.deps);break;case 2048:r=Ni(t,n.deps[0]);break;case 256:r=n.value}return r===ki||null===r||"object"!=typeof r||131072&n.flags||"function"!=typeof r.ngOnDestroy||(n.flags|=131072),void 0===r?ki:r}function Ri(t,e){var n=t.viewContainer._embeddedViews;if((null==e||e>=n.length)&&(e=n.length-1),e<0)return null;var r=n[e];return r.viewContainerParent=null,Y(n,e),qr.dirtyParentQueries(r),ji(r),r}function Pi(t,e,n){var r=e?ai(e,e.def.lastRenderRootNode):t.renderElement,i=n.renderer.parentNode(r),o=n.renderer.nextSibling(r);vi(n,2,i,o,void 0)}function ji(t){vi(t,3,null,null,void 0)}var Mi=new Object;function Vi(t,e,n,r,i,o){return new Fi(t,e,n,r,i,o)}var Fi=function(t){a(e,t);function e(e,n,r,i,o,a){var s;s=t.call(this)||this,s.selector=e,s.componentType=n,s._inputs=i,s._outputs=o,s.ngContentSelectors=a,s.viewDefFactory=r;return s}var n=e.prototype;n.create=function t(e,n,r,i){if(!i)throw new Error("ngModule should be provided");var o=pi(this.viewDefFactory),a=o.nodes[0].element.componentProvider.nodeIndex,s=qr.createRootView(e,n||[],r,o,i,Mi),u=Hr(s,a).instance;return r&&s.renderer.setAttribute(Ur(s,0).renderElement,"ng-version",pr.full),new Li(s,new Bi(s),u)};o(e,[{key:"inputs",get:function t(){var e=[],n=this._inputs;for(var r in n){e.push({propName:r,templateName:n[r]})}return e}},{key:"outputs",get:function t(){var e=[];for(var n in this._outputs){e.push({propName:n,templateName:this._outputs[n]})}return e}}]);return e}(Jn);var Li=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this)||this,i._view=e,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r;return i}var n=e.prototype;n.destroy=function t(){this._viewRef.destroy()};n.onDestroy=function t(e){this._viewRef.onDestroy(e)};o(e,[{key:"location",get:function t(){return new ar(Ur(this._view,this._elDef.nodeIndex).renderElement)}},{key:"injector",get:function t(){return new Qi(this._view,this._elDef)}},{key:"componentType",get:function t(){return this._component.constructor}}]);return e}(Yn);function Ui(t,e,n){return new Hi(t,e,n)}var Hi=function(){function t(t,e,n){this._view=t,this._elDef=e,this._data=n,this._embeddedViews=[]}var e=t.prototype;e.clear=function t(){for(var e=this._embeddedViews.length-1;e>=0;e--){var n=Ri(this._data,e);qr.destroyView(n)}};e.get=function t(e){var n=this._embeddedViews[e];if(n){var r=new Bi(n);return r.attachToViewContainerRef(this),r}return null};e.createEmbeddedView=function t(e,n,r){var i=e.createEmbeddedView(n||{});return this.insert(i,r),i};e.createComponent=function t(e,n,r,i,o){var a=r||this.parentInjector;o||e instanceof ir||(o=a.get(K));var s=e.create(a,i,void 0,o);return this.insert(s.hostView,n),s};e.insert=function t(e,n){if(e.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var r=e;return function(t,e,n,r){var i=e.viewContainer._embeddedViews;null==n&&(n=i.length),r.viewContainerParent=t,$(i,n,r),function(t,e){var n=ii(e);if(!n||n===t||16&e.state)return;e.state|=16;var r=n.template._projectedViews;r||(r=n.template._projectedViews=[]),r.push(e),function(t,n){if(4&n.flags)return;e.parent.def.nodeFlags|=4,n.flags|=4;var r=n.parent;for(;r;){r.childFlags|=4,r=r.parent}}(0,e.parentNodeDef)}(e,r),qr.dirtyParentQueries(r),Pi(e,n>0?i[n-1]:null,r)}(this._view,this._data,n,r._view),r.attachToViewContainerRef(this),e};e.move=function t(e,n){if(e.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var r=this._embeddedViews.indexOf(e._view);return function(t,e,n){var i=t.viewContainer._embeddedViews,o=i[r];Y(i,r),null==n&&(n=i.length),$(i,n,o),qr.dirtyParentQueries(o),ji(o),Pi(t,n>0?i[n-1]:null,o)}(this._data,0,n),e};e.indexOf=function t(e){return this._embeddedViews.indexOf(e._view)};e.remove=function t(e){var n=Ri(this._data,e);n&&qr.destroyView(n)};e.detach=function t(e){var n=Ri(this._data,e);return n?new Bi(n):null};o(t,[{key:"element",get:function t(){return new ar(this._data.renderElement)}},{key:"injector",get:function t(){return new Qi(this._view,this._elDef)}},{key:"parentInjector",get:function t(){var e=this._view,n=this._elDef.parent;for(;!n&&e;){n=oi(e),e=e.parent}return e?new Qi(e,n):new Qi(this._view,null)}},{key:"length",get:function t(){return this._embeddedViews.length}}]);return t}();function zi(t){return new Bi(t)}var Bi=function(){function t(t){this._view=t,this._viewContainerRef=null,this._appRef=null}var e=t.prototype;e.markForCheck=function t(){ei(this._view)};e.detach=function t(){this._view.state&=-5};e.detectChanges=function t(){var e=this._view.root.rendererFactory;e.begin&&e.begin();try{qr.checkAndUpdateView(this._view)}finally{e.end&&e.end()}};e.checkNoChanges=function t(){qr.checkNoChangesView(this._view)};e.reattach=function t(){this._view.state|=4};e.onDestroy=function t(e){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(e)};e.destroy=function t(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),qr.destroyView(this._view)};e.detachFromAppRef=function t(){this._appRef=null,ji(this._view),qr.dirtyParentQueries(this._view)};e.attachToAppRef=function t(e){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e};e.attachToViewContainerRef=function t(e){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=e};o(t,[{key:"rootNodes",get:function t(){return function(t){var e=[];return vi(t,0,void 0,void 0,e),e}(this._view)}},{key:"context",get:function t(){return this._view.context}},{key:"destroyed",get:function t(){return 0!=(128&this._view.state)}}]);return t}();function qi(t,e){return new Wi(t,e)}var Wi=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r._parentView=e,r._def=n;return r}var n=e.prototype;n.createEmbeddedView=function t(e){return new Bi(qr.createEmbeddedView(this._parentView,this._def,this._def.element.template,e))};o(e,[{key:"elementRef",get:function t(){return new ar(Ur(this._parentView,this._def.nodeIndex).renderElement)}}]);return e}(Ar);function Gi(t,e){return new Qi(t,e)}var Qi=function(){function t(t,e){this.view=t,this.elDef=e}var e=t.prototype;e.get=function t(e,n){if(n===void 0){n=bn.THROW_IF_NOT_FOUND}return qr.resolveDep(this.view,this.elDef,!!this.elDef&&0!=(33554432&this.elDef.flags),{flags:0,token:e,tokenKey:Qr(e)},n)};return t}();function Ki(t,e){var n=t.def.nodes[e];if(1&n.flags){var r=Ur(t,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return Lr(t,n.nodeIndex).renderText;if(20240&n.flags)return Hr(t,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+e)}function Zi(t){return new $i(t.renderer)}var $i=function(){function t(t){this.delegate=t}var e=t.prototype;e.selectRootElement=function t(e){return this.delegate.selectRootElement(e)};e.createElement=function t(e,n){var r=wi(n),i=r[0],o=r[1],a=this.delegate.createElement(o,i);return e&&this.delegate.appendChild(e,a),a};e.createViewRoot=function t(e){return e};e.createTemplateAnchor=function t(e){var n=this.delegate.createComment("");return e&&this.delegate.appendChild(e,n),n};e.createText=function t(e,n){var r=this.delegate.createText(n);return e&&this.delegate.appendChild(e,r),r};e.projectNodes=function t(e,n){for(var r=0;r<n.length;r++){this.delegate.appendChild(e,n[r])}};e.attachViewAfter=function t(e,n){var r=this.delegate.parentNode(e),i=this.delegate.nextSibling(e);for(var o=0;o<n.length;o++){this.delegate.insertBefore(r,n[o],i)}};e.detachView=function t(e){for(var n=0;n<e.length;n++){var r=e[n],i=this.delegate.parentNode(r);this.delegate.removeChild(i,r)}};e.destroyView=function t(e,n){for(var r=0;r<n.length;r++){this.delegate.destroyNode(n[r])}};e.listen=function t(e,n,r){return this.delegate.listen(e,n,r)};e.listenGlobal=function t(e,n,r){return this.delegate.listen(e,n,r)};e.setElementProperty=function t(e,n,r){this.delegate.setProperty(e,n,r)};e.setElementAttribute=function t(e,n,r){var i=wi(n),o=i[0],a=i[1];null!=r?this.delegate.setAttribute(e,a,r,o):this.delegate.removeAttribute(e,a,o)};e.setBindingDebugInfo=function t(e,n,r){};e.setElementClass=function t(e,n,r){r?this.delegate.addClass(e,n):this.delegate.removeClass(e,n)};e.setElementStyle=function t(e,n,r){null!=r?this.delegate.setStyle(e,n,r):this.delegate.removeStyle(e,n)};e.invokeElementMethod=function t(e,n,r){e[n].apply(e,r)};e.setText=function t(e,n){this.delegate.setValue(e,n)};e.animate=function t(){throw new Error("Renderer.animate is no longer supported!")};return t}();function Yi(t,e,n,r){return new Ji(t,e,n,r)}var Ji=function(){function t(t,e,n,r){this._moduleType=t,this._parent=e,this._bootstrapComponents=n,this._def=r,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(t){var e=t._def,n=t._providers=new Array(e.providers.length);for(var r=0;r<e.providers.length;r++){var i=e.providers[r];4096&i.flags||void 0===n[r]&&(n[r]=Ii(t,i))}}(this)}var e=t.prototype;e.get=function t(e,n,r){if(n===void 0){n=bn.THROW_IF_NOT_FOUND}if(r===void 0){r=y.Default}var i=0;return r&y.SkipSelf?i|=1:r&y.Self&&(i|=4),Ni(this,{token:e,tokenKey:Qr(e),flags:i},n)};e.destroy=function t(){if(this._destroyed)throw new Error("The ng module "+S(this.instance.constructor)+" has already been destroyed.");this._destroyed=!0,function(t,e){var n=t._def,r=new Set;for(var i=0;i<n.providers.length;i++){if(131072&n.providers[i].flags){var o=t._providers[i];if(o&&o!==ki){var a=o.ngOnDestroy;"function"!=typeof a||r.has(o)||(a.apply(o),r.add(o))}}}}(this),this._destroyListeners.forEach(function(t){return t()})};e.onDestroy=function t(e){this._destroyListeners.push(e)};o(t,[{key:"instance",get:function t(){return this.get(this._moduleType)}},{key:"componentFactoryResolver",get:function t(){return this.get(nr)}}]);return t}();var Xi=Qr(ur),to=Qr(fr),eo=Qr(ar),no=Qr(Ir),ro=Qr(Ar),io=Qr(vn),oo=Qr(bn),ao=Qr(R);function so(t,e,n,r,i,o,a,s){var u=[];if(a)for(var l in a){var c=a[l],f=c[0],h=c[1];u[f]={flags:8,name:l,nonMinifiedName:h,ns:null,securityContext:null,suffix:null}}var d=[];if(s)for(var p in s){d.push({type:1,propName:p,target:null,eventName:s[p]})}return lo(t,e|=16384,n,r,i,i,o,u,d)}function uo(t,e,n,r,i){return lo(-1,t,e,0,n,r,i)}function lo(t,e,n,r,i,o,a,s,u){var l=ci(n),c=l.matchedQueries,f=l.references,h=l.matchedQueryIds;u||(u=[]),s||(s=[]),o=x(o);var d=fi(a,S(i));return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:c,matchedQueryIds:h,references:f,ngContentIndex:-1,childCount:r,bindings:s,bindingFlags:Ci(s),outputs:u,element:null,provider:{token:i,value:o,deps:d},text:null,query:null,ngContent:null}}function co(t,e){return vo(t,e)}function fo(t,e){var n=t;for(;n.parent&&!si(n);){n=n.parent}return mo(n.parent,oi(n),!0,e.provider.value,e.provider.deps)}function ho(t,e){var n=mo(t,e.parent,(32768&e.flags)>0,e.provider.value,e.provider.deps);if(e.outputs.length)for(var r=0;r<e.outputs.length;r++){var i=e.outputs[r],o=n[i.propName];if(!Zn(o))throw new Error("@Output "+i.propName+" not initialized in '"+n.constructor.name+"'.");{var a=o.subscribe(po(t,e.parent.nodeIndex,i.eventName));t.disposables[e.outputIndex+r]=a.unsubscribe.bind(a)}}return n}function po(t,e,n){return function(r){return ri(t,e,n,r)}}function vo(t,e){var n=(8192&e.flags)>0,r=e.provider;switch(201347067&e.flags){case 512:return mo(t,e.parent,n,r.value,r.deps);case 1024:return function(t,e,n,r,i){var o=i.length;switch(o){case 0:return r();case 1:return r(yo(t,e,n,i[0]));case 2:return r(yo(t,e,n,i[0]),yo(t,e,n,i[1]));case 3:return r(yo(t,e,n,i[0]),yo(t,e,n,i[1]),yo(t,e,n,i[2]));default:var a=Array(o);for(var s=0;s<o;s++){a[s]=yo(t,e,n,i[s])}return r.apply(void 0,a)}}(t,e.parent,n,r.value,r.deps);case 2048:return yo(t,e.parent,n,r.deps[0]);case 256:return r.value}}function mo(t,n,r,i,o){var a=o.length;switch(a){case 0:return new i;case 1:return new i(yo(t,n,r,o[0]));case 2:return new i(yo(t,n,r,o[0]),yo(t,n,r,o[1]));case 3:return new i(yo(t,n,r,o[0]),yo(t,n,r,o[1]),yo(t,n,r,o[2]));default:var s=new Array(a);for(var u=0;u<a;u++){s[u]=yo(t,n,r,o[u])}return e(i,s)}}var go={};function yo(t,e,n,r,i){if(i===void 0){i=bn.THROW_IF_NOT_FOUND}if(8&r.flags)return r.token;var o=t;2&r.flags&&(i=null);var a=r.tokenKey;a===io&&(n=!(!e||!e.element.componentView)),e&&1&r.flags&&(n=!1,e=e.parent);var s=t;for(;s;){if(e)switch(a){case Xi:return Zi(bo(s,e,n));case to:return bo(s,e,n).renderer;case eo:return new ar(Ur(s,e.nodeIndex).renderElement);case no:return Ur(s,e.nodeIndex).viewContainer;case ro:if(e.element.template)return Ur(s,e.nodeIndex).template;break;case io:return zi(bo(s,e,n));case oo:case ao:return Gi(s,e);default:var u=(n?e.element.allProviders:e.element.publicProviders)[a];if(u){var l=Hr(s,u.nodeIndex);return l||(l={instance:vo(s,u)},s.nodes[u.nodeIndex]=l),l.instance}}n=si(s),e=oi(s),s=s.parent,4&r.flags&&(s=null)}var c=o.root.injector.get(r.token,go);return c!==go||i===go?c:o.root.ngModule.injector.get(r.token,i)}function bo(t,e,n){var r;if(n)r=Ur(t,e.nodeIndex).componentView;else for(r=t;r.parent&&!si(r);){r=r.parent}return r}function _o(t,e,n,r,i,o){if(32768&n.flags){var a=Ur(t,n.parent.nodeIndex).componentView;2&a.def.flags&&(a.state|=8)}if(e.instance[n.bindings[r].name]=i,524288&n.flags){o=o||{};var s=Pn.unwrap(t.oldValues[n.bindingIndex+r]);o[n.bindings[r].nonMinifiedName]=new $n(s,i,0!=(2&t.state))}return t.oldValues[n.bindingIndex+r]=i,o}function wo(t,e){if(!(t.def.nodeFlags&e))return;var n=t.def.nodes;var r=0;for(var i=0;i<n.length;i++){var o=n[i];var a=o.parent;for(!a&&o.flags&e&&So(t,i,o.flags&e,r++),0==(o.childFlags&e)&&(i+=o.childCount);a&&1&a.flags&&i===a.nodeIndex+a.childCount;){a.directChildFlags&e&&(r=Co(t,a,e,r)),a=a.parent}}}function Co(t,e,n,r){for(var i=e.nodeIndex+1;i<=e.nodeIndex+e.childCount;i++){var o=t.def.nodes[i];o.flags&n&&So(t,i,o.flags&n,r++),i+=o.childCount}return r}function So(t,e,n,r){var i=Hr(t,e);if(!i)return;var o=i.instance;o&&(qr.setCurrentNode(t,e),1048576&n&&Fr(t,512,r)&&o.ngAfterContentInit(),2097152&n&&o.ngAfterContentChecked(),4194304&n&&Fr(t,768,r)&&o.ngAfterViewInit(),8388608&n&&o.ngAfterViewChecked(),131072&n&&o.ngOnDestroy())}var Eo=new I("SCHEDULER_TOKEN",{providedIn:"root",factory:function t(){return Pt}}),ko={},xo=function(){var t={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencySymbol:15,CurrencyName:16,Currencies:17,PluralCase:18,ExtraData:19};return t[t.LocaleId]="LocaleId",t[t.DayPeriodsFormat]="DayPeriodsFormat",t[t.DayPeriodsStandalone]="DayPeriodsStandalone",t[t.DaysFormat]="DaysFormat",t[t.DaysStandalone]="DaysStandalone",t[t.MonthsFormat]="MonthsFormat",t[t.MonthsStandalone]="MonthsStandalone",t[t.Eras]="Eras",t[t.FirstDayOfWeek]="FirstDayOfWeek",t[t.WeekendRange]="WeekendRange",t[t.DateFormat]="DateFormat",t[t.TimeFormat]="TimeFormat",t[t.DateTimeFormat]="DateTimeFormat",t[t.NumberSymbols]="NumberSymbols",t[t.NumberFormats]="NumberFormats",t[t.CurrencySymbol]="CurrencySymbol",t[t.CurrencyName]="CurrencyName",t[t.Currencies]="Currencies",t[t.PluralCase]="PluralCase",t[t.ExtraData]="ExtraData",t}(),Oo=void 0;var To=["en",[["a","p"],["AM","PM"],Oo],[["AM","PM"],Oo,Oo],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Oo,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Oo,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Oo,"{1} 'at' {0}",Oo],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"$","US Dollar",{},function(t){var e=Math.floor(Math.abs(t)),n=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===n?1:5}];function Do(t){return Ao(t)[xo.PluralCase]}function Ao(t){var e=t.toLowerCase().replace(/_/g,"-");var n=ko[e];if(n)return n;var r=e.split("-")[0];if(n=ko[r])return n;if("en"===r)return To;throw new Error('Missing locale data for the locale "'+t+'".')}var No="en-US";var Io=No;function Ro(t){var e;e="Expected localeId to be defined",null==t&&function(t){throw new Error("ASSERTION ERROR: "+t)}(e),"string"==typeof t&&(Io=t.toLowerCase().replace(/_/g,"-"))}var Po=function(t){a(e,t);function e(e){var n;if(e===void 0){e=!1}n=t.call(this)||this,n.__isAsync=e;return n}var n=e.prototype;n.emit=function e(n){t.prototype.next.call(this,n)};n.subscribe=function e(n,r,i){var o,a=function t(e){return null},s=function t(){return null};n&&"object"==typeof n?(o=this.__isAsync?function(t){setTimeout(function(){return n.next(t)})}:function(t){n.next(t)},n.error&&(a=this.__isAsync?function(t){setTimeout(function(){return n.error(t)})}:function(t){n.error(t)}),n.complete&&(s=this.__isAsync?function(){setTimeout(function(){return n.complete()})}:function(){n.complete()})):(o=this.__isAsync?function(t){setTimeout(function(){return n(t)})}:function(t){n(t)},r&&(a=this.__isAsync?function(t){setTimeout(function(){return r(t)})}:function(t){r(t)}),i&&(s=this.__isAsync?function(){setTimeout(function(){return i()})}:function(){i()}));var l=t.prototype.subscribe.call(this,o,a,s);return n instanceof u.a&&n.add(l),l};return e}(s.a);function jo(){return this._results[Nn()]()}var Mo=function(){function t(){this.dirty=!0,this._results=[],this.changes=new Po,this.length=0;var e=Nn(),n=t.prototype;n[e]||(n[e]=jo)}var e=t.prototype;e.map=function t(e){return this._results.map(e)};e.filter=function t(e){return this._results.filter(e)};e.find=function t(e){return this._results.find(e)};e.reduce=function t(e,n){return this._results.reduce(e,n)};e.forEach=function t(e){this._results.forEach(e)};e.some=function t(e){return this._results.some(e)};e.toArray=function t(){return this._results.slice()};e.toString=function t(){return this._results.toString()};e.reset=function t(e){this._results=function t(e,n){void 0===n&&(n=e);for(var r=0;r<e.length;r++){var i=e[r];Array.isArray(i)?(n===e&&(n=e.slice(0,r)),t(i,n)):n!==e&&n.push(i)}return n}(e),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]};e.notifyOnChanges=function t(){this.changes.emit(this)};e.setDirty=function t(){this.dirty=!0};e.destroy=function t(){this.changes.complete(),this.changes.unsubscribe()};return t}();var Vo=new I("Application Initializer");var Fo=function(){function t(t){var e=this;this.appInits=t,this.initialized=!1,this.done=!1,this.donePromise=new Promise(function(t,n){e.resolve=t,e.reject=n})}var e=t.prototype;e.runInitializers=function t(){var e=this;if(this.initialized)return;var n=[],r=function t(){e.done=!0,e.resolve()};if(this.appInits)for(var i=0;i<this.appInits.length;i++){var o=this.appInits[i]();Kn(o)&&n.push(o)}Promise.all(n).then(function(){r()}).catch(function(t){e.reject(t)}),0===n.length&&r(),this.initialized=!0};return t}();var Lo=new I("AppId");function Uo(){return""+Ho()+Ho()+Ho()}function Ho(){return String.fromCharCode(97+Math.floor(25*Math.random()))}var zo=new I("Platform Initializer"),Bo=new I("Platform ID"),qo=new I("appBootstrapListener");var Wo=function(){function t(){}var e=t.prototype;e.log=function t(e){console.log(e)};e.warn=function t(e){console.warn(e)};return t}();var Go=new I("LocaleId"),Qo=!1;function Ko(){throw new Error("Runtime compiler is not loaded")}var Zo=Ko,$o=Ko,Yo=Ko,Jo=Ko;var Xo=function(){function t(){this.compileModuleSync=Zo,this.compileModuleAsync=$o,this.compileModuleAndAllComponentsSync=Yo,this.compileModuleAndAllComponentsAsync=Jo}var e=t.prototype;e.clearCache=function t(){};e.clearCacheFor=function t(e){};e.getModuleId=function t(e){};return t}();var ta=function t(){};var ea,na;function ra(){var t=N.wtf;return!(!t||!(ea=t.trace)||(na=ea.events,0))}var ia=ra(),oa=ia?function(t,e){if(e===void 0){e=null}return na.createScope(t,e)}:function(t,e){return function(t,e){return null}},aa=ia?function(t,e){return ea.leaveScope(t,e),e}:function(t,e){return e},sa=function(){return Promise.resolve(0)}();function ua(t){"undefined"==typeof Zone?sa.then(function(){t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}var la=function(){function t(t){var e=t.enableLongStackTrace,n=e===void 0?!1:e;if(this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Po(!1),this.onMicrotaskEmpty=new Po(!1),this.onStable=new Po(!1),this.onError=new Po(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");var r;Zone.assertZonePatched(),this._nesting=0,this._outer=this._inner=Zone.current,Zone.wtfZoneSpec&&(this._inner=this._inner.fork(Zone.wtfZoneSpec)),Zone.TaskTrackingZoneSpec&&(this._inner=this._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(this._inner=this._inner.fork(Zone.longStackTraceZoneSpec)),(r=this)._inner=r._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:function t(e,n,i,o,a,s){try{return da(r),e.invokeTask(i,o,a,s)}finally{pa(r)}},onInvoke:function t(e,n,i,o,a,s,u){try{return da(r),e.invoke(i,o,a,s,u)}finally{pa(r)}},onHasTask:function t(e,n,i,o){e.hasTask(i,o),n===i&&("microTask"==o.change?(r.hasPendingMicrotasks=o.microTask,ha(r)):"macroTask"==o.change&&(r.hasPendingMacrotasks=o.macroTask))},onHandleError:function t(e,n,i,o){return e.handleError(i,o),r.runOutsideAngular(function(){return r.onError.emit(o)}),!1}})}t.isInAngularZone=function t(){return!0===Zone.current.get("isAngularZone")};t.assertInAngularZone=function e(){if(!t.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")};t.assertNotInAngularZone=function e(){if(t.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")};var e=t.prototype;e.run=function t(e,n,r){return this._inner.run(e,n,r)};e.runTask=function t(e,n,r,i){var o=this._inner,a=o.scheduleEventTask("NgZoneEvent: "+i,e,fa,ca,ca);try{return o.runTask(a,n,r)}finally{o.cancelTask(a)}};e.runGuarded=function t(e,n,r){return this._inner.runGuarded(e,n,r)};e.runOutsideAngular=function t(e){return this._outer.run(e)};return t}();function ca(){}var fa={};function ha(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(function(){return t.onStable.emit(null)})}finally{t.isStable=!0}}}function da(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function pa(t){t._nesting--,ha(t)}var va=function(){function t(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Po,this.onMicrotaskEmpty=new Po,this.onStable=new Po,this.onError=new Po}var e=t.prototype;e.run=function t(e){return e()};e.runGuarded=function t(e){return e()};e.runOutsideAngular=function t(e){return e()};e.runTask=function t(e){return e()};return t}();var ma=function(){function t(t){var e=this;this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(function(){e.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}var e=t.prototype;e._watchAngularEvents=function t(){var e=this;this._ngZone.onUnstable.subscribe({next:function t(){e._didWork=!0,e._isZoneStable=!1}}),this._ngZone.runOutsideAngular(function(){e._ngZone.onStable.subscribe({next:function t(){la.assertNotInAngularZone(),ua(function(){e._isZoneStable=!0,e._runCallbacksIfReady()})}})})};e.increasePendingRequestCount=function t(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount};e.decreasePendingRequestCount=function t(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount};e.isStable=function t(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks};e._runCallbacksIfReady=function t(){var e=this;if(this.isStable())ua(function(){for(;0!==e._callbacks.length;){var t=e._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(e._didWork)}e._didWork=!1});else{var n=this.getPendingTasks();this._callbacks=this._callbacks.filter(function(t){return!t.updateCb||!t.updateCb(n)||(clearTimeout(t.timeoutId),!1)}),this._didWork=!0}};e.getPendingTasks=function t(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(function(t){return{source:t.source,creationLocation:t.creationLocation,data:t.data}}):[]};e.addCallback=function t(e,n,r){var i=this;var o=-1;n&&n>0&&(o=setTimeout(function(){i._callbacks=i._callbacks.filter(function(t){return t.timeoutId!==o}),e(i._didWork,i.getPendingTasks())},n)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})};e.whenStable=function t(e,n,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(e,n,r),this._runCallbacksIfReady()};e.getPendingRequestCount=function t(){return this._pendingCount};e.findProviders=function t(e,n,r){return[]};return t}();var ga=function(){function t(){this._applications=new Map,wa.addToWindow(this)}var e=t.prototype;e.registerApplication=function t(e,n){this._applications.set(e,n)};e.unregisterApplication=function t(e){this._applications.delete(e)};e.unregisterAllApplications=function t(){this._applications.clear()};e.getTestability=function t(e){return this._applications.get(e)||null};e.getAllTestabilities=function t(){return Array.from(this._applications.values())};e.getAllRootElements=function t(){return Array.from(this._applications.keys())};e.findTestabilityInTree=function t(e,n){if(n===void 0){n=!0}return wa.findTestabilityInTree(this,e,n)};return t}();var ya=function(){function t(){}var e=t.prototype;e.addToWindow=function t(e){};e.findTestabilityInTree=function t(e,n,r){return null};return t}();function ba(t){wa=t}var _a,wa=new ya,Ca=function t(e,n,r){return e.get(ta).createCompiler([n]).compileModuleAsync(r)},Sa=function t(e){return e instanceof ir};var Ea=new I("AllowMultipleToken");var ka=function t(e,n){this.name=e,this.token=n};function xa(t,e,n){if(n===void 0){n=[]}var r="Platform: "+e,i=new I(r);return function(e){if(e===void 0){e=[]}var o=Oa();if(!o||o.injector.get(Ea,!1))if(t)t(n.concat(e).concat({provide:i,useValue:!0}));else{var a=n.concat(e).concat({provide:i,useValue:!0});!function(t){if(_a&&!_a.destroyed&&!_a.injector.get(Ea,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");_a=t.get(Ta);var e=t.get(zo,null);e&&e.forEach(function(t){return t()})}(bn.create({providers:a,name:r}))}return function(t){var e=Oa();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(i)}}function Oa(){return _a&&!_a.destroyed?_a:null}var Ta=function(){function t(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}var e=t.prototype;e.bootstrapModuleFactory=function t(e,n){var r=this;var i="noop"===(a=n?n.ngZone:void 0)?new va:("zone.js"===a?void 0:a)||new la({enableLongStackTrace:ge()}),o=[{provide:la,useValue:i}];var a;return i.run(function(){var t=bn.create({providers:o,parent:r.injector,name:e.moduleType.name}),n=e.create(t),a=n.injector.get(pe,null);if(!a)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return Qo&&Ro(n.injector.get(Go,No)||No),n.onDestroy(function(){return Na(r._modules,n)}),i.runOutsideAngular(function(){return i.onError.subscribe({next:function t(e){a.handleError(e)}})}),function(t,e,n){try{var r=n();return Kn(r)?r.catch(function(n){throw e.runOutsideAngular(function(){return t.handleError(n)}),n}):r}catch(i){throw e.runOutsideAngular(function(){return t.handleError(i)}),i}}(a,i,function(){var t=n.injector.get(Fo);return t.runInitializers(),t.donePromise.then(function(){return r._moduleDoBootstrap(n),n})})})};e.bootstrapModule=function t(e,n){var r=this;if(n===void 0){n=[]}var i=Da({},n);return Ca(this.injector,i,e).then(function(t){return r.bootstrapModuleFactory(t,i)})};e._moduleDoBootstrap=function t(e){var n=e.injector.get(Aa);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(t){return n.bootstrap(t)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module "+S(e.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. '+"Please define one of these.");e.instance.ngDoBootstrap(n)}this._modules.push(e)};e.onDestroy=function t(e){this._destroyListeners.push(e)};e.destroy=function t(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0};o(t,[{key:"injector",get:function t(){return this._injector}},{key:"destroyed",get:function t(){return this._destroyed}}]);return t}();function Da(t,e){return Array.isArray(e)?e.reduce(Da,t):Object.assign({},t,e)}var Aa=function(){var t=function(){function t(t,e,n,r,i,o){var a=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=ge(),this._zone.onMicrotaskEmpty.subscribe({next:function t(){a._zone.run(function(){a.tick()})}});var s=new l.a(function(t){a._stable=a._zone.isStable&&!a._zone.hasPendingMacrotasks&&!a._zone.hasPendingMicrotasks,a._zone.runOutsideAngular(function(){t.next(a._stable),t.complete()})}),u=new l.a(function(t){var e;a._zone.runOutsideAngular(function(){e=a._zone.onStable.subscribe(function(){la.assertNotInAngularZone(),ua(function(){a._stable||a._zone.hasPendingMacrotasks||a._zone.hasPendingMicrotasks||(a._stable=!0,t.next(!0))})})});var n=a._zone.onUnstable.subscribe(function(){la.assertInAngularZone(),a._stable&&(a._stable=!1,a._zone.runOutsideAngular(function(){t.next(!1)}))});return function(){e.unsubscribe(),n.unsubscribe()}});this.isStable=Object(c.a)(s,u.pipe(Object(f.a)()))}var e=t.prototype;e.bootstrap=function t(e,n){var r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");var i;i=e instanceof Jn?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(i.componentType);var o=Sa(i)?null:this._injector.get(K),a=i.create(bn.NULL,[],n||i.selector,o);a.onDestroy(function(){r._unloadComponent(a)});var s=a.injector.get(ma,null);return s&&a.injector.get(ga).registerApplication(a.location.nativeElement,s),this._loadComponent(a),ge()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),a};e.tick=function e(){var n=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var r=t._tickScope();try{this._runningTick=!0;for(var i=this._views,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{a=i.next();if(a.done)break;s=a.value}var u=s;u.detectChanges()}if(this._enforceNoNewChanges){for(var l=this._views,c=Array.isArray(l),f=0,l=c?l:l[Symbol.iterator]();;){var h;if(c){if(f>=l.length)break;h=l[f++]}else{f=l.next();if(f.done)break;h=f.value}var d=h;d.checkNoChanges()}}}catch(p){this._zone.runOutsideAngular(function(){return n._exceptionHandler.handleError(p)})}finally{this._runningTick=!1,aa(r)}};e.attachView=function t(e){var n=e;this._views.push(n),n.attachToAppRef(this)};e.detachView=function t(e){var n=e;Na(this._views,n),n.detachFromAppRef()};e._loadComponent=function t(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(qo,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})};e._unloadComponent=function t(e){this.detachView(e.hostView),Na(this.components,e)};e.ngOnDestroy=function t(){this._views.slice().forEach(function(t){return t.destroy()})};o(t,[{key:"viewCount",get:function t(){return this._views.length}}]);return t}();return t._tickScope=oa("ApplicationRef#tick()"),t}();function Na(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var Ia=function t(){};var Ra="#",Pa="NgFactory";var ja=function t(){};var Ma={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"};var Va=function(){function t(t,e){this._compiler=t,this._config=e||Ma}var e=t.prototype;e.load=function t(e){return!Qo&&this._compiler instanceof Xo?this.loadFactory(e):this.loadAndCompile(e)};e.loadAndCompile=function t(e){var n=this;var r=e.split(Ra),o=r[0],a=r[1];return void 0===a&&(a="default"),i("zn8P")(o).then(function(t){return t[a]}).then(function(t){return Fa(t,o,a)}).then(function(t){return n._compiler.compileModuleAsync(t)})};e.loadFactory=function t(e){var n=e.split(Ra),r=n[0],o=n[1],a=Pa;return void 0===o&&(o="default",a=""),i("zn8P")(this._config.factoryPathPrefix+r+this._config.factoryPathSuffix).then(function(t){return t[o+a]}).then(function(t){return Fa(t,r,o)})};return t}();function Fa(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}var La=function t(e,n){this.name=e,this.callback=n};var Ua=function(){function t(t,e,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=t,e&&e instanceof Ha&&e.addChild(this)}o(t,[{key:"injector",get:function t(){return this._debugContext.injector}},{key:"componentInstance",get:function t(){return this._debugContext.component}},{key:"context",get:function t(){return this._debugContext.context}},{key:"references",get:function t(){return this._debugContext.references}},{key:"providerTokens",get:function t(){return this._debugContext.providerTokens}}]);return t}();var Ha=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e,n,r)||this,i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=e;return i}var n=e.prototype;n.addChild=function t(e){e&&(this.childNodes.push(e),e.parent=this)};n.removeChild=function t(e){var n=this.childNodes.indexOf(e);-1!==n&&(e.parent=null,this.childNodes.splice(n,1))};n.insertChildrenAfter=function t(e,n){var r,i=this;var o=this.childNodes.indexOf(e);-1!==o&&((r=this.childNodes).splice.apply(r,[o+1,0].concat(n)),n.forEach(function(t){t.parent&&t.parent.removeChild(t),e.parent=i}))};n.insertBefore=function t(e,n){var r=this.childNodes.indexOf(e);-1===r?this.addChild(n):(n.parent&&n.parent.removeChild(n),n.parent=this,this.childNodes.splice(r,0,n))};n.query=function t(e){return this.queryAll(e)[0]||null};n.queryAll=function t(n){var r=[];return function t(n,r,i){n.childNodes.forEach(function(n){n instanceof e&&(r(n)&&i.push(n),t(n,r,i))})}(this,n,r),r};n.queryAllNodes=function t(n){var r=[];return function t(n,r,i){n instanceof e&&n.childNodes.forEach(function(n){r(n)&&i.push(n),n instanceof e&&t(n,r,i)})}(this,n,r),r};n.triggerEventHandler=function t(e,n){this.listeners.forEach(function(t){t.name==e&&t.callback(n)})};o(e,[{key:"children",get:function t(){return this.childNodes.filter(function(t){return t instanceof e})}}]);return e}(Ua);var za=new Map,Ba=function t(e){return za.get(e)||null};function qa(t){za.set(t.nativeNode,t)}var Wa=xa(null,"core",[{provide:Bo,useValue:"unknown"},{provide:Ta,deps:[bn]},{provide:ga,deps:[]},{provide:Wo,deps:[]}]);function Ga(){return Tr}function Qa(){return Dr}function Ka(t){return t?(Qo&&Ro(t),t):No}function Za(t){var e=[];return t.onStable.subscribe(function(){for(;e.length;){e.pop()()}}),function(t){e.push(t)}}var $a=function t(e){};function Ya(t,e,n,r,i,o){t|=1;var a=ci(e),s=a.matchedQueries,u=a.references,l=a.matchedQueryIds;return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,flags:t,checkIndex:-1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:s,matchedQueryIds:l,references:u,ngContentIndex:n,childCount:r,bindings:[],bindingFlags:0,outputs:[],element:{ns:null,name:null,attrs:null,template:o?pi(o):null,componentProvider:null,componentView:null,componentRendererType:null,publicProviders:null,allProviders:null,handleEvent:i||Wr},provider:null,text:null,query:null,ngContent:null}}function Ja(t,e,n,r,i,o,a,s,u,l,c,f){var h;if(a===void 0){a=[]}l||(l=Wr);var d=ci(n),p=d.matchedQueries,v=d.references,m=d.matchedQueryIds;var g=null,y=null;o&&(h=wi(o),g=h[0],y=h[1],h),s=s||[];var b=new Array(s.length);for(var _=0;_<s.length;_++){var w=s[_],C=w[0],S=w[1],E=w[2],k=wi(S),x=k[0],O=k[1];var T=void 0,D=void 0;switch(15&C){case 4:D=E;break;case 1:case 8:T=E}b[_]={flags:C,ns:x,name:O,nonMinifiedName:O,securityContext:T,suffix:D}}u=u||[];var A=new Array(u.length);for(var N=0;N<u.length;N++){var I=u[N],R=I[0],P=I[1];A[N]={type:0,target:R,eventName:P,propName:null}}var j=(a=a||[]).map(function(t){var e=t[0],n=t[1];var r=wi(e),i=r[0],o=r[1];return[i,o,n]});return f=function(t){if(t&&t.id===Kr){var e=null!=t.encapsulation&&t.encapsulation!==X.None||t.styles.length||Object.keys(t.data).length;t.id=e?"c"+Yr++:Zr}return t&&t.id===Zr&&(t=null),t||null}(f),c&&(e|=33554432),{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:e|=1,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:p,matchedQueryIds:m,references:v,ngContentIndex:r,childCount:i,bindings:b,bindingFlags:Ci(b),outputs:A,element:{ns:g,name:y,attrs:j,template:null,componentProvider:null,componentView:c||null,componentRendererType:f,publicProviders:null,allProviders:null,handleEvent:l||Wr},provider:null,text:null,query:null,ngContent:null}}function Xa(t,e,n){var r=n.element,i=t.root.selectorOrNode,o=t.renderer;var a;if(t.parent||!i){a=r.name?o.createElement(r.name,r.ns):o.createComment("");var s=hi(t,e,n);s&&o.appendChild(s,a)}else a=o.selectRootElement(i,!!r.componentRendererType&&r.componentRendererType.encapsulation===X.ShadowDom);if(r.attrs)for(var u=0;u<r.attrs.length;u++){var l=r.attrs[u],c=l[0],f=l[1],h=l[2];o.setAttribute(a,f,h,c)}return a}function ts(t,e,n,r){for(var i=0;i<n.outputs.length;i++){var o=n.outputs[i],a=es(t,n.nodeIndex,(f=o.eventName,(c=o.target)?c+":"+f:f));var s=o.target,u=t;"component"===o.target&&(s=null,u=e);var l=u.renderer.listen(s||r,o.eventName,a);t.disposables[n.outputIndex+i]=l}var c,f}function es(t,e,n){return function(r){return ri(t,e,n,r)}}function ns(t,e,n,r){if(!Xr(t,e,n,r))return!1;var i=e.bindings[n],o=Ur(t,e.nodeIndex),a=o.renderElement,s=i.name;switch(15&i.flags){case 1:!function(t,e,n,r,i,o){var a=e.securityContext;var s=a?t.root.sanitizer.sanitize(a,o):o;s=null!=s?s.toString():null;var u=t.renderer;null!=o?u.setAttribute(n,i,s,r):u.removeAttribute(n,i,r)}(t,i,a,i.ns,s,r);break;case 2:!function(t,e,n,r){var i=t.renderer;r?i.addClass(e,n):i.removeClass(e,n)}(t,a,s,r);break;case 4:!function(t,e,n,r,i){var o=t.root.sanitizer.sanitize(He.STYLE,i);if(null!=o){o=o.toString();var a=e.suffix;null!=a&&(o+=a)}else o=null;var s=t.renderer;null!=o?s.setStyle(n,r,o):s.removeStyle(n,r)}(t,i,a,s,r);break;case 8:!function(t,e,n,r,i){var o=e.securityContext;var a=o?t.root.sanitizer.sanitize(o,i):i;t.renderer.setProperty(n,r,a)}(33554432&e.flags&&32&i.flags?o.componentView:t,i,a,s,r)}return!0}function rs(t,e,n){var r=[];for(var i in n){r.push({propName:i,bindingType:n[i]})}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,ngContentIndex:-1,matchedQueries:{},matchedQueryIds:0,references:{},childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:{id:e,filterId:li(e),bindings:r},ngContent:null}}function is(t){var e=t.def.nodeMatchedQueries;for(;t.parent&&ui(t);){var n=t.parentNodeDef;t=t.parent;var r=n.nodeIndex+n.childCount;for(var i=0;i<=r;i++){var o=t.def.nodes[i];67108864&o.flags&&536870912&o.flags&&(o.query.filterId&e)===o.query.filterId&&Br(t,i).setDirty(),!(1&o.flags&&i+o.childCount<n.nodeIndex)&&67108864&o.childFlags&&536870912&o.childFlags||(i+=o.childCount)}}if(134217728&t.def.nodeFlags)for(var a=0;a<t.def.nodes.length;a++){var s=t.def.nodes[a];134217728&s.flags&&536870912&s.flags&&Br(t,a).setDirty(),a+=s.childCount}}function os(t,e){var n=Br(t,e.nodeIndex);if(!n.dirty)return;var r,i=void 0;if(67108864&e.flags){var o=e.parent.parent;i=as(t,o.nodeIndex,o.nodeIndex+o.childCount,e.query,[]),r=Hr(t,e.parent.nodeIndex).instance}else 134217728&e.flags&&(i=as(t,0,t.def.nodes.length-1,e.query,[]),r=t.component);n.reset(i);var a=e.query.bindings;var s=!1;for(var u=0;u<a.length;u++){var l=a[u];var c=void 0;switch(l.bindingType){case 0:c=n.first;break;case 1:c=n,s=!0}r[l.propName]=c}s&&n.notifyOnChanges()}function as(t,e,n,r,i){for(var o=e;o<=n;o++){var a=t.def.nodes[o],s=a.matchedQueries[r.id];if(null!=s&&i.push(ss(t,a,s)),1&a.flags&&a.element.template&&(a.element.template.nodeMatchedQueries&r.filterId)===r.filterId){var u=Ur(t,o);if((a.childMatchedQueries&r.filterId)===r.filterId&&(as(t,o+1,o+a.childCount,r,i),o+=a.childCount),16777216&a.flags){var l=u.viewContainer._embeddedViews;for(var c=0;c<l.length;c++){var f=l[c],h=ii(f);h&&h===u&&as(f,0,f.def.nodes.length-1,r,i)}}var d=u.template._projectedViews;if(d)for(var p=0;p<d.length;p++){var v=d[p];as(v,0,v.def.nodes.length-1,r,i)}}(a.childMatchedQueries&r.filterId)!==r.filterId&&(o+=a.childCount)}return i}function ss(t,e,n){if(null!=n)switch(n){case 1:return Ur(t,e.nodeIndex).renderElement;case 0:return new ar(Ur(t,e.nodeIndex).renderElement);case 2:return Ur(t,e.nodeIndex).template;case 3:return Ur(t,e.nodeIndex).viewContainer;case 4:return Hr(t,e.nodeIndex).instance}}function us(t,e){return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:-1,flags:8,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:t,childCount:0,bindings:[],bindingFlags:0,outputs:[],element:null,provider:null,text:null,query:null,ngContent:{index:e}}}function ls(t,e,n){var r=hi(t,e,n);r&&gi(t,n.ngContent.index,1,r,null,void 0)}function cs(t,e){return hs(32,t,new Array(e))}function fs(t,e){var n=Object.keys(e),r=n.length,i=new Array(r);for(var o=0;o<r;o++){var a=n[o];i[e[a]]=a}return hs(64,t,i)}function hs(t,e,n){var r=new Array(n.length);for(var i=0;i<n.length;i++){var o=n[i];r[i]={flags:8,name:o,ns:null,nonMinifiedName:o,securityContext:null,suffix:null}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:e,flags:t,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:-1,childCount:0,bindings:r,bindingFlags:Ci(r),outputs:[],element:null,provider:null,text:null,query:null,ngContent:null}}function ds(t,e,n){var r=new Array(n.length-1);for(var i=1;i<n.length;i++){r[i-1]={flags:8,name:null,ns:null,nonMinifiedName:null,securityContext:null,suffix:n[i]}}return{nodeIndex:-1,parent:null,renderParent:null,bindingIndex:-1,outputIndex:-1,checkIndex:t,flags:2,childFlags:0,directChildFlags:0,childMatchedQueries:0,matchedQueries:{},matchedQueryIds:0,references:{},ngContentIndex:e,childCount:0,bindings:r,bindingFlags:8,outputs:[],element:null,provider:null,text:{prefix:n[0]},query:null,ngContent:null}}function ps(t,e,n){var r;var i=t.renderer;r=i.createText(n.text.prefix);var o=hi(t,e,n);return o&&i.appendChild(o,r),{renderText:r}}function vs(t,e){return(null!=t?t.toString():"")+e.suffix}function ms(t,e,n,r){var i=0,o=0,a=0,s=0,u=0,l=null,c=null,f=!1,h=!1,d=null;for(var p=0;p<e.length;p++){var v=e[p];if(v.nodeIndex=p,v.parent=l,v.bindingIndex=i,v.outputIndex=o,v.renderParent=c,a|=v.flags,u|=v.matchedQueryIds,v.element){var m=v.element;m.publicProviders=l?l.element.publicProviders:Object.create(null),m.allProviders=m.publicProviders,f=!1,h=!1,v.element.template&&(u|=v.element.template.nodeMatchedQueries)}if(ys(l,v,e.length),i+=v.bindings.length,o+=v.outputs.length,!c&&3&v.flags&&(d=v),20224&v.flags){f||(f=!0,l.element.publicProviders=Object.create(l.element.publicProviders),l.element.allProviders=l.element.publicProviders);var g=0!=(32768&v.flags);0==(8192&v.flags)||g?l.element.publicProviders[Qr(v.provider.token)]=v:(h||(h=!0,l.element.allProviders=Object.create(l.element.publicProviders)),l.element.allProviders[Qr(v.provider.token)]=v),g&&(l.element.componentProvider=v)}if(l?(l.childFlags|=v.flags,l.directChildFlags|=v.flags,l.childMatchedQueries|=v.matchedQueryIds,v.element&&v.element.template&&(l.childMatchedQueries|=v.element.template.nodeMatchedQueries)):s|=v.flags,v.childCount>0)l=v,gs(v)||(c=v);else for(;l&&p===l.nodeIndex+l.childCount;){var y=l.parent;y&&(y.childFlags|=l.childFlags,y.childMatchedQueries|=l.childMatchedQueries),c=(l=y)&&gs(l)?l.renderParent:l}}return{factory:null,nodeFlags:a,rootNodeFlags:s,nodeMatchedQueries:u,flags:t,nodes:e,updateDirectives:n||Wr,updateRenderer:r||Wr,handleEvent:function t(n,r,i,o){return e[r].element.handleEvent(n,i,o)},bindingCount:i,outputCount:o,lastRenderRootNode:d}}function gs(t){return 0!=(1&t.flags)&&null===t.element.name}function ys(t,e,n){var r=e.element&&e.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+e.nodeIndex+"!")}if(20224&e.flags&&0==(1&(t?t.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+e.nodeIndex+"!");if(e.query){if(67108864&e.flags&&(!t||0==(16384&t.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+e.nodeIndex+"!");if(134217728&e.flags&&t)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+e.nodeIndex+"!")}if(e.childCount){var i=t?t.nodeIndex+t.childCount:n-1;if(e.nodeIndex<=i&&e.nodeIndex+e.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+e.nodeIndex+"!")}}function bs(t,e,n,r){var i=Cs(t.root,t.renderer,t,e,n);return Ss(i,t.component,r),Es(i),i}function _s(t,e,n){var r=Cs(t,t.renderer,null,null,e);return Ss(r,n,n),Es(r),r}function ws(t,e,n,r){var i=e.element.componentRendererType;var o;return o=i?t.root.rendererFactory.createRenderer(r,i):t.root.renderer,Cs(t.root,o,t,e.element.componentProvider,n)}function Cs(t,e,n,r,i){var o=new Array(i.nodes.length),a=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:o,state:13,root:t,renderer:e,oldValues:new Array(i.bindingCount),disposables:a,initIndex:-1}}function Ss(t,e,n){t.component=e,t.context=n}function Es(t){var e;si(t)&&(e=Ur(t.parent,t.parentNodeDef.parent.nodeIndex).renderElement);var n=t.def,r=t.nodes;for(var i=0;i<n.nodes.length;i++){var o=n.nodes[i];var a=void 0;switch(qr.setCurrentNode(t,i),201347067&o.flags){case 1:var s=Xa(t,e,o);var u=void 0;if(33554432&o.flags){var l=pi(o.element.componentView);u=qr.createComponentView(t,o,l,s)}ts(t,u,o,s),a={renderElement:s,componentView:u,viewContainer:null,template:o.element.template?qi(t,o):void 0},16777216&o.flags&&(a.viewContainer=Ui(t,o,a));break;case 2:a=ps(t,e,o);break;case 512:case 1024:case 2048:case 256:(a=r[i])||4096&o.flags||(a={instance:co(t,o)});break;case 16:a={instance:fo(t,o)};break;case 16384:(a=r[i])||(a={instance:ho(t,o)}),32768&o.flags&&Ss(Ur(t,o.parent.nodeIndex).componentView,a.instance,a.instance);break;case 32:case 64:case 128:a={value:void 0};break;case 67108864:case 134217728:a=new Mo;break;case 8:ls(t,e,o),a=void 0}r[i]=a}Rs(t,Is.CreateViewNodes),Vs(t,201326592,268435456,0)}function ks(t){Ts(t),qr.updateDirectives(t,1),Ps(t,Is.CheckNoChanges),qr.updateRenderer(t,1),Rs(t,Is.CheckNoChanges),t.state&=-97}function xs(t){1&t.state?(t.state&=-2,t.state|=2):t.state&=-3,Vr(t,0,256),Ts(t),qr.updateDirectives(t,0),Ps(t,Is.CheckAndUpdate),Vs(t,67108864,536870912,0);var e=Vr(t,256,512);wo(t,2097152|(e?1048576:0)),qr.updateRenderer(t,0),Rs(t,Is.CheckAndUpdate),Vs(t,134217728,536870912,0),wo(t,8388608|((e=Vr(t,512,768))?4194304:0)),2&t.def.flags&&(t.state&=-9),t.state&=-97,Vr(t,768,1024)}function Os(t,e,n,r,i,o,a,s,u,l,c,f,h){return 0===n?function(t,e,n,r,i,o,a,s,u,l,c,f){switch(201347067&e.flags){case 1:return function(t,e,n,r,i,o,a,s,u,l,c,f){var h=e.bindings.length;var d=!1;return h>0&&ns(t,e,0,n)&&(d=!0),h>1&&ns(t,e,1,r)&&(d=!0),h>2&&ns(t,e,2,i)&&(d=!0),h>3&&ns(t,e,3,o)&&(d=!0),h>4&&ns(t,e,4,a)&&(d=!0),h>5&&ns(t,e,5,s)&&(d=!0),h>6&&ns(t,e,6,u)&&(d=!0),h>7&&ns(t,e,7,l)&&(d=!0),h>8&&ns(t,e,8,c)&&(d=!0),h>9&&ns(t,e,9,f)&&(d=!0),d}(t,e,n,r,i,o,a,s,u,l,c,f);case 2:return function(t,e,n,r,i,o,a,s,u,l,c,f){var h=!1;var d=e.bindings,p=d.length;if(p>0&&Xr(t,e,0,n)&&(h=!0),p>1&&Xr(t,e,1,r)&&(h=!0),p>2&&Xr(t,e,2,i)&&(h=!0),p>3&&Xr(t,e,3,o)&&(h=!0),p>4&&Xr(t,e,4,a)&&(h=!0),p>5&&Xr(t,e,5,s)&&(h=!0),p>6&&Xr(t,e,6,u)&&(h=!0),p>7&&Xr(t,e,7,l)&&(h=!0),p>8&&Xr(t,e,8,c)&&(h=!0),p>9&&Xr(t,e,9,f)&&(h=!0),h){var v=e.text.prefix;p>0&&(v+=vs(n,d[0])),p>1&&(v+=vs(r,d[1])),p>2&&(v+=vs(i,d[2])),p>3&&(v+=vs(o,d[3])),p>4&&(v+=vs(a,d[4])),p>5&&(v+=vs(s,d[5])),p>6&&(v+=vs(u,d[6])),p>7&&(v+=vs(l,d[7])),p>8&&(v+=vs(c,d[8])),p>9&&(v+=vs(f,d[9]));var m=Lr(t,e.nodeIndex).renderText;t.renderer.setValue(m,v)}return h}(t,e,n,r,i,o,a,s,u,l,c,f);case 16384:return function(t,e,n,r,i,o,a,s,u,l,c,f){var h=Hr(t,e.nodeIndex),d=h.instance;var p=!1,v=void 0;var m=e.bindings.length;return m>0&&Jr(t,e,0,n)&&(p=!0,v=_o(t,h,e,0,n,v)),m>1&&Jr(t,e,1,r)&&(p=!0,v=_o(t,h,e,1,r,v)),m>2&&Jr(t,e,2,i)&&(p=!0,v=_o(t,h,e,2,i,v)),m>3&&Jr(t,e,3,o)&&(p=!0,v=_o(t,h,e,3,o,v)),m>4&&Jr(t,e,4,a)&&(p=!0,v=_o(t,h,e,4,a,v)),m>5&&Jr(t,e,5,s)&&(p=!0,v=_o(t,h,e,5,s,v)),m>6&&Jr(t,e,6,u)&&(p=!0,v=_o(t,h,e,6,u,v)),m>7&&Jr(t,e,7,l)&&(p=!0,v=_o(t,h,e,7,l,v)),m>8&&Jr(t,e,8,c)&&(p=!0,v=_o(t,h,e,8,c,v)),m>9&&Jr(t,e,9,f)&&(p=!0,v=_o(t,h,e,9,f,v)),v&&d.ngOnChanges(v),65536&e.flags&&Fr(t,256,e.nodeIndex)&&d.ngOnInit(),262144&e.flags&&d.ngDoCheck(),p}(t,e,n,r,i,o,a,s,u,l,c,f);case 32:case 64:case 128:return function(t,e,n,r,i,o,a,s,u,l,c,f){var h=e.bindings;var d=!1;var p=h.length;if(p>0&&Xr(t,e,0,n)&&(d=!0),p>1&&Xr(t,e,1,r)&&(d=!0),p>2&&Xr(t,e,2,i)&&(d=!0),p>3&&Xr(t,e,3,o)&&(d=!0),p>4&&Xr(t,e,4,a)&&(d=!0),p>5&&Xr(t,e,5,s)&&(d=!0),p>6&&Xr(t,e,6,u)&&(d=!0),p>7&&Xr(t,e,7,l)&&(d=!0),p>8&&Xr(t,e,8,c)&&(d=!0),p>9&&Xr(t,e,9,f)&&(d=!0),d){var v=zr(t,e.nodeIndex);var m;switch(201347067&e.flags){case 32:m=new Array(h.length),p>0&&(m[0]=n),p>1&&(m[1]=r),p>2&&(m[2]=i),p>3&&(m[3]=o),p>4&&(m[4]=a),p>5&&(m[5]=s),p>6&&(m[6]=u),p>7&&(m[7]=l),p>8&&(m[8]=c),p>9&&(m[9]=f);break;case 64:m={},p>0&&(m[h[0].name]=n),p>1&&(m[h[1].name]=r),p>2&&(m[h[2].name]=i),p>3&&(m[h[3].name]=o),p>4&&(m[h[4].name]=a),p>5&&(m[h[5].name]=s),p>6&&(m[h[6].name]=u),p>7&&(m[h[7].name]=l),p>8&&(m[h[8].name]=c),p>9&&(m[h[9].name]=f);break;case 128:var g=n;switch(p){case 1:m=g.transform(n);break;case 2:m=g.transform(r);break;case 3:m=g.transform(r,i);break;case 4:m=g.transform(r,i,o);break;case 5:m=g.transform(r,i,o,a);break;case 6:m=g.transform(r,i,o,a,s);break;case 7:m=g.transform(r,i,o,a,s,u);break;case 8:m=g.transform(r,i,o,a,s,u,l);break;case 9:m=g.transform(r,i,o,a,s,u,l,c);break;case 10:m=g.transform(r,i,o,a,s,u,l,c,f)}}v.value=m}return d}(t,e,n,r,i,o,a,s,u,l,c,f);default:throw"unreachable"}}(t,e,r,i,o,a,s,u,l,c,f,h):function(t,e,n){switch(201347067&e.flags){case 1:return function(t,e,n){var r=!1;for(var i=0;i<n.length;i++){ns(t,e,i,n[i])&&(r=!0)}return r}(t,e,n);case 2:return function(t,e,n){var r=e.bindings;var i=!1;for(var o=0;o<n.length;o++){Xr(t,e,o,n[o])&&(i=!0)}if(i){var a="";for(var s=0;s<n.length;s++){a+=vs(n[s],r[s])}a=e.text.prefix+a;var u=Lr(t,e.nodeIndex).renderText;t.renderer.setValue(u,a)}return i}(t,e,n);case 16384:return function(t,e,n){var r=Hr(t,e.nodeIndex),i=r.instance;var o=!1,a=void 0;for(var s=0;s<n.length;s++){Jr(t,e,s,n[s])&&(o=!0,a=_o(t,r,e,s,n[s],a))}return a&&i.ngOnChanges(a),65536&e.flags&&Fr(t,256,e.nodeIndex)&&i.ngOnInit(),262144&e.flags&&i.ngDoCheck(),o}(t,e,n);case 32:case 64:case 128:return function(t,e,n){var r=e.bindings;var i=!1;for(var o=0;o<n.length;o++){Xr(t,e,o,n[o])&&(i=!0)}if(i){var a=zr(t,e.nodeIndex);var s;switch(201347067&e.flags){case 32:s=n;break;case 64:s={};for(var u=0;u<n.length;u++){s[r[u].name]=n[u]}break;case 128:var l=n[0],c=n.slice(1);s=l.transform.apply(l,c)}a.value=s}return i}(t,e,n);default:throw"unreachable"}}(t,e,r)}function Ts(t){var e=t.def;if(4&e.nodeFlags)for(var n=0;n<e.nodes.length;n++){var r=e.nodes[n];if(4&r.flags){var i=Ur(t,n).template._projectedViews;if(i)for(var o=0;o<i.length;o++){var a=i[o];a.state|=32,ni(a,t)}}else 0==(4&r.childFlags)&&(n+=r.childCount)}}function Ds(t,e,n,r,i,o,a,s,u,l,c,f,h){return 0===n?function(t,e,n,r,i,o,a,s,u,l,c,f){var h=e.bindings.length;h>0&&ti(t,e,0,n),h>1&&ti(t,e,1,r),h>2&&ti(t,e,2,i),h>3&&ti(t,e,3,o),h>4&&ti(t,e,4,a),h>5&&ti(t,e,5,s),h>6&&ti(t,e,6,u),h>7&&ti(t,e,7,l),h>8&&ti(t,e,8,c),h>9&&ti(t,e,9,f)}(t,e,r,i,o,a,s,u,l,c,f,h):function(t,e,n){for(var r=0;r<n.length;r++){ti(t,e,r,n[r])}}(t,e,r),!1}function As(t,e){if(Br(t,e.nodeIndex).dirty)throw Pr(qr.createDebugContext(t,e.nodeIndex),"Query "+e.query.id+" not dirty","Query "+e.query.id+" dirty",0!=(1&t.state))}function Ns(t){if(!(128&t.state)){if(Ps(t,Is.Destroy),Rs(t,Is.Destroy),wo(t,131072),t.disposables)for(var e=0;e<t.disposables.length;e++){t.disposables[e]()}!function(t){if(!(16&t.state))return;var e=ii(t);if(e){var n=e.template._projectedViews;n&&(Y(n,n.indexOf(t)),qr.dirtyParentQueries(t))}}(t),t.renderer.destroyNode&&function(t){var e=t.def.nodes.length;for(var n=0;n<e;n++){var r=t.def.nodes[n];1&r.flags?t.renderer.destroyNode(Ur(t,n).renderElement):2&r.flags?t.renderer.destroyNode(Lr(t,n).renderText):(67108864&r.flags||134217728&r.flags)&&Br(t,n).destroy()}}(t),si(t)&&t.renderer.destroy(),t.state|=128}}var Is=function(){var t={CreateViewNodes:0,CheckNoChanges:1,CheckNoChangesProjectedViews:2,CheckAndUpdate:3,CheckAndUpdateProjectedViews:4,Destroy:5};return t[t.CreateViewNodes]="CreateViewNodes",t[t.CheckNoChanges]="CheckNoChanges",t[t.CheckNoChangesProjectedViews]="CheckNoChangesProjectedViews",t[t.CheckAndUpdate]="CheckAndUpdate",t[t.CheckAndUpdateProjectedViews]="CheckAndUpdateProjectedViews",t[t.Destroy]="Destroy",t}();function Rs(t,e){var n=t.def;if(33554432&n.nodeFlags)for(var r=0;r<n.nodes.length;r++){var i=n.nodes[r];33554432&i.flags?js(Ur(t,r).componentView,e):0==(33554432&i.childFlags)&&(r+=i.childCount)}}function Ps(t,e){var n=t.def;if(16777216&n.nodeFlags)for(var r=0;r<n.nodes.length;r++){var i=n.nodes[r];if(16777216&i.flags){var o=Ur(t,r).viewContainer._embeddedViews;for(var a=0;a<o.length;a++){js(o[a],e)}}else 0==(16777216&i.childFlags)&&(r+=i.childCount)}}function js(t,e){var n=t.state;switch(e){case Is.CheckNoChanges:0==(128&n)&&(12==(12&n)?ks(t):64&n&&Ms(t,Is.CheckNoChangesProjectedViews));break;case Is.CheckNoChangesProjectedViews:0==(128&n)&&(32&n?ks(t):64&n&&Ms(t,e));break;case Is.CheckAndUpdate:0==(128&n)&&(12==(12&n)?xs(t):64&n&&Ms(t,Is.CheckAndUpdateProjectedViews));break;case Is.CheckAndUpdateProjectedViews:0==(128&n)&&(32&n?xs(t):64&n&&Ms(t,e));break;case Is.Destroy:Ns(t);break;case Is.CreateViewNodes:Es(t)}}function Ms(t,e){Ps(t,e),Rs(t,e)}function Vs(t,e,n,r){if(!(t.def.nodeFlags&e&&t.def.nodeFlags&n))return;var i=t.def.nodes.length;for(var o=0;o<i;o++){var a=t.def.nodes[o];if(a.flags&e&&a.flags&n)switch(qr.setCurrentNode(t,a.nodeIndex),r){case 0:os(t,a);break;case 1:As(t,a)}a.childFlags&e&&a.childFlags&n||(o+=a.childCount)}}var Fs=!1;function Ls(t,e,n,r,i,o){var a=i.injector.get(lr);return _s(Hs(t,i,a,e,n),r,o)}function Us(t,e,n,r,i,o){var a=i.injector.get(lr),s=Hs(t,i,new bu(a),e,n),u=Ys(r);return gu(ru.create,_s,null,[s,u,o])}function Hs(t,e,n,r,i){var o=e.injector.get(ze),a=e.injector.get(pe),s=n.createRenderer(null,null);return{ngModule:e,injector:t,projectableNodes:r,selectorOrNode:i,sanitizer:o,rendererFactory:n,renderer:s,errorHandler:a}}function zs(t,e,n,r){var i=Ys(n);return gu(ru.create,bs,null,[t,e,i,r])}function Bs(t,e,n,r){return n=Qs.get(e.element.componentProvider.provider.token)||Ys(n),gu(ru.create,ws,null,[t,e,n,r])}function qs(t,e,n,r){return Yi(t,e,n,function(t){var e=function(t){var e=!1,n=!1;return 0===Ws.size?{hasOverrides:e,hasDeprecatedOverrides:n}:(t.providers.forEach(function(t){var r=Ws.get(t.token);3840&t.flags&&r&&(e=!0,n=n||r.deprecatedBehavior)}),t.modules.forEach(function(t){Gs.forEach(function(r,i){w(i).providedIn===t&&(e=!0,n=n||r.deprecatedBehavior)})}),{hasOverrides:e,hasDeprecatedOverrides:n})}(t),n=e.hasOverrides,r=e.hasDeprecatedOverrides;return n?(function(t){for(var e=0;e<t.providers.length;e++){var n=t.providers[e];r&&(n.flags|=4096);var i=Ws.get(n.token);i&&(n.flags=-3841&n.flags|i.flags,n.deps=fi(i.deps),n.value=i.value)}if(Gs.size>0){var o=new Set(t.modules);Gs.forEach(function(e,n){if(o.has(w(n).providedIn)){var i={token:n,flags:e.flags|(r?4096:0),deps:fi(e.deps),value:e.value,index:t.providers.length};t.providers.push(i),t.providersByKey[Qr(n)]=i}})}}(t=t.factory(function(){return Wr})),t):t}(r))}var Ws=new Map,Gs=new Map,Qs=new Map;function Ks(t){var e;Ws.set(t.token,t),"function"==typeof t.token&&(e=w(t.token))&&"function"==typeof e.providedIn&&Gs.set(t.token,t)}function Zs(t,e){var n=pi(e.viewDefFactory),r=pi(n.nodes[0].element.componentView);Qs.set(t,r)}function $s(){Ws.clear(),Gs.clear(),Qs.clear()}function Ys(t){if(0===Ws.size)return t;var e=function(t){var e=[];var n=null;for(var r=0;r<t.nodes.length;r++){var i=t.nodes[r];1&i.flags&&(n=i),n&&3840&i.flags&&Ws.has(i.provider.token)&&(e.push(n.nodeIndex),n=null)}return e}(t);if(0===e.length)return t;t=t.factory(function(){return Wr});for(var n=0;n<e.length;n++){r(t,e[n])}return t;function r(t,e){for(var n=e+1;n<t.nodes.length;n++){var r=t.nodes[n];if(1&r.flags)return;if(3840&r.flags){var i=r.provider,o=Ws.get(i.token);o&&(r.flags=-3841&r.flags|o.flags,i.deps=fi(o.deps),i.value=o.value)}}}}function Js(t,e,n,r,i,o,a,s,u,l,c,f,h){var d=t.def.nodes[e];return Os(t,d,n,r,i,o,a,s,u,l,c,f,h),224&d.flags?zr(t,e).value:void 0}function Xs(t,e,n,r,i,o,a,s,u,l,c,f,h){var d=t.def.nodes[e];return Ds(t,d,n,r,i,o,a,s,u,l,c,f,h),224&d.flags?zr(t,e).value:void 0}function tu(t){return gu(ru.detectChanges,xs,null,[t])}function eu(t){return gu(ru.checkNoChanges,ks,null,[t])}function nu(t){return gu(ru.destroy,Ns,null,[t])}var ru=function(){var t={create:0,detectChanges:1,checkNoChanges:2,destroy:3,handleEvent:4};return t[t.create]="create",t[t.detectChanges]="detectChanges",t[t.checkNoChanges]="checkNoChanges",t[t.destroy]="destroy",t[t.handleEvent]="handleEvent",t}();var iu,ou,au;function su(t,e){ou=t,au=e}function uu(t,e,n,r){return su(t,e),gu(ru.handleEvent,t.def.handleEvent,null,[t,e,n,r])}function lu(t,e){if(128&t.state)throw Mr(ru[iu]);return su(t,du(t,0)),t.def.updateDirectives(function(t,n,r){var i=t.def.nodes[n];for(var o=arguments.length,a=new Array(o>3?o-3:0),s=3;s<o;s++){a[s-3]=arguments[s]}return 0===e?fu(t,i,r,a):hu(t,i,r,a),16384&i.flags&&su(t,du(t,n)),224&i.flags?zr(t,i.nodeIndex).value:void 0},t)}function cu(t,e){if(128&t.state)throw Mr(ru[iu]);return su(t,pu(t,0)),t.def.updateRenderer(function(t,n,r){var i=t.def.nodes[n];for(var o=arguments.length,a=new Array(o>3?o-3:0),s=3;s<o;s++){a[s-3]=arguments[s]}return 0===e?fu(t,i,r,a):hu(t,i,r,a),3&i.flags&&su(t,pu(t,n)),224&i.flags?zr(t,i.nodeIndex).value:void 0},t)}function fu(t,e,n,r){if(Os.apply(void 0,[t,e,n].concat(r))){var i=1===n?r[0]:r;if(16384&e.flags){var o={};for(var a=0;a<e.bindings.length;a++){var s=e.bindings[a],u=i[a];8&s.flags&&(o[(d=s.nonMinifiedName,p=void 0,p=d.replace(/[$@]/g,"_"),"ng-reflect-"+(d=p.replace(Ge,function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return"-"+e[1].toLowerCase()})))]=Qe(u))}var l=e.parent,c=Ur(t,l.nodeIndex).renderElement;if(l.element.name)for(var f in o){var h=o[f];null!=h?t.renderer.setAttribute(c,f,h):t.renderer.removeAttribute(c,f)}else t.renderer.setValue(c,"bindings="+JSON.stringify(o,null,2))}}var d,p}function hu(t,e,n,r){Ds.apply(void 0,[t,e,n].concat(r))}function du(t,e){for(var n=e;n<t.def.nodes.length;n++){var r=t.def.nodes[n];if(16384&r.flags&&r.bindings&&r.bindings.length)return n}return null}function pu(t,e){for(var n=e;n<t.def.nodes.length;n++){var r=t.def.nodes[n];if(3&r.flags&&r.bindings&&r.bindings.length)return n}return null}var vu=function(){function t(t,e){this.view=t,this.nodeIndex=e,null==e&&(this.nodeIndex=e=0),this.nodeDef=t.def.nodes[e];var n=this.nodeDef,r=t;for(;n&&0==(1&n.flags);){n=n.parent}if(!n)for(;!n&&r;){n=oi(r),r=r.parent}this.elDef=n,this.elView=r}var e=t.prototype;e.logError=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}var o,a;2&this.nodeDef.flags?(o=this.view.def,a=this.nodeDef.nodeIndex):(o=this.elView.def,a=this.elDef.nodeIndex);var s=function(t,e){var n=-1;for(var r=0;r<=e;r++){3&t.nodes[r].flags&&n++}return n}(o,a);var u=-1;o.factory(function(){var t;return++u===s?(t=e.error).bind.apply(t,[e].concat(r)):Wr}),u<s&&(e.error("Illegal state: the ViewDefinitionFactory did not call the logger!"),e.error.apply(e,r))};o(t,[{key:"elOrCompView",get:function t(){return Ur(this.elView,this.elDef.nodeIndex).componentView||this.view}},{key:"injector",get:function t(){return Gi(this.elView,this.elDef)}},{key:"component",get:function t(){return this.elOrCompView.component}},{key:"context",get:function t(){return this.elOrCompView.context}},{key:"providerTokens",get:function t(){var e=[];if(this.elDef)for(var n=this.elDef.nodeIndex+1;n<=this.elDef.nodeIndex+this.elDef.childCount;n++){var r=this.elView.def.nodes[n];20224&r.flags&&e.push(r.provider.token),n+=r.childCount}return e}},{key:"references",get:function t(){var e={};if(this.elDef){mu(this.elView,this.elDef,e);for(var n=this.elDef.nodeIndex+1;n<=this.elDef.nodeIndex+this.elDef.childCount;n++){var r=this.elView.def.nodes[n];20224&r.flags&&mu(this.elView,r,e),n+=r.childCount}}return e}},{key:"componentRenderElement",get:function t(){var e=function(t){for(;t&&!si(t);){t=t.parent}return t.parent?Ur(t.parent,oi(t).nodeIndex):null}(this.elOrCompView);return e?e.renderElement:void 0}},{key:"renderNode",get:function t(){return 2&this.nodeDef.flags?ai(this.view,this.nodeDef):ai(this.elView,this.elDef)}}]);return t}();function mu(t,e,n){for(var r in e.references){n[r]=ss(t,e,e.references[r])}}function gu(t,e,n,r){var i=iu,o=ou,a=au;try{iu=t;var s=e.apply(n,r);return ou=o,au=a,iu=i,s}catch(u){if(fe(u)||!ou)throw u;throw function(t,e){return t instanceof Error||(t=new Error(t.toString())),jr(t,e),t}(u,yu())}}function yu(){return ou?new vu(ou,au):null}var bu=function(){function t(t){this.delegate=t}var e=t.prototype;e.createRenderer=function t(e,n){return new _u(this.delegate.createRenderer(e,n))};e.begin=function t(){this.delegate.begin&&this.delegate.begin()};e.end=function t(){this.delegate.end&&this.delegate.end()};e.whenRenderingDone=function t(){return this.delegate.whenRenderingDone?this.delegate.whenRenderingDone():Promise.resolve(null)};return t}();var _u=function(){function t(t){this.delegate=t,this.debugContextFactory=yu,this.data=this.delegate.data}var e=t.prototype;e.createDebugContext=function t(e){return this.debugContextFactory(e)};e.destroyNode=function t(e){var n=Ba(e);za.delete(n.nativeNode),n instanceof Ua&&(n.listeners.length=0),this.delegate.destroyNode&&this.delegate.destroyNode(e)};e.destroy=function t(){this.delegate.destroy()};e.createElement=function t(e,n){var r=this.delegate.createElement(e,n),i=this.createDebugContext(r);if(i){var o=new Ha(r,null,i);o.name=e,qa(o)}return r};e.createComment=function t(e){var n=this.delegate.createComment(e),r=this.createDebugContext(n);return r&&qa(new Ua(n,null,r)),n};e.createText=function t(e){var n=this.delegate.createText(e),r=this.createDebugContext(n);return r&&qa(new Ua(n,null,r)),n};e.appendChild=function t(e,n){var r=Ba(e),i=Ba(n);r&&i&&r instanceof Ha&&r.addChild(i),this.delegate.appendChild(e,n)};e.insertBefore=function t(e,n,r){var i=Ba(e),o=Ba(n),a=Ba(r);i&&o&&i instanceof Ha&&i.insertBefore(a,o),this.delegate.insertBefore(e,n,r)};e.removeChild=function t(e,n){var r=Ba(e),i=Ba(n);r&&i&&r instanceof Ha&&r.removeChild(i),this.delegate.removeChild(e,n)};e.selectRootElement=function t(e,n){var r=this.delegate.selectRootElement(e,n),i=yu();return i&&qa(new Ha(r,null,i)),r};e.setAttribute=function t(e,n,r,i){var o=Ba(e);o&&o instanceof Ha&&(o.attributes[i?i+":"+n:n]=r),this.delegate.setAttribute(e,n,r,i)};e.removeAttribute=function t(e,n,r){var i=Ba(e);i&&i instanceof Ha&&(i.attributes[r?r+":"+n:n]=null),this.delegate.removeAttribute(e,n,r)};e.addClass=function t(e,n){var r=Ba(e);r&&r instanceof Ha&&(r.classes[n]=!0),this.delegate.addClass(e,n)};e.removeClass=function t(e,n){var r=Ba(e);r&&r instanceof Ha&&(r.classes[n]=!1),this.delegate.removeClass(e,n)};e.setStyle=function t(e,n,r,i){var o=Ba(e);o&&o instanceof Ha&&(o.styles[n]=r),this.delegate.setStyle(e,n,r,i)};e.removeStyle=function t(e,n,r){var i=Ba(e);i&&i instanceof Ha&&(i.styles[n]=null),this.delegate.removeStyle(e,n,r)};e.setProperty=function t(e,n,r){var i=Ba(e);i&&i instanceof Ha&&(i.properties[n]=r),this.delegate.setProperty(e,n,r)};e.listen=function t(e,n,r){if("string"!=typeof e){var i=Ba(e);i&&i.listeners.push(new La(n,r))}return this.delegate.listen(e,n,r)};e.parentNode=function t(e){return this.delegate.parentNode(e)};e.nextSibling=function t(e){return this.delegate.nextSibling(e)};e.setValue=function t(e,n){return this.delegate.setValue(e,n)};return t}();function wu(t,e,n){return new Cu(t,e,n)}var Cu=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this)||this,i.moduleType=e,i._bootstrapComponents=n,i._ngModuleDefFactory=r;return i}var n=e.prototype;n.create=function t(e){!function(){if(Fs)return;Fs=!0;var t=ge()?{setCurrentNode:su,createRootView:Us,createEmbeddedView:zs,createComponentView:Bs,createNgModuleRef:qs,overrideProvider:Ks,overrideComponentView:Zs,clearOverrides:$s,checkAndUpdateView:tu,checkNoChangesView:eu,destroyView:nu,createDebugContext:function t(e,n){return new vu(e,n)},handleEvent:uu,updateDirectives:lu,updateRenderer:cu}:{setCurrentNode:function t(){},createRootView:Ls,createEmbeddedView:bs,createComponentView:ws,createNgModuleRef:Yi,overrideProvider:Wr,overrideComponentView:Wr,clearOverrides:Wr,checkAndUpdateView:xs,checkNoChangesView:ks,destroyView:Ns,createDebugContext:function t(e,n){return new vu(e,n)},handleEvent:function t(e,n,r,i){return e.def.handleEvent(e,n,r,i)},updateDirectives:function t(e,n){return e.def.updateDirectives(0===n?Js:Xs,e)},updateRenderer:function t(e,n){return e.def.updateRenderer(0===n?Js:Xs,e)}};qr.setCurrentNode=t.setCurrentNode,qr.createRootView=t.createRootView,qr.createEmbeddedView=t.createEmbeddedView,qr.createComponentView=t.createComponentView,qr.createNgModuleRef=t.createNgModuleRef,qr.overrideProvider=t.overrideProvider,qr.overrideComponentView=t.overrideComponentView,qr.clearOverrides=t.clearOverrides,qr.checkAndUpdateView=t.checkAndUpdateView,qr.checkNoChangesView=t.checkNoChangesView,qr.destroyView=t.destroyView,qr.resolveDep=yo,qr.createDebugContext=t.createDebugContext,qr.handleEvent=t.handleEvent,qr.updateDirectives=t.updateDirectives,qr.updateRenderer=t.updateRenderer,qr.dirtyParentQueries=is}();var n=function(t){var e=Array.from(t.providers),n=Array.from(t.modules),r={};for(var i in t.providersByKey){r[i]=t.providersByKey[i]}return{factory:t.factory,isRoot:t.isRoot,providers:e,modules:n,providersByKey:r}}(pi(this._ngModuleDefFactory));return qr.createNgModuleRef(this.moduleType,e||bn.NULL,this._bootstrapComponents,n)};return e}(Z)},"9ppp":function t(e,n,r){"use strict";function i(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}r.d(n,"a",function(){return o}),i.prototype=Object.create(Error.prototype);var o=i},CRDf:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("kJWO");var o=function t(e){return function(t){var n=e[i.a]();if("function"!=typeof n.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return n.subscribe(t)}}},Cfvw:function t(e,n,r){"use strict";var i=r("HDdC"),o=r("c2HN"),a=r("I55L"),s=r("kJWO"),u=r("Lhse"),l=r("yCtX"),c=r("quSY"),f=r("a7t3"),h=r("pLzU"),d=r("CRDf"),p=r("SeVD");function v(t,e){if(!e)return t instanceof i.a?t:new i.a(Object(p.a)(t));if(null!=t){if(function(t){return t&&"function"==typeof t[s.a]}(t))return function(t,e){return new i.a(e?function(n){var r=new c.a;return r.add(e.schedule(function(){var i=t[s.a]();r.add(i.subscribe({next:function t(i){r.add(e.schedule(function(){return n.next(i)}))},error:function t(i){r.add(e.schedule(function(){return n.error(i)}))},complete:function t(){r.add(e.schedule(function(){return n.complete()}))}}))})),r}:Object(d.a)(t))}(t,e);if(Object(o.a)(t))return function(t,e){return new i.a(e?function(n){var r=new c.a;return r.add(e.schedule(function(){return t.then(function(t){r.add(e.schedule(function(){n.next(t),r.add(e.schedule(function(){return n.complete()}))}))},function(t){r.add(e.schedule(function(){return n.error(t)}))})})),r}:Object(f.a)(t))}(t,e);if(Object(a.a)(t))return Object(l.a)(t,e);if(function(t){return t&&"function"==typeof t[u.a]}(t)||"string"==typeof t)return function(t,e){if(!t)throw new Error("Iterable cannot be null");return new i.a(e?function(n){var r=new c.a;var i;return r.add(function(){i&&"function"==typeof i.return&&i.return()}),r.add(e.schedule(function(){i=t[u.a](),r.add(e.schedule(function(){if(n.closed)return;var t,e;try{var r=i.next();t=r.value,e=r.done}catch(o){return void n.error(o)}e?n.complete():(n.next(t),this.schedule())}))})),r}:Object(h.a)(t))}(t,e)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}r.d(n,"a",function(){return v})},D0XW:function t(e,n,i){"use strict";var o=i("quSY");var s=function(t){a(e,t);function e(e,n){return t.call(this)||this}var n=e.prototype;n.schedule=function t(e,n){if(n===void 0){n=0}return this};return e}(o.a);var u=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e,n)||this,r.scheduler=e,r.work=n,r.pending=!1;return r}var n=e.prototype;n.schedule=function t(e,n){if(n===void 0){n=0}if(this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,n)),this.pending=!0,this.delay=n,this.id=this.id||this.requestAsyncId(i,this.id,n),this};n.requestAsyncId=function t(e,n,r){if(r===void 0){r=0}return setInterval(e.flush.bind(e,this),r)};n.recycleAsyncId=function t(e,n,r){if(r===void 0){r=0}if(null!==r&&this.delay===r&&!1===this.pending)return n;clearInterval(n)};n.execute=function t(e,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(e,n);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))};n._execute=function t(e,n){var r=!1,i=void 0;try{this.work(e)}catch(o){r=!0,i=!!o&&o||new Error(o)}if(r)return this.unsubscribe(),i};n._unsubscribe=function t(){var e=this.id,n=this.scheduler,r=n.actions,i=r.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&r.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null};return e}(s);var l=function(){var t=function(){function t(e,n){if(n===void 0){n=t.now}this.SchedulerAction=e,this.now=n}var e=t.prototype;e.schedule=function t(e,n,r){if(n===void 0){n=0}return new this.SchedulerAction(this,e).schedule(r,n)};return t}();return t.now=function(){return Date.now()},t}();var c=function(t){a(e,t);function e(n,i){var o;if(i===void 0){i=l.now}o=t.call(this,n,function(){return e.delegate&&e.delegate!==r(o)?e.delegate.now():i()})||this,o.actions=[],o.active=!1,o.scheduled=void 0;return o}var n=e.prototype;n.schedule=function n(r,i,o){if(i===void 0){i=0}return e.delegate&&e.delegate!==this?e.delegate.schedule(r,i,o):t.prototype.schedule.call(this,r,i,o)};n.flush=function t(e){var n=this.actions;if(this.active)return void n.push(e);var r;this.active=!0;do{if(r=e.execute(e.state,e.delay))break}while(e=n.shift());if(this.active=!1,r){for(;e=n.shift();){e.unsubscribe()}throw r}};return e}(l);i.d(n,"a",function(){return f});var f=new c(u)},DH7j:function t(e,n,r){"use strict";r.d(n,"a",function(){return i});var i=Array.isArray||function(t){return t&&"number"==typeof t.length}},EY2u:function t(e,n,r){"use strict";r.d(n,"a",function(){return o}),r.d(n,"b",function(){return a});var i=r("HDdC");var o=new i.a(function(t){return t.complete()});function a(t){return t?function(t){return new i.a(function(e){return t.schedule(function(){return e.complete()})})}(t):o}},GS7A:function t(e,n,r){"use strict";r.d(n,"b",function(){return i}),r.d(n,"c",function(){return o}),r.d(n,"a",function(){return a}),r.d(n,"e",function(){return s}),r.d(n,"f",function(){return u}),r.d(n,"d",function(){return c}),r.d(n,"g",function(){return f}),r.d(n,"h",function(){return h});var i=function t(){};var o=function t(){};var a="*";function s(t,e){if(e===void 0){e=null}return{type:2,steps:t,options:e}}function u(t){return{type:6,styles:t,offset:null}}function l(t){Promise.resolve(null).then(t)}var c=function(){function t(t,e){if(t===void 0){t=0}if(e===void 0){e=0}this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}var e=t.prototype;e._onFinish=function t(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])};e.onStart=function t(e){this._onStartFns.push(e)};e.onDone=function t(e){this._onDoneFns.push(e)};e.onDestroy=function t(e){this._onDestroyFns.push(e)};e.hasStarted=function t(){return this._started};e.init=function t(){};e.play=function t(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0};e.triggerMicrotask=function t(){var e=this;l(function(){return e._onFinish()})};e._onStart=function t(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]};e.pause=function t(){};e.restart=function t(){};e.finish=function t(){this._onFinish()};e.destroy=function t(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])};e.reset=function t(){};e.setPosition=function t(e){};e.getPosition=function t(){return 0};e.triggerCallback=function t(e){var n="start"==e?this._onStartFns:this._onDoneFns;n.forEach(function(t){return t()}),n.length=0};return t}();var f=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0;var o=this.players.length;0==o?l(function(){return e._onFinish()}):this.players.forEach(function(t){t.onDone(function(){++n==o&&e._onFinish()}),t.onDestroy(function(){++r==o&&e._onDestroy()}),t.onStart(function(){++i==o&&e._onStart()})}),this.totalTime=this.players.reduce(function(t,e){return Math.max(t,e.totalTime)},0)}var e=t.prototype;e._onFinish=function t(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])};e.init=function t(){this.players.forEach(function(t){return t.init()})};e.onStart=function t(e){this._onStartFns.push(e)};e._onStart=function t(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])};e.onDone=function t(e){this._onDoneFns.push(e)};e.onDestroy=function t(e){this._onDestroyFns.push(e)};e.hasStarted=function t(){return this._started};e.play=function t(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})};e.pause=function t(){this.players.forEach(function(t){return t.pause()})};e.restart=function t(){this.players.forEach(function(t){return t.restart()})};e.finish=function t(){this._onFinish(),this.players.forEach(function(t){return t.finish()})};e.destroy=function t(){this._onDestroy()};e._onDestroy=function t(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])};e.reset=function t(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1};e.setPosition=function t(e){var n=e*this.totalTime;this.players.forEach(function(t){var e=t.totalTime?Math.min(1,n/t.totalTime):1;t.setPosition(e)})};e.getPosition=function t(){var e=0;return this.players.forEach(function(t){var n=t.getPosition();e=Math.min(n,e)}),e};e.beforeDestroy=function t(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})};e.triggerCallback=function t(e){var n="start"==e?this._onStartFns:this._onDoneFns;n.forEach(function(t){return t()}),n.length=0};return t}();var h="!"},HDdC:function t(e,n,r){"use strict";var i=r("7o/Q"),o=r("2QA8"),a=r("gRHU"),s=r("kJWO"),u=r("mCNh"),l=r("2fFW");r.d(n,"a",function(){return c});var c=function(){var t=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}var e=t.prototype;e.lift=function e(n){var r=new t;return r.source=this,r.operator=n,r};e.subscribe=function t(e,n,r){var s=this.operator,u=function(t,e,n){if(t){if(t instanceof i.a)return t;if(t[o.a])return t[o.a]()}return t||e||n?new i.a(t,e,n):new i.a(a.a)}(e,n,r);if(u.add(s?s.call(u,this.source):this.source||l.a.useDeprecatedSynchronousErrorHandling&&!u.syncErrorThrowable?this._subscribe(u):this._trySubscribe(u)),l.a.useDeprecatedSynchronousErrorHandling&&u.syncErrorThrowable&&(u.syncErrorThrowable=!1,u.syncErrorThrown))throw u.syncErrorValue;return u};e._trySubscribe=function t(e){try{return this._subscribe(e)}catch(n){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=n),function(t){for(;t;){var e=t,n=e.closed,r=e.destination,o=e.isStopped;if(n||o)return!1;t=r&&r instanceof i.a?r:null}return!0}(e)?e.error(n):console.warn(n)}};e.forEach=function t(e,n){var r=this;return new(n=f(n))(function(t,n){var i;i=r.subscribe(function(t){try{e(t)}catch(r){n(r),i&&i.unsubscribe()}},n,t)})};e._subscribe=function t(e){var n=this.source;return n&&n.subscribe(e)};e[s.a]=function(){return this};e.pipe=function t(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}return 0===n.length?this:Object(u.b)(n)(this)};e.toPromise=function t(e){var n=this;return new(e=f(e))(function(t,e){var r;n.subscribe(function(t){return r=t},function(t){return e(t)},function(){return t(r)})})};return t}();return t.create=function(e){return new t(e)},t}();function f(t){if(t||(t=l.a.Promise||Promise),!t)throw new Error("no Promise impl found");return t}},I55L:function t(e,n,r){"use strict";r.d(n,"a",function(){return i});var i=function t(e){return e&&"number"==typeof e.length&&"function"!=typeof e}},IzEk:function t(e,n,r){"use strict";r.d(n,"a",function(){return u});var i=r("7o/Q"),o=r("4I5i"),s=r("EY2u");function u(t){return function(e){return 0===t?Object(s.b)():e.lift(new l(t))}}var l=function(){function t(t){if(this.total=t,this.total<0)throw new o.a}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new c(e,this.total))};return t}();var c=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.total=n,r.count=0;return r}var n=e.prototype;n._next=function t(e){var n=this.total,r=++this.count;r<=n&&(this.destination.next(e),r===n&&(this.destination.complete(),this.unsubscribe()))};return e}(i.a)},JX91:function t(e,n,r){"use strict";var i=r("yCtX"),o=r("XUOw"),a=r("EY2u"),s=r("LRne"),u=r("0EUg"),l=r("z+Ro");function c(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return function(t){var n=e[e.length-1];Object(l.a)(n)?e.pop():n=null;var r=e.length;return function(){return Object(u.a)()(Object(s.a).apply(void 0,arguments))}(1!==r||n?r>0?Object(i.a)(e,n):Object(a.b)(n):Object(o.a)(e[0]),t)}}r.d(n,"a",function(){return c})},KqfI:function t(e,n,r){"use strict";function i(){}r.d(n,"a",function(){return i})},LRne:function t(e,n,r){"use strict";r.d(n,"a",function(){return u});var i=r("z+Ro"),o=r("yCtX"),a=r("EY2u"),s=r("XUOw");function u(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}var r=e[e.length-1];switch(Object(i.a)(r)?e.pop():r=void 0,e.length){case 0:return Object(a.b)(r);case 1:return r?Object(o.a)(e,r):Object(s.a)(e[0]);default:return Object(o.a)(e,r)}}},Lhse:function t(e,n,r){"use strict";function i(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}r.d(n,"a",function(){return o});var o=i()},NJ4a:function t(e,n,r){"use strict";function i(t){setTimeout(function(){throw t})}r.d(n,"a",function(){return i})},OC8m:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("8Y7J");var o=function(){var t=function(){function t(){this.messages=[]}var e=t.prototype;e.addMesage=function t(e){this.messages.push(e)};e.popMessage=function t(){this.messages.splice(0,1)};return t}();return t.ngInjectableDef=i.Pb({factory:function e(){return new t},token:t,providedIn:"root"}),t}()},SVse:function t(e,n,i){"use strict";i.d(n,"E",function(){return $}),i.d(n,"t",function(){return F}),i.d(n,"l",function(){return J}),i.d(n,"m",function(){return Y}),i.d(n,"d",function(){return g}),i.d(n,"r",function(){return y}),i.d(n,"v",function(){return w}),i.d(n,"u",function(){return C}),i.d(n,"w",function(){return S}),i.d(n,"F",function(){return X}),i.d(n,"b",function(){return vt}),i.d(n,"i",function(){return rt}),i.d(n,"j",function(){return ot}),i.d(n,"k",function(){return st}),i.d(n,"n",function(){return dt}),i.d(n,"o",function(){return pt}),i.d(n,"c",function(){return mt}),i.d(n,"D",function(){return gt}),i.d(n,"x",function(){return bt}),i.d(n,"y",function(){return _t}),i.d(n,"s",function(){return wt}),i.d(n,"A",function(){return et}),i.d(n,"z",function(){return tt}),i.d(n,"C",function(){return ft}),i.d(n,"B",function(){return ct}),i.d(n,"q",function(){return u}),i.d(n,"f",function(){return l}),i.d(n,"h",function(){return c}),i.d(n,"a",function(){return f}),i.d(n,"e",function(){return p}),i.d(n,"p",function(){return v}),i.d(n,"g",function(){return h});var s=i("8Y7J");var u=function t(){};var l=new s.p("Location Initialized");var c=function t(){};var f=new s.p("appBaseHref");var h=function(){function t(e,n){var r=this;this._subject=new s.m,this._urlChangeListeners=[],this._platformStrategy=e;var i=this._platformStrategy.getBaseHref();this._platformLocation=n,this._baseHref=t.stripTrailingSlash(d(i)),this._platformStrategy.onPopState(function(t){r._subject.emit({url:r.path(!0),pop:!0,state:t.state,type:t.type})})}var e=t.prototype;e.path=function t(e){if(e===void 0){e=!1}return this.normalize(this._platformStrategy.path(e))};e.getState=function t(){return this._platformLocation.getState()};e.isCurrentPathEqualTo=function e(n,r){if(r===void 0){r=""}return this.path()==this.normalize(n+t.normalizeQueryParams(r))};e.normalize=function e(n){return t.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,d(n)))};e.prepareExternalUrl=function t(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)};e.go=function e(n,r,i){if(r===void 0){r=""}if(i===void 0){i=null}this._platformStrategy.pushState(i,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+t.normalizeQueryParams(r)),i)};e.replaceState=function e(n,r,i){if(r===void 0){r=""}if(i===void 0){i=null}this._platformStrategy.replaceState(i,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+t.normalizeQueryParams(r)),i)};e.forward=function t(){this._platformStrategy.forward()};e.back=function t(){this._platformStrategy.back()};e.onUrlChange=function t(e){var n=this;this._urlChangeListeners.push(e),this.subscribe(function(t){n._notifyUrlChangeListeners(t.url,t.state)})};e._notifyUrlChangeListeners=function t(e,n){if(e===void 0){e=""}this._urlChangeListeners.forEach(function(t){return t(e,n)})};e.subscribe=function t(e,n,r){return this._subject.subscribe({next:e,error:n,complete:r})};t.normalizeQueryParams=function t(e){return e&&"?"!==e[0]?"?"+e:e};t.joinWithSlash=function t(e,n){if(0==e.length)return n;if(0==n.length)return e;var r=0;return e.endsWith("/")&&r++,n.startsWith("/")&&r++,2==r?e+n.substring(1):1==r?e+n:e+"/"+n};t.stripTrailingSlash=function t(e){var n=e.match(/#|\?|$/),r=n&&n.index||e.length;return e.slice(0,r-("/"===e[r-1]?1:0))+e.slice(r)};return t}();function d(t){return t.replace(/\/index.html$/,"")}var p=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r._platformLocation=e,r._baseHref="",null!=n&&(r._baseHref=n);return r}var n=e.prototype;n.onPopState=function t(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)};n.getBaseHref=function t(){return this._baseHref};n.path=function t(e){if(e===void 0){e=!1}var t=this._platformLocation.hash;return null==t&&(t="#"),t.length>0?t.substring(1):t};n.prepareExternalUrl=function t(e){var n=h.joinWithSlash(this._baseHref,e);return n.length>0?"#"+n:n};n.pushState=function t(e,n,r,i){var o=this.prepareExternalUrl(r+h.normalizeQueryParams(i));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.pushState(e,n,o)};n.replaceState=function t(e,n,r,i){var o=this.prepareExternalUrl(r+h.normalizeQueryParams(i));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.replaceState(e,n,o)};n.forward=function t(){this._platformLocation.forward()};n.back=function t(){this._platformLocation.back()};return e}(c);var v=function(t){a(e,t);function e(e,n){var i;if(i=t.call(this)||this,i._platformLocation=e,null==n&&(n=i._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");i._baseHref=n;return r(i)}var n=e.prototype;n.onPopState=function t(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)};n.getBaseHref=function t(){return this._baseHref};n.prepareExternalUrl=function t(e){return h.joinWithSlash(this._baseHref,e)};n.path=function t(e){if(e===void 0){e=!1}var n=this._platformLocation.pathname+h.normalizeQueryParams(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?""+n+r:n};n.pushState=function t(e,n,r,i){var o=this.prepareExternalUrl(r+h.normalizeQueryParams(i));this._platformLocation.pushState(e,n,o)};n.replaceState=function t(e,n,r,i){var o=this.prepareExternalUrl(r+h.normalizeQueryParams(i));this._platformLocation.replaceState(e,n,o)};n.forward=function t(){this._platformLocation.forward()};n.back=function t(){this._platformLocation.back()};return e}(c);var m=function(){var t={Zero:0,One:1,Two:2,Few:3,Many:4,Other:5};return t[t.Zero]="Zero",t[t.One]="One",t[t.Two]="Two",t[t.Few]="Few",t[t.Many]="Many",t[t.Other]="Other",t}(),g=function(){var t={Format:0,Standalone:1};return t[t.Format]="Format",t[t.Standalone]="Standalone",t}(),y=function(){var t={Narrow:0,Abbreviated:1,Wide:2,Short:3};return t[t.Narrow]="Narrow",t[t.Abbreviated]="Abbreviated",t[t.Wide]="Wide",t[t.Short]="Short",t}(),b=function(){var t={Short:0,Medium:1,Long:2,Full:3};return t[t.Short]="Short",t[t.Medium]="Medium",t[t.Long]="Long",t[t.Full]="Full",t}(),_=function(){var t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};return t[t.Decimal]="Decimal",t[t.Group]="Group",t[t.List]="List",t[t.PercentSign]="PercentSign",t[t.PlusSign]="PlusSign",t[t.MinusSign]="MinusSign",t[t.Exponential]="Exponential",t[t.SuperscriptingExponent]="SuperscriptingExponent",t[t.PerMille]="PerMille",t[t.Infinity]="Infinity",t[t.NaN]="NaN",t[t.TimeSeparator]="TimeSeparator",t[t.CurrencyDecimal]="CurrencyDecimal",t[t.CurrencyGroup]="CurrencyGroup",t}();function w(t,e,n){var r=Object(s.tb)(t),i=A([r[s.db.DayPeriodsFormat],r[s.db.DayPeriodsStandalone]],e);return A(i,n)}function C(t,e,n){var r=Object(s.tb)(t),i=A([r[s.db.DaysFormat],r[s.db.DaysStandalone]],e);return A(i,n)}function S(t,e,n){var r=Object(s.tb)(t),i=A([r[s.db.MonthsFormat],r[s.db.MonthsStandalone]],e);return A(i,n)}function E(t,e){return A(Object(s.tb)(t)[s.db.DateFormat],e)}function k(t,e){return A(Object(s.tb)(t)[s.db.TimeFormat],e)}function x(t,e){return A(Object(s.tb)(t)[s.db.DateTimeFormat],e)}function O(t,e){var n=Object(s.tb)(t),r=n[s.db.NumberSymbols][e];if(void 0===r){if(e===_.CurrencyDecimal)return n[s.db.NumberSymbols][_.Decimal];if(e===_.CurrencyGroup)return n[s.db.NumberSymbols][_.Group]}return r}var T=s.ub;function D(t){if(!t[s.db.ExtraData])throw new Error('Missing extra locale data for the locale "'+t[s.db.LocaleId]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function A(t,e){for(var n=e;n>-1;n--){if(void 0!==t[n])return t[n]}throw new Error("Locale data API: locale data undefined")}function N(t){var e=t.split(":"),n=e[0],r=e[1];return{hours:+n,minutes:+r}}var I=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,R={},P=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,j=function(){var t={Short:0,ShortGMT:1,Long:2,Extended:3};return t[t.Short]="Short",t[t.ShortGMT]="ShortGMT",t[t.Long]="Long",t[t.Extended]="Extended",t}(),M=function(){var t={FullYear:0,Month:1,Date:2,Hours:3,Minutes:4,Seconds:5,FractionalSeconds:6,Day:7};return t[t.FullYear]="FullYear",t[t.Month]="Month",t[t.Date]="Date",t[t.Hours]="Hours",t[t.Minutes]="Minutes",t[t.Seconds]="Seconds",t[t.FractionalSeconds]="FractionalSeconds",t[t.Day]="Day",t}(),V=function(){var t={DayPeriods:0,Days:1,Months:2,Eras:3};return t[t.DayPeriods]="DayPeriods",t[t.Days]="Days",t[t.Months]="Months",t[t.Eras]="Eras",t}();function F(t,e,n,r){var i=function(t){if(Z(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){t=t.trim();var e=parseFloat(t);if(!isNaN(t-e))return new Date(e);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(t)){var n=t.split("-").map(function(t){return+t}),r=n[0],i=n[1],o=n[2];return new Date(r,i-1,o)}var a;if(a=t.match(I))return function(t){var e=new Date(0);var n=0,r=0;var i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=Number(t[9]+t[10]),r=Number(t[9]+t[11])),i.call(e,Number(t[1]),Number(t[2])-1,Number(t[3]));var a=Number(t[4]||0)-n,s=Number(t[5]||0)-r,u=Number(t[6]||0),l=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,a,s,u,l),e}(a)}var s=new Date(t);if(!Z(s))throw new Error('Unable to convert "'+t+'" into a date');return s}(t);e=function t(e,n){var r=function(t){return Object(s.tb)(t)[s.db.LocaleId]}(e);if(R[r]=R[r]||{},R[r][n])return R[r][n];var i="";switch(n){case"shortDate":i=E(e,b.Short);break;case"mediumDate":i=E(e,b.Medium);break;case"longDate":i=E(e,b.Long);break;case"fullDate":i=E(e,b.Full);break;case"shortTime":i=k(e,b.Short);break;case"mediumTime":i=k(e,b.Medium);break;case"longTime":i=k(e,b.Long);break;case"fullTime":i=k(e,b.Full);break;case"short":var o=t(e,"shortTime"),a=t(e,"shortDate");i=L(x(e,b.Short),[o,a]);break;case"medium":var u=t(e,"mediumTime"),l=t(e,"mediumDate");i=L(x(e,b.Medium),[u,l]);break;case"long":var c=t(e,"longTime"),f=t(e,"longDate");i=L(x(e,b.Long),[c,f]);break;case"full":var h=t(e,"fullTime"),d=t(e,"fullDate");i=L(x(e,b.Full),[h,d])}return i&&(R[r][n]=i),i}(n,e)||e;var o,a=[];for(;e;){if(!(o=P.exec(e))){a.push(e);break}{var u=(a=a.concat(o.slice(1))).pop();if(!u)break;e=u}}var l=i.getTimezoneOffset();r&&(l=K(r,l),i=function(t,e,n){var r=t.getTimezoneOffset();return function(t,e){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+e),t}(t,-1*(K(e,r)-r))}(i,r));var c="";return a.forEach(function(t){var e=function(t){if(Q[t])return Q[t];var e;switch(t){case"G":case"GG":case"GGG":e=z(V.Eras,y.Abbreviated);break;case"GGGG":e=z(V.Eras,y.Wide);break;case"GGGGG":e=z(V.Eras,y.Narrow);break;case"y":e=H(M.FullYear,1,0,!1,!0);break;case"yy":e=H(M.FullYear,2,0,!0,!0);break;case"yyy":e=H(M.FullYear,3,0,!1,!0);break;case"yyyy":e=H(M.FullYear,4,0,!1,!0);break;case"M":case"L":e=H(M.Month,1,1);break;case"MM":case"LL":e=H(M.Month,2,1);break;case"MMM":e=z(V.Months,y.Abbreviated);break;case"MMMM":e=z(V.Months,y.Wide);break;case"MMMMM":e=z(V.Months,y.Narrow);break;case"LLL":e=z(V.Months,y.Abbreviated,g.Standalone);break;case"LLLL":e=z(V.Months,y.Wide,g.Standalone);break;case"LLLLL":e=z(V.Months,y.Narrow,g.Standalone);break;case"w":e=G(1);break;case"ww":e=G(2);break;case"W":e=G(1,!0);break;case"d":e=H(M.Date,1);break;case"dd":e=H(M.Date,2);break;case"E":case"EE":case"EEE":e=z(V.Days,y.Abbreviated);break;case"EEEE":e=z(V.Days,y.Wide);break;case"EEEEE":e=z(V.Days,y.Narrow);break;case"EEEEEE":e=z(V.Days,y.Short);break;case"a":case"aa":case"aaa":e=z(V.DayPeriods,y.Abbreviated);break;case"aaaa":e=z(V.DayPeriods,y.Wide);break;case"aaaaa":e=z(V.DayPeriods,y.Narrow);break;case"b":case"bb":case"bbb":e=z(V.DayPeriods,y.Abbreviated,g.Standalone,!0);break;case"bbbb":e=z(V.DayPeriods,y.Wide,g.Standalone,!0);break;case"bbbbb":e=z(V.DayPeriods,y.Narrow,g.Standalone,!0);break;case"B":case"BB":case"BBB":e=z(V.DayPeriods,y.Abbreviated,g.Format,!0);break;case"BBBB":e=z(V.DayPeriods,y.Wide,g.Format,!0);break;case"BBBBB":e=z(V.DayPeriods,y.Narrow,g.Format,!0);break;case"h":e=H(M.Hours,1,-12);break;case"hh":e=H(M.Hours,2,-12);break;case"H":e=H(M.Hours,1);break;case"HH":e=H(M.Hours,2);break;case"m":e=H(M.Minutes,1);break;case"mm":e=H(M.Minutes,2);break;case"s":e=H(M.Seconds,1);break;case"ss":e=H(M.Seconds,2);break;case"S":e=H(M.FractionalSeconds,1);break;case"SS":e=H(M.FractionalSeconds,2);break;case"SSS":e=H(M.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":e=B(j.Short);break;case"ZZZZZ":e=B(j.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":e=B(j.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":e=B(j.Long);break;default:return null}return Q[t]=e,e}(t);c+=e?e(i,n,l):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function L(t,e){return e&&(t=t.replace(/\{([^}]+)}/g,function(t,n){return null!=e&&n in e?e[n]:t})),t}function U(t,e,n,r,i){if(n===void 0){n="-"}var o="";(t<0||i&&t<=0)&&(i?t=1-t:(t=-t,o=n));var a=String(t);for(;a.length<e;){a="0"+a}return r&&(a=a.substr(a.length-e)),o+a}function H(t,e,n,r,i){if(n===void 0){n=0}if(r===void 0){r=!1}if(i===void 0){i=!1}return function(o,a){var s=function(t,e){switch(t){case M.FullYear:return e.getFullYear();case M.Month:return e.getMonth();case M.Date:return e.getDate();case M.Hours:return e.getHours();case M.Minutes:return e.getMinutes();case M.Seconds:return e.getSeconds();case M.FractionalSeconds:return e.getMilliseconds();case M.Day:return e.getDay();default:throw new Error('Unknown DateType value "'+t+'".')}}(t,o);if((n>0||s>-n)&&(s+=n),t===M.Hours)0===s&&-12===n&&(s=12);else if(t===M.FractionalSeconds)return u=e,U(s,3).substr(0,u);var u;var l=O(a,_.MinusSign);return U(s,e,l,r,i)}}function z(t,e,n,r){if(n===void 0){n=g.Format}if(r===void 0){r=!1}return function(i,o){return function(t,e,n,r,i,o){switch(n){case V.Months:return S(e,i,r)[t.getMonth()];case V.Days:return C(e,i,r)[t.getDay()];case V.DayPeriods:var a=t.getHours(),u=t.getMinutes();if(o){var l=function(t){var e=Object(s.tb)(t);return D(e),(e[s.db.ExtraData][2]||[]).map(function(t){return"string"==typeof t?N(t):[N(t[0]),N(t[1])]})}(e),c=function(t,e,n){var r=Object(s.tb)(t);D(r);var i=A([r[s.db.ExtraData][0],r[s.db.ExtraData][1]],e)||[];return A(i,n)||[]}(e,i,r);var f;if(l.forEach(function(t,e){if(Array.isArray(t)){var n=t[0],r=n.hours,i=n.minutes,o=t[1],s=o.hours,l=o.minutes;a>=r&&u>=i&&(a<s||a===s&&u<l)&&(f=c[e])}else{var h=t.hours,d=t.minutes;h===a&&d===u&&(f=c[e])}}),f)return f}return w(e,i,r)[a<12?0:1];case V.Eras:return function(t,e){return A(Object(s.tb)(t)[s.db.Eras],e)}(e,r)[t.getFullYear()<=0?0:1];default:throw new Error("unexpected translation type "+n)}}(i,o,t,e,n,r)}}function B(t){return function(e,n,r){var i=-1*r,o=O(n,_.MinusSign),a=i>0?Math.floor(i/60):Math.ceil(i/60);switch(t){case j.Short:return(i>=0?"+":"")+U(a,2,o)+U(Math.abs(i%60),2,o);case j.ShortGMT:return"GMT"+(i>=0?"+":"")+U(a,1,o);case j.Long:return"GMT"+(i>=0?"+":"")+U(a,2,o)+":"+U(Math.abs(i%60),2,o);case j.Extended:return 0===r?"Z":(i>=0?"+":"")+U(a,2,o)+":"+U(Math.abs(i%60),2,o);default:throw new Error('Unknown zone width "'+t+'"')}}}var q=0,W=4;function G(t,e){if(e===void 0){e=!1}return function(n,r){var i;if(e){var o=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,a=n.getDate();i=1+Math.floor((a+o)/7)}else{var s=function(t){var e=new Date(t,q,1).getDay();return new Date(t,0,1+(e<=W?W:W+7)-e)}(n.getFullYear()),u=(l=n,new Date(l.getFullYear(),l.getMonth(),l.getDate()+(W-l.getDay()))).getTime()-s.getTime();i=1+Math.round(u/6048e5)}var l;return U(i,t,O(r,_.MinusSign))}}var Q={};function K(t,e){t=t.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(n)?e:n}function Z(t){return t instanceof Date&&!isNaN(t.valueOf())}var $=new s.p("UseV4Plurals");var Y=function t(){};var J=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.locale=e,r.deprecatedPluralFn=n;return r}var n=e.prototype;n.getPluralCategory=function t(e,n){switch(this.deprecatedPluralFn?this.deprecatedPluralFn(n||this.locale,e):T(n||this.locale)(e)){case m.Zero:return"zero";case m.One:return"one";case m.Two:return"two";case m.Few:return"few";case m.Many:return"many";default:return"other"}};return e}(Y);function X(t,e){e=encodeURIComponent(e);for(var n=t.split(";"),r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{i=n.next();if(i.done)break;o=i.value}var a=o;var s=a.indexOf("="),u=-1==s?[a,""]:[a.slice(0,s),a.slice(s+1)],l=u[0],c=u[1];if(l.trim()===e)return decodeURIComponent(c)}return null}var tt=function t(){};var et=function(){function t(t,e,n,r){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=r,this._initialClasses=[]}var e=t.prototype;e.getValue=function t(){return null};e.setClass=function t(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)};e.setNgClass=function t(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Object(s.xb)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())};e.applyChanges=function t(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var n=this._keyValueDiffer.diff(this._rawClass);n&&this._applyKeyValueChanges(n)}};e._applyKeyValueChanges=function t(e){var n=this;e.forEachAddedItem(function(t){return n._toggleClass(t.key,t.currentValue)}),e.forEachChangedItem(function(t){return n._toggleClass(t.key,t.currentValue)}),e.forEachRemovedItem(function(t){t.previousValue&&n._toggleClass(t.key,!1)})};e._applyIterableChanges=function t(e){var n=this;e.forEachAddedItem(function(t){if("string"!=typeof t.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got "+Object(s.Jb)(t.item));n._toggleClass(t.item,!0)}),e.forEachRemovedItem(function(t){return n._toggleClass(t.item,!1)})};e._applyClasses=function t(e){var n=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(t){return n._toggleClass(t,!0)}):Object.keys(e).forEach(function(t){return n._toggleClass(t,!!e[t])}))};e._removeClasses=function t(e){var n=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(t){return n._toggleClass(t,!1)}):Object.keys(e).forEach(function(t){return n._toggleClass(t,!1)}))};e._toggleClass=function t(e,n){var r=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(t){n?r._renderer.addClass(r._ngEl.nativeElement,t):r._renderer.removeClass(r._ngEl.nativeElement,t)})};return t}();var nt=function(){var t=function(){function t(t){this._delegate=t}var e=t.prototype;e.getValue=function t(){return this._delegate.getValue()};return t}();return t.ngDirectiveDef=void 0,t}();var rt=function(t){a(e,t);function e(e){return t.call(this,e)||this}var n=e.prototype;n.ngDoCheck=function t(){this._delegate.applyChanges()};o(e,[{key:"klass",set:function t(e){this._delegate.setClass(e)}},{key:"ngClass",set:function t(e){this._delegate.setNgClass(e)}}]);return e}(nt);var it=function(){function t(t,e,n,r){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=r}o(t,[{key:"first",get:function t(){return 0===this.index}},{key:"last",get:function t(){return this.index===this.count-1}},{key:"even",get:function t(){return this.index%2==0}},{key:"odd",get:function t(){return!this.even}}]);return t}();var ot=function(){function t(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOfDirty=!0,this._differ=null}var e=t.prototype;e.ngDoCheck=function t(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(i){throw new Error("Cannot find a differ supporting object '"+e+"' of type '"+(n=e,n.name||typeof n)+"'. NgFor only supports binding to Iterables such as Arrays.")}}var n;if(this._differ){var r=this._differ.diff(this._ngForOf);r&&this._applyChanges(r)}};e._applyChanges=function t(e){var n=this;var r=[];e.forEachOperation(function(t,e,i){if(null==t.previousIndex){var o=n._viewContainer.createEmbeddedView(n._template,new it(null,n._ngForOf,-1,-1),null===i?void 0:i),a=new at(t,o);r.push(a)}else if(null==i)n._viewContainer.remove(null===e?void 0:e);else if(null!==e){var s=n._viewContainer.get(e);n._viewContainer.move(s,i);var u=new at(t,s);r.push(u)}});for(var i=0;i<r.length;i++){this._perViewChange(r[i].view,r[i].record)}for(var o=0,a=this._viewContainer.length;o<a;o++){var s=this._viewContainer.get(o);s.context.index=o,s.context.count=a,s.context.ngForOf=this._ngForOf}e.forEachIdentityChange(function(t){n._viewContainer.get(t.currentIndex).context.$implicit=t.item})};e._perViewChange=function t(e,n){e.context.$implicit=n.item};t.ngTemplateContextGuard=function t(e,n){return!0};o(t,[{key:"ngForOf",set:function t(e){this._ngForOf=e,this._ngForOfDirty=!0}},{key:"ngForTrackBy",set:function t(e){Object(s.W)()&&null!=e&&"function"!=typeof e&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(e)+". "+"See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=e},get:function t(){return this._trackByFn}},{key:"ngForTemplate",set:function t(e){e&&(this._template=e)}}]);return t}();var at=function t(e,n){this.record=e,this.view=n};var st=function(){function t(t,e){this._viewContainer=t,this._context=new ut,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=e}var e=t.prototype;e._updateView=function t(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))};o(t,[{key:"ngIf",set:function t(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}},{key:"ngIfThen",set:function t(e){lt("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}},{key:"ngIfElse",set:function t(e){lt("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}}]);return t}();var ut=function t(){this.$implicit=null,this.ngIf=null};function lt(t,e){if(e&&!e.createEmbeddedView)throw new Error(t+" must be a TemplateRef, but received '"+Object(s.Jb)(e)+"'.")}var ct=function t(){};var ft=function(){function t(t,e,n){this._ngEl=t,this._differs=e,this._renderer=n}var e=t.prototype;e.getValue=function t(){return null};e.setNgStyle=function t(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())};e.applyChanges=function t(){if(this._differ){var e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}};e._applyChanges=function t(e){var n=this;e.forEachRemovedItem(function(t){return n._setStyle(t.key,null)}),e.forEachAddedItem(function(t){return n._setStyle(t.key,t.currentValue)}),e.forEachChangedItem(function(t){return n._setStyle(t.key,t.currentValue)})};e._setStyle=function t(e,n){var r=e.split("."),i=r[0],o=r[1];null!=(n=null!=n&&o?""+n+o:n)?this._renderer.setStyle(this._ngEl.nativeElement,i,n):this._renderer.removeStyle(this._ngEl.nativeElement,i)};return t}();var ht=function(){var t=function(){function t(t){this._delegate=t}var e=t.prototype;e.getValue=function t(){return this._delegate.getValue()};return t}();return t.ngDirectiveDef=void 0,t}();var dt=function(t){a(e,t);function e(e){return t.call(this,e)||this}var n=e.prototype;n.ngDoCheck=function t(){this._delegate.applyChanges()};o(e,[{key:"ngStyle",set:function t(e){this._delegate.setNgStyle(e)}}]);return e}(ht);var pt=function(){function t(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null}var e=t.prototype;e.ngOnChanges=function t(e){this._shouldRecreateView(e)?(this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this.ngTemplateOutlet&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this.ngTemplateOutlet,this.ngTemplateOutletContext))):this._viewRef&&this.ngTemplateOutletContext&&this._updateExistingContext(this.ngTemplateOutletContext)};e._shouldRecreateView=function t(e){var n=e.ngTemplateOutletContext;return!!e.ngTemplateOutlet||n&&this._hasContextShapeChanged(n)};e._hasContextShapeChanged=function t(e){var n=Object.keys(e.previousValue||{}),r=Object.keys(e.currentValue||{});if(n.length===r.length){for(var i=0,o=r;i<o.length;i++){var a=o[i];if(-1===n.indexOf(a))return!0}return!1}return!0};e._updateExistingContext=function t(e){for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];this._viewRef.context[i]=this.ngTemplateOutletContext[i]}};return t}();var vt=function t(){};var mt=new s.p("DocumentToken"),gt="browser",yt="server";function bt(t){return t===gt}function _t(t){return t===yt}var wt=function(){var t=function t(){};return t.ngInjectableDef=Object(s.Pb)({token:t,providedIn:"root",factory:function t(){return new Ct(Object(s.Qb)(mt),window,Object(s.Qb)(s.l))}}),t}();var Ct=function(){function t(t,e,n){this.document=t,this.window=e,this.errorHandler=n,this.offset=function(){return[0,0]}}var e=t.prototype;e.setOffset=function t(e){this.offset=Array.isArray(e)?function(){return e}:e};e.getScrollPosition=function t(){return this.supportScrollRestoration()?[this.window.scrollX,this.window.scrollY]:[0,0]};e.scrollToPosition=function t(e){this.supportScrollRestoration()&&this.window.scrollTo(e[0],e[1])};e.scrollToAnchor=function t(e){if(this.supportScrollRestoration()){e=this.window.CSS&&this.window.CSS.escape?this.window.CSS.escape(e):e.replace(/(\"|\'\ |:|\.|\[|\]|,|=)/g,"\\$1");try{var n=this.document.querySelector("#"+e);if(n)return void this.scrollToElement(n);var r=this.document.querySelector("[name='"+e+"']");if(r)return void this.scrollToElement(r)}catch(i){this.errorHandler.handleError(i)}}};e.setHistoryScrollRestoration=function t(e){if(this.supportScrollRestoration()){var n=this.window.history;n&&n.scrollRestoration&&(n.scrollRestoration=e)}};e.scrollToElement=function t(e){var n=e.getBoundingClientRect(),r=n.left+this.window.pageXOffset,i=n.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(r-o[0],i-o[1])};e.supportScrollRestoration=function t(){try{return!!this.window&&!!this.window.scrollTo}catch(e){return!1}};return t}()},SeVD:function t(e,n,r){"use strict";r.d(n,"a",function(){return p});var i=r("HDdC"),o=r("ngJS"),a=r("a7t3"),s=r("pLzU"),u=r("CRDf"),l=r("I55L"),c=r("c2HN"),f=r("XoHu"),h=r("Lhse"),d=r("kJWO");var p=function t(e){if(e instanceof i.a)return function(t){return e._isScalar?(t.next(e.value),void t.complete()):e.subscribe(t)};if(e&&"function"==typeof e[d.a])return Object(u.a)(e);if(Object(l.a)(e))return Object(o.a)(e);if(Object(c.a)(e))return Object(a.a)(e);if(e&&"function"==typeof e[h.a])return Object(s.a)(e);{var n=Object(f.a)(e)?"an invalid object":"'"+e+"'";throw new TypeError("You provided "+n+" where a stream was expected."+" You can provide an Observable, Promise, Array, or Iterable.")}}},SpAZ:function t(e,n,r){"use strict";function i(t){return t}r.d(n,"a",function(){return i})},VRyK:function t(e,n,r){"use strict";r.d(n,"a",function(){return u});var i=r("HDdC"),o=r("z+Ro"),a=r("bHdf"),s=r("yCtX");function u(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}var r=Number.POSITIVE_INFINITY,u=null,l=e[e.length-1];return Object(o.a)(l)?(u=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(r=e.pop())):"number"==typeof l&&(r=e.pop()),null===u&&1===e.length&&e[0]instanceof i.a?e[0]:Object(a.a)(r)(Object(s.a)(e,u))}},XNiG:function t(e,n,r){"use strict";var i=r("HDdC"),o=r("7o/Q"),s=r("quSY"),u=r("9ppp");var l=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.subject=e,r.subscriber=n,r.closed=!1;return r}var n=e.prototype;n.unsubscribe=function t(){if(this.closed)return;this.closed=!0;var e=this.subject,n=e.observers;if(this.subject=null,!n||0===n.length||e.isStopped||e.closed)return;var r=n.indexOf(this.subscriber);-1!==r&&n.splice(r,1)};return e}(s.a);var c=r("2QA8");r.d(n,"b",function(){return f}),r.d(n,"a",function(){return h});var f=function(t){a(e,t);function e(e){var n;n=t.call(this,e)||this,n.destination=e;return n}return e}(o.a);var h=function(){var t=function(t){a(e,t);function e(){var e;e=t.call(this)||this,e.observers=[],e.closed=!1,e.isStopped=!1,e.hasError=!1,e.thrownError=null;return e}var n=e.prototype;n[c.a]=function(){return new f(this)};n.lift=function t(e){var n=new d(this,this);return n.operator=e,n};n.next=function t(e){if(this.closed)throw new u.a;if(!this.isStopped){var n=this.observers,r=n.length,i=n.slice();for(var o=0;o<r;o++){i[o].next(e)}}};n.error=function t(e){if(this.closed)throw new u.a;this.hasError=!0,this.thrownError=e,this.isStopped=!0;var n=this.observers,r=n.length,i=n.slice();for(var o=0;o<r;o++){i[o].error(e)}this.observers.length=0};n.complete=function t(){if(this.closed)throw new u.a;this.isStopped=!0;var e=this.observers,n=e.length,r=e.slice();for(var i=0;i<n;i++){r[i].complete()}this.observers.length=0};n.unsubscribe=function t(){this.isStopped=!0,this.closed=!0,this.observers=null};n._trySubscribe=function e(n){if(this.closed)throw new u.a;return t.prototype._trySubscribe.call(this,n)};n._subscribe=function t(e){if(this.closed)throw new u.a;return this.hasError?(e.error(this.thrownError),s.a.EMPTY):this.isStopped?(e.complete(),s.a.EMPTY):(this.observers.push(e),new l(this,e))};n.asObservable=function t(){var e=new i.a;return e.source=this,e};return e}(i.a);return t.create=function(t,e){return new d(t,e)},t}();var d=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.destination=e,r.source=n;return r}var n=e.prototype;n.next=function t(e){var n=this.destination;n&&n.next&&n.next(e)};n.error=function t(e){var n=this.destination;n&&n.error&&this.destination.error(e)};n.complete=function t(){var e=this.destination;e&&e.complete&&this.destination.complete()};n._subscribe=function t(e){var n=this.source;return n?this.source.subscribe(e):s.a.EMPTY};return e}(h)},XUOw:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("HDdC");function o(t){var e=new i.a(function(e){e.next(t),e.complete()});return e._isScalar=!0,e.value=t,e}},XoHu:function t(e,n,r){"use strict";function i(t){return null!==t&&"object"==typeof t}r.d(n,"a",function(){return i})},ZUHj:function t(e,n,r){"use strict";r.d(n,"a",function(){return a});var i=r("51Dv"),o=r("SeVD");function a(t,e,n,r,a){if(a===void 0){a=new i.a(t,n,r)}if(!a.closed)return Object(o.a)(e)(a)}},a7t3:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("NJ4a");var o=function t(e){return function(t){return e.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,i.a),t}}},bHdf:function t(e,n,r){"use strict";r.d(n,"a",function(){return a});var i=r("5+tZ"),o=r("SpAZ");function a(t){if(t===void 0){t=Number.POSITIVE_INFINITY}return Object(i.a)(o.a,t)}},c2HN:function t(e,n,r){"use strict";function i(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}r.d(n,"a",function(){return i})},cUpR:function t(e,n,r){"use strict";r.d(n,"p",function(){return kt}),r.d(n,"q",function(){return D}),r.d(n,"a",function(){return xt}),r.d(n,"h",function(){return Et}),r.d(n,"c",function(){return A}),r.d(n,"d",function(){return N}),r.d(n,"e",function(){return ut}),r.d(n,"f",function(){return lt}),r.d(n,"g",function(){return ct}),r.d(n,"b",function(){return vt}),r.d(n,"r",function(){return l}),r.d(n,"j",function(){return H}),r.d(n,"i",function(){return at}),r.d(n,"m",function(){return ft}),r.d(n,"n",function(){return pt}),r.d(n,"l",function(){return P}),r.d(n,"o",function(){return R}),r.d(n,"k",function(){return mt});var i=r("SVse"),s=r("8Y7J");var u=null;function l(){return u}var c=function(){function t(){this.resourceLoaderType=null}o(t,[{key:"attrToPropMap",get:function t(){return this._attrToPropMap},set:function t(e){this._attrToPropMap=e}}]);return t}();var f=function(t){a(e,t);function e(){var e;e=t.call(this)||this,e._animationPrefix=null,e._transitionEnd=null;try{var n=e.createElement("div",document);if(null!=e.getStyle(n,"animationName"))e._animationPrefix="";else{var r=["Webkit","Moz","O","ms"];for(var i=0;i<r.length;i++){if(null!=e.getStyle(n,r[i]+"AnimationName")){e._animationPrefix="-"+r[i].toLowerCase()+"-";break}}}var o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(o).forEach(function(t){null!=e.getStyle(n,t)&&(e._transitionEnd=o[t])})}catch(a){e._animationPrefix=null,e._transitionEnd=null}return e}var n=e.prototype;n.getDistributedNodes=function t(e){return e.getDistributedNodes()};n.resolveAndSetHref=function t(e,n,r){e.href=null==r?n:n+"/../"+r};n.supportsDOMEvents=function t(){return!0};n.supportsNativeShadowDOM=function t(){return"function"==typeof document.body.createShadowRoot};n.getAnimationPrefix=function t(){return this._animationPrefix?this._animationPrefix:""};n.getTransitionEnd=function t(){return this._transitionEnd?this._transitionEnd:""};n.supportsAnimation=function t(){return null!=this._animationPrefix&&null!=this._transitionEnd};return e}(c);var h={class:"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},d=3,p={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},v={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},m=function(){if(s.vb.Node)return s.vb.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))}}();var g=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.parse=function t(e){throw new Error("parse not implemented")};e.makeCurrent=function t(){var n;n=new e,u||(u=n)};n.hasProperty=function t(e,n){return n in e};n.setProperty=function t(e,n,r){e[n]=r};n.getProperty=function t(e,n){return e[n]};n.invoke=function t(e,n,r){e[n].apply(e,r)};n.logError=function t(e){window.console&&(console.error?console.error(e):console.log(e))};n.log=function t(e){window.console&&window.console.log&&window.console.log(e)};n.logGroup=function t(e){window.console&&window.console.group&&window.console.group(e)};n.logGroupEnd=function t(){window.console&&window.console.groupEnd&&window.console.groupEnd()};n.contains=function t(e,n){return m.call(e,n)};n.querySelector=function t(e,n){return e.querySelector(n)};n.querySelectorAll=function t(e,n){return e.querySelectorAll(n)};n.on=function t(e,n,r){e.addEventListener(n,r,!1)};n.onAndCancel=function t(e,n,r){return e.addEventListener(n,r,!1),function(){e.removeEventListener(n,r,!1)}};n.dispatchEvent=function t(e,n){e.dispatchEvent(n)};n.createMouseEvent=function t(e){var n=this.getDefaultDocument().createEvent("MouseEvent");return n.initEvent(e,!0,!0),n};n.createEvent=function t(e){var n=this.getDefaultDocument().createEvent("Event");return n.initEvent(e,!0,!0),n};n.preventDefault=function t(e){e.preventDefault(),e.returnValue=!1};n.isPrevented=function t(e){return e.defaultPrevented||null!=e.returnValue&&!e.returnValue};n.getInnerHTML=function t(e){return e.innerHTML};n.getTemplateContent=function t(e){return"content"in e&&this.isTemplateElement(e)?e.content:null};n.getOuterHTML=function t(e){return e.outerHTML};n.nodeName=function t(e){return e.nodeName};n.nodeValue=function t(e){return e.nodeValue};n.type=function t(e){return e.type};n.content=function t(e){return this.hasProperty(e,"content")?e.content:e};n.firstChild=function t(e){return e.firstChild};n.nextSibling=function t(e){return e.nextSibling};n.parentElement=function t(e){return e.parentNode};n.childNodes=function t(e){return e.childNodes};n.childNodesAsList=function t(e){var n=e.childNodes,r=new Array(n.length);for(var i=0;i<n.length;i++){r[i]=n[i]}return r};n.clearNodes=function t(e){for(;e.firstChild;){e.removeChild(e.firstChild)}};n.appendChild=function t(e,n){e.appendChild(n)};n.removeChild=function t(e,n){e.removeChild(n)};n.replaceChild=function t(e,n,r){e.replaceChild(n,r)};n.remove=function t(e){return e.parentNode&&e.parentNode.removeChild(e),e};n.insertBefore=function t(e,n,r){e.insertBefore(r,n)};n.insertAllBefore=function t(e,n,r){r.forEach(function(t){return e.insertBefore(t,n)})};n.insertAfter=function t(e,n,r){e.insertBefore(r,n.nextSibling)};n.setInnerHTML=function t(e,n){e.innerHTML=n};n.getText=function t(e){return e.textContent};n.setText=function t(e,n){e.textContent=n};n.getValue=function t(e){return e.value};n.setValue=function t(e,n){e.value=n};n.getChecked=function t(e){return e.checked};n.setChecked=function t(e,n){e.checked=n};n.createComment=function t(e){return this.getDefaultDocument().createComment(e)};n.createTemplate=function t(e){var n=this.getDefaultDocument().createElement("template");return n.innerHTML=e,n};n.createElement=function t(e,n){return(n=n||this.getDefaultDocument()).createElement(e)};n.createElementNS=function t(e,n,r){return(r=r||this.getDefaultDocument()).createElementNS(e,n)};n.createTextNode=function t(e,n){return(n=n||this.getDefaultDocument()).createTextNode(e)};n.createScriptTag=function t(e,n,r){var i=(r=r||this.getDefaultDocument()).createElement("SCRIPT");return i.setAttribute(e,n),i};n.createStyleElement=function t(e,n){var r=(n=n||this.getDefaultDocument()).createElement("style");return this.appendChild(r,this.createTextNode(e,n)),r};n.createShadowRoot=function t(e){return e.createShadowRoot()};n.getShadowRoot=function t(e){return e.shadowRoot};n.getHost=function t(e){return e.host};n.clone=function t(e){return e.cloneNode(!0)};n.getElementsByClassName=function t(e,n){return e.getElementsByClassName(n)};n.getElementsByTagName=function t(e,n){return e.getElementsByTagName(n)};n.classList=function t(e){return Array.prototype.slice.call(e.classList,0)};n.addClass=function t(e,n){e.classList.add(n)};n.removeClass=function t(e,n){e.classList.remove(n)};n.hasClass=function t(e,n){return e.classList.contains(n)};n.setStyle=function t(e,n,r){e.style[n]=r};n.removeStyle=function t(e,n){e.style[n]=""};n.getStyle=function t(e,n){return e.style[n]};n.hasStyle=function t(e,n,r){var i=this.getStyle(e,n)||"";return r?i==r:i.length>0};n.tagName=function t(e){return e.tagName};n.attributeMap=function t(e){var n=new Map,r=e.attributes;for(var i=0;i<r.length;i++){var o=r.item(i);n.set(o.name,o.value)}return n};n.hasAttribute=function t(e,n){return e.hasAttribute(n)};n.hasAttributeNS=function t(e,n,r){return e.hasAttributeNS(n,r)};n.getAttribute=function t(e,n){return e.getAttribute(n)};n.getAttributeNS=function t(e,n,r){return e.getAttributeNS(n,r)};n.setAttribute=function t(e,n,r){e.setAttribute(n,r)};n.setAttributeNS=function t(e,n,r,i){e.setAttributeNS(n,r,i)};n.removeAttribute=function t(e,n){e.removeAttribute(n)};n.removeAttributeNS=function t(e,n,r){e.removeAttributeNS(n,r)};n.templateAwareRoot=function t(e){return this.isTemplateElement(e)?this.content(e):e};n.createHtmlDocument=function t(){return document.implementation.createHTMLDocument("fakeTitle")};n.getDefaultDocument=function t(){return document};n.getBoundingClientRect=function t(e){try{return e.getBoundingClientRect()}catch(n){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}};n.getTitle=function t(e){return e.title};n.setTitle=function t(e,n){e.title=n||""};n.elementMatches=function t(e,n){return!!this.isElementNode(e)&&(e.matches&&e.matches(n)||e.msMatchesSelector&&e.msMatchesSelector(n)||e.webkitMatchesSelector&&e.webkitMatchesSelector(n))};n.isTemplateElement=function t(e){return this.isElementNode(e)&&"TEMPLATE"===e.nodeName};n.isTextNode=function t(e){return e.nodeType===Node.TEXT_NODE};n.isCommentNode=function t(e){return e.nodeType===Node.COMMENT_NODE};n.isElementNode=function t(e){return e.nodeType===Node.ELEMENT_NODE};n.hasShadowRoot=function t(e){return null!=e.shadowRoot&&e instanceof HTMLElement};n.isShadowRoot=function t(e){return e instanceof DocumentFragment};n.importIntoDoc=function t(e){return document.importNode(this.templateAwareRoot(e),!0)};n.adoptNode=function t(e){return document.adoptNode(e)};n.getHref=function t(e){return e.getAttribute("href")};n.getEventKey=function t(e){var n=e.key;if(null==n){if(null==(n=e.keyIdentifier))return"Unidentified";n.startsWith("U+")&&(n=String.fromCharCode(parseInt(n.substring(2),16)),e.location===d&&v.hasOwnProperty(n)&&(n=v[n]))}return p[n]||n};n.getGlobalEventTarget=function t(e,n){return"window"===n?window:"document"===n?e:"body"===n?e.body:null};n.getHistory=function t(){return window.history};n.getLocation=function t(){return window.location};n.getBaseHref=function t(e){var n=b||(b=document.querySelector("base"))?b.getAttribute("href"):null;return null==n?null:(r=n,y||(y=document.createElement("a")),y.setAttribute("href",r),"/"===y.pathname.charAt(0)?y.pathname:"/"+y.pathname);var r};n.resetBaseElement=function t(){b=null};n.getUserAgent=function t(){return window.navigator.userAgent};n.setData=function t(e,n,r){this.setAttribute(e,"data-"+n,r)};n.getData=function t(e,n){return this.getAttribute(e,"data-"+n)};n.getComputedStyle=function(t){function e(e){return t.apply(this,arguments)}e.toString=function(){return t.toString()};return e}(function(t){return getComputedStyle(t)});n.supportsWebAnimation=function t(){return"function"==typeof Element.prototype.animate};n.performanceNow=function t(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()};n.supportsCookies=function t(){return!0};n.getCookie=function t(e){return Object(i.F)(document.cookie,e)};n.setCookie=function t(e,n){document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(n)};o(e,[{key:"attrToPropMap",get:function t(){return h}}]);return e}(f);var y,b=null;function _(){return!!window.history.pushState}var w=new s.p("TRANSITION_ID"),C=[{provide:s.d,useFactory:function t(e,n,r){return function(){r.get(s.e).donePromise.then(function(){var t=l();Array.prototype.slice.apply(t.querySelectorAll(n,"style[ng-transition]")).filter(function(n){return t.getAttribute(n,"ng-transition")===e}).forEach(function(e){return t.remove(e)})})}},deps:[w,i.c,s.q],multi:!0}];var S=function(){function t(){}t.init=function e(){Object(s.Y)(new t)};var e=t.prototype;e.addToWindow=function t(e){s.vb.getAngularTestability=function(t,n){if(n===void 0){n=!0}var r=e.findTestabilityInTree(t,n);if(null==r)throw new Error("Could not find testability for element.");return r},s.vb.getAllAngularTestabilities=function(){return e.getAllTestabilities()},s.vb.getAllAngularRootElements=function(){return e.getAllRootElements()},s.vb.frameworkStabilizers||(s.vb.frameworkStabilizers=[]),s.vb.frameworkStabilizers.push(function(t){var e=s.vb.getAllAngularTestabilities();var n=e.length,r=!1;var i=function e(i){r=r||i,0==--n&&t(r)};e.forEach(function(t){t.whenStable(i)})})};e.findTestabilityInTree=function t(e,n,r){if(null==n)return null;var i=e.getTestability(n);return null!=i?i:r?l().isShadowRoot(n)?this.findTestabilityInTree(e,l().getHost(n),!0):this.findTestabilityInTree(e,l().parentElement(n),!0):null};return t}();function E(t,e){"undefined"!=typeof COMPILED&&COMPILED||((s.vb.ng=s.vb.ng||{})[t]=e)}var k=function(){return{ApplicationRef:s.g,NgZone:s.y}}(),x="probe",O="coreTokens";function T(t){return Object(s.U)(t)}function D(t){return E(x,T),E(O,Object.assign({},k,(t||[]).reduce(function(t,e){return t[e.name]=e.token,t},{}))),function(){return T}}var A=new s.p("EventManagerPlugins");var N=function(){function t(t,e){var n=this;this._zone=e,this._eventNameToPlugin=new Map,t.forEach(function(t){return t.manager=n}),this._plugins=t.slice().reverse()}var e=t.prototype;e.addEventListener=function t(e,n,r){return this._findPluginFor(n).addEventListener(e,n,r)};e.addGlobalEventListener=function t(e,n,r){return this._findPluginFor(n).addGlobalEventListener(e,n,r)};e.getZone=function t(){return this._zone};e._findPluginFor=function t(e){var n=this._eventNameToPlugin.get(e);if(n)return n;var r=this._plugins;for(var i=0;i<r.length;i++){var o=r[i];if(o.supports(e))return this._eventNameToPlugin.set(e,o),o}throw new Error("No event manager plugin found for event "+e)};return t}();var I=function(){function t(t){this._doc=t}var e=t.prototype;e.addGlobalEventListener=function t(e,n,r){var i=l().getGlobalEventTarget(this._doc,e);if(!i)throw new Error("Unsupported event target "+i+" for event "+n);return this.addEventListener(i,n,r)};return t}();var R=function(){function t(){this._stylesSet=new Set}var e=t.prototype;e.addStyles=function t(e){var n=this;var r=new Set;e.forEach(function(t){n._stylesSet.has(t)||(n._stylesSet.add(t),r.add(t))}),this.onStylesAdded(r)};e.onStylesAdded=function t(e){};e.getAllStyles=function t(){return Array.from(this._stylesSet)};return t}();var P=function(t){a(e,t);function e(e){var n;n=t.call(this)||this,n._doc=e,n._hostNodes=new Set,n._styleNodes=new Set,n._hostNodes.add(e.head);return n}var n=e.prototype;n._addStylesToHost=function t(e,n){var r=this;e.forEach(function(t){var e=r._doc.createElement("style");e.textContent=t,r._styleNodes.add(n.appendChild(e))})};n.addHost=function t(e){this._addStylesToHost(this._stylesSet,e),this._hostNodes.add(e)};n.removeHost=function t(e){this._hostNodes.delete(e)};n.onStylesAdded=function t(e){var n=this;this._hostNodes.forEach(function(t){return n._addStylesToHost(e,t)})};n.ngOnDestroy=function t(){this._styleNodes.forEach(function(t){return l().remove(t)})};return e}(R);var j={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},M=/%COMP%/g,V="_nghost-%COMP%",F="_ngcontent-%COMP%";function L(t,e,n){for(var r=0;r<e.length;r++){var i=e[r];Array.isArray(i)?L(t,i,n):(i=i.replace(M,t),n.push(i))}return n}function U(t){return function(e){!1===t(e)&&(e.preventDefault(),e.returnValue=!1)}}var H=function(){function t(t,e,n){this.eventManager=t,this.sharedStylesHost=e,this.appId=n,this.rendererByCompId=new Map,this.defaultRenderer=new z(t)}var e=t.prototype;e.createRenderer=function t(e,n){if(!e||!n)return this.defaultRenderer;switch(n.encapsulation){case s.P.Emulated:{var r=this.rendererByCompId.get(n.id);return r||(r=new W(this.eventManager,this.sharedStylesHost,n,this.appId),this.rendererByCompId.set(n.id,r)),r.applyToHost(e),r}case s.P.Native:case s.P.ShadowDom:return new G(this.eventManager,this.sharedStylesHost,e,n);default:if(!this.rendererByCompId.has(n.id)){var i=L(n.id,n.styles,[]);this.sharedStylesHost.addStyles(i),this.rendererByCompId.set(n.id,this.defaultRenderer)}return this.defaultRenderer}};e.begin=function t(){};e.end=function t(){};return t}();var z=function(){function t(t){this.eventManager=t,this.data=Object.create(null)}var e=t.prototype;e.destroy=function t(){};e.createElement=function t(e,n){return n?document.createElementNS(j[n]||n,e):document.createElement(e)};e.createComment=function t(e){return document.createComment(e)};e.createText=function t(e){return document.createTextNode(e)};e.appendChild=function t(e,n){e.appendChild(n)};e.insertBefore=function t(e,n,r){e&&e.insertBefore(n,r)};e.removeChild=function t(e,n){e&&e.removeChild(n)};e.selectRootElement=function t(e,n){var r="string"==typeof e?document.querySelector(e):e;if(!r)throw new Error('The selector "'+e+'" did not match any elements');return n||(r.textContent=""),r};e.parentNode=function t(e){return e.parentNode};e.nextSibling=function t(e){return e.nextSibling};e.setAttribute=function t(e,n,r,i){if(i){n=i+":"+n;var o=j[i];o?e.setAttributeNS(o,n,r):e.setAttribute(n,r)}else e.setAttribute(n,r)};e.removeAttribute=function t(e,n,r){if(r){var i=j[r];i?e.removeAttributeNS(i,n):e.removeAttribute(r+":"+n)}else e.removeAttribute(n)};e.addClass=function t(e,n){e.classList.add(n)};e.removeClass=function t(e,n){e.classList.remove(n)};e.setStyle=function t(e,n,r,i){i&s.F.DashCase?e.style.setProperty(n,r,i&s.F.Important?"important":""):e.style[n]=r};e.removeStyle=function t(e,n,r){r&s.F.DashCase?e.style.removeProperty(n):e.style[n]=""};e.setProperty=function t(e,n,r){q(n,"property"),e[n]=r};e.setValue=function t(e,n){e.nodeValue=n};e.listen=function t(e,n,r){return q(n,"listener"),"string"==typeof e?this.eventManager.addGlobalEventListener(e,n,U(r)):this.eventManager.addEventListener(e,n,U(r))};return t}();var B=function(){return"@".charCodeAt(0)}();function q(t,e){if(t.charCodeAt(0)===B)throw new Error("Found the synthetic "+e+" "+t+'. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.')}var W=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e)||this,o.component=r;var a=L(i+"-"+r.id,r.styles,[]);n.addStyles(a),o.contentAttr=F.replace(M,i+"-"+r.id),o.hostAttr=V.replace(M,i+"-"+r.id);return o}var n=e.prototype;n.applyToHost=function e(n){t.prototype.setAttribute.call(this,n,this.hostAttr,"")};n.createElement=function e(n,r){var i=t.prototype.createElement.call(this,n,r);return t.prototype.setAttribute.call(this,i,this.contentAttr,""),i};return e}(z);var G=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e)||this,o.sharedStylesHost=n,o.hostEl=r,o.component=i,o.shadowRoot=i.encapsulation===s.P.ShadowDom?r.attachShadow({mode:"open"}):r.createShadowRoot(),o.sharedStylesHost.addHost(o.shadowRoot);var a=L(i.id,i.styles,[]);for(var u=0;u<a.length;u++){var l=document.createElement("style");l.textContent=a[u],o.shadowRoot.appendChild(l)}return o}var n=e.prototype;n.nodeOrShadowRoot=function t(e){return e===this.hostEl?this.shadowRoot:e};n.destroy=function t(){this.sharedStylesHost.removeHost(this.shadowRoot)};n.appendChild=function e(n,r){return t.prototype.appendChild.call(this,this.nodeOrShadowRoot(n),r)};n.insertBefore=function e(n,r,i){return t.prototype.insertBefore.call(this,this.nodeOrShadowRoot(n),r,i)};n.removeChild=function e(n,r){return t.prototype.removeChild.call(this,this.nodeOrShadowRoot(n),r)};n.parentNode=function e(n){return this.nodeOrShadowRoot(t.prototype.parentNode.call(this,this.nodeOrShadowRoot(n)))};return e}(z);var Q=function(){return"undefined"!=typeof Zone&&Zone.__symbol__||function(t){return"__zone_symbol__"+t}}(),K=Q("addEventListener"),Z=Q("removeEventListener"),$={},Y="FALSE",J="ANGULAR",X="addEventListener",tt="removeEventListener",et="__zone_symbol__propagationStopped",nt="__zone_symbol__stopImmediatePropagation",rt=function(){var t="undefined"!=typeof Zone&&Zone[Q("BLACK_LISTED_EVENTS")];if(t){var e={};return t.forEach(function(t){e[t]=t}),e}}(),it=function t(e){return!!rt&&rt.hasOwnProperty(e)},ot=function t(e){var n=$[e.type];if(!n)return;var r=this[n];if(!r)return;var i=[e];if(1===r.length){var o=r[0];return o.zone!==Zone.current?o.zone.run(o.handler,this,i):o.handler.apply(this,i)}{var a=r.slice();for(var s=0;s<a.length&&!0!==e[et];s++){var u=a[s];u.zone!==Zone.current?u.zone.run(u.handler,this,i):u.handler.apply(this,i)}}};var at=function(t){a(e,t);function e(e,n,r){var o;o=t.call(this,e)||this,o.ngZone=n,r&&Object(i.y)(r)||o.patchEvent();return o}var n=e.prototype;n.patchEvent=function t(){if("undefined"==typeof Event||!Event||!Event.prototype)return;if(Event.prototype[nt])return;var e=Event.prototype[nt]=Event.prototype.stopImmediatePropagation;Event.prototype.stopImmediatePropagation=function(){this&&(this[et]=!0),e&&e.apply(this,arguments)}};n.supports=function t(e){return!0};n.addEventListener=function t(e,n,r){var i=this;var o=r;if(!e[K]||s.y.isInAngularZone()&&!it(n))e[X](n,o,!1);else{var a=$[n];a||(a=$[n]=Q(J+n+Y));var u=e[a];var l=u&&u.length>0;u||(u=e[a]=[]);var c=it(n)?Zone.root:Zone.current;if(0===u.length)u.push({zone:c,handler:o});else{var f=!1;for(var h=0;h<u.length;h++){if(u[h].handler===o){f=!0;break}}f||u.push({zone:c,handler:o})}l||e[K](n,ot,!1)}return function(){return i.removeEventListener(e,n,o)}};n.removeEventListener=function t(e,n,r){var i=e[Z];if(!i)return e[tt].apply(e,[n,r,!1]);var o=$[n],a=o&&e[o];if(!a)return e[tt].apply(e,[n,r,!1]);var s=!1;for(var u=0;u<a.length;u++){if(a[u].handler===r){s=!0,a.splice(u,1);break}}s?0===a.length&&i.apply(e,[n,ot,!1]):e[tt].apply(e,[n,r,!1])};return e}(I);var st={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},ut=new s.p("HammerGestureConfig"),lt=new s.p("HammerLoader");var ct=function(){function t(){this.events=[],this.overrides={}}var e=t.prototype;e.buildHammer=function t(e){var n=new Hammer(e,this.options);n.get("pinch").set({enable:!0}),n.get("rotate").set({enable:!0});for(var r in this.overrides){n.get(r).set(this.overrides[r])}return n};return t}();var ft=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e)||this,o._config=n,o.console=r,o.loader=i;return o}var n=e.prototype;n.supports=function t(e){return!(!st.hasOwnProperty(e.toLowerCase())&&!this.isCustomEvent(e)||!window.Hammer&&!this.loader&&(this.console.warn('The "'+e+'" event cannot be bound because Hammer.JS is not '+"loaded and no custom loader has been specified."),1))};n.addEventListener=function t(e,n,r){var i=this;var o=this.manager.getZone();if(n=n.toLowerCase(),!window.Hammer&&this.loader){var a=!1,s=function t(){a=!0};return this.loader().then(function(){if(!window.Hammer)return i.console.warn("The custom HAMMER_LOADER completed, but Hammer.JS is not present."),void(s=function t(){});a||(s=i.addEventListener(e,n,r))}).catch(function(){i.console.warn('The "'+n+'" event cannot be bound because the custom '+"Hammer.JS loader failed."),s=function t(){}}),function(){s()}}return o.runOutsideAngular(function(){var t=i._config.buildHammer(e),a=function t(e){o.runGuarded(function(){r(e)})};return t.on(n,a),function(){t.off(n,a),"function"==typeof t.destroy&&t.destroy()}})};n.isCustomEvent=function t(e){return this._config.events.indexOf(e)>-1};return e}(I);var ht=["alt","control","meta","shift"],dt={alt:function t(e){return e.altKey},control:function t(e){return e.ctrlKey},meta:function t(e){return e.metaKey},shift:function t(e){return e.shiftKey}};var pt=function(t){a(e,t);function e(e){return t.call(this,e)||this}var n=e.prototype;n.supports=function t(n){return null!=e.parseEventName(n)};n.addEventListener=function t(n,r,i){var o=e.parseEventName(r),a=e.eventCallback(o.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return l().onAndCancel(n,o.domEventName,a)})};e.parseEventName=function t(n){var r=n.toLowerCase().split("."),i=r.shift();if(0===r.length||"keydown"!==i&&"keyup"!==i)return null;var o=e._normalizeKey(r.pop());var a="";if(ht.forEach(function(t){var e=r.indexOf(t);e>-1&&(r.splice(e,1),a+=t+".")}),a+=o,0!=r.length||0===o.length)return null;var s={};return s.domEventName=i,s.fullKey=a,s};e.getEventFullKey=function t(e){var n="",r=l().getEventKey(e);return" "===(r=r.toLowerCase())?r="space":"."===r&&(r="dot"),ht.forEach(function(t){t!=r&&(0,dt[t])(e)&&(n+=t+".")}),n+=r};e.eventCallback=function t(n,r,i){return function(t){e.getEventFullKey(t)===n&&i.runGuarded(function(){return r(t)})}};e._normalizeKey=function t(e){switch(e){case"esc":return"escape";default:return e}};return e}(I);var vt=function t(){};var mt=function(t){a(e,t);function e(e){var n;n=t.call(this)||this,n._doc=e;return n}var n=e.prototype;n.sanitize=function t(e,n){if(null==n)return null;switch(e){case s.H.NONE:return n;case s.H.HTML:return n instanceof yt?n.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(n,"HTML"),Object(s.eb)(this._doc,String(n)));case s.H.STYLE:return n instanceof bt?n.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(n,"Style"),Object(s.fb)(n));case s.H.SCRIPT:if(n instanceof _t)return n.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(n,"Script"),new Error("unsafe value used in a script context");case s.H.URL:return n instanceof Ct||n instanceof wt?n.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(n,"URL"),Object(s.gb)(String(n)));case s.H.RESOURCE_URL:if(n instanceof Ct)return n.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(n,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+e+" (see http://g.co/ng/security#xss)")}};n.checkNotSafeValue=function t(e,n){if(e instanceof gt)throw new Error("Required a safe "+n+", got a "+e.getTypeName()+" "+"(see http://g.co/ng/security#xss)")};n.bypassSecurityTrustHtml=function t(e){return new yt(e)};n.bypassSecurityTrustStyle=function t(e){return new bt(e)};n.bypassSecurityTrustScript=function t(e){return new _t(e)};n.bypassSecurityTrustUrl=function t(e){return new wt(e)};n.bypassSecurityTrustResourceUrl=function t(e){return new Ct(e)};return e}(vt);var gt=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}var e=t.prototype;e.toString=function t(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"};return t}();var yt=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getTypeName=function t(){return"HTML"};return e}(gt);var bt=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getTypeName=function t(){return"Style"};return e}(gt);var _t=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getTypeName=function t(){return"Script"};return e}(gt);var wt=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getTypeName=function t(){return"URL"};return e}(gt);var Ct=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getTypeName=function t(){return"ResourceURL"};return e}(gt);var St=[{provide:s.A,useValue:i.D},{provide:s.B,useValue:function t(){g.makeCurrent(),S.init()},multi:!0},{provide:i.q,useClass:function(t){a(e,t);function e(e){var n;n=t.call(this)||this,n._doc=e,n._init();return n}var n=e.prototype;n._init=function t(){this.location=l().getLocation(),this._history=l().getHistory()};n.getBaseHrefFromDOM=function t(){return l().getBaseHref(this._doc)};n.onPopState=function t(e){l().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",e,!1)};n.onHashChange=function t(e){l().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",e,!1)};n.pushState=function t(e,n,r){_()?this._history.pushState(e,n,r):this.location.hash=r};n.replaceState=function t(e,n,r){_()?this._history.replaceState(e,n,r):this.location.hash=r};n.forward=function t(){this._history.forward()};n.back=function t(){this._history.back()};n.getState=function t(){return this._history.state};o(e,[{key:"href",get:function t(){return this.location.href}},{key:"protocol",get:function t(){return this.location.protocol}},{key:"hostname",get:function t(){return this.location.hostname}},{key:"port",get:function t(){return this.location.port}},{key:"pathname",get:function t(){return this.location.pathname},set:function t(e){this.location.pathname=e}},{key:"search",get:function t(){return this.location.search}},{key:"hash",get:function t(){return this.location.hash}}]);return e}(i.q),deps:[i.c]},{provide:i.c,useFactory:function t(){return document},deps:[]}],Et=Object(s.R)(s.X,"browser",St);function kt(){return new s.l}var xt=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}t.withServerTransition=function e(n){return{ngModule:t,providers:[{provide:s.c,useValue:n.appId},{provide:w,useExisting:s.c},C]}};return t}();"undefined"!=typeof window&&window},eIep:function t(e,n,r){"use strict";r.d(n,"a",function(){return c});var i=r("l7GE"),o=r("51Dv"),s=r("ZUHj"),u=r("lJxs"),l=r("Cfvw");function c(t,e){return"function"==typeof e?function(n){return n.pipe(c(function(n,r){return Object(l.a)(t(n,r)).pipe(Object(u.a)(function(t,i){return e(n,t,r,i)}))}))}:function(e){return e.lift(new f(t))}}var f=function(){function t(t){this.project=t}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new h(e,this.project))};return t}();var h=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.project=n,r.index=0;return r}var n=e.prototype;n._next=function t(e){var n;var r=this.index++;try{n=this.project(e,r)}catch(i){return void this.destination.error(i)}this._innerSub(n,e,r)};n._innerSub=function t(e,n,r){var i=this.innerSubscription;i&&i.unsubscribe();var a=new o.a(this,void 0,void 0);this.destination.add(a),this.innerSubscription=Object(s.a)(this,e,n,r,a)};n._complete=function e(){var n=this.innerSubscription;n&&!n.closed||t.prototype._complete.call(this),this.unsubscribe()};n._unsubscribe=function t(){this.innerSubscription=null};n.notifyComplete=function e(n){this.destination.remove(n),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)};n.notifyNext=function t(e,n,r,i,o){this.destination.next(n)};return e}(i.a)},fDlF:function t(e,n,r){"use strict";r.d(n,"a",function(){return O}),r.d(n,"c",function(){return Tt}),r.d(n,"g",function(){return Dt}),r.d(n,"e",function(){return x}),r.d(n,"b",function(){return ce}),r.d(n,"d",function(){return Ie}),r.d(n,"f",function(){return Pe}),r.d(n,"h",function(){return je});var i=r("GS7A");function s(){return"undefined"!=typeof process}function u(t){switch(t.length){case 0:return new i.d;case 1:return t[0];default:return new i.g(t)}}function l(t,e,n,r,o,a){if(o===void 0){o={}}if(a===void 0){a={}}var s=[],u=[];var l=-1,c=null;if(r.forEach(function(t){var n=t.offset,r=n==l,f=r&&c||{};Object.keys(t).forEach(function(n){var r=n,u=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),u){case i.h:u=o[n];break;case i.a:u=a[n];break;default:u=e.normalizeStyleValue(n,r,u,s)}f[r]=u}),r||u.push(f),c=f,l=n}),s.length){var f="\n - ";throw new Error("Unable to animate due to the following errors:"+f+s.join(f))}return u}function c(t,e,n,r){switch(e){case"start":t.onStart(function(){return r(n&&f(n,"start",t))});break;case"done":t.onDone(function(){return r(n&&f(n,"done",t))});break;case"destroy":t.onDestroy(function(){return r(n&&f(n,"destroy",t))})}}function f(t,e,n){var r=n.totalTime,i=h(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==r?t.totalTime:r,!!n.disabled),o=t._data;return null!=o&&(i._data=o),i}function h(t,e,n,r,i,o,a){if(i===void 0){i=""}if(o===void 0){o=0}return{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o,disabled:!!a}}function d(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function p(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var v=function t(e,n){return!1},m=function t(e,n){return!1},g=function t(e,n,r){return[]};var y=s();(y||"undefined"!=typeof Element)&&(v=function t(e,n){return e.contains(n)},m=function(){if(y||Element.prototype.matches)return function(t,e){return t.matches(e)};{var t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?function(t,n){return e.apply(t,[n])}:m}}(),g=function t(e,n,r){var i=[];if(r)i.push.apply(i,e.querySelectorAll(n));else{var o=e.querySelector(n);o&&i.push(o)}return i});var b=null,_=!1;function w(t){b||(b=("undefined"!=typeof document?document.body:null)||{},_=!!b.style&&"WebkitAppearance"in b.style);var e=!0;return b.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in b.style)&&_&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in b.style),e}var C=m,S=v,E=g;function k(t){var e={};return Object.keys(t).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[r]=t[n]}),e}var x=function(){function t(){}var e=t.prototype;e.validateStyleProperty=function t(e){return w(e)};e.matchesElement=function t(e,n){return C(e,n)};e.containsElement=function t(e,n){return S(e,n)};e.query=function t(e,n,r){return E(e,n,r)};e.computeStyle=function t(e,n,r){return r||""};e.animate=function t(e,n,r,o,a,s,u){if(s===void 0){s=[]}return new i.d(r,o)};return t}();var O=function(){var t=function t(){};return t.NOOP=new x,t}();var T=1e3,D="{{",A="ng-enter",N="ng-leave",I="ng-trigger",R=".ng-trigger",P="ng-animating",j=".ng-animating";function M(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:V(parseFloat(e[1]),e[2])}function V(t,e){switch(e){case"s":return t*T;default:return t}}function F(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var a=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=V(parseFloat(a[1]),a[2]);var s=a[3];null!=s&&(i=V(parseFloat(s),a[4]));var u=a[5];u&&(o=u)}else r=t;if(!n){var l=!1,c=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),l=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),l=!0),l&&e.splice(c,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function L(t,e){if(e===void 0){e={}}return Object.keys(t).forEach(function(n){e[n]=t[n]}),e}function U(t,e,n){if(n===void 0){n={}}if(e)for(var r in t){n[r]=t[r]}else L(t,n);return n}function H(t,e,n){return n?e+":"+n+";":""}function z(t){var e="";for(var n=0;n<t.style.length;n++){var r=t.style.item(n);e+=H(0,r,t.style.getPropertyValue(r))}for(var i in t.style){t.style.hasOwnProperty(i)&&!i.startsWith("_")&&(e+=H(0,i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),t.style[i]))}t.setAttribute("style",e)}function B(t,e,n){t.style&&(Object.keys(e).forEach(function(r){var i=Y(r);n&&!n.hasOwnProperty(r)&&(n[r]=t.style[i]),t.style[i]=e[r]}),s()&&z(t))}function q(t,e){t.style&&(Object.keys(e).forEach(function(e){var n=Y(e);t.style[n]=""}),s()&&z(t))}function W(t){return Array.isArray(t)?1==t.length?t[0]:Object(i.e)(t):t}var G=new RegExp(D+"\\s*(.+?)\\s*}}","g");function Q(t){var e=[];if("string"==typeof t){var n=t.toString();var r;for(;r=G.exec(n);){e.push(r[1])}G.lastIndex=0}return e}function K(t,e,n){var r=t.toString(),i=r.replace(G,function(t,r){var i=e[r];return e.hasOwnProperty(r)||(n.push("Please provide a value for the animation param "+r),i=""),i.toString()});return i==r?t:i}function Z(t){var e=[];var n=t.next();for(;!n.done;){e.push(n.value),n=t.next()}return e}var $=/-+([a-z0-9])/g;function Y(t){return t.replace($,function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return e[1].toUpperCase()})}function J(t,e){return 0===t||0===e}function X(t,e,n){var r=Object.keys(n);if(r.length&&e.length){var i=e[0],o=[];if(r.forEach(function(t){i.hasOwnProperty(t)||o.push(t),i[t]=n[t]}),o.length){var a=function n(){var r=e[s];o.forEach(function(e){r[e]=et(t,e)})};for(var s=1;s<e.length;s++){a()}}}return e}function tt(t,e,n){switch(e.type){case 7:return t.visitTrigger(e,n);case 0:return t.visitState(e,n);case 1:return t.visitTransition(e,n);case 2:return t.visitSequence(e,n);case 3:return t.visitGroup(e,n);case 4:return t.visitAnimate(e,n);case 5:return t.visitKeyframes(e,n);case 6:return t.visitStyle(e,n);case 8:return t.visitReference(e,n);case 9:return t.visitAnimateChild(e,n);case 10:return t.visitAnimateRef(e,n);case 11:return t.visitQuery(e,n);case 12:return t.visitStagger(e,n);default:throw new Error("Unable to resolve animation metadata node #"+e.type)}}function et(t,e){return window.getComputedStyle(t)[e]}var nt="*";function rt(t,e){var n=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(function(t){return function(t,e,n){if(":"==t[0]){var r=function(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e)<parseFloat(t)};default:return e.push('The transition alias value "'+t+'" is not supported'),"* => *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],a=i[2],s=i[3];e.push(at(o,s)),"<"!=a[0]||o==nt&&s==nt||e.push(at(s,o))}(t,n,e)}):n.push(t),n}var it=new Set(["true","1"]),ot=new Set(["false","0"]);function at(t,e){var n=it.has(t)||ot.has(t),r=it.has(e)||ot.has(e);return function(i,o){var a=t==nt||t==i,s=e==nt||e==o;return!a&&n&&"boolean"==typeof i&&(a=i?it.has(t):ot.has(t)),!s&&r&&"boolean"==typeof o&&(s=o?it.has(e):ot.has(e)),a&&s}}var st=":self",ut=new RegExp("s*"+st+"s*,?","g");function lt(t,e,n){return new ft(t).build(e,n)}var ct="";var ft=function(){function t(t){this._driver=t}var e=t.prototype;e.build=function t(e,n){var r=new ht(n);return this._resetContextStyleTimingState(r),tt(this,W(e),r)};e._resetContextStyleTimingState=function t(e){e.currentQuerySelector=ct,e.collectedStyles={},e.collectedStyles[ct]={},e.currentTime=0};e.visitTrigger=function t(e,n){var r=this;var i=n.queryCount=0,o=n.depCount=0;var a=[],s=[];return"@"==e.name.charAt(0)&&n.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(t){if(r._resetContextStyleTimingState(n),0==t.type){var e=t,u=e.name;u.toString().split(/\s*,\s*/).forEach(function(t){e.name=t,a.push(r.visitState(e,n))}),e.name=u}else if(1==t.type){var l=r.visitTransition(t,n);i+=l.queryCount,o+=l.depCount,s.push(l)}else n.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:a,transitions:s,queryCount:i,depCount:o,options:null}};e.visitState=function t(e,n){var r=this.visitStyle(e.styles,n),i=e.options&&e.options.params||null;if(r.containsDynamicStyles){var o=new Set,a=i||{};if(r.styles.forEach(function(t){if(dt(t)){var e=t;Object.keys(e).forEach(function(t){Q(e[t]).forEach(function(t){a.hasOwnProperty(t)||o.add(t)})})}}),o.size){var s=Z(o.values());n.errors.push('state("'+e.name+'", ...) must define default values for all the following style substitutions: '+s.join(", "))}}return{type:0,name:e.name,style:r,options:i?{params:i}:null}};e.visitTransition=function t(e,n){n.queryCount=0,n.depCount=0;var r=tt(this,W(e.animation),n);return{type:1,matchers:rt(e.expr,n.errors),animation:r,queryCount:n.queryCount,depCount:n.depCount,options:pt(e.options)}};e.visitSequence=function t(e,n){var r=this;return{type:2,steps:e.steps.map(function(t){return tt(r,t,n)}),options:pt(e.options)}};e.visitGroup=function t(e,n){var r=this;var i=n.currentTime;var o=0;var a=e.steps.map(function(t){n.currentTime=i;var e=tt(r,t,n);return o=Math.max(o,n.currentTime),e});return n.currentTime=o,{type:3,steps:a,options:pt(e.options)}};e.visitAnimate=function t(e,n){var r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return vt(F(t,e).duration,0,"");var r=t;if(r.split(/\s+/).some(function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)})){var i=vt(0,0,"");return i.dynamic=!0,i.strValue=r,i}return vt((n=n||F(r,e)).duration,n.delay,n.easing)}(e.timings,n.errors);var o;n.currentAnimateTimings=r;var a=e.styles?e.styles:Object(i.f)({});if(5==a.type)o=this.visitKeyframes(a,n);else{var s=e.styles,u=!1;if(!s){u=!0;var l={};r.easing&&(l.easing=r.easing),s=Object(i.f)(l)}n.currentTime+=r.duration+r.delay;var c=this.visitStyle(s,n);c.isEmptyStep=u,o=c}return n.currentAnimateTimings=null,{type:4,timings:r,style:o,options:null}};e.visitStyle=function t(e,n){var r=this._makeStyleAst(e,n);return this._validateStyleAst(r,n),r};e._makeStyleAst=function t(e,n){var r=[];Array.isArray(e.styles)?e.styles.forEach(function(t){"string"==typeof t?t==i.a?r.push(t):n.errors.push("The provided style string value "+t+" is not allowed."):r.push(t)}):r.push(e.styles);var o=!1,a=null;return r.forEach(function(t){if(dt(t)){var e=t,n=e.easing;if(n&&(a=n,delete e.easing),!o)for(var r in e){if(e[r].toString().indexOf(D)>=0){o=!0;break}}}}),{type:6,styles:r,easing:a,offset:e.offset,containsDynamicStyles:o,options:null}};e._validateStyleAst=function t(e,n){var r=this;var i=n.currentAnimateTimings;var o=n.currentTime,a=n.currentTime;i&&a>0&&(a-=i.duration+i.delay),e.styles.forEach(function(t){"string"!=typeof t&&Object.keys(t).forEach(function(e){if(!r._driver.validateStyleProperty(e))return void n.errors.push('The provided animation property "'+e+'" is not a supported CSS property for animations');var i=n.collectedStyles[n.currentQuerySelector],s=i[e];var u=!0;s&&(a!=o&&a>=s.startTime&&o<=s.endTime&&(n.errors.push('The CSS property "'+e+'" that exists between the times of "'+s.startTime+'ms" and "'+s.endTime+'ms" is also being animated in a parallel animation between the times of "'+a+'ms" and "'+o+'ms"'),u=!1),a=s.startTime),u&&(i[e]={startTime:a,endTime:o}),n.options&&function(r,i,o){var a=n.options.params||{},s=Q(t[e]);s.length&&s.forEach(function(t){a.hasOwnProperty(t)||o.push("Unable to resolve the local animation param "+t+" in the given list of values")})}(0,0,n.errors)})})};e.visitKeyframes=function t(e,n){var r=this;var i={type:5,styles:[],options:null};if(!n.currentAnimateTimings)return n.errors.push("keyframes() must be placed inside of a call to animate()"),i;var o=0;var a=[];var s=!1,u=!1,l=0;var c=e.steps.map(function(t){var e=r._makeStyleAst(t,n);var i=null!=e.offset?e.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach(function(t){if(dt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}});else if(dt(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(e.styles),c=0;return null!=i&&(o++,c=e.offset=i),u=u||c<0||c>1,s=s||c<l,l=c,a.push(c),e});u&&n.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),s&&n.errors.push("Please ensure that all keyframe offsets are in order");var f=e.steps.length;var h=0;o>0&&o<f?n.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==o&&(h=1/(f-1));var d=f-1,p=n.currentTime,v=n.currentAnimateTimings,m=v.duration;return c.forEach(function(t,e){var o=h>0?e==d?1:h*e:a[e],s=o*m;n.currentTime=p+v.delay+s,v.duration=s,r._validateStyleAst(t,n),t.offset=o,i.styles.push(t)}),i};e.visitReference=function t(e,n){return{type:8,animation:tt(this,W(e.animation),n),options:pt(e.options)}};e.visitAnimateChild=function t(e,n){return n.depCount++,{type:9,options:pt(e.options)}};e.visitAnimateRef=function t(e,n){return{type:10,animation:this.visitReference(e.animation,n),options:pt(e.options)}};e.visitQuery=function t(e,n){var r=n.currentQuerySelector,i=e.options||{};n.queryCount++,n.currentQuery=e;var o=function(t){var e=!!t.split(/\s*,\s*/).find(function(t){return t==st});return e&&(t=t.replace(ut,"")),[t=t.replace(/@\*/g,R).replace(/@\w+/g,function(t){return R+"-"+t.substr(1)}).replace(/:animating/g,j),e]}(e.selector),a=o[0],s=o[1];n.currentQuerySelector=r.length?r+" "+a:a,d(n.collectedStyles,n.currentQuerySelector,{});var u=tt(this,W(e.animation),n);return n.currentQuery=null,n.currentQuerySelector=r,{type:11,selector:a,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:u,originalSelector:e.selector,options:pt(e.options)}};e.visitStagger=function t(e,n){n.currentQuery||n.errors.push("stagger() can only be used inside of query()");var r="full"===e.timings?{duration:0,delay:0,easing:"full"}:F(e.timings,n.errors,!0);return{type:12,animation:tt(this,W(e.animation),n),timings:r,options:null}};return t}();var ht=function t(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function dt(t){return!Array.isArray(t)&&"object"==typeof t}function pt(t){var e;return t?(t=L(t)).params&&(t.params=(e=t.params)?L(e):null):t={},t}function vt(t,e,n){return{duration:t,delay:e,easing:n}}function mt(t,e,n,r,i,o,a,s){if(a===void 0){a=null}if(s===void 0){s=!1}return{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:a,subTimeline:s}}var gt=function(){function t(){this._map=new Map}var e=t.prototype;e.consume=function t(e){var n=this._map.get(e);return n?this._map.delete(e):n=[],n};e.append=function t(e,n){var r;var i=this._map.get(e);i||this._map.set(e,i=[]),(r=i).push.apply(r,n)};e.has=function t(e){return this._map.has(e)};e.clear=function t(){this._map.clear()};return t}();var yt=1,bt=new RegExp(":enter","g"),_t=new RegExp(":leave","g");function wt(t,e,n,r,i,o,a,s,u,l){if(o===void 0){o={}}if(a===void 0){a={}}if(l===void 0){l=[]}return(new Ct).buildKeyframes(t,e,n,r,i,o,a,s,u,l)}var Ct=function(){function t(){}var e=t.prototype;e.buildKeyframes=function t(e,n,r,i,o,a,s,u,l,c){if(c===void 0){c=[]}l=l||new gt;var f=new Et(e,n,l,i,o,c,[]);f.options=u,f.currentTimeline.setStyles([a],null,f.errors,u),tt(this,r,f);var h=f.timelines.filter(function(t){return t.containsAnimation()});if(h.length&&Object.keys(s).length){var d=h[h.length-1];d.allowOnlyTimelineStyles()||d.setStyles([s],null,f.errors,u)}return h.length?h.map(function(t){return t.buildKeyframes()}):[mt(n,[],[],[],0,0,"",!1)]};e.visitTrigger=function t(e,n){};e.visitState=function t(e,n){};e.visitTransition=function t(e,n){};e.visitAnimateChild=function t(e,n){var r=n.subInstructions.consume(n.element);if(r){var i=n.createSubContext(e.options),o=n.currentTimeline.currentTime,a=this._visitSubInstructions(r,i,i.options);o!=a&&n.transformIntoNewTimeline(a)}n.previousNode=e};e.visitAnimateRef=function t(e,n){var r=n.createSubContext(e.options);r.transformIntoNewTimeline(),this.visitReference(e.animation,r),n.transformIntoNewTimeline(r.currentTimeline.currentTime),n.previousNode=e};e._visitSubInstructions=function t(e,n,r){var i=n.currentTimeline.currentTime;var o=null!=r.duration?M(r.duration):null,a=null!=r.delay?M(r.delay):null;return 0!==o&&e.forEach(function(t){var e=n.appendInstructionToTimeline(t,o,a);i=Math.max(i,e.duration+e.delay)}),i};e.visitReference=function t(e,n){n.updateOptions(e.options,!0),tt(this,e.animation,n),n.previousNode=e};e.visitSequence=function t(e,n){var r=this;var i=n.subContextCount;var o=n;var a=e.options;if(a&&(a.params||a.delay)&&((o=n.createSubContext(a)).transformIntoNewTimeline(),null!=a.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=St);var s=M(a.delay);o.delayNextStep(s)}e.steps.length&&(e.steps.forEach(function(t){return tt(r,t,o)}),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),n.previousNode=e};e.visitGroup=function t(e,n){var r=this;var i=[];var o=n.currentTimeline.currentTime;var a=e.options&&e.options.delay?M(e.options.delay):0;e.steps.forEach(function(t){var s=n.createSubContext(e.options);a&&s.delayNextStep(a),tt(r,t,s),o=Math.max(o,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(function(t){return n.currentTimeline.mergeTimelineCollectedStyles(t)}),n.transformIntoNewTimeline(o),n.previousNode=e};e._visitTiming=function t(e,n){if(e.dynamic){var r=e.strValue;return F(n.params?K(r,n.params,n.errors):r,n.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}};e.visitAnimate=function t(e,n){var r=n.currentAnimateTimings=this._visitTiming(e.timings,n),i=n.currentTimeline;r.delay&&(n.incrementTime(r.delay),i.snapshotCurrentStyles());var o=e.style;5==o.type?this.visitKeyframes(o,n):(n.incrementTime(r.duration),this.visitStyle(o,n),i.applyStylesToKeyframe()),n.currentAnimateTimings=null,n.previousNode=e};e.visitStyle=function t(e,n){var r=n.currentTimeline,i=n.currentAnimateTimings;!i&&r.getCurrentStyleProperties().length&&r.forwardFrame();var o=i&&i.easing||e.easing;e.isEmptyStep?r.applyEmptyStep(o):r.setStyles(e.styles,o,n.errors,n.options),n.previousNode=e};e.visitKeyframes=function t(e,n){var r=n.currentAnimateTimings,i=n.currentTimeline.duration,o=r.duration,a=n.createSubContext().currentTimeline;a.easing=r.easing,e.styles.forEach(function(t){a.forwardTime((t.offset||0)*o),a.setStyles(t.styles,t.easing,n.errors,n.options),a.applyStylesToKeyframe()}),n.currentTimeline.mergeTimelineCollectedStyles(a),n.transformIntoNewTimeline(i+o),n.previousNode=e};e.visitQuery=function t(e,n){var r=this;var i=n.currentTimeline.currentTime,o=e.options||{},a=o.delay?M(o.delay):0;a&&(6===n.previousNode.type||0==i&&n.currentTimeline.getCurrentStyleProperties().length)&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=St);var s=i;var u=n.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!o.optional,n.errors);n.currentQueryTotal=u.length;var l=null;u.forEach(function(t,i){n.currentQueryIndex=i;var o=n.createSubContext(e.options,t);a&&o.delayNextStep(a),t===n.element&&(l=o.currentTimeline),tt(r,e.animation,o),o.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,o.currentTimeline.currentTime)}),n.currentQueryIndex=0,n.currentQueryTotal=0,n.transformIntoNewTimeline(s),l&&(n.currentTimeline.mergeTimelineCollectedStyles(l),n.currentTimeline.snapshotCurrentStyles()),n.previousNode=e};e.visitStagger=function t(e,n){var r=n.parentContext,i=n.currentTimeline,o=e.timings,a=Math.abs(o.duration),s=a*(n.currentQueryTotal-1);var u=a*n.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":u=s-u;break;case"full":u=r.currentStaggerTime}var l=n.currentTimeline;u&&l.delayNextStep(u);var c=l.currentTime;tt(this,e.animation,n),n.previousNode=e,r.currentStaggerTime=i.currentTime-c+(i.startTime-r.currentTimeline.startTime)};return t}();var St={};var Et=function(){function t(t,e,n,r,i,o,a,s){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=St,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new kt(this._driver,e,0),a.push(this.currentTimeline)}var e=t.prototype;e.updateOptions=function t(e,n){var r=this;if(!e)return;var i=e;var o=this.options;null!=i.duration&&(o.duration=M(i.duration)),null!=i.delay&&(o.delay=M(i.delay));var a=i.params;if(a){var s=o.params;s||(s=this.options.params={}),Object.keys(a).forEach(function(t){n&&s.hasOwnProperty(t)||(s[t]=K(a[t],s,r.errors))})}};e._copyOptions=function t(){var e={};if(this.options){var n=this.options.params;if(n){var r=e.params={};Object.keys(n).forEach(function(t){r[t]=n[t]})}}return e};e.createSubContext=function e(n,r,i){if(n===void 0){n=null}var o=r||this.element,a=new t(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return a.previousNode=this.previousNode,a.currentAnimateTimings=this.currentAnimateTimings,a.options=this._copyOptions(),a.updateOptions(n),a.currentQueryIndex=this.currentQueryIndex,a.currentQueryTotal=this.currentQueryTotal,a.parentContext=this,this.subContextCount++,a};e.transformIntoNewTimeline=function t(e){return this.previousNode=St,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline};e.appendInstructionToTimeline=function t(e,n,r){var i={duration:null!=n?n:e.duration,delay:this.currentTimeline.currentTime+(null!=r?r:0)+e.delay,easing:""},o=new xt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(o),i};e.incrementTime=function t(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)};e.delayNextStep=function t(e){e>0&&this.currentTimeline.delayNextStep(e)};e.invokeQuery=function t(e,n,r,i,o,a){var s=[];if(i&&s.push(this.element),e.length>0){e=(e=e.replace(bt,"."+this._enterClassName)).replace(_t,"."+this._leaveClassName);var u=this._driver.query(this.element,e,1!=r);0!==r&&(u=r<0?u.slice(u.length+r,u.length):u.slice(0,r)),s.push.apply(s,u)}return o||0!=s.length||a.push('`query("'+n+'")` returned zero elements. (Use `query("'+n+'", { optional: true })` if you wish to allow this.)'),s};o(t,[{key:"params",get:function t(){return this.options.params}}]);return t}();var kt=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}var e=t.prototype;e.containsAnimation=function t(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}};e.getCurrentStyleProperties=function t(){return Object.keys(this._currentKeyframe)};e.delayNextStep=function t(e){var n=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||n?(this.forwardTime(this.currentTime+e),n&&this.snapshotCurrentStyles()):this.startTime+=e};e.fork=function e(n,r){return this.applyStylesToKeyframe(),new t(this._driver,n,r||this.currentTime,this._elementTimelineStylesLookup)};e._loadKeyframe=function t(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))};e.forwardFrame=function t(){this.duration+=yt,this._loadKeyframe()};e.forwardTime=function t(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()};e._updateStyle=function t(e,n){this._localTimelineStyles[e]=n,this._globalTimelineStyles[e]=n,this._styleSummary[e]={time:this.currentTime,value:n}};e.allowOnlyTimelineStyles=function t(){return this._currentEmptyStepKeyframe!==this._currentKeyframe};e.applyEmptyStep=function t(e){var n=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(t){n._backFill[t]=n._globalTimelineStyles[t]||i.a,n._currentKeyframe[t]=i.a}),this._currentEmptyStepKeyframe=this._currentKeyframe};e.setStyles=function t(e,n,r,o){var a=this;n&&(this._previousKeyframe.easing=n);var s=o&&o.params||{},u=function(t,e){var n={};var r;return t.forEach(function(t){"*"===t?(r=r||Object.keys(e)).forEach(function(t){n[t]=i.a}):U(t,!1,n)}),n}(e,this._globalTimelineStyles);Object.keys(u).forEach(function(t){var e=K(u[t],s,r);a._pendingStyles[t]=e,a._localTimelineStyles.hasOwnProperty(t)||(a._backFill[t]=a._globalTimelineStyles.hasOwnProperty(t)?a._globalTimelineStyles[t]:i.a),a._updateStyle(t,e)})};e.applyStylesToKeyframe=function t(){var e=this;var n=this._pendingStyles,r=Object.keys(n);0!=r.length&&(this._pendingStyles={},r.forEach(function(t){e._currentKeyframe[t]=n[t]}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))};e.snapshotCurrentStyles=function t(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})};e.getFinalKeyframe=function t(){return this._keyframes.get(this.duration)};e.mergeTimelineCollectedStyles=function t(e){var n=this;Object.keys(e._styleSummary).forEach(function(t){var r=n._styleSummary[t],i=e._styleSummary[t];(!r||i.time>r.time)&&n._updateStyle(t,i.value)})};e.buildKeyframes=function t(){var e=this;this.applyStylesToKeyframe();var n=new Set,r=new Set,o=1===this._keyframes.size&&0===this.duration;var a=[];this._keyframes.forEach(function(t,s){var u=U(t,!0);Object.keys(u).forEach(function(t){var e=u[t];e==i.h?n.add(t):e==i.a&&r.add(t)}),o||(u.offset=s/e.duration),a.push(u)});var s=n.size?Z(n.values()):[],u=r.size?Z(r.values()):[];if(o){var l=a[0],c=L(l);l.offset=0,c.offset=1,a=[l,c]}return mt(this.element,a,s,u,this.duration,this.startTime,this.easing,!1)};o(t,[{key:"currentTime",get:function t(){return this.startTime+this.duration}},{key:"properties",get:function t(){var e=[];for(var n in this._currentKeyframe){e.push(n)}return e}}]);return t}();var xt=function(t){a(e,t);function e(e,n,r,i,o,a,s){var u;if(s===void 0){s=!1}u=t.call(this,e,n,a.delay)||this,u.element=n,u.keyframes=r,u.preStyleProps=i,u.postStyleProps=o,u._stretchStartingKeyframe=s,u.timings={duration:a.duration,delay:a.delay,easing:a.easing};return u}var n=e.prototype;n.containsAnimation=function t(){return this.keyframes.length>1};n.buildKeyframes=function t(){var e=this.keyframes,n=this.timings,r=n.delay,i=n.duration,o=n.easing;if(this._stretchStartingKeyframe&&r){var a=[],s=i+r,u=r/s,l=U(e[0],!1);l.offset=0,a.push(l);var c=U(e[0],!1);c.offset=Ot(u),a.push(c);var f=e.length-1;for(var h=1;h<=f;h++){var d=U(e[h],!1);d.offset=Ot((r+d.offset*i)/s),a.push(d)}i=s,r=0,o="",e=a}return mt(this.element,e,this.preStyleProps,this.postStyleProps,i,r,o,!0)};return e}(kt);function Ot(t,e){if(e===void 0){e=3}var n=Math.pow(10,e-1);return Math.round(t*n)/n}var Tt=function t(){};var Dt=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.normalizePropertyName=function t(e,n){return Y(e)};n.normalizeStyleValue=function t(e,n,r,i){var o="";var a=r.toString().trim();if(At[n]&&0!==r&&"0"!==r)if("number"==typeof r)o="px";else{var s=r.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&i.push("Please provide a CSS unit value for "+e+":"+r)}return a+o};return e}(Tt);var At=function(){return function(t){var e={};return t.forEach(function(t){return e[t]=!0}),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","))}();function Nt(t,e,n,r,i,o,a,s,u,l,c,f,h){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:a,timelines:s,queriedElements:u,preStyleProps:l,postStyleProps:c,totalTime:f,errors:h}}var It={};var Rt=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}var e=t.prototype;e.match=function t(e,n,r,i){return function(t,e,n,r,i){return t.some(function(t){return t(e,n,r,i)})}(this.ast.matchers,e,n,r,i)};e.buildStyles=function t(e,n,r){var i=this._stateStyles["*"],o=this._stateStyles[e],a=i?i.buildStyles(n,r):{};return o?o.buildStyles(n,r):a};e.build=function t(e,n,r,i,o,a,s,u,l,c){var f=[],h=this.ast.options&&this.ast.options.params||It,p=this.buildStyles(r,s&&s.params||It,f),v=u&&u.params||It,m=this.buildStyles(i,v,f),g=new Set,y=new Map,b=new Map,_="void"===i,w={params:Object.assign({},h,v)},C=c?[]:wt(e,n,this.ast.animation,o,a,p,m,w,l,f);var S=0;if(C.forEach(function(t){S=Math.max(t.duration+t.delay,S)}),f.length)return Nt(n,this._triggerName,r,i,_,p,m,[],[],y,b,S,f);C.forEach(function(t){var e=t.element,r=d(y,e,{});t.preStyleProps.forEach(function(t){return r[t]=!0});var i=d(b,e,{});t.postStyleProps.forEach(function(t){return i[t]=!0}),e!==n&&g.add(e)});var E=Z(g.values());return Nt(n,this._triggerName,r,i,_,p,m,C,E,y,b,S)};return t}();var Pt=function(){function t(t,e){this.styles=t,this.defaultParams=e}var e=t.prototype;e.buildStyles=function t(e,n){var r={},i=L(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(i[t]=n)}),this.styles.styles.forEach(function(t){if("string"!=typeof t){var e=t;Object.keys(e).forEach(function(t){var o=e[t];o.length>1&&(o=K(o,i,n)),r[t]=o})}}),r};return t}();var jt=function(){function t(t,e){var n=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach(function(t){n.states[t.name]=new Pt(t.style,t.options&&t.options.params||{})}),Mt(this.states,"true","1"),Mt(this.states,"false","0"),e.transitions.forEach(function(e){n.transitionFactories.push(new Rt(t,e,n.states))}),this.fallbackTransition=new Rt(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},this.states)}var e=t.prototype;e.matchTransition=function t(e,n,r,i){return this.transitionFactories.find(function(t){return t.match(e,n,r,i)})||null};e.matchStyles=function t(e,n,r){return this.fallbackTransition.buildStyles(e,n,r)};o(t,[{key:"containsQueries",get:function t(){return this.ast.queryCount>0}}]);return t}();function Mt(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var Vt=new gt;var Ft=function(){function t(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}var e=t.prototype;e.register=function t(e,n){var r=[],i=lt(this._driver,n,r);if(r.length)throw new Error("Unable to build the animation due to the following errors: "+r.join("\n"));this._animations[e]=i};e._buildPlayer=function t(e,n,r){var i=e.element,o=l(0,this._normalizer,0,e.keyframes,n,r);return this._driver.animate(i,o,e.duration,e.delay,e.easing,[],!0)};e.create=function t(e,n,r){var o=this;if(r===void 0){r={}}var a=[],s=this._animations[e];var l;var c=new Map;if(s?(l=wt(this._driver,n,s,A,N,{},{},r,Vt,a)).forEach(function(t){var e=d(c,t.element,{});t.postStyleProps.forEach(function(t){return e[t]=null})}):(a.push("The requested animation doesn't exist or has already been destroyed"),l=[]),a.length)throw new Error("Unable to create the animation due to the following errors: "+a.join("\n"));c.forEach(function(t,e){Object.keys(t).forEach(function(n){t[n]=o._driver.computeStyle(e,n,i.a)})});var f=u(l.map(function(t){var e=c.get(t.element);return o._buildPlayer(t,{},e)}));return this._playersById[e]=f,f.onDestroy(function(){return o.destroy(e)}),this.players.push(f),f};e.destroy=function t(e){var n=this._getPlayer(e);n.destroy(),delete this._playersById[e];var r=this.players.indexOf(n);r>=0&&this.players.splice(r,1)};e._getPlayer=function t(e){var n=this._playersById[e];if(!n)throw new Error("Unable to find the timeline player referenced by "+e);return n};e.listen=function t(e,n,r,i){var o=h(n,"","","");return c(this._getPlayer(e),r,o,i),function(){}};e.command=function t(e,n,r,i){if("register"==r)return void this.register(e,i[0]);if("create"==r)return void this.create(e,n,i[0]||{});var o=this._getPlayer(e);switch(r){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}};return t}();var Lt="ng-animate-queued",Ut=".ng-animate-queued",Ht="ng-animate-disabled",zt=".ng-animate-disabled",Bt="ng-star-inserted",qt=".ng-star-inserted",Wt=[],Gt={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Qt={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Kt="__ng_removed";var Zt=function(){function t(t,e){if(e===void 0){e=""}this.namespaceId=e;var n=t&&t.hasOwnProperty("value");if(this.value=function(t){return null!=t?t:null}(n?t.value:t),n){var r=L(t);delete r.value,this.options=r}else this.options={};this.options.params||(this.options.params={})}var e=t.prototype;e.absorbOptions=function t(e){var n=e.params;if(n){var r=this.options.params;Object.keys(n).forEach(function(t){null==r[t]&&(r[t]=n[t])})}};o(t,[{key:"params",get:function t(){return this.options.params}}]);return t}();var $t="void",Yt=new Zt($t);var Jt=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,ae(e,this._hostClassName)}var e=t.prototype;e.listen=function t(e,n,r,i){var o=this;if(!this._triggers.hasOwnProperty(n))throw new Error('Unable to listen on the animation trigger event "'+r+'" because the animation trigger "'+n+"\" doesn't exist!");if(null==r||0==r.length)throw new Error('Unable to listen on the animation trigger "'+n+'" because the provided event is undefined!');if("start"!=(a=r)&&"done"!=a)throw new Error('The provided animation trigger event "'+r+'" for the animation trigger "'+n+'" is not supported!');var a;var s=d(this._elementListeners,e,[]),u={name:n,phase:r,callback:i};s.push(u);var l=d(this._engine.statesByElement,e,{});return l.hasOwnProperty(n)||(ae(e,I),ae(e,I+"-"+n),l[n]=Yt),function(){o._engine.afterFlush(function(){var t=s.indexOf(u);t>=0&&s.splice(t,1),o._triggers[n]||delete l[n]})}};e.register=function t(e,n){return!this._triggers[e]&&(this._triggers[e]=n,!0)};e._getTrigger=function t(e){var n=this._triggers[e];if(!n)throw new Error('The provided animation trigger "'+e+'" has not been registered!');return n};e.trigger=function t(e,n,r,i){var o=this;if(i===void 0){i=!0}var t=this._getTrigger(n),a=new te(this.id,n,e);var s=this._engine.statesByElement.get(e);s||(ae(e,I),ae(e,I+"-"+n),this._engine.statesByElement.set(e,s={}));var u=s[n];var l=new Zt(r,this.id);if(!(r&&r.hasOwnProperty("value"))&&u&&l.absorbOptions(u.options),s[n]=l,u||(u=Yt),l.value!==$t&&u.value===l.value){if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(!e.hasOwnProperty(o)||t[o]!==e[o])return!1}return!0}(u.params,l.params)){var c=[],f=t.matchStyles(u.value,u.params,c),h=t.matchStyles(l.value,l.params,c);c.length?this._engine.reportError(c):this._engine.afterFlush(function(){q(e,f),B(e,h)})}return}var p=d(this._engine.playersByElement,e,[]);p.forEach(function(t){t.namespaceId==o.id&&t.triggerName==n&&t.queued&&t.destroy()});var v=t.matchTransition(u.value,l.value,e,l.params),m=!1;if(!v){if(!i)return;v=t.fallbackTransition,m=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:n,transition:v,fromState:u,toState:l,player:a,isFallbackTransition:m}),m||(ae(e,Lt),a.onStart(function(){se(e,Lt)})),a.onDone(function(){var t=o.players.indexOf(a);t>=0&&o.players.splice(t,1);var n=o._engine.playersByElement.get(e);if(n){var r=n.indexOf(a);r>=0&&n.splice(r,1)}}),this.players.push(a),p.push(a),a};e.deregister=function t(e){var n=this;delete this._triggers[e],this._engine.statesByElement.forEach(function(t,n){delete t[e]}),this._elementListeners.forEach(function(t,r){n._elementListeners.set(r,t.filter(function(t){return t.name!=e}))})};e.clearElementCache=function t(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);var n=this._engine.playersByElement.get(e);n&&(n.forEach(function(t){return t.destroy()}),this._engine.playersByElement.delete(e))};e._signalRemovalForInnerTriggers=function t(e,n,r){var i=this;if(r===void 0){r=!1}this._engine.driver.query(e,R,!0).forEach(function(t){if(t[Kt])return;var e=i._engine.fetchNamespacesByElement(t);e.size?e.forEach(function(e){return e.triggerLeaveAnimation(t,n,!1,!0)}):i.clearElementCache(t)})};e.triggerLeaveAnimation=function t(e,n,r,i){var o=this;var a=this._engine.statesByElement.get(e);if(a){var s=[];if(Object.keys(a).forEach(function(t){if(o._triggers[t]){var n=o.trigger(e,t,$t,i);n&&s.push(n)}}),s.length)return this._engine.markElementAsRemoved(this.id,e,!0,n),r&&u(s).onDone(function(){return o._engine.processLeaveNode(e)}),!0}return!1};e.prepareLeaveAnimationListeners=function t(e){var n=this;var r=this._elementListeners.get(e);if(r){var i=new Set;r.forEach(function(t){var r=t.name;if(i.has(r))return;i.add(r);var o=n._triggers[r].fallbackTransition,a=n._engine.statesByElement.get(e)[r]||Yt,s=new Zt($t),u=new te(n.id,r,e);n._engine.totalQueuedPlayers++,n._queue.push({element:e,triggerName:r,transition:o,fromState:a,toState:s,player:u,isFallbackTransition:!0})})}};e.removeNode=function t(e,n){var r=this;var i=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,n,!0),this.triggerLeaveAnimation(e,n,!0))return;var o=!1;if(i.totalAnimations){var a=i.players.length?i.playersByQueriedElement.get(e):[];if(a&&a.length)o=!0;else{var s=e;for(;s=s.parentNode;){if(i.statesByElement.get(s)){o=!0;break}}}}this.prepareLeaveAnimationListeners(e),o?i.markElementAsRemoved(this.id,e,!1,n):(i.afterFlush(function(){return r.clearElementCache(e)}),i.destroyInnerAnimations(e),i._onRemovalComplete(e,n))};e.insertNode=function t(e,n){ae(e,this._hostClassName)};e.drainQueuedTransitions=function t(e){var n=this;var r=[];return this._queue.forEach(function(t){var i=t.player;if(i.destroyed)return;var o=t.element,a=n._elementListeners.get(o);a&&a.forEach(function(n){if(n.name==t.triggerName){var r=h(o,t.triggerName,t.fromState.value,t.toState.value);r._data=e,c(t.player,n.phase,r,n.callback)}}),i.markedForDestroy?n._engine.afterFlush(function(){i.destroy()}):r.push(t)}),this._queue=[],r.sort(function(t,e){var r=t.transition.ast.depCount,i=e.transition.ast.depCount;return 0==r||0==i?r-i:n._engine.driver.containsElement(t.element,e.element)?1:-1})};e.destroy=function t(e){this.players.forEach(function(t){return t.destroy()}),this._signalRemovalForInnerTriggers(this.hostElement,e)};e.elementContainsData=function t(e){var n=!1;return this._elementListeners.has(e)&&(n=!0),!!this._queue.find(function(t){return t.element===e})||n};return t}();var Xt=function(){function t(t,e,n){this.bodyNode=t,this.driver=e,this._normalizer=n,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=function(t,e){}}var e=t.prototype;e._onRemovalComplete=function t(e,n){this.onRemovalComplete(e,n)};e.createNamespace=function t(e,n){var r=new Jt(e,n,this);return n.parentNode?this._balanceNamespaceList(r,n):(this.newHostElements.set(n,r),this.collectEnterElement(n)),this._namespaceLookup[e]=r};e._balanceNamespaceList=function t(e,n){var r=this._namespaceList.length-1;if(r>=0){var i=!1;for(var o=r;o>=0;o--){if(this.driver.containsElement(this._namespaceList[o].hostElement,n)){this._namespaceList.splice(o+1,0,e),i=!0;break}}i||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(n,e),e};e.register=function t(e,n){var r=this._namespaceLookup[e];return r||(r=this.createNamespace(e,n)),r};e.registerTrigger=function t(e,n,r){var i=this._namespaceLookup[e];i&&i.register(n,r)&&this.totalAnimations++};e.destroy=function t(e,n){var r=this;if(!e)return;var i=this._fetchNamespace(e);this.afterFlush(function(){r.namespacesByHostElement.delete(i.hostElement),delete r._namespaceLookup[e];var t=r._namespaceList.indexOf(i);t>=0&&r._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return i.destroy(n)})};e._fetchNamespace=function t(e){return this._namespaceLookup[e]};e.fetchNamespacesByElement=function t(e){var n=new Set,r=this.statesByElement.get(e);if(r){var i=Object.keys(r);for(var o=0;o<i.length;o++){var a=r[i[o]].namespaceId;if(a){var s=this._fetchNamespace(a);s&&n.add(s)}}}return n};e.trigger=function t(e,n,r,i){if(ee(n)){var o=this._fetchNamespace(e);if(o)return o.trigger(n,r,i),!0}return!1};e.insertNode=function t(e,n,r,i){if(!ee(n))return;var o=n[Kt];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;var a=this.collectedLeaveElements.indexOf(n);a>=0&&this.collectedLeaveElements.splice(a,1)}if(e){var s=this._fetchNamespace(e);s&&s.insertNode(n,r)}i&&this.collectEnterElement(n)};e.collectEnterElement=function t(e){this.collectedEnterElements.push(e)};e.markElementAsDisabled=function t(e,n){n?this.disabledNodes.has(e)||(this.disabledNodes.add(e),ae(e,Ht)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),se(e,Ht))};e.removeNode=function t(e,n,r,i){if(ee(n)){var o=e?this._fetchNamespace(e):null;if(o?o.removeNode(n,i):this.markElementAsRemoved(e,n,!1,i),r){var a=this.namespacesByHostElement.get(n);a&&a.id!==e&&a.removeNode(n,i)}}else this._onRemovalComplete(n,i)};e.markElementAsRemoved=function t(e,n,r,i){this.collectedLeaveElements.push(n),n[Kt]={namespaceId:e,setForRemoval:i,hasAnimation:r,removedBeforeQueried:!1}};e.listen=function t(e,n,r,i,o){return ee(n)?this._fetchNamespace(e).listen(n,r,i,o):function(){}};e._buildInstruction=function t(e,n,r,i,o){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,r,i,e.fromState.options,e.toState.options,n,o)};e.destroyInnerAnimations=function t(e){var n=this;var r=this.driver.query(e,R,!0);r.forEach(function(t){return n.destroyActiveAnimationsForElement(t)}),0!=this.playersByQueriedElement.size&&(r=this.driver.query(e,j,!0)).forEach(function(t){return n.finishActiveQueriedAnimationOnElement(t)})};e.destroyActiveAnimationsForElement=function t(e){var n=this.playersByElement.get(e);n&&n.forEach(function(t){t.queued?t.markedForDestroy=!0:t.destroy()})};e.finishActiveQueriedAnimationOnElement=function t(e){var n=this.playersByQueriedElement.get(e);n&&n.forEach(function(t){return t.finish()})};e.whenRenderingDone=function t(){var e=this;return new Promise(function(t){if(e.players.length)return u(e.players).onDone(function(){return t()});t()})};e.processLeaveNode=function t(e){var n=this;var r=e[Kt];if(r&&r.setForRemoval){if(e[Kt]=Gt,r.namespaceId){this.destroyInnerAnimations(e);var i=this._fetchNamespace(r.namespaceId);i&&i.clearElementCache(e)}this._onRemovalComplete(e,r.setForRemoval)}this.driver.matchesElement(e,zt)&&this.markElementAsDisabled(e,!1),this.driver.query(e,zt,!0).forEach(function(t){n.markElementAsDisabled(t,!1)})};e.flush=function t(e){var n=this;if(e===void 0){e=-1}var r=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(t,e){return n._balanceNamespaceList(t,e)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i<this.collectedEnterElements.length;i++){ae(this.collectedEnterElements[i],Bt)}if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){var o=[];try{r=this._flushAnimations(o,e)}finally{for(var a=0;a<o.length;a++){o[a]()}}}else for(var s=0;s<this.collectedLeaveElements.length;s++){this.processLeaveNode(this.collectedLeaveElements[s])}if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(function(t){return t()}),this._flushFns=[],this._whenQuietFns.length){var l=this._whenQuietFns;this._whenQuietFns=[],r.length?u(r).onDone(function(){l.forEach(function(t){return t()})}):l.forEach(function(t){return t()})}};e.reportError=function t(e){throw new Error("Unable to process animations due to the following failed trigger transitions\n "+e.join("\n"))};e._flushAnimations=function t(e,n){var r=this;var o=new gt,a=[],s=new Map,l=[],c=new Map,f=new Map,h=new Map,p=new Set;this.disabledNodes.forEach(function(t){p.add(t);var e=r.driver.query(t,Ut,!0);for(var n=0;n<e.length;n++){p.add(e[n])}});var v=this.bodyNode,m=Array.from(this.statesByElement.keys()),g=ie(m,this.collectedEnterElements),y=new Map;var b=0;g.forEach(function(t,e){var n=A+b++;y.set(e,n),t.forEach(function(t){return ae(t,n)})});var _=[],w=new Set,C=new Set;for(var S=0;S<this.collectedLeaveElements.length;S++){var E=this.collectedLeaveElements[S],k=E[Kt];k&&k.setForRemoval&&(_.push(E),w.add(E),k.hasAnimation?this.driver.query(E,qt,!0).forEach(function(t){return w.add(t)}):C.add(E))}var x=new Map,O=ie(m,Array.from(w));O.forEach(function(t,e){var n=N+b++;x.set(e,n),t.forEach(function(t){return ae(t,n)})}),e.push(function(){g.forEach(function(t,e){var n=y.get(e);t.forEach(function(t){return se(t,n)})}),O.forEach(function(t,e){var n=x.get(e);t.forEach(function(t){return se(t,n)})}),_.forEach(function(t){r.processLeaveNode(t)})});var T=[],D=[];for(var I=this._namespaceList.length-1;I>=0;I--){this._namespaceList[I].drainQueuedTransitions(n).forEach(function(t){var e=t.player,n=t.element;if(T.push(e),r.collectedEnterElements.length){var i=n[Kt];if(i&&i.setForMove)return void e.destroy()}var s=!v||!r.driver.containsElement(v,n),u=x.get(n),p=y.get(n),m=r._buildInstruction(t,o,p,u,s);if(!m.errors||!m.errors.length)return s?(e.onStart(function(){return q(n,m.fromStyles)}),e.onDestroy(function(){return B(n,m.toStyles)}),void a.push(e)):t.isFallbackTransition?(e.onStart(function(){return q(n,m.fromStyles)}),e.onDestroy(function(){return B(n,m.toStyles)}),void a.push(e)):(m.timelines.forEach(function(t){return t.stretchStartingKeyframe=!0}),o.append(n,m.timelines),l.push({instruction:m,player:e,element:n}),m.queriedElements.forEach(function(t){return d(c,t,[]).push(e)}),m.preStyleProps.forEach(function(t,e){var n=Object.keys(t);if(n.length){var r=f.get(e);r||f.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}}),void m.postStyleProps.forEach(function(t,e){var n=Object.keys(t);var r=h.get(e);r||h.set(e,r=new Set),n.forEach(function(t){return r.add(t)})}));D.push(m)})}if(D.length){var R=[];D.forEach(function(t){R.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach(function(t){return R.push("- "+t+"\n")})}),T.forEach(function(t){return t.destroy()}),this.reportError(R)}var P=new Map,M=new Map;l.forEach(function(t){var e=t.element;o.has(e)&&(M.set(e,e),r._beforeAnimationBuild(t.player.namespaceId,t.instruction,P))}),a.forEach(function(t){var e=t.element;r._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach(function(t){d(P,e,[]).push(t),t.destroy()})});var V=_.filter(function(t){return le(t,f,h)}),F=new Map;re(F,this.driver,C,h,i.a).forEach(function(t){le(t,f,h)&&V.push(t)});var L=new Map;g.forEach(function(t,e){re(L,r.driver,new Set(t),f,i.h)}),V.forEach(function(t){var e=F.get(t),n=L.get(t);F.set(t,Object.assign({},e,n))});var U=[],H=[],z={};l.forEach(function(t){var e=t.element,n=t.player,i=t.instruction;if(o.has(e)){if(p.has(e))return n.onDestroy(function(){return B(e,i.toStyles)}),n.disabled=!0,n.overrideTotalTime(i.totalTime),void a.push(n);var l=z;if(M.size>1){var c=e;var f=[];for(;c=c.parentNode;){var h=M.get(c);if(h){l=h;break}f.push(c)}f.forEach(function(t){return M.set(t,l)})}var d=r._buildAnimation(n.namespaceId,i,P,s,L,F);if(n.setRealPlayer(d),l===z)U.push(n);else{var v=r.playersByElement.get(l);v&&v.length&&(n.parentPlayer=u(v)),a.push(n)}}else q(e,i.fromStyles),n.onDestroy(function(){return B(e,i.toStyles)}),H.push(n),p.has(e)&&a.push(n)}),H.forEach(function(t){var e=s.get(t.element);if(e&&e.length){var n=u(e);t.setRealPlayer(n)}}),a.forEach(function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()});for(var W=0;W<_.length;W++){var G=_[W],Q=G[Kt];if(se(G,N),Q&&Q.hasAnimation)continue;var K=[];if(c.size){var Z=c.get(G);Z&&Z.length&&K.push.apply(K,Z);var $=this.driver.query(G,j,!0);for(var Y=0;Y<$.length;Y++){var J=c.get($[Y]);J&&J.length&&K.push.apply(K,J)}}var X=K.filter(function(t){return!t.destroyed});X.length?ue(this,G,X):this.processLeaveNode(G)}return _.length=0,U.forEach(function(t){r.players.push(t),t.onDone(function(){t.destroy();var e=r.players.indexOf(t);r.players.splice(e,1)}),t.play()}),U};e.elementContainsData=function t(e,n){var r=!1;var i=n[Kt];return i&&i.setForRemoval&&(r=!0),this.playersByElement.has(n)&&(r=!0),this.playersByQueriedElement.has(n)&&(r=!0),this.statesByElement.has(n)&&(r=!0),this._fetchNamespace(e).elementContainsData(n)||r};e.afterFlush=function t(e){this._flushFns.push(e)};e.afterFlushAnimationsDone=function t(e){this._whenQuietFns.push(e)};e._getPreviousPlayers=function t(e,n,r,i,o){var a=[];if(n){var s=this.playersByQueriedElement.get(e);s&&(a=s)}else{var u=this.playersByElement.get(e);if(u){var l=!o||o==$t;u.forEach(function(t){t.queued||(l||t.triggerName==i)&&a.push(t)})}}return(r||i)&&(a=a.filter(function(t){return!(r&&r!=t.namespaceId||i&&i!=t.triggerName)})),a};e._beforeAnimationBuild=function t(e,n,r){var i=this;var o=n.element,a=n.isRemovalTransition?void 0:e,s=n.isRemovalTransition?void 0:n.triggerName;var u=function t(){if(c){if(f>=l.length)return"break";h=l[f++]}else{f=l.next();if(f.done)return"break";h=f.value}var e=h;var u=e.element,p=u!==o,v=d(r,u,[]);i._getPreviousPlayers(u,p,a,s,n.toState).forEach(function(t){var e=t.getRealPlayer();e.beforeDestroy&&e.beforeDestroy(),t.destroy(),v.push(t)})};for(var l=n.timelines,c=Array.isArray(l),f=0,l=c?l:l[Symbol.iterator]();;){var h;var p=u();if(p==="break")break}q(o,n.fromStyles)};e._buildAnimation=function t(e,n,r,o,a,s){var c=this;var f=n.triggerName,h=n.element,p=[],v=new Set,m=new Set,g=n.timelines.map(function(t){var n=t.element;v.add(n);var u=n[Kt];if(u&&u.removedBeforeQueried)return new i.d(t.duration,t.delay);var d=n!==h,g=function(t){var e=[];return function t(e,n){for(var r=0;r<e.length;r++){var o=e[r];o instanceof i.g?t(o.players,n):n.push(o)}}((r.get(n)||Wt).map(function(t){return t.getRealPlayer()}),e),e}().filter(function(t){return!!t.element&&t.element===n}),y=a.get(n),b=s.get(n),_=l(0,c._normalizer,0,t.keyframes,y,b),w=c._buildPlayer(t,_,g);if(t.subTimeline&&o&&m.add(n),d){var C=new te(e,f,n);C.setRealPlayer(w),p.push(C)}return w});p.forEach(function(t){d(c.playersByQueriedElement,t.element,[]).push(t),t.onDone(function(){return function(t,e,n){var r;if(t instanceof Map){if(r=t.get(e)){if(r.length){var i=r.indexOf(n);r.splice(i,1)}0==r.length&&t.delete(e)}}else if(r=t[e]){if(r.length){var o=r.indexOf(n);r.splice(o,1)}0==r.length&&delete t[e]}return r}(c.playersByQueriedElement,t.element,t)})}),v.forEach(function(t){return ae(t,P)});var y=u(g);return y.onDestroy(function(){v.forEach(function(t){return se(t,P)}),B(h,n.toStyles)}),m.forEach(function(t){d(o,t,[]).push(y)}),y};e._buildPlayer=function t(e,n,r){return n.length>0?this.driver.animate(e.element,n,e.duration,e.delay,e.easing,r):new i.d(e.duration,e.delay)};o(t,[{key:"queuedPlayers",get:function t(){var e=[];return this._namespaceList.forEach(function(t){t.players.forEach(function(t){t.queued&&e.push(t)})}),e}}]);return t}();var te=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new i.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}var e=t.prototype;e.setRealPlayer=function t(e){var n=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(t){n._queuedCallbacks[t].forEach(function(n){return c(e,t,void 0,n)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)};e.getRealPlayer=function t(){return this._player};e.overrideTotalTime=function t(e){this.totalTime=e};e.syncPlayerEvents=function t(e){var n=this;var r=this._player;r.triggerCallback&&e.onStart(function(){return r.triggerCallback("start")}),e.onDone(function(){return n.finish()}),e.onDestroy(function(){return n.destroy()})};e._queueEvent=function t(e,n){d(this._queuedCallbacks,e,[]).push(n)};e.onDone=function t(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)};e.onStart=function t(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)};e.onDestroy=function t(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)};e.init=function t(){this._player.init()};e.hasStarted=function t(){return!this.queued&&this._player.hasStarted()};e.play=function t(){!this.queued&&this._player.play()};e.pause=function t(){!this.queued&&this._player.pause()};e.restart=function t(){!this.queued&&this._player.restart()};e.finish=function t(){this._player.finish()};e.destroy=function t(){this.destroyed=!0,this._player.destroy()};e.reset=function t(){!this.queued&&this._player.reset()};e.setPosition=function t(e){this.queued||this._player.setPosition(e)};e.getPosition=function t(){return this.queued?0:this._player.getPosition()};e.triggerCallback=function t(e){var n=this._player;n.triggerCallback&&n.triggerCallback(e)};return t}();function ee(t){return t&&1===t.nodeType}function ne(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function re(t,e,n,r,i){var o=[];n.forEach(function(t){return o.push(ne(t))});var a=[];r.forEach(function(n,r){var o={};n.forEach(function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r[Kt]=Qt,a.push(r))}),t.set(r,o)});var s=0;return n.forEach(function(t){return ne(t,o[s++])}),a}function ie(t,e){var n=new Map;if(t.forEach(function(t){return n.set(t,[])}),0==e.length)return n;var r=new Set(e),i=new Map;return e.forEach(function(t){var e=function t(e){if(!e)return 1;var o=i.get(e);if(o)return o;var a=e.parentNode;return o=n.has(a)?a:r.has(a)?1:t(a),i.set(e,o),o}(t);1!==e&&n.get(e).push(t)}),n}var oe="$$classes";function ae(t,e){if(t.classList)t.classList.add(e);else{var n=t[oe];n||(n=t[oe]={}),n[e]=!0}}function se(t,e){if(t.classList)t.classList.remove(e);else{var n=t[oe];n&&delete n[e]}}function ue(t,e,n){u(n).onDone(function(){return t.processLeaveNode(e)})}function le(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach(function(t){return i.add(t)}):e.set(t,r),n.delete(t),!0}var ce=function(){function t(t,e,n){var r=this;this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Xt(t,e,n),this._timelineEngine=new Ft(t,e,n),this._transitionEngine.onRemovalComplete=function(t,e){return r.onRemovalComplete(t,e)}}var e=t.prototype;e.registerTrigger=function t(e,n,r,i,o){var a=e+"-"+i;var s=this._triggerCache[a];if(!s){var u=[],l=lt(this._driver,o,u);if(u.length)throw new Error('The animation trigger "'+i+'" has failed to build due to the following errors:\n - '+u.join("\n - "));s=function(t,e){return new jt(t,e)}(i,l),this._triggerCache[a]=s}this._transitionEngine.registerTrigger(n,i,s)};e.register=function t(e,n){this._transitionEngine.register(e,n)};e.destroy=function t(e,n){this._transitionEngine.destroy(e,n)};e.onInsert=function t(e,n,r,i){this._transitionEngine.insertNode(e,n,r,i)};e.onRemove=function t(e,n,r,i){this._transitionEngine.removeNode(e,n,i||!1,r)};e.disableAnimations=function t(e,n){this._transitionEngine.markElementAsDisabled(e,n)};e.process=function t(e,n,r,i){if("@"==r.charAt(0)){var o=p(r),a=o[0],s=o[1];this._timelineEngine.command(a,n,s,i)}else this._transitionEngine.trigger(e,n,r,i)};e.listen=function t(e,n,r,i,o){if("@"==r.charAt(0)){var a=p(r),s=a[0],u=a[1];return this._timelineEngine.listen(s,n,u,o)}return this._transitionEngine.listen(e,n,r,i,o)};e.flush=function t(e){if(e===void 0){e=-1}this._transitionEngine.flush(e)};e.whenRenderingDone=function t(){return this._transitionEngine.whenRenderingDone()};o(t,[{key:"players",get:function t(){return this._transitionEngine.players.concat(this._timelineEngine.players)}}]);return t}();function fe(t,e){var n=null,r=null;return Array.isArray(e)&&e.length?(n=de(e[0]),e.length>1&&(r=de(e[e.length-1]))):e&&(n=de(e)),n||r?new he(t,n,r):null}var he=function(){var t=function(){function t(e,n,r){this._element=e,this._startStyles=n,this._endStyles=r,this._state=0;var i=t.initialStylesByElement.get(e);i||t.initialStylesByElement.set(e,i={}),this._initialStyles=i}var e=t.prototype;e.start=function t(){this._state<1&&(this._startStyles&&B(this._element,this._startStyles,this._initialStyles),this._state=1)};e.finish=function t(){this.start(),this._state<2&&(B(this._element,this._initialStyles),this._endStyles&&(B(this._element,this._endStyles),this._endStyles=null),this._state=1)};e.destroy=function e(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(q(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(q(this._element,this._endStyles),this._endStyles=null),B(this._element,this._initialStyles),this._state=3)};return t}();return t.initialStylesByElement=new WeakMap,t}();function de(t){var e=null;var n=Object.keys(t);for(var r=0;r<n.length;r++){var i=n[r];pe(i)&&((e=e||{})[i]=t[i])}return e}function pe(t){return"display"===t||"position"===t}var ve=3,me="animation",ge="animationend",ye=1e3;var be=function(){function t(t,e,n,r,i,o,a){var s=this;this._element=t,this._name=e,this._duration=n,this._delay=r,this._easing=i,this._fillMode=o,this._onDoneFn=a,this._finished=!1,this._destroyed=!1,this._startTime=0,this._position=0,this._eventFn=function(t){return s._handleCallback(t)}}var e=t.prototype;e.apply=function t(){!function(t,e){var n=ke(t,"").trim();n.length&&(function(t,e){var n=0;for(var r=0;r<t.length;r++){","===t.charAt(r)&&n++}}(n),e=n+", "+e),Ee(t,"",e)}(this._element,this._duration+"ms "+this._easing+" "+this._delay+"ms 1 normal "+this._fillMode+" "+this._name),Se(this._element,this._eventFn,!1),this._startTime=Date.now()};e.pause=function t(){_e(this._element,this._name,"paused")};e.resume=function t(){_e(this._element,this._name,"running")};e.setPosition=function t(e){var n=we(this._element,this._name);this._position=e*this._duration,Ee(this._element,"Delay","-"+this._position+"ms",n)};e.getPosition=function t(){return this._position};e._handleCallback=function t(e){var n=e._ngTestManualTimestamp||Date.now(),r=parseFloat(e.elapsedTime.toFixed(ve))*ye;e.animationName==this._name&&Math.max(n-this._startTime,0)>=this._delay&&r>=this._duration&&this.finish()};e.finish=function t(){this._finished||(this._finished=!0,this._onDoneFn(),Se(this._element,this._eventFn,!0))};e.destroy=function t(){this._destroyed||(this._destroyed=!0,this.finish(),function(t,e){var n=ke(t,"").split(","),r=Ce(n,e);r>=0&&(n.splice(r,1),Ee(t,"",n.join(",")))}(this._element,this._name))};return t}();function _e(t,e,n){Ee(t,"PlayState",n,we(t,e))}function we(t,e){var n=ke(t,"");return n.indexOf(",")>0?Ce(n.split(","),e):Ce([n],e)}function Ce(t,e){for(var n=0;n<t.length;n++){if(t[n].indexOf(e)>=0)return n}return-1}function Se(t,e,n){n?t.removeEventListener(ge,e):t.addEventListener(ge,e)}function Ee(t,e,n,r){var i=me+e;if(null!=r){var o=t.style[i];if(o.length){var a=o.split(",");a[r]=n,n=a.join(",")}}t.style[i]=n}function ke(t,e){return t.style[me+e]}var xe="forwards",Oe="linear";var Te=function(){function t(t,e,n,r,i,o,a,s){this.element=t,this.keyframes=e,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=a,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||Oe,this.totalTime=r+i,this._buildStyler()}var e=t.prototype;e.onStart=function t(e){this._onStartFns.push(e)};e.onDone=function t(e){this._onDoneFns.push(e)};e.onDestroy=function t(e){this._onDestroyFns.push(e)};e.destroy=function t(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])};e._flushDoneFns=function t(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]};e._flushStartFns=function t(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]};e.finish=function t(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())};e.setPosition=function t(e){this._styler.setPosition(e)};e.getPosition=function t(){return this._styler.getPosition()};e.hasStarted=function t(){return this._state>=2};e.init=function t(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())};e.play=function t(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()};e.pause=function t(){this.init(),this._styler.pause()};e.restart=function t(){this.reset(),this.play()};e.reset=function t(){this._styler.destroy(),this._buildStyler(),this._styler.apply()};e._buildStyler=function t(){var e=this;this._styler=new be(this.element,this.animationName,this._duration,this._delay,this.easing,xe,function(){return e.finish()})};e.triggerCallback=function t(e){var n="start"==e?this._onStartFns:this._onDoneFns;n.forEach(function(t){return t()}),n.length=0};e.beforeDestroy=function t(){var e=this;this.init();var n={};if(this.hasStarted()){var r=this._state>=3;Object.keys(this._finalStyles).forEach(function(t){"offset"!=t&&(n[t]=r?e._finalStyles[t]:et(e.element,t))})}this.currentSnapshot=n};return t}();var De=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.element=e,r._startingStyles={},r.__initialized=!1,r._styles=k(n);return r}var n=e.prototype;n.init=function e(){var n=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(function(t){n._startingStyles[t]=n.element.style[t]}),t.prototype.init.call(this))};n.play=function e(){var n=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(function(t){return n.element.style.setProperty(t,n._styles[t])}),t.prototype.play.call(this))};n.destroy=function e(){var n=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach(function(t){var e=n._startingStyles[t];e?n.element.style.setProperty(t,e):n.element.style.removeProperty(t)}),this._startingStyles=null,t.prototype.destroy.call(this))};return e}(i.d);var Ae="gen_css_kf_",Ne=" ";var Ie=function(){function t(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}var e=t.prototype;e.validateStyleProperty=function t(e){return w(e)};e.matchesElement=function t(e,n){return C(e,n)};e.containsElement=function t(e,n){return S(e,n)};e.query=function t(e,n,r){return E(e,n,r)};e.computeStyle=function t(e,n,r){return window.getComputedStyle(e)[n]};e.buildKeyframeElement=function t(e,n,r){r=r.map(function(t){return k(t)});var i="@keyframes "+n+" {\n",o="";r.forEach(function(t){o=Ne;var e=parseFloat(t.offset);i+=""+o+100*e+"% {\n",o+=Ne,Object.keys(t).forEach(function(e){var n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(i+=o+"animation-timing-function: "+n+";\n"));default:return void(i+=""+o+e+": "+n+";\n")}}),i+=o+"}\n"}),i+="}\n";var a=document.createElement("style");return a.innerHTML=i,a};e.animate=function t(e,n,r,i,o,a,s){if(a===void 0){a=[]}s&&this._notifyFaultyScrubber();var u=a.filter(function(t){return t instanceof Te}),l={};J(r,i)&&u.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var c=function(t){var e={};return t&&(Array.isArray(t)?t:[t]).forEach(function(t){Object.keys(t).forEach(function(n){"offset"!=n&&"easing"!=n&&(e[n]=t[n])})}),e}(n=X(e,n,l));if(0==r)return new De(e,c);var f=""+Ae+this._count++,h=this.buildKeyframeElement(e,f,n);document.querySelector("head").appendChild(h);var d=fe(e,n),p=new Te(e,n,f,r,i,o,c,d);return p.onDestroy(function(){return function(t){h.parentNode.removeChild(h)}()}),p};e._notifyFaultyScrubber=function t(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n","  visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)};return t}();var Re=function(){function t(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}var e=t.prototype;e._onFinish=function t(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])};e.init=function t(){this._buildPlayer(),this._preparePlayerBeforeStart()};e._buildPlayer=function t(){var e=this;if(this._initialized)return;this._initialized=!0;var n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})};e._preparePlayerBeforeStart=function t(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()};e._triggerWebAnimation=function t(e,n,r){return e.animate(n,r)};e.onStart=function t(e){this._onStartFns.push(e)};e.onDone=function t(e){this._onDoneFns.push(e)};e.onDestroy=function t(e){this._onDestroyFns.push(e)};e.play=function t(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()};e.pause=function t(){this.init(),this.domPlayer.pause()};e.finish=function t(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()};e.reset=function t(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1};e._resetDomPlayerState=function t(){this.domPlayer&&this.domPlayer.cancel()};e.restart=function t(){this.reset(),this.play()};e.hasStarted=function t(){return this._started};e.destroy=function t(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])};e.setPosition=function t(e){this.domPlayer.currentTime=e*this.time};e.getPosition=function t(){return this.domPlayer.currentTime/this.time};e.beforeDestroy=function t(){var e=this;var n={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(t){"offset"!=t&&(n[t]=e._finished?e._finalKeyframe[t]:et(e.element,t))}),this.currentSnapshot=n};e.triggerCallback=function t(e){var n="start"==e?this._onStartFns:this._onDoneFns;n.forEach(function(t){return t()}),n.length=0};o(t,[{key:"totalTime",get:function t(){return this._delay+this._duration}}]);return t}();var Pe=function(){function t(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Me().toString()),this._cssKeyframesDriver=new Ie}var e=t.prototype;e.validateStyleProperty=function t(e){return w(e)};e.matchesElement=function t(e,n){return C(e,n)};e.containsElement=function t(e,n){return S(e,n)};e.query=function t(e,n,r){return E(e,n,r)};e.computeStyle=function t(e,n,r){return window.getComputedStyle(e)[n]};e.overrideWebAnimationsSupport=function t(e){this._isNativeImpl=e};e.animate=function t(e,n,r,i,o,a,s){if(a===void 0){a=[]}if(!s&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,n,r,i,o,a);var u={duration:r,delay:i,fill:0==i?"both":"forwards"};o&&(u.easing=o);var l={},c=a.filter(function(t){return t instanceof Re});J(r,i)&&c.forEach(function(t){var e=t.currentSnapshot;Object.keys(e).forEach(function(t){return l[t]=e[t]})});var f=fe(e,n=X(e,n=n.map(function(t){return U(t,!1)}),l));return new Re(e,n,u,f)};return t}();function je(){return"function"==typeof Me()}function Me(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}},gRHU:function t(e,n,r){"use strict";r.d(n,"a",function(){return a});var i=r("2fFW"),o=r("NJ4a");var a={closed:!0,next:function t(e){},error:function t(e){if(i.a.useDeprecatedSynchronousErrorHandling)throw e;Object(o.a)(e)},complete:function t(){}}},iInd:function t(e,n,i){"use strict";var s=i("SVse"),u=i("8Y7J"),l=i("LRne"),c=i("Cfvw"),f=i("2Vo4"),h=i("HDdC");function d(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}d.prototype=Object.create(Error.prototype);var p=d;var v=i("itXk"),m=i("EY2u");function g(t){return new h.a(function(e){var n;try{n=t()}catch(r){return void e.error(r)}return(n?Object(c.a)(n):Object(m.b)()).subscribe(e)})}var y=i("XNiG"),b=i("lJxs"),_=i("0EUg"),w=i("pLZG"),C=i("7o/Q"),S=i("4I5i");function E(t){return function(e){return 0===t?Object(m.b)():e.lift(new k(t))}}var k=function(){function t(t){if(this.total=t,this.total<0)throw new S.a}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new x(e,this.total))};return t}();var x=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.total=n,r.ring=new Array,r.count=0;return r}var n=e.prototype;n._next=function t(e){var n=this.ring,r=this.total,i=this.count++;n.length<r?n.push(e):n[i%r]=e};n._complete=function t(){var e=this.destination;var n=this.count;if(n>0){var r=this.count>=this.total?this.total:this.count,i=this.ring;for(var o=0;o<r;o++){var a=n++%r;e.next(i[a])}}e.complete()};return e}(C.a);var O=i("vkgz");var T=function t(e){if(e===void 0){e=function t(){return new p}}return Object(O.a)({hasValue:!1,next:function t(){this.hasValue=!0},complete:function t(){if(!this.hasValue)throw e()}})};function D(t){if(t===void 0){t=null}return function(e){return e.lift(new A(t))}}var A=function(){function t(t){this.defaultValue=t}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new N(e,this.defaultValue))};return t}();var N=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.defaultValue=n,r.isEmpty=!0;return r}var n=e.prototype;n._next=function t(e){this.isEmpty=!1,this.destination.next(e)};n._complete=function t(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()};return e}(C.a);var I=i("SpAZ");function R(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Object(w.a)(function(e,n){return t(e,n,r)}):I.a,E(1),n?D(e):T(function(){return new p}))}}var P=i("l7GE"),j=i("51Dv"),M=i("ZUHj");function V(t){return function(e){var n=new F(t),r=e.lift(n);return n.caught=r}}var F=function(){function t(t){this.selector=t}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new L(e,this.selector,this.caught))};return t}();var L=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e)||this,i.selector=n,i.caught=r;return i}var n=e.prototype;n.error=function e(n){if(!this.isStopped){var r;try{r=this.selector(n,this.caught)}catch(o){return void t.prototype.error.call(this,o)}this._unsubscribeAndRecycle();var i=new j.a(this,void 0,void 0);this.add(i),Object(M.a)(this,r,void 0,void 0,i)}};return e}(P.a);var U=i("IzEk");function H(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Object(w.a)(function(e,n){return t(e,n,r)}):I.a,Object(U.a)(1),n?D(e):T(function(){return new p}))}}var z=i("5+tZ");var B=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new q(e,this.predicate,this.thisArg,this.source))};return t}();var q=function(t){a(e,t);function e(e,n,i,o){var a;a=t.call(this,e)||this,a.predicate=n,a.thisArg=i,a.source=o,a.index=0,a.thisArg=i||r(a);return a}var n=e.prototype;n.notifyComplete=function t(e){this.destination.next(e),this.destination.complete()};n._next=function t(e){var n=!1;try{n=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(r){return void this.destination.error(r)}n||this.notifyComplete(!1)};n._complete=function t(){this.notifyComplete(!0)};return e}(C.a);var W=i("eIep"),G=i("JX91");function Q(t,e){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new K(t,e,n))}}var K=function(){function t(t,e,n){if(n===void 0){n=!1}this.accumulator=t,this.seed=e,this.hasSeed=n}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new Z(e,this.accumulator,this.seed,this.hasSeed))};return t}();var Z=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e)||this,o.accumulator=n,o._seed=r,o.hasSeed=i,o.index=0;return o}var n=e.prototype;n._next=function t(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)};n._tryNext=function t(e){var n=this.index++;var r;try{r=this.accumulator(this.seed,e,n)}catch(i){this.destination.error(i)}this.seed=r,this.destination.next(r)};o(e,[{key:"seed",get:function t(){return this._seed},set:function t(e){this.hasSeed=!0,this._seed=e}}]);return e}(C.a);function $(t,e){return Object(z.a)(t,e,1)}var Y=i("mCNh"),J=i("quSY");var X=function(){function t(t){this.callback=t}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new tt(e,this.callback))};return t}();var tt=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.add(new J.a(n));return r}return e}(C.a);var et=i("bHdf"),nt=i("cUpR");i.d(n,"B",function(){return _t}),i.d(n,"r",function(){return Mn}),i.d(n,"y",function(){return Gn}),i.d(n,"t",function(){return Un}),i.d(n,"z",function(){return Qn}),i.d(n,"A",function(){return Kn}),i.d(n,"v",function(){return zn}),i.d(n,"u",function(){return Hn}),i.d(n,"x",function(){return Wn}),i.d(n,"s",function(){return Fn}),i.d(n,"w",function(){return qn}),i.d(n,"C",function(){return Pn}),i.d(n,"l",function(){return En}),i.d(n,"n",function(){return Tn}),i.d(n,"j",function(){return pn}),i.d(n,"k",function(){return Sn}),i.d(n,"i",function(){return mn}),i.d(n,"g",function(){return jn}),i.d(n,"h",function(){return Zn}),i.d(n,"m",function(){return Ln}),i.d(n,"b",function(){return On}),i.d(n,"d",function(){return In}),i.d(n,"e",function(){return Nn}),i.d(n,"f",function(){return An}),i.d(n,"o",function(){return Rn}),i.d(n,"a",function(){return fe}),i.d(n,"p",function(){return yn}),i.d(n,"c",function(){return qt}),i.d(n,"q",function(){return Bt});var rt=function t(e,n){this.id=e,this.url=n};var it=function(t){a(e,t);function e(e,n,r,i){var o;if(r===void 0){r="imperative"}if(i===void 0){i=null}o=t.call(this,e,n)||this,o.navigationTrigger=r,o.restoredState=i;return o}var n=e.prototype;n.toString=function t(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"};return e}(rt);var ot=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e,n)||this,i.urlAfterRedirects=r;return i}var n=e.prototype;n.toString=function t(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"};return e}(rt);var at=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e,n)||this,i.reason=r;return i}var n=e.prototype;n.toString=function t(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"};return e}(rt);var st=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e,n)||this,i.error=r;return i}var n=e.prototype;n.toString=function t(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"};return e}(rt);var ut=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e,n)||this,o.urlAfterRedirects=r,o.state=i;return o}var n=e.prototype;n.toString=function t(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"};return e}(rt);var lt=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e,n)||this,o.urlAfterRedirects=r,o.state=i;return o}var n=e.prototype;n.toString=function t(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"};return e}(rt);var ct=function(t){a(e,t);function e(e,n,r,i,o){var a;a=t.call(this,e,n)||this,a.urlAfterRedirects=r,a.state=i,a.shouldActivate=o;return a}var n=e.prototype;n.toString=function t(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"};return e}(rt);var ft=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e,n)||this,o.urlAfterRedirects=r,o.state=i;return o}var n=e.prototype;n.toString=function t(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"};return e}(rt);var ht=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,e,n)||this,o.urlAfterRedirects=r,o.state=i;return o}var n=e.prototype;n.toString=function t(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"};return e}(rt);var dt=function(){function t(t){this.route=t}var e=t.prototype;e.toString=function t(){return"RouteConfigLoadStart(path: "+this.route.path+")"};return t}();var pt=function(){function t(t){this.route=t}var e=t.prototype;e.toString=function t(){return"RouteConfigLoadEnd(path: "+this.route.path+")"};return t}();var vt=function(){function t(t){this.snapshot=t}var e=t.prototype;e.toString=function t(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"};return t}();var mt=function(){function t(t){this.snapshot=t}var e=t.prototype;e.toString=function t(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"};return t}();var gt=function(){function t(t){this.snapshot=t}var e=t.prototype;e.toString=function t(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"};return t}();var yt=function(){function t(t){this.snapshot=t}var e=t.prototype;e.toString=function t(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"};return t}();var bt=function(){function t(t,e,n){this.routerEvent=t,this.position=e,this.anchor=n}var e=t.prototype;e.toString=function t(){return"Scroll(anchor: '"+this.anchor+"', position: '"+(this.position?this.position[0]+", "+this.position[1]:null)+"')"};return t}();var _t=function t(){};var wt="primary";var Ct=function(){function t(t){this.params=t||{}}var e=t.prototype;e.has=function t(e){return this.params.hasOwnProperty(e)};e.get=function t(e){if(this.has(e)){var n=this.params[e];return Array.isArray(n)?n[0]:n}return null};e.getAll=function t(e){if(this.has(e)){var n=this.params[e];return Array.isArray(n)?n:[n]}return[]};o(t,[{key:"keys",get:function t(){return Object.keys(this.params)}}]);return t}();function St(t){return new Ct(t)}var Et="ngNavigationCancelingError";function kt(t){var e=Error("NavigationCancelingError: "+t);return e[Et]=!0,e}function xt(t,e,n){var r=n.path.split("/");if(r.length>t.length)return null;if("full"===n.pathMatch&&(e.hasChildren()||r.length<t.length))return null;var i={};for(var o=0;o<r.length;o++){var a=r[o],s=t[o];if(a.startsWith(":"))i[a.substring(1)]=s;else if(a!==s.path)return null}return{consumed:t.slice(0,r.length),posParams:i}}var Ot=function t(e,n){this.routes=e,this.module=n};function Tt(t,e){if(e===void 0){e=""}for(var n=0;n<t.length;n++){var r=t[n];Dt(r,At(e,r))}}function Dt(t,e){if(!t)throw new Error("\n      Invalid configuration of route '"+e+"': Encountered undefined route.\n      The reason might be an extra comma.\n\n      Example:\n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    ");if(Array.isArray(t))throw new Error("Invalid configuration of route '"+e+"': Array cannot be specified");if(!t.component&&!t.children&&!t.loadChildren&&t.outlet&&t.outlet!==wt)throw new Error("Invalid configuration of route '"+e+"': a componentless route without children or loadChildren cannot have a named outlet set");if(t.redirectTo&&t.children)throw new Error("Invalid configuration of route '"+e+"': redirectTo and children cannot be used together");if(t.redirectTo&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': redirectTo and loadChildren cannot be used together");if(t.children&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': children and loadChildren cannot be used together");if(t.redirectTo&&t.component)throw new Error("Invalid configuration of route '"+e+"': redirectTo and component cannot be used together");if(t.path&&t.matcher)throw new Error("Invalid configuration of route '"+e+"': path and matcher cannot be used together");if(void 0===t.redirectTo&&!t.component&&!t.children&&!t.loadChildren)throw new Error("Invalid configuration of route '"+e+"'. One of the following must be provided: component, redirectTo, children or loadChildren");if(void 0===t.path&&void 0===t.matcher)throw new Error("Invalid configuration of route '"+e+"': routes must have either a path or a matcher specified");if("string"==typeof t.path&&"/"===t.path.charAt(0))throw new Error("Invalid configuration of route '"+e+"': path cannot start with a slash");if(""===t.path&&void 0!==t.redirectTo&&void 0===t.pathMatch)throw new Error("Invalid configuration of route '{path: \""+e+'", redirectTo: "'+t.redirectTo+"\"}': please provide 'pathMatch'. The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.");if(void 0!==t.pathMatch&&"full"!==t.pathMatch&&"prefix"!==t.pathMatch)throw new Error("Invalid configuration of route '"+e+"': pathMatch can only be set to 'prefix' or 'full'");t.children&&Tt(t.children,e)}function At(t,e){return e?t||e.path?t&&!e.path?t+"/":!t&&e.path?e.path:t+"/"+e.path:"":t}function Nt(t){var e=t.children&&t.children.map(Nt),n=e?Object.assign({},t,{children:e}):Object.assign({},t);return!n.component&&(e||n.loadChildren)&&n.outlet&&n.outlet!==wt&&(n.component=_t),n}function It(t,e){var n=Object.keys(t),r=Object.keys(e);if(!n||!r||n.length!=r.length)return!1;var i;for(var o=0;o<n.length;o++){if(t[i=n[o]]!==e[i])return!1}return!0}function Rt(t){return Array.prototype.concat.apply([],t)}function Pt(t){return t.length>0?t[t.length-1]:null}function jt(t,e){for(var n in t){t.hasOwnProperty(n)&&e(t[n],n)}}function Mt(t){return Object(u.yb)(t)?t:Object(u.zb)(t)?Object(c.a)(Promise.resolve(t)):Object(l.a)(t)}function Vt(t,e,n){return n?function(t,e){return It(t,e)}(t.queryParams,e.queryParams)&&function t(e,n){if(!Ht(e.segments,n.segments))return!1;if(e.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!e.children[r])return!1;if(!t(e.children[r],n.children[r]))return!1}return!0}(t.root,e.root):function(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}(t.queryParams,e.queryParams)&&function t(e,n){return function e(n,r,i){if(n.segments.length>i.length){return!!Ht(n.segments.slice(0,i.length),i)&&!r.hasChildren()}if(n.segments.length===i.length){if(!Ht(n.segments,i))return!1;for(var o in r.children){if(!n.children[o])return!1;if(!t(n.children[o],r.children[o]))return!1}return!0}{var a=i.slice(0,n.segments.length),s=i.slice(n.segments.length);return!!Ht(n.segments,a)&&!!n.children[wt]&&e(n.children[wt],r,s)}}(e,n,n.segments)}(t.root,e.root)}var Ft=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}var e=t.prototype;e.toString=function t(){return Wt.serialize(this)};o(t,[{key:"queryParamMap",get:function t(){return this._queryParamMap||(this._queryParamMap=St(this.queryParams)),this._queryParamMap}}]);return t}();var Lt=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,jt(e,function(t,e){return t.parent=n})}var e=t.prototype;e.hasChildren=function t(){return this.numberOfChildren>0};e.toString=function t(){return Gt(this)};o(t,[{key:"numberOfChildren",get:function t(){return Object.keys(this.children).length}}]);return t}();var Ut=function(){function t(t,e){this.path=t,this.parameters=e}var e=t.prototype;e.toString=function t(){return Jt(this)};o(t,[{key:"parameterMap",get:function t(){return this._parameterMap||(this._parameterMap=St(this.parameters)),this._parameterMap}}]);return t}();function Ht(t,e){return t.length===e.length&&t.every(function(t,n){return t.path===e[n].path})}function zt(t,e){var n=[];return jt(t.children,function(t,r){r===wt&&(n=n.concat(e(t,r)))}),jt(t.children,function(t,r){r!==wt&&(n=n.concat(e(t,r)))}),n}var Bt=function t(){};var qt=function(){function t(){}var e=t.prototype;e.parse=function t(e){var n=new re(e);return new Ft(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())};e.serialize=function t(e){var n;return""+("/"+function t(e,n){if(!e.hasChildren())return Gt(e);if(n){var r=e.children[wt]?t(e.children[wt],!1):"",i=[];return jt(e.children,function(e,n){n!==wt&&i.push(n+":"+t(e,!1))}),i.length>0?r+"("+i.join("//")+")":r}{var o=zt(e,function(n,r){return r===wt?[t(e.children[wt],!1)]:[r+":"+t(n,!1)]});return Gt(e)+"/("+o.join("//")+")"}}(e.root,!0))+function(t){var e=Object.keys(t).map(function(e){var n=t[e];return Array.isArray(n)?n.map(function(t){return Kt(e)+"="+Kt(t)}).join("&"):Kt(e)+"="+Kt(n)});return e.length?"?"+e.join("&"):""}(e.queryParams)+("string"==typeof e.fragment?"#"+(n=e.fragment,encodeURI(n)):"")};return t}();var Wt=new qt;function Gt(t){return t.segments.map(function(t){return Jt(t)}).join("/")}function Qt(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Kt(t){return Qt(t).replace(/%3B/gi,";")}function Zt(t){return Qt(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function $t(t){return decodeURIComponent(t)}function Yt(t){return $t(t.replace(/\+/g,"%20"))}function Jt(t){return""+Zt(t.path)+(e=t.parameters,Object.keys(e).map(function(t){return";"+Zt(t)+"="+Zt(e[t])}).join(""));var e}var Xt=/^[^\/()?;=#]+/;function te(t){var e=t.match(Xt);return e?e[0]:""}var ee=/^[^=?&#]+/,ne=/^[^?&#]+/;var re=function(){function t(t){this.url=t,this.remaining=t}var e=t.prototype;e.parseRootSegment=function t(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Lt([],{}):new Lt([],this.parseChildren())};e.parseQueryParams=function t(){var e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e};e.parseFragment=function t(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null};e.parseChildren=function t(){if(""===this.remaining)return{};this.consumeOptional("/");var e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");){this.capture("/"),e.push(this.parseSegment())}var n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));var r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(e.length>0||Object.keys(n).length>0)&&(r[wt]=new Lt(e,n)),r};e.parseSegment=function t(){var e=te(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(e),new Ut($t(e),this.parseMatrixParams())};e.parseMatrixParams=function t(){var e={};for(;this.consumeOptional(";");){this.parseParam(e)}return e};e.parseParam=function t(e){var n=te(this.remaining);if(!n)return;this.capture(n);var r="";if(this.consumeOptional("=")){var i=te(this.remaining);i&&this.capture(r=i)}e[$t(n)]=$t(r)};e.parseQueryParam=function t(e){var n=function(t){var e=t.match(ee);return e?e[0]:""}(this.remaining);if(!n)return;this.capture(n);var r="";if(this.consumeOptional("=")){var i=function(t){var e=t.match(ne);return e?e[0]:""}(this.remaining);i&&this.capture(r=i)}var o=Yt(n),a=Yt(r);if(e.hasOwnProperty(o)){var s=e[o];Array.isArray(s)||(e[o]=s=[s]),s.push(a)}else e[o]=a};e.parseParens=function t(e){var n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var r=te(this.remaining),i=this.remaining[r.length];if("/"!==i&&")"!==i&&";"!==i)throw new Error("Cannot parse url '"+this.url+"'");var o=void 0;r.indexOf(":")>-1?(o=r.substr(0,r.indexOf(":")),this.capture(o),this.capture(":")):e&&(o=wt);var a=this.parseChildren();n[o]=1===Object.keys(a).length?a[wt]:new Lt([],a),this.consumeOptional("//")}return n};e.peekStartsWith=function t(e){return this.remaining.startsWith(e)};e.consumeOptional=function t(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)};e.capture=function t(e){if(!this.consumeOptional(e))throw new Error('Expected "'+e+'".')};return t}();var ie=function(){function t(t){this._root=t}var e=t.prototype;e.parent=function t(e){var n=this.pathFromRoot(e);return n.length>1?n[n.length-2]:null};e.children=function t(e){var n=oe(e,this._root);return n?n.children.map(function(t){return t.value}):[]};e.firstChild=function t(e){var n=oe(e,this._root);return n&&n.children.length>0?n.children[0].value:null};e.siblings=function t(e){var n=ae(e,this._root);return n.length<2?[]:n[n.length-2].children.map(function(t){return t.value}).filter(function(t){return t!==e})};e.pathFromRoot=function t(e){return ae(e,this._root).map(function(t){return t.value})};o(t,[{key:"root",get:function t(){return this._root.value}}]);return t}();function oe(t,e){if(t===e.value)return e;for(var n=e.children,r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{i=n.next();if(i.done)break;o=i.value}var a=o;var s=oe(t,a);if(s)return s}return null}function ae(t,e){if(t===e.value)return[e];for(var n=e.children,r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{i=n.next();if(i.done)break;o=i.value}var a=o;var s=ae(t,a);if(s.length)return s.unshift(e),s}return[]}var se=function(){function t(t,e){this.value=t,this.children=e}var e=t.prototype;e.toString=function t(){return"TreeNode("+this.value+")"};return t}();function ue(t){var e={};return t&&t.children.forEach(function(t){return e[t.value.outlet]=t}),e}var le=function(t){a(e,t);function e(e,n){var i;i=t.call(this,e)||this,i.snapshot=n,ve(r(i),e);return i}var n=e.prototype;n.toString=function t(){return this.snapshot.toString()};return e}(ie);function ce(t,e){var n=function(t,e){var n=new de([],{},{},"",{},wt,e,null,t.root,-1,{});return new pe("",new se(n,[]))}(t,e),r=new f.a([new Ut("",{})]),i=new f.a({}),o=new f.a({}),a=new f.a({}),s=new f.a(""),u=new fe(r,i,a,s,o,wt,e,n.root);return u.snapshot=n.root,new le(new se(u,[]),n)}var fe=function(){function t(t,e,n,r,i,o,a,s){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this._futureSnapshot=s}var e=t.prototype;e.toString=function t(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"};o(t,[{key:"routeConfig",get:function t(){return this._futureSnapshot.routeConfig}},{key:"root",get:function t(){return this._routerState.root}},{key:"parent",get:function t(){return this._routerState.parent(this)}},{key:"firstChild",get:function t(){return this._routerState.firstChild(this)}},{key:"children",get:function t(){return this._routerState.children(this)}},{key:"pathFromRoot",get:function t(){return this._routerState.pathFromRoot(this)}},{key:"paramMap",get:function t(){return this._paramMap||(this._paramMap=this.params.pipe(Object(b.a)(function(t){return St(t)}))),this._paramMap}},{key:"queryParamMap",get:function t(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(b.a)(function(t){return St(t)}))),this._queryParamMap}}]);return t}();function he(t,e){if(e===void 0){e="emptyOnly"}var n=t.pathFromRoot;var r=0;if("always"!==e)for(r=n.length-1;r>=1;){var i=n[r],o=n[r-1];if(i.routeConfig&&""===i.routeConfig.path)r--;else{if(o.component)break;r--}}return function(t){return t.reduce(function(t,e){return{params:Object.assign({},t.params,e.params),data:Object.assign({},t.data,e.data),resolve:Object.assign({},t.resolve,e._resolvedData)}},{params:{},data:{},resolve:{}})}(n.slice(r))}var de=function(){function t(t,e,n,r,i,o,a,s,u,l,c){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=a,this.routeConfig=s,this._urlSegment=u,this._lastPathIndex=l,this._resolve=c}var e=t.prototype;e.toString=function t(){return"Route(url:'"+this.url.map(function(t){return t.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"};o(t,[{key:"root",get:function t(){return this._routerState.root}},{key:"parent",get:function t(){return this._routerState.parent(this)}},{key:"firstChild",get:function t(){return this._routerState.firstChild(this)}},{key:"children",get:function t(){return this._routerState.children(this)}},{key:"pathFromRoot",get:function t(){return this._routerState.pathFromRoot(this)}},{key:"paramMap",get:function t(){return this._paramMap||(this._paramMap=St(this.params)),this._paramMap}},{key:"queryParamMap",get:function t(){return this._queryParamMap||(this._queryParamMap=St(this.queryParams)),this._queryParamMap}}]);return t}();var pe=function(t){a(e,t);function e(e,n){var i;i=t.call(this,n)||this,i.url=e,ve(r(i),n);return i}var n=e.prototype;n.toString=function t(){return me(this._root)};return e}(ie);function ve(t,e){e.value._routerState=t,e.children.forEach(function(e){return ve(t,e)})}function me(t){var e=t.children.length>0?" { "+t.children.map(me).join(", ")+" } ":"";return""+t.value+e}function ge(t){if(t.snapshot){var e=t.snapshot,n=t._futureSnapshot;t.snapshot=n,It(e.queryParams,n.queryParams)||t.queryParams.next(n.queryParams),e.fragment!==n.fragment&&t.fragment.next(n.fragment),It(e.params,n.params)||t.params.next(n.params),function(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n){if(!It(t[n],e[n]))return!1}return!0}(e.url,n.url)||t.url.next(n.url),It(e.data,n.data)||t.data.next(n.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function ye(t,e){var n,r;return It(t.params,e.params)&&Ht(n=t.url,r=e.url)&&n.every(function(t,e){return It(t.parameters,r[e].parameters)})&&!(!t.parent!=!e.parent)&&(!t.parent||ye(t.parent,e.parent))}function be(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function _e(t,e,n,r,i){var o={};return r&&jt(r,function(t,e){o[e]=Array.isArray(t)?t.map(function(t){return""+t}):""+t}),new Ft(n.root===t?e:function t(e,n,r){var i={};return jt(e.children,function(e,o){i[o]=e===n?r:t(e,n,r)}),new Lt(e.segments,i)}(n.root,t,e),o,i)}var we=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&be(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==Pt(n))throw new Error("{outlets:{}} has to be the last command")}var e=t.prototype;e.toRoot=function t(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]};return t}();var Ce=function t(e,n,r){this.segmentGroup=e,this.processChildren=n,this.index=r};function Se(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[wt]:""+t}function Ee(t,e,n){if(t||(t=new Lt([],{})),0===t.segments.length&&t.hasChildren())return ke(t,e,n);var r=function(t,e,n){var r=0,i=e;var o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=n.length)return o;var a=t.segments[i],s=Se(n[r]),u=r<n.length-1?n[r+1]:null;if(i>0&&void 0===s)break;if(s&&u&&"object"==typeof u&&void 0===u.outlets){if(!De(s,u,a))return o;r+=2}else{if(!De(s,{},a))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){var o=new Lt(t.segments.slice(0,r.pathIndex),{});return o.children[wt]=new Lt(t.segments.slice(r.pathIndex),t.children),ke(o,0,i)}return r.match&&0===i.length?new Lt(t.segments,{}):r.match&&!t.hasChildren()?xe(t,e,n):r.match?ke(t,0,i):xe(t,e,n)}function ke(t,e,n){if(0===n.length)return new Lt(t.segments,{});{var r=function(t){var e,n;return"object"!=typeof t[0]?(e={},e[wt]=t,e):void 0===t[0].outlets?(n={},n[wt]=t,n):t[0].outlets}(n),i={};return jt(r,function(n,r){null!==n&&(i[r]=Ee(t.children[r],e,n))}),jt(t.children,function(t,e){void 0===r[e]&&(i[e]=t)}),new Lt(t.segments,i)}}function xe(t,e,n){var r=t.segments.slice(0,e);var i=0;for(;i<n.length;){if("object"==typeof n[i]&&void 0!==n[i].outlets){var o=Oe(n[i].outlets);return new Lt(r,o)}if(0===i&&be(n[0])){r.push(new Ut(t.segments[e].path,n[0])),i++;continue}var a=Se(n[i]),s=i<n.length-1?n[i+1]:null;a&&s&&be(s)?(r.push(new Ut(a,Te(s))),i+=2):(r.push(new Ut(a,{})),i++)}return new Lt(r,{})}function Oe(t){var e={};return jt(t,function(t,n){null!==t&&(e[n]=xe(new Lt([],{}),0,t))}),e}function Te(t){var e={};return jt(t,function(t,n){return e[n]=""+t}),e}function De(t,e,n){return t==n.path&&It(e,n.parameters)}var Ae=function t(e,n,r){return Object(b.a)(function(t){return new Ne(n,t.targetRouterState,t.currentRouterState,r).activate(e),t})};var Ne=function(){function t(t,e,n,r){this.routeReuseStrategy=t,this.futureState=e,this.currState=n,this.forwardEvent=r}var e=t.prototype;e.activate=function t(e){var n=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,r,e),ge(this.futureState.root),this.activateChildRoutes(n,r,e)};e.deactivateChildRoutes=function t(e,n,r){var i=this;var o=ue(n);e.children.forEach(function(t){var e=t.value.outlet;i.deactivateRoutes(t,o[e],r),delete o[e]}),jt(o,function(t,e){i.deactivateRouteAndItsChildren(t,r)})};e.deactivateRoutes=function t(e,n,r){var i=e.value,o=n?n.value:null;if(i===o){if(i.component){var a=r.getContext(i.outlet);a&&this.deactivateChildRoutes(e,n,a.children)}else this.deactivateChildRoutes(e,n,r)}else o&&this.deactivateRouteAndItsChildren(n,r)};e.deactivateRouteAndItsChildren=function t(e,n){this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,n):this.deactivateRouteAndOutlet(e,n)};e.detachAndStoreRouteSubtree=function t(e,n){var r=n.getContext(e.value.outlet);if(r&&r.outlet){var i=r.outlet.detach(),o=r.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:i,route:e,contexts:o})}};e.deactivateRouteAndOutlet=function t(e,n){var r=this;var i=n.getContext(e.value.outlet);if(i){var o=ue(e),a=e.value.component?i.children:n;jt(o,function(t,e){return r.deactivateRouteAndItsChildren(t,a)}),i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated())}};e.activateChildRoutes=function t(e,n,r){var i=this;var o=ue(n);e.children.forEach(function(t){i.activateRoutes(t,o[t.value.outlet],r),i.forwardEvent(new yt(t.value.snapshot))}),e.children.length&&this.forwardEvent(new mt(e.value.snapshot))};e.activateRoutes=function t(e,n,r){var i=e.value,o=n?n.value:null;if(ge(i),i===o){if(i.component){var a=r.getOrCreateContext(i.outlet);this.activateChildRoutes(e,n,a.children)}else this.activateChildRoutes(e,n,r)}else if(i.component){var s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){var u=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(u.contexts),s.attachRef=u.componentRef,s.route=u.route.value,s.outlet&&s.outlet.attach(u.componentRef,u.route.value),Ie(u.route)}else{var l=function(t){for(var e=i.snapshot.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig;if(n&&n.component)return null}return null}(),c=l?l.module.componentFactoryResolver:null;s.attachRef=null,s.route=i,s.resolver=c,s.outlet&&s.outlet.activateWith(i,c),this.activateChildRoutes(e,null,s.children)}}else this.activateChildRoutes(e,null,r)};return t}();function Ie(t){ge(t.value),t.children.forEach(Ie)}function Re(t){return"function"==typeof t}function Pe(t){return t instanceof Ft}var je=function t(e){this.segmentGroup=e||null};var Me=function t(e){this.urlTree=e};function Ve(t){return new h.a(function(e){return e.error(new je(t))})}function Fe(t){return new h.a(function(e){return e.error(new Me(t))})}function Le(t){return new h.a(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}var Ue=function(){function t(t,e,n,r,i){this.configLoader=e,this.urlSerializer=n,this.urlTree=r,this.config=i,this.allowRedirects=!0,this.ngModule=t.get(u.w)}var e=t.prototype;e.apply=function t(){var e=this;return this.expandSegmentGroup(this.ngModule,this.config,this.urlTree.root,wt).pipe(Object(b.a)(function(t){return e.createUrlTree(t,e.urlTree.queryParams,e.urlTree.fragment)})).pipe(V(function(t){if(t instanceof Me)return e.allowRedirects=!1,e.match(t.urlTree);if(t instanceof je)throw e.noMatchError(t);throw t}))};e.match=function t(e){var n=this;return this.expandSegmentGroup(this.ngModule,this.config,e.root,wt).pipe(Object(b.a)(function(t){return n.createUrlTree(t,e.queryParams,e.fragment)})).pipe(V(function(t){if(t instanceof je)throw n.noMatchError(t);throw t}))};e.noMatchError=function t(e){return new Error("Cannot match any routes. URL Segment: '"+e.segmentGroup+"'")};e.createUrlTree=function t(e,n,r){var i;var o=e.segments.length>0?new Lt([],(i={},i[wt]=e,i)):e;return new Ft(o,n,r)};e.expandSegmentGroup=function t(e,n,r,i){return 0===r.segments.length&&r.hasChildren()?this.expandChildren(e,n,r).pipe(Object(b.a)(function(t){return new Lt([],t)})):this.expandSegment(e,r,n,r.segments,i,!0)};e.expandChildren=function t(e,n,r){var i=this;return function(t,e){if(0===Object.keys(t).length)return Object(l.a)({});var n=[],r=[],i={};return jt(t,function(t,o){var a=e(o,t).pipe(Object(b.a)(function(t){return i[o]=t}));o===wt?n.push(a):r.push(a)}),l.a.apply(null,n.concat(r)).pipe(Object(_.a)(),R(),Object(b.a)(function(){return i}))}(r.children,function(t,r){return i.expandSegmentGroup(e,n,r,t)})};e.expandSegment=function t(e,n,r,i,o,a){var s=this;return Object(l.a).apply(void 0,r).pipe(Object(b.a)(function(t){return s.expandSegmentAgainstRoute(e,n,r,t,i,o,a).pipe(V(function(t){if(t instanceof je)return Object(l.a)(null);throw t}))}),Object(_.a)(),H(function(t){return!!t}),V(function(t,e){if(t instanceof p||"EmptyError"===t.name){if(s.noLeftoversInUrl(n,i,o))return Object(l.a)(new Lt([],{}));throw new je(n)}throw t}))};e.noLeftoversInUrl=function t(e,n,r){return 0===n.length&&!e.children[r]};e.expandSegmentAgainstRoute=function t(e,n,r,i,o,a,s){return qe(i)!==a?Ve(n):void 0===i.redirectTo?this.matchSegmentAgainstRoute(e,n,i,o):s&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,n,r,i,o,a):Ve(n)};e.expandSegmentAgainstRouteUsingRedirect=function t(e,n,r,i,o,a){return"**"===i.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,r,i,a):this.expandRegularSegmentAgainstRouteUsingRedirect(e,n,r,i,o,a)};e.expandWildCardWithParamsAgainstRouteUsingRedirect=function t(e,n,r,i){var o=this;var a=this.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?Fe(a):this.lineralizeSegments(r,a).pipe(Object(z.a)(function(t){var r=new Lt(t,{});return o.expandSegment(e,r,n,t,i,!1)}))};e.expandRegularSegmentAgainstRouteUsingRedirect=function t(e,n,r,i,o,a){var s=this;var u=He(n,i,o),l=u.matched,c=u.consumedSegments,f=u.lastChild,h=u.positionalParamSegments;if(!l)return Ve(n);var d=this.applyRedirectCommands(c,i.redirectTo,h);return i.redirectTo.startsWith("/")?Fe(d):this.lineralizeSegments(i,d).pipe(Object(z.a)(function(t){return s.expandSegment(e,n,r,t.concat(o.slice(f)),a,!1)}))};e.matchSegmentAgainstRoute=function t(e,n,r,i){var o=this;if("**"===r.path)return r.loadChildren?this.configLoader.load(e.injector,r).pipe(Object(b.a)(function(t){return r._loadedConfig=t,new Lt(i,{})})):Object(l.a)(new Lt(i,{}));var a=He(n,r,i),s=a.matched,u=a.consumedSegments,c=a.lastChild;if(!s)return Ve(n);var f=i.slice(c);return this.getChildConfig(e,r,i).pipe(Object(z.a)(function(t){var e=t.module,r=t.routes,i=function(t,e,n,r){return n.length>0&&function(t,e,n){return r.some(function(n){return Be(t,e,n)&&qe(n)!==wt})}(t,n)?{segmentGroup:ze(new Lt(e,function(t,e){var n={};n[wt]=e;for(var r=t,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{o=r.next();if(o.done)break;a=o.value}var s=a;""===s.path&&qe(s)!==wt&&(n[qe(s)]=new Lt([],{}))}return n}(r,new Lt(n,t.children)))),slicedSegments:[]}:0===n.length&&function(t,e,n){return r.some(function(n){return Be(t,e,n)})}(t,n)?{segmentGroup:ze(new Lt(t.segments,function(t,e,n,r){var i={};for(var o=n,a=Array.isArray(o),s=0,o=a?o:o[Symbol.iterator]();;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{s=o.next();if(s.done)break;u=s.value}var l=u;Be(t,e,l)&&!r[qe(l)]&&(i[qe(l)]=new Lt([],{}))}return Object.assign({},r,i)}(t,n,r,t.children))),slicedSegments:n}:{segmentGroup:t,slicedSegments:n}}(n,u,f,r),a=i.segmentGroup,s=i.slicedSegments;return 0===s.length&&a.hasChildren()?o.expandChildren(e,r,a).pipe(Object(b.a)(function(t){return new Lt(u,t)})):0===r.length&&0===s.length?Object(l.a)(new Lt(u,{})):o.expandSegment(e,a,r,s,wt,!0).pipe(Object(b.a)(function(t){return new Lt(u.concat(t.segments),t.children)}))}))};e.getChildConfig=function t(e,n,r){var i=this;return n.children?Object(l.a)(new Ot(n.children,e)):n.loadChildren?void 0!==n._loadedConfig?Object(l.a)(n._loadedConfig):function(t,e,n){var r=e.canLoad;return r&&0!==r.length?Object(c.a)(r).pipe(Object(b.a)(function(r){var i=t.get(r);var o;if(function(t){return t&&Re(t.canLoad)}(i))o=i.canLoad(e,n);else{if(!Re(i))throw new Error("Invalid CanLoad guard");o=i(e,n)}return Mt(o)})).pipe(Object(_.a)(),(i=function t(e){return!0===e},function(t){return t.lift(new B(i,void 0,t))})):Object(l.a)(!0);var i}(e.injector,n,r).pipe(Object(z.a)(function(t){return t?i.configLoader.load(e.injector,n).pipe(Object(b.a)(function(t){return n._loadedConfig=t,t})):function(t){return new h.a(function(e){return e.error(kt("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))})}(n)})):Object(l.a)(new Ot([],e))};e.lineralizeSegments=function t(e,n){var r=[],i=n.root;for(;;){if(r=r.concat(i.segments),0===i.numberOfChildren)return Object(l.a)(r);if(i.numberOfChildren>1||!i.children[wt])return Le(e.redirectTo);i=i.children[wt]}};e.applyRedirectCommands=function t(e,n,r){return this.applyRedirectCreatreUrlTree(n,this.urlSerializer.parse(n),e,r)};e.applyRedirectCreatreUrlTree=function t(e,n,r,i){var o=this.createSegmentGroup(e,n.root,r,i);return new Ft(o,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)};e.createQueryParams=function t(e,n){var r={};return jt(e,function(t,e){if("string"==typeof t&&t.startsWith(":")){var i=t.substring(1);r[e]=n[i]}else r[e]=t}),r};e.createSegmentGroup=function t(e,n,r,i){var o=this;var a=this.createSegments(e,n.segments,r,i);var s={};return jt(n.children,function(t,n){s[n]=o.createSegmentGroup(e,t,r,i)}),new Lt(a,s)};e.createSegments=function t(e,n,r,i){var o=this;return n.map(function(t){return t.path.startsWith(":")?o.findPosParam(e,t,i):o.findOrReturn(t,r)})};e.findPosParam=function t(e,n,r){var i=r[n.path.substring(1)];if(!i)throw new Error("Cannot redirect to '"+e+"'. Cannot find '"+n.path+"'.");return i};e.findOrReturn=function t(e,n){var r=0;for(var i=n,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{a=i.next();if(a.done)break;s=a.value}var u=s;if(u.path===e.path)return n.splice(r),u;r++}return e};return t}();function He(t,e,n){if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(e.matcher||xt)(n,t,e);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function ze(t){if(1===t.numberOfChildren&&t.children[wt]){var e=t.children[wt];return new Lt(t.segments.concat(e.segments),e.children)}return t}function Be(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0!==n.redirectTo}function qe(t){return t.outlet||wt}var We=function t(e){this.path=e,this.route=this.path[this.path.length-1]};var Ge=function t(e,n){this.component=e,this.route=n};function Qe(t,e,n){var r=t._root;return function t(e,n,r,i,o){if(o===void 0){o={canDeactivateChecks:[],canActivateChecks:[]}}var a=ue(n);return e.children.forEach(function(e){!function(e,n,r,i,o){if(o===void 0){o={canDeactivateChecks:[],canActivateChecks:[]}}var a=e.value,s=n?n.value:null,u=r?r.getContext(e.value.outlet):null;if(s&&a.routeConfig===s.routeConfig){var l=function(t,e,n){if("function"==typeof n)return n(t,e);switch(n){case"pathParamsChange":return!Ht(t.url,e.url);case"pathParamsOrQueryParamsChange":return!Ht(t.url,e.url)||!It(t.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ye(t,e)||!It(t.queryParams,e.queryParams);case"paramsChange":default:return!ye(t,e)}}(s,a,a.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new We(i)):(a.data=s.data,a._resolvedData=s._resolvedData),t(e,n,a.component?u?u.children:null:r,i,o),l&&o.canDeactivateChecks.push(new Ge(u&&u.outlet&&u.outlet.component||null,s))}else s&&Ze(n,u,o),o.canActivateChecks.push(new We(i)),t(e,null,a.component?u?u.children:null:r,i,o)}(e,a[e.value.outlet],r,i.concat([e.value]),o),delete a[e.value.outlet]}),jt(a,function(t,e){return Ze(t,r.getContext(e),o)}),o}(r,e?e._root:null,n,[r.value])}function Ke(t,e,n){var r=function(t){if(!t)return null;for(var e=t.parent;e;e=e.parent){var n=e.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(e);return(r?r.module.injector:n).get(t)}function Ze(t,e,n){var r=ue(t),i=t.value;jt(r,function(t,r){Ze(t,i.component?e?e.children.getContext(r):null:e,n)}),n.canDeactivateChecks.push(new Ge(i.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,i))}var $e=Symbol("INITIAL_VALUE");function Ye(){return Object(W.a)(function(t){return Object(v.a).apply(void 0,t.map(function(t){return t.pipe(Object(U.a)(1),Object(G.a)($e))})).pipe(Q(function(t,e){var n=!1;return e.reduce(function(t,r,i){if(t!==$e)return t;if(r===$e&&(n=!0),!n){if(!1===r)return r;if(i===e.length-1||Pe(r))return r}return t},t)},$e),Object(w.a)(function(t){return t!==$e}),Object(b.a)(function(t){return Pe(t)?t:!0===t}),Object(U.a)(1))})}function Je(t,e){return null!==t&&e&&e(new gt(t)),Object(l.a)(!0)}function Xe(t,e){return null!==t&&e&&e(new vt(t)),Object(l.a)(!0)}function tn(t,e,n){var r=e.routeConfig?e.routeConfig.canActivate:null;if(!r||0===r.length)return Object(l.a)(!0);var i=r.map(function(r){return g(function(){var i=Ke(r,e,n);var o;if(function(t){return t&&Re(t.canActivate)}(i))o=Mt(i.canActivate(e,t));else{if(!Re(i))throw new Error("Invalid CanActivate guard");o=Mt(i(e,t))}return o.pipe(H())})});return Object(l.a)(i).pipe(Ye())}function en(t,e,n){var r=e[e.length-1],i=e.slice(0,e.length-1).reverse().map(function(t){return function(t){var e=t.routeConfig?t.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null}(t)}).filter(function(t){return null!==t}).map(function(e){return g(function(){var i=e.guards.map(function(i){var o=Ke(i,e.node,n);var a;if(function(t){return t&&Re(t.canActivateChild)}(o))a=Mt(o.canActivateChild(r,t));else{if(!Re(o))throw new Error("Invalid CanActivateChild guard");a=Mt(o(r,t))}return a.pipe(H())});return Object(l.a)(i).pipe(Ye())})});return Object(l.a)(i).pipe(Ye())}var nn=function t(){};var rn=function(){function t(t,e,n,r,i,o){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r,this.paramsInheritanceStrategy=i,this.relativeLinkResolution=o}var e=t.prototype;e.recognize=function t(){try{var e=sn(this.urlTree.root,[],[],this.config,this.relativeLinkResolution).segmentGroup,n=this.processSegmentGroup(this.config,e,wt),r=new de([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},wt,this.rootComponentType,null,this.urlTree.root,-1,{}),i=new se(r,n),o=new pe(this.url,i);return this.inheritParamsAndData(o._root),Object(l.a)(o)}catch(a){return new h.a(function(t){return t.error(a)})}};e.inheritParamsAndData=function t(e){var n=this;var r=e.value,i=he(r,this.paramsInheritanceStrategy);r.params=Object.freeze(i.params),r.data=Object.freeze(i.data),e.children.forEach(function(t){return n.inheritParamsAndData(t)})};e.processSegmentGroup=function t(e,n,r){return 0===n.segments.length&&n.hasChildren()?this.processChildren(e,n):this.processSegment(e,n,n.segments,r)};e.processChildren=function t(e,n){var r=this;var i=zt(n,function(t,n){return r.processSegmentGroup(e,t,n)});return function(t){var e={};i.forEach(function(t){var n=e[t.value.outlet];if(n){var r=n.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}e[t.value.outlet]=t.value})}(),i.sort(function(t,e){return t.value.outlet===wt?-1:e.value.outlet===wt?1:t.value.outlet.localeCompare(e.value.outlet)}),i};e.processSegment=function t(e,n,r,i){for(var o=e,a=Array.isArray(o),s=0,o=a?o:o[Symbol.iterator]();;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{s=o.next();if(s.done)break;u=s.value}var l=u;try{return this.processSegmentAgainstRoute(l,n,r,i)}catch(c){if(!(c instanceof nn))throw c}}if(this.noLeftoversInUrl(n,r,i))return[];throw new nn};e.noLeftoversInUrl=function t(e,n,r){return 0===n.length&&!e.children[r]};e.processSegmentAgainstRoute=function t(e,n,r,i){if(e.redirectTo)throw new nn;if((e.outlet||wt)!==i)throw new nn;var o,a=[],s=[];if("**"===e.path){var u=r.length>0?Pt(r).parameters:{};o=new de(r,u,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,cn(e),i,e.component,e,on(n),an(n)+r.length,fn(e))}else{var l=function(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new nn;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=(e.matcher||xt)(n,t,e);if(!r)throw new nn;var i={};jt(r.posParams,function(t,e){i[e]=t.path});var o=r.consumed.length>0?Object.assign({},i,r.consumed[r.consumed.length-1].parameters):i;return{consumedSegments:r.consumed,lastChild:r.consumed.length,parameters:o}}(n,e,r);a=l.consumedSegments,s=r.slice(l.lastChild),o=new de(a,l.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,cn(e),i,e.component,e,on(n),an(n)+a.length,fn(e))}var c=function(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}(e),f=sn(n,a,s,c,this.relativeLinkResolution),h=f.segmentGroup,d=f.slicedSegments;if(0===d.length&&h.hasChildren()){var p=this.processChildren(c,h);return[new se(o,p)]}if(0===c.length&&0===d.length)return[new se(o,[])];var v=this.processSegment(c,h,d,wt);return[new se(o,v)]};return t}();function on(t){var e=t;for(;e._sourceSegment;){e=e._sourceSegment}return e}function an(t){var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;){n+=(e=e._sourceSegment)._segmentIndexShift?e._segmentIndexShift:0}return n-1}function sn(t,e,n,r,i){if(n.length>0&&function(t,e,n){return r.some(function(n){return un(t,e,n)&&ln(n)!==wt})}(t,n)){var o=new Lt(e,function(t,e,n,r){var i={};i[wt]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=n,a=Array.isArray(o),s=0,o=a?o:o[Symbol.iterator]();;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{s=o.next();if(s.done)break;u=s.value}var l=u;if(""===l.path&&ln(l)!==wt){var c=new Lt([],{});c._sourceSegment=t,c._segmentIndexShift=e.length,i[ln(l)]=c}}return i}(t,e,r,new Lt(n,t.children)));return o._sourceSegment=t,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:[]}}if(0===n.length&&function(t,e,n){return r.some(function(n){return un(t,e,n)})}(t,n)){var a=new Lt(t.segments,function(t,e,n,r,i,o){var a={};for(var s=r,u=Array.isArray(s),l=0,s=u?s:s[Symbol.iterator]();;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{l=s.next();if(l.done)break;c=l.value}var f=c;if(un(t,n,f)&&!i[ln(f)]){var h=new Lt([],{});h._sourceSegment=t,h._segmentIndexShift="legacy"===o?t.segments.length:e.length,a[ln(f)]=h}}return Object.assign({},i,a)}(t,e,n,r,t.children,i));return a._sourceSegment=t,a._segmentIndexShift=e.length,{segmentGroup:a,slicedSegments:n}}var s=new Lt(t.segments,t.children);return s._sourceSegment=t,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:n}}function un(t,e,n){return(!(t.hasChildren()||e.length>0)||"full"!==n.pathMatch)&&""===n.path&&void 0===n.redirectTo}function ln(t){return t.outlet||wt}function cn(t){return t.data||{}}function fn(t){return t.resolve||{}}function hn(t,e,n,r){var i=Ke(t,e,r);return Mt(i.resolve?i.resolve(e,n):i(e,n))}function dn(t){return function(e){return e.pipe(Object(W.a)(function(e){var n=t(e);return n?Object(c.a)(n).pipe(Object(b.a)(function(){return e})):Object(c.a)([e])}))}}var pn=function t(){};var vn=function(){function t(){}var e=t.prototype;e.shouldDetach=function t(e){return!1};e.store=function t(e,n){};e.shouldAttach=function t(e){return!1};e.retrieve=function t(e){return null};e.shouldReuseRoute=function t(e,n){return e.routeConfig===n.routeConfig};return t}();var mn=new u.p("ROUTES");var gn=function(){function t(t,e,n,r){this.loader=t,this.compiler=e,this.onLoadStartListener=n,this.onLoadEndListener=r}var e=t.prototype;e.load=function t(e,n){var r=this;return this.onLoadStartListener&&this.onLoadStartListener(n),this.loadModuleFactory(n.loadChildren).pipe(Object(b.a)(function(t){r.onLoadEndListener&&r.onLoadEndListener(n);var i=t.create(e);return new Ot(Rt(i.injector.get(mn)).map(Nt),i)}))};e.loadModuleFactory=function t(e){var n=this;return"string"==typeof e?Object(c.a)(this.loader.load(e)):Mt(e()).pipe(Object(z.a)(function(t){return t instanceof u.u?Object(l.a)(t):Object(c.a)(n.compiler.compileModuleAsync(t))}))};return t}();var yn=function t(){};var bn=function(){function t(){}var e=t.prototype;e.shouldProcessUrl=function t(e){return!0};e.extract=function t(e){return e};e.merge=function t(e,n){return e};return t}();function _n(t){throw t}function wn(t,e,n){return e.parse("/")}function Cn(t,e){return Object(l.a)(null)}var Sn=function(){function t(t,e,n,r,i,o,a,s){var l=this;this.rootComponentType=t,this.urlSerializer=e,this.rootContexts=n,this.location=r,this.config=s,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new y.a,this.errorHandler=_n,this.malformedUriErrorHandler=wn,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Cn,afterPreactivation:Cn},this.urlHandlingStrategy=new bn,this.routeReuseStrategy=new vn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy",this.ngModule=i.get(u.w),this.console=i.get(u.bb);var c=i.get(u.y);this.isNgZoneEnabled=c instanceof u.y,this.resetConfig(s),this.currentUrlTree=new Ft(new Lt([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new gn(o,a,function(t){return l.triggerEvent(new dt(t))},function(t){return l.triggerEvent(new pt(t))}),this.routerState=ce(this.currentUrlTree,this.rootComponentType),this.transitions=new f.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}var e=t.prototype;e.setupNavigations=function t(e){var n=this;var r=this.events;return e.pipe(Object(w.a)(function(t){return 0!==t.id}),Object(b.a)(function(t){return Object.assign({},t,{extractedUrl:n.urlHandlingStrategy.extract(t.rawUrl)})}),Object(W.a)(function(t){var e=!1,i=!1;return Object(l.a)(t).pipe(Object(O.a)(function(t){n.currentNavigation={id:t.id,initialUrl:t.currentRawUrl,extractedUrl:t.extractedUrl,trigger:t.source,extras:t.extras,previousNavigation:n.lastSuccessfulNavigation?Object.assign({},n.lastSuccessfulNavigation,{previousNavigation:null}):null}}),Object(W.a)(function(t){var e=!n.navigated||t.extractedUrl.toString()!==n.browserUrlTree.toString();if(("reload"===n.onSameUrlNavigation||e)&&n.urlHandlingStrategy.shouldProcessUrl(t.rawUrl))return Object(l.a)(t).pipe(Object(W.a)(function(t){var e=n.transitions.getValue();return r.next(new it(t.id,n.serializeUrl(t.extractedUrl),t.source,t.restoredState)),e!==n.transitions.getValue()?m.a:[t]}),Object(W.a)(function(t){return Promise.resolve(t)}),function(t,e,n,r){return function(i){return i.pipe(Object(W.a)(function(i){return function(t,e,n,r,o){return new Ue(t,e,n,i.extractedUrl,o).apply()}(t,e,n,0,r).pipe(Object(b.a)(function(t){return Object.assign({},i,{urlAfterRedirects:t})}))}))}}(n.ngModule.injector,n.configLoader,n.urlSerializer,n.config),Object(O.a)(function(t){n.currentNavigation=Object.assign({},n.currentNavigation,{finalUrl:t.urlAfterRedirects})}),function(t,e,n,r,i){return function(o){return o.pipe(Object(z.a)(function(o){return function(t,e,n,r,i,o){if(i===void 0){i="emptyOnly"}if(o===void 0){o="legacy"}return new rn(t,e,n,r,i,o).recognize()}(t,e,o.urlAfterRedirects,n(o.urlAfterRedirects),r,i).pipe(Object(b.a)(function(t){return Object.assign({},o,{targetSnapshot:t})}))}))}}(n.rootComponentType,n.config,function(t){return n.serializeUrl(t)},n.paramsInheritanceStrategy,n.relativeLinkResolution),Object(O.a)(function(t){"eager"===n.urlUpdateStrategy&&(t.extras.skipLocationChange||n.setBrowserUrl(t.urlAfterRedirects,!!t.extras.replaceUrl,t.id,t.extras.state),n.browserUrlTree=t.urlAfterRedirects)}),Object(O.a)(function(t){var e=new ut(t.id,n.serializeUrl(t.extractedUrl),n.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);r.next(e)}));if(e&&n.rawUrlTree&&n.urlHandlingStrategy.shouldProcessUrl(n.rawUrlTree)){var i=t.id,o=t.extractedUrl,a=t.source,s=t.restoredState,u=t.extras,c=new it(i,n.serializeUrl(o),a,s);r.next(c);var f=ce(o,n.rootComponentType).snapshot;return Object(l.a)(Object.assign({},t,{targetSnapshot:f,urlAfterRedirects:o,extras:Object.assign({},u,{skipLocationChange:!1,replaceUrl:!1})}))}return n.rawUrlTree=t.rawUrl,n.browserUrlTree=t.urlAfterRedirects,t.resolve(null),m.a}),dn(function(t){var e=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,u=a.replaceUrl;return n.hooks.beforePreactivation(e,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!u})}),Object(O.a)(function(t){var e=new lt(t.id,n.serializeUrl(t.extractedUrl),n.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.triggerEvent(e)}),Object(b.a)(function(t){return Object.assign({},t,{guards:Qe(t.targetSnapshot,t.currentSnapshot,n.rootContexts)})}),function(t,e){return function(n){return n.pipe(Object(z.a)(function(n){var r=n.targetSnapshot,i=n.currentSnapshot,o=n.guards,a=o.canActivateChecks,s=o.canDeactivateChecks;return 0===s.length&&0===a.length?Object(l.a)(Object.assign({},n,{guardsResult:!0})):function(t,e,n,r){return Object(c.a)(t).pipe(Object(z.a)(function(t){return function(t,e,n,r,i){var o=e&&e.routeConfig?e.routeConfig.canDeactivate:null;if(!o||0===o.length)return Object(l.a)(!0);var a=o.map(function(o){var a=Ke(o,e,i);var s;if(function(t){return t&&Re(t.canDeactivate)}(a))s=Mt(a.canDeactivate(t,e,n,r));else{if(!Re(a))throw new Error("Invalid CanDeactivate guard");s=Mt(a(t,e,n,r))}return s.pipe(H())});return Object(l.a)(a).pipe(Ye())}(t.component,t.route,n,e,r)}),H(function(t){return!0!==t},!0))}(s,r,i,t).pipe(Object(z.a)(function(n){return n&&function(t){return"boolean"==typeof n}()?function(t,e,n,r){return Object(c.a)(e).pipe($(function(e){return Object(c.a)([Xe(e.route.parent,r),Je(e.route,r),en(t,e.path,n),tn(t,e.route,n)]).pipe(Object(_.a)(),H(function(t){return!0!==t},!0))}),H(function(t){return!0!==t},!0))}(r,a,t,e):Object(l.a)(n)}),Object(b.a)(function(t){return Object.assign({},n,{guardsResult:t})}))}))}}(n.ngModule.injector,function(t){return n.triggerEvent(t)}),Object(O.a)(function(t){if(Pe(t.guardsResult)){var e=kt('Redirecting to "'+n.serializeUrl(t.guardsResult)+'"');throw e.url=t.guardsResult,e}}),Object(O.a)(function(t){var e=new ct(t.id,n.serializeUrl(t.extractedUrl),n.serializeUrl(t.urlAfterRedirects),t.targetSnapshot,!!t.guardsResult);n.triggerEvent(e)}),Object(w.a)(function(t){if(!t.guardsResult){n.resetUrlToCurrentUrlTree();var e=new at(t.id,n.serializeUrl(t.extractedUrl),"");return r.next(e),t.resolve(!1),!1}return!0}),dn(function(t){if(t.guards.canActivateChecks.length)return Object(l.a)(t).pipe(Object(O.a)(function(t){var e=new ft(t.id,n.serializeUrl(t.extractedUrl),n.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.triggerEvent(e)}),function(t,e){return function(n){return n.pipe(Object(z.a)(function(n){var r=n.targetSnapshot,i=n.guards.canActivateChecks;return i.length?Object(c.a)(i).pipe($(function(n){return function(t,e,n,i){return function(t,e,n,r){var i=Object.keys(t);if(0===i.length)return Object(l.a)({});if(1===i.length){var o=i[0];return hn(t[o],e,n,r).pipe(Object(b.a)(function(t){var e;return e={},e[o]=t,e}))}var a={};return Object(c.a)(i).pipe(Object(z.a)(function(i){return hn(t[i],e,n,r).pipe(Object(b.a)(function(t){return a[i]=t,t}))})).pipe(R(),Object(b.a)(function(){return a}))}(t._resolve,t,r,i).pipe(Object(b.a)(function(e){return t._resolvedData=e,t.data=Object.assign({},t.data,he(t,n).resolve),null}))}(n.route,0,t,e)}),function(t,e){return arguments.length>=2?function(n){return Object(Y.a)(Q(t,e),E(1),D(e))(n)}:function(e){return Object(Y.a)(Q(function(e,n,r){return t(e,n,r+1)}),E(1))(e)}}(function(t,e){return t}),Object(b.a)(function(t){return n})):Object(l.a)(n)}))}}(n.paramsInheritanceStrategy,n.ngModule.injector),Object(O.a)(function(t){var e=new ht(t.id,n.serializeUrl(t.extractedUrl),n.serializeUrl(t.urlAfterRedirects),t.targetSnapshot);n.triggerEvent(e)}))}),dn(function(t){var e=t.targetSnapshot,r=t.id,i=t.extractedUrl,o=t.rawUrl,a=t.extras,s=a.skipLocationChange,u=a.replaceUrl;return n.hooks.afterPreactivation(e,{navigationId:r,appliedUrlTree:i,rawUrlTree:o,skipLocationChange:!!s,replaceUrl:!!u})}),Object(b.a)(function(t){var e=function(t,e,n){var r=function t(e,n,r){if(r&&e.shouldReuseRoute(n.value,r.value.snapshot)){var i=r.value;i._futureSnapshot=n.value;var o=function(e,n,r){return n.children.map(function(n){for(var i=r.children,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{a=i.next();if(a.done)break;s=a.value}var u=s;if(e.shouldReuseRoute(u.value.snapshot,n.value))return t(e,n,u)}return t(e,n)})}(e,n,r);return new se(i,o)}{var a=e.retrieve(n.value);if(a){var s=a.route;return function t(e,n){if(e.value.routeConfig!==n.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(e.children.length!==n.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");n.value._futureSnapshot=e.value;for(var r=0;r<e.children.length;++r){t(e.children[r],n.children[r])}}(n,s),s}{var u=new fe(new f.a((c=n.value).url),new f.a(c.params),new f.a(c.queryParams),new f.a(c.fragment),new f.a(c.data),c.outlet,c.component,c),l=n.children.map(function(n){return t(e,n)});return new se(u,l)}}var c}(t,e._root,n?n._root:void 0);return new le(r,e)}(n.routeReuseStrategy,t.targetSnapshot,t.currentRouterState);return Object.assign({},t,{targetRouterState:e})}),Object(O.a)(function(t){n.currentUrlTree=t.urlAfterRedirects,n.rawUrlTree=n.urlHandlingStrategy.merge(n.currentUrlTree,t.rawUrl),n.routerState=t.targetRouterState,"deferred"===n.urlUpdateStrategy&&(t.extras.skipLocationChange||n.setBrowserUrl(n.rawUrlTree,!!t.extras.replaceUrl,t.id,t.extras.state),n.browserUrlTree=t.urlAfterRedirects)}),Ae(n.rootContexts,n.routeReuseStrategy,function(t){return n.triggerEvent(t)}),Object(O.a)({next:function t(){e=!0},complete:function t(){e=!0}}),function(t){return function(e){return e.lift(new X(t))}}(function(){if(!e&&!i){n.resetUrlToCurrentUrlTree();var o=new at(t.id,n.serializeUrl(t.extractedUrl),"Navigation ID "+t.id+" is not equal to the current navigation id "+n.navigationId);r.next(o),t.resolve(!1)}n.currentNavigation=null}),V(function(e){if(i=!0,function(t){return e&&e[Et]}()){var o=Pe(e.url);o||(n.navigated=!0,n.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl));var a=new at(t.id,n.serializeUrl(t.extractedUrl),e.message);r.next(a),t.resolve(!1),o&&n.navigateByUrl(e.url)}else{n.resetStateAndUrl(t.currentRouterState,t.currentUrlTree,t.rawUrl);var s=new st(t.id,n.serializeUrl(t.extractedUrl),e);r.next(s);try{t.resolve(n.errorHandler(e))}catch(u){t.reject(u)}}return m.a}))}))};e.resetRootComponentType=function t(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType};e.getTransition=function t(){var e=this.transitions.value;return e.urlAfterRedirects=this.browserUrlTree,e};e.setTransition=function t(e){this.transitions.next(Object.assign({},this.getTransition(),e))};e.initialNavigation=function t(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})};e.setUpLocationChangeListener=function t(){var e=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(function(t){var n=e.parseUrl(t.url);var r="popstate"===t.type?"popstate":"hashchange",i=t.state&&t.state.navigationId?t.state:null;setTimeout(function(){e.scheduleNavigation(n,r,i,{replaceUrl:!0})},0)}))};e.getCurrentNavigation=function t(){return this.currentNavigation};e.triggerEvent=function t(e){this.events.next(e)};e.resetConfig=function t(e){Tt(e),this.config=e.map(Nt),this.navigated=!1,this.lastSuccessfulId=-1};e.ngOnDestroy=function t(){this.dispose()};e.dispose=function t(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)};e.createUrlTree=function t(e,n){if(n===void 0){n={}}var r=n,i=r.relativeTo,o=r.queryParams,a=r.fragment,s=r.preserveQueryParams,l=r.queryParamsHandling,c=r.preserveFragment;Object(u.W)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var f=i||this.routerState.root,h=c?this.currentUrlTree.fragment:a;var d=null;if(l)switch(l){case"merge":d=Object.assign({},this.currentUrlTree.queryParams,o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}else d=s?this.currentUrlTree.queryParams:o||null;return null!==d&&(d=this.removeEmptyProps(d)),function(t,e,n,r,i){if(0===n.length)return _e(e.root,e.root,e,r,i);var o=function(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new we(!0,0,t);var e=0,n=!1;var r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return jt(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),[].concat(t,[{outlets:o}])}if(r.segmentPath)return[].concat(t,[r.segmentPath])}return"string"!=typeof r?[].concat(t,[r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):[].concat(t,[r])},[]);return new we(n,e,r)}(n);if(o.toRoot())return _e(e.root,new Lt([],{}),e,r,i);var a=function(t,n,r){if(t.isAbsolute)return new Ce(e.root,!0,0);if(-1===r.snapshot._lastPathIndex)return new Ce(r.snapshot._urlSegment,!0,0);var i=be(t.commands[0])?0:1;return function(e,n,o){var a=r.snapshot._urlSegment,s=r.snapshot._lastPathIndex+i,u=t.numberOfDoubleDots;for(;u>s;){if(u-=s,!(a=a.parent))throw new Error("Invalid number of '../'");s=a.segments.length}return new Ce(a,!1,s-u)}()}(o,0,t),s=a.processChildren?ke(a.segmentGroup,a.index,o.commands):Ee(a.segmentGroup,a.index,o.commands);return _e(a.segmentGroup,s,e,r,i)}(f,this.currentUrlTree,e,d,h)};e.navigateByUrl=function t(e,n){if(n===void 0){n={skipLocationChange:!1}}Object(u.W)()&&this.isNgZoneEnabled&&!u.y.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");var r=Pe(e)?e:this.parseUrl(e),i=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(i,"imperative",null,n)};e.navigate=function t(e,n){if(n===void 0){n={skipLocationChange:!1}}return function(t){for(var e=0;e<t.length;e++){var n=t[e];if(null==n)throw new Error("The requested path contains "+n+" segment at index "+e)}}(e),this.navigateByUrl(this.createUrlTree(e,n),n)};e.serializeUrl=function t(e){return this.urlSerializer.serialize(e)};e.parseUrl=function t(e){var n;try{n=this.urlSerializer.parse(e)}catch(r){n=this.malformedUriErrorHandler(r,this.urlSerializer,e)}return n};e.isActive=function t(e,n){if(Pe(e))return Vt(this.currentUrlTree,e,n);var r=this.parseUrl(e);return Vt(this.currentUrlTree,r,n)};e.removeEmptyProps=function t(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return null!=r&&(t[n]=r),t},{})};e.processNavigations=function t(){var e=this;this.navigations.subscribe(function(t){e.navigated=!0,e.lastSuccessfulId=t.id,e.events.next(new ot(t.id,e.serializeUrl(t.extractedUrl),e.serializeUrl(e.currentUrlTree))),e.lastSuccessfulNavigation=e.currentNavigation,e.currentNavigation=null,t.resolve(!0)},function(t){e.console.warn("Unhandled Navigation Error: ")})};e.scheduleNavigation=function t(e,n,r,i){var o=this.getTransition();if(o&&"imperative"!==n&&"imperative"===o.source&&o.rawUrl.toString()===e.toString())return Promise.resolve(!0);if(o&&"hashchange"==n&&"popstate"===o.source&&o.rawUrl.toString()===e.toString())return Promise.resolve(!0);if(o&&"popstate"==n&&"hashchange"===o.source&&o.rawUrl.toString()===e.toString())return Promise.resolve(!0);var a=null,s=null;var u=new Promise(function(t,e){a=t,s=e}),l=++this.navigationId;return this.setTransition({id:l,source:n,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:e,extras:i,resolve:a,reject:s,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(function(t){return Promise.reject(t)})};e.setBrowserUrl=function t(e,n,r,i){var o=this.urlSerializer.serialize(e);i=i||{},this.location.isCurrentPathEqualTo(o)||n?this.location.replaceState(o,"",Object.assign({},i,{navigationId:r})):this.location.go(o,"",Object.assign({},i,{navigationId:r}))};e.resetStateAndUrl=function t(e,n,r){this.routerState=e,this.currentUrlTree=n,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,r),this.resetUrlToCurrentUrlTree()};e.resetUrlToCurrentUrlTree=function t(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",{navigationId:this.lastSuccessfulId})};o(t,[{key:"url",get:function t(){return this.serializeUrl(this.currentUrlTree)}}]);return t}();var En=function(){function t(t,e,n,r,i){this.router=t,this.route=e,this.commands=[],null==n&&r.setAttribute(i.nativeElement,"tabindex","0")}var e=t.prototype;e.onClick=function t(){var e={skipLocationChange:kn(this.skipLocationChange),replaceUrl:kn(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,e),!0};o(t,[{key:"routerLink",set:function t(e){this.commands=null!=e?Array.isArray(e)?e:[e]:[]}},{key:"preserveQueryParams",set:function t(e){Object(u.W)()&&console&&console.warn&&console.warn("preserveQueryParams is deprecated!, use queryParamsHandling instead."),this.preserve=e}},{key:"urlTree",get:function t(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:kn(this.preserve),queryParamsHandling:this.queryParamsHandling,preserveFragment:kn(this.preserveFragment)})}}]);return t}();function kn(t){return""===t||!!t}var xn=function t(){this.outlet=null,this.route=null,this.resolver=null,this.children=new On,this.attachRef=null};var On=function(){function t(){this.contexts=new Map}var e=t.prototype;e.onChildOutletCreated=function t(e,n){var r=this.getOrCreateContext(e);r.outlet=n,this.contexts.set(e,r)};e.onChildOutletDestroyed=function t(e){var n=this.getContext(e);n&&(n.outlet=null)};e.onOutletDeactivated=function t(){var e=this.contexts;return this.contexts=new Map,e};e.onOutletReAttached=function t(e){this.contexts=e};e.getOrCreateContext=function t(e){var n=this.getContext(e);return n||(n=new xn,this.contexts.set(e,n)),n};e.getContext=function t(e){return this.contexts.get(e)||null};return t}();var Tn=function(){function t(t,e,n,r,i){this.parentContexts=t,this.location=e,this.resolver=n,this.changeDetector=i,this.activated=null,this._activatedRoute=null,this.activateEvents=new u.m,this.deactivateEvents=new u.m,this.name=r||wt,t.onChildOutletCreated(this.name,this)}var e=t.prototype;e.ngOnDestroy=function t(){this.parentContexts.onChildOutletDestroyed(this.name)};e.ngOnInit=function t(){if(!this.activated){var e=this.parentContexts.getContext(this.name);e&&e.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.resolver||null))}};e.detach=function t(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();var e=this.activated;return this.activated=null,this._activatedRoute=null,e};e.attach=function t(e,n){this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView)};e.deactivate=function t(){if(this.activated){var e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}};e.activateWith=function t(e,n){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=e;var r=(n=n||this.resolver).resolveComponentFactory(e._futureSnapshot.routeConfig.component),i=this.parentContexts.getOrCreateContext(this.name).children,o=new Dn(e,i,this.location.injector);this.activated=this.location.createComponent(r,this.location.length,o),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)};o(t,[{key:"isActivated",get:function t(){return!!this.activated}},{key:"component",get:function t(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}},{key:"activatedRoute",get:function t(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}},{key:"activatedRouteData",get:function t(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}}]);return t}();var Dn=function(){function t(t,e,n){this.route=t,this.childContexts=e,this.parent=n}var e=t.prototype;e.get=function t(e,n){return e===fe?this.route:e===On?this.childContexts:this.parent.get(e,n)};return t}();var An=function t(){};var Nn=function(){function t(){}var e=t.prototype;e.preload=function t(e,n){return n().pipe(V(function(){return Object(l.a)(null)}))};return t}();var In=function(){function t(){}var e=t.prototype;e.preload=function t(e,n){return Object(l.a)(null)};return t}();var Rn=function(){function t(t,e,n,r,i){this.router=t,this.injector=r,this.preloadingStrategy=i,this.loader=new gn(e,n,function(e){return t.triggerEvent(new dt(e))},function(e){return t.triggerEvent(new pt(e))})}var e=t.prototype;e.setUpPreloading=function t(){var e=this;this.subscription=this.router.events.pipe(Object(w.a)(function(t){return t instanceof ot}),$(function(){return e.preload()})).subscribe(function(){})};e.preload=function t(){var e=this.injector.get(u.w);return this.processRoutes(e,this.router.config)};e.ngOnDestroy=function t(){this.subscription.unsubscribe()};e.processRoutes=function t(e,n){var r=[];for(var i=n,o=Array.isArray(i),a=0,i=o?i:i[Symbol.iterator]();;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{a=i.next();if(a.done)break;s=a.value}var u=s;if(u.loadChildren&&!u.canLoad&&u._loadedConfig){var l=u._loadedConfig;r.push(this.processRoutes(l.module,l.routes))}else u.loadChildren&&!u.canLoad?r.push(this.preloadConfig(e,u)):u.children&&r.push(this.processRoutes(e,u.children))}return Object(c.a)(r).pipe(Object(et.a)(),Object(b.a)(function(t){return void 0}))};e.preloadConfig=function t(e,n){var r=this;return this.preloadingStrategy.preload(n,function(){return r.loader.load(e.injector,n).pipe(Object(z.a)(function(t){return n._loadedConfig=t,r.processRoutes(t.module,t.routes)}))})};return t}();var Pn=function(){function t(t,e,n){if(n===void 0){n={}}this.router=t,this.viewportScroller=e,this.options=n,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},n.scrollPositionRestoration=n.scrollPositionRestoration||"disabled",n.anchorScrolling=n.anchorScrolling||"disabled"}var e=t.prototype;e.init=function t(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()};e.createScrollEvents=function t(){var e=this;return this.router.events.subscribe(function(t){t instanceof it?(e.store[e.lastId]=e.viewportScroller.getScrollPosition(),e.lastSource=t.navigationTrigger,e.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof ot&&(e.lastId=t.id,e.scheduleScrollEvent(t,e.router.parseUrl(t.urlAfterRedirects).fragment))})};e.consumeScrollEvents=function t(){var e=this;return this.router.events.subscribe(function(t){t instanceof bt&&(t.position?"top"===e.options.scrollPositionRestoration?e.viewportScroller.scrollToPosition([0,0]):"enabled"===e.options.scrollPositionRestoration&&e.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===e.options.anchorScrolling?e.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==e.options.scrollPositionRestoration&&e.viewportScroller.scrollToPosition([0,0]))})};e.scheduleScrollEvent=function t(e,n){this.router.triggerEvent(new bt(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,n))};e.ngOnDestroy=function t(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()};return t}();var jn=new u.p("ROUTER_CONFIGURATION"),Mn=new u.p("ROUTER_FORROOT_GUARD"),Vn=[s.g,{provide:Bt,useClass:qt},{provide:Sn,useFactory:qn,deps:[u.g,Bt,On,s.g,u.q,u.v,u.i,mn,jn,[yn,new u.z],[pn,new u.z]]},On,{provide:fe,useFactory:Wn,deps:[Sn]},{provide:u.v,useClass:u.J},Rn,In,Nn,{provide:jn,useValue:{enableTracing:!1}}];function Fn(){return new u.x("Router",Sn)}var Ln=function(){function t(t,e){}t.forRoot=function e(n,r){return{ngModule:t,providers:[Vn,Bn(n),{provide:Mn,useFactory:zn,deps:[[Sn,new u.z,new u.I]]},{provide:jn,useValue:r||{}},{provide:s.h,useFactory:Hn,deps:[s.q,[new u.o(s.a),new u.z],jn]},{provide:Pn,useFactory:Un,deps:[Sn,s.s,jn]},{provide:An,useExisting:r&&r.preloadingStrategy?r.preloadingStrategy:In},{provide:u.x,multi:!0,useFactory:Fn},[Gn,{provide:u.d,multi:!0,useFactory:Qn,deps:[Gn]},{provide:Zn,useFactory:Kn,deps:[Gn]},{provide:u.b,multi:!0,useExisting:Zn}]]}};t.forChild=function e(n){return{ngModule:t,providers:[Bn(n)]}};return t}();function Un(t,e,n){return n.scrollOffset&&e.setOffset(n.scrollOffset),new Pn(t,e,n)}function Hn(t,e,n){if(n===void 0){n={}}return n.useHash?new s.e(t,e):new s.p(t,e)}function zn(t){if(t)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function Bn(t){return[{provide:u.a,multi:!0,useValue:t},{provide:mn,multi:!0,useValue:t}]}function qn(t,e,n,r,i,o,a,s,u,l,c){if(u===void 0){u={}}var f=new Sn(null,e,n,r,i,o,a,Rt(s));if(l&&(f.urlHandlingStrategy=l),c&&(f.routeReuseStrategy=c),u.errorHandler&&(f.errorHandler=u.errorHandler),u.malformedUriErrorHandler&&(f.malformedUriErrorHandler=u.malformedUriErrorHandler),u.enableTracing){var h=Object(nt.r)();f.events.subscribe(function(t){h.logGroup("Router Event: "+t.constructor.name),h.log(t.toString()),h.log(t),h.logGroupEnd()})}return u.onSameUrlNavigation&&(f.onSameUrlNavigation=u.onSameUrlNavigation),u.paramsInheritanceStrategy&&(f.paramsInheritanceStrategy=u.paramsInheritanceStrategy),u.urlUpdateStrategy&&(f.urlUpdateStrategy=u.urlUpdateStrategy),u.relativeLinkResolution&&(f.relativeLinkResolution=u.relativeLinkResolution),f}function Wn(t){return t.routerState.root}var Gn=function(){function t(t){this.injector=t,this.initNavigation=!1,this.resultOfPreactivationDone=new y.a}var e=t.prototype;e.appInitializer=function t(){var e=this;return this.injector.get(s.f,Promise.resolve(null)).then(function(){var t=null;var n=new Promise(function(e){return t=e}),r=e.injector.get(Sn),i=e.injector.get(jn);if(e.isLegacyDisabled(i)||e.isLegacyEnabled(i))t(!0);else if("disabled"===i.initialNavigation)r.setUpLocationChangeListener(),t(!0);else{if("enabled"!==i.initialNavigation)throw new Error("Invalid initialNavigation options: '"+i.initialNavigation+"'");r.hooks.afterPreactivation=function(){return e.initNavigation?Object(l.a)(null):(e.initNavigation=!0,t(!0),e.resultOfPreactivationDone)},r.initialNavigation()}return n})};e.bootstrapListener=function t(e){var n=this.injector.get(jn),r=this.injector.get(Rn),i=this.injector.get(Pn),o=this.injector.get(Sn),a=this.injector.get(u.g);e===a.components[0]&&(this.isLegacyEnabled(n)?o.initialNavigation():this.isLegacyDisabled(n)&&o.setUpLocationChangeListener(),r.setUpPreloading(),i.init(),o.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())};e.isLegacyEnabled=function t(e){return"legacy_enabled"===e.initialNavigation||!0===e.initialNavigation||void 0===e.initialNavigation};e.isLegacyDisabled=function t(e){return"legacy_disabled"===e.initialNavigation||!1===e.initialNavigation};return t}();function Qn(t){return t.appInitializer.bind(t)}function Kn(t){return t.bootstrapListener.bind(t)}var Zn=new u.p("Router Initializer")},itXk:function t(e,n,r){"use strict";r.d(n,"a",function(){return f});var i=r("z+Ro"),o=r("DH7j"),s=r("l7GE"),u=r("ZUHj"),l=r("yCtX");var c={};function f(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}var r=null,a=null;return Object(i.a)(e[e.length-1])&&(a=e.pop()),"function"==typeof e[e.length-1]&&(r=e.pop()),1===e.length&&Object(o.a)(e[0])&&(e=e[0]),Object(l.a)(e,a).lift(new h(r))}var h=function(){function t(t){this.resultSelector=t}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new d(e,this.resultSelector))};return t}();var d=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.resultSelector=n,r.active=0,r.values=[],r.observables=[];return r}var n=e.prototype;n._next=function t(e){this.values.push(c),this.observables.push(e)};n._complete=function t(){var e=this.observables,n=e.length;if(0===n)this.destination.complete();else{this.active=n,this.toRespond=n;for(var r=0;r<n;r++){var i=e[r];this.add(Object(u.a)(this,i,i,r))}}};n.notifyComplete=function t(e){0==(this.active-=1)&&this.destination.complete()};n.notifyNext=function t(e,n,r,i,o){var a=this.values,s=this.toRespond?a[r]===c?--this.toRespond:this.toRespond:0;a[r]=n,0===s&&(this.resultSelector?this._tryResultSelector(a):this.destination.next(a.slice()))};n._tryResultSelector=function t(e){var n;try{n=this.resultSelector.apply(this,e)}catch(r){return void this.destination.error(r)}this.destination.next(n)};return e}(s.a)},kJWO:function t(e,n,r){"use strict";r.d(n,"a",function(){return i});var i="function"==typeof Symbol&&Symbol.observable||"@@observable"},l7GE:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("7o/Q");var o=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.notifyNext=function t(e,n,r,i,o){this.destination.next(n)};n.notifyError=function t(e,n){this.destination.error(e)};n.notifyComplete=function t(e){this.destination.complete()};return e}(i.a)},lJxs:function t(e,n,i){"use strict";i.d(n,"a",function(){return s});var o=i("7o/Q");function s(t,e){return function(n){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new u(t,e))}}var u=function(){function t(t,e){this.project=t,this.thisArg=e}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new l(e,this.project,this.thisArg))};return t}();var l=function(t){a(e,t);function e(e,n,i){var o;o=t.call(this,e)||this,o.project=n,o.count=0,o.thisArg=i||r(o);return o}var n=e.prototype;n._next=function t(e){var n;try{n=this.project.call(this.thisArg,e,this.count++)}catch(r){return void this.destination.error(r)}this.destination.next(n)};return e}(o.a)},mCNh:function t(e,n,r){"use strict";r.d(n,"a",function(){return o}),r.d(n,"b",function(){return a});var i=r("KqfI");function o(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return a(e)}function a(t){return t?1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)}:i.a}},n6bG:function t(e,n,r){"use strict";function i(t){return"function"==typeof t}r.d(n,"a",function(){return i})},ngJS:function t(e,n,r){"use strict";r.d(n,"a",function(){return i});var i=function t(e){return function(t){for(var n=0,r=e.length;n<r&&!t.closed;n++){t.next(e[n])}t.closed||t.complete()}}},omvX:function t(e,n,r){"use strict";r.d(n,"f",function(){return _}),r.d(n,"g",function(){return w}),r.d(n,"e",function(){return b}),r.d(n,"b",function(){return S}),r.d(n,"a",function(){return C}),r.d(n,"c",function(){return l}),r.d(n,"d",function(){return y});var i=r("8Y7J"),s=(r("cUpR"),r("GS7A")),u=r("fDlF");var l=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r._nextAnimationId=0,r._renderer=e.createRenderer(n.body,{id:"0",encapsulation:i.P.None,styles:[],data:{animation:[]}});return r}var n=e.prototype;n.build=function t(e){var n=this._nextAnimationId.toString();this._nextAnimationId++;var r=Array.isArray(e)?Object(s.e)(e):e;return h(this._renderer,null,n,"register",[r]),new c(n,this._renderer)};return e}(s.b);var c=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r._id=e,r._renderer=n;return r}var n=e.prototype;n.create=function t(e,n){return new f(this._id,e,n||{},this._renderer)};return e}(s.c);var f=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}var e=t.prototype;e._listen=function t(e,n){return this._renderer.listen(this.element,"@@"+this.id+":"+e,n)};e._command=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return h(this._renderer,this.element,this.id,e,r)};e.onDone=function t(e){this._listen("done",e)};e.onStart=function t(e){this._listen("start",e)};e.onDestroy=function t(e){this._listen("destroy",e)};e.init=function t(){this._command("init")};e.hasStarted=function t(){return this._started};e.play=function t(){this._command("play"),this._started=!0};e.pause=function t(){this._command("pause")};e.restart=function t(){this._command("restart")};e.finish=function t(){this._command("finish")};e.destroy=function t(){this._command("destroy")};e.reset=function t(){this._command("reset")};e.setPosition=function t(e){this._command("setPosition",e)};e.getPosition=function t(){return 0};return t}();function h(t,e,n,r,i){return t.setProperty(e,"@@"+n+":"+r,i)}var d="@",p="@.disabled";var v=function(){function t(t,e,n){this.delegate=t,this.engine=e,this._zone=n,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),e.onRemovalComplete=function(t,e){e&&e.parentNode(t)&&e.removeChild(t.parentNode,t)}}var e=t.prototype;e.createRenderer=function t(e,n){var r=this;var i=this.delegate.createRenderer(e,n);if(!(e&&n&&n.data&&n.data.animation)){var o=this._rendererCache.get(i);return o||(o=new m("",i,this.engine),this._rendererCache.set(i,o)),o}var a=n.id,s=n.id+"-"+this._currentId;return this._currentId++,this.engine.register(s,e),n.data.animation.forEach(function(t){return r.engine.registerTrigger(a,s,e,t.name,t)}),new g(this,s,i,this.engine)};e.begin=function t(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()};e._scheduleCountTask=function t(){var e=this;this.promise.then(function(){e._microtaskId++})};e.scheduleListenerCallback=function t(e,n,r){var i=this;e>=0&&e<this._microtaskId?this._zone.run(function(){return n(r)}):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(function(){i._zone.run(function(){i._animationCallbacksBuffer.forEach(function(t){var e=t[0],n=t[1];e(n)}),i._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([n,r]))};e.end=function t(){var e=this;this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(function(){e._scheduleCountTask(),e.engine.flush(e._microtaskId)}),this.delegate.end&&this.delegate.end()};e.whenRenderingDone=function t(){return this.engine.whenRenderingDone()};return t}();var m=function(){function t(t,e,n){this.namespaceId=t,this.delegate=e,this.engine=n,this.destroyNode=this.delegate.destroyNode?function(t){return e.destroyNode(t)}:null}var e=t.prototype;e.destroy=function t(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()};e.createElement=function t(e,n){return this.delegate.createElement(e,n)};e.createComment=function t(e){return this.delegate.createComment(e)};e.createText=function t(e){return this.delegate.createText(e)};e.appendChild=function t(e,n){this.delegate.appendChild(e,n),this.engine.onInsert(this.namespaceId,n,e,!1)};e.insertBefore=function t(e,n,r){this.delegate.insertBefore(e,n,r),this.engine.onInsert(this.namespaceId,n,e,!0)};e.removeChild=function t(e,n,r){this.engine.onRemove(this.namespaceId,n,this.delegate,r)};e.selectRootElement=function t(e,n){return this.delegate.selectRootElement(e,n)};e.parentNode=function t(e){return this.delegate.parentNode(e)};e.nextSibling=function t(e){return this.delegate.nextSibling(e)};e.setAttribute=function t(e,n,r,i){this.delegate.setAttribute(e,n,r,i)};e.removeAttribute=function t(e,n,r){this.delegate.removeAttribute(e,n,r)};e.addClass=function t(e,n){this.delegate.addClass(e,n)};e.removeClass=function t(e,n){this.delegate.removeClass(e,n)};e.setStyle=function t(e,n,r,i){this.delegate.setStyle(e,n,r,i)};e.removeStyle=function t(e,n,r){this.delegate.removeStyle(e,n,r)};e.setProperty=function t(e,n,r){n.charAt(0)==d&&n==p?this.disableAnimations(e,!!r):this.delegate.setProperty(e,n,r)};e.setValue=function t(e,n){this.delegate.setValue(e,n)};e.listen=function t(e,n,r){return this.delegate.listen(e,n,r)};e.disableAnimations=function t(e,n){this.engine.disableAnimations(e,n)};o(t,[{key:"data",get:function t(){return this.delegate.data}}]);return t}();var g=function(t){a(e,t);function e(e,n,r,i){var o;o=t.call(this,n,r,i)||this,o.factory=e,o.namespaceId=n;return o}var n=e.prototype;n.setProperty=function t(e,n,r){n.charAt(0)==d?"."==n.charAt(1)&&n==p?this.disableAnimations(e,r=void 0===r||!!r):this.engine.process(this.namespaceId,e,n.substr(1),r):this.delegate.setProperty(e,n,r)};n.listen=function t(e,n,r){var i=this;if(n.charAt(0)==d){var o;var a=function(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(e);var s=n.substr(1),u="";return s.charAt(0)!=d&&(o=function(t){var e=t.indexOf(".");return[t.substring(0,e),t.substr(e+1)]}(s),s=o[0],u=o[1],o),this.engine.listen(this.namespaceId,a,s,u,function(t){i.factory.scheduleListenerCallback(t._data||-1,r,t)})}return this.delegate.listen(e,n,r)};return e}(m);var y=function(t){a(e,t);function e(e,n,r){return t.call(this,e.body,n,r)||this}return e}(u.b);function b(){return Object(u.h)()?new u.f:new u.d}function _(){return new u.g}function w(t,e,n){return new v(t,e,n)}var C=new i.p("AnimationModuleType");var S=function t(){}},pLZG:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("7o/Q");function o(t,e){return function(n){return n.lift(new s(t,e))}}var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new u(e,this.predicate,this.thisArg))};return t}();var u=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,e)||this,i.predicate=n,i.thisArg=r,i.count=0;return i}var n=e.prototype;n._next=function t(e){var n;try{n=this.predicate.call(this.thisArg,e,this.count++)}catch(r){return void this.destination.error(r)}n&&this.destination.next(e)};return e}(i.a)},pLzU:function t(e,n,r){"use strict";r.d(n,"a",function(){return o});var i=r("Lhse");var o=function t(e){return function(t){var n=e[i.a]();for(;;){var r=n.next();if(r.done){t.complete();break}if(t.next(r.value),t.closed)break}return"function"==typeof n.return&&t.add(function(){n.return&&n.return()}),t}}},pMnS:function t(e,n,r){"use strict";r.d(n,"a",function(){return l});var i=r("8Y7J"),o=r("iInd"),a=i.qb({encapsulation:2,styles:[],data:{}});function s(t){return i.Lb(0,[(t()(),i.sb(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),i.rb(1,212992,null,0,o.n,[o.b,i.O,i.j,[8,null],i.h],null,null)],function(t,e){t(e,1,0)},null)}function u(t){return i.Lb(0,[(t()(),i.sb(0,0,null,null,1,"ng-component",[],null,null,null,s,a)),i.rb(1,49152,null,0,o.B,[],null,null)],null,null)}var l=i.ob("ng-component",o.B,u,{},{},[])},quSY:function t(e,n,r){"use strict";var i=r("DH7j"),o=r("XoHu"),a=r("n6bG");function s(t){return Error.call(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(t,e){return e+1+") "+t.toString()}).join("\n  "):"",this.name="UnsubscriptionError",this.errors=t,this}s.prototype=Object.create(Error.prototype);var u=s;r.d(n,"a",function(){return l});var l=function(){var t=function(){function t(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}var e=t.prototype;e.unsubscribe=function t(){var e,n=!1;if(this.closed)return;var r=this._parent,s=this._parents,l=this._unsubscribe,f=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;var h=-1,d=s?s.length:0;for(;r;){r.remove(this),r=++h<d&&s[h]||null}if(Object(a.a)(l))try{l.call(this)}catch(v){n=!0,e=v instanceof u?c(v.errors):[v]}if(Object(i.a)(f))for(h=-1,d=f.length;++h<d;){var p=f[h];if(Object(o.a)(p))try{p.unsubscribe()}catch(v){n=!0,e=e||[],v instanceof u?e=e.concat(c(v.errors)):e.push(v)}}if(n)throw new u(e)};e.add=function e(n){var r=n;switch(typeof n){case"function":r=new t(n);case"object":if(r===this||r.closed||"function"!=typeof r.unsubscribe)return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){var i=r;(r=new t)._subscriptions=[i]}break;default:if(!n)return t.EMPTY;throw new Error("unrecognized teardown "+n+" added to Subscription.")}if(r._addParent(this)){var o=this._subscriptions;o?o.push(r):this._subscriptions=[r]}return r};e.remove=function t(e){var n=this._subscriptions;if(n){var r=n.indexOf(e);-1!==r&&n.splice(r,1)}};e._addParent=function t(e){var n=this._parent,r=this._parents;return n!==e&&(n?r?-1===r.indexOf(e)&&(r.push(e),!0):(this._parents=[e],!0):(this._parent=e,!0))};return t}();return t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();function c(t){return t.reduce(function(t,e){return t.concat(e instanceof u?e.errors:e)},[])}},s7LF:function t(e,n,i){"use strict";var s=i("8Y7J"),u=i("cUpR"),l=i("HDdC"),c=i("DH7j"),f=i("EY2u"),h=i("ZUHj"),d=i("l7GE"),p=i("lJxs");var v=function(t){a(e,t);function e(e,n){var i;i=t.call(this,e)||this,i.sources=n,i.completed=0,i.haveValues=0;var o=n.length;i.values=new Array(o);for(var a=0;a<o;a++){var s=n[a],u=Object(h.a)(r(i),s,null,a);u&&i.add(u)}return i}var n=e.prototype;n.notifyNext=function t(e,n,r,i,o){this.values[r]=n,o._hasValue||(o._hasValue=!0,this.haveValues++)};n.notifyComplete=function t(e){var n=this.destination,r=this.haveValues,i=this.values,o=i.length;e._hasValue?(this.completed++,this.completed===o&&(r===o&&n.next(i),n.complete())):n.complete()};return e}(d.a);var m=i("Cfvw");i.d(n,"l",function(){return vt}),i.d(n,"m",function(){return M}),i.d(n,"n",function(){return z}),i.d(n,"e",function(){return g}),i.d(n,"a",function(){return y}),i.d(n,"b",function(){return b}),i.d(n,"f",function(){return S}),i.d(n,"g",function(){return k}),i.d(n,"h",function(){return pt}),i.d(n,"j",function(){return j}),i.d(n,"i",function(){return U}),i.d(n,"k",function(){return L}),i.d(n,"d",function(){return O}),i.d(n,"c",function(){return mt});var g=new s.p("NgValueAccessor"),y=new s.p("CompositionEventMode");var b=function(){function t(t,e,n){this._renderer=t,this._elementRef=e,this._compositionMode=n,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){var t=Object(u.r)()?Object(u.r)().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}var e=t.prototype;e.writeValue=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)};e.registerOnChange=function t(e){this.onChange=e};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};e._handleInput=function t(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)};e._compositionStart=function t(){this._composing=!0};e._compositionEnd=function t(e){this._composing=!1,this._compositionMode&&this.onChange(e)};return t}();var _=function(){function t(){}var e=t.prototype;e.reset=function t(e){this.control&&this.control.reset(e)};e.hasError=function t(e,n){return!!this.control&&this.control.hasError(e,n)};e.getError=function t(e,n){return this.control?this.control.getError(e,n):null};o(t,[{key:"value",get:function t(){return this.control?this.control.value:null}},{key:"valid",get:function t(){return this.control?this.control.valid:null}},{key:"invalid",get:function t(){return this.control?this.control.invalid:null}},{key:"pending",get:function t(){return this.control?this.control.pending:null}},{key:"disabled",get:function t(){return this.control?this.control.disabled:null}},{key:"enabled",get:function t(){return this.control?this.control.enabled:null}},{key:"errors",get:function t(){return this.control?this.control.errors:null}},{key:"pristine",get:function t(){return this.control?this.control.pristine:null}},{key:"dirty",get:function t(){return this.control?this.control.dirty:null}},{key:"touched",get:function t(){return this.control?this.control.touched:null}},{key:"status",get:function t(){return this.control?this.control.status:null}},{key:"untouched",get:function t(){return this.control?this.control.untouched:null}},{key:"statusChanges",get:function t(){return this.control?this.control.statusChanges:null}},{key:"valueChanges",get:function t(){return this.control?this.control.valueChanges:null}},{key:"path",get:function t(){return null}}]);return t}();var w=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}o(e,[{key:"formDirective",get:function t(){return null}},{key:"path",get:function t(){return null}}]);return e}(_);function C(){throw new Error("unimplemented")}var S=function(t){a(e,t);function e(){var e;e=t.apply(this,arguments)||this,e._parent=null,e.name=null,e.valueAccessor=null,e._rawValidators=[],e._rawAsyncValidators=[];return e}o(e,[{key:"validator",get:function t(){return C()}},{key:"asyncValidator",get:function t(){return C()}}]);return e}(_);var E=function(){function t(t){this._cd=t}o(t,[{key:"ngClassUntouched",get:function t(){return!!this._cd.control&&this._cd.control.untouched}},{key:"ngClassTouched",get:function t(){return!!this._cd.control&&this._cd.control.touched}},{key:"ngClassPristine",get:function t(){return!!this._cd.control&&this._cd.control.pristine}},{key:"ngClassDirty",get:function t(){return!!this._cd.control&&this._cd.control.dirty}},{key:"ngClassValid",get:function t(){return!!this._cd.control&&this._cd.control.valid}},{key:"ngClassInvalid",get:function t(){return!!this._cd.control&&this._cd.control.invalid}},{key:"ngClassPending",get:function t(){return!!this._cd.control&&this._cd.control.pending}}]);return t}();var k=function(t){a(e,t);function e(e){return t.call(this,e)||this}return e}(E);function x(t){return null==t||0===t.length}var O=new s.p("NgValidators"),T=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;var D=function(){function t(){}t.min=function t(e){return function(t){if(x(t.value)||x(e))return null;var n=parseFloat(t.value);return!isNaN(n)&&n<e?{min:{min:e,actual:t.value}}:null}};t.max=function t(e){return function(t){if(x(t.value)||x(e))return null;var n=parseFloat(t.value);return!isNaN(n)&&n>e?{max:{max:e,actual:t.value}}:null}};t.required=function t(e){return x(e.value)?{required:!0}:null};t.requiredTrue=function t(e){return!0===e.value?null:{required:!0}};t.email=function t(e){return x(e.value)?null:T.test(e.value)?null:{email:!0}};t.minLength=function t(e){return function(t){if(x(t.value))return null;var n=t.value?t.value.length:0;return n<e?{minlength:{requiredLength:e,actualLength:n}}:null}};t.maxLength=function t(e){return function(t){var n=t.value?t.value.length:0;return n>e?{maxlength:{requiredLength:e,actualLength:n}}:null}};t.pattern=function e(n){if(!n)return t.nullValidator;var r,i;return"string"==typeof n?(i="","^"!==n.charAt(0)&&(i+="^"),i+=n,"$"!==n.charAt(n.length-1)&&(i+="$"),r=new RegExp(i)):(i=n.toString(),r=n),function(t){if(x(t.value))return null;var e=t.value;return r.test(e)?null:{pattern:{requiredPattern:i,actualValue:e}}}};t.nullValidator=function t(e){return null};t.compose=function t(e){if(!e)return null;var n=e.filter(A);return 0==n.length?null:function(t){return I(function(t,e){return n.map(function(e){return e(t)})}(t))}};t.composeAsync=function t(e){if(!e)return null;var n=e.filter(A);return 0==n.length?null:function(t){return function t(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}var i;return"function"==typeof n[n.length-1]&&(i=n.pop()),1===n.length&&Object(c.a)(n[0])&&(n=n[0]),0===n.length?f.a:i?t(n).pipe(Object(p.a)(function(t){return i.apply(void 0,t)})):new l.a(function(t){return new v(t,n)})}(function(t,e){return n.map(function(e){return e(t)})}(t).map(N)).pipe(Object(p.a)(I))}};return t}();function A(t){return null!=t}function N(t){var e=Object(s.zb)(t)?Object(m.a)(t):t;if(!Object(s.yb)(e))throw new Error("Expected validator to return Promise or Observable.");return e}function I(t){var e=t.reduce(function(t,e){return null!=e?Object.assign({},t,e):t},{});return 0===Object.keys(e).length?null:e}function R(t){return t.validate?function(e){return t.validate(e)}:t}function P(t){return t.validate?function(e){return t.validate(e)}:t}var j=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}var e=t.prototype;e.writeValue=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)};e.registerOnChange=function t(e){this.onChange=function(t){e(""==t?null:parseFloat(t))}};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};return t}();var M=function(){function t(){this._accessors=[]}var e=t.prototype;e.add=function t(e,n){this._accessors.push([e,n])};e.remove=function t(e){for(var n=this._accessors.length-1;n>=0;--n){if(this._accessors[n][1]===e)return void this._accessors.splice(n,1)}};e.select=function t(e){var n=this;this._accessors.forEach(function(t){n._isSameGroup(t,e)&&t[1]!==e&&t[1].fireUncheck(e.value)})};e._isSameGroup=function t(e,n){return!!e[0].control&&e[0]._parent===n._control._parent&&e[1].name===n.name};return t}();var V={formControlName:'\n    <div [formGroup]="myGroup">\n      <input formControlName="firstName">\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       firstName: new FormControl()\n    });',formGroupName:'\n    <div [formGroup]="myGroup">\n       <div formGroupName="person">\n          <input formControlName="firstName">\n       </div>\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       person: new FormGroup({ firstName: new FormControl() })\n    });',formArrayName:'\n    <div [formGroup]="myGroup">\n      <div formArrayName="cities">\n        <div *ngFor="let city of cityArray.controls; index as i">\n          <input [formControlName]="i">\n        </div>\n      </div>\n    </div>\n\n    In your class:\n\n    this.cityArray = new FormArray([new FormControl(\'SF\')]);\n    this.myGroup = new FormGroup({\n      cities: this.cityArray\n    });',ngModelGroup:'\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>',ngModelWithFormGroup:'\n    <div [formGroup]="myGroup">\n       <input formControlName="firstName">\n       <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n    </div>\n  '};function F(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var L=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=s.Ab}var e=t.prototype;e.writeValue=function t(e){this.value=e;var n=this._getOptionId(e);null==n&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var r=F(n,e);this._renderer.setProperty(this._elementRef.nativeElement,"value",r)};e.registerOnChange=function t(e){var n=this;this.onChange=function(t){n.value=n._getOptionValue(t),e(n.value)}};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};e._registerOption=function t(){return(this._idCounter++).toString()};e._getOptionId=function t(e){for(var n=0,r=Array.from(this._optionMap.keys());n<r.length;n++){var i=r[n];if(this._compareWith(this._optionMap.get(i),e))return i}return null};e._getOptionValue=function t(e){var n=function(t){return t.split(":")[0]}(e);return this._optionMap.has(n)?this._optionMap.get(n):e};o(t,[{key:"compareWith",set:function t(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e}}]);return t}();var U=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}var e=t.prototype;e._setElementValue=function t(e){this._renderer.setProperty(this._element.nativeElement,"value",e)};e.ngOnDestroy=function t(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))};o(t,[{key:"ngValue",set:function t(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(F(this.id,e)),this._select.writeValue(this._select.value))}},{key:"value",set:function t(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}}]);return t}();function H(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var z=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}var e=t.prototype;e._setElementValue=function t(e){this._renderer.setProperty(this._element.nativeElement,"value",e)};e._setSelected=function t(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)};e.ngOnDestroy=function t(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))};o(t,[{key:"ngValue",set:function t(e){null!=this._select&&(this._value=e,this._setElementValue(H(this.id,e)),this._select.writeValue(this._select.value))}},{key:"value",set:function t(e){this._select?(this._value=e,this._setElementValue(H(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}}]);return t}();function B(t,e){return[].concat(e.path,[t])}function q(t,e){t||G(e,"Cannot find control with"),e.valueAccessor||G(e,"No value accessor for form control with"),t.validator=D.compose([t.validator,e.validator]),t.asyncValidator=D.composeAsync([t.asyncValidator,e.asyncValidator]),e.valueAccessor.writeValue(t.value),function(t,e){e.valueAccessor.registerOnChange(function(n){t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&W(t,e)})}(t,e),function(t,e){t.registerOnChange(function(t,n){e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)})}(t,e),function(t,e){e.valueAccessor.registerOnTouched(function(){t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&W(t,e),"submit"!==t.updateOn&&t.markAsTouched()})}(t,e),e.valueAccessor.setDisabledState&&t.registerOnDisabledChange(function(t){e.valueAccessor.setDisabledState(t)}),e._rawValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(function(){return t.updateValueAndValidity()})}),e._rawAsyncValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(function(){return t.updateValueAndValidity()})})}function W(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function G(t,e){var n;throw n=t.path.length>1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function Q(t){return null!=t?D.compose(t.map(R)):null}function K(t){return null!=t?D.composeAsync(t.map(P)):null}var Z=[function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}var e=t.prototype;e.writeValue=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"checked",e)};e.registerOnChange=function t(e){this.onChange=e};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};return t}(),function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}var e=t.prototype;e.writeValue=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(e))};e.registerOnChange=function t(e){this.onChange=function(t){e(""==t?null:parseFloat(t))}};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};return t}(),j,L,function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=s.Ab}var e=t.prototype;e.writeValue=function t(e){var n=this;var r;if(this.value=e,Array.isArray(e)){var i=e.map(function(t){return n._getOptionId(t)});r=function t(e,n){e._setSelected(i.indexOf(n.toString())>-1)}}else r=function t(e,n){e._setSelected(!1)};this._optionMap.forEach(r)};e.registerOnChange=function t(e){var n=this;this.onChange=function(t){var r=[];if(t.hasOwnProperty("selectedOptions")){var i=t.selectedOptions;for(var o=0;o<i.length;o++){var a=i.item(o),s=n._getOptionValue(a.value);r.push(s)}}else{var u=t.options;for(var l=0;l<u.length;l++){var c=u.item(l);if(c.selected){var f=n._getOptionValue(c.value);r.push(f)}}}n.value=r,e(r)}};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};e._registerOption=function t(e){var n=(this._idCounter++).toString();return this._optionMap.set(n,e),n};e._getOptionId=function t(e){for(var n=0,r=Array.from(this._optionMap.keys());n<r.length;n++){var i=r[n];if(this._compareWith(this._optionMap.get(i)._value,e))return i}return null};e._getOptionValue=function t(e){var n=function(t){return t.split(":")[0]}(e);return this._optionMap.has(n)?this._optionMap.get(n)._value:e};o(t,[{key:"compareWith",set:function t(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e}}]);return t}(),function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}var e=t.prototype;e.ngOnInit=function t(){this._control=this._injector.get(S),this._checkName(),this._registry.add(this._control,this)};e.ngOnDestroy=function t(){this._registry.remove(this)};e.writeValue=function t(e){this._state=e===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)};e.registerOnChange=function t(e){var n=this;this._fn=e,this.onChange=function(){e(n.value),n._registry.select(n)}};e.fireUncheck=function t(e){this.writeValue(e)};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)};e._checkName=function t(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)};e._throwNameError=function t(){throw new Error('\n      If you define both a name and a formControlName attribute on your radio button, their values\n      must match. Ex: <input type="radio" formControlName="food" name="food">\n    ')};return t}()],$="VALID",Y="INVALID",J="PENDING",X="DISABLED";function tt(t){var e=nt(t)?t.validators:t;return Array.isArray(e)?Q(e):e||null}function et(t,e){var n=nt(e)?e.asyncValidators:t;return Array.isArray(n)?K(n):n||null}function nt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var rt=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}var e=t.prototype;e.setValidators=function t(e){this.validator=tt(e)};e.setAsyncValidators=function t(e){this.asyncValidator=et(e)};e.clearValidators=function t(){this.validator=null};e.clearAsyncValidators=function t(){this.asyncValidator=null};e.markAsTouched=function t(e){if(e===void 0){e={}}this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)};e.markAllAsTouched=function t(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(t){return t.markAllAsTouched()})};e.markAsUntouched=function t(e){if(e===void 0){e={}}this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(t){t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)};e.markAsDirty=function t(e){if(e===void 0){e={}}this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)};e.markAsPristine=function t(e){if(e===void 0){e={}}this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(t){t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)};e.markAsPending=function t(e){if(e===void 0){e={}}this.status=J,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)};e.disable=function t(e){if(e===void 0){e={}}var n=this._parentMarkedDirty(e.onlySelf);this.status=X,this.errors=null,this._forEachChild(function(t){t.disable(Object.assign({},e,{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign({},e,{skipPristineCheck:n})),this._onDisabledChange.forEach(function(t){return t(!0)})};e.enable=function t(e){if(e===void 0){e={}}var n=this._parentMarkedDirty(e.onlySelf);this.status=$,this._forEachChild(function(t){t.enable(Object.assign({},e,{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign({},e,{skipPristineCheck:n})),this._onDisabledChange.forEach(function(t){return t(!1)})};e._updateAncestors=function t(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())};e.setParent=function t(e){this._parent=e};e.updateValueAndValidity=function t(e){if(e===void 0){e={}}this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),this.status!==$&&this.status!==J||this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)};e._updateTreeValidity=function t(e){if(e===void 0){e={emitEvent:!0}}this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})};e._setInitialStatus=function t(){this.status=this._allControlsDisabled()?X:$};e._runValidator=function t(){return this.validator?this.validator(this):null};e._runAsyncValidator=function t(e){var n=this;if(this.asyncValidator){this.status=J;var r=N(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(function(t){return n.setErrors(t,{emitEvent:e})})}};e._cancelExistingSubscription=function t(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()};e.setErrors=function t(e,n){if(n===void 0){n={}}this.errors=e,this._updateControlsErrors(!1!==n.emitEvent)};e.get=function t(e){return function(t,e,n){return null==e?null:(e instanceof Array||(e=e.split(".")),e instanceof Array&&0===e.length?null:e.reduce(function(t,e){return t instanceof ot?t.controls.hasOwnProperty(e)?t.controls[e]:null:t instanceof at&&t.at(e)||null},t))}(this,e)};e.getError=function t(e,n){var r=n?this.get(n):this;return r&&r.errors?r.errors[e]:null};e.hasError=function t(e,n){return!!this.getError(e,n)};e._updateControlsErrors=function t(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)};e._initObservables=function t(){this.valueChanges=new s.m,this.statusChanges=new s.m};e._calculateStatus=function t(){return this._allControlsDisabled()?X:this.errors?Y:this._anyControlsHaveStatus(J)?J:this._anyControlsHaveStatus(Y)?Y:$};e._anyControlsHaveStatus=function t(e){return this._anyControls(function(t){return t.status===e})};e._anyControlsDirty=function t(){return this._anyControls(function(t){return t.dirty})};e._anyControlsTouched=function t(){return this._anyControls(function(t){return t.touched})};e._updatePristine=function t(e){if(e===void 0){e={}}this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)};e._updateTouched=function t(e){if(e===void 0){e={}}this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)};e._isBoxedValue=function t(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e};e._registerOnCollectionChange=function t(e){this._onCollectionChange=e};e._setUpdateStrategy=function t(e){nt(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)};e._parentMarkedDirty=function t(e){return!e&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()};o(t,[{key:"parent",get:function t(){return this._parent}},{key:"valid",get:function t(){return this.status===$}},{key:"invalid",get:function t(){return this.status===Y}},{key:"pending",get:function t(){return this.status==J}},{key:"disabled",get:function t(){return this.status===X}},{key:"enabled",get:function t(){return this.status!==X}},{key:"dirty",get:function t(){return!this.pristine}},{key:"untouched",get:function t(){return!this.touched}},{key:"updateOn",get:function t(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"root",get:function t(){var e=this;for(;e._parent;){e=e._parent}return e}}]);return t}();var it=function(t){a(e,t);function e(e,n,r){var i;if(e===void 0){e=null}i=t.call(this,tt(n),et(r,n))||this,i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables();return i}var n=e.prototype;n.setValue=function t(e,n){var r=this;if(n===void 0){n={}}this.value=this._pendingValue=e,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(function(t){return t(r.value,!1!==n.emitViewToModelChange)}),this.updateValueAndValidity(n)};n.patchValue=function t(e,n){if(n===void 0){n={}}this.setValue(e,n)};n.reset=function t(e,n){if(e===void 0){e=null}if(n===void 0){n={}}this._applyFormState(e),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1};n._updateValue=function t(){};n._anyControls=function t(e){return!1};n._allControlsDisabled=function t(){return this.disabled};n.registerOnChange=function t(e){this._onChange.push(e)};n._clearChangeFns=function t(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}};n.registerOnDisabledChange=function t(e){this._onDisabledChange.push(e)};n._forEachChild=function t(e){};n._syncPendingControls=function t(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))};n._applyFormState=function t(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e};return e}(rt);var ot=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,tt(n),et(r,n))||this,i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1});return i}var n=e.prototype;n.registerControl=function t(e,n){return this.controls[e]?this.controls[e]:(this.controls[e]=n,n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange),n)};n.addControl=function t(e,n){this.registerControl(e,n),this.updateValueAndValidity(),this._onCollectionChange()};n.removeControl=function t(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity(),this._onCollectionChange()};n.setControl=function t(e,n){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],n&&this.registerControl(e,n),this.updateValueAndValidity(),this._onCollectionChange()};n.contains=function t(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled};n.setValue=function t(e,n){var r=this;if(n===void 0){n={}}this._checkAllValuesPresent(e),Object.keys(e).forEach(function(t){r._throwIfControlMissing(t),r.controls[t].setValue(e[t],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)};n.patchValue=function t(e,n){var r=this;if(n===void 0){n={}}Object.keys(e).forEach(function(t){r.controls[t]&&r.controls[t].patchValue(e[t],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)};n.reset=function t(e,n){if(e===void 0){e={}}if(n===void 0){n={}}this._forEachChild(function(t,r){t.reset(e[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n),this._updateTouched(n),this.updateValueAndValidity(n)};n.getRawValue=function t(){return this._reduceChildren({},function(t,e,n){return t[n]=e instanceof it?e.value:e.getRawValue(),t})};n._syncPendingControls=function t(){var e=this._reduceChildren(!1,function(t,e){return!!e._syncPendingControls()||t});return e&&this.updateValueAndValidity({onlySelf:!0}),e};n._throwIfControlMissing=function t(e){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[e])throw new Error("Cannot find form control with name: "+e+".")};n._forEachChild=function t(e){var n=this;Object.keys(this.controls).forEach(function(t){return e(n.controls[t],t)})};n._setUpControls=function t(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})};n._updateValue=function t(){this.value=this._reduceValue()};n._anyControls=function t(e){var n=this;var r=!1;return this._forEachChild(function(t,i){r=r||n.contains(i)&&e(t)}),r};n._reduceValue=function t(){var e=this;return this._reduceChildren({},function(t,n,r){return(n.enabled||e.disabled)&&(t[r]=n.value),t})};n._reduceChildren=function t(e,n){var r=e;return this._forEachChild(function(t,e){r=n(r,t,e)}),r};n._allControlsDisabled=function t(){for(var e=0,n=Object.keys(this.controls);e<n.length;e++){var r=n[e];if(this.controls[r].enabled)return!1}return Object.keys(this.controls).length>0||this.disabled};n._checkAllValuesPresent=function t(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})};return e}(rt);var at=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this,tt(n),et(r,n))||this,i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1});return i}var n=e.prototype;n.at=function t(e){return this.controls[e]};n.push=function t(e){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()};n.insert=function t(e,n){this.controls.splice(e,0,n),this._registerControl(n),this.updateValueAndValidity()};n.removeAt=function t(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity()};n.setControl=function t(e,n){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),n&&(this.controls.splice(e,0,n),this._registerControl(n)),this.updateValueAndValidity(),this._onCollectionChange()};n.setValue=function t(e,n){var r=this;if(n===void 0){n={}}this._checkAllValuesPresent(e),e.forEach(function(t,e){r._throwIfControlMissing(e),r.at(e).setValue(t,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)};n.patchValue=function t(e,n){var r=this;if(n===void 0){n={}}e.forEach(function(t,e){r.at(e)&&r.at(e).patchValue(t,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)};n.reset=function t(e,n){if(e===void 0){e=[]}if(n===void 0){n={}}this._forEachChild(function(t,r){t.reset(e[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n),this._updateTouched(n),this.updateValueAndValidity(n)};n.getRawValue=function t(){return this.controls.map(function(t){return t instanceof it?t.value:t.getRawValue()})};n.clear=function t(){this.controls.length<1||(this._forEachChild(function(t){return t._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity())};n._syncPendingControls=function t(){var e=this.controls.reduce(function(t,e){return!!e._syncPendingControls()||t},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e};n._throwIfControlMissing=function t(e){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet.  If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(e))throw new Error("Cannot find form control at index "+e)};n._forEachChild=function t(e){this.controls.forEach(function(t,n){e(t,n)})};n._updateValue=function t(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(t){return t.value})};n._anyControls=function t(e){return this.controls.some(function(t){return t.enabled&&e(t)})};n._setUpControls=function t(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})};n._checkAllValuesPresent=function t(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: "+n+".")})};n._allControlsDisabled=function t(){for(var e=this.controls,n=Array.isArray(e),r=0,e=n?e:e[Symbol.iterator]();;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{r=e.next();if(r.done)break;i=r.value}var o=i;if(o.enabled)return!1}return this.controls.length>0||this.disabled};n._registerControl=function t(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)};o(e,[{key:"length",get:function t(){return this.controls.length}}]);return e}(rt);var st=function(){return Promise.resolve(null)}();var ut=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.submitted=!1,r._directives=[],r.ngSubmit=new s.m,r.form=new ot({},Q(e),K(n));return r}var n=e.prototype;n.ngAfterViewInit=function t(){this._setUpdateStrategy()};n.addControl=function t(e){var n=this;st.then(function(){var t=n._findContainer(e.path);e.control=t.registerControl(e.name,e.control),q(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),n._directives.push(e)})};n.getControl=function t(e){return this.form.get(e.path)};n.removeControl=function t(e){var n=this;st.then(function(){var t=n._findContainer(e.path);t&&t.removeControl(e.name),function(t,n){var r=t.indexOf(e);r>-1&&t.splice(r,1)}(n._directives)})};n.addFormGroup=function t(e){var n=this;st.then(function(){var t=n._findContainer(e.path),r=new ot({});(function(t,e){null==t&&G(e,"Cannot find control with"),t.validator=D.compose([t.validator,e.validator]),t.asyncValidator=D.composeAsync([t.asyncValidator,e.asyncValidator])})(r,e),t.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})};n.removeFormGroup=function t(e){var n=this;st.then(function(){var t=n._findContainer(e.path);t&&t.removeControl(e.name)})};n.getFormGroup=function t(e){return this.form.get(e.path)};n.updateModel=function t(e,n){var r=this;st.then(function(){r.form.get(e.path).setValue(n)})};n.setValue=function t(e){this.control.setValue(e)};n.onSubmit=function t(e){return this.submitted=!0,n=this._directives,this.form._syncPendingControls(),n.forEach(function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}),this.ngSubmit.emit(e),!1;var n};n.onReset=function t(){this.resetForm()};n.resetForm=function t(e){this.form.reset(e),this.submitted=!1};n._setUpdateStrategy=function t(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)};n._findContainer=function t(e){return e.pop(),e.length?this.form.get(e):this.form};o(e,[{key:"formDirective",get:function t(){return this}},{key:"control",get:function t(){return this.form}},{key:"path",get:function t(){return[]}},{key:"controls",get:function t(){return this.form.controls}}]);return e}(w);var lt=function(){function t(){}t.modelParentException=function t(){throw new Error('\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n      formGroup\'s partner directive "formControlName" instead.  Example:\n\n      '+V.formControlName+"\n\n      Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n      Example:\n\n      "+V.ngModelWithFormGroup)};t.formGroupNameException=function t(){throw new Error("\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n      "+V.formGroupName+"\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      "+V.ngModelGroup)};t.missingNameException=function t(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n      control must be defined as \'standalone\' in ngModelOptions.\n\n      Example 1: <input [(ngModel)]="person.firstName" name="first">\n      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')};t.modelGroupParentException=function t(){throw new Error("\n      ngModelGroup cannot be used with a parent formGroup directive.\n\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n      "+V.formGroupName+"\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      "+V.ngModelGroup)};t.ngFormWarning=function t(){console.warn("\n    It looks like you're using 'ngForm'.\n\n    Support for using the 'ngForm' element selector has been deprecated in Angular v6 and will be removed\n    in Angular v9.\n\n    Use 'ng-form' instead.\n\n    Before:\n    <ngForm #myForm=\"ngForm\">\n\n    After:\n    <ng-form #myForm=\"ngForm\">\n    ")};return t}();var ct=new s.p("NgFormSelectorWarning");var ft=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.ngOnInit=function t(){this._checkParentType(),this.formDirective.addFormGroup(this)};n.ngOnDestroy=function t(){this.formDirective&&this.formDirective.removeFormGroup(this)};n._checkParentType=function t(){};o(e,[{key:"control",get:function t(){return this.formDirective.getFormGroup(this)}},{key:"path",get:function t(){return B(this.name,this._parent)}},{key:"formDirective",get:function t(){return this._parent?this._parent.formDirective:null}},{key:"validator",get:function t(){return Q(this._validators)}},{key:"asyncValidator",get:function t(){return K(this._asyncValidators)}}]);return e}(w);var ht=function(t){a(e,t);function e(e,n,r){var i;i=t.call(this)||this,i._parent=e,i._validators=n,i._asyncValidators=r;return i}var n=e.prototype;n._checkParentType=function t(){this._parent instanceof e||this._parent instanceof ut||lt.modelGroupParentException()};return e}(ft);var dt=function(){return Promise.resolve(null)}();var pt=function(t){a(e,t);function e(e,n,i,o){var a;a=t.call(this)||this,a.control=new it,a._registered=!1,a.update=new s.m,a._parent=e,a._rawValidators=n||[],a._rawAsyncValidators=i||[],a.valueAccessor=function(t,e){if(!e)return null;Array.isArray(e)||G(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach(function(e){e.constructor===b?n=e:function(t){return Z.some(function(e){return t.constructor===e})}(e)?(r&&G(t,"More than one built-in value accessor matches form control with"),r=e):(i&&G(t,"More than one custom value accessor matches form control with"),i=e)}),i||r||n||(G(t,"No valid value accessor for form control with"),null)}(r(a),o);return a}var n=e.prototype;n.ngOnChanges=function t(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),function(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object(s.Ab)(e,n.currentValue)}(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)};n.ngOnDestroy=function t(){this.formDirective&&this.formDirective.removeControl(this)};n.viewToModelUpdate=function t(e){this.viewModel=e,this.update.emit(e)};n._setUpControl=function t(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0};n._setUpdateStrategy=function t(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)};n._isStandalone=function t(){return!this._parent||!(!this.options||!this.options.standalone)};n._setUpStandalone=function t(){q(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})};n._checkForErrors=function t(){this._isStandalone()||this._checkParentType(),this._checkName()};n._checkParentType=function t(){!(this._parent instanceof ht)&&this._parent instanceof ft?lt.formGroupNameException():this._parent instanceof ht||this._parent instanceof ut||lt.modelParentException()};n._checkName=function t(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||lt.missingNameException()};n._updateValue=function t(e){var n=this;dt.then(function(){n.control.setValue(e,{emitViewToModelChange:!1})})};n._updateDisabled=function t(e){var n=this;var r=e.isDisabled.currentValue,i=""===r||r&&"false"!==r;dt.then(function(){i&&!n.control.disabled?n.control.disable():!i&&n.control.disabled&&n.control.enable()})};o(e,[{key:"path",get:function t(){return this._parent?B(this.name,this._parent):[this.name]}},{key:"formDirective",get:function t(){return this._parent?this._parent.formDirective:null}},{key:"validator",get:function t(){return Q(this._rawValidators)}},{key:"asyncValidator",get:function t(){return K(this._rawAsyncValidators)}}]);return e}(S);var vt=function t(){};var mt=function(){function t(){}t.withConfig=function e(n){return{ngModule:t,providers:[{provide:ct,useValue:n.warnOnDeprecatedNgFormSelector}]}};return t}()},vkgz:function t(e,n,i){"use strict";i.d(n,"a",function(){return l});var o=i("7o/Q"),s=i("KqfI"),u=i("n6bG");function l(t,e,n){return function(r){return r.lift(new c(t,e,n))}}var c=function(){function t(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new f(e,this.nextOrObserver,this.error,this.complete))};return t}();var f=function(t){a(e,t);function e(e,n,i,o){var a;a=t.call(this,e)||this,a._tapNext=s.a,a._tapError=s.a,a._tapComplete=s.a,a._tapError=i||s.a,a._tapComplete=o||s.a,Object(u.a)(n)?(a._context=r(a),a._tapNext=n):n&&(a._context=n,a._tapNext=n.next||s.a,a._tapError=n.error||s.a,a._tapComplete=n.complete||s.a);return a}var n=e.prototype;n._next=function t(e){try{this._tapNext.call(this._context,e)}catch(n){return void this.destination.error(n)}this.destination.next(e)};n._error=function t(e){try{this._tapError.call(this._context,e)}catch(e){return void this.destination.error(e)}this.destination.error(e)};n._complete=function t(){try{this._tapComplete.call(this._context)}catch(e){return void this.destination.error(e)}return this.destination.complete()};return e}(o.a)},w1tV:function t(e,n,r){"use strict";var i=r("XNiG"),o=r("HDdC"),s=r("7o/Q"),u=r("quSY");function l(){return function(t){return t.lift(new c(t))}}var c=function(){function t(t){this.connectable=t}var e=t.prototype;e.call=function t(e,n){var r=this.connectable;r._refCount++;var i=new f(e,r),o=n.subscribe(i);return i.closed||(i.connection=r.connect()),o};return t}();var f=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.connectable=n;return r}var n=e.prototype;n._unsubscribe=function t(){var e=this.connectable;if(!e)return void(this.connection=null);this.connectable=null;var n=e._refCount;if(n<=0)return void(this.connection=null);if(e._refCount=n-1,n>1)return void(this.connection=null);var r=this.connection,i=e._connection;this.connection=null,!i||r&&i!==r||i.unsubscribe()};return e}(s.a);var h=function(t){a(e,t);function e(e,n){var r;r=t.call(this)||this,r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1;return r}var n=e.prototype;n._subscribe=function t(e){return this.getSubject().subscribe(e)};n.getSubject=function t(){var e=this._subject;return e&&!e.isStopped||(this._subject=this.subjectFactory()),this._subject};n.connect=function t(){var e=this._connection;return e||(this._isComplete=!1,(e=this._connection=new u.a).add(this.source.subscribe(new p(this.getSubject(),this))),e.closed?(this._connection=null,e=u.a.EMPTY):this._connection=e),e};n.refCount=function t(){return l()(this)};return e}(o.a).prototype,d={operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:h._subscribe},_isComplete:{value:h._isComplete,writable:!0},getSubject:{value:h.getSubject},connect:{value:h.connect},refCount:{value:h.refCount}};var p=function(t){a(e,t);function e(e,n){var r;r=t.call(this,e)||this,r.connectable=n;return r}var n=e.prototype;n._error=function e(n){this._unsubscribe(),t.prototype._error.call(this,n)};n._complete=function e(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)};n._unsubscribe=function t(){var e=this.connectable;if(e){this.connectable=null;var n=e._connection;e._refCount=0,e._subject=null,e._connection=null,n&&n.unsubscribe()}};return e}(i.b);function v(){return new i.a}function m(){return function(t){return l()(function(t,e){return function(e){var n;n="function"==typeof t?t:function(){return t};var r=Object.create(e,d);return r.source=e,r.subjectFactory=n,r}}(v)(t))}}r.d(n,"a",function(){return m})},yCtX:function t(e,n,r){"use strict";r.d(n,"a",function(){return s});var i=r("HDdC"),o=r("quSY"),a=r("ngJS");function s(t,e){return new i.a(e?function(n){var r=new o.a;var i=0;return r.add(e.schedule(function(){i!==t.length?(n.next(t[i++]),n.closed||r.add(this.schedule())):n.complete()})),r}:Object(a.a)(t))}},"z+Ro":function t(e,n,r){"use strict";function i(t){return t&&"function"==typeof t.schedule}r.d(n,"a",function(){return i})},zUnb:function t(e,n,i){"use strict";i.r(n);var s=i("8Y7J");var u=function t(){};var l=function t(){};var c=i("pMnS"),f=i("iInd");var h=function(){function t(){this.particles=[],this.maxRadius=8,this.minRadius=5,this.minDistanceBetweenParticles=20}var e=t.prototype;e.onWindowResize=function t(e){this.headerCanvas.width=this.headerCanvasWrapperRef.nativeElement.clientWidth,this.headerCanvas.height=this.headerCanvasWrapperRef.nativeElement.clientHeight,this.adjustHeaderCanvasParams(),this.initParticles()};e.ngOnInit=function t(){};e.ngAfterViewInit=function t(){this.headerCanvas=this.headerCanvasRef.nativeElement,this.headerCanvasContext=this.headerCanvas.getContext("2d"),this.headerCanvas.width=this.headerCanvasWrapperRef.nativeElement.clientWidth,this.headerCanvas.height=this.headerCanvasWrapperRef.nativeElement.clientHeight,this.adjustHeaderCanvasParams(),this.initParticles()};e.adjustHeaderCanvasParams=function t(){this.particlesCount=Math.floor(this.headerCanvas.width/50)*Math.floor(this.headerCanvas.height/80)};e.initParticles=function t(){var e=this;this.particles=[];var n=function t(n){var r=void 0;do{r={radius:Math.floor(Math.random()*(e.maxRadius-e.minRadius+1)+e.minRadius),x:Math.floor(Math.random()*(e.headerCanvas.width-2*e.maxRadius))+e.maxRadius,y:Math.floor(Math.random()*(e.headerCanvas.height-2*e.maxRadius))+e.maxRadius,color:"rgba(255,255,255,0.5)"}}while(e.particles.some(function(t){return e.doesParticlesAreNearby(t,r)}));e.particles.push(r)};for(var r=1;r<=this.particlesCount;++r){n(r)}};e.doesParticlesAreNearby=function t(e,n){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))<e.radius+n.radius+this.minDistanceBetweenParticles};e.drawHomeCanvas=function t(){var e=this;this.headerCanvasContext.clearRect(0,0,this.headerCanvas.width,this.headerCanvas.height),this.particles.forEach(function(t){e.headerCanvasContext.beginPath(),e.headerCanvasContext.shadowBlur=10,e.headerCanvasContext.shadowColor=t.color,e.headerCanvasContext.fillStyle=t.color,e.headerCanvasContext.arc(t.x,t.y,t.radius,0,2*Math.PI),e.headerCanvasContext.fill(),e.headerCanvasContext.closePath()})};return t}();var d=s.qb({encapsulation:0,styles:[[".home-container[_ngcontent-%COMP%]{padding:0;margin:0;width:100%}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]{width:100%;height:100vh;background-color:#14141f;background-image:url(home-header-image.8ce7381c43fe4e6f288d.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .text[_ngcontent-%COMP%]{position:absolute;right:10px;top:20px;color:#fff;float:right;text-align:end;padding:20px;font-size:40px;font-family:Tangerine,cursive;font-weight:700;-webkit-animation:1s ease-in-out infinite alternate blueglow;animation:1s ease-in-out infinite alternate blueglow;z-index:100}@-webkit-keyframes pinkglow{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #e60073,0 0 40px #e60073,0 0 50px #e60073,0 0 60px #e60073,0 0 70px #e60073}to{text-shadow:0 0 20px #fff,0 0 30px #ff4da6,0 0 40px #ff4da6,0 0 50px #ff4da6,0 0 60px #ff4da6,0 0 70px #ff4da6,0 0 80px #ff4da6}}@-webkit-keyframes blueglow{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #014940,0 0 40px #014940,0 0 50px #014940,0 0 60px #014940,0 0 70px #014940}to{text-shadow:0 0 20px #fff,0 0 30px #0293a8,0 0 40px #0293a8,0 0 50px #0293a8,0 0 60px #0293a8,0 0 70px #0293a8,0 0 80px #0293a8}}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .text[_ngcontent-%COMP%]:hover   .rotate-text[_ngcontent-%COMP%]{display:inline-block;transform-origin:top left;-webkit-animation:1.5s ease-in-out infinite alternate rotateText;animation:1.5s ease-in-out infinite alternate rotateText}@-webkit-keyframes rotateText{0%{transform:rotate(8deg)}100%{transform:rotate(120deg)}}@keyframes rotateText{0%{transform:rotate(8deg)}100%{transform:rotate(120deg)}}.home-container[_ngcontent-%COMP%]   .header[_ngcontent-%COMP%]   .header-canvas-wrapper[_ngcontent-%COMP%]{position:absolute;top:0;left:0;width:100%;height:100%}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]{background-color:#0d0d26;padding:20px 10px 40px}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]{padding:10px}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]{border:1px solid #e6e6e6;height:50px;cursor:pointer;box-shadow:0 0 10px grey;font-family:cursive}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{margin:auto}.home-container[_ngcontent-%COMP%]   .section[_ngcontent-%COMP%]   .card-wrapper[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%]:hover{box-shadow:0 0 14px #7fe6f5}"]],data:{}});function p(t){return s.Lb(0,[s.Ib(671088640,1,{headerCanvasRef:0}),s.Ib(671088640,2,{headerCanvasWrapperRef:0}),(t()(),s.sb(2,0,null,null,29,"div",[["class","home-container"]],null,null,null,null,null)),(t()(),s.sb(3,0,null,null,5,"div",[["class","header"]],null,null,null,null,null)),(t()(),s.sb(4,0,null,null,2,"div",[["class","text glow"]],null,null,null,null,null)),(t()(),s.sb(5,0,null,null,1,"span",[["class","rotate-text"]],null,null,null,null,null)),(t()(),s.Kb(-1,null,["Algorithms Visualizer"])),(t()(),s.sb(7,0,[[2,0],["headerCanvasWrapper",1]],null,1,"div",[["class","header-canvas-wrapper"]],null,null,null,null,null)),(t()(),s.sb(8,0,[[1,0],["headerCanvas",1]],null,0,"canvas",[["id","headerCanvas"]],null,null,null,null,null)),(t()(),s.sb(9,0,null,null,19,"div",[["class","section"]],null,null,null,null,null)),(t()(),s.sb(10,0,null,null,18,"div",[["class","col-md-12 row"]],null,null,null,null,null)),(t()(),s.sb(11,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==s.Eb(t,12).onClick()&&r),r},null,null)),s.rb(12,16384,null,0,f.l,[f.k,f.a,[8,null],s.D,s.k],{routerLink:[0,"routerLink"]},null),s.Fb(13,1),(t()(),s.sb(14,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(t()(),s.sb(15,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),s.Kb(-1,null,["Sorting Algorithms"])),(t()(),s.sb(17,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==s.Eb(t,18).onClick()&&r),r},null,null)),s.rb(18,16384,null,0,f.l,[f.k,f.a,[8,null],s.D,s.k],{routerLink:[0,"routerLink"]},null),s.Fb(19,1),(t()(),s.sb(20,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(t()(),s.sb(21,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),s.Kb(-1,null,["Graph Algorithms"])),(t()(),s.sb(23,0,null,null,5,"div",[["class","card-wrapper col-md-4 col-sm-6"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==s.Eb(t,24).onClick()&&r),r},null,null)),s.rb(24,16384,null,0,f.l,[f.k,f.a,[8,null],s.D,s.k],{routerLink:[0,"routerLink"]},null),s.Fb(25,1),(t()(),s.sb(26,0,null,null,2,"div",[["class","card"]],null,null,null,null,null)),(t()(),s.sb(27,0,null,null,1,"span",[],null,null,null,null,null)),(t()(),s.Kb(-1,null,["Misc"])),(t()(),s.sb(29,0,null,null,1,"div",[["class","glow-footer"]],null,null,null,null,null)),(t()(),s.Kb(-1,null,[" while(noSuccess) { tryAgain(); if(Dead) break; } "])),(t()(),s.sb(31,0,null,null,0,"div",[],null,null,null,null,null))],function(t,e){var n=t(e,13,0,"sorting-algorithms");t(e,12,0,n);var r=t(e,19,0,"graph-algorithms");t(e,18,0,r);var i=t(e,25,0,"");t(e,24,0,i)},null)}function v(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"app-home",[],null,[["window","resize"]],function(t,e,n){var r=!0;return"window:resize"===e&&(r=!1!==s.Eb(t,1).onWindowResize(n)&&r),r},p,d)),s.rb(1,4308992,null,0,h,[],null,null)],function(t,e){t(e,1,0)},null)}var m=s.ob("app-home",h,v,{},{},[]),g=i("SVse"),y=i("s7LF"),b=i("XNiG"),_=(i("2Vo4"),i("itXk"),i("HDdC")),w=(i("D0XW"),i("DH7j"));i("z+Ro"),i("KqfI");var C=i("n6bG"),S=i("lJxs");function E(t,e,n,r){return Object(C.a)(n)&&(r=n,n=void 0),r?E(t,e,n).pipe(Object(S.a)(function(t){return Object(w.a)(t)?r.apply(void 0,t):r(t)})):new _.a(function(r){!function t(e,n,r,i,o){var a;if(function(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(e)){var s=e;e.addEventListener(n,r,o),a=function t(){return s.removeEventListener(n,r,o)}}else if(function(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(e)){var u=e;e.on(n,r),a=function t(){return u.off(n,r)}}else if(function(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(e)){var l=e;e.addListener(n,r),a=function t(){return l.removeListener(n,r)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var c=0,f=e.length;c<f;c++){t(e[c],n,r,i,o)}}i.add(a)}(t,e,function(t){r.next(arguments.length>1?Array.prototype.slice.call(arguments):t)},r,n)})}var k=i("VRyK"),x=(i("yCtX"),i("l7GE")),O=i("ZUHj");function T(t){return function(e){return e.lift(new D(t))}}i("JX91"),i("7o/Q"),i("eIep");var D=function(){function t(t){this.notifier=t}var e=t.prototype;e.call=function t(e,n){var r=new A(e),i=Object(O.a)(r,this.notifier);return i&&!r.seenValue?(r.add(i),n.subscribe(r)):r};return t}();var A=function(t){a(e,t);function e(e){var n;n=t.call(this,e)||this,n.seenValue=!1;return n}var n=e.prototype;n.notifyNext=function t(e,n,r,i,o){this.seenValue=!0,this.complete()};n.notifyComplete=function t(){};return e}(x.a);var N=i("pLZG"),I=i("IzEk");function R(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}return function(t){var n;return"function"==typeof e[e.length-1]&&(n=e.pop()),t.lift(new P(e,n))}}var P=function(){function t(t,e){this.observables=t,this.project=e}var e=t.prototype;e.call=function t(e,n){return n.subscribe(new j(e,this.observables,this.project))};return t}();var j=function(t){a(e,t);function e(e,n,i){var o;o=t.call(this,e)||this,o.observables=n,o.project=i,o.toRespond=[];var a=n.length;o.values=new Array(a);for(var s=0;s<a;s++){o.toRespond.push(s)}for(var u=0;u<a;u++){var l=n[u];o.add(Object(O.a)(r(o),l,l,u))}return o}var n=e.prototype;n.notifyNext=function t(e,n,r,i,o){this.values[r]=n;var a=this.toRespond;if(a.length>0){var s=a.indexOf(r);-1!==s&&a.splice(s,1)}};n.notifyComplete=function t(){};n._next=function t(e){if(0===this.toRespond.length){var n=[e].concat(this.values);this.project?this._tryProject(n):this.destination.next(n)}};n._tryProject=function t(e){var n;try{n=this.project.apply(this,e)}catch(r){return void this.destination.error(r)}this.destination.next(n)};return e}(x.a);function M(t){return parseInt(""+t,10)}function V(t){return null!=t?""+t:""}function F(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}function L(t){return null!=t}function U(t,e){return t&&t.className&&t.className.split&&t.className.split(/\s+/).indexOf(e)>=0}i("EY2u"),i("LRne"),i("w1tV"),i("vkgz"),"undefined"==typeof Element||Element.prototype.closest||(Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest=function(t){var e=this;if(!document.documentElement.contains(e))return null;do{if(e.matches(t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var H=function t(){};var z=function(){var t=function t(){this.dismissible=!0,this.type="warning"};return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t},token:t,providedIn:"root"}),t}();var B=function(){function t(t,e,n){this._renderer=e,this._element=n,this.close=new s.m,this.dismissible=t.dismissible,this.type=t.type}var e=t.prototype;e.closeHandler=function t(){this.close.emit(null)};e.ngOnChanges=function t(e){var n=e.type;n&&!n.firstChange&&(this._renderer.removeClass(this._element.nativeElement,"alert-"+n.previousValue),this._renderer.addClass(this._element.nativeElement,"alert-"+n.currentValue))};e.ngOnInit=function t(){this._renderer.addClass(this._element.nativeElement,"alert-"+this.type)};return t}();var q=function t(){};var W=function t(){};var G=function t(){};var Q=function t(){};var K=function(){t.from=function e(n){return n instanceof t?n:n?new t(n.year,n.month,n.day):null};function t(t,e,n){this.year=F(t)?t:null,this.month=F(e)?e:null,this.day=F(n)?n:null}var e=t.prototype;e.equals=function t(e){return e&&this.year===e.year&&this.month===e.month&&this.day===e.day};e.before=function t(e){return!!e&&(this.year===e.year?this.month===e.month?this.day!==e.day&&this.day<e.day:this.month<e.month:this.year<e.year)};e.after=function t(e){return!!e&&(this.year===e.year?this.month===e.month?this.day!==e.day&&this.day>e.day:this.month>e.month:this.year>e.year)};return t}();function Z(t){return new K(t.getFullYear(),t.getMonth()+1,t.getDate())}function $(t){var e=new Date(t.year,t.month-1,t.day,12);return isNaN(e.getTime())||e.setFullYear(t.year),e}function Y(){return new X}var J=function(){var t=function t(){};return t.ngInjectableDef=Object(s.Pb)({factory:Y,token:t,providedIn:"root"}),t}();var X=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.getDaysPerWeek=function t(){return 7};n.getMonths=function t(){return[1,2,3,4,5,6,7,8,9,10,11,12]};n.getWeeksPerMonth=function t(){return 6};n.getNext=function t(e,n,r){if(n===void 0){n="d"}if(r===void 0){r=1}var i=$(e);switch(n){case"y":return new K(e.year+r,1,1);case"m":i=new Date(e.year,e.month+r-1,1,12);break;case"d":i.setDate(i.getDate()+r);break;default:return e}return Z(i)};n.getPrev=function t(e,n,r){if(n===void 0){n="d"}if(r===void 0){r=1}return this.getNext(e,n,-r)};n.getWeekday=function t(e){var n=$(e).getDay();return 0===n?7:n};n.getWeekNumber=function t(e,n){7===n&&(n=0);var r=$(e[(11-n)%7]);r.setDate(r.getDate()+4-(r.getDay()||7));var i=r.getTime();return r.setMonth(0),r.setDate(1),Math.floor(Math.round((i-r.getTime())/864e5)/7)+1};n.getToday=function t(){return Z(new Date)};n.isValid=function t(e){if(!(e&&F(e.year)&&F(e.month)&&F(e.day)))return!1;if(0===e.year)return!1;var n=$(e);return!isNaN(n.getTime())&&n.getFullYear()===e.year&&n.getMonth()+1===e.month&&n.getDate()===e.day};return e}(J);function tt(t,e){return!function(t,e){return!t&&!e||!!t&&!!e&&t.equals(e)}(t,e)}function et(t,e){return!(!t&&!e||t&&e&&t.year===e.year&&t.month===e.month)}function nt(t,e,n){return t&&e&&t.before(e)?e:t&&n&&t.after(n)?n:t}function rt(t,e){var n=e.minDate,r=e.maxDate,i=e.disabled,o=e.markDisabled;return!(!L(t)||i||o&&o(t,{year:t.year,month:t.month})||n&&t.before(n)||r&&t.after(r))}var it=function(){var t=function(){function t(){}var e=t.prototype;e.getDayNumerals=function t(e){return""+e.day};e.getWeekNumerals=function t(e){return""+e};e.getYearNumerals=function t(e){return""+e};return t}();return t.ngInjectableDef=Object(s.Pb)({factory:function t(){return e=Object(s.Qb)(s.t),new ot(e);var e},token:t,providedIn:"root"}),t}();var ot=function(t){a(e,t);function e(e){var n;n=t.call(this)||this,n._locale=e;var r=Object(g.u)(e,g.d.Standalone,g.r.Short);n._weekdaysShort=r.map(function(t,e){return r[(e+1)%7]}),n._monthsShort=Object(g.w)(e,g.d.Standalone,g.r.Abbreviated),n._monthsFull=Object(g.w)(e,g.d.Standalone,g.r.Wide);return n}var n=e.prototype;n.getWeekdayShortName=function t(e){return this._weekdaysShort[e-1]};n.getMonthShortName=function t(e){return this._monthsShort[e-1]};n.getMonthFullName=function t(e){return this._monthsFull[e-1]};n.getDayAriaLabel=function t(e){var n=new Date(e.year,e.month-1,e.day);return Object(g.t)(n,"fullDate",this._locale)};return e}(it);var at=function(){function t(t,e){this._calendar=t,this._i18n=e,this._model$=new b.a,this._select$=new b.a,this._state={disabled:!1,displayMonths:1,firstDayOfWeek:1,focusVisible:!1,months:[],navigation:"select",outsideDays:"visible",prevDisabled:!1,nextDisabled:!1,selectBoxes:{years:[],months:[]},selectedDate:null}}var e=t.prototype;e.focus=function t(e){!this._state.disabled&&this._calendar.isValid(e)&&tt(this._state.focusDate,e)&&this._nextState({focusDate:e})};e.focusMove=function t(e,n){this.focus(this._calendar.getNext(this._state.focusDate,e,n))};e.focusSelect=function t(){rt(this._state.focusDate,this._state)&&this.select(this._state.focusDate,{emitEvent:!0})};e.open=function t(e){var n=this.toValidDate(e,this._calendar.getToday());this._state.disabled||this._state.firstDate&&!et(this._state.firstDate,e)||this._nextState({firstDate:n})};e.select=function t(e,n){if(n===void 0){n={}}var r=this.toValidDate(e,null);this._state.disabled||(tt(this._state.selectedDate,r)&&this._nextState({selectedDate:r}),n.emitEvent&&rt(r,this._state)&&this._select$.next(r))};e.toValidDate=function t(e,n){var r=K.from(e);return void 0===n&&(n=this._calendar.getToday()),this._calendar.isValid(r)?r:n};e._nextState=function t(e){var n=this._updateState(e);this._patchContexts(n),this._state=n,this._model$.next(this._state)};e._patchContexts=function t(e){var n=e.months,r=e.displayMonths,i=e.selectedDate,o=e.focusDate,a=e.focusVisible,s=e.disabled,u=e.outsideDays;e.months.forEach(function(t){t.weeks.forEach(function(e){e.days.forEach(function(e){o&&(e.context.focused=o.equals(e.date)&&a),e.tabindex=!s&&e.date.equals(o)&&o.month===t.number?0:-1,!0===s&&(e.context.disabled=!0),void 0!==i&&(e.context.selected=null!==i&&i.equals(e.date)),t.number!==e.date.month&&(e.hidden="hidden"===u||"collapsed"===u||r>1&&e.date.after(n[0].firstDate)&&e.date.before(n[r-1].lastDate))})})})};e._updateState=function t(e){var n=Object.assign({},this._state,e);var r=n.firstDate;if(("minDate"in e||"maxDate"in e)&&(function(t,e){if(e&&t&&e.before(t))throw new Error("'maxDate' "+e+" should be greater than 'minDate' "+t)}(n.minDate,n.maxDate),n.focusDate=nt(n.focusDate,n.minDate,n.maxDate),n.firstDate=nt(n.firstDate,n.minDate,n.maxDate),r=n.focusDate),"disabled"in e&&(n.focusVisible=!1),"selectedDate"in e&&0===this._state.months.length&&(r=n.selectedDate),"focusVisible"in e)return n;if("focusDate"in e&&(n.focusDate=nt(n.focusDate,n.minDate,n.maxDate),r=n.focusDate,0!==n.months.length&&!n.focusDate.before(n.firstDate)&&!n.focusDate.after(n.lastDate)))return n;if("firstDate"in e&&(n.firstDate=nt(n.firstDate,n.minDate,n.maxDate),r=n.firstDate),r){var i=function(t,e,n,r,i){var o=n.displayMonths,a=n.months,s=a.splice(0,a.length);return Array.from({length:o},function(n,r){var o=t.getNext(e,"m",r);if(a[r]=null,!i){var u=s.findIndex(function(t){return t.firstDate.equals(o)});-1!==u&&(a[r]=s.splice(u,1)[0])}return o}).forEach(function(e,i){null===a[i]&&(a[i]=function(t,e,n,r,i){if(i===void 0){i={}}var o=n.dayTemplateData,a=n.minDate,s=n.maxDate,u=n.firstDayOfWeek,l=n.markDisabled,c=n.outsideDays,f=t.getToday();i.firstDate=null,i.lastDate=null,i.number=e.month,i.year=e.year,i.weeks=i.weeks||[],i.weekdays=i.weekdays||[],e=function(t,e,n){var r=t.getDaysPerWeek(),i=new K(e.year,e.month,1),o=t.getWeekday(i)%r;return t.getPrev(i,"d",(r+o-n)%r)}(t,e,u);for(var h=0;h<t.getWeeksPerMonth();h++){var d=i.weeks[h];d||(d=i.weeks[h]={number:0,days:[],collapsed:!0});var p=d.days;for(var v=0;v<t.getDaysPerWeek();v++){0===h&&(i.weekdays[v]=t.getWeekday(e));var m=new K(e.year,e.month,e.day),g=t.getNext(m),y=r.getDayAriaLabel(m);var b=!!(a&&m.before(a)||s&&m.after(s));!b&&l&&(b=l(m,{month:i.number,year:i.year}));var _=m.equals(f),w=o?o(m,{month:i.number,year:i.year}):void 0;null===i.firstDate&&m.month===i.number&&(i.firstDate=m),m.month===i.number&&g.month!==i.number&&(i.lastDate=m);var C=p[v];C||(C=p[v]={}),C.date=m,C.context=Object.assign(C.context||{},{$implicit:m,date:m,data:w,currentMonth:i.number,disabled:b,focused:!1,selected:!1,today:_}),C.tabindex=-1,C.ariaLabel=y,C.hidden=!1,e=g}d.number=t.getWeekNumber(p.map(function(t){return t.date}),u),d.collapsed="collapsed"===c&&p[0].date.month!==i.number&&p[p.length-1].date.month!==i.number}return i}(t,e,n,r,s.shift()||{}))}),a}(this._calendar,r,n,this._i18n,"dayTemplateData"in e||"firstDayOfWeek"in e||"markDisabled"in e||"minDate"in e||"maxDate"in e||"disabled"in e||"outsideDays"in e);n.months=i,n.firstDate=i.length>0?i[0].firstDate:void 0,n.lastDate=i.length>0?i[i.length-1].lastDate:void 0,"selectedDate"in e&&!rt(n.selectedDate,n)&&(n.selectedDate=null),"firstDate"in e&&(void 0===n.focusDate||n.focusDate.before(n.firstDate)||n.focusDate.after(n.lastDate))&&(n.focusDate=r);var o=!this._state.firstDate||this._state.firstDate.year!==n.firstDate.year,a=!this._state.firstDate||this._state.firstDate.month!==n.firstDate.month;"select"===n.navigation?(("minDate"in e||"maxDate"in e||0===n.selectBoxes.years.length||o)&&(n.selectBoxes.years=function(t,e,n){if(!t)return[];var r=e&&e.year||t.year-10;return Array.from({length:(n&&n.year||t.year+10)-r+1},function(t,e){return r+e})}(n.firstDate,n.minDate,n.maxDate)),("minDate"in e||"maxDate"in e||0===n.selectBoxes.months.length||o)&&(n.selectBoxes.months=function(t,e,n,r){if(!e)return[];var i=t.getMonths(e.year);if(n&&e.year===n.year){var o=i.findIndex(function(t){return t===n.month});i=i.slice(o)}if(r&&e.year===r.year){var a=i.findIndex(function(t){return t===r.month});i=i.slice(0,a+1)}return i}(this._calendar,n.firstDate,n.minDate,n.maxDate))):n.selectBoxes={years:[],months:[]},"arrows"!==n.navigation&&"select"!==n.navigation||!(a||o||"minDate"in e||"maxDate"in e||"disabled"in e)||(n.prevDisabled=n.disabled||function(t,e,r){var i=t.getPrev(n.firstDate,"m");return r&&(i.year===r.year&&i.month<r.month||i.year<r.year&&1===r.month)}(this._calendar,0,n.minDate),n.nextDisabled=n.disabled||(s=n.maxDate)&&this._calendar.getNext(n.lastDate,"m").after(s))}var s;return n};o(t,[{key:"model$",get:function t(){return this._model$.pipe(Object(N.a)(function(t){return t.months.length>0}))}},{key:"select$",get:function t(){return this._select$.pipe(Object(N.a)(function(t){return null!==t}))}},{key:"dayTemplateData",set:function t(e){this._state.dayTemplateData!==e&&this._nextState({dayTemplateData:e})}},{key:"disabled",set:function t(e){this._state.disabled!==e&&this._nextState({disabled:e})}},{key:"displayMonths",set:function t(e){F(e=M(e))&&e>0&&this._state.displayMonths!==e&&this._nextState({displayMonths:e})}},{key:"firstDayOfWeek",set:function t(e){F(e=M(e))&&e>=0&&this._state.firstDayOfWeek!==e&&this._nextState({firstDayOfWeek:e})}},{key:"focusVisible",set:function t(e){this._state.focusVisible===e||this._state.disabled||this._nextState({focusVisible:e})}},{key:"maxDate",set:function t(e){var n=this.toValidDate(e,null);tt(this._state.maxDate,n)&&this._nextState({maxDate:n})}},{key:"markDisabled",set:function t(e){this._state.markDisabled!==e&&this._nextState({markDisabled:e})}},{key:"minDate",set:function t(e){var n=this.toValidDate(e,null);tt(this._state.minDate,n)&&this._nextState({minDate:n})}},{key:"navigation",set:function t(e){this._state.navigation!==e&&this._nextState({navigation:e})}},{key:"outsideDays",set:function t(e){this._state.outsideDays!==e&&this._nextState({outsideDays:e})}}]);return t}();var st=function(){var t={Tab:9,Enter:13,Escape:27,Space:32,PageUp:33,PageDown:34,End:35,Home:36,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40};return t[t.Tab]="Tab",t[t.Enter]="Enter",t[t.Escape]="Escape",t[t.Space]="Space",t[t.PageUp]="PageUp",t[t.PageDown]="PageDown",t[t.End]="End",t[t.Home]="Home",t[t.ArrowLeft]="ArrowLeft",t[t.ArrowUp]="ArrowUp",t[t.ArrowRight]="ArrowRight",t[t.ArrowDown]="ArrowDown",t}();var ut=function(){function t(t,e){var n=this;this._service=t,this._calendar=e,t.model$.subscribe(function(t){n._minDate=t.minDate,n._maxDate=t.maxDate,n._firstViewDate=t.firstDate,n._lastViewDate=t.lastDate})}var e=t.prototype;e.processKey=function t(e){switch(e.which){case st.PageUp:this._service.focusMove(e.shiftKey?"y":"m",-1);break;case st.PageDown:this._service.focusMove(e.shiftKey?"y":"m",1);break;case st.End:this._service.focus(e.shiftKey?this._maxDate:this._lastViewDate);break;case st.Home:this._service.focus(e.shiftKey?this._minDate:this._firstViewDate);break;case st.ArrowLeft:this._service.focusMove("d",-1);break;case st.ArrowUp:this._service.focusMove("d",-this._calendar.getDaysPerWeek());break;case st.ArrowRight:this._service.focusMove("d",1);break;case st.ArrowDown:this._service.focusMove("d",this._calendar.getDaysPerWeek());break;case st.Enter:case st.Space:this._service.focusSelect();break;default:return}e.preventDefault(),e.stopPropagation()};return t}();var lt=function(){var t={PREV:0,NEXT:1};return t[t.PREV]="PREV",t[t.NEXT]="NEXT",t}();var ct=function(){var t=function t(){this.displayMonths=1,this.firstDayOfWeek=1,this.navigation="select",this.outsideDays="visible",this.showWeekdays=!0,this.showWeekNumbers=!1};return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t},token:t,providedIn:"root"}),t}();function ft(){return new dt}var ht=function(){var t=function t(){};return t.ngInjectableDef=Object(s.Pb)({factory:ft,token:t,providedIn:"root"}),t}();var dt=function(t){a(e,t);function e(){return t.apply(this,arguments)||this}var n=e.prototype;n.fromModel=function t(e){return e&&F(e.year)&&F(e.month)&&F(e.day)?{year:e.year,month:e.month,day:e.day}:null};n.toModel=function t(e){return e&&F(e.year)&&F(e.month)&&F(e.day)?{year:e.year,month:e.month,day:e.day}:null};return e}(ht);var pt=function(){function t(t,e,n,r,i,o,a,u,l){var c=this;this._keyMapService=t,this._service=e,this._calendar=n,this.i18n=r,this._cd=o,this._elementRef=a,this._ngbDateAdapter=u,this._ngZone=l,this._destroyed$=new b.a,this.navigate=new s.m,this.select=new s.m,this.onChange=function(t){},this.onTouched=function(){},["dayTemplate","dayTemplateData","displayMonths","firstDayOfWeek","footerTemplate","markDisabled","minDate","maxDate","navigation","outsideDays","showWeekdays","showWeekNumbers","startDate"].forEach(function(t){return c[t]=i[t]}),e.select$.pipe(T(this._destroyed$)).subscribe(function(t){c.select.emit(t)}),e.model$.pipe(T(this._destroyed$)).subscribe(function(t){var e=t.firstDate,n=c.model?c.model.firstDate:null;var r=!1;if(!e.equals(n)&&(c.navigate.emit({current:n?{year:n.year,month:n.month}:null,next:{year:e.year,month:e.month},preventDefault:function t(){return r=!0}}),r&&null!==n))return void c._service.open(n);var i=t.selectedDate,a=t.focusDate,s=c.model?c.model.focusDate:null;c.model=t,tt(i,c._controlValue)&&(c._controlValue=i,c.onTouched(),c.onChange(c._ngbDateAdapter.toModel(i))),tt(a,s)&&s&&t.focusVisible&&c.focus(),o.markForCheck()})}var e=t.prototype;e.focus=function t(){var e=this;this._ngZone.onStable.asObservable().pipe(Object(I.a)(1)).subscribe(function(){var t=e._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex="0"]');t&&t.focus()})};e.navigateTo=function t(e){this._service.open(K.from(e?e.day?e:Object.assign({},e,{day:1}):null))};e.ngAfterViewInit=function t(){var e=this;this._ngZone.runOutsideAngular(function(){var t=E(e._monthsEl.nativeElement,"focusin"),n=E(e._monthsEl.nativeElement,"focusout");Object(k.a)(t,n).pipe(Object(N.a)(function(t){var e=t.target,n=t.relatedTarget;return!(U(e,"ngb-dp-day")&&U(n,"ngb-dp-day"))}),T(e._destroyed$)).subscribe(function(t){var n=t.type;return e._ngZone.run(function(){return e._service.focusVisible="focusin"===n})})})};e.ngOnDestroy=function t(){this._destroyed$.next()};e.ngOnInit=function t(){var e=this;void 0===this.model&&(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays"].forEach(function(t){return e._service[t]=e[t]}),this.navigateTo(this.startDate))};e.ngOnChanges=function t(e){var n=this;if(["dayTemplateData","displayMonths","markDisabled","firstDayOfWeek","navigation","minDate","maxDate","outsideDays"].filter(function(t){return t in e}).forEach(function(t){return n._service[t]=n[t]}),"startDate"in e){var r=e.startDate,i=r.currentValue,o=r.previousValue;et(o,i)&&this.navigateTo(this.startDate)}};e.onDateSelect=function t(e){this._service.focus(e),this._service.select(e,{emitEvent:!0})};e.onKeyDown=function t(e){this._keyMapService.processKey(e)};e.onNavigateDateSelect=function t(e){this._service.open(e)};e.onNavigateEvent=function t(e){switch(e){case lt.PREV:this._service.open(this._calendar.getPrev(this.model.firstDate,"m",1));break;case lt.NEXT:this._service.open(this._calendar.getNext(this.model.firstDate,"m",1))}};e.registerOnChange=function t(e){this.onChange=e};e.registerOnTouched=function t(e){this.onTouched=e};e.setDisabledState=function t(e){this._service.disabled=e};e.writeValue=function t(e){this._controlValue=K.from(this._ngbDateAdapter.fromModel(e)),this._service.select(this._controlValue)};return t}();var vt=function(){function t(t){this.i18n=t,this.select=new s.m}var e=t.prototype;e.doSelect=function t(e){e.context.disabled||e.hidden||this.select.emit(e.date)};return t}();var mt=function t(e){this.i18n=e,this.navigation=lt,this.months=[],this.navigate=new s.m,this.select=new s.m};"undefined"!=typeof navigator&&navigator.userAgent&&navigator;var gt=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function yt(t){var e=Array.from(t.querySelectorAll(gt)).filter(function(t){return-1!==t.tabIndex});return[e[0],e[e.length-1]]}var bt=function t(e,n,r){if(r===void 0){r=!1}var i=E(e,"focusin").pipe(T(n),Object(S.a)(function(t){return t.target}));E(e,"keydown").pipe(T(n),Object(N.a)(function(t){return t.which===st.Tab}),R(i)).subscribe(function(t){var n=t[0],r=t[1];var i=yt(e),o=i[0],a=i[1];r!==o&&r!==e||!n.shiftKey||(a.focus(),n.preventDefault()),r!==a||n.shiftKey||(o.focus(),n.preventDefault())}),r&&E(e,"click").pipe(T(n),R(i),Object(S.a)(function(t){return t[1]})).subscribe(function(t){return t.focus()})};var _t=function(){function t(t){this.i18n=t}var e=t.prototype;e.isMuted=function t(){return!this.selected&&(this.date.month!==this.currentMonth||this.disabled)};return t}();var wt=function(){function t(t){this.i18n=t,this.select=new s.m}var e=t.prototype;e.changeMonth=function t(e){this.select.emit(new K(this.date.year,M(e),1))};e.changeYear=function t(e){this.select.emit(new K(M(e),this.date.month,1))};return t}();var Ct=function t(){};var St=function t(){};var Et=function(){var t=function t(){this.backdrop=!0,this.keyboard=!0};return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t},token:t,providedIn:"root"}),t}();var kt=function t(e,n,r){this.nodes=e,this.viewRef=n,this.componentRef=r};var xt=function t(){};var Ot=function(){var t=function(){function t(t){this._document=t}var e=t.prototype;e.compensate=function t(){return this._isPresent()?this._adjustBody(this._getWidth()):xt};e._adjustBody=function t(e){var n=this._document.body,r=n.style.paddingRight,i=parseFloat(window.getComputedStyle(n)["padding-right"]);return n.style["padding-right"]=i+e+"px",function(){return n.style["padding-right"]=r}};e._isPresent=function t(){var e=this._document.body.getBoundingClientRect();return e.left+e.right<window.innerWidth};e._getWidth=function t(){var e=this._document.createElement("div");e.className="modal-scrollbar-measure";var n=this._document.body;n.appendChild(e);var r=e.getBoundingClientRect().width-e.clientWidth;return n.removeChild(e),r};return t}();return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t(Object(s.Qb)(g.c))},token:t,providedIn:"root"}),t}();var Tt=function t(){};var Dt=function(){function t(){}var e=t.prototype;e.close=function t(e){};e.dismiss=function t(e){};return t}();var At=function(){function t(t,e,n,r){var i=this;this._windowCmptRef=t,this._contentRef=e,this._backdropCmptRef=n,this._beforeDismiss=r,t.instance.dismissEvent.subscribe(function(t){i.dismiss(t)}),this.result=new Promise(function(t,e){i._resolve=t,i._reject=e}),this.result.then(null,function(){})}var e=t.prototype;e.close=function t(e){this._windowCmptRef&&(this._resolve(e),this._removeModalElements())};e._dismiss=function t(e){this._reject(e),this._removeModalElements()};e.dismiss=function t(e){var n=this;if(this._windowCmptRef)if(this._beforeDismiss){var t=this._beforeDismiss();t&&t.then?t.then(function(t){!1!==t&&n._dismiss(e)},function(){}):!1!==t&&this._dismiss(e)}else this._dismiss(e)};e._removeModalElements=function t(){var e=this._windowCmptRef.location.nativeElement;if(e.parentNode.removeChild(e),this._windowCmptRef.destroy(),this._backdropCmptRef){var n=this._backdropCmptRef.location.nativeElement;n.parentNode.removeChild(n),this._backdropCmptRef.destroy()}this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._backdropCmptRef=null,this._contentRef=null};o(t,[{key:"componentInstance",get:function t(){if(this._contentRef.componentRef)return this._contentRef.componentRef.instance}}]);return t}();var Nt=function(){var t={BACKDROP_CLICK:0,ESC:1};return t[t.BACKDROP_CLICK]="BACKDROP_CLICK",t[t.ESC]="ESC",t}();var It=function(){function t(t,e){this._document=t,this._elRef=e,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new s.m}var e=t.prototype;e.backdropClick=function t(e){!0===this.backdrop&&this._elRef.nativeElement===e.target&&this.dismiss(Nt.BACKDROP_CLICK)};e.escKey=function t(e){this.keyboard&&!e.defaultPrevented&&this.dismiss(Nt.ESC)};e.dismiss=function t(e){this.dismissEvent.emit(e)};e.ngOnInit=function t(){this._elWithFocus=this._document.activeElement};e.ngAfterViewInit=function t(){if(!this._elRef.nativeElement.contains(document.activeElement)){var e=this._elRef.nativeElement.querySelector("[ngbAutofocus]"),n=yt(this._elRef.nativeElement)[0];(e||n||this._elRef.nativeElement).focus()}};e.ngOnDestroy=function t(){var e=this._document.body,n=this._elWithFocus;var r;(r=n&&n.focus&&e.contains(n)?n:e).focus(),this._elWithFocus=null};return t}();var Rt=function(){var t=function(){function t(t,e,n,r,i){var o=this;this._applicationRef=t,this._injector=e,this._document=n,this._scrollBar=r,this._rendererFactory=i,this._activeWindowCmptHasChanged=new b.a,this._ariaHiddenValues=new Map,this._backdropAttributes=["backdropClass"],this._modalRefs=[],this._windowAttributes=["ariaLabelledBy","backdrop","centered","keyboard","scrollable","size","windowClass"],this._windowCmpts=[],this._activeWindowCmptHasChanged.subscribe(function(){if(o._windowCmpts.length){var t=o._windowCmpts[o._windowCmpts.length-1];bt(t.location.nativeElement,o._activeWindowCmptHasChanged),o._revertAriaHidden(),o._setAriaHidden(t.location.nativeElement)}})}var e=t.prototype;e.open=function t(e,n,r,i){var o=this;var a=L(i.container)?this._document.querySelector(i.container):this._document.body,s=this._rendererFactory.createRenderer(null,null),u=this._scrollBar.compensate(),l=function t(){o._modalRefs.length||(s.removeClass(o._document.body,"modal-open"),o._revertAriaHidden())};if(!a)throw new Error('The specified modal container "'+(i.container||"body")+'" was not found in the DOM.');var c=new Dt,f=this._getContentRef(e,i.injector||n,r,c,i);var h=!1!==i.backdrop?this._attachBackdrop(e,a):null,d=this._attachWindowComponent(e,a,f),p=new At(d,f,h,i.beforeDismiss);return this._registerModalRef(p),this._registerWindowCmpt(d),p.result.then(u,u),p.result.then(l,l),c.close=function(t){p.close(t)},c.dismiss=function(t){p.dismiss(t)},this._applyWindowOptions(d.instance,i),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),h&&h.instance&&this._applyBackdropOptions(h.instance,i),p};e.dismissAll=function t(e){this._modalRefs.forEach(function(t){return t.dismiss(e)})};e.hasOpenModals=function t(){return this._modalRefs.length>0};e._attachBackdrop=function t(e,n){var r=e.resolveComponentFactory(Tt).create(this._injector);return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r};e._attachWindowComponent=function t(e,n,r){var i=e.resolveComponentFactory(It).create(this._injector,r.nodes);return this._applicationRef.attachView(i.hostView),n.appendChild(i.location.nativeElement),i};e._applyWindowOptions=function t(e,n){this._windowAttributes.forEach(function(t){L(n[t])&&(e[t]=n[t])})};e._applyBackdropOptions=function t(e,n){this._backdropAttributes.forEach(function(t){L(n[t])&&(e[t]=n[t])})};e._getContentRef=function t(e,n,r,i,o){return r?r instanceof s.L?this._createFromTemplateRef(r,i):"string"==typeof r?this._createFromString(r):this._createFromComponent(e,n,r,i,o):new kt([])};e._createFromTemplateRef=function t(e,n){var r=e.createEmbeddedView({$implicit:n,close:function t(e){n.close(e)},dismiss:function t(e){n.dismiss(e)}});return this._applicationRef.attachView(r),new kt([r.rootNodes],r)};e._createFromString=function t(e){var n=this._document.createTextNode(""+e);return new kt([[n]])};e._createFromComponent=function t(e,n,r,i,o){var a=e.resolveComponentFactory(r),u=s.q.create({providers:[{provide:Dt,useValue:i}],parent:n}),l=a.create(u),c=l.location.nativeElement;return o.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new kt([[c]],l.hostView,l)};e._setAriaHidden=function t(e){var n=this;var r=e.parentElement;r&&e!==this._document.body&&(Array.from(r.children).forEach(function(t){t!==e&&"SCRIPT"!==t.nodeName&&(n._ariaHiddenValues.set(t,t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))};e._revertAriaHidden=function t(){this._ariaHiddenValues.forEach(function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()};e._registerModalRef=function t(e){var n=this;var r=function t(){var r=n._modalRefs.indexOf(e);r>-1&&n._modalRefs.splice(r,1)};this._modalRefs.push(e),e.result.then(r,r)};e._registerWindowCmpt=function t(e){var n=this;this._windowCmpts.push(e),this._activeWindowCmptHasChanged.next(),e.onDestroy(function(){var t=n._windowCmpts.indexOf(e);t>-1&&(n._windowCmpts.splice(t,1),n._activeWindowCmptHasChanged.next())})};return t}();return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t(Object(s.Qb)(s.g),Object(s.Qb)(s.n),Object(s.Qb)(g.c),Object(s.Qb)(Ot),Object(s.Qb)(s.E))},token:t,providedIn:"root"}),t}(),Pt=function(){var t=function(){function t(t,e,n,r){this._moduleCFR=t,this._injector=e,this._modalStack=n,this._config=r}var e=t.prototype;e.open=function t(e,n){if(n===void 0){n={}}var r=Object.assign({},this._config,n);return this._modalStack.open(this._moduleCFR,this._injector,e,r)};e.dismissAll=function t(e){this._modalStack.dismissAll(e)};e.hasOpenModals=function t(){return this._modalStack.hasOpenModals()};return t}();return t.ngInjectableDef=Object(s.Pb)({factory:function e(){return new t(Object(s.Qb)(s.j),Object(s.Qb)(s.n),Object(s.Qb)(Rt),Object(s.Qb)(Et))},token:t,providedIn:"root"}),t}();var jt=function t(){};var Mt=function t(){};var Vt=function(){function t(){}var e=t.prototype;e.isTitleTemplate=function t(){return this.title instanceof s.L};return t}();var Ft=function t(){};var Lt=function t(){};var Ut=function t(){};var Ht=function t(){};var zt=function t(){};var Bt=function t(){};var qt=function t(){};var Wt=function t(){};var Gt=function(){function t(){this.highlightClass="ngb-highlight"}var e=t.prototype;e.ngOnChanges=function t(e){var n=V(this.result),r=(Array.isArray(this.term)?this.term:[this.term]).map(function(t){return function(e){return V(t).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}()}).filter(function(t){return t});this.parts=r.length?n.split(new RegExp("("+r.join("|")+")","gmi")):[n]};return t}();var Qt=function(){function t(){this.activeIdx=0,this.focusFirst=!0,this.formatter=V,this.selectEvent=new s.m,this.activeChangeEvent=new s.m}var e=t.prototype;e.hasActive=function t(){return this.activeIdx>-1&&this.activeIdx<this.results.length};e.getActive=function t(){return this.results[this.activeIdx]};e.markActive=function t(e){this.activeIdx=e,this._activeChanged()};e.next=function t(){this.activeIdx===this.results.length-1?this.activeIdx=this.focusFirst?(this.activeIdx+1)%this.results.length:-1:this.activeIdx++,this._activeChanged()};e.prev=function t(){this.activeIdx<0?this.activeIdx=this.results.length-1:0===this.activeIdx?this.activeIdx=this.focusFirst?this.results.length-1:-1:this.activeIdx--,this._activeChanged()};e.resetActive=function t(){this.activeIdx=this.focusFirst?0:-1,this._activeChanged()};e.select=function t(e){this.selectEvent.emit(e)};e.ngOnInit=function t(){this.resetActive()};e._activeChanged=function t(){this.activeChangeEvent.emit(this.activeIdx>=0?this.id+"-"+this.activeIdx:void 0)};return t}();var Kt=function t(){};var Zt=function t(){};var $t=s.qb({encapsulation:2,styles:["ngb-alert{display:block}"],data:{}});function Yt(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,2,"button",[["aria-label","Close"],["class","close"],["type","button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closeHandler()&&r),r},null,null)),(t()(),s.sb(1,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(t()(),s.Kb(-1,null,["\xd7"]))],null,null)}function Jt(t){return s.Lb(2,[s.Db(null,0),(t()(),s.hb(16777216,null,null,1,null,Yt)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null)],function(t,e){t(e,2,0,e.component.dismissible)},null)}function Xt(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-alert",[["class","alert"],["role","alert"]],[[2,"alert-dismissible",null]],null,null,Jt,$t)),s.rb(1,638976,null,0,B,[z,s.D,s.k],null,null)],function(t,e){t(e,1,0)},function(t,e){t(e,0,0,s.Eb(e,1).dismissible)})}var te=s.ob("ngb-alert",B,Xt,{dismissible:"dismissible",type:"type"},{close:"close"},["*"]),ee=s.qb({encapsulation:2,styles:["ngb-datepicker-month-view{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:-ms-flexbox;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default}"],data:{}});function ne(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,0,"div",[["class","ngb-dp-weekday ngb-dp-showweek"]],null,null,null,null,null))],null,null)}function re(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"div",[["class","ngb-dp-weekday small"]],null,null,null,null,null)),(t()(),s.Kb(1,null,[" "," "]))],null,function(t,e){t(e,1,0,e.component.i18n.getWeekdayShortName(e.context.$implicit))})}function ie(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,4,"div",[["class","ngb-dp-week ngb-dp-weekdays bg-light"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,ne)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(16777216,null,null,1,null,re)),s.rb(4,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.showWeekNumbers),t(e,4,0,n.month.weekdays)},null)}function oe(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"div",[["class","ngb-dp-week-number small text-muted"]],null,null,null,null,null)),(t()(),s.Kb(1,null,["",""]))],null,function(t,e){t(e,1,0,e.component.i18n.getWeekNumerals(e.parent.parent.context.$implicit.number))})}function ae(t){return s.Lb(0,[(t()(),s.hb(0,null,null,0))],null,null)}function se(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,ae)),s.rb(1,540672,null,0,g.o,[s.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),(t()(),s.hb(0,null,null,0))],function(t,e){t(e,1,0,e.parent.context.$implicit.context,e.component.dayTemplate)},null)}function ue(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,2,"div",[["class","ngb-dp-day"],["role","gridcell"]],[[2,"disabled",null],[8,"tabIndex",0],[2,"hidden",null],[2,"ngb-dp-today",null],[1,"aria-label",0]],[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.doSelect(t.context.$implicit)&&r),r},null,null)),(t()(),s.hb(16777216,null,null,1,null,se)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null)],function(t,e){t(e,2,0,!e.context.$implicit.hidden)},function(t,e){t(e,0,0,e.context.$implicit.context.disabled,e.context.$implicit.tabindex,e.context.$implicit.hidden,e.context.$implicit.context.today,e.context.$implicit.ariaLabel)})}function le(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,4,"div",[["class","ngb-dp-week"],["role","row"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,oe)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(16777216,null,null,1,null,ue)),s.rb(4,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){t(e,2,0,e.component.showWeekNumbers),t(e,4,0,e.parent.context.$implicit.days)},null)}function ce(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,le)),s.rb(1,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(0,null,null,0))],function(t,e){t(e,1,0,!e.context.$implicit.collapsed)},null)}function fe(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,ie)),s.rb(1,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(16777216,null,null,1,null,ce)),s.rb(3,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){var n=e.component;t(e,1,0,n.showWeekdays),t(e,3,0,n.month.weeks)},null)}var he=s.qb({encapsulation:2,styles:["[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:0 0}[ngbDatepickerDayView].outside{opacity:.5}"],data:{}});function de(t){return s.Lb(2,[(t()(),s.Kb(0,null,["",""]))],null,function(t,e){var n=e.component;t(e,0,0,n.i18n.getDayNumerals(n.date))})}var pe=s.qb({encapsulation:2,styles:["ngb-datepicker-navigation{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.right .ngb-dp-navigation-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{-ms-flex-pack:end;justify-content:flex-end}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:-ms-flexbox;display:flex;-ms-flex:1 1 9rem;flex:1 1 9rem}"],data:{}});function ve(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-datepicker-navigation-select",[["class","ngb-dp-navigation-select"]],null,[[null,"select"]],function(t,e,n){var r=!0;return"select"===e&&(r=!1!==t.component.select.emit(n)&&r),r},Ee,we)),s.rb(1,49152,null,0,wt,[it],{date:[0,"date"],disabled:[1,"disabled"],months:[2,"months"],years:[3,"years"]},{select:"select"})],function(t,e){var n=e.component;t(e,1,0,n.date,n.disabled,n.selectBoxes.months,n.selectBoxes.years)},null)}function me(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,0,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null))],null,null)}function ge(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,0,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null))],null,null)}function ye(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,me)),s.rb(1,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.sb(2,0,null,null,1,"div",[["class","ngb-dp-month-name"]],null,null,null,null,null)),(t()(),s.Kb(3,null,[" "," "," "])),(t()(),s.hb(16777216,null,null,1,null,ge)),s.rb(5,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(0,null,null,0))],function(t,e){var n=e.component;t(e,1,0,e.context.index>0),t(e,5,0,e.context.index!==n.months.length-1)},function(t,e){var n=e.component;t(e,3,0,n.i18n.getMonthFullName(e.context.$implicit.number,e.context.$implicit.year),n.i18n.getYearNumerals(e.context.$implicit.year))})}function be(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,ye)),s.rb(1,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null),(t()(),s.hb(0,null,null,0))],function(t,e){t(e,1,0,e.component.months)},null)}function _e(t){return s.Lb(2,[(t()(),s.sb(0,0,null,null,2,"div",[["class","ngb-dp-arrow"]],null,null,null,null,null)),(t()(),s.sb(1,0,null,null,1,"button",[["aria-label","Previous month"],["class","btn btn-link ngb-dp-arrow-btn"],["title","Previous month"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"click"===e&&(r=!1!==i.navigate.emit(i.navigation.PREV)&&r),r},null,null)),(t()(),s.sb(2,0,null,null,0,"span",[["class","ngb-dp-navigation-chevron"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,ve)),s.rb(4,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.hb(16777216,null,null,1,null,be)),s.rb(6,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.sb(7,0,null,null,2,"div",[["class","ngb-dp-arrow right"]],null,null,null,null,null)),(t()(),s.sb(8,0,null,null,1,"button",[["aria-label","Next month"],["class","btn btn-link ngb-dp-arrow-btn"],["title","Next month"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"click"===e&&(r=!1!==i.navigate.emit(i.navigation.NEXT)&&r),r},null,null)),(t()(),s.sb(9,0,null,null,0,"span",[["class","ngb-dp-navigation-chevron"]],null,null,null,null,null))],function(t,e){var n=e.component;t(e,4,0,n.showSelect),t(e,6,0,!n.showSelect)},function(t,e){var n=e.component;t(e,1,0,n.prevDisabled),t(e,8,0,n.nextDisabled)})}var we=s.qb({encapsulation:2,styles:["ngb-datepicker-navigation-select>.custom-select{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}"],data:{}});function Ce(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,3,"option",[],[[1,"aria-label",0]],null,null,null,null)),s.rb(1,147456,null,0,y.i,[s.k,s.D,[8,null]],{value:[0,"value"]},null),s.rb(2,147456,null,0,y.n,[s.k,s.D,[8,null]],{value:[0,"value"]},null),(t()(),s.Kb(3,null,["",""]))],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){var n=e.component;t(e,0,0,n.i18n.getMonthFullName(e.context.$implicit,null==n.date?null:n.date.year)),t(e,3,0,n.i18n.getMonthShortName(e.context.$implicit,null==n.date?null:n.date.year))})}function Se(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,3,"option",[],null,null,null,null,null)),s.rb(1,147456,null,0,y.i,[s.k,s.D,[8,null]],{value:[0,"value"]},null),s.rb(2,147456,null,0,y.n,[s.k,s.D,[8,null]],{value:[0,"value"]},null),(t()(),s.Kb(3,null,["",""]))],function(t,e){t(e,1,0,e.context.$implicit),t(e,2,0,e.context.$implicit)},function(t,e){t(e,3,0,e.component.i18n.getYearNumerals(e.context.$implicit))})}function Ee(t){return s.Lb(2,[(t()(),s.sb(0,0,null,null,2,"select",[["aria-label","Select month"],["class","custom-select"],["title","Select month"]],[[8,"disabled",0],[8,"value",0]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.changeMonth(n.target.value)&&r),r},null,null)),(t()(),s.hb(16777216,null,null,1,null,Ce)),s.rb(2,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null),(t()(),s.sb(3,0,null,null,2,"select",[["aria-label","Select year"],["class","custom-select"],["title","Select year"]],[[8,"disabled",0],[8,"value",0]],[[null,"change"]],function(t,e,n){var r=!0;return"change"===e&&(r=!1!==t.component.changeYear(n.target.value)&&r),r},null,null)),(t()(),s.hb(16777216,null,null,1,null,Se)),s.rb(5,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){var n=e.component;t(e,2,0,n.months),t(e,5,0,n.years)},function(t,e){var n=e.component;t(e,0,0,n.disabled,null==n.date?null:n.date.month),t(e,3,0,n.disabled,null==n.date?null:n.date.year)})}var ke=s.qb({encapsulation:2,styles:["ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month-view{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa}.ngb-dp-months{display:-ms-flexbox;display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}"],data:{}});function xe(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"div",[["class","btn-light"],["ngbDatepickerDayView",""]],[[2,"bg-primary",null],[2,"text-white",null],[2,"text-muted",null],[2,"outside",null],[2,"active",null]],null,null,de,he)),s.rb(1,49152,null,0,_t,[it],{currentMonth:[0,"currentMonth"],date:[1,"date"],disabled:[2,"disabled"],focused:[3,"focused"],selected:[4,"selected"]},null)],function(t,e){t(e,1,0,e.context.currentMonth,e.context.date,e.context.disabled,e.context.focused,e.context.selected)},function(t,e){t(e,0,0,s.Eb(e,1).selected,s.Eb(e,1).selected,s.Eb(e,1).isMuted(),s.Eb(e,1).isMuted(),s.Eb(e,1).focused)})}function Oe(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-datepicker-navigation",[],null,[[null,"navigate"],[null,"select"]],function(t,e,n){var r=!0,i=t.component;return"navigate"===e&&(r=!1!==i.onNavigateEvent(n)&&r),"select"===e&&(r=!1!==i.onNavigateDateSelect(n)&&r),r},_e,pe)),s.rb(1,49152,null,0,mt,[it],{date:[0,"date"],disabled:[1,"disabled"],months:[2,"months"],showSelect:[3,"showSelect"],prevDisabled:[4,"prevDisabled"],nextDisabled:[5,"nextDisabled"],selectBoxes:[6,"selectBoxes"]},{navigate:"navigate",select:"select"})],function(t,e){var n=e.component;t(e,1,0,n.model.firstDate,n.model.disabled,n.model.months,"select"===n.model.navigation,n.model.prevDisabled,n.model.nextDisabled,n.model.selectBoxes)},null)}function Te(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"div",[["class","ngb-dp-month-name"]],null,null,null,null,null)),(t()(),s.Kb(1,null,[" "," "," "]))],null,function(t,e){var n=e.component;t(e,1,0,n.i18n.getMonthFullName(e.parent.context.$implicit.number,e.parent.context.$implicit.year),n.i18n.getYearNumerals(e.parent.context.$implicit.year))})}function De(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,4,"div",[["class","ngb-dp-month"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,Te)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.sb(3,0,null,null,1,"ngb-datepicker-month-view",[["role","grid"]],null,[[null,"select"]],function(t,e,n){var r=!0;return"select"===e&&(r=!1!==t.component.onDateSelect(n)&&r),r},fe,ee)),s.rb(4,49152,null,0,vt,[it],{dayTemplate:[0,"dayTemplate"],month:[1,"month"],showWeekdays:[2,"showWeekdays"],showWeekNumbers:[3,"showWeekNumbers"]},{select:"select"})],function(t,e){var n=e.component;t(e,2,0,"none"===n.navigation||n.displayMonths>1&&"select"===n.navigation),t(e,4,0,n.dayTemplate||s.Eb(e.parent,1),e.context.$implicit,n.showWeekdays,n.showWeekNumbers)},null)}function Ae(t){return s.Lb(0,[(t()(),s.hb(0,null,null,0))],null,null)}function Ne(t){return s.Lb(2,[s.Ib(402653184,1,{_monthsEl:0}),(t()(),s.hb(0,[["dt",2]],null,0,null,xe)),(t()(),s.sb(2,0,null,null,2,"div",[["class","ngb-dp-header"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,Oe)),s.rb(4,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.sb(5,0,[[1,0],["months",1]],null,2,"div",[["class","ngb-dp-months"]],null,[[null,"keydown"]],function(t,e,n){var r=!0;return"keydown"===e&&(r=!1!==t.component.onKeyDown(n)&&r),r},null,null)),(t()(),s.hb(16777216,null,null,1,null,De)),s.rb(7,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null),(t()(),s.hb(16777216,null,null,1,null,Ae)),s.rb(9,540672,null,0,g.o,[s.O],{ngTemplateOutlet:[0,"ngTemplateOutlet"]},null)],function(t,e){var n=e.component;t(e,4,0,"none"!==n.navigation),t(e,7,0,n.model.months),t(e,9,0,n.footerTemplate)},null)}function Ie(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,4,"ngb-datepicker",[],null,null,null,Ne,ke)),s.Hb(5120,null,y.e,function(t){return[t]},[pt]),s.Hb(512,null,at,at,[J,it]),s.Hb(512,null,ut,ut,[at,J]),s.rb(4,4964352,null,0,pt,[ut,at,J,it,ct,s.h,s.k,ht,s.y],null,null)],function(t,e){t(e,4,0)},null)}var Re=s.ob("ngb-datepicker",pt,Ie,{dayTemplate:"dayTemplate",dayTemplateData:"dayTemplateData",displayMonths:"displayMonths",firstDayOfWeek:"firstDayOfWeek",footerTemplate:"footerTemplate",markDisabled:"markDisabled",maxDate:"maxDate",minDate:"minDate",navigation:"navigation",outsideDays:"outsideDays",showWeekdays:"showWeekdays",showWeekNumbers:"showWeekNumbers",startDate:"startDate"},{navigate:"navigate",select:"select"},[]),Pe=s.qb({encapsulation:2,styles:["ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}"],data:{}});function je(t){return s.Lb(0,[(t()(),s.Kb(0,null,["",""]))],null,function(t,e){t(e,0,0,e.component.title)})}function Me(t){return s.Lb(0,[(t()(),s.hb(0,null,null,0))],null,null)}function Ve(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,3,"h3",[["class","popover-header"]],null,null,null,null,null)),(t()(),s.hb(0,[["simpleTitle",2]],null,0,null,je)),(t()(),s.hb(16777216,null,null,1,null,Me)),s.rb(3,540672,null,0,g.o,[s.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null)],function(t,e){var n=e.component;t(e,3,0,n.context,n.isTitleTemplate()?n.title:s.Eb(e,1))},null)}function Fe(t){return s.Lb(2,[(t()(),s.sb(0,0,null,null,0,"div",[["class","arrow"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,Ve)),s.rb(2,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"]},null),(t()(),s.sb(3,0,null,null,1,"div",[["class","popover-body"]],null,null,null,null,null)),s.Db(null,0)],function(t,e){t(e,2,0,null!=e.component.title)},null)}function Le(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-popover-window",[["role","tooltip"]],[[8,"className",0],[8,"id",0]],null,null,Fe,Pe)),s.rb(1,49152,null,0,Vt,[],null,null)],null,function(t,e){t(e,0,0,"popover"+(s.Eb(e,1).popoverClass?" "+s.Eb(e,1).popoverClass:""),s.Eb(e,1).id)})}var Ue=s.ob("ngb-popover-window",Vt,Le,{title:"title",id:"id",popoverClass:"popoverClass",context:"context"},{},["*"]),He=s.qb({encapsulation:2,styles:["ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}"],data:{}});function ze(t){return s.Lb(2,[(t()(),s.sb(0,0,null,null,0,"div",[["class","arrow"]],null,null,null,null,null)),(t()(),s.sb(1,0,null,null,1,"div",[["class","tooltip-inner"]],null,null,null,null,null)),s.Db(null,0)],null,null)}function Be(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-tooltip-window",[["role","tooltip"]],[[8,"className",0],[8,"id",0]],null,null,ze,He)),s.rb(1,49152,null,0,qt,[],null,null)],null,function(t,e){t(e,0,0,"tooltip show"+(s.Eb(e,1).tooltipClass?" "+s.Eb(e,1).tooltipClass:""),s.Eb(e,1).id)})}var qe=s.ob("ngb-tooltip-window",qt,Be,{id:"id",tooltipClass:"tooltipClass"},{},["*"]),We=s.qb({encapsulation:2,styles:[],data:{}});function Ge(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-highlight",[],null,null,null,nn,Je)),s.rb(1,573440,null,0,Gt,[],{result:[0,"result"],term:[1,"term"]},null)],function(t,e){var n=e.context.formatter(e.context.result);t(e,1,0,n,e.context.term)},null)}function Qe(t){return s.Lb(0,[(t()(),s.hb(0,null,null,0))],null,null)}function Ke(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,3,"button",[["class","dropdown-item"],["role","option"],["type","button"]],[[8,"id",0],[2,"active",null]],[[null,"mouseenter"],[null,"click"]],function(t,e,n){var r=!0,i=t.component;return"mouseenter"===e&&(r=!1!==i.markActive(t.context.index)&&r),"click"===e&&(r=!1!==i.select(t.context.$implicit)&&r),r},null,null)),(t()(),s.hb(16777216,null,null,2,null,Qe)),s.rb(2,540672,null,0,g.o,[s.O],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),s.Gb(3,{result:0,term:1,formatter:2})],function(t,e){var n=e.component,r=t(e,3,0,e.context.$implicit,n.term,n.formatter);t(e,2,0,r,n.resultTemplate||s.Eb(e.parent,0))},function(t,e){var n=e.component;t(e,0,0,n.id+"-"+e.context.index,e.context.index===n.activeIdx)})}function Ze(t){return s.Lb(0,[(t()(),s.hb(0,[["rt",2]],null,0,null,Ge)),(t()(),s.hb(16777216,null,null,1,null,Ke)),s.rb(2,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){t(e,2,0,e.component.results)},null)}function $e(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-typeahead-window",[["class","dropdown-menu show"],["role","listbox"]],[[8,"id",0]],[[null,"mousedown"]],function(t,e,n){var r=!0;return"mousedown"===e&&(r=!1!==n.preventDefault()&&r),r},Ze,We)),s.rb(1,114688,null,0,Qt,[],null,null)],function(t,e){t(e,1,0)},function(t,e){t(e,0,0,s.Eb(e,1).id)})}var Ye=s.ob("ngb-typeahead-window",Qt,$e,{id:"id",focusFirst:"focusFirst",results:"results",term:"term",formatter:"formatter",resultTemplate:"resultTemplate"},{selectEvent:"select",activeChangeEvent:"activeChange"},[]),Je=s.qb({encapsulation:2,styles:[".ngb-highlight{font-weight:700}"],data:{}});function Xe(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"span",[],[[8,"className",0]],null,null,null,null)),(t()(),s.Kb(1,null,["",""]))],null,function(t,e){t(e,0,0,e.component.highlightClass),t(e,1,0,e.parent.context.$implicit)})}function tn(t){return s.Lb(0,[(t()(),s.Kb(0,null,["",""]))],null,function(t,e){t(e,0,0,e.parent.context.$implicit)})}function en(t){return s.Lb(0,[(t()(),s.hb(16777216,null,null,1,null,Xe)),s.rb(1,16384,null,0,g.k,[s.O,s.L],{ngIf:[0,"ngIf"],ngIfElse:[1,"ngIfElse"]},null),(t()(),s.hb(0,[["even",2]],null,0,null,tn))],function(t,e){t(e,1,0,e.context.odd,s.Eb(e,2))},null)}function nn(t){return s.Lb(2,[(t()(),s.hb(16777216,null,null,1,null,en)),s.rb(1,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){t(e,1,0,e.component.parts)},null)}var rn=s.qb({encapsulation:2,styles:[],data:{}});function on(t){return s.Lb(0,[],null,null)}function an(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-modal-backdrop",[["style","z-index: 1050"]],[[8,"className",0]],null,null,on,rn)),s.rb(1,49152,null,0,Tt,[],null,null)],null,function(t,e){t(e,0,0,"modal-backdrop fade show"+(s.Eb(e,1).backdropClass?" "+s.Eb(e,1).backdropClass:""))})}var sn=s.ob("ngb-modal-backdrop",Tt,an,{backdropClass:"backdropClass"},{},[]),un=s.qb({encapsulation:2,styles:["ngb-modal-window .component-host-scrollable{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}"],data:{}});function ln(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,2,"div",[["role","document"]],[[8,"className",0]],null,null,null,null)),(t()(),s.sb(1,0,null,null,1,"div",[["class","modal-content"]],null,null,null,null,null)),s.Db(null,0)],null,function(t,e){var n=e.component;t(e,0,0,"modal-dialog"+(n.size?" modal-"+n.size:"")+(n.centered?" modal-dialog-centered":"")+(n.scrollable?" modal-dialog-scrollable":""))})}function cn(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"ngb-modal-window",[["role","dialog"],["tabindex","-1"]],[[8,"className",0],[1,"aria-modal",0],[1,"aria-labelledby",0]],[[null,"keyup.esc"],[null,"click"]],function(t,e,n){var r=!0;return"keyup.esc"===e&&(r=!1!==s.Eb(t,1).escKey(n)&&r),"click"===e&&(r=!1!==s.Eb(t,1).backdropClick(n)&&r),r},ln,un)),s.rb(1,4440064,null,0,It,[g.c,s.k],null,null)],function(t,e){t(e,1,0)},function(t,e){t(e,0,0,"modal fade show d-block"+(s.Eb(e,1).windowClass?" "+s.Eb(e,1).windowClass:""),!0,s.Eb(e,1).ariaLabelledBy)})}var fn=s.ob("ngb-modal-window",It,cn,{ariaLabelledBy:"ariaLabelledBy",backdrop:"backdrop",centered:"centered",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass"},{dismissEvent:"dismiss"},["*"]);var hn=function(){function t(t){this.notificationService=t}var e=t.prototype;e.ngOnInit=function t(){};e.closeTopNotification=function t(){this.notificationService.popMessage()};return t}();var dn=i("OC8m"),pn=s.qb({encapsulation:0,styles:[[".notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]{position:fixed;top:100px;right:-276px;width:300px;height:100px;padding:10px;color:#fff;border-left:20px solid #1a1358f0;background-color:rgba(0,0,0,.9);border-radius:6px;box-shadow:0 0 10px grey;-webkit-animation:3s notificationAnimation;animation:3s notificationAnimation}@-webkit-keyframes notificationAnimation{0%{right:-300px}20%,80%{right:10px}90%{right:30px}100%{right:-280px}}@keyframes notificationAnimation{0%{right:-300px}20%,80%{right:10px}90%{right:30px}100%{right:-280px}}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]:hover{right:0}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]   .close-button[_ngcontent-%COMP%]{font-size:16px;float:right;background-color:rgba(0,0,0,.7);color:#fff;border:1px solid #fff;border-radius:6px;padding:8px 10px}.notifications-wrapper[_ngcontent-%COMP%]   .notification[_ngcontent-%COMP%]   .close-button[_ngcontent-%COMP%]:hover{background-color:#fff;color:#000;font-weight:700}"]],data:{}});function vn(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,3,"div",[["class","notification"]],null,null,null,null,null)),(t()(),s.Kb(1,null,[" "," "])),(t()(),s.sb(2,0,null,null,1,"button",[["class","close-button"]],null,[[null,"click"]],function(t,e,n){var r=!0;return"click"===e&&(r=!1!==t.component.closeTopNotification()&&r),r},null,null)),(t()(),s.Kb(-1,null,[" X "]))],null,function(t,e){t(e,1,0,e.context.$implicit)})}function mn(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,2,"div",[["class","notifications-wrapper"]],null,null,null,null,null)),(t()(),s.hb(16777216,null,null,1,null,vn)),s.rb(2,278528,null,0,g.j,[s.O,s.L,s.r],{ngForOf:[0,"ngForOf"]},null)],function(t,e){t(e,2,0,e.component.notificationService.messages)},null)}var gn=s.qb({encapsulation:0,styles:[[""]],data:{}});function yn(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,2,"div",[["class","main-container"]],null,null,null,null,null)),(t()(),s.sb(1,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),s.rb(2,212992,null,0,f.n,[f.b,s.O,s.j,[8,null],s.h],null,null),(t()(),s.sb(3,0,null,null,1,"app-notification",[],null,null,null,mn,pn)),s.rb(4,114688,null,0,hn,[dn.a],null,null)],function(t,e){t(e,2,0),t(e,4,0)},null)}function bn(t){return s.Lb(0,[(t()(),s.sb(0,0,null,null,1,"app-root",[],null,null,null,yn,gn)),s.rb(1,49152,null,0,l,[],null,null)],null,null)}var _n=s.ob("app-root",l,bn,{},{},[]),wn=i("cUpR"),Cn=i("fDlF"),Sn=i("omvX"),En=i("GS7A");var kn=function t(){return Promise.all([i.e(1),i.e(7)]).then(i.bind(null,"0CzR")).then(function(t){return t.SortingAlgorithmsModuleNgFactory})},xn=function t(){return Promise.all([i.e(1),i.e(6)]).then(i.bind(null,"FvzE")).then(function(t){return t.GraphAlgorithmsModuleNgFactory})};var On=function t(){};var Tn=s.pb(u,[l],function(t){return s.Bb([s.Cb(512,s.j,s.ab,[[8,[c.a,m,te,Re,sn,fn,Ue,qe,Ye,_n]],[3,s.j],s.w]),s.Cb(5120,s.t,s.mb,[[3,s.t]]),s.Cb(4608,g.m,g.l,[s.t,[2,g.E]]),s.Cb(5120,s.ib,s.nb,[s.y]),s.Cb(5120,s.c,s.jb,[]),s.Cb(5120,s.r,s.kb,[]),s.Cb(5120,s.s,s.lb,[]),s.Cb(4608,wn.b,wn.k,[g.c]),s.Cb(6144,s.G,null,[wn.b]),s.Cb(4608,wn.e,wn.g,[]),s.Cb(5120,wn.c,function(t,e,n,r,i,o,a,s){return[new wn.i(t,e,n),new wn.n(r),new wn.m(i,o,a,s)]},[g.c,s.y,s.A,g.c,g.c,wn.e,s.bb,[2,wn.f]]),s.Cb(4608,wn.d,wn.d,[wn.c,s.y]),s.Cb(135680,wn.l,wn.l,[g.c]),s.Cb(4608,wn.j,wn.j,[wn.d,wn.l,s.c]),s.Cb(5120,Cn.a,Sn.e,[]),s.Cb(5120,Cn.c,Sn.f,[]),s.Cb(4608,Cn.b,Sn.d,[g.c,Cn.a,Cn.c]),s.Cb(5120,s.E,Sn.g,[wn.j,Cn.b,s.y]),s.Cb(6144,wn.o,null,[wn.l]),s.Cb(4608,s.M,s.M,[s.y]),s.Cb(5120,f.a,f.x,[f.k]),s.Cb(4608,f.d,f.d,[]),s.Cb(6144,f.f,null,[f.d]),s.Cb(135680,f.o,f.o,[f.k,s.v,s.i,s.q,f.f]),s.Cb(4608,f.e,f.e,[]),s.Cb(5120,f.C,f.t,[f.k,g.s,f.g]),s.Cb(5120,f.h,f.A,[f.y]),s.Cb(5120,s.b,function(t){return[t]},[f.h]),s.Cb(4608,y.m,y.m,[]),s.Cb(4608,Pt,Pt,[s.j,s.q,Rt,Et]),s.Cb(4608,En.b,Sn.c,[s.E,g.c]),s.Cb(1073742336,g.b,g.b,[]),s.Cb(1024,s.l,wn.p,[]),s.Cb(1024,s.x,function(){return[f.s()]},[]),s.Cb(512,f.y,f.y,[s.q]),s.Cb(1024,s.d,function(t,e){return[wn.q(t),f.z(e)]},[[2,s.x],f.y]),s.Cb(512,s.e,s.e,[[2,s.d]]),s.Cb(131584,s.g,s.g,[s.y,s.bb,s.q,s.l,s.j,s.e]),s.Cb(1073742336,s.f,s.f,[s.g]),s.Cb(1073742336,wn.a,wn.a,[[3,wn.a]]),s.Cb(1024,f.r,f.v,[[3,f.k]]),s.Cb(512,f.q,f.c,[]),s.Cb(512,f.b,f.b,[]),s.Cb(256,f.g,{},[]),s.Cb(1024,g.h,f.u,[g.q,[2,g.a],f.g]),s.Cb(512,g.g,g.g,[g.h,g.q]),s.Cb(512,s.i,s.i,[]),s.Cb(512,s.v,s.J,[s.i,[2,s.K]]),s.Cb(1024,f.i,function(){return[[{path:"",component:h},{path:"sorting-algorithms",loadChildren:kn},{path:"graph-algorithms",loadChildren:xn}]]},[]),s.Cb(1024,f.k,f.w,[s.g,f.q,f.b,g.g,s.q,s.v,s.i,f.i,f.g,[2,f.p],[2,f.j]]),s.Cb(1073742336,f.m,f.m,[[2,f.r],[2,f.k]]),s.Cb(1073742336,On,On,[]),s.Cb(1073742336,H,H,[]),s.Cb(1073742336,q,q,[]),s.Cb(1073742336,W,W,[]),s.Cb(1073742336,G,G,[]),s.Cb(1073742336,Q,Q,[]),s.Cb(1073742336,y.l,y.l,[]),s.Cb(1073742336,y.c,y.c,[]),s.Cb(1073742336,Ct,Ct,[]),s.Cb(1073742336,St,St,[]),s.Cb(1073742336,jt,jt,[]),s.Cb(1073742336,Mt,Mt,[]),s.Cb(1073742336,Ft,Ft,[]),s.Cb(1073742336,Lt,Lt,[]),s.Cb(1073742336,Ut,Ut,[]),s.Cb(1073742336,Ht,Ht,[]),s.Cb(1073742336,zt,zt,[]),s.Cb(1073742336,Bt,Bt,[]),s.Cb(1073742336,Wt,Wt,[]),s.Cb(1073742336,Kt,Kt,[]),s.Cb(1073742336,Zt,Zt,[]),s.Cb(1073742336,Sn.b,Sn.b,[]),s.Cb(1073742336,u,u,[]),s.Cb(256,s.Z,!0,[]),s.Cb(256,Sn.a,"BrowserAnimations",[])])});Object(s.S)(),wn.h().bootstrapModuleFactory(Tn).catch(function(t){return console.error(t)})},zn8P:function t(e,n){function r(t){return Promise.resolve().then(function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e})}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id="zn8P"}},[[0,0]]]);
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 53fd6e5..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,13172 +0,0 @@
-{
-  "name": "algorithms-visualizer",
-  "version": "0.0.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@angular-devkit/architect": {
-      "version": "0.803.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.1.tgz",
-      "integrity": "sha512-VAakyyQ7SsJXMGeg3pOFREgp7W4JMl5z3Qhbjvzo34mb9OvmgSEVMB0aEN0ZMmA2VvJrIy1IWkJt4aARVIRquw==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "8.3.1",
-        "rxjs": "6.4.0"
-      }
-    },
-    "@angular-devkit/build-angular": {
-      "version": "0.803.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.1.tgz",
-      "integrity": "sha512-ZE4qATMnSxKMGTqLrIU02qhhRnGQ5gEZIvTtA62GvfQqtXUU97RZVRPWRAmAghmLtU6IEbl7pTapxohFv6yZvA==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.803.1",
-        "@angular-devkit/build-optimizer": "0.803.1",
-        "@angular-devkit/build-webpack": "0.803.1",
-        "@angular-devkit/core": "8.3.1",
-        "@babel/core": "7.5.5",
-        "@babel/preset-env": "7.5.5",
-        "@ngtools/webpack": "8.3.1",
-        "ajv": "6.10.2",
-        "autoprefixer": "9.6.1",
-        "browserslist": "4.6.6",
-        "cacache": "12.0.2",
-        "caniuse-lite": "1.0.30000989",
-        "circular-dependency-plugin": "5.2.0",
-        "clean-css": "4.2.1",
-        "copy-webpack-plugin": "5.0.4",
-        "core-js": "3.2.1",
-        "file-loader": "4.2.0",
-        "find-cache-dir": "3.0.0",
-        "glob": "7.1.4",
-        "istanbul-instrumenter-loader": "3.0.1",
-        "karma-source-map-support": "1.4.0",
-        "less": "3.9.0",
-        "less-loader": "5.0.0",
-        "license-webpack-plugin": "2.1.2",
-        "loader-utils": "1.2.3",
-        "mini-css-extract-plugin": "0.8.0",
-        "minimatch": "3.0.4",
-        "open": "6.4.0",
-        "parse5": "4.0.0",
-        "postcss": "7.0.17",
-        "postcss-import": "12.0.1",
-        "postcss-loader": "3.0.0",
-        "raw-loader": "3.1.0",
-        "rxjs": "6.4.0",
-        "sass": "1.22.9",
-        "sass-loader": "7.2.0",
-        "semver": "6.3.0",
-        "source-map": "0.7.3",
-        "source-map-loader": "0.2.4",
-        "source-map-support": "0.5.13",
-        "speed-measure-webpack-plugin": "1.3.1",
-        "style-loader": "1.0.0",
-        "stylus": "0.54.5",
-        "stylus-loader": "3.0.2",
-        "terser": "4.1.4",
-        "terser-webpack-plugin": "1.4.1",
-        "tree-kill": "1.2.1",
-        "webpack": "4.39.2",
-        "webpack-dev-middleware": "3.7.0",
-        "webpack-dev-server": "3.8.0",
-        "webpack-merge": "4.2.1",
-        "webpack-sources": "1.4.3",
-        "webpack-subresource-integrity": "1.1.0-rc.6",
-        "worker-farm": "1.7.0",
-        "worker-plugin": "3.2.0"
-      }
-    },
-    "@angular-devkit/build-optimizer": {
-      "version": "0.803.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.1.tgz",
-      "integrity": "sha512-exa4uFkNt0UbFNlqUbH/3yWXzi+OLIbjLv+TRyhlzbjyfW9+Y19k8Qixra9PZoKoy1y3QqrYgPfdMYBz8hRg/g==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "1.2.3",
-        "source-map": "0.7.3",
-        "tslib": "1.10.0",
-        "typescript": "3.5.3",
-        "webpack-sources": "1.4.3"
-      }
-    },
-    "@angular-devkit/build-webpack": {
-      "version": "0.803.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.1.tgz",
-      "integrity": "sha512-AecgzjKsJ8/8dxMYTBlboCRRrbbw28nfNmGjcm8gnRxDCW2hWKrnSAmhuSvH/Hk+w5xzoYhWF3i/kE8xIMeXVw==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.803.1",
-        "@angular-devkit/core": "8.3.1",
-        "rxjs": "6.4.0",
-        "webpack-merge": "4.2.1"
-      }
-    },
-    "@angular-devkit/core": {
-      "version": "8.3.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.1.tgz",
-      "integrity": "sha512-H92REifFygP4a/0fsnshiz31KsuaHRrRHwfT67tVxPnN8rwWnTWkf5gxFwG8ezcBMnR5eVLBb/Xisnc/+A/8Kw==",
-      "dev": true,
-      "requires": {
-        "ajv": "6.10.2",
-        "fast-json-stable-stringify": "2.0.0",
-        "magic-string": "0.25.3",
-        "rxjs": "6.4.0",
-        "source-map": "0.7.3"
-      }
-    },
-    "@angular-devkit/schematics": {
-      "version": "8.3.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.1.tgz",
-      "integrity": "sha512-huGBmBeRCNCD8Li+whOnv2ma5R048tWJ/e03rz7BV9lHqHM706LT4UPZhtV3t683O+LgsUZjxgnhAe9GLIJNbg==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "8.3.1",
-        "rxjs": "6.4.0"
-      }
-    },
-    "@angular/animations": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.2.4.tgz",
-      "integrity": "sha512-EHTvA5ugoFiYVwi9SyozJORWcBhUIn06VbNa2uhQQdOUrsbvKBCF0PpH2nZZJz7wsQ6Pyonizee8vgea8/X59Q==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/cdk": {
-      "version": "8.1.4",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-8.1.4.tgz",
-      "integrity": "sha512-U0tjhAZM4qqUHGGKIKFZZ9d8929s2U/HO0FdoT/eX+oHPOA6mm3bBep7myrSzlkP9V7O1JJfYdhEgijXhYxprQ==",
-      "requires": {
-        "parse5": "^5.0.0",
-        "tslib": "^1.7.1"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
-          "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
-          "optional": true
-        }
-      }
-    },
-    "@angular/cli": {
-      "version": "8.3.1",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.1.tgz",
-      "integrity": "sha512-QzBmM9x4zgAPO4G3+Pup4FVL9fnTqzYYxU9t4vGLkndjflpeJUTAa+BNxaFz41SxjmXdsqzXcTDmFqI44wtqFA==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.803.1",
-        "@angular-devkit/core": "8.3.1",
-        "@angular-devkit/schematics": "8.3.1",
-        "@schematics/angular": "8.3.1",
-        "@schematics/update": "0.803.1",
-        "@yarnpkg/lockfile": "1.1.0",
-        "ansi-colors": "4.1.1",
-        "debug": "^4.1.1",
-        "ini": "1.3.5",
-        "inquirer": "6.5.1",
-        "npm-package-arg": "6.1.0",
-        "open": "6.4.0",
-        "pacote": "9.5.5",
-        "read-package-tree": "5.3.1",
-        "semver": "6.3.0",
-        "symbol-observable": "1.2.0",
-        "universal-analytics": "^0.4.20",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "ansi-colors": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-          "dev": true
-        }
-      }
-    },
-    "@angular/common": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-8.2.4.tgz",
-      "integrity": "sha512-sPeTkor3uf8T3MvpekS0ZQe9K/yzlHBSoMyT0bIPOYeDTHUph3f/0XyYhH7KSGXLo7tSw1Mx9Ua05nQ+VHtLGQ==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/compiler": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-8.2.4.tgz",
-      "integrity": "sha512-LYaYhQlW3GFiXrNywJBYQtsLOWmUFcgudacF1m7QHHhlljnkG3BqkosbT0Dkcl7ayrIDYT/ZMTkVmaiGvgAhnw==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/compiler-cli": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-8.2.4.tgz",
-      "integrity": "sha512-tN269yWPbJsetzmO8x/Bx7wLwqCfnD8BYoJsBFPcZOZpW0cfELzVdY13R325WB1uXiMrVN0lskNtPBLe9OcMTA==",
-      "dev": true,
-      "requires": {
-        "canonical-path": "1.0.0",
-        "chokidar": "^2.1.1",
-        "convert-source-map": "^1.5.1",
-        "dependency-graph": "^0.7.2",
-        "magic-string": "^0.25.0",
-        "minimist": "^1.2.0",
-        "reflect-metadata": "^0.1.2",
-        "source-map": "^0.6.1",
-        "tslib": "^1.9.0",
-        "yargs": "13.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
-        },
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "dev": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "get-caller-file": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-          "dev": true
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "require-main-filename": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "yargs": {
-          "version": "13.1.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz",
-          "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==",
-          "dev": true,
-          "requires": {
-            "cliui": "^4.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^2.0.1",
-            "os-locale": "^3.1.0",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^13.0.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "13.1.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
-          "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "@angular/core": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-8.2.4.tgz",
-      "integrity": "sha512-8FSdkUSb5S4+K2w49iLzrQF/jzcmoRnOogFZQ8CctiXQHSVHHF8AjpoFpFVUAI6/77UVL8CehlyBSKF5EE1Z8A==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/forms": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.2.4.tgz",
-      "integrity": "sha512-TsaMrfy/Ls9kpxxlkqaPSQCL3DWqIzh3fMd0aGXTjcsEFI3gztttAmE/dlU0dtVsQxD0M9cdqjjPqi0TGamfTw==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/language-service": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-8.2.4.tgz",
-      "integrity": "sha512-8yoplzpNgZOMMluvxiyc0hwVs6WJBkHJoM8Dy3pb0UIRfYO1IDwrEEV6bbn25oORW59q7tUO3GD1yXwuJCswPQ==",
-      "dev": true
-    },
-    "@angular/material": {
-      "version": "8.1.4",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-8.1.4.tgz",
-      "integrity": "sha512-HV1qU63MaOtAc+cWg21Y2ygQKdEDjsGQ/3d3qym9sfR0xU2vvY7OG6gH48BfPeU63oMYxQkhxfoGP8wWMXSU1w==",
-      "requires": {
-        "tslib": "^1.7.1"
-      }
-    },
-    "@angular/platform-browser": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.2.4.tgz",
-      "integrity": "sha512-3nd71h6S4RT9lHu9mVGD/741O+8MBSjI1A0V8H/LjT79yWnkxoR6BgZA7KL76AeTTITagUcVIuxtNAaxssgLHg==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/platform-browser-dynamic": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.4.tgz",
-      "integrity": "sha512-qn84B796UZIl1KB+YcxwFCx/Ze439Zf7G8ZK+xKsUA16H0R6GswAgBndnYq8xFjww1g4dY7zNH/XZ2FKngETKA==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@angular/router": {
-      "version": "8.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.2.4.tgz",
-      "integrity": "sha512-ZJwsztlD1vbb2HF9SgvHfpIK82BkOlDP2OmdZZavnxV7RstbU5hUkJ4lB4JB/EN9B76djo117CwOxxIveOhJMQ==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@babel/code-frame": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
-      "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.0.0"
-      }
-    },
-    "@babel/core": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
-      "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.5.5",
-        "@babel/helpers": "^7.5.5",
-        "@babel/parser": "^7.5.5",
-        "@babel/template": "^7.4.4",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5",
-        "convert-source-map": "^1.1.0",
-        "debug": "^4.1.0",
-        "json5": "^2.1.0",
-        "lodash": "^4.17.13",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
-          "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "@babel/generator": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
-      "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.5.5",
-        "jsesc": "^2.5.1",
-        "lodash": "^4.17.13",
-        "source-map": "^0.5.0",
-        "trim-right": "^1.0.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-call-delegate": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
-      "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/traverse": "^7.4.4",
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-define-map": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
-      "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-      "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
-      "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
-      "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-      "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
-      "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/template": "^7.4.4",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-      "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
-      "dev": true
-    },
-    "@babel/helper-regex": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
-      "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
-      "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.5.5",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-      "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
-      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
-      "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.2.0"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz",
-      "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.4.4",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
-      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
-      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
-      "dev": true
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
-      "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0",
-        "@babel/plugin-syntax-async-generators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
-      "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
-      "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
-      "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
-      "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
-      "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
-      "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
-      "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
-      "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
-      "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
-      "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
-      "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz",
-      "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
-      "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-define-map": "^7.5.5",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
-      "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz",
-      "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
-      "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
-      "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
-      "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
-      "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
-      "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
-      "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
-      "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
-      "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz",
-      "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
-      "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
-      "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.4.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz",
-      "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==",
-      "dev": true,
-      "requires": {
-        "regexp-tree": "^0.1.6"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
-      "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
-      "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
-      "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-call-delegate": "^7.4.4",
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
-      "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.4.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
-      "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.14.0"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
-      "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
-      "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.2.2",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
-      "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
-      "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
-      "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
-      "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
-      "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz",
-      "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
-        "@babel/plugin-proposal-dynamic-import": "^7.5.0",
-        "@babel/plugin-proposal-json-strings": "^7.2.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-syntax-async-generators": "^7.2.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-transform-arrow-functions": "^7.2.0",
-        "@babel/plugin-transform-async-to-generator": "^7.5.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
-        "@babel/plugin-transform-block-scoping": "^7.5.5",
-        "@babel/plugin-transform-classes": "^7.5.5",
-        "@babel/plugin-transform-computed-properties": "^7.2.0",
-        "@babel/plugin-transform-destructuring": "^7.5.0",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/plugin-transform-duplicate-keys": "^7.5.0",
-        "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
-        "@babel/plugin-transform-for-of": "^7.4.4",
-        "@babel/plugin-transform-function-name": "^7.4.4",
-        "@babel/plugin-transform-literals": "^7.2.0",
-        "@babel/plugin-transform-member-expression-literals": "^7.2.0",
-        "@babel/plugin-transform-modules-amd": "^7.5.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.5.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.5.0",
-        "@babel/plugin-transform-modules-umd": "^7.2.0",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5",
-        "@babel/plugin-transform-new-target": "^7.4.4",
-        "@babel/plugin-transform-object-super": "^7.5.5",
-        "@babel/plugin-transform-parameters": "^7.4.4",
-        "@babel/plugin-transform-property-literals": "^7.2.0",
-        "@babel/plugin-transform-regenerator": "^7.4.5",
-        "@babel/plugin-transform-reserved-words": "^7.2.0",
-        "@babel/plugin-transform-shorthand-properties": "^7.2.0",
-        "@babel/plugin-transform-spread": "^7.2.0",
-        "@babel/plugin-transform-sticky-regex": "^7.2.0",
-        "@babel/plugin-transform-template-literals": "^7.4.4",
-        "@babel/plugin-transform-typeof-symbol": "^7.2.0",
-        "@babel/plugin-transform-unicode-regex": "^7.4.4",
-        "@babel/types": "^7.5.5",
-        "browserslist": "^4.6.0",
-        "core-js-compat": "^3.1.1",
-        "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
-        "semver": "^5.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/template": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
-      "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.4.4",
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz",
-      "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.5.5",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/parser": "^7.5.5",
-        "@babel/types": "^7.5.5",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/types": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
-      "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.13",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@ng-bootstrap/ng-bootstrap": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-5.1.0.tgz",
-      "integrity": "sha512-IYoKE1NMrIPbRV0077/uHOjdwPb3qyhHpbBXiMGjclkSm2GvKXNPIzgd3Vjon/lbKelHdAW4A/upUHN2VYUi3w==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "@ngtools/webpack": {
-      "version": "8.3.1",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.1.tgz",
-      "integrity": "sha512-VGlVnrRwCN8M5YMk8psf9qbKsOKMSuHnJnIczs5sqI9dvjx+B2oAA/+B+BJoBBnDqXccBvintPV+HSgxfnbA0A==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "8.3.1",
-        "enhanced-resolve": "4.1.0",
-        "rxjs": "6.4.0",
-        "tree-kill": "1.2.1",
-        "webpack-sources": "1.4.3"
-      }
-    },
-    "@schematics/angular": {
-      "version": "8.3.1",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.1.tgz",
-      "integrity": "sha512-i9jkGs7WgcrfkFDJ3fk41/T6dJvg+inhOpK7pL+obi4Lw/dU2KRW+WRnJmurIW8rML5D3g6OoOKSZ6hBAqf0vQ==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "8.3.1",
-        "@angular-devkit/schematics": "8.3.1"
-      }
-    },
-    "@schematics/update": {
-      "version": "0.803.1",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.1.tgz",
-      "integrity": "sha512-Eh0TC1z4wbbTcWxShbZpdZLrWmyi5fnuJWe3rEQoiG4Pto6VDjSwQrfiEzBzodNtyRiZ2myl47XRjumuZ46keg==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "8.3.1",
-        "@angular-devkit/schematics": "8.3.1",
-        "@yarnpkg/lockfile": "1.1.0",
-        "ini": "1.3.5",
-        "pacote": "9.5.5",
-        "rxjs": "6.4.0",
-        "semver": "6.3.0",
-        "semver-intersect": "1.4.0"
-      }
-    },
-    "@types/events": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
-      "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
-      "dev": true
-    },
-    "@types/glob": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
-      "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
-      "dev": true,
-      "requires": {
-        "@types/events": "*",
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/jasmine": {
-      "version": "3.3.16",
-      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.3.16.tgz",
-      "integrity": "sha512-Nveep4zKGby8uIvG2AEUyYOwZS8uVeHK9TgbuWYSawUDDdIgfhCKz28QzamTo//Jk7Ztt9PO3f+vzlB6a4GV1Q==",
-      "dev": true
-    },
-    "@types/jasminewd2": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz",
-      "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==",
-      "dev": true,
-      "requires": {
-        "@types/jasmine": "*"
-      }
-    },
-    "@types/minimatch": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
-      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
-      "dev": true
-    },
-    "@types/node": {
-      "version": "8.9.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.5.tgz",
-      "integrity": "sha512-jRHfWsvyMtXdbhnz5CVHxaBgnV6duZnPlQuRSo/dm/GnmikNcmZhxIES4E9OZjUmQ8C+HCl4KJux+cXN/ErGDQ==",
-      "dev": true
-    },
-    "@types/q": {
-      "version": "0.0.32",
-      "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
-      "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
-      "dev": true
-    },
-    "@types/selenium-webdriver": {
-      "version": "3.0.16",
-      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz",
-      "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==",
-      "dev": true
-    },
-    "@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
-      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
-      "dev": true
-    },
-    "@types/webpack-sources": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz",
-      "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
-      "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
-      "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
-      "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
-      "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
-      "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.8.5"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
-      "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
-      "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "mamacro": "^0.0.3"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
-      "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
-      "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
-      "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
-      "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
-      "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
-      "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/helper-wasm-section": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-opt": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "@webassemblyjs/wast-printer": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
-      "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
-      "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
-      "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
-      "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/floating-point-hex-parser": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-code-frame": "1.8.5",
-        "@webassemblyjs/helper-fsm": "1.8.5",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
-      "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "@yarnpkg/lockfile": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
-      "dev": true
-    },
-    "JSONStream": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
-      "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
-      "dev": true,
-      "requires": {
-        "jsonparse": "^1.2.0",
-        "through": ">=2.2.7 <3"
-      }
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
-      "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
-      "dev": true
-    },
-    "adm-zip": {
-      "version": "0.4.13",
-      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
-      "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
-      "dev": true
-    },
-    "after": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
-      "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
-      "dev": true
-    },
-    "agent-base": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
-      "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-      "dev": true,
-      "requires": {
-        "es6-promisify": "^5.0.0"
-      }
-    },
-    "agentkeepalive": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
-      "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
-      "dev": true,
-      "requires": {
-        "humanize-ms": "^1.2.1"
-      }
-    },
-    "ajv": {
-      "version": "6.10.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-      "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^2.0.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true
-    },
-    "ajv-keywords": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
-      "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
-      "dev": true
-    },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
-      "dev": true
-    },
-    "angular-cli-ghpages": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/angular-cli-ghpages/-/angular-cli-ghpages-0.6.0.tgz",
-      "integrity": "sha512-IMzDXVWqaO0RWvqJ+hiPqBZ//Ahz3cOnJSCfrqoLbL1xKbFl1ybODHSVuCwLwTvo5P4XjM13LxLw0MBUH5ODKA==",
-      "requires": {
-        "commander": "^3.0.0-0",
-        "fs-extra": "^8.1.0",
-        "gh-pages": "^2.1.0"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz",
-          "integrity": "sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ=="
-        },
-        "fs-extra": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
-          "requires": {
-            "graceful-fs": "^4.2.0",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
-          }
-        }
-      }
-    },
-    "ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz",
-      "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.5.2"
-      }
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "anymatch": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz",
-      "integrity": "sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==",
-      "dev": true,
-      "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      }
-    },
-    "app-root-path": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz",
-      "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
-      "dev": true
-    },
-    "append-transform": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
-      "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
-      "dev": true,
-      "requires": {
-        "default-require-extensions": "^2.0.0"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "aria-query": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
-      "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
-      "dev": true,
-      "requires": {
-        "ast-types-flow": "0.0.7",
-        "commander": "^2.11.0"
-      }
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "arraybuffer.slice": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
-      "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
-      "dev": true
-    },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true
-    },
-    "asap": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
-      "dev": true
-    },
-    "asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
-      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "asn1.js": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
-      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "ast-types-flow": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
-      "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
-      "dev": true
-    },
-    "async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "requires": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
-      "dev": true
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "autoprefixer": {
-      "version": "9.6.1",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz",
-      "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.6.3",
-        "caniuse-lite": "^1.0.30000980",
-        "chalk": "^2.4.2",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^7.0.17",
-        "postcss-value-parser": "^4.0.0"
-      }
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
-      "dev": true
-    },
-    "axobject-query": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
-      "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
-      "dev": true,
-      "requires": {
-        "ast-types-flow": "0.0.7"
-      }
-    },
-    "babel-code-frame": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
-      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "babel-generator": {
-      "version": "6.26.1",
-      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
-      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
-      "dev": true,
-      "requires": {
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "detect-indent": "^4.0.0",
-        "jsesc": "^1.3.0",
-        "lodash": "^4.17.4",
-        "source-map": "^0.5.7",
-        "trim-right": "^1.0.1"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
-          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "babel-messages": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
-      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.22.0"
-      }
-    },
-    "babel-plugin-dynamic-import-node": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
-      "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
-      "dev": true,
-      "requires": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "core-js": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
-          "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
-          "dev": true
-        }
-      }
-    },
-    "babel-template": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
-      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "babel-traverse": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "lodash": "^4.17.4"
-      }
-    },
-    "babel-traverse": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
-      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.26.0",
-        "babel-messages": "^6.23.0",
-        "babel-runtime": "^6.26.0",
-        "babel-types": "^6.26.0",
-        "babylon": "^6.18.0",
-        "debug": "^2.6.8",
-        "globals": "^9.18.0",
-        "invariant": "^2.2.2",
-        "lodash": "^4.17.4"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "globals": {
-          "version": "9.18.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
-          "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "babel-types": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
-      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "esutils": "^2.0.2",
-        "lodash": "^4.17.4",
-        "to-fast-properties": "^1.0.3"
-      },
-      "dependencies": {
-        "to-fast-properties": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
-          "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-          "dev": true
-        }
-      }
-    },
-    "babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true
-    },
-    "backo2": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
-      "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
-      "dev": true
-    },
-    "balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "base64-arraybuffer": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
-      "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
-      "dev": true
-    },
-    "base64-js": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
-      "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
-      "dev": true
-    },
-    "base64id": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
-      "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "better-assert": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
-      "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
-      "dev": true,
-      "requires": {
-        "callsite": "1.0.0"
-      }
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-      "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
-      "dev": true
-    },
-    "blob": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
-      "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
-      "dev": true
-    },
-    "blocking-proxy": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
-      "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.0"
-      }
-    },
-    "bluebird": {
-      "version": "3.5.5",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "4.11.8",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-          "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-          "dev": true
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "bootstrap": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
-      "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
-      "requires": {
-        "fill-range": "^7.0.1"
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
-      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
-      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.1",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.2",
-        "elliptic": "^6.0.0",
-        "inherits": "^2.0.1",
-        "parse-asn1": "^5.0.0"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.6.6",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz",
-      "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30000984",
-        "electron-to-chromium": "^1.3.191",
-        "node-releases": "^1.1.25"
-      }
-    },
-    "browserstack": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.3.tgz",
-      "integrity": "sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==",
-      "dev": true,
-      "requires": {
-        "https-proxy-agent": "^2.2.1"
-      }
-    },
-    "buffer": {
-      "version": "4.9.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
-      "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-alloc": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
-      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
-      "dev": true,
-      "requires": {
-        "buffer-alloc-unsafe": "^1.1.0",
-        "buffer-fill": "^1.0.0"
-      }
-    },
-    "buffer-alloc-unsafe": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
-      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
-      "dev": true
-    },
-    "buffer-fill": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
-      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
-      "dev": true
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-modules": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
-      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "builtins": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
-      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true
-    },
-    "cacache": {
-      "version": "12.0.2",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.2.tgz",
-      "integrity": "sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "caller-callsite": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
-      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
-      "dev": true,
-      "requires": {
-        "callsites": "^2.0.0"
-      }
-    },
-    "caller-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
-      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
-      "dev": true,
-      "requires": {
-        "caller-callsite": "^2.0.0"
-      }
-    },
-    "callsite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
-      "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
-      "dev": true
-    },
-    "callsites": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
-      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
-      "dev": true
-    },
-    "camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true
-    },
-    "caniuse-lite": {
-      "version": "1.0.30000989",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz",
-      "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==",
-      "dev": true
-    },
-    "canonical-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz",
-      "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==",
-      "dev": true
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
-    },
-    "chokidar": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz",
-      "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==",
-      "dev": true,
-      "requires": {
-        "anymatch": "^3.0.1",
-        "braces": "^3.0.2",
-        "fsevents": "^2.0.6",
-        "glob-parent": "^5.0.0",
-        "is-binary-path": "^2.1.0",
-        "is-glob": "^4.0.1",
-        "normalize-path": "^3.0.0",
-        "readdirp": "^3.1.1"
-      },
-      "dependencies": {
-        "glob-parent": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
-          "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
-          "dev": true,
-          "requires": {
-            "is-glob": "^4.0.1"
-          }
-        }
-      }
-    },
-    "chownr": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
-      "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==",
-      "dev": true
-    },
-    "chrome-trace-event": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
-      "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "circular-dependency-plugin": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz",
-      "integrity": "sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==",
-      "dev": true
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "clean-css": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
-      "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "cli-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^3.1.0"
-      }
-    },
-    "cli-width": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
-      "dev": true
-    },
-    "clipboard": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
-      "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
-      "optional": true,
-      "requires": {
-        "good-listener": "^1.2.2",
-        "select": "^1.1.2",
-        "tiny-emitter": "^2.0.0"
-      }
-    },
-    "cliui": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
-      "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
-      "dev": true,
-      "requires": {
-        "string-width": "^2.1.1",
-        "strip-ansi": "^4.0.0",
-        "wrap-ansi": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "clone": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
-      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
-      "dev": true
-    },
-    "clone-deep": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
-      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
-      "dev": true,
-      "requires": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
-      }
-    },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "codelyzer": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.1.0.tgz",
-      "integrity": "sha512-QiyY2/oDQnYx4mAVEDqr+z9MwrOto18tQFjExiuRChXCy0yvngS5fQpWIxvAGpbOmZFiR1PRTRLbEI71u10maA==",
-      "dev": true,
-      "requires": {
-        "app-root-path": "^2.2.1",
-        "aria-query": "^3.0.0",
-        "axobject-query": "^2.0.2",
-        "css-selector-tokenizer": "^0.7.1",
-        "cssauron": "^1.4.0",
-        "damerau-levenshtein": "^1.0.4",
-        "semver-dsl": "^1.0.1",
-        "source-map": "^0.5.7",
-        "sprintf-js": "^1.1.2"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        },
-        "sprintf-js": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
-          "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
-          "dev": true
-        }
-      }
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "colors": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
-      "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
-      "dev": true
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "commander": {
-      "version": "2.20.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
-      "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "compare-versions": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz",
-      "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==",
-      "dev": true
-    },
-    "component-bind": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
-      "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "component-inherit": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
-      "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
-      "dev": true
-    },
-    "compressible": {
-      "version": "2.0.17",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
-      "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
-      "dev": true,
-      "requires": {
-        "mime-db": ">= 1.40.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "connect": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
-      "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "finalhandler": "1.1.2",
-        "parseurl": "~1.3.3",
-        "utils-merge": "1.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true
-    },
-    "console-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
-      "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
-      "dev": true,
-      "requires": {
-        "date-now": "^0.1.4"
-      }
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.1.2"
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
-      "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "copy-webpack-plugin": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz",
-      "integrity": "sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==",
-      "dev": true,
-      "requires": {
-        "cacache": "^11.3.3",
-        "find-cache-dir": "^2.1.0",
-        "glob-parent": "^3.1.0",
-        "globby": "^7.1.1",
-        "is-glob": "^4.0.1",
-        "loader-utils": "^1.2.3",
-        "minimatch": "^3.0.4",
-        "normalize-path": "^3.0.0",
-        "p-limit": "^2.2.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^1.7.0",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "cacache": {
-          "version": "11.3.3",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz",
-          "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==",
-          "dev": true,
-          "requires": {
-            "bluebird": "^3.5.5",
-            "chownr": "^1.1.1",
-            "figgy-pudding": "^3.5.1",
-            "glob": "^7.1.4",
-            "graceful-fs": "^4.1.15",
-            "lru-cache": "^5.1.1",
-            "mississippi": "^3.0.0",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
-            "promise-inflight": "^1.0.1",
-            "rimraf": "^2.6.3",
-            "ssri": "^6.0.1",
-            "unique-filename": "^1.1.1",
-            "y18n": "^4.0.0"
-          }
-        },
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        }
-      }
-    },
-    "core-js": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz",
-      "integrity": "sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==",
-      "dev": true
-    },
-    "core-js-compat": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
-      "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.6.6",
-        "semver": "^6.3.0"
-      }
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-      "dev": true,
-      "requires": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
-      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.0.0"
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-parse": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
-      "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
-      "dev": true
-    },
-    "css-selector-tokenizer": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
-      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
-      "dev": true,
-      "requires": {
-        "cssesc": "^0.1.0",
-        "fastparse": "^1.1.1",
-        "regexpu-core": "^1.0.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        },
-        "regexpu-core": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
-          "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
-          "dev": true,
-          "requires": {
-            "regenerate": "^1.2.1",
-            "regjsgen": "^0.2.0",
-            "regjsparser": "^0.1.4"
-          }
-        },
-        "regjsgen": {
-          "version": "0.2.0",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
-          "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
-          "dev": true
-        },
-        "regjsparser": {
-          "version": "0.1.5",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
-          "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
-          "dev": true,
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        }
-      }
-    },
-    "cssauron": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz",
-      "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
-      "dev": true,
-      "requires": {
-        "through": "X.X.X"
-      }
-    },
-    "cssesc": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
-      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
-      "dev": true
-    },
-    "custom-event": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
-      "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
-      "dev": true
-    },
-    "cyclist": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
-      "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
-      "dev": true
-    },
-    "damerau-levenshtein": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz",
-      "integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==",
-      "dev": true
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "date-format": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
-      "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
-      "dev": true
-    },
-    "date-now": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
-      "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
-      "dev": true
-    },
-    "debug": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-      "dev": true,
-      "requires": {
-        "ms": "^2.1.1"
-      }
-    },
-    "debuglog": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
-      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
-      "dev": true
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "deep-equal": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
-      "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
-      "dev": true,
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      }
-    },
-    "default-require-extensions": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
-      "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
-      "dev": true,
-      "requires": {
-        "strip-bom": "^3.0.0"
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dev": true,
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
-      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
-      "dev": true,
-      "requires": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      },
-      "dependencies": {
-        "globby": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "2.3.0",
-              "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-              "dev": true
-            }
-          }
-        }
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
-    },
-    "delegate": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
-      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
-      "optional": true
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
-    },
-    "dependency-graph": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz",
-      "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
-      "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "detect-indent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
-      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
-      "dev": true,
-      "requires": {
-        "repeating": "^2.0.0"
-      }
-    },
-    "detect-node": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
-      "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
-      "dev": true
-    },
-    "dezalgo": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
-      "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
-      "dev": true,
-      "requires": {
-        "asap": "^2.0.0",
-        "wrappy": "1"
-      }
-    },
-    "di": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
-      "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
-      "dev": true
-    },
-    "diff": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
-      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "dir-glob": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
-      "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
-      "dev": true,
-      "requires": {
-        "path-type": "^3.0.0"
-      }
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
-      "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "dom-serialize": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
-      "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
-      "dev": true,
-      "requires": {
-        "custom-event": "~1.0.0",
-        "ent": "~2.2.0",
-        "extend": "^3.0.0",
-        "void-elements": "^2.0.0"
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.244",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.244.tgz",
-      "integrity": "sha512-nEfPd2EKnFeLuZ/+JsRG3KixRQwWf2SPpp09ftNt5ouGhg408N759+oXvdXy57+TcM34ykfJYj2JMkc1O3R0lQ==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.5.0",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz",
-      "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.4.0",
-        "brorand": "^1.0.1",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.0"
-      }
-    },
-    "email-addresses": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.0.3.tgz",
-      "integrity": "sha512-kUlSC06PVvvjlMRpNIl3kR1NRXLEe86VQ7N0bQeaCZb2g+InShCeHQp/JvyYNTugMnRN2NvJhHlc3q12MWbbpg=="
-    },
-    "emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "encoding": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
-      "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
-      "dev": true,
-      "requires": {
-        "iconv-lite": "~0.4.13"
-      }
-    },
-    "end-of-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
-      "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "engine.io": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
-      "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "base64id": "1.0.0",
-        "cookie": "0.3.1",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.0",
-        "ws": "~3.3.1"
-      },
-      "dependencies": {
-        "cookie": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
-          "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
-          "dev": true
-        },
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "ws": {
-          "version": "3.3.3",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
-          "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
-          "dev": true,
-          "requires": {
-            "async-limiter": "~1.0.0",
-            "safe-buffer": "~5.1.0",
-            "ultron": "~1.1.0"
-          }
-        }
-      }
-    },
-    "engine.io-client": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
-      "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
-      "dev": true,
-      "requires": {
-        "component-emitter": "1.2.1",
-        "component-inherit": "0.0.3",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.1",
-        "has-cors": "1.1.0",
-        "indexof": "0.0.1",
-        "parseqs": "0.0.5",
-        "parseuri": "0.0.5",
-        "ws": "~3.3.1",
-        "xmlhttprequest-ssl": "~1.5.4",
-        "yeast": "0.1.2"
-      },
-      "dependencies": {
-        "component-emitter": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-          "dev": true
-        },
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "ws": {
-          "version": "3.3.3",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
-          "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
-          "dev": true,
-          "requires": {
-            "async-limiter": "~1.0.0",
-            "safe-buffer": "~5.1.0",
-            "ultron": "~1.1.0"
-          }
-        }
-      }
-    },
-    "engine.io-parser": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
-      "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
-      "dev": true,
-      "requires": {
-        "after": "0.8.2",
-        "arraybuffer.slice": "~0.0.7",
-        "base64-arraybuffer": "0.1.5",
-        "blob": "0.0.5",
-        "has-binary2": "~1.0.2"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
-      "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.4.0",
-        "tapable": "^1.0.0"
-      }
-    },
-    "ent": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
-      "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
-      "dev": true
-    },
-    "err-code": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
-      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
-      "dev": true
-    },
-    "errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
-      "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
-      "dev": true,
-      "requires": {
-        "es-to-primitive": "^1.2.0",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "is-callable": "^1.1.4",
-        "is-regex": "^1.0.4",
-        "object-keys": "^1.0.12"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
-      "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "es6-promise": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
-      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
-      "dev": true
-    },
-    "es6-promisify": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
-      "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
-      "dev": true,
-      "requires": {
-        "es6-promise": "^4.0.3"
-      }
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
-    },
-    "eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "dev": true
-    },
-    "esrecurse": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
-      "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^4.1.0"
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
-    },
-    "eventemitter3": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
-      "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
-      "dev": true
-    },
-    "events": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
-      "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
-      "dev": true
-    },
-    "eventsource": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
-      "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
-      "dev": true,
-      "requires": {
-        "original": "^1.0.0"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      }
-    },
-    "exit": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
-      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
-      "dev": true
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-          "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-          "dev": true
-        }
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
-      "dev": true
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
-      "requires": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
-    },
-    "fast-deep-equal": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
-    },
-    "fastparse": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
-      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
-      "dev": true
-    },
-    "faye-websocket": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
-      "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
-      "dev": true,
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
-      "dev": true
-    },
-    "figures": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz",
-      "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-loader": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz",
-      "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz",
-          "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "filename-reserved-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
-      "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q="
-    },
-    "filenamify": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz",
-      "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
-      "requires": {
-        "filename-reserved-regex": "^1.0.0",
-        "strip-outer": "^1.0.0",
-        "trim-repeated": "^1.0.0"
-      }
-    },
-    "filenamify-url": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz",
-      "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=",
-      "requires": {
-        "filenamify": "^1.0.0",
-        "humanize-url": "^1.0.0"
-      }
-    },
-    "fileset": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
-      "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.3",
-        "minimatch": "^3.0.3"
-      }
-    },
-    "fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
-      "requires": {
-        "to-regex-range": "^5.0.1"
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz",
-      "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.0",
-        "pkg-dir": "^4.1.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "make-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
-          "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.0.0"
-          }
-        }
-      }
-    },
-    "find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "requires": {
-        "locate-path": "^3.0.0"
-      }
-    },
-    "flatted": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
-      "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
-      "dev": true
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "follow-redirects": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.8.1.tgz",
-      "integrity": "sha512-micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
-      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "fs-access": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
-      "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
-      "dev": true,
-      "requires": {
-        "null-check": "^1.0.0"
-      }
-    },
-    "fs-extra": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-      "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      }
-    },
-    "fs-minipass": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz",
-      "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==",
-      "dev": true,
-      "requires": {
-        "minipass": "^2.2.1"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
-    },
-    "fsevents": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz",
-      "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==",
-      "dev": true,
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "genfun": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "requires": {
-        "pump": "^3.0.0"
-      }
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "gh-pages": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.1.1.tgz",
-      "integrity": "sha512-yNW2SFp9xGRP/8Sk2WXuLI/Gn92oOL4HBgudn6PsqAnuWT90Y1tozJoTfX1WdrDSW5Rb90kLVOf5mm9KJ/2fDw==",
-      "requires": {
-        "async": "^2.6.1",
-        "commander": "^2.18.0",
-        "email-addresses": "^3.0.1",
-        "filenamify-url": "^1.0.0",
-        "fs-extra": "^7.0.0",
-        "globby": "^6.1.0",
-        "graceful-fs": "^4.1.11",
-        "rimraf": "^2.6.2"
-      },
-      "dependencies": {
-        "globby": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-          "requires": {
-            "array-union": "^1.0.1",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
-        }
-      }
-    },
-    "glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "requires": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      },
-      "dependencies": {
-        "is-glob": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-          "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^2.1.0"
-          }
-        }
-      }
-    },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
-    },
-    "globby": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
-      "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
-      "dev": true,
-      "requires": {
-        "array-union": "^1.0.1",
-        "dir-glob": "^2.0.0",
-        "glob": "^7.1.2",
-        "ignore": "^3.3.5",
-        "pify": "^3.0.0",
-        "slash": "^1.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "good-listener": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
-      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
-      "optional": true,
-      "requires": {
-        "delegate": "^3.1.2"
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
-      "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
-    },
-    "handle-thing": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
-      "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
-      "dev": true
-    },
-    "handlebars": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz",
-      "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==",
-      "dev": true,
-      "requires": {
-        "neo-async": "^2.6.0",
-        "optimist": "^0.6.1",
-        "source-map": "^0.6.1",
-        "uglify-js": "^3.1.4"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
-    },
-    "har-validator": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
-      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.5.5",
-        "har-schema": "^2.0.0"
-      }
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      }
-    },
-    "has-binary2": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
-      "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
-      "dev": true,
-      "requires": {
-        "isarray": "2.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
-          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
-          "dev": true
-        }
-      }
-    },
-    "has-cors": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
-      "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
-      "dev": true
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
-      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
-      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "hosted-git-info": {
-      "version": "2.8.4",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
-      "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
-      "dev": true
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "html-entities": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
-      "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
-      "dev": true
-    },
-    "http-cache-semantics": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
-      "dev": true
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "http-parser-js": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
-      "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
-      "dev": true
-    },
-    "http-proxy": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
-      "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^3.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-agent": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
-      "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
-      "dev": true,
-      "requires": {
-        "agent-base": "4",
-        "debug": "3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "requires": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      }
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "https-proxy-agent": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz",
-      "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==",
-      "dev": true,
-      "requires": {
-        "agent-base": "^4.3.0",
-        "debug": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "humanize-ms": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
-      "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dev": true,
-      "requires": {
-        "ms": "^2.0.0"
-      }
-    },
-    "humanize-url": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz",
-      "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=",
-      "requires": {
-        "normalize-url": "^1.0.0",
-        "strip-url-auth": "^1.0.0"
-      }
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "ieee754": {
-      "version": "1.1.13",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
-      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "ignore": {
-      "version": "3.3.10",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
-      "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
-      "dev": true
-    },
-    "ignore-walk": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
-      "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
-      "dev": true,
-      "requires": {
-        "minimatch": "^3.0.4"
-      }
-    },
-    "image-size": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
-      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
-      "dev": true,
-      "optional": true
-    },
-    "immediate": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
-      "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
-      "dev": true
-    },
-    "import-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
-      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
-      "dev": true,
-      "requires": {
-        "import-from": "^2.1.0"
-      }
-    },
-    "import-fresh": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-      "dev": true,
-      "requires": {
-        "caller-path": "^2.0.0",
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-from": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
-      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "indexof": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
-      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
-      "dev": true
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
-    },
-    "ini": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
-      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
-      "dev": true
-    },
-    "inquirer": {
-      "version": "6.5.1",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.1.tgz",
-      "integrity": "sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^2.4.2",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^2.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.15",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.2.0",
-        "rxjs": "^6.4.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^5.1.0",
-        "through": "^2.3.6"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
-          "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^5.2.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        }
-      }
-    },
-    "internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "dev": true,
-      "requires": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      }
-    },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "invert-kv": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
-      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
-      "dev": true
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true
-    },
-    "ipaddr.js": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
-      "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
-      "dev": true
-    },
-    "is-absolute-url": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz",
-      "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-arguments": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
-      "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
-      "dev": true
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
-      "requires": {
-        "binary-extensions": "^2.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-callable": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
-      "dev": true
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
-      "dev": true
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
-      "dev": true
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-finite": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
-      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
-      "dev": true,
-      "requires": {
-        "number-is-nan": "^1.0.0"
-      }
-    },
-    "is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true
-    },
-    "is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^2.1.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
-      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.2"
-      }
-    },
-    "is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
-      "dev": true
-    },
-    "is-regex": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
-      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.1"
-      }
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true
-    },
-    "is-symbol": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
-      "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.0"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isbinaryfile": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
-      "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
-      "dev": true,
-      "requires": {
-        "buffer-alloc": "^1.2.0"
-      }
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "istanbul-api": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz",
-      "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "compare-versions": "^3.4.0",
-        "fileset": "^2.0.3",
-        "istanbul-lib-coverage": "^2.0.5",
-        "istanbul-lib-hook": "^2.0.7",
-        "istanbul-lib-instrument": "^3.3.0",
-        "istanbul-lib-report": "^2.0.8",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^2.2.4",
-        "js-yaml": "^3.13.1",
-        "make-dir": "^2.1.0",
-        "minimatch": "^3.0.4",
-        "once": "^1.4.0"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "istanbul-lib-instrument": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
-          "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
-          "dev": true,
-          "requires": {
-            "@babel/generator": "^7.4.0",
-            "@babel/parser": "^7.4.3",
-            "@babel/template": "^7.4.0",
-            "@babel/traverse": "^7.4.3",
-            "@babel/types": "^7.4.0",
-            "istanbul-lib-coverage": "^2.0.5",
-            "semver": "^6.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-instrumenter-loader": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
-      "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.5.0",
-        "istanbul-lib-instrument": "^1.7.3",
-        "loader-utils": "^1.1.0",
-        "schema-utils": "^0.3.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "5.5.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
-          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
-          "dev": true,
-          "requires": {
-            "co": "^4.6.0",
-            "fast-deep-equal": "^1.0.0",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.3.0"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
-          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
-          "dev": true
-        },
-        "json-schema-traverse": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
-          "dev": true
-        },
-        "schema-utils": {
-          "version": "0.3.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
-          "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
-          "dev": true,
-          "requires": {
-            "ajv": "^5.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-coverage": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
-      "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==",
-      "dev": true
-    },
-    "istanbul-lib-hook": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
-      "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
-      "dev": true,
-      "requires": {
-        "append-transform": "^1.0.0"
-      }
-    },
-    "istanbul-lib-instrument": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
-      "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
-      "dev": true,
-      "requires": {
-        "babel-generator": "^6.18.0",
-        "babel-template": "^6.16.0",
-        "babel-traverse": "^6.18.0",
-        "babel-types": "^6.18.0",
-        "babylon": "^6.18.0",
-        "istanbul-lib-coverage": "^1.2.1",
-        "semver": "^5.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-lib-report": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
-      "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-source-maps": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
-      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "rimraf": "^2.6.3",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-reports": {
-      "version": "2.2.6",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
-      "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
-      "dev": true,
-      "requires": {
-        "handlebars": "^4.1.2"
-      }
-    },
-    "jasmine": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
-      "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
-      "dev": true,
-      "requires": {
-        "exit": "^0.1.2",
-        "glob": "^7.0.6",
-        "jasmine-core": "~2.8.0"
-      },
-      "dependencies": {
-        "jasmine-core": {
-          "version": "2.8.0",
-          "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
-          "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
-          "dev": true
-        }
-      }
-    },
-    "jasmine-core": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.4.0.tgz",
-      "integrity": "sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==",
-      "dev": true
-    },
-    "jasmine-spec-reporter": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz",
-      "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==",
-      "dev": true,
-      "requires": {
-        "colors": "1.1.2"
-      }
-    },
-    "jasminewd2": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
-      "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
-      "dev": true
-    },
-    "jquery": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
-      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
-    },
-    "js-levenshtein": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
-      "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
-      "dev": true
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
-    },
-    "js-yaml": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
-      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
-      "dev": true,
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.0"
-      }
-    },
-    "jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-      "requires": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "jsonparse": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
-      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
-      "dev": true
-    },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "jszip": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz",
-      "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==",
-      "dev": true,
-      "requires": {
-        "lie": "~3.3.0",
-        "pako": "~1.0.2",
-        "readable-stream": "~2.3.6",
-        "set-immediate-shim": "~1.0.1"
-      }
-    },
-    "karma": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-4.1.0.tgz",
-      "integrity": "sha512-xckiDqyNi512U4dXGOOSyLKPwek6X/vUizSy2f3geYevbLj+UIdvNwbn7IwfUIL2g1GXEPWt/87qFD1fBbl/Uw==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.3.0",
-        "body-parser": "^1.16.1",
-        "braces": "^2.3.2",
-        "chokidar": "^2.0.3",
-        "colors": "^1.1.0",
-        "connect": "^3.6.0",
-        "core-js": "^2.2.0",
-        "di": "^0.0.1",
-        "dom-serialize": "^2.2.0",
-        "flatted": "^2.0.0",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.1.2",
-        "http-proxy": "^1.13.0",
-        "isbinaryfile": "^3.0.0",
-        "lodash": "^4.17.11",
-        "log4js": "^4.0.0",
-        "mime": "^2.3.1",
-        "minimatch": "^3.0.2",
-        "optimist": "^0.6.1",
-        "qjobs": "^1.1.4",
-        "range-parser": "^1.2.0",
-        "rimraf": "^2.6.0",
-        "safe-buffer": "^5.0.1",
-        "socket.io": "2.1.1",
-        "source-map": "^0.6.1",
-        "tmp": "0.0.33",
-        "useragent": "2.3.0"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "core-js": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
-          "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==",
-          "dev": true
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "dev": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "dev": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "dev": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "dev": true
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        },
-        "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
-          "dev": true
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "karma-chrome-launcher": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
-      "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
-      "dev": true,
-      "requires": {
-        "fs-access": "^1.0.0",
-        "which": "^1.2.1"
-      }
-    },
-    "karma-coverage-istanbul-reporter": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.0.6.tgz",
-      "integrity": "sha512-WFh77RI8bMIKdOvI/1/IBmgnM+Q7NOLhnwG91QJrM8lW+CIXCjTzhhUsT/svLvAkLmR10uWY4RyYbHMLkTglvg==",
-      "dev": true,
-      "requires": {
-        "istanbul-api": "^2.1.6",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "karma-jasmine": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz",
-      "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==",
-      "dev": true,
-      "requires": {
-        "jasmine-core": "^3.3"
-      }
-    },
-    "karma-jasmine-html-reporter": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.4.2.tgz",
-      "integrity": "sha512-7g0gPj8+9JepCNJR9WjDyQ2RkZ375jpdurYQyAYv8PorUCadepl8vrD6LmMqOGcM17cnrynBawQYZHaumgDjBw==",
-      "dev": true
-    },
-    "karma-source-map-support": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz",
-      "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==",
-      "dev": true,
-      "requires": {
-        "source-map-support": "^0.5.5"
-      }
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "kind-of": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-      "dev": true
-    },
-    "lcid": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
-      "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
-      "dev": true,
-      "requires": {
-        "invert-kv": "^2.0.0"
-      }
-    },
-    "less": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
-      "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
-      "dev": true,
-      "requires": {
-        "clone": "^2.1.2",
-        "errno": "^0.1.1",
-        "graceful-fs": "^4.1.2",
-        "image-size": "~0.5.0",
-        "mime": "^1.4.1",
-        "mkdirp": "^0.5.0",
-        "promise": "^7.1.1",
-        "request": "^2.83.0",
-        "source-map": "~0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true,
-          "optional": true
-        }
-      }
-    },
-    "less-loader": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz",
-      "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==",
-      "dev": true,
-      "requires": {
-        "clone": "^2.1.1",
-        "loader-utils": "^1.1.0",
-        "pify": "^4.0.1"
-      }
-    },
-    "license-webpack-plugin": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.2.tgz",
-      "integrity": "sha512-7poZHRla+ae0eEButlwMrPpkXyhNVBf2EHePYWT0jyLnI6311/OXJkTI2sOIRungRpQgU2oDMpro5bSFPT5F0A==",
-      "dev": true,
-      "requires": {
-        "@types/webpack-sources": "^0.1.5",
-        "webpack-sources": "^1.2.0"
-      }
-    },
-    "lie": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
-      "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
-      "dev": true,
-      "requires": {
-        "immediate": "~3.0.5"
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^2.0.0",
-        "json5": "^1.0.1"
-      }
-    },
-    "locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "requires": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.15",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "log4js": {
-      "version": "4.5.1",
-      "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz",
-      "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==",
-      "dev": true,
-      "requires": {
-        "date-format": "^2.0.0",
-        "debug": "^4.1.1",
-        "flatted": "^2.0.0",
-        "rfdc": "^1.1.4",
-        "streamroller": "^1.0.6"
-      }
-    },
-    "loglevel": {
-      "version": "1.6.3",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz",
-      "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==",
-      "dev": true
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dev": true,
-      "requires": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "magic-string": {
-      "version": "0.25.3",
-      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz",
-      "integrity": "sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA==",
-      "dev": true,
-      "requires": {
-        "sourcemap-codec": "^1.4.4"
-      }
-    },
-    "make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "requires": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "make-error": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
-      "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
-      "dev": true
-    },
-    "make-fetch-happen": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz",
-      "integrity": "sha512-nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA==",
-      "dev": true,
-      "requires": {
-        "agentkeepalive": "^3.4.1",
-        "cacache": "^12.0.0",
-        "http-cache-semantics": "^3.8.1",
-        "http-proxy-agent": "^2.1.0",
-        "https-proxy-agent": "^2.2.1",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "node-fetch-npm": "^2.0.2",
-        "promise-retry": "^1.1.1",
-        "socks-proxy-agent": "^4.0.0",
-        "ssri": "^6.0.0"
-      }
-    },
-    "mamacro": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
-      "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
-      "dev": true
-    },
-    "map-age-cleaner": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
-      "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
-      "dev": true,
-      "requires": {
-        "p-defer": "^1.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "mem": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
-      "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
-      "dev": true,
-      "requires": {
-        "map-age-cleaner": "^0.1.1",
-        "mimic-fn": "^2.0.0",
-        "p-is-promise": "^2.0.0"
-      }
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      }
-    },
-    "mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.40.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
-      "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.24",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
-      "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.40.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true
-    },
-    "mini-css-extract-plugin": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz",
-      "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "normalize-url": "1.9.1",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      }
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-      "dev": true
-    },
-    "minipass": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.5.0.tgz",
-      "integrity": "sha512-9FwMVYhn6ERvMR8XFdOavRz4QK/VJV8elU1x50vYexf9lslDcWe/f4HBRxCPd185ekRSjU6CfYyJCECa/CQy7Q==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.2",
-        "yallist": "^3.0.0"
-      }
-    },
-    "minizlib": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
-      "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
-      "dev": true,
-      "requires": {
-        "minipass": "^2.2.1"
-      }
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "dev": true,
-      "requires": {
-        "minimist": "0.0.8"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-          "dev": true
-        }
-      }
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
-      "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
-      "dev": true,
-      "optional": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      }
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
-      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node-fetch-npm": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
-      "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==",
-      "dev": true,
-      "requires": {
-        "encoding": "^0.1.11",
-        "json-parse-better-errors": "^1.0.0",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node-forge": {
-      "version": "0.7.5",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
-      "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
-      "dev": true
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "node-releases": {
-      "version": "1.1.28",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.28.tgz",
-      "integrity": "sha512-AQw4emh6iSXnCpDiFe0phYcThiccmkNWMZnFZ+lDJjAP8J0m2fVd59duvUUyuTirQOhIAajTFkzG6FHCLBO59g==",
-      "dev": true,
-      "requires": {
-        "semver": "^5.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
-    },
-    "normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
-      "dev": true
-    },
-    "normalize-url": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-      "requires": {
-        "object-assign": "^4.0.1",
-        "prepend-http": "^1.0.0",
-        "query-string": "^4.1.0",
-        "sort-keys": "^1.0.0"
-      }
-    },
-    "npm-bundled": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
-      "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
-      "dev": true
-    },
-    "npm-package-arg": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
-      "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.6.0",
-        "osenv": "^0.1.5",
-        "semver": "^5.5.0",
-        "validate-npm-package-name": "^3.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "npm-packlist": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.4.tgz",
-      "integrity": "sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==",
-      "dev": true,
-      "requires": {
-        "ignore-walk": "^3.0.1",
-        "npm-bundled": "^1.0.1"
-      }
-    },
-    "npm-pick-manifest": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz",
-      "integrity": "sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==",
-      "dev": true,
-      "requires": {
-        "figgy-pudding": "^3.5.1",
-        "npm-package-arg": "^6.0.0",
-        "semver": "^5.4.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "npm-registry-fetch": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz",
-      "integrity": "sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw==",
-      "dev": true,
-      "requires": {
-        "JSONStream": "^1.3.4",
-        "bluebird": "^3.5.1",
-        "figgy-pudding": "^3.4.1",
-        "lru-cache": "^5.1.1",
-        "make-fetch-happen": "^5.0.0",
-        "npm-package-arg": "^6.1.0"
-      }
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "null-check": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
-      "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
-      "dev": true
-    },
-    "num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
-      "dev": true
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
-    },
-    "object-component": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
-      "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
-      "dev": true
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-is": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
-      "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
-      "dev": true
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
-      "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "function-bind": "^1.1.1",
-        "has-symbols": "^1.0.0",
-        "object-keys": "^1.0.11"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
-      "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "es-abstract": "^1.5.1"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
-      "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^2.1.0"
-      }
-    },
-    "open": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
-      "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "optimist": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
-      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
-      "dev": true,
-      "requires": {
-        "minimist": "~0.0.1",
-        "wordwrap": "~0.0.2"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "0.0.10",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
-          "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
-          "dev": true
-        }
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-locale": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
-      "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "lcid": "^2.0.0",
-        "mem": "^4.0.0"
-      }
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "osenv": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
-      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.0"
-      }
-    },
-    "p-defer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
-      "dev": true
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
-      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
-      "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
-      "dev": true,
-      "requires": {
-        "p-try": "^2.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "requires": {
-        "p-limit": "^2.0.0"
-      }
-    },
-    "p-map": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-      "dev": true
-    },
-    "p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
-      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
-      "dev": true,
-      "requires": {
-        "retry": "^0.12.0"
-      }
-    },
-    "p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
-    },
-    "pacote": {
-      "version": "9.5.5",
-      "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.5.tgz",
-      "integrity": "sha512-jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.3",
-        "cacache": "^12.0.2",
-        "figgy-pudding": "^3.5.1",
-        "get-stream": "^4.1.0",
-        "glob": "^7.1.3",
-        "infer-owner": "^1.0.4",
-        "lru-cache": "^5.1.1",
-        "make-fetch-happen": "^5.0.0",
-        "minimatch": "^3.0.4",
-        "minipass": "^2.3.5",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "normalize-package-data": "^2.4.0",
-        "npm-package-arg": "^6.1.0",
-        "npm-packlist": "^1.1.12",
-        "npm-pick-manifest": "^2.2.3",
-        "npm-registry-fetch": "^4.0.0",
-        "osenv": "^0.1.5",
-        "promise-inflight": "^1.0.1",
-        "promise-retry": "^1.1.1",
-        "protoduck": "^5.0.1",
-        "rimraf": "^2.6.2",
-        "safe-buffer": "^5.1.2",
-        "semver": "^5.6.0",
-        "ssri": "^6.0.1",
-        "tar": "^4.4.8",
-        "unique-filename": "^1.1.1",
-        "which": "^1.3.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "pako": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
-      "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
-      "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
-      "dev": true,
-      "requires": {
-        "cyclist": "~0.2.2",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
-      "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^4.0.0",
-        "browserify-aes": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-      "dev": true,
-      "requires": {
-        "error-ex": "^1.3.1",
-        "json-parse-better-errors": "^1.0.1"
-      }
-    },
-    "parse5": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
-      "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
-      "dev": true
-    },
-    "parseqs": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
-      "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
-      "dev": true,
-      "requires": {
-        "better-assert": "~1.0.0"
-      }
-    },
-    "parseuri": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
-      "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
-      "dev": true,
-      "requires": {
-        "better-assert": "~1.0.0"
-      }
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
-      "dev": true
-    },
-    "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "path-type": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
-      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
-      "dev": true,
-      "requires": {
-        "pify": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "pbkdf2": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
-      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "picomatch": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
-      "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
-      "dev": true
-    },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "requires": {
-        "find-up": "^3.0.0"
-      }
-    },
-    "portfinder": {
-      "version": "1.0.23",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.23.tgz",
-      "integrity": "sha512-B729mL/uLklxtxuiJKfQ84WPxNw5a7Yhx3geQZdcA4GjNjZSTSSMMWyoennMVnTWSmAR0lMdzWYN0JLnHrg1KQ==",
-      "dev": true,
-      "requires": {
-        "async": "^1.5.2",
-        "debug": "^2.2.0",
-        "mkdirp": "0.5.x"
-      },
-      "dependencies": {
-        "async": {
-          "version": "1.5.2",
-          "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
-          "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "postcss": {
-      "version": "7.0.17",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz",
-      "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-import": {
-      "version": "12.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz",
-      "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.1",
-        "postcss-value-parser": "^3.2.3",
-        "read-cache": "^1.0.0",
-        "resolve": "^1.1.7"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-load-config": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz",
-      "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "import-cwd": "^2.0.0"
-      }
-    },
-    "postcss-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
-      "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "postcss": "^7.0.0",
-        "postcss-load-config": "^2.0.0",
-        "schema-utils": "^1.0.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
-      "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==",
-      "dev": true
-    },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
-    },
-    "prismjs": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz",
-      "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==",
-      "requires": {
-        "clipboard": "^2.0.0"
-      }
-    },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "promise": {
-      "version": "7.3.1",
-      "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
-      "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "asap": "~2.0.3"
-      }
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "promise-retry": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
-      "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
-      "dev": true,
-      "requires": {
-        "err-code": "^1.0.0",
-        "retry": "^0.10.0"
-      },
-      "dependencies": {
-        "retry": {
-          "version": "0.10.1",
-          "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
-          "dev": true
-        }
-      }
-    },
-    "protoduck": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
-      "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
-      "dev": true,
-      "requires": {
-        "genfun": "^5.0.0"
-      }
-    },
-    "protractor": {
-      "version": "5.4.2",
-      "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz",
-      "integrity": "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==",
-      "dev": true,
-      "requires": {
-        "@types/q": "^0.0.32",
-        "@types/selenium-webdriver": "^3.0.0",
-        "blocking-proxy": "^1.0.0",
-        "browserstack": "^1.5.1",
-        "chalk": "^1.1.3",
-        "glob": "^7.0.3",
-        "jasmine": "2.8.0",
-        "jasminewd2": "^2.1.0",
-        "optimist": "~0.6.0",
-        "q": "1.4.1",
-        "saucelabs": "^1.5.0",
-        "selenium-webdriver": "3.6.0",
-        "source-map-support": "~0.4.0",
-        "webdriver-js-extender": "2.1.0",
-        "webdriver-manager": "^12.0.6"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "del": {
-          "version": "2.2.2",
-          "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
-          "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
-          "dev": true,
-          "requires": {
-            "globby": "^5.0.0",
-            "is-path-cwd": "^1.0.0",
-            "is-path-in-cwd": "^1.0.0",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0",
-            "rimraf": "^2.2.8"
-          }
-        },
-        "globby": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
-          "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "arrify": "^1.0.0",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "is-path-cwd": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
-          "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
-          "dev": true
-        },
-        "is-path-in-cwd": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
-          "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
-          "dev": true,
-          "requires": {
-            "is-path-inside": "^1.0.0"
-          }
-        },
-        "is-path-inside": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
-          "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
-          "dev": true,
-          "requires": {
-            "path-is-inside": "^1.0.1"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        },
-        "source-map-support": {
-          "version": "0.4.18",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
-          "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
-          "dev": true,
-          "requires": {
-            "source-map": "^0.5.6"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        },
-        "webdriver-manager": {
-          "version": "12.1.6",
-          "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.6.tgz",
-          "integrity": "sha512-B1mOycNCrbk7xODw7Jgq/mdD3qzPxMaTsnKIQDy2nXlQoyjTrJTTD0vRpEZI9b8RibPEyQvh9zIZ0M1mpOxS3w==",
-          "dev": true,
-          "requires": {
-            "adm-zip": "^0.4.9",
-            "chalk": "^1.1.1",
-            "del": "^2.2.0",
-            "glob": "^7.0.3",
-            "ini": "^1.3.4",
-            "minimist": "^1.2.0",
-            "q": "^1.4.1",
-            "request": "^2.87.0",
-            "rimraf": "^2.5.2",
-            "semver": "^5.3.0",
-            "xml2js": "^0.4.17"
-          }
-        }
-      }
-    },
-    "proxy-addr": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
-      "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
-      "dev": true,
-      "requires": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.0"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "psl": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz",
-      "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "q": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
-      "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
-      "dev": true
-    },
-    "qjobs": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
-      "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
-      "dev": true
-    },
-    "query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "requires": {
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      }
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "querystringify": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
-      "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
-      "dev": true
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        }
-      }
-    },
-    "raw-loader": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-3.1.0.tgz",
-      "integrity": "sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "schema-utils": "^2.0.1"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz",
-          "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "read-cache": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
-      "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
-      "dev": true,
-      "requires": {
-        "pify": "^2.3.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "read-package-json": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz",
-      "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.1.2",
-        "json-parse-better-errors": "^1.0.1",
-        "normalize-package-data": "^2.0.0",
-        "slash": "^1.0.0"
-      }
-    },
-    "read-package-tree": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
-      "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
-      "dev": true,
-      "requires": {
-        "read-package-json": "^2.0.0",
-        "readdir-scoped-modules": "^1.0.0",
-        "util-promisify": "^2.1.0"
-      }
-    },
-    "readable-stream": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-      "dev": true,
-      "requires": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "readdir-scoped-modules": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
-      "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
-      "dev": true,
-      "requires": {
-        "debuglog": "^1.0.1",
-        "dezalgo": "^1.0.0",
-        "graceful-fs": "^4.1.2",
-        "once": "^1.3.0"
-      }
-    },
-    "readdirp": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz",
-      "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==",
-      "dev": true,
-      "requires": {
-        "picomatch": "^2.0.4"
-      }
-    },
-    "reflect-metadata": {
-      "version": "0.1.13",
-      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
-      "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
-      "dev": true
-    },
-    "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
-      "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
-    },
-    "regenerator-transform": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
-      "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
-      "dev": true,
-      "requires": {
-        "private": "^0.1.6"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regexp-tree": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.12.tgz",
-      "integrity": "sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ==",
-      "dev": true
-    },
-    "regexp.prototype.flags": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
-      "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2"
-      }
-    },
-    "regexpu-core": {
-      "version": "4.5.5",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-      "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^8.1.0",
-        "regjsgen": "^0.5.0",
-        "regjsparser": "^0.6.0",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.1.0"
-      }
-    },
-    "regjsgen": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-      "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-      "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "repeating": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-      "dev": true,
-      "requires": {
-        "is-finite": "^1.0.0"
-      }
-    },
-    "request": {
-      "version": "2.88.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
-      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
-      "dev": true,
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.0",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.4.3",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resolve": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
-      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
-      "dev": true,
-      "requires": {
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "restore-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-      "dev": true,
-      "requires": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true
-    },
-    "rfdc": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
-      "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "run-async": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
-      "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "dev": true,
-      "requires": {
-        "is-promise": "^2.1.0"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "rxjs": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
-      "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "sass": {
-      "version": "1.22.9",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.22.9.tgz",
-      "integrity": "sha512-FzU1X2V8DlnqabrL4u7OBwD2vcOzNMongEJEx3xMEhWY/v26FFR3aG0hyeu2T965sfR0E9ufJwmG+Qjz78vFPQ==",
-      "dev": true,
-      "requires": {
-        "chokidar": ">=2.0.0 <4.0.0"
-      }
-    },
-    "sass-loader": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.2.0.tgz",
-      "integrity": "sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA==",
-      "dev": true,
-      "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.0.1",
-        "neo-async": "^2.5.0",
-        "pify": "^4.0.1",
-        "semver": "^5.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "saucelabs": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
-      "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
-      "dev": true,
-      "requires": {
-        "https-proxy-agent": "^2.2.1"
-      }
-    },
-    "sax": {
-      "version": "0.5.8",
-      "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
-      "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
-      "dev": true
-    },
-    "schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      }
-    },
-    "select": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
-      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
-      "optional": true
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "selenium-webdriver": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
-      "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
-      "dev": true,
-      "requires": {
-        "jszip": "^3.1.3",
-        "rimraf": "^2.5.4",
-        "tmp": "0.0.30",
-        "xml2js": "^0.4.17"
-      },
-      "dependencies": {
-        "tmp": {
-          "version": "0.0.30",
-          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
-          "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
-          "dev": true,
-          "requires": {
-            "os-tmpdir": "~1.0.1"
-          }
-        }
-      }
-    },
-    "selfsigned": {
-      "version": "1.10.4",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz",
-      "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==",
-      "dev": true,
-      "requires": {
-        "node-forge": "0.7.5"
-      }
-    },
-    "semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true
-    },
-    "semver-dsl": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz",
-      "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=",
-      "dev": true,
-      "requires": {
-        "semver": "^5.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "semver-intersect": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
-      "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
-      "dev": true,
-      "requires": {
-        "semver": "^5.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-              "dev": true
-            }
-          }
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.8.0.tgz",
-      "integrity": "sha512-3tHgtF4OzDmeKYj6V9nSyceRS0UJ3C7VqyD2Yj28vC/z2j6jG5FmFGahOKMD9CrglxTm3tETr87jEypaYV8DUg==",
-      "dev": true
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "dev": true,
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-          "dev": true
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-immediate-shim": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
-      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shallow-clone": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
-      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.2"
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true
-    },
-    "signal-exit": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
-      "dev": true
-    },
-    "slash": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
-      "dev": true
-    },
-    "smart-buffer": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz",
-      "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==",
-      "dev": true
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "socket.io": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
-      "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
-      "dev": true,
-      "requires": {
-        "debug": "~3.1.0",
-        "engine.io": "~3.2.0",
-        "has-binary2": "~1.0.2",
-        "socket.io-adapter": "~1.1.0",
-        "socket.io-client": "2.1.1",
-        "socket.io-parser": "~3.2.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "socket.io-adapter": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
-      "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
-      "dev": true
-    },
-    "socket.io-client": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
-      "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
-      "dev": true,
-      "requires": {
-        "backo2": "1.0.2",
-        "base64-arraybuffer": "0.1.5",
-        "component-bind": "1.0.0",
-        "component-emitter": "1.2.1",
-        "debug": "~3.1.0",
-        "engine.io-client": "~3.2.0",
-        "has-binary2": "~1.0.2",
-        "has-cors": "1.1.0",
-        "indexof": "0.0.1",
-        "object-component": "0.0.3",
-        "parseqs": "0.0.5",
-        "parseuri": "0.0.5",
-        "socket.io-parser": "~3.2.0",
-        "to-array": "0.1.4"
-      },
-      "dependencies": {
-        "component-emitter": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-          "dev": true
-        },
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "socket.io-parser": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
-      "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
-      "dev": true,
-      "requires": {
-        "component-emitter": "1.2.1",
-        "debug": "~3.1.0",
-        "isarray": "2.0.1"
-      },
-      "dependencies": {
-        "component-emitter": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-          "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-          "dev": true
-        },
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "isarray": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
-          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "sockjs": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
-      "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.0.1"
-      }
-    },
-    "sockjs-client": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
-      "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.5",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "~0.11.1",
-        "inherits": "^2.0.3",
-        "json3": "^3.3.2",
-        "url-parse": "^1.4.3"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "faye-websocket": {
-          "version": "0.11.3",
-          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-          "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-          "dev": true,
-          "requires": {
-            "websocket-driver": ">=0.5.1"
-          }
-        }
-      }
-    },
-    "socks": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz",
-      "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.5",
-        "smart-buffer": "4.0.2"
-      }
-    },
-    "socks-proxy-agent": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
-      "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
-      "dev": true,
-      "requires": {
-        "agent-base": "~4.2.1",
-        "socks": "~2.3.2"
-      },
-      "dependencies": {
-        "agent-base": {
-          "version": "4.2.1",
-          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
-          "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
-          "dev": true,
-          "requires": {
-            "es6-promisify": "^5.0.0"
-          }
-        }
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "requires": {
-        "is-plain-obj": "^1.0.0"
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true
-    },
-    "source-map-loader": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
-      "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
-      "dev": true,
-      "requires": {
-        "async": "^2.5.0",
-        "loader-utils": "^1.1.0"
-      }
-    },
-    "source-map-resolve": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
-      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.1",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.13",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
-      "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
-    },
-    "sourcemap-codec": {
-      "version": "1.4.6",
-      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz",
-      "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==",
-      "dev": true
-    },
-    "spdx-correct": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
-      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
-      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
-      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
-      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
-      "dev": true
-    },
-    "spdy": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
-      "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
-          "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        }
-      }
-    },
-    "speed-measure-webpack-plugin": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz",
-      "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.0.1"
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "sshpk": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
-      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
-      "dev": true,
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "ssri": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
-      "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-      "dev": true,
-      "requires": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
-      "dev": true
-    },
-    "streamroller": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
-      "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "date-format": "^2.0.0",
-        "debug": "^3.2.6",
-        "fs-extra": "^7.0.1",
-        "lodash": "^4.17.14"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
-    },
-    "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      }
-    },
-    "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-outer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
-      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
-      "requires": {
-        "escape-string-regexp": "^1.0.2"
-      }
-    },
-    "strip-url-auth": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz",
-      "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164="
-    },
-    "style-loader": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz",
-      "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.0.1"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.1.0.tgz",
-          "integrity": "sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "stylus": {
-      "version": "0.54.5",
-      "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz",
-      "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
-      "dev": true,
-      "requires": {
-        "css-parse": "1.7.x",
-        "debug": "*",
-        "glob": "7.0.x",
-        "mkdirp": "0.5.x",
-        "sax": "0.5.x",
-        "source-map": "0.1.x"
-      },
-      "dependencies": {
-        "glob": {
-          "version": "7.0.6",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
-          "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.2",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "source-map": {
-          "version": "0.1.43",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
-          "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
-          "dev": true,
-          "requires": {
-            "amdefine": ">=0.0.4"
-          }
-        }
-      }
-    },
-    "stylus-loader": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz",
-      "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.0.2",
-        "lodash.clonedeep": "^4.5.0",
-        "when": "~3.6.x"
-      }
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "symbol-observable": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
-      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
-      "dev": true
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true
-    },
-    "tar": {
-      "version": "4.4.10",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz",
-      "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==",
-      "dev": true,
-      "requires": {
-        "chownr": "^1.1.1",
-        "fs-minipass": "^1.2.5",
-        "minipass": "^2.3.5",
-        "minizlib": "^1.2.1",
-        "mkdirp": "^0.5.0",
-        "safe-buffer": "^5.1.2",
-        "yallist": "^3.0.3"
-      }
-    },
-    "terser": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.4.tgz",
-      "integrity": "sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
-      "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
-      "dev": true,
-      "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^1.7.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "dependencies": {
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "thunky": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
-      "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
-      "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "tiny-emitter": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
-      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
-      "optional": true
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "to-array": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
-      "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
-      "dev": true
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "requires": {
-        "is-number": "^7.0.0"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true
-    },
-    "tough-cookie": {
-      "version": "2.4.3",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
-      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
-      "dev": true,
-      "requires": {
-        "psl": "^1.1.24",
-        "punycode": "^1.4.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "tree-kill": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz",
-      "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==",
-      "dev": true
-    },
-    "trim-repeated": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
-      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
-      "requires": {
-        "escape-string-regexp": "^1.0.2"
-      }
-    },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
-    },
-    "ts-node": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
-      "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
-      "dev": true,
-      "requires": {
-        "arrify": "^1.0.0",
-        "buffer-from": "^1.1.0",
-        "diff": "^3.1.0",
-        "make-error": "^1.1.1",
-        "minimist": "^1.2.0",
-        "mkdirp": "^0.5.1",
-        "source-map-support": "^0.5.6",
-        "yn": "^2.0.0"
-      }
-    },
-    "tslib": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
-      "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
-    },
-    "tslint": {
-      "version": "5.15.0",
-      "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz",
-      "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==",
-      "dev": true,
-      "requires": {
-        "babel-code-frame": "^6.22.0",
-        "builtin-modules": "^1.1.1",
-        "chalk": "^2.3.0",
-        "commander": "^2.12.1",
-        "diff": "^3.2.0",
-        "glob": "^7.1.1",
-        "js-yaml": "^3.13.0",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "resolve": "^1.3.2",
-        "semver": "^5.3.0",
-        "tslib": "^1.8.0",
-        "tsutils": "^2.29.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "tsutils": {
-      "version": "2.29.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
-      "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.8.1"
-      }
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
-    },
-    "type-fest": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz",
-      "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "typescript": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
-      "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
-      "dev": true
-    },
-    "uglify-js": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
-      "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "commander": "~2.20.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true,
-          "optional": true
-        }
-      }
-    },
-    "ultron": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
-      "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
-      "dev": true
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
-      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "universal-analytics": {
-      "version": "0.4.20",
-      "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
-      "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.0.0",
-        "request": "^2.88.0",
-        "uuid": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
-      "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
-      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "url-parse": {
-      "version": "1.4.7",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
-      "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
-      "dev": true,
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "useragent": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
-      "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
-      "dev": true,
-      "requires": {
-        "lru-cache": "4.1.x",
-        "tmp": "0.0.x"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "4.1.5",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
-          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
-          "dev": true,
-          "requires": {
-            "pseudomap": "^1.0.2",
-            "yallist": "^2.1.2"
-          }
-        },
-        "yallist": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
-          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-          "dev": true
-        }
-      }
-    },
-    "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "util-promisify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
-      "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
-      "dev": true,
-      "requires": {
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
-      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "validate-npm-package-name": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
-      "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
-      "dev": true,
-      "requires": {
-        "builtins": "^1.0.3"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "vm-browserify": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz",
-      "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==",
-      "dev": true
-    },
-    "void-elements": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
-      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
-      "dev": true
-    },
-    "watchpack": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
-      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "dev": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "dev": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "dev": true
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "webdriver-js-extender": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
-      "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
-      "dev": true,
-      "requires": {
-        "@types/selenium-webdriver": "^3.0.0",
-        "selenium-webdriver": "^3.0.1"
-      }
-    },
-    "webpack": {
-      "version": "4.39.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.2.tgz",
-      "integrity": "sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/wasm-edit": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "acorn": "^6.2.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.1.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.1",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.1",
-        "watchpack": "^1.6.0",
-        "webpack-sources": "^1.4.1"
-      }
-    },
-    "webpack-core": {
-      "version": "0.6.9",
-      "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
-      "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
-      "dev": true,
-      "requires": {
-        "source-list-map": "~0.1.7",
-        "source-map": "~0.4.1"
-      },
-      "dependencies": {
-        "source-list-map": {
-          "version": "0.1.8",
-          "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
-          "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.4.4",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
-          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-          "dev": true,
-          "requires": {
-            "amdefine": ">=0.0.4"
-          }
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz",
-      "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.2",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-dev-server": {
-      "version": "3.8.0",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.0.tgz",
-      "integrity": "sha512-Hs8K9yI6pyMvGkaPTeTonhD6JXVsigXDApYk9JLW4M7viVBspQvb1WdAcWxqtmttxNW4zf2UFLsLNe0y87pIGQ==",
-      "dev": true,
-      "requires": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.6",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.2.1",
-        "http-proxy-middleware": "^0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.0",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.3",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.21",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.4",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "0.3.19",
-        "sockjs-client": "1.3.0",
-        "spdy": "^4.0.1",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.0",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "12.0.5"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.9",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-          "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "nan": "^2.12.1",
-            "node-pre-gyp": "^0.12.0"
-          },
-          "dependencies": {
-            "abbrev": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "ansi-regex": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true
-            },
-            "aproba": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "are-we-there-yet": {
-              "version": "1.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^2.0.6"
-              }
-            },
-            "balanced-match": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "brace-expansion": {
-              "version": "1.1.11",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "balanced-match": "^1.0.0",
-                "concat-map": "0.0.1"
-              }
-            },
-            "chownr": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "code-point-at": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true
-            },
-            "concat-map": {
-              "version": "0.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "console-control-strings": {
-              "version": "1.1.0",
-              "bundled": true,
-              "dev": true
-            },
-            "core-util-is": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "debug": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ms": "^2.1.1"
-              }
-            },
-            "deep-extend": {
-              "version": "0.6.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "delegates": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "detect-libc": {
-              "version": "1.0.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "fs-minipass": {
-              "version": "1.2.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "fs.realpath": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "gauge": {
-              "version": "2.7.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "aproba": "^1.0.3",
-                "console-control-strings": "^1.0.0",
-                "has-unicode": "^2.0.0",
-                "object-assign": "^4.1.0",
-                "signal-exit": "^3.0.0",
-                "string-width": "^1.0.1",
-                "strip-ansi": "^3.0.1",
-                "wide-align": "^1.1.0"
-              }
-            },
-            "glob": {
-              "version": "7.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "fs.realpath": "^1.0.0",
-                "inflight": "^1.0.4",
-                "inherits": "2",
-                "minimatch": "^3.0.4",
-                "once": "^1.3.0",
-                "path-is-absolute": "^1.0.0"
-              }
-            },
-            "has-unicode": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "iconv-lite": {
-              "version": "0.4.24",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safer-buffer": ">= 2.1.2 < 3"
-              }
-            },
-            "ignore-walk": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minimatch": "^3.0.4"
-              }
-            },
-            "inflight": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "once": "^1.3.0",
-                "wrappy": "1"
-              }
-            },
-            "inherits": {
-              "version": "2.0.3",
-              "bundled": true,
-              "dev": true
-            },
-            "ini": {
-              "version": "1.3.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "is-fullwidth-code-point": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "number-is-nan": "^1.0.0"
-              }
-            },
-            "isarray": {
-              "version": "1.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minimatch": {
-              "version": "3.0.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "brace-expansion": "^1.1.7"
-              }
-            },
-            "minimist": {
-              "version": "0.0.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "minipass": {
-              "version": "2.3.5",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.0"
-              }
-            },
-            "minizlib": {
-              "version": "1.2.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "minipass": "^2.2.1"
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "minimist": "0.0.8"
-              }
-            },
-            "ms": {
-              "version": "2.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "needle": {
-              "version": "2.3.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "debug": "^4.1.0",
-                "iconv-lite": "^0.4.4",
-                "sax": "^1.2.4"
-              }
-            },
-            "node-pre-gyp": {
-              "version": "0.12.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "detect-libc": "^1.0.2",
-                "mkdirp": "^0.5.1",
-                "needle": "^2.2.1",
-                "nopt": "^4.0.1",
-                "npm-packlist": "^1.1.6",
-                "npmlog": "^4.0.2",
-                "rc": "^1.2.7",
-                "rimraf": "^2.6.1",
-                "semver": "^5.3.0",
-                "tar": "^4"
-              }
-            },
-            "nopt": {
-              "version": "4.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "abbrev": "1",
-                "osenv": "^0.1.4"
-              }
-            },
-            "npm-bundled": {
-              "version": "1.0.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "npm-packlist": {
-              "version": "1.4.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "ignore-walk": "^3.0.1",
-                "npm-bundled": "^1.0.1"
-              }
-            },
-            "npmlog": {
-              "version": "4.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "are-we-there-yet": "~1.1.2",
-                "console-control-strings": "~1.1.0",
-                "gauge": "~2.7.3",
-                "set-blocking": "~2.0.0"
-              }
-            },
-            "number-is-nan": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true
-            },
-            "object-assign": {
-              "version": "4.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "once": {
-              "version": "1.4.0",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "wrappy": "1"
-              }
-            },
-            "os-homedir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "os-tmpdir": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "osenv": {
-              "version": "0.1.5",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "os-homedir": "^1.0.0",
-                "os-tmpdir": "^1.0.0"
-              }
-            },
-            "path-is-absolute": {
-              "version": "1.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "process-nextick-args": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "rc": {
-              "version": "1.2.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "deep-extend": "^0.6.0",
-                "ini": "~1.3.0",
-                "minimist": "^1.2.0",
-                "strip-json-comments": "~2.0.1"
-              },
-              "dependencies": {
-                "minimist": {
-                  "version": "1.2.0",
-                  "bundled": true,
-                  "dev": true,
-                  "optional": true
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "2.3.6",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.3",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~2.0.0",
-                "safe-buffer": "~5.1.1",
-                "string_decoder": "~1.1.1",
-                "util-deprecate": "~1.0.1"
-              }
-            },
-            "rimraf": {
-              "version": "2.6.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "glob": "^7.1.3"
-              }
-            },
-            "safe-buffer": {
-              "version": "5.1.2",
-              "bundled": true,
-              "dev": true
-            },
-            "safer-buffer": {
-              "version": "2.1.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "sax": {
-              "version": "1.2.4",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "semver": {
-              "version": "5.7.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "set-blocking": {
-              "version": "2.0.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "signal-exit": {
-              "version": "3.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "string-width": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "code-point-at": "^1.0.0",
-                "is-fullwidth-code-point": "^1.0.0",
-                "strip-ansi": "^3.0.0"
-              }
-            },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "3.0.1",
-              "bundled": true,
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^2.0.0"
-              }
-            },
-            "strip-json-comments": {
-              "version": "2.0.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "tar": {
-              "version": "4.4.8",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "chownr": "^1.1.1",
-                "fs-minipass": "^1.2.5",
-                "minipass": "^2.3.4",
-                "minizlib": "^1.1.1",
-                "mkdirp": "^0.5.0",
-                "safe-buffer": "^5.1.2",
-                "yallist": "^3.0.2"
-              }
-            },
-            "util-deprecate": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            },
-            "wide-align": {
-              "version": "1.1.3",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "string-width": "^1.0.2 || 2"
-              }
-            },
-            "wrappy": {
-              "version": "1.0.2",
-              "bundled": true,
-              "dev": true
-            },
-            "yallist": {
-              "version": "3.0.3",
-              "bundled": true,
-              "dev": true
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "webpack-merge": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz",
-      "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.5"
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-subresource-integrity": {
-      "version": "1.1.0-rc.6",
-      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz",
-      "integrity": "sha512-Az7y8xTniNhaA0620AV1KPwWOqawurVVDzQSpPAeR5RwNbL91GoBSJAAo9cfd+GiFHwsS5bbHepBw1e6Hzxy4w==",
-      "dev": true,
-      "requires": {
-        "webpack-core": "^0.6.8"
-      }
-    },
-    "websocket-driver": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
-      "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
-      "dev": true,
-      "requires": {
-        "http-parser-js": ">=0.4.0 <0.4.11",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
-      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
-      "dev": true
-    },
-    "when": {
-      "version": "3.6.4",
-      "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
-      "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
-      "dev": true
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "wordwrap": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
-      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
-      "dev": true
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "worker-plugin": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-3.2.0.tgz",
-      "integrity": "sha512-W5nRkw7+HlbsEt3qRP6MczwDDISjiRj2GYt9+bpe8A2La00TmJdwzG5bpdMXhRt1qcWmwAvl1TiKaHRa+XDS9Q==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0"
-      }
-    },
-    "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
-    },
-    "ws": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-      "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
-      "dev": true,
-      "requires": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "xml2js": {
-      "version": "0.4.19",
-      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
-      "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
-      "dev": true,
-      "requires": {
-        "sax": ">=0.6.0",
-        "xmlbuilder": "~9.0.1"
-      },
-      "dependencies": {
-        "sax": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-          "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-          "dev": true
-        }
-      }
-    },
-    "xmlbuilder": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
-      "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
-      "dev": true
-    },
-    "xmlhttprequest-ssl": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
-      "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
-      "dev": true
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
-    },
-    "y18n": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
-      "dev": true
-    },
-    "yallist": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
-      "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
-      "dev": true
-    },
-    "yargs": {
-      "version": "12.0.5",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
-      "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
-      "dev": true,
-      "requires": {
-        "cliui": "^4.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^1.0.1",
-        "os-locale": "^3.0.0",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^1.0.1",
-        "set-blocking": "^2.0.0",
-        "string-width": "^2.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^3.2.1 || ^4.0.0",
-        "yargs-parser": "^11.1.1"
-      }
-    },
-    "yargs-parser": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
-      "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    },
-    "yeast": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
-      "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
-      "dev": true
-    },
-    "yn": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
-      "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
-      "dev": true
-    },
-    "zone.js": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.9.1.tgz",
-      "integrity": "sha512-GkPiJL8jifSrKReKaTZ5jkhrMEgXbXYC+IPo1iquBjayRa0q86w3Dipjn8b415jpitMExe9lV8iTsv8tk3DGag=="
-    }
-  }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index 587d8a6..0000000
--- a/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-  "name": "algorithms-visualizer",
-  "version": "0.0.0",
-  "scripts": {
-    "ng": "ng",
-    "start": "ng serve",
-    "build": "ng build",
-    "test": "ng test",
-    "lint": "ng lint",
-    "e2e": "ng e2e"
-  },
-  "private": true,
-  "dependencies": {
-    "@angular/animations": "^8.2.4",
-    "@angular/cdk": "^8.1.4",
-    "@angular/common": "~8.2.3",
-    "@angular/compiler": "~8.2.3",
-    "@angular/core": "~8.2.3",
-    "@angular/forms": "~8.2.3",
-    "@angular/material": "^8.1.4",
-    "@angular/platform-browser": "~8.2.3",
-    "@angular/platform-browser-dynamic": "~8.2.3",
-    "@angular/router": "~8.2.3",
-    "@ng-bootstrap/ng-bootstrap": "^5.1.0",
-    "angular-cli-ghpages": "^0.6.0",
-    "bootstrap": "^4.3.1",
-    "jquery": "^3.4.1",
-    "prismjs": "^1.17.1",
-    "rxjs": "~6.4.0",
-    "tslib": "^1.10.0",
-    "zone.js": "~0.9.1"
-  },
-  "devDependencies": {
-    "@angular-devkit/build-angular": "~0.803.1",
-    "@angular/cli": "~8.3.1",
-    "@angular/compiler-cli": "~8.2.3",
-    "@angular/language-service": "~8.2.3",
-    "@types/node": "~8.9.4",
-    "@types/jasmine": "~3.3.8",
-    "@types/jasminewd2": "~2.0.3",
-    "codelyzer": "^5.0.0",
-    "jasmine-core": "~3.4.0",
-    "jasmine-spec-reporter": "~4.2.1",
-    "karma": "~4.1.0",
-    "karma-chrome-launcher": "~2.2.0",
-    "karma-coverage-istanbul-reporter": "~2.0.1",
-    "karma-jasmine": "~2.0.1",
-    "karma-jasmine-html-reporter": "^1.4.0",
-    "protractor": "~5.4.0",
-    "ts-node": "~7.0.0",
-    "tslint": "~5.15.0",
-    "typescript": "~3.5.3"
-  }
-}
diff --git a/polyfills-es2015.e70eeab0d45d5f9db57f.js b/polyfills-es2015.e70eeab0d45d5f9db57f.js
new file mode 100644
index 0000000..67c10d8
--- /dev/null
+++ b/polyfills-es2015.e70eeab0d45d5f9db57f.js
@@ -0,0 +1 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{2:function(e,t,n){e.exports=n("hN/g")},"hN/g":function(e,t,n){"use strict";n.r(t),n("pDpN")},pDpN:function(e,t){!function(e){const t=e.performance;function n(e){t&&t.mark&&t.mark(e)}function o(e,n){t&&t.measure&&t.measure(e,n)}n("Zone");const r=!0===e.__zone_symbol__forceDuplicateZoneCheck;if(e.Zone){if(r||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}class s{constructor(e,t){this._parent=e,this._name=t?t.name||"unnamed":"<root>",this._properties=t&&t.properties||{},this._zoneDelegate=new a(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(e.Promise!==D.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=s.current;for(;e.parent;)e=e.parent;return e}static get current(){return P.zone}static get currentTask(){return z}static __load_patch(t,i){if(D.hasOwnProperty(t)){if(r)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const r="Zone:"+t;n(r),D[t]=i(e,s,O),o(r,r)}}get parent(){return this._parent}get name(){return this._name}get(e){const t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(t._properties.hasOwnProperty(e))return t;t=t._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,t){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const n=this._zoneDelegate.intercept(this,e,t),o=this;return function(){return o.runGuarded(n,this,arguments,t)}}run(e,t,n,o){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,o)}finally{P=P.parent}}runGuarded(e,t=null,n,o){P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,o)}catch(r){if(this._zoneDelegate.handleError(this,r))throw r}}finally{P=P.parent}}runTask(e,t,n){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");if(e.state===y&&(e.type===S||e.type===Z))return;const o=e.state!=v;o&&e._transitionTo(v,b),e.runCount++;const r=z;z=e,P={parent:P,zone:this};try{e.type==Z&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,t,n)}catch(s){if(this._zoneDelegate.handleError(this,s))throw s}}finally{e.state!==y&&e.state!==w&&(e.type==S||e.data&&e.data.isPeriodic?o&&e._transitionTo(b,v):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(y,v,y))),P=P.parent,z=r}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(k,y);const t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(n){throw e._transitionTo(w,k,y),this._zoneDelegate.handleError(this,n),n}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(b,k),e}scheduleMicroTask(e,t,n,o){return this.scheduleTask(new c(E,e,t,n,o,void 0))}scheduleMacroTask(e,t,n,o,r){return this.scheduleTask(new c(Z,e,t,n,o,r))}scheduleEventTask(e,t,n,o,r){return this.scheduleTask(new c(S,e,t,n,o,r))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||m).name+"; Execution: "+this.name+")");e._transitionTo(T,b,v);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(w,T),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(y,T),e.runCount=0,e}_updateTaskCount(e,t){const n=e._zoneDelegates;-1==t&&(e._zoneDelegates=null);for(let o=0;o<n.length;o++)n[o]._updateTaskCount(e.type,t)}}s.__symbol__=I;const i={name:"",onHasTask:(e,t,n,o)=>e.hasTask(n,o),onScheduleTask:(e,t,n,o)=>e.scheduleTask(n,o),onInvokeTask:(e,t,n,o,r,s)=>e.invokeTask(n,o,r,s),onCancelTask:(e,t,n,o)=>e.cancelTask(n,o)};class a{constructor(e,t,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=e,this._parentDelegate=t,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:t.zone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:t.zone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:t.zone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:t.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:t.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:t.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:t.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const o=n&&n.onHasTask;(o||t&&t._hasTaskZS)&&(this._hasTaskZS=o?n:i,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=e,n.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new s(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,o,r){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,o,r):t.apply(n,o)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),(n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t))||(n=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=E)throw new Error("Task is missing scheduleFn.");g(t)}return n}invokeTask(e,t,n,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,o):t.callback.apply(n,o)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(n){this.handleError(e,n)}}_updateTaskCount(e,t){const n=this._taskCounts,o=n[e],r=n[e]=o+t;if(r<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=r||this.hasTask(this.zone,{microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e})}}class c{constructor(t,n,o,r,s,i){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=t,this.source=n,this.data=r,this.scheduleFn=s,this.cancelFn=i,this.callback=o;const a=this;this.invoke=t===S&&r&&r.useG?c.invokeTask:function(){return c.invokeTask.call(e,a,this,arguments)}}static invokeTask(e,t,n){e||(e=this),j++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{1==j&&_(),j--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(y,k)}_transitionTo(e,t,n){if(this._state!==t&&this._state!==n)throw new Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?" or '"+n+"'":""}, was '${this._state}'.`);this._state=e,e==y&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const l=I("setTimeout"),u=I("Promise"),h=I("then");let p,f=[],d=!1;function g(t){if(0===j&&0===f.length)if(p||e[u]&&(p=e[u].resolve(0)),p){let e=p[h];e||(e=p.then),e.call(p,_)}else e[l](_,0);t&&f.push(t)}function _(){if(!d){for(d=!0;f.length;){const t=f;f=[];for(let n=0;n<t.length;n++){const o=t[n];try{o.zone.runTask(o,null,null)}catch(e){O.onUnhandledError(e)}}}O.microtaskDrainDone(),d=!1}}const m={name:"NO ZONE"},y="notScheduled",k="scheduling",b="scheduled",v="running",T="canceling",w="unknown",E="microTask",Z="macroTask",S="eventTask",D={},O={symbol:I,currentZoneFrame:()=>P,onUnhandledError:C,microtaskDrainDone:C,scheduleMicroTask:g,showUncaughtError:()=>!s[I("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:C,patchMethod:()=>C,bindArguments:()=>[],patchThen:()=>C,patchMacroTask:()=>C,setNativePromise:e=>{e&&"function"==typeof e.resolve&&(p=e.resolve(0))},patchEventPrototype:()=>C,isIEOrEdge:()=>!1,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>C,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>C,wrapWithCurrentZone:()=>C,filterProperties:()=>[],attachOriginToPatched:()=>C,_redefineProperty:()=>C,patchCallbacks:()=>C};let P={parent:null,zone:new s(null,null)},z=null,j=0;function C(){}function I(e){return"__zone_symbol__"+e}o("Zone","Zone"),e.Zone=s}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),Zone.__load_patch("ZoneAwarePromise",(e,t,n)=>{const o=Object.getOwnPropertyDescriptor,r=Object.defineProperty,s=n.symbol,i=[],a=s("Promise"),c=s("then"),l="__creationTrace__";n.onUnhandledError=e=>{if(n.showUncaughtError()){const t=e&&e.rejection;t?console.error("Unhandled Promise rejection:",t instanceof Error?t.message:t,"; Zone:",e.zone.name,"; Task:",e.task&&e.task.source,"; Value:",t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;i.length;)for(;i.length;){const t=i.shift();try{t.zone.runGuarded(()=>{throw t})}catch(e){h(e)}}};const u=s("unhandledPromiseRejectionHandler");function h(e){n.onUnhandledError(e);try{const n=t[u];n&&"function"==typeof n&&n.call(this,e)}catch(o){}}function p(e){return e&&e.then}function f(e){return e}function d(e){return R.reject(e)}const g=s("state"),_=s("value"),m=s("finally"),y=s("parentPromiseValue"),k=s("parentPromiseState"),b="Promise.then",v=null,T=!0,w=!1,E=0;function Z(e,t){return n=>{try{P(e,t,n)}catch(o){P(e,!1,o)}}}const S=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},D="Promise resolved with itself",O=s("currentTaskTrace");function P(e,o,s){const a=S();if(e===s)throw new TypeError(D);if(e[g]===v){let h=null;try{"object"!=typeof s&&"function"!=typeof s||(h=s&&s.then)}catch(u){return a(()=>{P(e,!1,u)})(),e}if(o!==w&&s instanceof R&&s.hasOwnProperty(g)&&s.hasOwnProperty(_)&&s[g]!==v)j(s),P(e,s[g],s[_]);else if(o!==w&&"function"==typeof h)try{h.call(s,a(Z(e,o)),a(Z(e,!1)))}catch(u){a(()=>{P(e,!1,u)})()}else{e[g]=o;const a=e[_];if(e[_]=s,e[m]===m&&o===T&&(e[g]=e[k],e[_]=e[y]),o===w&&s instanceof Error){const e=t.currentTask&&t.currentTask.data&&t.currentTask.data[l];e&&r(s,O,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t<a.length;)C(e,a[t++],a[t++],a[t++],a[t++]);if(0==a.length&&o==w){e[g]=E;try{throw new Error("Uncaught (in promise): "+((c=s)&&c.toString===Object.prototype.toString?(c.constructor&&c.constructor.name||"")+": "+JSON.stringify(c):c?c.toString():Object.prototype.toString.call(c))+(s&&s.stack?"\n"+s.stack:""))}catch(u){const o=u;o.rejection=s,o.promise=e,o.zone=t.current,o.task=t.currentTask,i.push(o),n.scheduleMicroTask()}}}}var c;return e}const z=s("rejectionHandledHandler");function j(e){if(e[g]===E){try{const o=t[z];o&&"function"==typeof o&&o.call(this,{rejection:e[_],promise:e})}catch(n){}e[g]=w;for(let t=0;t<i.length;t++)e===i[t].promise&&i.splice(t,1)}}function C(e,t,n,o,r){j(e);const s=e[g],i=s?"function"==typeof o?o:f:"function"==typeof r?r:d;t.scheduleMicroTask(b,()=>{try{const r=e[_],a=n&&m===n[m];a&&(n[y]=r,n[k]=s);const c=t.run(i,void 0,a&&i!==d&&i!==f?[]:[r]);P(n,!0,c)}catch(o){P(n,!1,o)}},n)}const I="function ZoneAwarePromise() { [native code] }";class R{constructor(e){const t=this;if(!(t instanceof R))throw new Error("Must be an instanceof Promise.");t[g]=v,t[_]=[];try{e&&e(Z(t,T),Z(t,w))}catch(n){P(t,!1,n)}}static toString(){return I}static resolve(e){return P(new this(null),T,e)}static reject(e){return P(new this(null),w,e)}static race(e){let t,n,o=new this((e,o)=>{t=e,n=o});function r(e){t(e)}function s(e){n(e)}for(let i of e)p(i)||(i=this.resolve(i)),i.then(r,s);return o}static all(e){let t,n,o=new this((e,o)=>{t=e,n=o}),r=2,s=0;const i=[];for(let a of e){p(a)||(a=this.resolve(a));const e=s;a.then(n=>{i[e]=n,0==--r&&t(i)},n),r++,s++}return 0==(r-=2)&&t(i),o}get[Symbol.toStringTag](){return"Promise"}then(e,n){const o=new this.constructor(null),r=t.current;return this[g]==v?this[_].push(r,o,e,n):C(this,r,o,e,n),o}catch(e){return this.then(null,e)}finally(e){const n=new this.constructor(null);n[m]=m;const o=t.current;return this[g]==v?this[_].push(o,n,e,e):C(this,o,n,e,e),n}}R.resolve=R.resolve,R.reject=R.reject,R.race=R.race,R.all=R.all;const x=e[a]=e.Promise,M=t.__symbol__("ZoneAwarePromise");let L=o(e,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return e[M]?e[M]:e[a]},L.set=function(t){t===R?e[M]=t:(e[a]=t,t.prototype[c]||A(t),n.setNativePromise(t))},r(e,"Promise",L)),e.Promise=R;const N=s("thenPatched");function A(e){const t=e.prototype,n=o(t,"then");if(n&&(!1===n.writable||!n.configurable))return;const r=t.then;t[c]=r,e.prototype.then=function(e,t){return new R((e,t)=>{r.call(this,e,t)}).then(e,t)},e[N]=!0}if(n.patchThen=A,x){A(x);const t=e.fetch;"function"==typeof t&&(e[n.symbol("fetch")]=t,e.fetch=function(e){return function(){let t=e.apply(this,arguments);if(t instanceof R)return t;let n=t.constructor;return n[N]||A(n),t}}(t))}return Promise[t.__symbol__("uncaughtPromiseErrors")]=i,R});const n=Object.getOwnPropertyDescriptor,o=Object.defineProperty,r=Object.getPrototypeOf,s=Object.create,i=Array.prototype.slice,a="addEventListener",c="removeEventListener",l=Zone.__symbol__(a),u=Zone.__symbol__(c),h="true",p="false",f="__zone_symbol__";function d(e,t){return Zone.current.wrap(e,t)}function g(e,t,n,o,r){return Zone.current.scheduleMacroTask(e,t,n,o,r)}const _=Zone.__symbol__,m="undefined"!=typeof window,y=m?window:void 0,k=m&&y||"object"==typeof self&&self||global,b="removeAttribute",v=[null];function T(e,t){for(let n=e.length-1;n>=0;n--)"function"==typeof e[n]&&(e[n]=d(e[n],t+"_"+n));return e}function w(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const E="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Z=!("nw"in k)&&void 0!==k.process&&"[object process]"==={}.toString.call(k.process),S=!Z&&!E&&!(!m||!y.HTMLElement),D=void 0!==k.process&&"[object process]"==={}.toString.call(k.process)&&!E&&!(!m||!y.HTMLElement),O={},P=function(e){if(!(e=e||k.event))return;let t=O[e.type];t||(t=O[e.type]=_("ON_PROPERTY"+e.type));const n=this||e.target||k,o=n[t];let r;if(S&&n===y&&"error"===e.type){const t=e;!0===(r=o&&o.call(this,t.message,t.filename,t.lineno,t.colno,t.error))&&e.preventDefault()}else null==(r=o&&o.apply(this,arguments))||r||e.preventDefault();return r};function z(e,t,r){let s=n(e,t);if(!s&&r&&n(r,t)&&(s={enumerable:!0,configurable:!0}),!s||!s.configurable)return;const i=_("on"+t+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete s.writable,delete s.value;const a=s.get,c=s.set,l=t.substr(2);let u=O[l];u||(u=O[l]=_("ON_PROPERTY"+l)),s.set=function(t){let n=this;n||e!==k||(n=k),n&&(n[u]&&n.removeEventListener(l,P),c&&c.apply(n,v),"function"==typeof t?(n[u]=t,n.addEventListener(l,P,!1)):n[u]=null)},s.get=function(){let n=this;if(n||e!==k||(n=k),!n)return null;const o=n[u];if(o)return o;if(a){let e=a&&a.call(this);if(e)return s.set.call(this,e),"function"==typeof n[b]&&n.removeAttribute(t),e}return null},o(e,t,s),e[i]=!0}function j(e,t,n){if(t)for(let o=0;o<t.length;o++)z(e,"on"+t[o],n);else{const t=[];for(const n in e)"on"==n.substr(0,2)&&t.push(n);for(let o=0;o<t.length;o++)z(e,t[o],n)}}const C=_("originalInstance");function I(e){const t=k[e];if(!t)return;k[_(e)]=t,k[e]=function(){const n=T(arguments,e);switch(n.length){case 0:this[C]=new t;break;case 1:this[C]=new t(n[0]);break;case 2:this[C]=new t(n[0],n[1]);break;case 3:this[C]=new t(n[0],n[1],n[2]);break;case 4:this[C]=new t(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},L(k[e],t);const n=new t(function(){});let r;for(r in n)"XMLHttpRequest"===e&&"responseBlob"===r||function(t){"function"==typeof n[t]?k[e].prototype[t]=function(){return this[C][t].apply(this[C],arguments)}:o(k[e].prototype,t,{set:function(n){"function"==typeof n?(this[C][t]=d(n,e+"."+t),L(this[C][t],n)):this[C][t]=n},get:function(){return this[C][t]}})}(r);for(r in t)"prototype"!==r&&t.hasOwnProperty(r)&&(k[e][r]=t[r])}let R=!1;function x(e,t,o){let s=e;for(;s&&!s.hasOwnProperty(t);)s=r(s);!s&&e[t]&&(s=e);const i=_(t);let a=null;if(s&&!(a=s[i])&&(a=s[i]=s[t],w(s&&n(s,t)))){const e=o(a,i,t);s[t]=function(){return e(this,arguments)},L(s[t],a),R&&(c=a,l=s[t],"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(c).forEach(e=>{const t=Object.getOwnPropertyDescriptor(c,e);Object.defineProperty(l,e,{get:function(){return c[e]},set:function(n){(!t||t.writable&&"function"==typeof t.set)&&(c[e]=n)},enumerable:!t||t.enumerable,configurable:!t||t.configurable})}))}var c,l;return a}function M(e,t,n){let o=null;function r(e){const t=e.data;return t.args[t.cbIdx]=function(){e.invoke.apply(this,arguments)},o.apply(t.target,t.args),e}o=x(e,t,e=>(function(t,o){const s=n(t,o);return s.cbIdx>=0&&"function"==typeof o[s.cbIdx]?g(s.name,o[s.cbIdx],s,r):e.apply(t,o)}))}function L(e,t){e[_("OriginalDelegate")]=t}let N=!1,A=!1;function F(){if(N)return A;N=!0;try{const t=y.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(A=!0)}catch(e){}return A}Zone.__load_patch("toString",e=>{const t=Function.prototype.toString,n=_("OriginalDelegate"),o=_("Promise"),r=_("Error"),s=function(){if("function"==typeof this){const s=this[n];if(s)return"function"==typeof s?t.call(s):Object.prototype.toString.call(s);if(this===Promise){const n=e[o];if(n)return t.call(n)}if(this===Error){const n=e[r];if(n)return t.call(n)}}return t.call(this)};s[n]=t,Function.prototype.toString=s;const i=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":i.call(this)}});let H=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){H=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(Te){H=!1}const G={useG:!0},q={},B={},$=/^__zone_symbol__(\w+)(true|false)$/,U="__zone_symbol__propagationStopped";function W(e,t,n){const o=n&&n.add||a,s=n&&n.rm||c,i=n&&n.listeners||"eventListeners",l=n&&n.rmAll||"removeAllListeners",u=_(o),d="."+o+":",g="prependListener",m="."+g+":",y=function(e,t,n){if(e.isRemoved)return;const o=e.callback;"object"==typeof o&&o.handleEvent&&(e.callback=e=>o.handleEvent(e),e.originalDelegate=o),e.invoke(e,t,[n]);const r=e.options;r&&"object"==typeof r&&r.once&&t[s].call(t,n.type,e.originalDelegate?e.originalDelegate:e.callback,r)},k=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[q[t.type][p]];if(o)if(1===o.length)y(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[U]);o++)y(e[o],n,t)}},b=function(t){if(!(t=t||e.event))return;const n=this||t.target||e,o=n[q[t.type][h]];if(o)if(1===o.length)y(o[0],n,t);else{const e=o.slice();for(let o=0;o<e.length&&(!t||!0!==t[U]);o++)y(e[o],n,t)}};function v(t,n){if(!t)return!1;let a=!0;n&&void 0!==n.useG&&(a=n.useG);const c=n&&n.vh;let y=!0;n&&void 0!==n.chkDup&&(y=n.chkDup);let v=!1;n&&void 0!==n.rt&&(v=n.rt);let T=t;for(;T&&!T.hasOwnProperty(o);)T=r(T);if(!T&&t[o]&&(T=t),!T)return!1;if(T[u])return!1;const w=n&&n.eventNameToString,E={},S=T[u]=T[o],D=T[_(s)]=T[s],O=T[_(i)]=T[i],P=T[_(l)]=T[l];let z;function j(e){H||"boolean"==typeof E.options||null==E.options||(e.options=!!E.options.capture,E.options=e.options)}n&&n.prepend&&(z=T[_(n.prepend)]=T[n.prepend]);const C=a?function(e){if(!E.isExisting)return j(e),S.call(E.target,E.eventName,E.capture?b:k,E.options)}:function(e){return j(e),S.call(E.target,E.eventName,e.invoke,E.options)},I=a?function(e){if(!e.isRemoved){const t=q[e.eventName];let n;t&&(n=t[e.capture?h:p]);const o=n&&e.target[n];if(o)for(let r=0;r<o.length;r++)if(o[r]===e){o.splice(r,1),e.isRemoved=!0,0===o.length&&(e.allRemoved=!0,e.target[n]=null);break}}if(e.allRemoved)return D.call(e.target,e.eventName,e.capture?b:k,e.options)}:function(e){return D.call(e.target,e.eventName,e.invoke,e.options)},R=n&&n.diff?n.diff:function(e,t){const n=typeof t;return"function"===n&&e.callback===t||"object"===n&&e.originalDelegate===t},x=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],M=function(t,n,o,r,s=!1,i=!1){return function(){const l=this||e,u=arguments[0];let d=arguments[1];if(!d)return t.apply(this,arguments);if(Z&&"uncaughtException"===u)return t.apply(this,arguments);let g=!1;if("function"!=typeof d){if(!d.handleEvent)return t.apply(this,arguments);g=!0}if(c&&!c(t,d,l,arguments))return;const _=arguments[2];if(x)for(let e=0;e<x.length;e++)if(u===x[e])return t.apply(this,arguments);let m,k=!1;void 0===_?m=!1:!0===_?m=!0:!1===_?m=!1:(m=!!_&&!!_.capture,k=!!_&&!!_.once);const b=Zone.current,v=q[u];let T;if(v)T=v[m?h:p];else{const e=(w?w(u):u)+p,t=(w?w(u):u)+h,n=f+e,o=f+t;q[u]={},q[u][p]=n,q[u][h]=o,T=m?o:n}let S,D=l[T],O=!1;if(D){if(O=!0,y)for(let e=0;e<D.length;e++)if(R(D[e],d))return}else D=l[T]=[];const P=l.constructor.name,z=B[P];z&&(S=z[u]),S||(S=P+n+(w?w(u):u)),E.options=_,k&&(E.options.once=!1),E.target=l,E.capture=m,E.eventName=u,E.isExisting=O;const j=a?G:void 0;j&&(j.taskData=E);const C=b.scheduleEventTask(S,d,j,o,r);return E.target=null,j&&(j.taskData=null),k&&(_.once=!0),(H||"boolean"!=typeof C.options)&&(C.options=_),C.target=l,C.capture=m,C.eventName=u,g&&(C.originalDelegate=d),i?D.unshift(C):D.push(C),s?l:void 0}};return T[o]=M(S,d,C,I,v),z&&(T[g]=M(z,m,function(e){return z.call(E.target,E.eventName,e.invoke,E.options)},I,v,!0)),T[s]=function(){const t=this||e,n=arguments[0],o=arguments[2];let r;r=void 0!==o&&(!0===o||!1!==o&&!!o&&!!o.capture);const s=arguments[1];if(!s)return D.apply(this,arguments);if(c&&!c(D,s,t,arguments))return;const i=q[n];let a;i&&(a=i[r?h:p]);const l=a&&t[a];if(l)for(let e=0;e<l.length;e++){const n=l[e];if(R(n,s))return l.splice(e,1),n.isRemoved=!0,0===l.length&&(n.allRemoved=!0,t[a]=null),n.zone.cancelTask(n),v?t:void 0}return D.apply(this,arguments)},T[i]=function(){const t=this||e,n=arguments[0],o=[],r=V(t,w?w(n):n);for(let e=0;e<r.length;e++){const t=r[e];o.push(t.originalDelegate?t.originalDelegate:t.callback)}return o},T[l]=function(){const t=this||e,n=arguments[0];if(n){const e=q[n];if(e){const o=t[e[p]],r=t[e[h]];if(o){const e=o.slice();for(let t=0;t<e.length;t++){const o=e[t];this[s].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}if(r){const e=r.slice();for(let t=0;t<e.length;t++){const o=e[t];this[s].call(this,n,o.originalDelegate?o.originalDelegate:o.callback,o.options)}}}}else{const e=Object.keys(t);for(let t=0;t<e.length;t++){const n=$.exec(e[t]);let o=n&&n[1];o&&"removeListener"!==o&&this[l].call(this,o)}this[l].call(this,"removeListener")}if(v)return this},L(T[o],S),L(T[s],D),P&&L(T[l],P),O&&L(T[i],O),!0}let T=[];for(let r=0;r<t.length;r++)T[r]=v(t[r],n);return T}function V(e,t){const n=[];for(let o in e){const r=$.exec(o);let s=r&&r[1];if(s&&(!t||s===t)){const t=e[o];if(t)for(let e=0;e<t.length;e++)n.push(t[e])}}return n}function X(e,t){const n=e.Event;n&&n.prototype&&t.patchMethod(n.prototype,"stopImmediatePropagation",e=>(function(t,n){t[U]=!0,e&&e.apply(t,n)}))}function J(e,t,n,o,r){const s=Zone.__symbol__(o);if(t[s])return;const i=t[s]=t[o];t[o]=function(s,a,c){return a&&a.prototype&&r.forEach(function(t){const r=`${n}.${o}::`+t,s=a.prototype;if(s.hasOwnProperty(t)){const n=e.ObjectGetOwnPropertyDescriptor(s,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,r),e._redefineProperty(a.prototype,t,n)):s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}else s[t]&&(s[t]=e.wrapWithCurrentZone(s[t],r))}),i.call(t,s,a,c)},e.attachOriginToPatched(t[o],i)}const Y=Zone.__symbol__,K=Object[Y("defineProperty")]=Object.defineProperty,Q=Object[Y("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,ee=Object.create,te=Y("unconfigurables");function ne(e,t,n){const o=n.configurable;return se(e,t,n=re(e,t,n),o)}function oe(e,t){return e&&e[te]&&e[te][t]}function re(e,t,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(e[te]||Object.isFrozen(e)||K(e,te,{writable:!0,value:{}}),e[te]&&(e[te][t]=!0)),n}function se(e,t,n,o){try{return K(e,t,n)}catch(r){if(!n.configurable)throw r;void 0===o?delete n.configurable:n.configurable=o;try{return K(e,t,n)}catch(r){let o=null;try{o=JSON.stringify(n)}catch(r){o=n.toString()}console.log(`Attempting to configure '${t}' with descriptor '${o}' on object '${e}' and got error, giving up: ${r}`)}}}const ie=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ae=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],ce=["load"],le=["blur","error","focus","load","resize","scroll","messageerror"],ue=["bounce","finish","start"],he=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],pe=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],fe=["close","error","open","message"],de=["error","message"],ge=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],ie,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function _e(e,t,n){if(!n||0===n.length)return t;const o=n.filter(t=>t.target===e);if(!o||0===o.length)return t;const r=o[0].ignoreProperties;return t.filter(e=>-1===r.indexOf(e))}function me(e,t,n,o){e&&j(e,_e(e,t,n),o)}function ye(e,t){if(Z&&!D)return;if(Zone[e.symbol("patchEvents")])return;const n="undefined"!=typeof WebSocket,o=t.__Zone_ignore_on_properties;if(S){const e=window,t=function(){try{const n=e.navigator.userAgent;if(-1!==n.indexOf("MSIE ")||-1!==n.indexOf("Trident/"))return!0}catch(t){}return!1}?[{target:e,ignoreProperties:["error"]}]:[];me(e,ge.concat(["messageerror"]),o?o.concat(t):o,r(e)),me(Document.prototype,ge,o),void 0!==e.SVGElement&&me(e.SVGElement.prototype,ge,o),me(Element.prototype,ge,o),me(HTMLElement.prototype,ge,o),me(HTMLMediaElement.prototype,ae,o),me(HTMLFrameSetElement.prototype,ie.concat(le),o),me(HTMLBodyElement.prototype,ie.concat(le),o),me(HTMLFrameElement.prototype,ce,o),me(HTMLIFrameElement.prototype,ce,o);const n=e.HTMLMarqueeElement;n&&me(n.prototype,ue,o);const s=e.Worker;s&&me(s.prototype,de,o)}const s=t.XMLHttpRequest;s&&me(s.prototype,he,o);const i=t.XMLHttpRequestEventTarget;i&&me(i&&i.prototype,he,o),"undefined"!=typeof IDBIndex&&(me(IDBIndex.prototype,pe,o),me(IDBRequest.prototype,pe,o),me(IDBOpenDBRequest.prototype,pe,o),me(IDBDatabase.prototype,pe,o),me(IDBTransaction.prototype,pe,o),me(IDBCursor.prototype,pe,o)),n&&me(WebSocket.prototype,fe,o)}Zone.__load_patch("util",(e,t,r)=>{r.patchOnProperties=j,r.patchMethod=x,r.bindArguments=T,r.patchMacroTask=M;const l=t.__symbol__("BLACK_LISTED_EVENTS"),u=t.__symbol__("UNPATCHED_EVENTS");e[u]&&(e[l]=e[u]),e[l]&&(t[l]=t[u]=e[l]),r.patchEventPrototype=X,r.patchEventTarget=W,r.isIEOrEdge=F,r.ObjectDefineProperty=o,r.ObjectGetOwnPropertyDescriptor=n,r.ObjectCreate=s,r.ArraySlice=i,r.patchClass=I,r.wrapWithCurrentZone=d,r.filterProperties=_e,r.attachOriginToPatched=L,r._redefineProperty=ne,r.patchCallbacks=J,r.getGlobalObjects=()=>({globalSources:B,zoneSymbolEventNames:q,eventNames:ge,isBrowser:S,isMix:D,isNode:Z,TRUE_STR:h,FALSE_STR:p,ZONE_SYMBOL_PREFIX:f,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:c})});const ke=_("zoneTask");function be(e,t,n,o){let r=null,s=null;n+=o;const i={};function a(t){const n=t.data;return n.args[0]=function(){try{t.invoke.apply(this,arguments)}finally{t.data&&t.data.isPeriodic||("number"==typeof n.handleId?delete i[n.handleId]:n.handleId&&(n.handleId[ke]=null))}},n.handleId=r.apply(e,n.args),t}function c(e){return s(e.data.handleId)}r=x(e,t+=o,n=>(function(r,s){if("function"==typeof s[0]){const e=g(t,s[0],{isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?s[1]||0:void 0,args:s},a,c);if(!e)return e;const n=e.data.handleId;return"number"==typeof n?i[n]=e:n&&(n[ke]=e),n&&n.ref&&n.unref&&"function"==typeof n.ref&&"function"==typeof n.unref&&(e.ref=n.ref.bind(n),e.unref=n.unref.bind(n)),"number"==typeof n||n?n:e}return n.apply(e,s)})),s=x(e,n,t=>(function(n,o){const r=o[0];let s;"number"==typeof r?s=i[r]:(s=r&&r[ke])||(s=r),s&&"string"==typeof s.type?"notScheduled"!==s.state&&(s.cancelFn&&s.data.isPeriodic||0===s.runCount)&&("number"==typeof r?delete i[r]:r&&(r[ke]=null),s.zone.cancelTask(s)):t.apply(e,o)}))}function ve(e,t){if(Zone[t.symbol("patchEventTarget")])return;const{eventNames:n,zoneSymbolEventNames:o,TRUE_STR:r,FALSE_STR:s,ZONE_SYMBOL_PREFIX:i}=t.getGlobalObjects();for(let c=0;c<n.length;c++){const e=n[c],t=i+(e+s),a=i+(e+r);o[e]={},o[e][s]=t,o[e][r]=a}const a=e.EventTarget;return a&&a.prototype?(t.patchEventTarget(e,[a&&a.prototype]),!0):void 0}Zone.__load_patch("legacy",e=>{const t=e[Zone.__symbol__("legacyPatch")];t&&t()}),Zone.__load_patch("timers",e=>{be(e,"set","clear","Timeout"),be(e,"set","clear","Interval"),be(e,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{be(e,"request","cancel","AnimationFrame"),be(e,"mozRequest","mozCancel","AnimationFrame"),be(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,t)=>{const n=["alert","prompt","confirm"];for(let o=0;o<n.length;o++)x(e,n[o],(n,o,r)=>(function(o,s){return t.current.run(n,e,s,r)}))}),Zone.__load_patch("EventTarget",(e,t,n)=>{!function(e,t){t.patchEventPrototype(e,t)}(e,n),ve(e,n);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&n.patchEventTarget(e,[o.prototype]),I("MutationObserver"),I("WebKitMutationObserver"),I("IntersectionObserver"),I("FileReader")}),Zone.__load_patch("on_property",(e,t,n)=>{ye(n,e),Object.defineProperty=function(e,t,n){if(oe(e,t))throw new TypeError("Cannot assign to read only property '"+t+"' of "+e);const o=n.configurable;return"prototype"!==t&&(n=re(e,t,n)),se(e,t,n,o)},Object.defineProperties=function(e,t){return Object.keys(t).forEach(function(n){Object.defineProperty(e,n,t[n])}),e},Object.create=function(e,t){return"object"!=typeof t||Object.isFrozen(t)||Object.keys(t).forEach(function(n){t[n]=re(e,n,t[n])}),ee(e,t)},Object.getOwnPropertyDescriptor=function(e,t){const n=Q(e,t);return n&&oe(e,t)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",(e,t,n)=>{!function(e,t){const{isBrowser:n,isMix:o}=t.getGlobalObjects();(n||o)&&e.customElements&&"customElements"in e&&t.patchCallbacks(t,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,n)}),Zone.__load_patch("XHR",(e,t)=>{!function(c){const h=e.XMLHttpRequest;if(!h)return;const p=h.prototype;let f=p[l],d=p[u];if(!f){const t=e.XMLHttpRequestEventTarget;if(t){const e=t.prototype;f=e[l],d=e[u]}}const m="readystatechange",y="scheduled";function k(e){const t=e.data,o=t.target;o[s]=!1,o[a]=!1;const i=o[r];f||(f=o[l],d=o[u]),i&&d.call(o,m,i);const c=o[r]=()=>{if(o.readyState===o.DONE)if(!t.aborted&&o[s]&&e.state===y){const n=o.__zone_symbol__loadfalse;if(n&&n.length>0){const r=e.invoke;e.invoke=function(){const n=o.__zone_symbol__loadfalse;for(let t=0;t<n.length;t++)n[t]===e&&n.splice(t,1);t.aborted||e.state!==y||r.call(e)},n.push(e)}else e.invoke()}else t.aborted||!1!==o[s]||(o[a]=!0)};return f.call(o,m,c),o[n]||(o[n]=e),Z.apply(o,t.args),o[s]=!0,e}function b(){}function v(e){const t=e.data;return t.aborted=!0,S.apply(t.target,t.args)}const T=x(p,"open",()=>(function(e,t){return e[o]=0==t[2],e[i]=t[1],T.apply(e,t)})),w=_("fetchTaskAborting"),E=_("fetchTaskScheduling"),Z=x(p,"send",()=>(function(e,n){if(!0===t.current[E])return Z.apply(e,n);if(e[o])return Z.apply(e,n);{const t={target:e,url:e[i],isPeriodic:!1,args:n,aborted:!1},o=g("XMLHttpRequest.send",b,t,k,v);e&&!0===e[a]&&!t.aborted&&o.state===y&&o.invoke()}})),S=x(p,"abort",()=>(function(e,o){const r=e[n];if(r&&"string"==typeof r.type){if(null==r.cancelFn||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(!0===t.current[w])return S.apply(e,o)}))}();const n=_("xhrTask"),o=_("xhrSync"),r=_("xhrListener"),s=_("xhrScheduled"),i=_("xhrURL"),a=_("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,t){const o=e.constructor.name;for(let r=0;r<t.length;r++){const s=t[r],i=e[s];if(i){if(!w(n(e,s)))continue;e[s]=(e=>{const t=function(){return e.apply(this,T(arguments,o+"."+s))};return L(t,e),t})(i)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,t)=>{function n(t){return function(n){V(e,t).forEach(o=>{const r=e.PromiseRejectionEvent;if(r){const e=new r(t,{promise:n.promise,reason:n.rejection});o.invoke(e)}})}}e.PromiseRejectionEvent&&(t[_("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),t[_("rejectionHandledHandler")]=n("rejectionhandled"))})}},[[2,0]]]);
\ No newline at end of file
diff --git a/polyfills-es5.18cefcf61f1450e7455d.js b/polyfills-es5.18cefcf61f1450e7455d.js
new file mode 100644
index 0000000..717d2a0
--- /dev/null
+++ b/polyfills-es5.18cefcf61f1450e7455d.js
@@ -0,0 +1 @@
+function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}function e(e,n,r){if(n)t(e.prototype,n);if(r)t(e,r);return e}(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"+2oP":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hh1v"),a=r("6LWA"),c=r("I8vh"),u=r("UMSQ"),s=r("/GqU"),f=r("hBjN"),l=r("Hd5f"),p=r("tiKp")("species"),h=[].slice,v=Math.max;o({target:"Array",proto:!0,forced:!l("slice")},{slice:function t(e,n){var r,o,l,d=s(this),g=u(d.length),y=c(e,g),b=c(void 0===n?g:n,g);if(a(d)&&("function"!=typeof(r=d.constructor)||r!==Array&&!a(r.prototype)?i(r)&&null===(r=r[p])&&(r=void 0):r=void 0,r===Array||void 0===r))return h.call(d,y,b);for(o=new(void 0===r?Array:r)(v(b-y,0)),l=0;y<b;y++,l++){y in d&&f(o,l,d[y])}return o.length=l,o}})},"+MLx":function t(e,n,r){var o=r("HAuM");e.exports=function(t,e,n){if(o(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"/5zm":function t(e,n,r){var o=r("I+eb"),i=r("jrUv"),a=Math.cosh,c=Math.abs,u=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===1/0},{cosh:function t(e){var n=i(c(e)-1)+1;return(n+1/(n*u*u))*(u/2)}})},"/GqU":function t(e,n,r){var o=r("RK3t"),i=r("HYAF");e.exports=function(t){return o(i(t))}},"/byt":function t(e,n){e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},"/qmn":function t(e,n,r){var o=r("2oRo");e.exports=o.Promise},"07d7":function t(e,n,r){var o=r("busE"),i=r("sEFX"),a=Object.prototype;i!==a.toString&&o(a,"toString",i,{unsafe:!0})},"0BK2":function t(e,n){e.exports={}},"0Dky":function t(e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},"0GbY":function t(e,n,r){var o=r("Qo9l"),i=r("2oRo"),a=function t(e){return"function"==typeof e?e:void 0};e.exports=function(t,e){return arguments.length<2?a(o[t])||a(i[t]):o[t]&&o[t][e]||i[t]&&i[t][e]}},"0eef":function t(e,n,r){"use strict";var o={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!o.call({1:2},1);n.f=a?function(t){var e=i(this,t);return!!e&&e.enumerable}:o},"0oug":function t(e,n,r){r("dG/n")("iterator")},"0rvr":function t(e,n,r){var o=r("glrk"),i=r("O741");e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(r){}return function(n,r){return o(n),i(r),e?t.call(n,r):n.__proto__=r,n}}():void 0)},1:function t(e,n,r){r("mRIq"),r("R0gw"),e.exports=r("hN/g")},"14Sl":function t(e,n,r){"use strict";var o=r("X2U+"),i=r("busE"),a=r("0Dky"),c=r("tiKp"),u=r("kmMV"),s=c("species"),f=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),l=!a(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]});e.exports=function(t,e,n,r){var p=c(t),h=!a(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)}),v=h&&!a(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[p](""),!e});if(!h||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[p],g=n(p,""[t],function(t,e,n,r,o){return e.exec===u?h&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),y=g[1];i(String.prototype,t,g[0]),i(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)}),r&&o(RegExp.prototype[p],"sham",!0)}}},"1E5z":function t(e,n,r){var o=r("m/L8").f,i=r("UTVS"),a=r("tiKp")("toStringTag");e.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,a)&&o(t,a,{configurable:!0,value:e})}},"1Y/n":function t(e,n,r){var o=r("HAuM"),i=r("ewvW"),a=r("RK3t"),c=r("UMSQ"),u=function t(e){return function(t,n,r,u){o(n);var s=i(t),f=a(s),l=c(s.length),p=e?l-1:0,h=e?-1:1;if(r<2)for(;;){if(p in f){u=f[p],p+=h;break}if(p+=h,e?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;e?p>=0:l>p;p+=h){p in f&&(u=n(u,f[p],p,s))}return u}};e.exports={left:u(!1),right:u(!0)}},"2A+d":function t(e,n,r){var o=r("I+eb"),i=r("/GqU"),a=r("UMSQ");o({target:"String",stat:!0},{raw:function t(e){for(var n=i(e.raw),r=a(n.length),o=arguments.length,c=[],u=0;r>u;){c.push(String(n[u++])),u<o&&c.push(String(arguments[u]))}return c.join("")}})},"2B1R":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").map;o({target:"Array",proto:!0,forced:!r("Hd5f")("map")},{map:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"2oRo":function t(e,n){var r="object",o=function t(e){return e&&e.Math==Math&&e};e.exports=o(typeof globalThis==r&&globalThis)||o(typeof window==r&&window)||o(typeof self==r&&self)||o(typeof global==r&&global)||Function("return this")()},"33Wh":function t(e,n,r){var o=r("yoRg"),i=r("eDl+");e.exports=Object.keys||function(t){return o(t,i)}},"3KgV":function t(e,n,r){var o=r("I+eb"),i=r("uy83"),a=r("0Dky"),c=r("hh1v"),u=r("8YOa").onFreeze,s=Object.freeze;o({target:"Object",stat:!0,forced:a(function(){s(1)}),sham:!i},{freeze:function t(e){return s&&c(e)?s(u(e)):e}})},"3bBZ":function t(e,n,r){var o=r("2oRo"),i=r("/byt"),a=r("4mDm"),c=r("X2U+"),u=r("tiKp"),s=u("iterator"),f=u("toStringTag"),l=a.values;for(var p in i){var h=o[p],v=h&&h.prototype;if(v){if(v[s]!==l)try{c(v,s,l)}catch(g){v[s]=l}if(v[f]||c(v,f,p),i[p])for(var d in a){if(v[d]!==a[d])try{c(v,d,a[d])}catch(g){v[d]=a[d]}}}}},"4Brf":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("g6v/"),a=r("2oRo"),c=r("UTVS"),u=r("hh1v"),s=r("m/L8").f,f=r("6JNq"),l=a.Symbol;if(i&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var p={},h=function t(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),n=this instanceof t?new l(e):void 0===e?l():l(e);return""===e&&(p[n]=!0),n};f(h,l);var v=h.prototype=l.prototype;v.constructor=h;var d=v.toString,g="Symbol(test)"==String(l("test")),y=/^Symbol\((.*)\)[^)]+$/;s(v,"description",{configurable:!0,get:function t(){var e=u(this)?this.valueOf():this,n=d.call(e);if(c(p,e))return"";var r=g?n.slice(7,-1):n.replace(y,"$1");return""===r?void 0:r}}),o({global:!0,forced:!0},{Symbol:h})}},"4HCi":function t(e,n,r){var o=r("0Dky"),i=r("WJkJ");e.exports=function(t){return o(function(){return!!i[t]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[t]()||i[t].name!==t})}},"4WOD":function t(e,n,r){var o=r("UTVS"),i=r("ewvW"),a=r("93I0"),c=r("4Xet"),u=a("IE_PROTO"),s=Object.prototype;e.exports=c?Object.getPrototypeOf:function(t){return t=i(t),o(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},"4Xet":function t(e,n,r){var o=r("0Dky");e.exports=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})},"4h0Y":function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("hh1v"),c=Object.isFrozen;o({target:"Object",stat:!0,forced:i(function(){c(1)})},{isFrozen:function t(e){return!a(e)||!!c&&c(e)}})},"4l63":function t(e,n,r){var o=r("I+eb"),i=r("5YOQ");o({global:!0,forced:parseInt!=i},{parseInt:i})},"4mDm":function t(e,n,r){"use strict";var o=r("/GqU"),i=r("RNIs"),a=r("P4y1"),c=r("afO8"),u=r("fdAy"),s=c.set,f=c.getterFor("Array Iterator");e.exports=u(Array,"Array",function(t,e){s(this,{type:"Array Iterator",target:o(t),index:0,kind:e})},function(){var t=f(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}},"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},"4oU/":function t(e,n,r){var o=r("2oRo").isFinite;e.exports=Number.isFinite||function(t){return"number"==typeof t&&o(t)}},"4syw":function t(e,n,r){var o=r("busE");e.exports=function(t,e,n){for(var r in e){o(t,r,e[r],n)}return t}},"5D5o":function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("hh1v"),c=Object.isSealed;o({target:"Object",stat:!0,forced:i(function(){c(1)})},{isSealed:function t(e){return!a(e)||!!c&&c(e)}})},"5DmW":function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("/GqU"),c=r("Bs8V").f,u=r("g6v/"),s=i(function(){c(1)});o({target:"Object",stat:!0,forced:!u||s,sham:!u},{getOwnPropertyDescriptor:function t(e,n){return c(a(e),n)}})},"5YOQ":function t(e,n,r){var o=r("2oRo"),i=r("WKiH").trim,a=r("WJkJ"),c=o.parseInt,u=/^[+-]?0[Xx]/,s=8!==c(a+"08")||22!==c(a+"0x16");e.exports=s?function(t,e){var n=i(String(t));return c(n,e>>>0||(u.test(n)?16:10))}:c},"5Yz+":function t(e,n,r){"use strict";var o=r("/GqU"),i=r("ppGB"),a=r("UMSQ"),c=r("swFL"),u=Math.min,s=[].lastIndexOf,f=!!s&&1/[1].lastIndexOf(1,-0)<0,l=c("lastIndexOf");e.exports=f||l?function(t){if(f)return s.apply(this,arguments)||0;var e=o(this),n=a(e.length),r=n-1;for(arguments.length>1&&(r=u(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--){if(r in e&&e[r]===t)return r||0}return-1}:s},"5mdu":function t(e,n){e.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},"5s+n":function t(e,n,r){"use strict";var o,i,a,c,u=r("I+eb"),s=r("xDBR"),f=r("2oRo"),l=r("Qo9l"),p=r("/qmn"),h=r("busE"),v=r("4syw"),d=r("1E5z"),g=r("JiZb"),y=r("hh1v"),b=r("HAuM"),m=r("GarU"),k=r("xrYK"),x=r("ImZN"),S=r("HH4o"),_=r("SEBh"),E=r("LPSS").set,w=r("tXUg"),T=r("zfnd"),O=r("RN6c"),I=r("8GlL"),M=r("5mdu"),D=r("s5pE"),j=r("afO8"),P=r("lMq5"),R=r("tiKp")("species"),A=j.get,N=j.set,z=j.getterFor("Promise"),F=p,L=f.TypeError,Z=f.document,C=f.process,W=f.fetch,U=C&&C.versions,H=U&&U.v8||"",B=I.f,G=B,K="process"==k(C),V=!!(Z&&Z.createEvent&&f.dispatchEvent),X=P("Promise",function(){var t=F.resolve(1),e=function t(){},n=(t.constructor={})[R]=function(t){t(e,e)};return!((K||"function"==typeof PromiseRejectionEvent)&&(!s||t.finally)&&t.then(e)instanceof n&&0!==H.indexOf("6.6")&&-1===D.indexOf("Chrome/66"))}),Y=X||!S(function(t){F.all(t).catch(function(){})}),q=function t(e){var n;return!(!y(e)||"function"!=typeof(n=e.then))&&n},Q=function t(e,n,r){if(!n.notified){n.notified=!0;var o=n.reactions;w(function(){for(var t=n.value,i=1==n.state,a=0;o.length>a;){var c,u,s,f=o[a++],l=i?f.ok:f.fail,p=f.resolve,h=f.reject,v=f.domain;try{l?(i||(2===n.rejection&&et(e,n),n.rejection=1),!0===l?c=t:(v&&v.enter(),c=l(t),v&&(v.exit(),s=!0)),c===f.promise?h(L("Promise-chain cycle")):(u=q(c))?u.call(c,p,h):p(c)):h(t)}catch(d){v&&!s&&v.exit(),h(d)}}n.reactions=[],n.notified=!1,r&&!n.rejection&&$(e,n)})}},J=function t(e,n,r){var o,i;V?((o=Z.createEvent("Event")).promise=n,o.reason=r,o.initEvent(e,!1,!0),f.dispatchEvent(o)):o={promise:n,reason:r},(i=f["on"+e])?i(o):"unhandledrejection"===e&&O("Unhandled promise rejection",r)},$=function t(e,n){E.call(f,function(){var t,r=n.value;if(tt(n)&&(t=M(function(){K?C.emit("unhandledRejection",r,e):J("unhandledrejection",e,r)}),n.rejection=K||tt(n)?2:1,t.error))throw t.value})},tt=function t(e){return 1!==e.rejection&&!e.parent},et=function t(e,n){E.call(f,function(){K?C.emit("rejectionHandled",e):J("rejectionhandled",e,n.value)})},nt=function t(e,n,r,o){return function(t){e(n,r,t,o)}},rt=function t(e,n,r,o){n.done||(n.done=!0,o&&(n=o),n.value=r,n.state=2,Q(e,n,!0))},ot=function t(e,n,r,o){if(!n.done){n.done=!0,o&&(n=o);try{if(e===r)throw L("Promise can't be resolved itself");var i=q(r);i?w(function(){var o={done:!1};try{i.call(r,nt(t,e,o,n),nt(rt,e,o,n))}catch(a){rt(e,o,a,n)}}):(n.value=r,n.state=1,Q(e,n,!1))}catch(a){rt(e,{done:!1},a,n)}}};X&&(F=function t(e){m(this,F,"Promise"),b(e),o.call(this);var n=A(this);try{e(nt(ot,this,n),nt(rt,this,n))}catch(r){rt(this,n,r)}},(o=function t(e){N(this,{type:"Promise",done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=v(F.prototype,{then:function t(e,n){var r=z(this),o=B(_(this,F));return o.ok="function"!=typeof e||e,o.fail="function"==typeof n&&n,o.domain=K?C.domain:void 0,r.parent=!0,r.reactions.push(o),0!=r.state&&Q(this,r,!1),o.promise},catch:function t(e){return this.then(void 0,e)}}),i=function t(){var e=new o,n=A(e);this.promise=e,this.resolve=nt(ot,e,n),this.reject=nt(rt,e,n)},I.f=B=function t(e){return e===F||e===a?new i(e):G(e)},s||"function"!=typeof p||(c=p.prototype.then,h(p.prototype,"then",function(t,e){var n=this;return new F(function(t,e){c.call(n,t,e)}).then(t,e)}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function t(e){return T(F,W.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:X},{Promise:F}),d(F,"Promise",!1,!0),g("Promise"),a=l.Promise,u({target:"Promise",stat:!0,forced:X},{reject:function t(e){var n=B(this);return n.reject.call(void 0,e),n.promise}}),u({target:"Promise",stat:!0,forced:s||X},{resolve:function t(e){return T(s&&this===a?F:this,e)}}),u({target:"Promise",stat:!0,forced:Y},{all:function t(e){var n=this,r=B(n),o=r.resolve,i=r.reject,a=M(function(){var t=b(n.resolve),r=[],a=0,c=1;x(e,function(e){var u=a++,s=!1;r.push(void 0),c++,t.call(n,e).then(function(t){s||(s=!0,r[u]=t,--c||o(r))},i)}),--c||o(r)});return a.error&&i(a.value),r.promise},race:function t(e){var n=this,r=B(n),o=r.reject,i=M(function(){var t=b(n.resolve);x(e,function(e){t.call(n,e).then(r.resolve,o)})});return i.error&&o(i.value),r.promise}})},"5uH8":function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},"6JNq":function t(e,n,r){var o=r("UTVS"),i=r("Vu81"),a=r("Bs8V"),c=r("m/L8");e.exports=function(t,e){for(var n=i(e),r=c.f,u=a.f,s=0;s<n.length;s++){var f=n[s];o(t,f)||r(t,f,u(e,f))}}},"6LWA":function t(e,n,r){var o=r("xrYK");e.exports=Array.isArray||function(t){return"Array"==o(t)}},"6VoE":function t(e,n,r){var o=r("tiKp"),i=r("P4y1"),a=o("iterator"),c=Array.prototype;e.exports=function(t){return void 0!==t&&(i.Array===t||c[a]===t)}},"6hpn":function t(e,n,r){r("Uydy"),r("eajv"),r("n/mU"),r("PqOI"),r("QNnp"),r("/5zm"),r("CsgD"),r("9mRW"),r("QFcT"),r("vAFs"),r("a5NK"),r("yiG3"),r("kNcU"),r("KvGi"),r("AmFO"),r("eJiR"),r("I9xj"),r("tl/u");var o=r("Qo9l");e.exports=o.Math},"6unK":function t(e,n,r){var o=r("0Dky");e.exports=function(t){return o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})}},"7+zs":function t(e,n,r){var o=r("X2U+"),i=r("UesL"),a=r("tiKp")("toPrimitive"),c=Date.prototype;a in c||o(c,a,i)},"7sbD":function t(e,n,r){r("qePV"),r("NbN+"),r("8AyJ"),r("i6QF"),r("kSko"),r("WDsR"),r("r/Vq"),r("5uH8"),r("w1rZ"),r("JevA"),r("toAj"),r("VC3L");var o=r("Qo9l");e.exports=o.Number},"8AyJ":function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{isFinite:r("4oU/")})},"8GlL":function t(e,n,r){"use strict";var o=r("HAuM"),i=function t(e){var n,r;this.promise=new e(function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e}),this.resolve=o(n),this.reject=o(r)};e.exports.f=function(t){return new i(t)}},"8YOa":function t(e,n,r){var o=r("0BK2"),i=r("hh1v"),a=r("UTVS"),c=r("m/L8").f,u=r("kOOl"),s=r("uy83"),f=u("meta"),l=0,p=Object.isExtensible||function(){return!0},h=function t(e){c(e,f,{value:{objectID:"O"+ ++l,weakData:{}}})},v=e.exports={REQUIRED:!1,fastKey:function t(e,n){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,f)){if(!p(e))return"F";if(!n)return"E";h(e)}return e[f].objectID},getWeakData:function t(e,n){if(!a(e,f)){if(!p(e))return!0;if(!n)return!1;h(e)}return e[f].weakData},onFreeze:function t(e){return s&&v.REQUIRED&&p(e)&&!a(e,f)&&h(e),e}};o[f]=!0},"90hW":function t(e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},"93I0":function t(e,n,r){var o=r("VpIT"),i=r("kOOl"),a=o("keys");e.exports=function(t){return a[t]||(a[t]=i(t))}},"9LPj":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("0Dky"),a=r("ewvW"),c=r("wE6v");o({target:"Date",proto:!0,forced:i(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function t(){return 1}})})},{toJSON:function t(e){var n=a(this),r=c(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},"9N29":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("1Y/n").right;o({target:"Array",proto:!0,forced:r("swFL")("reduceRight")},{reduceRight:function t(e){return i(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"9bJ7":function t(e,n,r){"use strict";var o=r("I+eb"),i=r("ZUd8").codeAt;o({target:"String",proto:!0},{codePointAt:function t(e){return i(this,e)}})},"9d/t":function t(e,n,r){var o=r("xrYK"),i=r("tiKp")("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),i))?n:a?o(e):"Object"==(r=o(e))&&"function"==typeof e.callee?"Arguments":r}},"9mRW":function t(e,n,r){r("I+eb")({target:"Math",stat:!0},{fround:r("vo4V")})},"9tb/":function t(e,n,r){var o=r("I+eb"),i=r("I8vh"),a=String.fromCharCode,c=String.fromCodePoint;o({target:"String",stat:!0,forced:!!c&&1!=c.length},{fromCodePoint:function t(e){for(var n,r=[],o=arguments.length,c=0;o>c;){if(n=+arguments[c++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?a(n):a(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},AmFO:function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("jrUv"),c=Math.abs,u=Math.exp,s=Math.E;o({target:"Math",stat:!0,forced:i(function(){return-2e-17!=Math.sinh(-2e-17)})},{sinh:function t(e){return c(e=+e)<1?(a(e)-a(-e))/2:(u(e-1)-u(-e-1))*(s/2)}})},BNMt:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("blink")},{blink:function t(){return i(this,"blink","","")}})},BTho:function t(e,n,r){"use strict";var o=r("HAuM"),i=r("hh1v"),a=[].slice,c={},u=function t(e,n,r){if(!(n in c)){for(var o=[],i=0;i<n;i++){o[i]="a["+i+"]"}c[n]=Function("C,a","return new C("+o.join(",")+")")}return c[n](e,r)};e.exports=Function.bind||function(t){var e=o(this),n=a.call(arguments,1),r=function r(){var o=n.concat(a.call(arguments));return this instanceof r?u(e,o.length,o):e.apply(t,o)};return i(e.prototype)&&(r.prototype=e.prototype),r}},"BX/b":function t(e,n,r){var o=r("/GqU"),i=r("JBy8").f,a={}.toString,c="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(t){return c&&"[object Window]"==a.call(t)?function(t){try{return i(t)}catch(e){return c.slice()}}(t):i(o(t))}},Bs8V:function t(e,n,r){var o=r("g6v/"),i=r("0eef"),a=r("XGwC"),c=r("/GqU"),u=r("wE6v"),s=r("UTVS"),f=r("DPsx"),l=Object.getOwnPropertyDescriptor;n.f=o?l:function(t,e){if(t=c(t),e=u(e,!0),f)try{return l(t,e)}catch(n){}if(s(t,e))return a(!i.f.call(t,e),t[e])}},CsgD:function t(e,n,r){var o=r("I+eb"),i=r("jrUv");o({target:"Math",stat:!0,forced:i!=Math.expm1},{expm1:i})},DEfu:function t(e,n,r){var o=r("2oRo");r("1E5z")(o.JSON,"JSON",!0)},DMt2:function t(e,n,r){var o=r("UMSQ"),i=r("EUja"),a=r("HYAF"),c=Math.ceil,u=function t(e){return function(t,n,r){var u,s,f=String(a(t)),l=f.length,p=void 0===r?" ":String(r),h=o(n);return h<=l||""==p?f:((s=i.call(p,c((u=h-l)/p.length))).length>u&&(s=s.slice(0,u)),e?f+s:s+f)}};e.exports={start:u(!1),end:u(!0)}},DPsx:function t(e,n,r){var o=r("g6v/"),i=r("0Dky"),a=r("zBJ4");e.exports=!o&&!i(function(){return 7!=Object.defineProperty(a("div"),"a",{get:function t(){return 7}}).a})},DQNa:function t(e,n,r){var o=r("busE"),i=Date.prototype,a=i.toString,c=i.getTime;new Date(NaN)+""!="Invalid Date"&&o(i,"toString",function(){var t=c.call(this);return t==t?a.call(this):"Invalid Date"})},E5NM:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("big")},{big:function t(){return i(this,"big","","")}})},E9XD:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("1Y/n").left;o({target:"Array",proto:!0,forced:r("swFL")("reduce")},{reduce:function t(e){return i(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},ENF9:function t(e,n,r){"use strict";var o,i=r("2oRo"),a=r("4syw"),c=r("8YOa"),u=r("bWFh"),s=r("rKzb"),f=r("hh1v"),l=r("afO8").enforce,p=r("f5p1"),h=!i.ActiveXObject&&"ActiveXObject"in i,v=Object.isExtensible,d=function t(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},g=e.exports=u("WeakMap",d,s,!0,!0);if(p&&h){o=s.getConstructor(d,"WeakMap",!0),c.REQUIRED=!0;var y=g.prototype,b=y.delete,m=y.has,k=y.get,x=y.set;a(y,{delete:function t(e){if(f(e)&&!v(e)){var n=l(this);return n.frozen||(n.frozen=new o),b.call(this,e)||n.frozen.delete(e)}return b.call(this,e)},has:function t(e){if(f(e)&&!v(e)){var n=l(this);return n.frozen||(n.frozen=new o),m.call(this,e)||n.frozen.has(e)}return m.call(this,e)},get:function t(e){if(f(e)&&!v(e)){var n=l(this);return n.frozen||(n.frozen=new o),m.call(this,e)?k.call(this,e):n.frozen.get(e)}return k.call(this,e)},set:function t(e,n){if(f(e)&&!v(e)){var r=l(this);r.frozen||(r.frozen=new o),m.call(this,e)?x.call(this,e,n):r.frozen.set(e,n)}else x.call(this,e,n);return this}})}},EUja:function t(e,n,r){"use strict";var o=r("ppGB"),i=r("HYAF");e.exports="".repeat||function(t){var e=String(i(this)),n="",r=o(t);if(r<0||r==1/0)throw RangeError("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(e+=e)){1&r&&(n+=e)}return n}},EnZy:function t(e,n,r){"use strict";var o=r("14Sl"),i=r("ROdP"),a=r("glrk"),c=r("HYAF"),u=r("SEBh"),s=r("iqWW"),f=r("UMSQ"),l=r("FMNM"),p=r("kmMV"),h=r("0Dky"),v=[].push,d=Math.min,g=!h(function(){return!RegExp(4294967295,"y")});o("split",2,function(t,e,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var r=String(c(this)),o=void 0===n?4294967295:n>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return e.call(r,t,o);for(var a,u,s,f=[],l=0,h=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(a=p.call(h,r))&&!((u=h.lastIndex)>l&&(f.push(r.slice(l,a.index)),a.length>1&&a.index<r.length&&v.apply(f,a.slice(1)),s=a[0].length,l=u,f.length>=o));){h.lastIndex===a.index&&h.lastIndex++}return l===r.length?!s&&h.test("")||f.push(""):f.push(r.slice(l)),f.length>o?f.slice(0,o):f}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=c(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var i=n(r,t,this,o,r!==e);if(i.done)return i.value;var c=a(t),p=String(this),h=u(c,RegExp),v=c.unicode,y=new h(g?c:"^(?:"+c.source+")",(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(g?"y":"g")),b=void 0===o?4294967295:o>>>0;if(0===b)return[];if(0===p.length)return null===l(y,p)?[p]:[];for(var m=0,k=0,x=[];k<p.length;){y.lastIndex=g?k:0;var S,_=l(y,g?p:p.slice(k));if(null===_||(S=d(f(y.lastIndex+(g?0:k)),p.length))===m)k=s(p,k,v);else{if(x.push(p.slice(m,k)),x.length===b)return x;for(var E=1;E<=_.length-1;E++){if(x.push(_[E]),x.length===b)return x}k=m=S}}return x.push(p.slice(m)),x}]},!g)},Ep9I:function t(e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},ExoC:function t(e,n,r){r("I+eb")({target:"Object",stat:!0},{setPrototypeOf:r("0rvr")})},F8JR:function t(e,n,r){"use strict";var o=r("tycR").forEach,i=r("swFL");e.exports=i("forEach")?function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}:[].forEach},FF6l:function t(e,n,r){"use strict";var o=r("ewvW"),i=r("I8vh"),a=r("UMSQ"),c=Math.min;e.exports=[].copyWithin||function(t,e){var n=o(this),r=a(n.length),u=i(t,r),s=i(e,r),f=arguments.length>2?arguments[2]:void 0,l=c((void 0===f?r:i(f,r))-s,r-u),p=1;for(s<u&&u<s+l&&(p=-1,s+=l-1,u+=l-1);l-- >0;){s in n?n[u]=n[s]:delete n[u],u+=p,s+=p}return n}},FMNM:function t(e,n,r){var o=r("xrYK"),i=r("kmMV");e.exports=function(t,e){var n=t.exec;if("function"==typeof n){var r=n.call(t,e);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==o(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},FZtP:function t(e,n,r){var o=r("2oRo"),i=r("/byt"),a=r("F8JR"),c=r("X2U+");for(var u in i){var s=o[u],f=s&&s.prototype;if(f&&f.forEach!==a)try{c(f,"forEach",a)}catch(l){f.forEach=a}}},"G+Rx":function t(e,n,r){var o=r("0GbY");e.exports=o("document","documentElement")},GKVU:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("anchor")},{anchor:function t(e){return i(this,"a","name",e)}})},GRPF:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("fontsize")},{fontsize:function t(e){return i(this,"font","size",e)}})},GarU:function t(e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},HAuM:function t(e,n){e.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},HH4o:function t(e,n,r){var o=r("tiKp")("iterator"),i=!1;try{var a=0,c={next:function t(){return{done:!!a++}},return:function t(){i=!0}};c[o]=function(){return this},Array.from(c,function(){throw 2})}catch(u){}e.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function t(){return{done:n=!0}}}},t(r)}catch(u){}return n}},HRxU:function t(e,n,r){var o=r("I+eb"),i=r("g6v/");o({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperties:r("N+g0")})},HYAF:function t(e,n){e.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},Hd5f:function t(e,n,r){var o=r("0Dky"),i=r("tiKp")("species");e.exports=function(t){return!o(function(){var e=[];return(e.constructor={})[i]=function(){return{foo:1}},1!==e[t](Boolean).foo})}},HsHA:function t(e,n){var r=Math.log;e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:r(1+t)}},"I+eb":function t(e,n,r){var o=r("2oRo"),i=r("Bs8V").f,a=r("X2U+"),c=r("busE"),u=r("zk60"),s=r("6JNq"),f=r("lMq5");e.exports=function(t,e){var n,r,l,p,h,v=t.target,d=t.global,g=t.stat;if(n=d?o:g?o[v]||u(v,{}):(o[v]||{}).prototype)for(r in e){if(p=e[r],l=t.noTargetGet?(h=i(n,r))&&h.value:n[r],!f(d?r:v+(g?".":"#")+r,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;s(p,l)}(t.sham||l&&l.sham)&&a(p,"sham",!0),c(n,r,p,t)}}},I8vh:function t(e,n,r){var o=r("ppGB"),i=Math.max,a=Math.min;e.exports=function(t,e){var n=o(t);return n<0?i(n+e,0):a(n,e)}},I9xj:function t(e,n,r){r("1E5z")(Math,"Math",!0)},ImZN:function t(e,n,r){var o=r("glrk"),i=r("6VoE"),a=r("UMSQ"),c=r("+MLx"),u=r("NaFW"),s=r("m92n"),f=function t(e,n){this.stopped=e,this.result=n};(e.exports=function(t,e,n,r,l){var p,h,v,d,g,y,b=c(e,n,r?2:1);if(l)p=t;else{if("function"!=typeof(h=u(t)))throw TypeError("Target is not iterable");if(i(h)){for(v=0,d=a(t.length);d>v;v++){if((g=r?b(o(y=t[v])[0],y[1]):b(t[v]))&&g instanceof f)return g}return new f(!1)}p=h.call(t)}for(;!(y=p.next()).done;){if((g=s(p,b,y.value,r))&&g instanceof f)return g}return new f(!1)}).stop=function(t){return new f(!0,t)}},IxXR:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("strike")},{strike:function t(){return i(this,"strike","","")}})},J30X:function t(e,n,r){r("I+eb")({target:"Array",stat:!0},{isArray:r("6LWA")})},JBy8:function t(e,n,r){var o=r("yoRg"),i=r("eDl+").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return o(t,i)}},JTJg:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("WjRb"),a=r("HYAF");o({target:"String",proto:!0,forced:!r("qxPZ")("includes")},{includes:function t(e){return!!~String(a(this)).indexOf(i(e),arguments.length>1?arguments[1]:void 0)}})},JevA:function t(e,n,r){var o=r("I+eb"),i=r("5YOQ");o({target:"Number",stat:!0,forced:Number.parseInt!=i},{parseInt:i})},JfAA:function t(e,n,r){"use strict";var o=r("busE"),i=r("glrk"),a=r("0Dky"),c=r("rW0t"),u=RegExp.prototype,s=u.toString;(a(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})||"toString"!=s.name)&&o(RegExp.prototype,"toString",function(){var t=i(this),e=String(t.source),n=t.flags;return"/"+e+"/"+String(void 0===n&&t instanceof RegExp&&!("flags"in u)?c.call(t):n)},{unsafe:!0})},JiZb:function t(e,n,r){"use strict";var o=r("0GbY"),i=r("m/L8"),a=r("tiKp"),c=r("g6v/"),u=a("species");e.exports=function(t){var e=o(t);c&&e&&!e[u]&&(0,i.f)(e,u,{configurable:!0,get:function t(){return this}})}},Kv9l:function t(e,n,r){r("TWNs"),r("JfAA"),r("rB9j"),r("U3f4"),r("Rm1S"),r("UxlC"),r("hByQ"),r("EnZy")},KvGi:function t(e,n,r){r("I+eb")({target:"Math",stat:!0},{sign:r("90hW")})},Kxld:function t(e,n,r){r("I+eb")({target:"Object",stat:!0},{is:r("Ep9I")})},LKBx:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("UMSQ"),a=r("WjRb"),c=r("HYAF"),u=r("qxPZ"),s="".startsWith,f=Math.min;o({target:"String",proto:!0,forced:!u("startsWith")},{startsWith:function t(e){var n=String(c(this));a(e);var r=i(f(arguments.length>1?arguments[1]:void 0,n.length)),o=String(e);return s?s.call(n,o,r):n.slice(r,r+o.length)===o}})},LPSS:function t(e,n,r){var o,i,a,c=r("2oRo"),u=r("0Dky"),s=r("xrYK"),f=r("+MLx"),l=r("G+Rx"),p=r("zBJ4"),h=c.location,v=c.setImmediate,d=c.clearImmediate,g=c.process,y=c.MessageChannel,b=c.Dispatch,m=0,k={},x=function t(e){if(k.hasOwnProperty(e)){var n=k[e];delete k[e],n()}},S=function t(e){return function(){x(e)}},_=function t(e){x(e.data)},E=function t(e){c.postMessage(e+"",h.protocol+"//"+h.host)};v&&d||(v=function t(e){for(var n=[],r=1;arguments.length>r;){n.push(arguments[r++])}return k[++m]=function(){("function"==typeof e?e:Function(e)).apply(void 0,n)},o(m),m},d=function t(e){delete k[e]},"process"==s(g)?o=function t(e){g.nextTick(S(e))}:b&&b.now?o=function t(e){b.now(S(e))}:y?(a=(i=new y).port2,i.port1.onmessage=_,o=f(a.postMessage,a,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||u(E)?o="onreadystatechange"in p("script")?function(t){l.appendChild(p("script")).onreadystatechange=function(){l.removeChild(this),x(t)}}:function(t){setTimeout(S(t),0)}:(o=E,c.addEventListener("message",_,!1))),e.exports={set:v,clear:d}},"N+g0":function t(e,n,r){var o=r("g6v/"),i=r("m/L8"),a=r("glrk"),c=r("33Wh");e.exports=o?Object.defineProperties:function(t,e){a(t);for(var n,r=c(e),o=r.length,u=0;o>u;){i.f(t,n=r[u++],e[n])}return t}},NBAS:function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("ewvW"),c=r("4WOD"),u=r("4Xet");o({target:"Object",stat:!0,forced:i(function(){c(1)}),sham:!u},{getPrototypeOf:function t(e){return c(a(e))}})},NaFW:function t(e,n,r){var o=r("9d/t"),i=r("P4y1"),a=r("tiKp")("iterator");e.exports=function(t){if(null!=t)return t[a]||t["@@iterator"]||i[o(t)]}},"NbN+":function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},O741:function t(e,n,r){var o=r("hh1v");e.exports=function(t){if(!o(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},OM9Z:function t(e,n,r){r("I+eb")({target:"String",proto:!0},{repeat:r("EUja")})},P4y1:function t(e,n){e.exports={}},PKPk:function t(e,n,r){"use strict";var o=r("ZUd8").charAt,i=r("afO8"),a=r("fdAy"),c=i.set,u=i.getterFor("String Iterator");a(String,"String",function(t){c(this,{type:"String Iterator",string:String(t),index:0})},function(){var t,e=u(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=o(n,r),e.index+=t.length,{value:t,done:!1})})},PqOI:function t(e,n,r){var o=r("I+eb"),i=r("90hW"),a=Math.abs,c=Math.pow;o({target:"Math",stat:!0},{cbrt:function t(e){return i(e=+e)*c(a(e),1/3)}})},QFcT:function t(e,n,r){var o=r("I+eb"),i=Math.hypot,a=Math.abs,c=Math.sqrt;o({target:"Math",stat:!0,forced:!!i&&i(1/0,NaN)!==1/0},{hypot:function t(e,n){for(var r,o,i=0,u=0,s=arguments.length,f=0;u<s;){f<(r=a(arguments[u++]))?(i=i*(o=f/r)*o+1,f=r):i+=r>0?(o=r/f)*o:r}return f===1/0?1/0:f*c(i)}})},QIpd:function t(e,n,r){var o=r("xrYK");e.exports=function(t){if("number"!=typeof t&&"Number"!=o(t))throw TypeError("Incorrect invocation");return+t}},QNnp:function t(e,n,r){var o=r("I+eb"),i=Math.floor,a=Math.log,c=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function t(e){return(e>>>=0)?31-i(a(e+.5)*c):32}})},QWBl:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("F8JR");o({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},Qo9l:function t(e,n,r){e.exports=r("2oRo")},R0gw:function t(e,n,r){!function(){"use strict";function t(t,e){var n=e.getGlobalObjects(),r=n.eventNames,o=n.globalSources,i=n.zoneSymbolEventNames,a=n.TRUE_STR,c=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,s="Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video",f="ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket".split(","),l=[],p=t.wtf,h=s.split(",");p?l=h.map(function(t){return"HTML"+t+"Element"}).concat(f):t.EventTarget?l.push("EventTarget"):l=f;for(var v=t.__Zone_disable_IE_check||!1,d=t.__Zone_enable_cross_context_check||!1,g=e.isIEOrEdge(),y="function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }",b=0;b<r.length;b++){var m=u+((E=r[b])+c),k=u+(E+a);i[E]={},i[E][c]=m,i[E][a]=k}for(b=0;b<s.length;b++){for(var x=h[b],S=o[x]={},_=0;_<r.length;_++){var E;S[E=r[_]]=x+".addEventListener:"+E}}var w=[];for(b=0;b<l.length;b++){var T=t[l[b]];w.push(T&&T.prototype)}return e.patchEventTarget(t,w,{vh:function t(e,n,r,o){if(!v&&g){if(d)try{var i;if("[object FunctionWrapper]"===(i=n.toString())||i==y)return e.apply(r,o),!1}catch(a){return e.apply(r,o),!1}else if("[object FunctionWrapper]"===(i=n.toString())||i==y)return e.apply(r,o),!1}else if(d)try{n.toString()}catch(a){return e.apply(r,o),!1}return!0}}),Zone[e.symbol("patchEventTarget")]=!!t.EventTarget,!0}function e(t,e){var n=t.getGlobalObjects();if((!n.isNode||n.isMix)&&!function(t,e){var n=t.getGlobalObjects();if((n.isBrowser||n.isMix)&&!t.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype,"onclick")&&"undefined"!=typeof Element){var r=t.ObjectGetOwnPropertyDescriptor(Element.prototype,"onclick");if(r&&!r.configurable)return!1;if(r){t.ObjectDefineProperty(Element.prototype,"onclick",{enumerable:!0,configurable:!0,get:function t(){return!0}});var o=!!document.createElement("div").onclick;return t.ObjectDefineProperty(Element.prototype,"onclick",r),o}}var i=e.XMLHttpRequest;if(!i)return!1;var a=i.prototype,c=t.ObjectGetOwnPropertyDescriptor(a,"onreadystatechange");if(c)return t.ObjectDefineProperty(a,"onreadystatechange",{enumerable:!0,configurable:!0,get:function t(){return!0}}),o=!!(s=new i).onreadystatechange,t.ObjectDefineProperty(a,"onreadystatechange",c||{}),o;var u=t.symbol("fake");t.ObjectDefineProperty(a,"onreadystatechange",{enumerable:!0,configurable:!0,get:function t(){return this[u]},set:function t(e){this[u]=e}});var s=new i,f=function t(){};return s.onreadystatechange=f,o=s[u]===f,s.onreadystatechange=null,o}(t,e)){var r="undefined"!=typeof WebSocket;!function(t){for(var e=t.getGlobalObjects().eventNames,n=t.symbol("unbound"),r=function r(o){var i=e[o],a="on"+i;self.addEventListener(i,function(e){var r,o,i=e.target;for(o=i?i.constructor.name+"."+a:"unknown."+a;i;){i[a]&&!i[a][n]&&((r=t.wrapWithCurrentZone(i[a],o))[n]=i[a],i[a]=r),i=i.parentElement}},!0)},o=0;o<e.length;o++){r(o)}}(t),t.patchClass("XMLHttpRequest"),r&&function(t,e){var n=t.getGlobalObjects(),r=n.ADD_EVENT_LISTENER_STR,o=n.REMOVE_EVENT_LISTENER_STR,i=e.WebSocket;e.EventTarget||t.patchEventTarget(e,[i.prototype]),e.WebSocket=function(e,n){var a,c,u=arguments.length>1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(u,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(u),c=u,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var c=Zone.__symbol__("ON_PROPERTY"+i);u[c]=a[c]}}return u[e].apply(u,n)}})):a=u,t.patchOnProperties(a,["close","error","message","open"],c),a};var a=e.WebSocket;for(var c in i){a[c]=i[c]}}(t,e),Zone[t.symbol("patchEvents")]=!0}}var n;(n="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global).__zone_symbol__legacyPatch=function(){var r=n.Zone;r.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(t,n)}),r.__load_patch("EventTargetLegacy",function(n,r,o){t(n,o),e(o,n)})}}()},RK3t:function t(e,n,r){var o=r("0Dky"),i=r("xrYK"),a="".split;e.exports=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==i(t)?a.call(t,""):Object(t)}:Object},RN6c:function t(e,n,r){var o=r("2oRo");e.exports=function(t,e){var n=o.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},RNIs:function t(e,n,r){var o=r("tiKp"),i=r("fHMY"),a=r("X2U+"),c=o("unscopables"),u=Array.prototype;null==u[c]&&a(u,c,i(null)),e.exports=function(t){u[c][t]=!0}},ROdP:function t(e,n,r){var o=r("hh1v"),i=r("xrYK"),a=r("tiKp")("match");e.exports=function(t){var e;return o(t)&&(void 0!==(e=t[a])?!!e:"RegExp"==i(t))}},Rfxz:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").some;o({target:"Array",proto:!0,forced:r("swFL")("some")},{some:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},Rm1S:function t(e,n,r){"use strict";var o=r("14Sl"),i=r("glrk"),a=r("UMSQ"),c=r("HYAF"),u=r("iqWW"),s=r("FMNM");o("match",1,function(t,e,n){return[function(e){var n=c(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var o=i(t),c=String(this);if(!o.global)return s(o,c);var f=o.unicode;o.lastIndex=0;for(var l,p=[],h=0;null!==(l=s(o,c));){var v=String(l[0]);p[h]=v,""===v&&(o.lastIndex=u(c,a(o.lastIndex),f)),h++}return 0===h?null:p}]})},SEBh:function t(e,n,r){var o=r("glrk"),i=r("HAuM"),a=r("tiKp")("species");e.exports=function(t,e){var n,r=o(t).constructor;return void 0===r||null==(n=o(r)[a])?e:i(n)}},STAE:function t(e,n,r){var o=r("0Dky");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},SYor:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("WKiH").trim;o({target:"String",proto:!0,forced:r("4HCi")("trim")},{trim:function t(){return i(this)}})},TFPT:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("sub")},{sub:function t(){return i(this,"sub","","")}})},TWNs:function t(e,n,r){var o=r("g6v/"),i=r("2oRo"),a=r("lMq5"),c=r("cVYH"),u=r("m/L8").f,s=r("JBy8").f,f=r("ROdP"),l=r("rW0t"),p=r("busE"),h=r("0Dky"),v=r("JiZb"),d=r("tiKp")("match"),g=i.RegExp,y=g.prototype,b=/a/g,m=/a/g,k=new g(b)!==b;if(o&&a("RegExp",!k||h(function(){return m[d]=!1,g(b)!=b||g(m)==m||"/a/i"!=g(b,"i")}))){for(var x=function t(e,n){var r=this instanceof t,o=f(e),i=void 0===n;return!r&&o&&e.constructor===t&&i?e:c(k?new g(o&&!i?e.source:e,n):g((o=e instanceof t)?e.source:e,o&&i?l.call(e):n),r?this:y,t)},S=function t(e){e in x||u(x,e,{configurable:!0,get:function t(){return g[e]},set:function t(n){g[e]=n}})},_=s(g),E=0;_.length>E;){S(_[E++])}y.constructor=x,x.prototype=y,p(i,"RegExp",x)}v("RegExp")},TWQb:function t(e,n,r){var o=r("/GqU"),i=r("UMSQ"),a=r("I8vh"),c=function t(e){return function(t,n,r){var c,u=o(t),s=i(u.length),f=a(r,s);if(e&&n!=n){for(;s>f;){if((c=u[f++])!=c)return!0}}else for(;s>f;f++){if((e||f in u)&&u[f]===n)return e||f||0}return!e&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},TeQF:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").filter;o({target:"Array",proto:!0,forced:!r("Hd5f")("filter")},{filter:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},TfTi:function t(e,n,r){"use strict";var o=r("+MLx"),i=r("ewvW"),a=r("m92n"),c=r("6VoE"),u=r("UMSQ"),s=r("hBjN"),f=r("NaFW");e.exports=function(t){var e,n,r,l,p=i(t),h="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,g=void 0!==d,y=0,b=f(p);if(g&&(d=o(d,v>2?arguments[2]:void 0,2)),null==b||h==Array&&c(b))for(n=new h(e=u(p.length));e>y;y++){s(n,y,g?d(p[y],y):p[y])}else for(l=b.call(p),n=new h;!(r=l.next()).done;y++){s(n,y,g?a(l,d,[r.value,y],!0):r.value)}return n.length=y,n}},ToJy:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("HAuM"),a=r("ewvW"),c=r("0Dky"),u=r("swFL"),s=[].sort,f=[1,2,3],l=c(function(){f.sort(void 0)}),p=c(function(){f.sort(null)}),h=u("sort");o({target:"Array",proto:!0,forced:l||!p||h},{sort:function t(e){return void 0===e?s.call(a(this)):s.call(a(this),i(e))}})},Tskq:function t(e,n,r){"use strict";var o=r("bWFh"),i=r("ZWaQ");e.exports=o("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},i,!0)},U3f4:function t(e,n,r){var o=r("g6v/"),i=r("m/L8"),a=r("rW0t");o&&"g"!=/./g.flags&&i.f(RegExp.prototype,"flags",{configurable:!0,get:a})},UMSQ:function t(e,n,r){var o=r("ppGB"),i=Math.min;e.exports=function(t){return t>0?i(o(t),9007199254740991):0}},UTVS:function t(e,n){var r={}.hasOwnProperty;e.exports=function(t,e){return r.call(t,e)}},UesL:function t(e,n,r){"use strict";var o=r("glrk"),i=r("wE6v");e.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(o(this),"number"!==t)}},UxlC:function t(e,n,r){"use strict";var o=r("14Sl"),i=r("glrk"),a=r("ewvW"),c=r("UMSQ"),u=r("ppGB"),s=r("HYAF"),f=r("iqWW"),l=r("FMNM"),p=Math.max,h=Math.min,v=Math.floor,d=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;o("replace",2,function(t,e,n){return[function(n,r){var o=s(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,o){var a=n(e,t,this,o);if(a.done)return a.value;var s=i(t),v=String(this),d="function"==typeof o;d||(o=String(o));var g=s.global;if(g){var y=s.unicode;s.lastIndex=0}for(var b=[];;){var m=l(s,v);if(null===m)break;if(b.push(m),!g)break;""===String(m[0])&&(s.lastIndex=f(v,c(s.lastIndex),y))}for(var k,x="",S=0,_=0;_<b.length;_++){m=b[_];for(var E=String(m[0]),w=p(h(u(m.index),v.length),0),T=[],O=1;O<m.length;O++){T.push(void 0===(k=m[O])?k:String(k))}var I=m.groups;if(d){var M=[E].concat(T,w,v);void 0!==I&&M.push(I);var D=String(o.apply(void 0,M))}else D=r(E,v,w,T,I,o);w>=S&&(x+=v.slice(S,w)+D,S=w+E.length)}return x+v.slice(S)}];function r(t,n,r,o,i,c){var u=r+t.length,s=o.length,f=g;return void 0!==i&&(i=a(i),f=d),e.call(c,f,function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=v(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?"":c})}})},Uydy:function t(e,n,r){var o=r("I+eb"),i=r("HsHA"),a=Math.acosh,c=Math.log,u=Math.sqrt,s=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(1/0)!=1/0},{acosh:function t(e){return(e=+e)<1?NaN:e>94906265.62425156?c(e)+s:i(e-1+u(e-1)*u(e+1))}})},VC3L:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("0Dky"),a=r("QIpd"),c=1..toPrecision;o({target:"Number",proto:!0,forced:i(function(){return"1"!==c.call(1,void 0)})||!i(function(){c.call({})})},{toPrecision:function t(e){return void 0===e?c.call(a(this)):c.call(a(this),e)}})},VpIT:function t(e,n,r){var o=r("2oRo"),i=r("zk60"),a=r("xDBR"),c=o["__core-js_shared__"]||i("__core-js_shared__",{});(e.exports=function(t,e){return c[t]||(c[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.2.1",mode:a?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},Vu81:function t(e,n,r){var o=r("0GbY"),i=r("JBy8"),a=r("dBg+"),c=r("glrk");e.exports=o("Reflect","ownKeys")||function(t){var e=i.f(c(t)),n=a.f;return n?e.concat(n(t)):e}},WDsR:function t(e,n,r){var o=r("I+eb"),i=r("Xol8"),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function t(e){return i(e)&&a(e)<=9007199254740991}})},WJkJ:function t(e,n){e.exports="\t\n\v\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},WKiH:function t(e,n,r){var o=r("HYAF"),i="["+r("WJkJ")+"]",a=RegExp("^"+i+i+"*"),c=RegExp(i+i+"*$"),u=function t(e){return function(t){var n=String(o(t));return 1&e&&(n=n.replace(a,"")),2&e&&(n=n.replace(c,"")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},WjRb:function t(e,n,r){var o=r("ROdP");e.exports=function(t){if(o(t))throw TypeError("The method doesn't accept regular expressions");return t}},"X2U+":function t(e,n,r){var o=r("g6v/"),i=r("m/L8"),a=r("XGwC");e.exports=o?function(t,e,n){return i.f(t,e,a(1,n))}:function(t,e,n){return t[e]=n,t}},XGwC:function t(e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},Xe3L:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("0Dky"),a=r("hBjN");o({target:"Array",stat:!0,forced:i(function(){function t(){}return!(Array.of.call(t)instanceof t)})},{of:function t(){for(var e=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>e;){a(r,e,arguments[e++])}return r.length=n,r}})},Xol8:function t(e,n,r){var o=r("hh1v"),i=Math.floor;e.exports=function(t){return!o(t)&&isFinite(t)&&i(t)===t}},YGK4:function t(e,n,r){"use strict";var o=r("bWFh"),i=r("ZWaQ");e.exports=o("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},i)},YNrV:function t(e,n,r){"use strict";var o=r("g6v/"),i=r("0Dky"),a=r("33Wh"),c=r("dBg+"),u=r("0eef"),s=r("ewvW"),f=r("RK3t"),l=Object.assign;e.exports=!l||i(function(){var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach(function(t){e[t]=t}),7!=l({},t)[n]||"abcdefghijklmnopqrst"!=a(l({},e)).join("")})?function(t,e){for(var n=s(t),r=arguments.length,i=1,l=c.f,p=u.f;r>i;){for(var h,v=f(arguments[i++]),d=l?a(v).concat(l(v)):a(v),g=d.length,y=0;g>y;){h=d[y++],o&&!p.call(v,h)||(n[h]=v[h])}}return n}:l},ZOXb:function t(e,n,r){"use strict";var o=r("0Dky"),i=r("DMt2").start,a=Math.abs,c=Date.prototype,u=c.getTime,s=c.toISOString;e.exports=o(function(){return"0385-07-25T07:06:39.999Z"!=s.call(new Date(-5e13-1))})||!o(function(){s.call(new Date(NaN))})?function(){if(!isFinite(u.call(this)))throw RangeError("Invalid time value");var t=this.getUTCFullYear(),e=this.getUTCMilliseconds(),n=t<0?"-":t>9999?"+":"";return n+i(a(t),n?6:4,0)+"-"+i(this.getUTCMonth()+1,2,0)+"-"+i(this.getUTCDate(),2,0)+"T"+i(this.getUTCHours(),2,0)+":"+i(this.getUTCMinutes(),2,0)+":"+i(this.getUTCSeconds(),2,0)+"."+i(e,3,0)+"Z"}:s},ZUd8:function t(e,n,r){var o=r("ppGB"),i=r("HYAF"),a=function t(e){return function(t,n){var r,a,c=String(i(t)),u=o(n),s=c.length;return u<0||u>=s?e?"":void 0:(r=c.charCodeAt(u))<55296||r>56319||u+1===s||(a=c.charCodeAt(u+1))<56320||a>57343?e?c.charAt(u):r:e?c.slice(u,u+2):a-56320+(r-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},ZWaQ:function t(e,n,r){"use strict";var o=r("m/L8").f,i=r("fHMY"),a=r("4syw"),c=r("+MLx"),u=r("GarU"),s=r("ImZN"),f=r("fdAy"),l=r("JiZb"),p=r("g6v/"),h=r("8YOa").fastKey,v=r("afO8"),d=v.set,g=v.getterFor;e.exports={getConstructor:function t(e,n,r,f){var l=e(function(t,e){u(t,l,n),d(t,{type:n,index:i(null),first:void 0,last:void 0,size:0}),p||(t.size=0),null!=e&&s(e,t[f],t,r)}),v=g(n),y=function t(e,n,r){var o,i,a=v(e),c=b(e,n);return c?c.value=r:(a.last=c={index:i=h(n,!0),key:n,value:r,previous:o=a.last,next:void 0,removed:!1},a.first||(a.first=c),o&&(o.next=c),p?a.size++:e.size++,"F"!==i&&(a.index[i]=c)),e},b=function t(e,n){var r,o=v(e),i=h(n);if("F"!==i)return o.index[i];for(r=o.first;r;r=r.next){if(r.key==n)return r}};return a(l.prototype,{clear:function t(){for(var e=v(this),n=e.index,r=e.first;r;){r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete n[r.index],r=r.next}e.first=e.last=void 0,p?e.size=0:this.size=0},delete:function t(e){var n=v(this),r=b(this,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),p?n.size--:this.size--}return!!r},forEach:function t(e){for(var n,r=v(this),o=c(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:r.first;){for(o(n.value,n.key,this);n&&n.removed;){n=n.previous}}},has:function t(e){return!!b(this,e)}}),a(l.prototype,r?{get:function t(e){var n=b(this,e);return n&&n.value},set:function t(e,n){return y(this,0===e?0:e,n)}}:{add:function t(e){return y(this,e=0===e?0:e,e)}}),p&&o(l.prototype,"size",{get:function t(){return v(this).size}}),l},setStrong:function t(e,n,r){var o=n+" Iterator",i=g(n),a=g(o);f(e,n,function(t,e){d(this,{type:o,target:t,state:i(t),kind:e,last:void 0})},function(){for(var t=a(this),e=t.kind,n=t.last;n&&n.removed;){n=n.previous}return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?"entries":"values",!r,!0),l(n)}}},ZfDv:function t(e,n,r){var o=r("hh1v"),i=r("6LWA"),a=r("tiKp")("species");e.exports=function(t,e){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[a])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},Zk8X:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("sup")},{sup:function t(){return i(this,"sup","","")}})},a5NK:function t(e,n,r){var o=r("I+eb"),i=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function t(e){return i(e)*a}})},afO8:function t(e,n,r){var o,i,a,c=r("f5p1"),u=r("2oRo"),s=r("hh1v"),f=r("X2U+"),l=r("UTVS"),p=r("93I0"),h=r("0BK2");if(c){var v=new(0,u.WeakMap),d=v.get,g=v.has,y=v.set;o=function t(e,n){return y.call(v,e,n),n},i=function t(e){return d.call(v,e)||{}},a=function t(e){return g.call(v,e)}}else{var b=p("state");h[b]=!0,o=function t(e,n){return f(e,b,n),n},i=function t(e){return l(e,b)?e[b]:{}},a=function t(e){return l(e,b)}}e.exports={set:o,get:i,has:a,enforce:function t(e){return a(e)?i(e):o(e,{})},getterFor:function t(e){return function(t){var n;if(!s(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},"b+VT":function t(e,n,r){var o=r("2oRo"),i=r("WKiH").trim,a=r("WJkJ"),c=o.parseFloat,u=1/c(a+"-0")!=-1/0;e.exports=u?function(t){var e=i(String(t)),n=c(e);return 0===n&&"-"==e.charAt(0)?-0:n}:c},bWFh:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("2oRo"),a=r("lMq5"),c=r("busE"),u=r("8YOa"),s=r("ImZN"),f=r("GarU"),l=r("hh1v"),p=r("0Dky"),h=r("HH4o"),v=r("1E5z"),d=r("cVYH");e.exports=function(t,e,n,r,g){var y=i[t],b=y&&y.prototype,m=y,k=r?"set":"add",x={},S=function t(e){var n=b[e];c(b,e,"add"==e?function(t){return n.call(this,0===t?0:t),this}:"delete"==e?function(t){return!(g&&!l(t))&&n.call(this,0===t?0:t)}:"get"==e?function(t){return g&&!l(t)?void 0:n.call(this,0===t?0:t)}:"has"==e?function(t){return!(g&&!l(t))&&n.call(this,0===t?0:t)}:function(t,e){return n.call(this,0===t?0:t,e),this})};if(a(t,"function"!=typeof y||!(g||b.forEach&&!p(function(){(new y).entries().next()}))))m=n.getConstructor(e,t,r,k),u.REQUIRED=!0;else if(a(t,!0)){var _=new m,E=_[k](g?{}:-0,1)!=_,w=p(function(){_.has(1)}),T=h(function(t){new y(t)}),O=!g&&p(function(){for(var t=new y,e=5;e--;){t[k](e,e)}return!t.has(-0)});T||((m=e(function(e,n){f(e,m,t);var o=d(new y,e,m);return null!=n&&s(n,o[k],o,r),o})).prototype=b,b.constructor=m),(w||O)&&(S("delete"),S("has"),r&&S("get")),(O||E)&&S(k),g&&b.clear&&delete b.clear}return x[t]=m,o({global:!0,forced:m!=y},x),v(m,t),g||n.setStrong(m,t,r),m}},brp2:function t(e,n,r){r("I+eb")({target:"Date",stat:!0},{now:function t(){return(new Date).getTime()}})},busE:function t(e,n,r){var o=r("2oRo"),i=r("VpIT"),a=r("X2U+"),c=r("UTVS"),u=r("zk60"),s=r("noGo"),f=r("afO8"),l=f.get,p=f.enforce,h=String(s).split("toString");i("inspectSource",function(t){return s.call(t)}),(e.exports=function(t,e,n,r){var i=!!r&&!!r.unsafe,s=!!r&&!!r.enumerable,f=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof e||c(n,"name")||a(n,"name",e),p(n).source=h.join("string"==typeof e?e:"")),t!==o?(i?!f&&t[e]&&(s=!0):delete t[e],s?t[e]=n:a(t,e,n)):s?t[e]=n:u(e,n)})(Function.prototype,"toString",function(){return"function"==typeof this&&l(this).source||s.call(this)})},cDke:function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("BX/b").f;o({target:"Object",stat:!0,forced:i(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:a})},cVYH:function t(e,n,r){var o=r("hh1v"),i=r("0rvr");e.exports=function(t,e,n){var r,a;return i&&"function"==typeof(r=e.constructor)&&r!==n&&o(a=r.prototype)&&a!==n.prototype&&i(t,a),t}},"dBg+":function t(e,n){n.f=Object.getOwnPropertySymbols},"dG/n":function t(e,n,r){var o=r("Qo9l"),i=r("UTVS"),a=r("wDLo"),c=r("m/L8").f;e.exports=function(t){var e=o.Symbol||(o.Symbol={});i(e,t)||c(e,t,{value:a.f(t)})}},"eDl+":function t(e,n){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},eJiR:function t(e,n,r){var o=r("I+eb"),i=r("jrUv"),a=Math.exp;o({target:"Math",stat:!0},{tanh:function t(e){var n=i(e=+e),r=i(-e);return n==1/0?1:r==1/0?-1:(n-r)/(a(e)+a(-e))}})},eajv:function t(e,n,r){var o=r("I+eb"),i=Math.asinh,a=Math.log,c=Math.sqrt;o({target:"Math",stat:!0,forced:!(i&&1/i(0)>0)},{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):a(e+c(e*e+1)):e}})},eoL8:function t(e,n,r){var o=r("I+eb"),i=r("g6v/");o({target:"Object",stat:!0,forced:!i,sham:!i},{defineProperty:r("m/L8").f})},ewvW:function t(e,n,r){var o=r("HYAF");e.exports=function(t){return Object(o(t))}},f5p1:function t(e,n,r){var o=r("2oRo"),i=r("noGo"),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(i.call(a))},fHMY:function t(e,n,r){var o=r("glrk"),i=r("N+g0"),a=r("eDl+"),c=r("0BK2"),u=r("G+Rx"),s=r("zBJ4"),f=r("93I0")("IE_PROTO"),l=function t(){},p=function t(){var e,n=s("iframe"),r=a.length;for(n.style.display="none",u.appendChild(n),n.src=String("javascript:"),(e=n.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),p=e.F;r--;){delete p.prototype[a[r]]}return p()};e.exports=Object.create||function(t,e){var n;return null!==t?(l.prototype=o(t),n=new l,l.prototype=null,n[f]=t):n=p(),void 0===e?n:i(n,e)},c[f]=!0},fbCW:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").find,a=r("RNIs"),c=!0;"find"in[]&&Array(1).find(function(){c=!1}),o({target:"Array",proto:!0,forced:c},{find:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a("find")},fdAy:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("ntOU"),a=r("4WOD"),c=r("0rvr"),u=r("1E5z"),s=r("X2U+"),f=r("busE"),l=r("tiKp"),p=r("xDBR"),h=r("P4y1"),v=r("rpNk"),d=v.IteratorPrototype,g=v.BUGGY_SAFARI_ITERATORS,y=l("iterator"),b=function t(){return this};e.exports=function(t,e,n,r,l,v,m){i(n,e,r);var k,x,S,_=function t(e){if(e===l&&I)return I;if(!g&&e in T)return T[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},E=e+" Iterator",w=!1,T=t.prototype,O=T[y]||T["@@iterator"]||l&&T[l],I=!g&&O||_(l),M="Array"==e&&T.entries||O;if(M&&(k=a(M.call(new t)),d!==Object.prototype&&k.next&&(p||a(k)===d||(c?c(k,d):"function"!=typeof k[y]&&s(k,y,b)),u(k,E,!0,!0),p&&(h[E]=b))),"values"==l&&O&&"values"!==O.name&&(w=!0,I=function t(){return O.call(this)}),p&&!m||T[y]===I||s(T,y,I),h[e]=I,l)if(x={values:_("values"),keys:v?I:_("keys"),entries:_("entries")},m)for(S in x){!g&&!w&&S in T||f(T,S,x[S])}else o({target:e,proto:!0,forced:g||w},x);return x}},ftKg:function t(e,n,r){r("brp2"),r("9LPj"),r("rMz7"),r("DQNa"),r("7+zs");var o=r("Qo9l");e.exports=o.Date},"g6v/":function t(e,n,r){var o=r("0Dky");e.exports=!o(function(){return 7!=Object.defineProperty({},"a",{get:function t(){return 7}}).a})},gdVl:function t(e,n,r){"use strict";var o=r("ewvW"),i=r("I8vh"),a=r("UMSQ");e.exports=function(t){for(var e=o(this),n=a(e.length),r=arguments.length,c=i(r>1?arguments[1]:void 0,n),u=r>2?arguments[2]:void 0,s=void 0===u?n:i(u,n);s>c;){e[c++]=t}return e}},glrk:function t(e,n,r){var o=r("hh1v");e.exports=function(t){if(!o(t))throw TypeError(String(t)+" is not an object");return t}},hBjN:function t(e,n,r){"use strict";var o=r("wE6v"),i=r("m/L8"),a=r("XGwC");e.exports=function(t,e,n){var r=o(e);r in t?i.f(t,r,a(0,n)):t[r]=n}},hByQ:function t(e,n,r){"use strict";var o=r("14Sl"),i=r("glrk"),a=r("HYAF"),c=r("Ep9I"),u=r("FMNM");o("search",1,function(t,e,n){return[function(e){var n=a(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var o=i(t),a=String(this),s=o.lastIndex;c(s,0)||(o.lastIndex=0);var f=u(o,a);return c(o.lastIndex,s)||(o.lastIndex=s),null===f?-1:f.index}]})},"hN/g":function t(e,n,r){"use strict";r.r(n),r("pDpN")},hXpO:function t(e,n,r){var o=r("HYAF"),i=/"/g;e.exports=function(t,e,n,r){var a=String(o(t)),c="<"+e;return""!==n&&(c+=" "+n+'="'+String(r).replace(i,"&quot;")+'"'),c+">"+a+"</"+e+">"}},hh1v:function t(e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},i6QF:function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{isInteger:r("Xol8")})},inlA:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("UMSQ"),a=r("WjRb"),c=r("HYAF"),u=r("qxPZ"),s="".endsWith,f=Math.min;o({target:"String",proto:!0,forced:!u("endsWith")},{endsWith:function t(e){var n=String(c(this));a(e);var r=arguments.length>1?arguments[1]:void 0,o=i(n.length),u=void 0===r?o:f(i(r),o),l=String(e);return s?s.call(n,l,u):n.slice(u-l.length,u)===l}})},iqWW:function t(e,n,r){"use strict";var o=r("ZUd8").charAt;e.exports=function(t,e,n){return e+(n?o(t,e).length:1)}},jrUv:function t(e,n){var r=Math.expm1,o=Math.exp;e.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:o(t)-1}:r},kNcU:function t(e,n,r){var o=r("I+eb"),i=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function t(e){return i(e)/a}})},kOOl:function t(e,n){var r=0,o=Math.random();e.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+o).toString(36)}},kSko:function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{isNaN:function t(e){return e!=e}})},kmMV:function t(e,n,r){"use strict";var o,i,a=r("rW0t"),c=RegExp.prototype.exec,u=String.prototype.replace,s=c,f=(i=/b*/g,c.call(o=/a/,"a"),c.call(i,"a"),0!==o.lastIndex||0!==i.lastIndex),l=void 0!==/()??/.exec("")[1];(f||l)&&(s=function t(e){var n,r,o,i,s=this;return l&&(r=new RegExp("^"+s.source+"$(?!\\s)",a.call(s))),f&&(n=s.lastIndex),o=c.call(s,e),f&&o&&(s.lastIndex=s.global?o.index+o[0].length:n),l&&o&&o.length>1&&u.call(o[0],r,function(){for(i=1;i<arguments.length-2;i++){void 0===arguments[i]&&(o[i]=void 0)}}),o}),e.exports=s},l2dK:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("fontcolor")},{fontcolor:function t(e){return i(this,"font","color",e)}})},lEou:function t(e,n,r){r("dG/n")("toStringTag")},lMq5:function t(e,n,r){var o=r("0Dky"),i=/#|\.prototype\./,a=function t(e,n){var r=u[c(e)];return r==f||r!=s&&("function"==typeof n?o(n):!!n)},c=a.normalize=function(t){return String(t).replace(i,".").toLowerCase()},u=a.data={},s=a.NATIVE="N",f=a.POLYFILL="P";e.exports=a},"m/L8":function t(e,n,r){var o=r("g6v/"),i=r("DPsx"),a=r("glrk"),c=r("wE6v"),u=Object.defineProperty;n.f=o?u:function(t,e,n){if(a(t),e=c(e,!0),a(n),i)try{return u(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},m92n:function t(e,n,r){var o=r("glrk");e.exports=function(t,e,n,r){try{return r?e(o(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&o(i.call(t)),a}}},mRH6:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("link")},{link:function t(e){return i(this,"a","href",e)}})},mRIq:function t(e,n,r){"use strict";r.r(n),r("pNMO"),r("4Brf"),r("0oug"),r("lEou"),r("wLYn"),r("sMBO"),r("tW5y"),r("uL8W"),r("eoL8"),r("HRxU"),r("5DmW"),r("NBAS"),r("tkto"),r("cDke"),r("3KgV"),r("r5Og"),r("zuhW"),r("4h0Y"),r("5D5o"),r("yQYn"),r("zKZe"),r("Kxld"),r("ExoC"),r("07d7"),r("ma9I"),r("J30X"),r("pjDv"),r("Xe3L"),r("oVuX"),r("+2oP"),r("pDQq"),r("ToJy"),r("QWBl"),r("2B1R"),r("TeQF"),r("Rfxz"),r("piMb"),r("E9XD"),r("9N29"),r("yXV3"),r("uqXc"),r("qHT+"),r("yyme"),r("fbCW"),r("x0AG"),r("4mDm"),r("9tb/"),r("2A+d"),r("SYor"),r("PKPk"),r("9bJ7"),r("inlA"),r("JTJg"),r("OM9Z"),r("LKBx"),r("GKVU"),r("E5NM"),r("BNMt"),r("zHFu"),r("x83w"),r("l2dK"),r("GRPF"),r("xdBZ"),r("mRH6"),r("yWo2"),r("IxXR"),r("TFPT"),r("Zk8X"),r("Rm1S"),r("UxlC"),r("hByQ"),r("EnZy"),r("4l63"),r("rNhl"),r("7sbD"),r("6hpn"),r("ftKg"),r("Kv9l"),r("Tskq"),r("ENF9"),r("YGK4"),r("FZtP"),r("3bBZ"),r("5s+n"),r("DEfu")},ma9I:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("0Dky"),a=r("6LWA"),c=r("hh1v"),u=r("ewvW"),s=r("UMSQ"),f=r("hBjN"),l=r("ZfDv"),p=r("Hd5f"),h=r("tiKp")("isConcatSpreadable"),v=!i(function(){var t=[];return t[h]=!1,t.concat()[0]!==t}),d=p("concat"),g=function t(e){if(!c(e))return!1;var n=e[h];return void 0!==n?!!n:a(e)};o({target:"Array",proto:!0,forced:!v||!d},{concat:function t(e){var n,r,o,i,a,c=u(this),p=l(c,0),h=0;for(n=-1,o=arguments.length;n<o;n++){if(g(a=-1===n?c:arguments[n])){if(h+(i=s(a.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<i;r++,h++){r in a&&f(p,h,a[r])}}else{if(h>=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(p,h++,a)}}return p.length=h,p}})},"n/mU":function t(e,n,r){var o=r("I+eb"),i=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(i&&1/i(-0)<0)},{atanh:function t(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},noGo:function t(e,n,r){var o=r("VpIT");e.exports=o("native-function-to-string",Function.toString)},ntOU:function t(e,n,r){"use strict";var o=r("rpNk").IteratorPrototype,i=r("fHMY"),a=r("XGwC"),c=r("1E5z"),u=r("P4y1"),s=function t(){return this};e.exports=function(t,e,n){var r=e+" Iterator";return t.prototype=i(o,{next:a(1,n)}),c(t,r,!1,!0),u[r]=s,t}},oVuX:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("RK3t"),a=r("/GqU"),c=r("swFL"),u=[].join,s=i!=Object,f=c("join",",");o({target:"Array",proto:!0,forced:s||f},{join:function t(e){return u.call(a(this),void 0===e?",":e)}})},pDQq:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("I8vh"),a=r("ppGB"),c=r("UMSQ"),u=r("ewvW"),s=r("ZfDv"),f=r("hBjN"),l=r("Hd5f"),p=Math.max,h=Math.min;o({target:"Array",proto:!0,forced:!l("splice")},{splice:function t(e,n){var r,o,l,v,d,g,y=u(this),b=c(y.length),m=i(e,b),k=arguments.length;if(0===k?r=o=0:1===k?(r=0,o=b-m):(r=k-2,o=h(p(a(n),0),b-m)),b+r-o>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(l=s(y,o),v=0;v<o;v++){(d=m+v)in y&&f(l,v,y[d])}if(l.length=o,r<o){for(v=m;v<b-o;v++){g=v+r,(d=v+o)in y?y[g]=y[d]:delete y[g]}for(v=b;v>b-o+r;v--){delete y[v-1]}}else if(r>o)for(v=b-o;v>m;v--){g=v+r-1,(d=v+o-1)in y?y[g]=y[d]:delete y[g]}for(v=0;v<r;v++){y[v+m]=arguments[v+2]}return y.length=b-o+r,l}})},pDpN:function t(n,r){!function(t){var n=t.performance;function r(t){n&&n.mark&&n.mark(t)}function o(t,e){n&&n.measure&&n.measure(t,e)}r("Zone");var i=!0===t.__zone_symbol__forceDuplicateZoneCheck;if(t.Zone){if(i||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var a=function(){function n(t,e){this._parent=t,this._name=e?e.name||"unnamed":"<root>",this._properties=e&&e.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,e)}n.assertZonePatched=function e(){if(t.Promise!==I.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")};n.__load_patch=function e(a,c){if(I.hasOwnProperty(a)){if(i)throw Error("Already loaded patch: "+a)}else if(!t["__Zone_disable_"+a]){var u="Zone:"+a;r(u),I[a]=c(t,n,M),o(u,u)}};var a=n.prototype;a.get=function t(e){var n=this.getZoneWith(e);if(n)return n._properties[e]};a.getZoneWith=function t(e){var n=this;for(;n;){if(n._properties.hasOwnProperty(e))return n;n=n._parent}return null};a.fork=function t(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)};a.wrap=function t(e,n){if("function"!=typeof e)throw new Error("Expecting function got: "+e);var r=this._zoneDelegate.intercept(this,e,n),o=this;return function(){return o.runGuarded(r,this,arguments,n)}};a.run=function t(e,n,r,o){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,e,n,r,o)}finally{D=D.parent}};a.runGuarded=function t(e,n,r,o){if(n===void 0){n=null}D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,e,n,r,o)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{D=D.parent}};a.runTask=function t(e,n,r){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||b).name+"; Execution: "+this.name+")");if(e.state===m&&(e.type===O||e.type===T))return;var o=e.state!=S;o&&e._transitionTo(S,x),e.runCount++;var i=j;j=e,D={parent:D,zone:this};try{e.type==T&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,n,r)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{e.state!==m&&e.state!==E&&(e.type==O||e.data&&e.data.isPeriodic?o&&e._transitionTo(x,S):(e.runCount=0,this._updateTaskCount(e,-1),o&&e._transitionTo(m,S,m))),D=D.parent,j=i}};a.scheduleTask=function t(e){if(e.zone&&e.zone!==this){var n=this;for(;n;){if(n===e.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+e.zone.name);n=n.parent}}e._transitionTo(k,m);var r=[];e._zoneDelegates=r,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(o){throw e._transitionTo(E,k,m),this._zoneDelegate.handleError(this,o),o}return e._zoneDelegates===r&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(x,k),e};a.scheduleMicroTask=function t(e,n,r,o){return this.scheduleTask(new s(w,e,n,r,o,void 0))};a.scheduleMacroTask=function t(e,n,r,o,i){return this.scheduleTask(new s(T,e,n,r,o,i))};a.scheduleEventTask=function t(e,n,r,o,i){return this.scheduleTask(new s(O,e,n,r,o,i))};a.cancelTask=function t(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||b).name+"; Execution: "+this.name+")");e._transitionTo(_,x,S);try{this._zoneDelegate.cancelTask(this,e)}catch(n){throw e._transitionTo(E,_),this._zoneDelegate.handleError(this,n),n}return this._updateTaskCount(e,-1),e._transitionTo(m,_),e.runCount=0,e};a._updateTaskCount=function t(e,n){var r=e._zoneDelegates;-1==n&&(e._zoneDelegates=null);for(var o=0;o<r.length;o++){r[o]._updateTaskCount(e.type,n)}};e(n,[{key:"parent",get:function t(){return this._parent}},{key:"name",get:function t(){return this._name}}],[{key:"root",get:function t(){var e=n.current;for(;e.parent;){e=e.parent}return e}},{key:"current",get:function t(){return D.zone}},{key:"currentTask",get:function t(){return j}}]);return n}();a.__symbol__=A;var c={name:"",onHasTask:function t(e,n,r,o){return e.hasTask(r,o)},onScheduleTask:function t(e,n,r,o){return e.scheduleTask(r,o)},onInvokeTask:function t(e,n,r,o,i,a){return e.invokeTask(r,o,i,a)},onCancelTask:function t(e,n,r,o){return e.cancelTask(r,o)}};var u=function(){function t(t,e,n){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=t,this._parentDelegate=e,this._forkZS=n&&(n&&n.onFork?n:e._forkZS),this._forkDlgt=n&&(n.onFork?e:e._forkDlgt),this._forkCurrZone=n&&(n.onFork?this.zone:e.zone),this._interceptZS=n&&(n.onIntercept?n:e._interceptZS),this._interceptDlgt=n&&(n.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this.zone:e.zone),this._invokeZS=n&&(n.onInvoke?n:e._invokeZS),this._invokeDlgt=n&&(n.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this.zone:e.zone),this._handleErrorZS=n&&(n.onHandleError?n:e._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this.zone:e.zone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:e._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this.zone:e.zone),this._invokeTaskZS=n&&(n.onInvokeTask?n:e._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this.zone:e.zone),this._cancelTaskZS=n&&(n.onCancelTask?n:e._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this.zone:e.zone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;var r=n&&n.onHasTask;(r||e&&e._hasTaskZS)&&(this._hasTaskZS=r?n:c,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=t,n.onScheduleTask||(this._scheduleTaskZS=c,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),n.onInvokeTask||(this._invokeTaskZS=c,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),n.onCancelTask||(this._cancelTaskZS=c,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}var e=t.prototype;e.fork=function t(e,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,n):new a(e,n)};e.intercept=function t(e,n,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,n,r):n};e.invoke=function t(e,n,r,o,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,n,r,o,i):n.apply(r,o)};e.handleError=function t(e,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,n)};e.scheduleTask=function t(e,n){var r=n;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),(r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,n))||(r=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=w)throw new Error("Task is missing scheduleFn.");g(n)}return r};e.invokeTask=function t(e,n,r,o){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,n,r,o):n.callback.apply(r,o)};e.cancelTask=function t(e,n){var r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");r=n.cancelFn(n)}return r};e.hasTask=function t(e,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,n)}catch(r){this.handleError(e,r)}};e._updateTaskCount=function t(e,n){var r=this._taskCounts,o=r[e],i=r[e]=o+n;if(i<0)throw new Error("More tasks executed then were scheduled.");0!=o&&0!=i||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:e})};return t}();var s=function(){function n(e,r,o,i,a,c){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,this.callback=o;var u=this;this.invoke=e===O&&i&&i.useG?n.invokeTask:function(){return n.invokeTask.call(t,u,this,arguments)}}n.invokeTask=function t(e,n,r){e||(e=this),P++;try{return e.runCount++,e.zone.runTask(e,n,r)}finally{1==P&&y(),P--}};var r=n.prototype;r.cancelScheduleRequest=function t(){this._transitionTo(m,k)};r._transitionTo=function t(e,n,r){if(this._state!==n&&this._state!==r)throw new Error(this.type+" '"+this.source+"': can not transition to '"+e+"', expecting state '"+n+"'"+(r?" or '"+r+"'":"")+", was '"+this._state+"'.");this._state=e,e==m&&(this._zoneDelegates=null)};r.toString=function t(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)};r.toJSON=function t(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}};e(n,[{key:"zone",get:function t(){return this._zone}},{key:"state",get:function t(){return this._state}}]);return n}();var f=A("setTimeout"),l=A("Promise"),p=A("then");var h,v=[],d=!1;function g(e){if(0===P&&0===v.length)if(h||t[l]&&(h=t[l].resolve(0)),h){var n=h[p];n||(n=h.then),n.call(h,y)}else t[f](y,0);e&&v.push(e)}function y(){if(!d){for(d=!0;v.length;){var t=v;v=[];for(var e=0;e<t.length;e++){var n=t[e];try{n.zone.runTask(n,null,null)}catch(r){M.onUnhandledError(r)}}}M.microtaskDrainDone(),d=!1}}var b={name:"NO ZONE"},m="notScheduled",k="scheduling",x="scheduled",S="running",_="canceling",E="unknown",w="microTask",T="macroTask",O="eventTask",I={},M={symbol:A,currentZoneFrame:function t(){return D},onUnhandledError:R,microtaskDrainDone:R,scheduleMicroTask:g,showUncaughtError:function t(){return!a[A("ignoreConsoleErrorUncaughtError")]},patchEventTarget:function t(){return[]},patchOnProperties:R,patchMethod:function t(){return R},bindArguments:function t(){return[]},patchThen:function t(){return R},patchMacroTask:function t(){return R},setNativePromise:function t(e){e&&"function"==typeof e.resolve&&(h=e.resolve(0))},patchEventPrototype:function t(){return R},isIEOrEdge:function t(){return!1},getGlobalObjects:function t(){return void 0},ObjectDefineProperty:function t(){return R},ObjectGetOwnPropertyDescriptor:function t(){return void 0},ObjectCreate:function t(){return void 0},ArraySlice:function t(){return[]},patchClass:function t(){return R},wrapWithCurrentZone:function t(){return R},filterProperties:function t(){return[]},attachOriginToPatched:function t(){return R},_redefineProperty:function t(){return R},patchCallbacks:function t(){return R}};var D={parent:null,zone:new a(null,null)},j=null,P=0;function R(){}function A(t){return"__zone_symbol__"+t}o("Zone","Zone"),t.Zone=a}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global),Zone.__load_patch("ZoneAwarePromise",function(t,n,r){var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=r.symbol,c=[],u=a("Promise"),s=a("then"),f="__creationTrace__";r.onUnhandledError=function(t){if(r.showUncaughtError()){var e=t&&t.rejection;e?console.error("Unhandled Promise rejection:",e instanceof Error?e.message:e,"; Zone:",t.zone.name,"; Task:",t.task&&t.task.source,"; Value:",e,e instanceof Error?e.stack:void 0):console.error(t)}},r.microtaskDrainDone=function(){for(;c.length;){var t=function t(){var e=c.shift();try{e.zone.runGuarded(function(){throw e})}catch(n){p(n)}};for(;c.length;){t()}}};var l=a("unhandledPromiseRejectionHandler");function p(t){r.onUnhandledError(t);try{var e=n[l];e&&"function"==typeof e&&e.call(this,t)}catch(o){}}function h(t){return t&&t.then}function v(t){return t}function d(t){return N.reject(t)}var g=a("state"),y=a("value"),b=a("finally"),m=a("parentPromiseValue"),k=a("parentPromiseState"),x="Promise.then",S=null,_=!0,E=!1,w=0;function T(t,e){return function(n){try{D(t,e,n)}catch(r){D(t,!1,r)}}}var O=function t(){var e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},I="Promise resolved with itself",M=a("currentTaskTrace");function D(t,e,o){var a=O();if(t===o)throw new TypeError(I);if(t[g]===S){var u=null;try{"object"!=typeof o&&"function"!=typeof o||(u=o&&o.then)}catch(d){return a(function(){D(t,!1,d)})(),t}if(e!==E&&o instanceof N&&o.hasOwnProperty(g)&&o.hasOwnProperty(y)&&o[g]!==S)P(o),D(t,o[g],o[y]);else if(e!==E&&"function"==typeof u)try{u.call(o,a(T(t,e)),a(T(t,!1)))}catch(d){a(function(){D(t,!1,d)})()}else{t[g]=e;var s=t[y];if(t[y]=o,t[b]===b&&e===_&&(t[g]=t[k],t[y]=t[m]),e===E&&o instanceof Error){var l=n.currentTask&&n.currentTask.data&&n.currentTask.data[f];l&&i(o,M,{configurable:!0,enumerable:!1,writable:!0,value:l})}for(var p=0;p<s.length;){R(t,s[p++],s[p++],s[p++],s[p++])}if(0==s.length&&e==E){t[g]=w;try{throw new Error("Uncaught (in promise): "+((v=o)&&v.toString===Object.prototype.toString?(v.constructor&&v.constructor.name||"")+": "+JSON.stringify(v):v?v.toString():Object.prototype.toString.call(v))+(o&&o.stack?"\n"+o.stack:""))}catch(d){var h=d;h.rejection=o,h.promise=t,h.zone=n.current,h.task=n.currentTask,c.push(h),r.scheduleMicroTask()}}}}var v;return t}var j=a("rejectionHandledHandler");function P(t){if(t[g]===w){try{var e=n[j];e&&"function"==typeof e&&e.call(this,{rejection:t[y],promise:t})}catch(o){}t[g]=E;for(var r=0;r<c.length;r++){t===c[r].promise&&c.splice(r,1)}}}function R(t,e,n,r,o){P(t);var i=t[g],a=i?"function"==typeof r?r:v:"function"==typeof o?o:d;e.scheduleMicroTask(x,function(){try{var r=t[y],o=n&&b===n[b];o&&(n[m]=r,n[k]=i);var c=e.run(a,void 0,o&&a!==d&&a!==v?[]:[r]);D(n,!0,c)}catch(u){D(n,!1,u)}},n)}var A="function ZoneAwarePromise() { [native code] }";var N=function(){function t(e){var n=this;if(!(n instanceof t))throw new Error("Must be an instanceof Promise.");n[g]=S,n[y]=[];try{e&&e(T(n,_),T(n,E))}catch(r){D(n,!1,r)}}t.toString=function t(){return A};t.resolve=function t(e){return D(new this(null),_,e)};t.reject=function t(e){return D(new this(null),E,e)};t.race=function t(e){var n,r,o=new this(function(t,e){n=t,r=e});function i(t){n(t)}function a(t){r(t)}for(var c=e,u=Array.isArray(c),s=0,c=u?c:c[Symbol.iterator]();;){var f;if(u){if(s>=c.length)break;f=c[s++]}else{s=c.next();if(s.done)break;f=s.value}var l=f;h(l)||(l=this.resolve(l)),l.then(i,a)}return o};t.all=function t(e){var n=this;var r,o,i=new this(function(t,e){r=t,o=e}),a=2,c=0;var u=[];var s=function t(){if(l){if(p>=f.length)return"break";v=f[p++]}else{p=f.next();if(p.done)return"break";v=p.value}var e=v;h(e)||(e=n.resolve(e));var i=c;e.then(function(t){u[i]=t,0==--a&&r(u)},o),a++,c++};for(var f=e,l=Array.isArray(f),p=0,f=l?f:f[Symbol.iterator]();;){var v;var d=s();if(d==="break")break}return 0==(a-=2)&&r(u),i};var r=t.prototype;r.then=function t(e,r){var o=new this.constructor(null),i=n.current;return this[g]==S?this[y].push(i,o,e,r):R(this,i,o,e,r),o};r.catch=function t(e){return this.then(null,e)};r.finally=function t(e){var r=new this.constructor(null);r[b]=b;var o=n.current;return this[g]==S?this[y].push(o,r,e,e):R(this,o,r,e,e),r};e(t,[{key:Symbol.toStringTag,get:function t(){return"Promise"}}]);return t}();N.resolve=N.resolve,N.reject=N.reject,N.race=N.race,N.all=N.all;var z=t[u]=t.Promise,F=n.__symbol__("ZoneAwarePromise");var L=o(t,"Promise");L&&!L.configurable||(L&&delete L.writable,L&&delete L.value,L||(L={configurable:!0,enumerable:!0}),L.get=function(){return t[F]?t[F]:t[u]},L.set=function(e){e===N?t[F]=e:(t[u]=e,e.prototype[s]||C(e),r.setNativePromise(e))},i(t,"Promise",L)),t.Promise=N;var Z=a("thenPatched");function C(t){var e=t.prototype,n=o(e,"then");if(n&&(!1===n.writable||!n.configurable))return;var r=e.then;e[s]=r,t.prototype.then=function(t,e){var n=this;return new N(function(t,e){r.call(n,t,e)}).then(t,e)},t[Z]=!0}if(r.patchThen=C,z){C(z);var W=t.fetch;"function"==typeof W&&(t[r.symbol("fetch")]=W,t.fetch=function(t){return function(){var e=t.apply(this,arguments);if(e instanceof N)return e;var n=e.constructor;return n[Z]||C(n),e}}(W))}return Promise[n.__symbol__("uncaughtPromiseErrors")]=c,N});var o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=Object.getPrototypeOf,c=Object.create,u=Array.prototype.slice,s="addEventListener",f="removeEventListener",l=Zone.__symbol__(s),p=Zone.__symbol__(f),h="true",v="false",d="__zone_symbol__";function g(t,e){return Zone.current.wrap(t,e)}function y(t,e,n,r,o){return Zone.current.scheduleMacroTask(t,e,n,r,o)}var b=Zone.__symbol__,m="undefined"!=typeof window,k=m?window:void 0,x=m&&k||"object"==typeof self&&self||global,S="removeAttribute",_=[null];function E(t,e){for(var n=t.length-1;n>=0;n--){"function"==typeof t[n]&&(t[n]=g(t[n],e+"_"+n))}return t}function w(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var T="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,O=!("nw"in x)&&void 0!==x.process&&"[object process]"==={}.toString.call(x.process),I=!O&&!T&&!(!m||!k.HTMLElement),M=void 0!==x.process&&"[object process]"==={}.toString.call(x.process)&&!T&&!(!m||!k.HTMLElement),D={},j=function t(e){if(!(e=e||x.event))return;var n=D[e.type];n||(n=D[e.type]=b("ON_PROPERTY"+e.type));var r=this||e.target||x,o=r[n];var i;if(I&&r===k&&"error"===e.type){var a=e;!0===(i=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error))&&e.preventDefault()}else null==(i=o&&o.apply(this,arguments))||i||e.preventDefault();return i};function P(t,e,n){var r=o(t,e);if(!r&&n&&o(n,e)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;var a=b("on"+e+"patched");if(t.hasOwnProperty(a)&&t[a])return;delete r.writable,delete r.value;var c=r.get,u=r.set,s=e.substr(2);var f=D[s];f||(f=D[s]=b("ON_PROPERTY"+s)),r.set=function(e){var n=this;n||t!==x||(n=x),n&&(n[f]&&n.removeEventListener(s,j),u&&u.apply(n,_),"function"==typeof e?(n[f]=e,n.addEventListener(s,j,!1)):n[f]=null)},r.get=function(){var n=this;if(n||t!==x||(n=x),!n)return null;var o=n[f];if(o)return o;if(c){var i=c&&c.call(this);if(i)return r.set.call(this,i),"function"==typeof n[S]&&n.removeAttribute(e),i}return null},i(t,e,r),t[a]=!0}function R(t,e,n){if(e)for(var r=0;r<e.length;r++){P(t,"on"+e[r],n)}else{var o=[];for(var i in t){"on"==i.substr(0,2)&&o.push(i)}for(var a=0;a<o.length;a++){P(t,o[a],n)}}}var A=b("originalInstance");function N(t){var e=x[t];if(!e)return;x[b(t)]=e,x[t]=function(){var n=E(arguments,t);switch(n.length){case 0:this[A]=new e;break;case 1:this[A]=new e(n[0]);break;case 2:this[A]=new e(n[0],n[1]);break;case 3:this[A]=new e(n[0],n[1],n[2]);break;case 4:this[A]=new e(n[0],n[1],n[2],n[3]);break;default:throw new Error("Arg list too long.")}},Z(x[t],e);var n=new e(function(){});var r;for(r in n){"XMLHttpRequest"===t&&"responseBlob"===r||function(e){"function"==typeof n[e]?x[t].prototype[e]=function(){return this[A][e].apply(this[A],arguments)}:i(x[t].prototype,e,{set:function n(r){"function"==typeof r?(this[A][e]=g(r,t+"."+e),Z(this[A][e],r)):this[A][e]=r},get:function t(){return this[A][e]}})}(r)}for(r in e){"prototype"!==r&&e.hasOwnProperty(r)&&(x[t][r]=e[r])}}var z=!1;function F(t,e,n){var r=t;for(;r&&!r.hasOwnProperty(e);){r=a(r)}!r&&t[e]&&(r=t);var i=b(e);var c=null;if(r&&!(c=r[i])&&(c=r[i]=r[e],w(r&&o(r,e)))){var u=n(c,i,e);r[e]=function(){return u(this,arguments)},Z(r[e],c),z&&(s=c,f=r[e],"function"==typeof Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(s).forEach(function(t){var e=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(f,t,{get:function e(){return s[t]},set:function n(r){(!e||e.writable&&"function"==typeof e.set)&&(s[t]=r)},enumerable:!e||e.enumerable,configurable:!e||e.configurable})}))}var s,f;return c}function L(t,e,n){var r=null;function o(t){var e=t.data;return e.args[e.cbIdx]=function(){t.invoke.apply(this,arguments)},r.apply(e.target,e.args),t}r=F(t,e,function(t){return function(e,r){var i=n(e,r);return i.cbIdx>=0&&"function"==typeof r[i.cbIdx]?y(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function Z(t,e){t[b("OriginalDelegate")]=e}var C=!1,W=!1;function U(){if(C)return W;C=!0;try{var t=k.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(W=!0)}catch(e){}return W}Zone.__load_patch("toString",function(t){var e=Function.prototype.toString,n=b("OriginalDelegate"),r=b("Promise"),o=b("Error"),i=function i(){if("function"==typeof this){var a=this[n];if(a)return"function"==typeof a?e.call(a):Object.prototype.toString.call(a);if(this===Promise){var c=t[r];if(c)return e.call(c)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}});var H=!1;if("undefined"!=typeof window)try{var B=Object.defineProperty({},"passive",{get:function t(){H=!0}});window.addEventListener("test",B,B),window.removeEventListener("test",B,B)}catch(wt){H=!1}var G={useG:!0},K={},V={},X=/^__zone_symbol__(\w+)(true|false)$/,Y="__zone_symbol__propagationStopped";function q(t,e,n){var r=n&&n.add||s,o=n&&n.rm||f,i=n&&n.listeners||"eventListeners",c=n&&n.rmAll||"removeAllListeners",u=b(r),l="."+r+":",p="prependListener",g="."+p+":",y=function t(e,n,r){if(e.isRemoved)return;var i=e.callback;"object"==typeof i&&i.handleEvent&&(e.callback=function(t){return i.handleEvent(t)},e.originalDelegate=i),e.invoke(e,n,[r]);var a=e.options;a&&"object"==typeof a&&a.once&&n[o].call(n,r.type,e.originalDelegate?e.originalDelegate:e.callback,a)},m=function e(n){if(!(n=n||t.event))return;var r=this||n.target||t,o=r[K[n.type][v]];if(o)if(1===o.length)y(o[0],r,n);else{var i=o.slice();for(var a=0;a<i.length&&(!n||!0!==n[Y]);a++){y(i[a],r,n)}}},k=function e(n){if(!(n=n||t.event))return;var r=this||n.target||t,o=r[K[n.type][h]];if(o)if(1===o.length)y(o[0],r,n);else{var i=o.slice();for(var a=0;a<i.length&&(!n||!0!==n[Y]);a++){y(i[a],r,n)}}};function x(e,n){if(!e)return!1;var s=!0;n&&void 0!==n.useG&&(s=n.useG);var f=n&&n.vh;var y=!0;n&&void 0!==n.chkDup&&(y=n.chkDup);var x=!1;n&&void 0!==n.rt&&(x=n.rt);var S=e;for(;S&&!S.hasOwnProperty(r);){S=a(S)}if(!S&&e[r]&&(S=e),!S)return!1;if(S[u])return!1;var _=n&&n.eventNameToString,E={},w=S[u]=S[r],T=S[b(o)]=S[o],I=S[b(i)]=S[i],M=S[b(c)]=S[c];var D;function j(t){H||"boolean"==typeof E.options||null==E.options||(t.options=!!E.options.capture,E.options=t.options)}n&&n.prepend&&(D=S[b(n.prepend)]=S[n.prepend]);var P=s?function(t){if(!E.isExisting)return j(t),w.call(E.target,E.eventName,E.capture?k:m,E.options)}:function(t){return j(t),w.call(E.target,E.eventName,t.invoke,E.options)},R=s?function(t){if(!t.isRemoved){var e=K[t.eventName];var n;e&&(n=e[t.capture?h:v]);var r=n&&t.target[n];if(r)for(var o=0;o<r.length;o++){if(r[o]===t){r.splice(o,1),t.isRemoved=!0,0===r.length&&(t.allRemoved=!0,t.target[n]=null);break}}}if(t.allRemoved)return T.call(t.target,t.eventName,t.capture?k:m,t.options)}:function(t){return T.call(t.target,t.eventName,t.invoke,t.options)},A=n&&n.diff?n.diff:function(t,e){var n=typeof e;return"function"===n&&t.callback===e||"object"===n&&t.originalDelegate===e},N=Zone[Zone.__symbol__("BLACK_LISTED_EVENTS")],z=function e(n,r,o,i,a,c){if(a===void 0){a=!1}if(c===void 0){c=!1}return function(){var e=this||t,u=arguments[0];var l=arguments[1];if(!l)return n.apply(this,arguments);if(O&&"uncaughtException"===u)return n.apply(this,arguments);var p=!1;if("function"!=typeof l){if(!l.handleEvent)return n.apply(this,arguments);p=!0}if(f&&!f(n,l,e,arguments))return;var g=arguments[2];if(N)for(var b=0;b<N.length;b++){if(u===N[b])return n.apply(this,arguments)}var m,k=!1;void 0===g?m=!1:!0===g?m=!0:!1===g?m=!1:(m=!!g&&!!g.capture,k=!!g&&!!g.once);var x=Zone.current,S=K[u];var w;if(S)w=S[m?h:v];else{var T=(_?_(u):u)+v,I=(_?_(u):u)+h,M=d+T,D=d+I;K[u]={},K[u][v]=M,K[u][h]=D,w=m?D:M}var j,P=e[w],R=!1;if(P){if(R=!0,y)for(var z=0;z<P.length;z++){if(A(P[z],l))return}}else P=e[w]=[];var F=e.constructor.name,L=V[F];L&&(j=L[u]),j||(j=F+r+(_?_(u):u)),E.options=g,k&&(E.options.once=!1),E.target=e,E.capture=m,E.eventName=u,E.isExisting=R;var Z=s?G:void 0;Z&&(Z.taskData=E);var C=x.scheduleEventTask(j,l,Z,o,i);return E.target=null,Z&&(Z.taskData=null),k&&(g.once=!0),(H||"boolean"!=typeof C.options)&&(C.options=g),C.target=e,C.capture=m,C.eventName=u,p&&(C.originalDelegate=l),c?P.unshift(C):P.push(C),a?e:void 0}};return S[r]=z(w,l,P,R,x),D&&(S[p]=z(D,g,function(t){return D.call(E.target,E.eventName,t.invoke,E.options)},R,x,!0)),S[o]=function(){var e=this||t,n=arguments[0],r=arguments[2];var o;o=void 0!==r&&(!0===r||!1!==r&&!!r&&!!r.capture);var i=arguments[1];if(!i)return T.apply(this,arguments);if(f&&!f(T,i,e,arguments))return;var a=K[n];var c;a&&(c=a[o?h:v]);var u=c&&e[c];if(u)for(var s=0;s<u.length;s++){var l=u[s];if(A(l,i))return u.splice(s,1),l.isRemoved=!0,0===u.length&&(l.allRemoved=!0,e[c]=null),l.zone.cancelTask(l),x?e:void 0}return T.apply(this,arguments)},S[i]=function(){var e=this||t,n=arguments[0],r=[],o=Q(e,_?_(n):n);for(var i=0;i<o.length;i++){var a=o[i];r.push(a.originalDelegate?a.originalDelegate:a.callback)}return r},S[c]=function(){var e=this||t,n=arguments[0];if(n){var r=K[n];if(r){var i=e[r[v]],a=e[r[h]];if(i){var u=i.slice();for(var s=0;s<u.length;s++){var f=u[s];this[o].call(this,n,f.originalDelegate?f.originalDelegate:f.callback,f.options)}}if(a){var l=a.slice();for(var p=0;p<l.length;p++){var d=l[p];this[o].call(this,n,d.originalDelegate?d.originalDelegate:d.callback,d.options)}}}}else{var g=Object.keys(e);for(var y=0;y<g.length;y++){var b=X.exec(g[y]);var m=b&&b[1];m&&"removeListener"!==m&&this[c].call(this,m)}this[c].call(this,"removeListener")}if(x)return this},Z(S[r],w),Z(S[o],T),M&&Z(S[c],M),I&&Z(S[i],I),!0}var S=[];for(var _=0;_<e.length;_++){S[_]=x(e[_],n)}return S}function Q(t,e){var n=[];for(var r in t){var o=X.exec(r);var i=o&&o[1];if(i&&(!e||i===e)){var a=t[r];if(a)for(var c=0;c<a.length;c++){n.push(a[c])}}}return n}function J(t,e){var n=t.Event;n&&n.prototype&&e.patchMethod(n.prototype,"stopImmediatePropagation",function(t){return function(e,n){e[Y]=!0,t&&t.apply(e,n)}})}function $(t,e,n,r,o){var i=Zone.__symbol__(r);if(e[i])return;var a=e[i]=e[r];e[r]=function(i,c,u){return c&&c.prototype&&o.forEach(function(e){var o=n+"."+r+"::"+e,i=c.prototype;if(i.hasOwnProperty(e)){var a=t.ObjectGetOwnPropertyDescriptor(i,e);a&&a.value?(a.value=t.wrapWithCurrentZone(a.value,o),t._redefineProperty(c.prototype,e,a)):i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}else i[e]&&(i[e]=t.wrapWithCurrentZone(i[e],o))}),a.call(e,i,c,u)},t.attachOriginToPatched(e[r],a)}var tt=Zone.__symbol__,et=Object[tt("defineProperty")]=Object.defineProperty,nt=Object[tt("getOwnPropertyDescriptor")]=Object.getOwnPropertyDescriptor,rt=Object.create,ot=tt("unconfigurables");function it(t,e,n){var r=n.configurable;return ut(t,e,n=ct(t,e,n),r)}function at(t,e){return t&&t[ot]&&t[ot][e]}function ct(t,e,n){return Object.isFrozen(n)||(n.configurable=!0),n.configurable||(t[ot]||Object.isFrozen(t)||et(t,ot,{writable:!0,value:{}}),t[ot]&&(t[ot][e]=!0)),n}function ut(t,e,n,r){try{return et(t,e,n)}catch(i){if(!n.configurable)throw i;void 0===r?delete n.configurable:n.configurable=r;try{return et(t,e,n)}catch(i){var o=null;try{o=JSON.stringify(n)}catch(i){o=n.toString()}console.log("Attempting to configure '"+e+"' with descriptor '"+o+"' on object '"+t+"' and got error, giving up: "+i)}}}var st=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplyconnected","vrdisplaydisconnected","vrdisplaypresentchange"],ft=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],lt=["load"],pt=["blur","error","focus","load","resize","scroll","messageerror"],ht=["bounce","finish","start"],vt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],dt=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],gt=["close","error","open","message"],yt=["error","message"],bt=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],st,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function mt(t,e,n){if(!n||0===n.length)return e;var r=n.filter(function(e){return e.target===t});if(!r||0===r.length)return e;var o=r[0].ignoreProperties;return e.filter(function(t){return-1===o.indexOf(t)})}function kt(t,e,n,r){t&&R(t,mt(t,e,n),r)}function xt(t,e){if(O&&!M)return;if(Zone[t.symbol("patchEvents")])return;var n="undefined"!=typeof WebSocket,r=e.__Zone_ignore_on_properties;if(I){var o=window,i=function(){try{var t=o.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(e){}return!1}?[{target:o,ignoreProperties:["error"]}]:[];kt(o,bt.concat(["messageerror"]),r?r.concat(i):r,a(o)),kt(Document.prototype,bt,r),void 0!==o.SVGElement&&kt(o.SVGElement.prototype,bt,r),kt(Element.prototype,bt,r),kt(HTMLElement.prototype,bt,r),kt(HTMLMediaElement.prototype,ft,r),kt(HTMLFrameSetElement.prototype,st.concat(pt),r),kt(HTMLBodyElement.prototype,st.concat(pt),r),kt(HTMLFrameElement.prototype,lt,r),kt(HTMLIFrameElement.prototype,lt,r);var c=o.HTMLMarqueeElement;c&&kt(c.prototype,ht,r);var u=o.Worker;u&&kt(u.prototype,yt,r)}var s=e.XMLHttpRequest;s&&kt(s.prototype,vt,r);var f=e.XMLHttpRequestEventTarget;f&&kt(f&&f.prototype,vt,r),"undefined"!=typeof IDBIndex&&(kt(IDBIndex.prototype,dt,r),kt(IDBRequest.prototype,dt,r),kt(IDBOpenDBRequest.prototype,dt,r),kt(IDBDatabase.prototype,dt,r),kt(IDBTransaction.prototype,dt,r),kt(IDBCursor.prototype,dt,r)),n&&kt(WebSocket.prototype,gt,r)}Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=R,n.patchMethod=F,n.bindArguments=E,n.patchMacroTask=L;var r=e.__symbol__("BLACK_LISTED_EVENTS"),a=e.__symbol__("UNPATCHED_EVENTS");t[a]&&(t[r]=t[a]),t[r]&&(e[r]=e[a]=t[r]),n.patchEventPrototype=J,n.patchEventTarget=q,n.isIEOrEdge=U,n.ObjectDefineProperty=i,n.ObjectGetOwnPropertyDescriptor=o,n.ObjectCreate=c,n.ArraySlice=u,n.patchClass=N,n.wrapWithCurrentZone=g,n.filterProperties=mt,n.attachOriginToPatched=Z,n._redefineProperty=it,n.patchCallbacks=$,n.getGlobalObjects=function(){return{globalSources:V,zoneSymbolEventNames:K,eventNames:bt,isBrowser:I,isMix:M,isNode:O,TRUE_STR:h,FALSE_STR:v,ZONE_SYMBOL_PREFIX:d,ADD_EVENT_LISTENER_STR:s,REMOVE_EVENT_LISTENER_STR:f}}});var St=b("zoneTask");function _t(t,e,n,r){var o=null,i=null;n+=r;var a={};function c(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[St]=null))}},n.handleId=o.apply(t,n.args),e}function u(t){return i(t.data.handleId)}o=F(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s=y(e,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!s)return s;var f=s.data.handleId;return"number"==typeof f?a[f]=s:f&&(f[St]=s),f&&f.ref&&f.unref&&"function"==typeof f.ref&&"function"==typeof f.unref&&(s.ref=f.ref.bind(f),s.unref=f.unref.bind(f)),"number"==typeof f||f?f:s}return n.apply(t,i)}}),i=F(t,n,function(e){return function(n,r){var o=r[0];var i;"number"==typeof o?i=a[o]:(i=o&&o[St])||(i=o),i&&"string"==typeof i.type?"notScheduled"!==i.state&&(i.cancelFn&&i.data.isPeriodic||0===i.runCount)&&("number"==typeof o?delete a[o]:o&&(o[St]=null),i.zone.cancelTask(i)):e.apply(t,r)}})}function Et(t,e){if(Zone[e.symbol("patchEventTarget")])return;var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,c=n.ZONE_SYMBOL_PREFIX;for(var u=0;u<r.length;u++){var s=r[u],f=c+(s+a),l=c+(s+i);o[s]={},o[s][a]=f,o[s][i]=l}var p=t.EventTarget;return p&&p.prototype?(e.patchEventTarget(t,[p&&p.prototype]),!0):void 0}Zone.__load_patch("legacy",function(t){var e=t[Zone.__symbol__("legacyPatch")];e&&e()}),Zone.__load_patch("timers",function(t){_t(t,"set","clear","Timeout"),_t(t,"set","clear","Interval"),_t(t,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(t){_t(t,"request","cancel","AnimationFrame"),_t(t,"mozRequest","mozCancel","AnimationFrame"),_t(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(t,e){var n=["alert","prompt","confirm"];for(var r=0;r<n.length;r++){F(t,n[r],function(n,r,o){return function(r,i){return e.current.run(n,t,i,o)}})}}),Zone.__load_patch("EventTarget",function(t,e,n){!function(t,e){e.patchEventPrototype(t,e)}(t,n),Et(t,n);var r=t.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(t,[r.prototype]),N("MutationObserver"),N("WebKitMutationObserver"),N("IntersectionObserver"),N("FileReader")}),Zone.__load_patch("on_property",function(t,e,n){xt(n,t),Object.defineProperty=function(t,e,n){if(at(t,e))throw new TypeError("Cannot assign to read only property '"+e+"' of "+t);var r=n.configurable;return"prototype"!==e&&(n=ct(t,e,n)),ut(t,e,n,r)},Object.defineProperties=function(t,e){return Object.keys(e).forEach(function(n){Object.defineProperty(t,n,e[n])}),t},Object.create=function(t,e){return"object"!=typeof e||Object.isFrozen(e)||Object.keys(e).forEach(function(n){e[n]=ct(t,n,e[n])}),rt(t,e)},Object.getOwnPropertyDescriptor=function(t,e){var n=nt(t,e);return n&&at(t,e)&&(n.configurable=!1),n}}),Zone.__load_patch("customElements",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&t.customElements&&"customElements"in t&&e.patchCallbacks(e,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,n)}),Zone.__load_patch("XHR",function(t,e){!function(u){var s=t.XMLHttpRequest;if(!s)return;var f=s.prototype;var h=f[l],v=f[p];if(!h){var d=t.XMLHttpRequestEventTarget;if(d){var g=d.prototype;h=g[l],v=g[p]}}var m="readystatechange",k="scheduled";function x(t){var e=t.data,r=e.target;r[i]=!1,r[c]=!1;var a=r[o];h||(h=r[l],v=r[p]),a&&v.call(r,m,a);var u=r[o]=function(){if(r.readyState===r.DONE)if(!e.aborted&&r[i]&&t.state===k){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=t.invoke;t.invoke=function(){var n=r.__zone_symbol__loadfalse;for(var i=0;i<n.length;i++){n[i]===t&&n.splice(i,1)}e.aborted||t.state!==k||o.call(t)},n.push(t)}else t.invoke()}else e.aborted||!1!==r[i]||(r[c]=!0)};return h.call(r,m,u),r[n]||(r[n]=t),O.apply(r,e.args),r[i]=!0,t}function S(){}function _(t){var e=t.data;return e.aborted=!0,I.apply(e.target,e.args)}var E=F(f,"open",function(){return function(t,e){return t[r]=0==e[2],t[a]=e[1],E.apply(t,e)}}),w=b("fetchTaskAborting"),T=b("fetchTaskScheduling"),O=F(f,"send",function(){return function(t,n){if(!0===e.current[T])return O.apply(t,n);if(t[r])return O.apply(t,n);{var o={target:t,url:t[a],isPeriodic:!1,args:n,aborted:!1},i=y("XMLHttpRequest.send",S,o,x,_);t&&!0===t[c]&&!o.aborted&&i.state===k&&i.invoke()}}}),I=F(f,"abort",function(){return function(t,r){var o=t[n];if(o&&"string"==typeof o.type){if(null==o.cancelFn||o.data&&o.data.aborted)return;o.zone.cancelTask(o)}else if(!0===e.current[w])return I.apply(t,r)}})}();var n=b("xhrTask"),r=b("xhrSync"),o=b("xhrListener"),i=b("xhrScheduled"),a=b("xhrURL"),c=b("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",function(t){t.navigator&&t.navigator.geolocation&&function(t,e){var n=t.constructor.name;var r=function r(i){var a=e[i],c=t[a];if(c){if(!w(o(t,a)))return"continue";t[a]=function(t){var e=function e(){return t.apply(this,E(arguments,n+"."+a))};return Z(e,t),e}(c)}};for(var i=0;i<e.length;i++){var a=r(i);if(a==="continue")continue}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",function(t,e){function n(e){return function(n){Q(t,e).forEach(function(r){var o=t.PromiseRejectionEvent;if(o){var i=new o(e,{promise:n.promise,reason:n.rejection});r.invoke(i)}})}}t.PromiseRejectionEvent&&(e[b("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),e[b("rejectionHandledHandler")]=n("rejectionhandled"))})},pNMO:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("2oRo"),a=r("xDBR"),c=r("g6v/"),u=r("STAE"),s=r("0Dky"),f=r("UTVS"),l=r("6LWA"),p=r("hh1v"),h=r("glrk"),v=r("ewvW"),d=r("/GqU"),g=r("wE6v"),y=r("XGwC"),b=r("fHMY"),m=r("33Wh"),k=r("JBy8"),x=r("BX/b"),S=r("dBg+"),_=r("Bs8V"),E=r("m/L8"),w=r("0eef"),T=r("X2U+"),O=r("busE"),I=r("VpIT"),M=r("93I0"),D=r("0BK2"),j=r("kOOl"),P=r("tiKp"),R=r("wDLo"),A=r("dG/n"),N=r("1E5z"),z=r("afO8"),F=r("tycR").forEach,L=M("hidden"),Z=P("toPrimitive"),C=z.set,W=z.getterFor("Symbol"),U=Object.prototype,H=i.Symbol,B=i.JSON,G=B&&B.stringify,K=_.f,V=E.f,X=x.f,Y=w.f,q=I("symbols"),Q=I("op-symbols"),J=I("string-to-symbol-registry"),$=I("symbol-to-string-registry"),tt=I("wks"),et=i.QObject,nt=!et||!et.prototype||!et.prototype.findChild,rt=c&&s(function(){return 7!=b(V({},"a",{get:function t(){return V(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=K(U,e);r&&delete U[e],V(t,e,n),r&&t!==U&&V(U,e,r)}:V,ot=function t(e,n){var r=q[e]=b(H.prototype);return C(r,{type:"Symbol",tag:e,description:n}),c||(r.description=n),r},it=u&&"symbol"==typeof H.iterator?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof H},at=function t(e,n,r){e===U&&t(Q,n,r),h(e);var o=g(n,!0);return h(r),f(q,o)?(r.enumerable?(f(e,L)&&e[L][o]&&(e[L][o]=!1),r=b(r,{enumerable:y(0,!1)})):(f(e,L)||V(e,L,y(1,{})),e[L][o]=!0),rt(e,o,r)):V(e,o,r)},ct=function t(e,n){h(e);var r=d(n),o=m(r).concat(lt(r));return F(o,function(t){c&&!ut.call(r,t)||at(e,t,r[t])}),e},ut=function t(e){var n=g(e,!0),r=Y.call(this,n);return!(this===U&&f(q,n)&&!f(Q,n))&&(!(r||!f(this,n)||!f(q,n)||f(this,L)&&this[L][n])||r)},st=function t(e,n){var r=d(e),o=g(n,!0);if(r!==U||!f(q,o)||f(Q,o)){var i=K(r,o);return!i||!f(q,o)||f(r,L)&&r[L][o]||(i.enumerable=!0),i}},ft=function t(e){var n=X(d(e)),r=[];return F(n,function(t){f(q,t)||f(D,t)||r.push(t)}),r},lt=function t(e){var n=e===U,r=X(n?Q:d(e)),o=[];return F(r,function(t){!f(q,t)||n&&!f(U,t)||o.push(q[t])}),o};u||(O((H=function t(){if(this instanceof H)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,n=j(e),r=function t(e){this===U&&t.call(Q,e),f(this,L)&&f(this[L],n)&&(this[L][n]=!1),rt(this,n,y(1,e))};return c&&nt&&rt(U,n,{configurable:!0,set:r}),ot(n,e)}).prototype,"toString",function(){return W(this).tag}),w.f=ut,E.f=at,_.f=st,k.f=x.f=ft,S.f=lt,c&&(V(H.prototype,"description",{configurable:!0,get:function t(){return W(this).description}}),a||O(U,"propertyIsEnumerable",ut,{unsafe:!0})),R.f=function(t){return ot(P(t),t)}),o({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:H}),F(m(tt),function(t){A(t)}),o({target:"Symbol",stat:!0,forced:!u},{for:function t(e){var n=String(e);if(f(J,n))return J[n];var r=H(n);return J[n]=r,$[r]=n,r},keyFor:function t(e){if(!it(e))throw TypeError(e+" is not a symbol");if(f($,e))return $[e]},useSetter:function t(){nt=!0},useSimple:function t(){nt=!1}}),o({target:"Object",stat:!0,forced:!u,sham:!c},{create:function t(e,n){return void 0===n?b(e):ct(b(e),n)},defineProperty:at,defineProperties:ct,getOwnPropertyDescriptor:st}),o({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:ft,getOwnPropertySymbols:lt}),o({target:"Object",stat:!0,forced:s(function(){S.f(1)})},{getOwnPropertySymbols:function t(e){return S.f(v(e))}}),B&&o({target:"JSON",stat:!0,forced:!u||s(function(){var t=H();return"[null]"!=G([t])||"{}"!=G({a:t})||"{}"!=G(Object(t))})},{stringify:function t(e){for(var n,r,o=[e],i=1;arguments.length>i;){o.push(arguments[i++])}if(r=n=o[1],(p(n)||void 0!==e)&&!it(e))return l(n)||(n=function t(e,n){if("function"==typeof r&&(n=r.call(this,e,n)),!it(n))return n}),o[1]=n,G.apply(B,o)}}),H.prototype[Z]||T(H.prototype,Z,H.prototype.valueOf),N(H,"Symbol"),D[L]=!0},piMb:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").every;o({target:"Array",proto:!0,forced:r("swFL")("every")},{every:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},pjDv:function t(e,n,r){var o=r("I+eb"),i=r("TfTi");o({target:"Array",stat:!0,forced:!r("HH4o")(function(t){Array.from(t)})},{from:i})},ppGB:function t(e,n){var r=Math.ceil,o=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?o:r)(t)}},"qHT+":function t(e,n,r){var o=r("I+eb"),i=r("FF6l"),a=r("RNIs");o({target:"Array",proto:!0},{copyWithin:i}),a("copyWithin")},qePV:function t(e,n,r){"use strict";var o=r("g6v/"),i=r("2oRo"),a=r("lMq5"),c=r("busE"),u=r("UTVS"),s=r("xrYK"),f=r("cVYH"),l=r("wE6v"),p=r("0Dky"),h=r("fHMY"),v=r("JBy8").f,d=r("Bs8V").f,g=r("m/L8").f,y=r("WKiH").trim,b=i.Number,m=b.prototype,k="Number"==s(h(m)),x=function t(e){var n,r,o,i,a,c,u,s,f=l(e,!1);if("string"==typeof f&&f.length>2)if(43===(n=(f=y(f)).charCodeAt(0))||45===n){if(88===(r=f.charCodeAt(2))||120===r)return NaN}else if(48===n){switch(f.charCodeAt(1)){case 66:case 98:o=2,i=49;break;case 79:case 111:o=8,i=55;break;default:return+f}for(c=(a=f.slice(2)).length,u=0;u<c;u++){if((s=a.charCodeAt(u))<48||s>i)return NaN}return parseInt(a,o)}return+f};if(a("Number",!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var S,_=function t(e){var n=arguments.length<1?0:e,r=this;return r instanceof t&&(k?p(function(){m.valueOf.call(r)}):"Number"!=s(r))?f(new b(x(n)),r,t):x(n)},E=o?v(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;E.length>w;w++){u(b,S=E[w])&&!u(_,S)&&g(_,S,d(b,S))}_.prototype=m,m.constructor=_,c(i,"Number",_)}},qxPZ:function t(e,n,r){var o=r("tiKp")("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,"/./"[t](e)}catch(r){}}return!1}},"r/Vq":function t(e,n,r){r("I+eb")({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},r5Og:function t(e,n,r){var o=r("I+eb"),i=r("hh1v"),a=r("8YOa").onFreeze,c=r("uy83"),u=r("0Dky"),s=Object.seal;o({target:"Object",stat:!0,forced:u(function(){s(1)}),sham:!c},{seal:function t(e){return s&&i(e)?s(a(e)):e}})},rB9j:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("kmMV");o({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},rKzb:function t(e,n,r){"use strict";var o=r("4syw"),i=r("8YOa").getWeakData,a=r("glrk"),c=r("hh1v"),u=r("GarU"),s=r("ImZN"),f=r("tycR"),l=r("UTVS"),p=r("afO8"),h=p.set,v=p.getterFor,d=f.find,g=f.findIndex,y=0,b=function t(e){return e.frozen||(e.frozen=new m)},m=function t(){this.entries=[]},k=function t(e,n){return d(e.entries,function(t){return t[0]===n})};m.prototype={get:function t(e){var n=k(this,e);if(n)return n[1]},has:function t(e){return!!k(this,e)},set:function t(e,n){var r=k(this,e);r?r[1]=n:this.entries.push([e,n])},delete:function t(e){var n=g(this.entries,function(t){return t[0]===e});return~n&&this.entries.splice(n,1),!!~n}},e.exports={getConstructor:function t(e,n,r,f){var p=e(function(t,e){u(t,p,n),h(t,{type:n,id:y++,frozen:void 0}),null!=e&&s(e,t[f],t,r)}),d=v(n),g=function t(e,n,r){var o=d(e),c=i(a(n),!0);return!0===c?b(o).set(n,r):c[o.id]=r,e};return o(p.prototype,{delete:function t(e){var n=d(this);if(!c(e))return!1;var r=i(e);return!0===r?b(n).delete(e):r&&l(r,n.id)&&delete r[n.id]},has:function t(e){var n=d(this);if(!c(e))return!1;var r=i(e);return!0===r?b(n).has(e):r&&l(r,n.id)}}),o(p.prototype,r?{get:function t(e){var n=d(this);if(c(e)){var r=i(e);return!0===r?b(n).get(e):r?r[n.id]:void 0}},set:function t(e,n){return g(this,e,n)}}:{add:function t(e){return g(this,e,!0)}}),p}}},rMz7:function t(e,n,r){var o=r("I+eb"),i=r("ZOXb");o({target:"Date",proto:!0,forced:Date.prototype.toISOString!==i},{toISOString:i})},rNhl:function t(e,n,r){var o=r("I+eb"),i=r("b+VT");o({global:!0,forced:parseFloat!=i},{parseFloat:i})},rW0t:function t(e,n,r){"use strict";var o=r("glrk");e.exports=function(){var t=o(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},rpNk:function t(e,n,r){"use strict";var o,i,a,c=r("4WOD"),u=r("X2U+"),s=r("UTVS"),f=r("tiKp"),l=r("xDBR"),p=f("iterator"),h=!1;[].keys&&("next"in(a=[].keys())?(i=c(c(a)))!==Object.prototype&&(o=i):h=!0),null==o&&(o={}),l||s(o,p)||u(o,p,function(){return this}),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:h}},s5pE:function t(e,n,r){var o=r("0GbY");e.exports=o("navigator","userAgent")||""},sEFX:function t(e,n,r){"use strict";var o=r("9d/t"),i={};i[r("tiKp")("toStringTag")]="z",e.exports="[object z]"!==String(i)?function(){return"[object "+o(this)+"]"}:i.toString},sMBO:function t(e,n,r){var o=r("g6v/"),i=r("m/L8").f,a=Function.prototype,c=a.toString,u=/^\s*function ([^ (]*)/;!o||"name"in a||i(a,"name",{configurable:!0,get:function t(){try{return c.call(this).match(u)[1]}catch(e){return""}}})},swFL:function t(e,n,r){"use strict";var o=r("0Dky");e.exports=function(t,e){var n=[][t];return!n||!o(function(){n.call(null,e||function(){throw 1},1)})}},tW5y:function t(e,n,r){"use strict";var o=r("hh1v"),i=r("m/L8"),a=r("4WOD"),c=r("tiKp")("hasInstance"),u=Function.prototype;c in u||i.f(u,c,{value:function t(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);){if(this.prototype===e)return!0}return!1}})},tXUg:function t(e,n,r){var o,i,a,c,u,s,f,l,p=r("2oRo"),h=r("Bs8V").f,v=r("xrYK"),d=r("LPSS").set,g=r("s5pE"),y=p.MutationObserver||p.WebKitMutationObserver,b=p.process,m=p.Promise,k="process"==v(b),x=h(p,"queueMicrotask"),S=x&&x.value;S||(o=function t(){var e,n;for(k&&(e=b.domain)&&e.exit();i;){n=i.fn,i=i.next;try{n()}catch(r){throw i?c():a=void 0,r}}a=void 0,e&&e.enter()},k?c=function t(){b.nextTick(o)}:y&&!/(iphone|ipod|ipad).*applewebkit/i.test(g)?(u=!0,s=document.createTextNode(""),new y(o).observe(s,{characterData:!0}),c=function t(){s.data=u=!u}):m&&m.resolve?(f=m.resolve(void 0),l=f.then,c=function t(){l.call(f,o)}):c=function t(){d.call(p,o)}),e.exports=S||function(t){var e={fn:t,next:void 0};a&&(a.next=e),i||(i=e,c()),a=e}},tiKp:function t(e,n,r){var o=r("2oRo"),i=r("VpIT"),a=r("kOOl"),c=r("STAE"),u=o.Symbol,s=i("wks");e.exports=function(t){return s[t]||(s[t]=c&&u[t]||(c?u:a)("Symbol."+t))}},tkto:function t(e,n,r){var o=r("I+eb"),i=r("ewvW"),a=r("33Wh");o({target:"Object",stat:!0,forced:r("0Dky")(function(){a(1)})},{keys:function t(e){return a(i(e))}})},"tl/u":function t(e,n,r){var o=r("I+eb"),i=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function t(e){return(e>0?a:i)(e)}})},toAj:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("ppGB"),a=r("QIpd"),c=r("EUja"),u=r("0Dky"),s=1..toFixed,f=Math.floor,l=function t(e,n,r){return 0===n?r:n%2==1?t(e,n-1,r*e):t(e*e,n/2,r)};o({target:"Number",proto:!0,forced:s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u(function(){s.call({})})},{toFixed:function t(e){var n,r,o,u,s=a(this),p=i(e),h=[0,0,0,0,0,0],v="",d="0",g=function t(e,n){for(var r=-1,o=n;++r<6;){h[r]=(o+=e*h[r])%1e7,o=f(o/1e7)}},y=function t(e){for(var n=6,r=0;--n>=0;){h[n]=f((r+=h[n])/e),r=r%e*1e7}},b=function t(){for(var e=6,n="";--e>=0;){if(""!==n||0===e||0!==h[e]){var r=String(h[e]);n=""===n?r:n+c.call("0",7-r.length)+r}}return n};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(s!=s)return"NaN";if(s<=-1e21||s>=1e21)return String(s);if(s<0&&(v="-",s=-s),s>1e-21)if(r=(n=function(t){for(var e=0,n=s*l(2,69,1);n>=4096;){e+=12,n/=4096}for(;n>=2;){e+=1,n/=2}return e}()-69)<0?s*l(2,-n,1):s/l(2,n,1),r*=4503599627370496,(n=52-n)>0){for(g(0,r),o=p;o>=7;){g(1e7,0),o-=7}for(g(l(10,o,1),0),o=n-1;o>=23;){y(1<<23),o-=23}y(1<<o),g(1,1),y(2),d=b()}else g(0,r),g(1<<-n,0),d=b()+c.call("0",p);return p>0?v+((u=d.length)<=p?"0."+c.call("0",p-u)+d:d.slice(0,u-p)+"."+d.slice(u-p)):v+d}})},tycR:function t(e,n,r){var o=r("+MLx"),i=r("RK3t"),a=r("ewvW"),c=r("UMSQ"),u=r("ZfDv"),s=[].push,f=function t(e){var n=1==e,r=2==e,f=3==e,l=4==e,p=6==e,h=5==e||p;return function(t,v,d,g){for(var y,b,m=a(t),k=i(m),x=o(v,d,3),S=c(k.length),_=0,E=g||u,w=n?E(t,S):r?E(t,0):void 0;S>_;_++){if((h||_ in k)&&(b=x(y=k[_],_,m),e))if(n)w[_]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return _;case 2:s.call(w,y)}else if(l)return!1}return p?-1:f||l?l:w}};e.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},uL8W:function t(e,n,r){r("I+eb")({target:"Object",stat:!0,sham:!r("g6v/")},{create:r("fHMY")})},uqXc:function t(e,n,r){var o=r("I+eb"),i=r("5Yz+");o({target:"Array",proto:!0,forced:i!==[].lastIndexOf},{lastIndexOf:i})},uy83:function t(e,n,r){var o=r("0Dky");e.exports=!o(function(){return Object.isExtensible(Object.preventExtensions({}))})},vAFs:function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=Math.imul;o({target:"Math",stat:!0,forced:i(function(){return-5!=a(4294967295,5)||2!=a.length})},{imul:function t(e,n){var r=+e,o=+n,i=65535&r,a=65535&o;return 0|i*a+((65535&r>>>16)*a+i*(65535&o>>>16)<<16>>>0)}})},vo4V:function t(e,n,r){var o=r("90hW"),i=Math.abs,a=Math.pow,c=a(2,-52),u=a(2,-23),s=a(2,127)*(2-u),f=a(2,-126);e.exports=Math.fround||function(t){var e,n,r=i(t),a=o(t);return r<f?a*(r/f/u+1/c-1/c)*f*u:(n=(e=(1+u/c)*r)-(e-r))>s||n!=n?a*(1/0):a*n}},w1rZ:function t(e,n,r){var o=r("I+eb"),i=r("b+VT");o({target:"Number",stat:!0,forced:Number.parseFloat!=i},{parseFloat:i})},wDLo:function t(e,n,r){n.f=r("tiKp")},wE6v:function t(e,n,r){var o=r("hh1v");e.exports=function(t,e){if(!o(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!o(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},wLYn:function t(e,n,r){r("I+eb")({target:"Function",proto:!0},{bind:r("BTho")})},x0AG:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("tycR").findIndex,a=r("RNIs"),c=!0;"findIndex"in[]&&Array(1).findIndex(function(){c=!1}),o({target:"Array",proto:!0,forced:c},{findIndex:function t(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a("findIndex")},x83w:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("fixed")},{fixed:function t(){return i(this,"tt","","")}})},xDBR:function t(e,n){e.exports=!1},xdBZ:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("italics")},{italics:function t(){return i(this,"i","","")}})},xrYK:function t(e,n){var r={}.toString;e.exports=function(t){return r.call(t).slice(8,-1)}},yQYn:function t(e,n,r){var o=r("I+eb"),i=r("0Dky"),a=r("hh1v"),c=Object.isExtensible;o({target:"Object",stat:!0,forced:i(function(){c(1)})},{isExtensible:function t(e){return!!a(e)&&(!c||c(e))}})},yWo2:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("small")},{small:function t(){return i(this,"small","","")}})},yXV3:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("TWQb").indexOf,a=r("swFL"),c=[].indexOf,u=!!c&&1/[1].indexOf(1,-0)<0,s=a("indexOf");o({target:"Array",proto:!0,forced:u||s},{indexOf:function t(e){return u?c.apply(this,arguments)||0:i(this,e,arguments.length>1?arguments[1]:void 0)}})},yiG3:function t(e,n,r){r("I+eb")({target:"Math",stat:!0},{log1p:r("HsHA")})},yoRg:function t(e,n,r){var o=r("UTVS"),i=r("/GqU"),a=r("TWQb").indexOf,c=r("0BK2");e.exports=function(t,e){var n,r=i(t),u=0,s=[];for(n in r){!o(c,n)&&o(r,n)&&s.push(n)}for(;e.length>u;){o(r,n=e[u++])&&(~a(s,n)||s.push(n))}return s}},yyme:function t(e,n,r){var o=r("I+eb"),i=r("gdVl"),a=r("RNIs");o({target:"Array",proto:!0},{fill:i}),a("fill")},zBJ4:function t(e,n,r){var o=r("2oRo"),i=r("hh1v"),a=o.document,c=i(a)&&i(a.createElement);e.exports=function(t){return c?a.createElement(t):{}}},zHFu:function t(e,n,r){"use strict";var o=r("I+eb"),i=r("hXpO");o({target:"String",proto:!0,forced:r("6unK")("bold")},{bold:function t(){return i(this,"b","","")}})},zKZe:function t(e,n,r){var o=r("I+eb"),i=r("YNrV");o({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},zfnd:function t(e,n,r){var o=r("glrk"),i=r("hh1v"),a=r("8GlL");e.exports=function(t,e){if(o(t),i(e)&&e.constructor===t)return e;var n=a.f(t);return(0,n.resolve)(e),n.promise}},zk60:function t(e,n,r){var o=r("2oRo"),i=r("X2U+");e.exports=function(t,e){try{i(o,t,e)}catch(n){o[t]=e}return e}},zuhW:function t(e,n,r){var o=r("I+eb"),i=r("hh1v"),a=r("8YOa").onFreeze,c=r("uy83"),u=r("0Dky"),s=Object.preventExtensions;o({target:"Object",stat:!0,forced:u(function(){s(1)}),sham:!c},{preventExtensions:function t(e){return s&&i(e)?s(a(e)):e}})}},[[1,0]]]);
\ No newline at end of file
diff --git a/runtime-es2015.4401e6f60d45e8780b53.js b/runtime-es2015.4401e6f60d45e8780b53.js
new file mode 100644
index 0000000..d76fdef
--- /dev/null
+++ b/runtime-es2015.4401e6f60d45e8780b53.js
@@ -0,0 +1 @@
+!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"-es2015."+{1:"67d3ceb99452bc011267",6:"6100aba97d9d2e278473",7:"fed6f1cc532aebd6584a"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout(function(){u({type:"timeout",target:i})},12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([]);
\ No newline at end of file
diff --git a/runtime-es5.4401e6f60d45e8780b53.js b/runtime-es5.4401e6f60d45e8780b53.js
new file mode 100644
index 0000000..fab514c
--- /dev/null
+++ b/runtime-es5.4401e6f60d45e8780b53.js
@@ -0,0 +1 @@
+!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],p=0,s=[];p<i.length;p++){a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0}for(n in c){Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n])}for(f&&f(r);s.length;){s.shift()()}return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){0!==o[t[i]]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"-es5."+{1:"67d3ceb99452bc011267",6:"6100aba97d9d2e278473",7:"fed6f1cc532aebd6584a"}[e]+".js"}(e);var c=new Error;u=function r(t){i.onerror=i.onload=null,clearTimeout(l);var n=o[e];if(0!==n){if(n){var u=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+u+": "+a+")",c.name="ChunkLoadError",c.type=u,c.request=a,n[1](c)}o[e]=void 0}};var l=setTimeout(function(){u({type:"timeout",target:i})},12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e){a.d(t,n,(function(r){return e[r]}).bind(null,n))}return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++){r(i[l])}var f=c;t()}([]);
\ No newline at end of file
diff --git a/scripts.eab147d5f2ea31a3708c.js b/scripts.eab147d5f2ea31a3708c.js
new file mode 100644
index 0000000..62f345f
--- /dev/null
+++ b/scripts.eab147d5f2ea31a3708c.js
@@ -0,0 +1 @@
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes)}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var n=(e.ownerDocument||e).documentElement;return!Y.test(e.namespaceURI||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&!b.relative[s=(a=o[i]).type];)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(k.merge(this,k.parseHTML(r[1],(t=t instanceof k?t[0]:t)&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var n;r="string"==typeof r?(n={},k.each(r.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");m(t=e&&("object"==typeof e||"function"==typeof e)&&e.then)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):t.call(e,l(++u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith)):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return r=Q.get(e,t=(t||"fx")+"queue"),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){var n=k.queue(e,t=t||"fx"),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(l=l||c[3],c=+(u/=2)||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;k.style(e,t,(c*=2)+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,(u=ce[s=i.nodeName])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),a.innerHTML=(u=ge[s]||ge._default)[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},f=k.event.special[d=(i?f.delegateType:f.bindType)||d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)he.test((u=a[c]).type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.pos=t=this.options.duration?k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)(dt.tweeners[n=e[r]]=dt.tweeners[n]||[]).unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(st.test(i=t[r])){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(l="none"===(c=h.display)?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration=r.duration in k.fx.speeds?k.fx.speeds[r.duration]:k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,this.queue(e=e||"fx",function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(i=k.propHooks[t=k.propFix[t]||t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){return null},set:function(e){}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(Tt.test((s=c.delegateType||d)+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0);var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t=t||{}),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?{top:(e=r.getBoundingClientRect()).top+(n=r.ownerDocument.defaultView).pageYOffset,left:e.left+n.pageXOffset}:{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;i=r[n=t],n in(e=o)?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var e="transitionend",_={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":{}.toString.call(r).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=function(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this},g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest(".alert")[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass("show"),g(e).hasClass("fade")){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",y="bs.button",E="."+y,C=".data-api",T=g.fn[v],S="active",D='[data-toggle^="button"]',O=".btn",k={CLICK_DATA_API:"click"+E+C,FOCUS_BLUR_DATA_API:"focus"+E+C+" blur"+E+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(".active");o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,y),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(y);t||(t=new n(this),g(this).data(y,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass("btn")||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass("focus",/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",x=g.fn[L],F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},W="next",q="prev",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},V="active",tt=".active.carousel-item",ot=".carousel-indicators",at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();this._slide(n<t?W:q,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},F,t),_.typeCheckConfig(L,t,U),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(".carousel-item img")).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add("pointer-event")):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;n.touchDeltaX=(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?0:e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===q,o=this._getItemIndex(e);if((i&&0===o||n&&o===this._items.length-1)&&!this._config.wrap)return e;var s=(o+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===W?(n="carousel-item-left",i="carousel-item-next","left"):(n="carousel-item-right",i="carousel-item-prev","right"),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass("slide")){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},F,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass("carousel")){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return F}}]),r}();g(document).on(Q.CLICK_DATA_API,"[data-slide], [data-slide-to]",lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=x,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",yt="collapsed",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!(this._isTransitioning||g(this._element).hasClass(mt)||(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);null!==s&&(g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(yt).attr("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass("width")?"width":"height"},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,void 0!==this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var i=[].slice.call(t.querySelectorAll('[data-toggle="collapse"][data-parent="'+this._config.parent+'"]'));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if(void 0===e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",xt="dropdown-menu-right",Ut='[data-toggle="dropdown"]',qt=".dropdown-menu",$t={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Gt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Jt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if(void 0===u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass("position-static"),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(".navbar-nav").length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?(e="top-start",g(this._menu).hasClass(xt)&&(e="top-end")):t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":g(this._menu).hasClass(xt)&&(e="bottom-end"),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if(void 0===t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ut)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Ut);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $t}},{key:"DefaultType",get:function(){return Gt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,Ut,Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Jt._clearMenus).on(kt.CLICK_DATA_API,Ut,function(t){t.preventDefault(),t.stopPropagation(),Jt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,".dropdown form",function(t){t.stopPropagation()}),g.fn[It]=Jt._jQueryInterface,g.fn[It].Constructor=Jt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Jt._jQueryInterface};var Zt="modal",te="bs.modal",ee="."+te,ne=g.fn[Zt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},ce="modal-open",he="fade",ue="show",fe=".modal-dialog",me=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pe=".sticky-top",ve=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,'[data-dismiss="modal"]',function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckConfig(Zt,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),g(this._dialog).hasClass("modal-dialog-scrollable")?this._dialog.querySelector(".modal-body").scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(me)),e=[].slice.call(document.querySelectorAll(pe));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(ce)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+pe));g(e).each(function(t,e){var n=g(e).data("margin-right");void 0!==n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,'[data-toggle="modal"]',function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});ve._jQueryInterface.call(g(e),o,this)}),g.fn[Zt]=ve._jQueryInterface,g.fn[Zt].Constructor=ve,g.fn[Zt].noConflict=function(){return g.fn[Zt]=ne,ve._jQueryInterface};var ye=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ce=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,Te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Se(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ye.indexOf(n)||Boolean(t.nodeValue.match(Ce)||t.nodeValue.match(Te));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var be="tooltip",Ie="bs.tooltip",De="."+Ie,we=g.fn[be],Ae="bs-tooltip",Ne=new RegExp("(^|\\s)"+Ae+"\\S+","g"),Oe=["sanitize","whiteList","sanitizeFn"],ke={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object"},Pe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Le={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]}},je="show",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",qe="hover",Me="focus",Be=function(){function i(t,e){if(void 0===u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger.click=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(".tooltip-inner")),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if("manual"!==t){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){"out"===e._hoverState&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ye),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ye,t)),"string"==typeof n)){if(void 0===t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Je}},{key:"NAME",get:function(){return Ve}},{key:"DATA_KEY",get:function(){return Ye}},{key:"Event",get:function(){return rn}},{key:"EVENT_KEY",get:function(){return ze}},{key:"DefaultType",get:function(){return Ze}}]),i}(Be);g.fn[Ve]=sn._jQueryInterface,g.fn[Ve].Constructor=sn,g.fn[Ve].noConflict=function(){return g.fn[Ve]=Xe,sn._jQueryInterface};var an="scrollspy",ln="bs.scrollspy",cn="."+ln,hn=g.fn[an],un={offset:10,method:"auto",target:""},fn={offset:"number",method:"string",target:"(string|element)"},dn={ACTIVATE:"activate"+cn,SCROLL:"scroll"+cn,LOAD_DATA_API:"load"+cn+".data-api"},_n="active",pn=".nav, .list-group",vn=".nav-link",En=".list-group-item",Tn=".dropdown-item",In="position",Dn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+vn+","+this._config.target+" "+En+","+this._config.target+" "+Tn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(dn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,o="auto"===this._config.method?this._scrollElement===this._scrollElement.window?"offset":In:this._config.method,r=o===In?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,ln),g(this._scrollElement).off(cn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},un,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(an),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(an,t,fn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;)this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass(_n),n.addClass(_n)):(n.addClass(_n),n.parents(pn).prev(vn+", "+En).addClass(_n),n.parents(pn).prev(".nav-item").children(vn).addClass(_n)),g(this._scrollElement).trigger(dn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(_n)}).forEach(function(t){return t.classList.remove(_n)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(ln);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(ln,t)),"string"==typeof e){if(void 0===t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return un}}]),n}();g(window).on(dn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=g(t[e]);Dn._jQueryInterface.call(n,n.data())}}),g.fn[an]=Dn._jQueryInterface,g.fn[an].Constructor=Dn,g.fn[an].noConflict=function(){return g.fn[an]=hn,Dn._jQueryInterface};var wn="bs.tab",An="."+wn,Nn=g.fn.tab,On={HIDE:"hide"+An,HIDDEN:"hidden"+An,SHOW:"show"+An,SHOWN:"shown"+An,CLICK_DATA_API:"click"+An+".data-api"},Pn="active",Fn=".active",Un="> li > .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass("disabled"))){var t,i,e=g(this._element).closest(".nav, .list-group")[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass("show").one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find("> .dropdown-menu .active")[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&g(t.parentNode).hasClass("dropdown-menu")){var o=g(t).closest(".dropdown")[0];if(o){var r=[].slice.call(o.querySelectorAll(".dropdown-toggle"));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if(void 0===e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove("hide"),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,'[data-dismiss="toast"]',function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add("hide"),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if(void 0===e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if(void 0===g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(_self){var lang=/\blang(?:uage)?-([\w-]+)\b/i,uniqueId=0,_={manual:_self.Prism&&_self.Prism.manual,disableWorkerMessageHandler:_self.Prism&&_self.Prism.disableWorkerMessageHandler,util:{encode:function(tokens){return tokens instanceof Token?new Token(tokens.type,_.util.encode(tokens.content),tokens.alias):Array.isArray(tokens)?tokens.map(_.util.encode):tokens.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(o){return Object.prototype.toString.call(o).slice(8,-1)},objId:function(obj){return obj.__id||Object.defineProperty(obj,"__id",{value:++uniqueId}),obj.__id},clone:function deepClone(o,visited){var clone,id,type=_.util.type(o);switch(visited=visited||{},type){case"Object":if(id=_.util.objId(o),visited[id])return visited[id];for(var key in visited[id]=clone={},o)o.hasOwnProperty(key)&&(clone[key]=deepClone(o[key],visited));return clone;case"Array":return id=_.util.objId(o),visited[id]?visited[id]:(visited[id]=clone=[],o.forEach(function(v,i){clone[i]=deepClone(v,visited)}),clone);default:return o}}},languages:{extend:function(id,redef){var lang=_.util.clone(_.languages[id]);for(var key in redef)lang[key]=redef[key];return lang},insertBefore:function(inside,before,insert,root){var grammar=(root=root||_.languages)[inside],ret={};for(var token in grammar)if(grammar.hasOwnProperty(token)){if(token==before)for(var newToken in insert)insert.hasOwnProperty(newToken)&&(ret[newToken]=insert[newToken]);insert.hasOwnProperty(token)||(ret[token]=grammar[token])}var old=root[inside];return root[inside]=ret,_.languages.DFS(_.languages,function(key,value){value===old&&key!=inside&&(this[key]=ret)}),ret},DFS:function DFS(o,callback,type,visited){visited=visited||{};var objId=_.util.objId;for(var i in o)if(o.hasOwnProperty(i)){callback.call(o,i,o[i],type||i);var property=o[i],propertyType=_.util.type(property);"Object"!==propertyType||visited[objId(property)]?"Array"!==propertyType||visited[objId(property)]||(visited[objId(property)]=!0,DFS(property,callback,i,visited)):(visited[objId(property)]=!0,DFS(property,callback,null,visited))}}},plugins:{},highlightAll:function(async,callback){_.highlightAllUnder(document,async,callback)},highlightAllUnder:function(container,async,callback){var env={callback:callback,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};_.hooks.run("before-highlightall",env);for(var element,elements=container.querySelectorAll(env.selector),i=0;element=elements[i++];)_.highlightElement(element,!0===async,env.callback)},highlightElement:function(element,async,callback){for(var grammar,language="none",parent=element;parent&&!lang.test(parent.className);)parent=parent.parentNode;parent&&(language=(parent.className.match(lang)||[,"none"])[1].toLowerCase(),grammar=_.languages[language]),element.className=element.className.replace(lang,"").replace(/\s+/g," ")+" language-"+language,element.parentNode&&/pre/i.test((parent=element.parentNode).nodeName)&&(parent.className=parent.className.replace(lang,"").replace(/\s+/g," ")+" language-"+language);var env={element:element,language:language,grammar:grammar,code:element.textContent},insertHighlightedCode=function(highlightedCode){env.highlightedCode=highlightedCode,_.hooks.run("before-insert",env),env.element.innerHTML=env.highlightedCode,_.hooks.run("after-highlight",env),_.hooks.run("complete",env),callback&&callback.call(env.element)};if(_.hooks.run("before-sanity-check",env),env.code)if(_.hooks.run("before-highlight",env),env.grammar)if(async&&_self.Worker){var worker=new Worker(_.filename);worker.onmessage=function(evt){insertHighlightedCode(evt.data)},worker.postMessage(JSON.stringify({language:env.language,code:env.code,immediateClose:!0}))}else insertHighlightedCode(_.highlight(env.code,env.grammar,env.language));else insertHighlightedCode(_.util.encode(env.code));else _.hooks.run("complete",env)},highlight:function(text,grammar,language){var env={code:text,grammar:grammar,language:language};return _.hooks.run("before-tokenize",env),env.tokens=_.tokenize(env.code,env.grammar),_.hooks.run("after-tokenize",env),Token.stringify(_.util.encode(env.tokens),env.language)},matchGrammar:function(text,strarr,grammar,index,startPos,oneshot,target){for(var token in grammar)if(grammar.hasOwnProperty(token)&&grammar[token]){if(token==target)return;var patterns=grammar[token];patterns="Array"===_.util.type(patterns)?patterns:[patterns];for(var j=0;j<patterns.length;++j){var pattern=patterns[j],inside=pattern.inside,lookbehind=!!pattern.lookbehind,greedy=!!pattern.greedy,lookbehindLength=0,alias=pattern.alias;if(greedy&&!pattern.pattern.global){var flags=pattern.pattern.toString().match(/[imuy]*$/)[0];pattern.pattern=RegExp(pattern.pattern.source,flags+"g")}pattern=pattern.pattern||pattern;for(var i=index,pos=startPos;i<strarr.length;pos+=strarr[i].length,++i){var str=strarr[i];if(strarr.length>text.length)return;if(!(str instanceof Token)){if(greedy&&i!=strarr.length-1){if(pattern.lastIndex=pos,!(match=pattern.exec(text)))break;for(var from=match.index+(lookbehind?match[1].length:0),to=match.index+match[0].length,k=i,p=pos,len=strarr.length;k<len&&(p<to||!strarr[k].type&&!strarr[k-1].greedy);++k)from>=(p+=strarr[k].length)&&(++i,pos=p);if(strarr[i]instanceof Token)continue;delNum=k-i,str=text.slice(pos,p),match.index-=pos}else{pattern.lastIndex=0;var match=pattern.exec(str),delNum=1}if(match){lookbehind&&(lookbehindLength=match[1]?match[1].length:0),to=(from=match.index+lookbehindLength)+(match=match[0].slice(lookbehindLength)).length;var before=str.slice(0,from),after=str.slice(to),args=[i,delNum];before&&(++i,pos+=before.length,args.push(before));var wrapped=new Token(token,inside?_.tokenize(match,inside):match,alias,match,greedy);if(args.push(wrapped),after&&args.push(after),Array.prototype.splice.apply(strarr,args),1!=delNum&&_.matchGrammar(text,strarr,grammar,i,pos,!0,token),oneshot)break}else if(oneshot)break}}}}},tokenize:function(text,grammar){var strarr=[text],rest=grammar.rest;if(rest){for(var token in rest)grammar[token]=rest[token];delete grammar.rest}return _.matchGrammar(text,strarr,grammar,0,0,!1),strarr},hooks:{all:{},add:function(name,callback){var hooks=_.hooks.all;hooks[name]=hooks[name]||[],hooks[name].push(callback)},run:function(name,env){var callbacks=_.hooks.all[name];if(callbacks&&callbacks.length)for(var callback,i=0;callback=callbacks[i++];)callback(env)}},Token:Token};function Token(type,content,alias,matchedStr,greedy){this.type=type,this.content=content,this.alias=alias,this.length=0|(matchedStr||"").length,this.greedy=!!greedy}if(_self.Prism=_,Token.stringify=function(o,language){if("string"==typeof o)return o;if(Array.isArray(o))return o.map(function(element){return Token.stringify(element,language)}).join("");var env={type:o.type,content:Token.stringify(o.content,language),tag:"span",classes:["token",o.type],attributes:{},language:language};if(o.alias){var aliases=Array.isArray(o.alias)?o.alias:[o.alias];Array.prototype.push.apply(env.classes,aliases)}_.hooks.run("wrap",env);var attributes=Object.keys(env.attributes).map(function(name){return name+'="'+(env.attributes[name]||"").replace(/"/g,"&quot;")+'"'}).join(" ");return"<"+env.tag+' class="'+env.classes.join(" ")+'"'+(attributes?" "+attributes:"")+">"+env.content+"</"+env.tag+">"},!_self.document)return _self.addEventListener?(_.disableWorkerMessageHandler||_self.addEventListener("message",function(evt){var message=JSON.parse(evt.data),lang=message.language,immediateClose=message.immediateClose;_self.postMessage(_.highlight(message.code,_.languages[lang],lang)),immediateClose&&_self.close()},!1),_):_;var script=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return script&&(_.filename=script.src,_.manual||script.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(_.highlightAll):window.setTimeout(_.highlightAll,16):document.addEventListener("DOMContentLoaded",_.highlightAll))),_}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),Prism.languages.markup={comment:/<!--[\s\S]*?-->/,prolog:/<\?[\s\S]+?\?>/,doctype:/<!DOCTYPE[\s\S]+?>/i,cdata:/<!\[CDATA\[[\s\S]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s\/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(env){"entity"===env.type&&(env.attributes.title=env.content.replace(/&amp;/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(tagName,lang){var includedCdataInside={};includedCdataInside["language-"+lang]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[lang]},includedCdataInside.cdata=/^<!\[CDATA\[|\]\]>$/i;var inside={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:includedCdataInside}};inside["language-"+lang]={pattern:/[\s\S]+/,inside:Prism.languages[lang]};var def={};def[tagName]={pattern:RegExp(/(<__[\s\S]*?>)(?:<!\[CDATA\[[\s\S]*?\]\]>\s*|[\s\S])*?(?=<\/__>)/.source.replace(/__/g,tagName),"i"),lookbehind:!0,greedy:!0,inside:inside},Prism.languages.insertBefore("markup","cdata",def)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,function(Prism){var string=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;Prism.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+string.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+string.source+")*?(?=\\s*\\{)"),string:{pattern:string,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},Prism.languages.css.atrule.inside.rest=Prism.languages.css;var markup=Prism.languages.markup;markup&&(markup.tag.addInlined("style","css"),Prism.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:Prism.languages.css}},alias:"language-css"}},markup.tag))}(Prism),Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/-[-=]?|\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^\/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript,"undefined"!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(container){container=container||document;var Extensions={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"};Array.prototype.slice.call(container.querySelectorAll("pre[data-src]")).forEach(function(pre){if(!pre.hasAttribute("data-src-loaded")){for(var language,src=pre.getAttribute("data-src"),parent=pre,lang=/\blang(?:uage)?-([\w-]+)\b/i;parent&&!lang.test(parent.className);)parent=parent.parentNode;if(parent&&(language=(pre.className.match(lang)||[,""])[1]),!language){var extension=(src.match(/\.(\w+)$/)||[,""])[1];language=Extensions[extension]||extension}var code=document.createElement("code");code.className="language-"+language,pre.textContent="",code.textContent="Loading…",pre.appendChild(code);var xhr=new XMLHttpRequest;xhr.open("GET",src,!0),xhr.onreadystatechange=function(){4==xhr.readyState&&(xhr.status<400&&xhr.responseText?(code.textContent=xhr.responseText,Prism.highlightElement(code),pre.setAttribute("data-src-loaded","")):code.textContent=xhr.status>=400?"✖ Error "+xhr.status+" while fetching file: "+xhr.statusText:"✖ Error: File does not exist or is empty")},xhr.send(null)}}),Prism.plugins.toolbar&&Prism.plugins.toolbar.registerButton("download-file",function(env){var pre=env.element.parentNode;if(pre&&/pre/i.test(pre.nodeName)&&pre.hasAttribute("data-src")&&pre.hasAttribute("data-download-link")){var src=pre.getAttribute("data-src"),a=document.createElement("a");return a.textContent=pre.getAttribute("data-download-link-label")||"Download",a.setAttribute("download",""),a.href=src,a}})},document.addEventListener("DOMContentLoaded",function(){self.Prism.fileHighlight()}));
\ No newline at end of file
diff --git a/sort-techq.gif b/sort-techq.gif
deleted file mode 100644
index a857be8..0000000
Binary files a/sort-techq.gif and /dev/null differ
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms-routing.module.ts b/src/app/algorithms/graph-algorithms/graph-algorithms-routing.module.ts
deleted file mode 100644
index 212ea1c..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms-routing.module.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { GraphAlgorithmsComponent } from './graph-algorithms/graph-algorithms.component';
-
-const routes: Routes = [
-  {path: '', component: GraphAlgorithmsComponent},
-];
-
-@NgModule({
-  imports: [RouterModule.forChild(routes)],
-  exports: [RouterModule]
-})
-export class GraphAlgorithmsRoutingModule { }
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms.module.ts b/src/app/algorithms/graph-algorithms/graph-algorithms.module.ts
deleted file mode 100644
index 91ce4bf..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms.module.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { GraphAlgorithmsComponent } from './graph-algorithms/graph-algorithms.component';
-import { FormsModule } from '@angular/forms';
-import { MatSliderModule } from '@angular/material/slider';
-import { MatRadioModule } from '@angular/material/radio';
-
-import { SharedModule } from 'src/app/shared/shared.module';
-import { GraphAlgorithmsRoutingModule } from './graph-algorithms-routing.module';
-
-@NgModule({
-  declarations: [
-    GraphAlgorithmsComponent
-  ],
-  imports: [
-    CommonModule,
-    FormsModule,
-    MatSliderModule,
-    MatRadioModule,
-    GraphAlgorithmsRoutingModule,
-    SharedModule
-  ]
-})
-export class GraphAlgorithmsModule { }
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms-code.ts b/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms-code.ts
deleted file mode 100644
index 940888a..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms-code.ts
+++ /dev/null
@@ -1,192 +0,0 @@
-export class GraphAlgorithms {
-    bfsExplanation = ``;
-    bfsCode = `
-    // Program to print BFS traversal from a given
-    // source vertex. BFS(int s) traverses vertices
-    // reachable from s.
-    #include<iostream>
-    #include <list>
-
-    using namespace std;
-
-    // This class represents a directed graph using
-    // adjacency list representation
-    class Graph
-    {
-        int V; // No. of vertices
-
-        // Pointer to an array containing adjacency
-        // lists
-        list<int> *adj;
-    public:
-        Graph(int V); // Constructor
-
-        // function to add an edge to graph
-        void addEdge(int v, int w);
-
-        // prints BFS traversal from a given source s
-        void BFS(int s);
-    };
-
-    Graph::Graph(int V)
-    {
-        this->V = V;
-        adj = new list<int>[V];
-    }
-
-    void Graph::addEdge(int v, int w)
-    {
-        adj[v].push_back(w); // Add w to v’s list.
-    }
-
-    void Graph::BFS(int s)
-    {
-        // Mark all the vertices as not visited
-        bool *visited = new bool[V];
-        for(int i = 0; i < V; i++)
-            visited[i] = false;
-
-        // Create a queue for BFS
-        list<int> queue;
-
-        // Mark the current node as visited and enqueue it
-        visited[s] = true;
-        queue.push_back(s);
-
-        // 'i' will be used to get all adjacent
-        // vertices of a vertex
-        list<int>::iterator i;
-
-        while(!queue.empty())
-        {
-            // Dequeue a vertex from queue and print it
-            s = queue.front();
-            cout << s << " ";
-            queue.pop_front();
-
-            // Get all adjacent vertices of the dequeued
-            // vertex s. If a adjacent has not been visited,
-            // then mark it visited and enqueue it
-            for (i = adj[s].begin(); i != adj[s].end(); ++i)
-            {
-                if (!visited[*i])
-                {
-                    visited[*i] = true;
-                    queue.push_back(*i);
-                }
-            }
-        }
-    }
-
-    // Driver program to test methods of graph class
-    int main()
-    {
-        // Create a graph given in the above diagram
-        Graph g(4);
-        g.addEdge(0, 1);
-        g.addEdge(0, 2);
-        g.addEdge(1, 2);
-        g.addEdge(2, 0);
-        g.addEdge(2, 3);
-        g.addEdge(3, 3);
-
-        cout << "Following is Breadth First Traversal "
-            << "(starting from vertex 2) ";
-        g.BFS(2);
-
-        return 0;
-    }
-    `;
-
-    dfsExplanation = ``;
-    dfsCode = `
-    // C++ program to print DFS traversal from
-    // a given vertex in a given graph
-    #include<iostream>
-    #include<list>
-    using namespace std;
-
-    // Graph class represents a directed graph
-    // using adjacency list representation
-    class Graph
-    {
-        int V; // No. of vertices
-
-        // Pointer to an array containing
-        // adjacency lists
-        list<int> *adj;
-
-        // A recursive function used by DFS
-        void DFSUtil(int v, bool visited[]);
-    public:
-        Graph(int V); // Constructor
-
-        // function to add an edge to graph
-        void addEdge(int v, int w);
-
-        // DFS traversal of the vertices
-        // reachable from v
-        void DFS(int v);
-    };
-
-    Graph::Graph(int V)
-    {
-        this->V = V;
-        adj = new list<int>[V];
-    }
-
-    void Graph::addEdge(int v, int w)
-    {
-        adj[v].push_back(w); // Add w to v’s list.
-    }
-
-    void Graph::DFSUtil(int v, bool visited[])
-    {
-        // Mark the current node as visited and
-        // print it
-        visited[v] = true;
-        cout << v << " ";
-
-        // Recur for all the vertices adjacent
-        // to this vertex
-        list<int>::iterator i;
-        for (i = adj[v].begin(); i != adj[v].end(); ++i)
-            if (!visited[*i])
-                DFSUtil(*i, visited);
-    }
-
-    // DFS traversal of the vertices reachable from v.
-    // It uses recursive DFSUtil()
-    void Graph::DFS(int v)
-    {
-        // Mark all the vertices as not visited
-        bool *visited = new bool[V];
-        for (int i = 0; i < V; i++)
-            visited[i] = false;
-
-        // Call the recursive helper function
-        // to print DFS traversal
-        DFSUtil(v, visited);
-    }
-
-    // Driver code
-    int main()
-    {
-        // Create a graph given in the above diagram
-        Graph g(4);
-        g.addEdge(0, 1);
-        g.addEdge(0, 2);
-        g.addEdge(1, 2);
-        g.addEdge(2, 0);
-        g.addEdge(2, 3);
-        g.addEdge(3, 3);
-
-        cout << "Following is Depth First Traversal"
-                " (starting from vertex 2) ";
-        g.DFS(2);
-
-        return 0;
-    }
-
-    `;
-}
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.html b/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.html
deleted file mode 100644
index 590e672..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<div class="submain-container">
-    <div class="header">
-        <div class="brand">
-            Graph Algorithms Visualizer
-        </div>
-    </div>
-    <div class="toolbar">
-        <nav class="navbar navbar-expand-lg">
-            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarContent">
-                <i class="fa fa-bars togglerIcon"></i>
-            </button>
-            <div class="collapse navbar-collapse" id="navbarContent">
-                <div class="navWrapper row col-md-12">
-                    <div class="col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem" [routerLink]="['']">
-                        Home
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <select [(ngModel)]="selectedAlgorithm">
-                            <option *ngFor="let algoName of algorithmNames" 
-                                [value]="algoName"
-                                [disabled]="visualizing" >
-                                {{algoName}}
-                            </option>
-                        </select>
-                    </div>
-                    <button class="btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem" 
-                        (click)="randomize()"
-                        [disabled]="visualizing"
-                        >
-                        Randomize
-                    </button>  
-                    <button 
-                        [ngClass]="{'btn-success': !visualizing, 'btn-danger': visualizing, 'btn col-lg-1 col-md-2 col-sm-4 navItem': true}"
-                        (click)="toggleVisualize();scrollToElement('#graph')">
-                        <span *ngIf="visualizing; else visualize">Stop</span>
-                        <ng-template #visualize>Visualize</ng-template> 
-                    </button>  
-                    <button 
-                        [ngClass]="{'btn btn-info col-lg-1 col-md-2 col-sm-4 navItem': true}"
-                        [disabled]="visualizing"
-                        (click)="toggleCustomPanel();">
-                        Custom
-                    </button>  
-                    <button 
-                        [ngClass]="{'col-lg-1 col-md-2 col-sm-4 navItem show-code-button': true}"
-                        (click)="toggleCodePanel()">
-                        &lt; / &gt;
-                    </button>  
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <svg style="width:30px;height:40px;" fill="white"><path d="M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"/> <path d="M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"/></svg>
-                        <mat-slider min="0" 
-                            [max]="maxSpeed" 
-                            [value]="speed" 
-                            (change)="updateSpeed($event)">
-                        </mat-slider>
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <div class="row">
-                            <span style="color:white;padding: 10px 0px 10px 20px">N</span>
-                            <mat-slider thumbLabel 
-                                tickInterval="1" 
-                                min="1" 
-                                [max]="maxSamplesCount" 
-                                [value]="samplesCount" 
-                                [disabled]="visualizing"
-                                (change)="updateSamplesCount($event)">
-                            </mat-slider>
-                        </div>
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <div class="row">
-                            <span style="color:white;padding: 10px 0px 10px 20px">A</span>
-                            <mat-slider thumbLabel 
-                                tickInterval="1" 
-                                min="1" 
-                                max="200" 
-                                [value]="maxValue" 
-                                [disabled]="visualizing"
-                                (change)="updateMaxValue($event)">
-                            </mat-slider>
-                        </div>
-                    </div>
-                    <div class="col-lg-1 col-md-2 col-sm-3 navItem p-0">
-                        <div class="row">
-                            <mat-radio-group [(ngModel)]="isDirected"
-                                (change) = "onRadioButtonChange('isDirected')" >
-                                <mat-radio-button [value]="1" class="radio-button"><span class="label-name">Directed</span></mat-radio-button>
-                                <mat-radio-button [value]="0" class="radio-button"><span class="label-name">Undirected</span></mat-radio-button>
-                            </mat-radio-group>
-                        </div>
-                    </div>
-                    <!--
-                    <div class="col-lg-1 col-md-2 col-sm-3 navItem p-0">
-                        <div class="row">
-                            <mat-radio-group [(ngModel)]="isCyclic">
-                                <mat-radio-button [value]="1" class="radio-button"><span class="label-name">Cyclic</span></mat-radio-button>
-                                <mat-radio-button [value]="0" class="radio-button"><span class="label-name">Acyclic</span></mat-radio-button>
-                            </mat-radio-group>
-                        </div>
-                    </div>
-                    <div class="col-lg-1 col-md-2 col-sm-3 navItem p-0">
-                        <div class="row">
-                            <mat-radio-group [(ngModel)]="isConnected">
-                                <mat-radio-button [value]="1" class="radio-button"><span class="label-name">Connected</span></mat-radio-button>
-                                <mat-radio-button [value]="0" class="radio-button"><span class="label-name">Disconnected</span></mat-radio-button>
-                            </mat-radio-group>
-                        </div>
-                    </div>
-                    -->
-                </div>
-            </div>
-        </nav>
-    </div>
-    <div class="section">
-        <div class="custom-panel" *ngIf="customPanelOpened">
-            <input 
-                type="number"
-                min="1"
-                max="999"
-                placeholder="Enter custom value"
-                [(ngModel)]="customValue"
-                class="custom-value" />
-            <button 
-                (click)="addCustomValue()"
-                class="edit-button">
-                <span>+</span>
-            </button>
-            <button 
-                (click)="removeCustomValue()"
-                class="edit-button">
-                <span>-</span>
-            </button>
-        </div>
-        <app-graph
-            #graph
-            id="graph"
-            (graphReady) = "onGraphReady($event)"
-            (nodeSelected) = "onNodeSelected($event)"
-        ></app-graph>
-        <div class="code-panel" *ngIf="codePanelOpened">
-            <button 
-                (click)="toggleCodePanel()" 
-                class="closeCodePanel">
-                X
-            </button>
-            <div class="code-explanation-wrapper">
-                <div class="code-explanation-heading">{{selectedAlgorithm}}</div>
-                <pre class="code-explanation wrap-pre-tag-text"
-                    [innerHtml] = "algorithmExplanation"
-                >
-                </pre>
-            </div>
-            <div class="code-wrapper">
-                <pre>
-                <code class="code" 
-                    [innerHTML]="algorithmCode">
-                </code>
-                </pre>
-            </div>
-        </div>
-    </div>
-    <div class="glow-footer">
-        while( !(success = try()));
-    </div>
-</div>
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.sass b/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.sass
deleted file mode 100644
index 771542c..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.sass
+++ /dev/null
@@ -1,15 +0,0 @@
-.submain-container 
-    .toolbar 
-        ::ng-deep .mat-accent .mat-slider-thumb 
-                background-color: #D168FF 
-        ::ng-deep .mat-accent .mat-slider-thumb-label 
-            background-color: #D168FF 
-        ::ng-deep .mat-accent .mat-slider-track-fill 
-            background-color: #D168FF 
-        
-        .radio-button
-            padding: 0px 20px
-        
-        .label-name
-            color: white
-            font-size: 14px
diff --git a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.ts b/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.ts
deleted file mode 100644
index 8fe21a8..0000000
--- a/src/app/algorithms/graph-algorithms/graph-algorithms/graph-algorithms.component.ts
+++ /dev/null
@@ -1,316 +0,0 @@
-import { Component, OnInit, ViewChild, ElementRef, HostListener, AfterViewInit } from '@angular/core';
-import { GraphComponent } from 'src/app/shared/components/graph/graph.component';
-import { HighlightService } from 'src/app/services/highlight.service';
-import { Util } from 'src/app/shared/util';
-import { GraphNode, GraphEdge} from 'src/app/models/graph';
-import { NotificationService } from 'src/app/services/notification.service';
-import { async } from '@angular/core/testing';
-import { GraphAlgorithms } from './graph-algorithms-code';
-import { GraphAlgorithmsRoutingModule } from '../graph-algorithms-routing.module';
-
-@Component({
-  selector: 'app-graph-algorithms',
-  templateUrl: './graph-algorithms.component.html',
-  styleUrls: ['./graph-algorithms.component.sass']
-})
-export class GraphAlgorithmsComponent implements OnInit, AfterViewInit {
-  algorithms: any = [];
-  algorithmNames: string[] = [ 'BFS', 'DFS'];
-  selectedAlgorithm: string = this.algorithmNames[0];
-  samplesCount = 70;
-  maxSamplesCount = 350;
-  minValue = 1;
-  maxValue = 150;
-  values: number[] = [];
-  speed = 700;
-  maxSpeed = 3000;
-  visualizing = false;
-  customPanelOpened = false;
-  customValue: number = null;
-  codePanelOpened = false;
-
-  minNodesDistance = 17;
-  selectedNode: GraphNode;
-  isDirected = 0;
-  isCyclic = 1;
-  isConnected = 0;
-
-  algorithmCode = '';
-  algorithmExplanation = '';
-  graphAlgorithms: GraphAlgorithms = new GraphAlgorithms();
-
-  board: HTMLCanvasElement;
-
-  @ViewChild('graph', {static: false}) graph: GraphComponent;
-  constructor(
-    private highlightService: HighlightService,
-    private notificationService: NotificationService
-  ) {
-    this.algorithms = {
-      BFS: {name: 'BFS', run: () => this.bfs(), code: this.graphAlgorithms.bfsCode, explanation: this.graphAlgorithms.bfsExplanation},
-      DFS: {name: 'DFS', run: () => this.dfs(), code: this.graphAlgorithms.dfsCode, explanation: this.graphAlgorithms.dfsExplanation},
-    };
-   }
-
-  @HostListener('click', ['$event'])
-  onMouseClick(event: MouseEvent) {
-    if (!this.visualizing) {
-      this.graph.onMouseClick(event);
-    }
-  }
-
-  @HostListener('mousemove', ['$event'] )
-  onMouseMove(event: MouseEvent) {
-    if (!this.visualizing) {
-      this.graph.onMouseMove(event);
-    }
-  }
-
-  @HostListener('window:resize', ['$event']) onWindowResize(event) {
-    this.graph.adjustBoardParams();
-    this.randomize();
-    this.graph.drawBoard();
-  }
-
-  ngOnInit() {
-
-  }
-
-  ngAfterViewInit() {
-    this.randomize();
-  }
-
-  onGraphReady($event: HTMLCanvasElement) {
-    this.board = $event;
-    this.randomize();
-  }
-
-  onNodeSelected($event: GraphNode) {
-    this.selectedNode = $event;
-  }
-
-  onRadioButtonChange(target: string) {
-    switch (target) {
-      case 'isDirected':
-        this.setRandomEdges();
-        break;
-    }
-    this.graph.drawBoard();
-  }
-
-  updateSpeed(event) {
-    this.speed = event.value;
-  }
-
-  updateSamplesCount(event) {
-    this.customPanelOpened = false;
-    this.samplesCount = event.value;
-    this.randomize();
-  }
-
-  updateMaxValue(event) {
-    this.customPanelOpened = false;
-    this.maxValue = event.value;
-    this.randomize();
-  }
-
-  addCustomValue() {
-    if (this.customValue === null || this.customValue <= 0 || this.customValue > 999) {return; }
-    const node = new GraphNode();
-    node.value = this.customValue;
-    node.radius = node.value.toString().length * 12;
-    let iterations = 1;
-    do {
-      node.x = Math.floor(Math.random() * (this.board.width - 20 - 2 * node.radius)) + node.radius + 10;
-      node.y = Math.floor(Math.random() * (this.board.height - 20 - 2 * node.radius)) + node.radius + 10;
-      if ( iterations++ > 1000) {break; }  // to avoid infinite loop
-    }while (this.graph.nodes.some(node1 => this.doesNodesAreTooCloser(node1, node)));
-    if (iterations < 1000) {
-      this.graph.nodes.push(node);
-    } else {
-      this.notificationService.messages.push('Node can\'t be add as area is full');
-    }
-    this.customValue = null;
-    this.graph.drawBoard();
-  }
-
-  scrollToElement(elementTag: string) {
-    document.querySelector(elementTag).scrollIntoView({ behavior: 'smooth', block: 'center' });
-  }
-
-  removeCustomValue() {
-    if (this.customValue === null || this.customValue <= 0 || this.customValue > 999) {return; }
-    const index = this.graph.nodes.findIndex((node) => node.value === this.customValue);
-    if (index >= 0) {
-      this.graph.nodes.splice(index, 1);
-    }
-    this.graph.drawBoard();
-  }
-
-  toggleCustomPanel() {
-    this.customPanelOpened = !this.customPanelOpened;
-    this.graph.nodes = [];
-    this.graph.boardContext.clearRect(0, 0, this.board.width, this.board.height);
-    if (!this.customPanelOpened) {
-      this.randomize();
-    }
-  }
-
-  toggleCodePanel() {
-    this.codePanelOpened = !this.codePanelOpened;
-    this.algorithmCode = this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code, 'cpp');
-    this.algorithmExplanation = this.algorithms[this.selectedAlgorithm].explanation;
-  }
-
-
-  doesNodesAreTooCloser(node1: GraphNode, node2: GraphNode): boolean {
-    const distance: number = this.graph.getDistanceOfNodes(node1, node2);
-    return distance < node1.radius + node2.radius + this.minNodesDistance ? true : false;
-  }
-
-  setRandomEdges() {
-    const k = this.samplesCount <= 3 ? this.samplesCount - 1 : 3;
-
-    this.graph.nodes.forEach(node => node.edges = []);
-
-    this.graph.nodes.forEach(node => {
-      this.getNearestKNodes(node, this.graph.nodes, k).forEach(nearNode => {
-        if (Math.floor(Math.random() * 2) === 1 && this.samplesCount >= 3) { return; }
-        const edge = new GraphEdge(nearNode);
-        edge.isDirected = (this.isDirected === 1);
-        if (!node.doesEdgeExists(edge)) {
-          if (!this.isDirected) {
-            const backwardEdge = new GraphEdge(node);
-            backwardEdge.isDirected = this.isDirected === 1;
-            if (!nearNode.doesEdgeExists(backwardEdge)) {
-              nearNode.edges.push(backwardEdge);
-            }
-          }
-          node.edges.push(edge);
-        }
-      });
-    });
-  }
-
-  getRandomNodes() {
-    const nodes: GraphNode[] = [];
-    for (let rep = 1; rep <= this.samplesCount; rep++) {
-      let iterations = 1;
-      const node: GraphNode = new GraphNode();
-      do {
-        node.value = Math.floor(Math.random() * (this.maxValue - this.minValue + 1)) + this.minValue;
-        node.radius = node.value.toString().length * 12;
-        node.x = Math.floor(Math.random() * (this.board.width - 20 - 2 * node.radius)) + node.radius + 10;
-        node.y = Math.floor(Math.random() * (this.board.height - 20 - 2 * node.radius)) + node.radius + 10;
-        if ( iterations++ > 1000) {break; }  // to avoid infinite loop
-      }while (nodes.some(node1 => this.doesNodesAreTooCloser(node1, node)));
-      if (iterations < 1000) {
-        nodes.push(node);
-      } else {
-        this.samplesCount = nodes.length;
-      }
-    }
-    return nodes;
-  }
-
-  randomize() {
-    this.selectedNode = null;
-    this.customPanelOpened = false;
-    this.graph.nodes = this.getRandomNodes();
-    this.setRandomEdges();
-    this.graph.drawBoard();
-  }
-
-  getNearestKNodes(node: GraphNode, Nodes: GraphNode[], k: number) {
-    if (k >= Nodes.length) { return []; }
-    const nodes = Nodes.slice(0);
-    nodes.sort((node1, node2) => this.graph.getDistanceOfNodes(node, node1) > this.graph.getDistanceOfNodes(node, node2) ? 1 : -1);
-    return nodes.slice(1, k + 1);
-  }
-
-  resetNodes() {
-    this.graph.nodes.forEach(node => {
-      node.resetMarkerProperties();
-      node.resetVisualProperties();
-    });
-  }
-
-  async eachStep() {
-    if (!this.visualizing) {return false; }
-    // this.graph.nodes = this.nodes;
-    this.graph.drawBoard();
-    await Util.delay(this.maxSpeed - this.speed);
-    return true;
-  }
-
-  async toggleVisualize() {
-    if (this.visualizing) {
-      this.visualizing = false;
-      return;
-    }
-    await this.algorithms[this.selectedAlgorithm].run();
-  }
-
-  async bfs() {
-    this.resetNodes();
-    if (!this.selectedNode) {
-      this.notificationService.addMesage('Select any node as root');
-      return;
-    }
-    this.visualizing = true;
-    const queue: GraphNode[] = [];
-    this.selectedNode.visited = true;
-    this.selectedNode.isRoot = true;
-    this.selectedNode.persistVisualProperties = true;
-    queue.push(this.selectedNode);
-
-    if (! await this.eachStep()) {return; }
-
-    let curLevelNodeCount = 1;
-    let nextLevelNodeCount = 0;
-
-    while (queue.length !== 0) {
-      while (curLevelNodeCount !== 0) {
-        const node = queue.shift();
-        node.persistVisualProperties = true;
-        node.edges.forEach(edge => {
-          if (!edge.node.visited) {
-            edge.node.visited = true;
-            queue.push(edge.node);
-            nextLevelNodeCount++;
-          }
-        });
-        curLevelNodeCount--;
-      }
-      if (! await this.eachStep()) {return; }
-      curLevelNodeCount = nextLevelNodeCount;
-      nextLevelNodeCount = 0;
-    }
-
-    this.visualizing = false;
-  }
-
-  async dfs() {
-    this.resetNodes();
-    if (!this.selectedNode) {
-      this.notificationService.addMesage('Select any node as root');
-      return;
-    }
-
-    this.visualizing = true;
-    this.selectedNode.isRoot = true;
-    await this.dfsUtil(this.selectedNode);
-    this.visualizing = false;
-  }
-
-  async dfsUtil(node: GraphNode) {
-    node.visited = true;
-    node.persistVisualProperties = true;
-    if (! await this.eachStep()) {return false; }
-    for (const edge of node.edges) {
-      if (edge.node.visited) {continue; }
-      if (! await this.dfsUtil(edge.node)) { return false; }
-    }
-    return true;
-  }
-}
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms-routing.module.ts b/src/app/algorithms/sorting-algorithms/sorting-algorithms-routing.module.ts
deleted file mode 100644
index cd57289..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms-routing.module.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { SortingAlgorithmsComponent } from './sorting-algorithms/sorting-algorithms.component';
-
-const routes: Routes = [
-  {path: '', component: SortingAlgorithmsComponent},
-];
-
-@NgModule({
-  imports: [RouterModule.forChild(routes)],
-  exports: [RouterModule]
-})
-export class SortingAlgorithmsRoutingModule { }
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms.module.ts b/src/app/algorithms/sorting-algorithms/sorting-algorithms.module.ts
deleted file mode 100644
index 7476efb..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms.module.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { FormsModule } from '@angular/forms';
-import { SortingAlgorithmsRoutingModule } from './sorting-algorithms-routing.module';
-import { SharedModule } from '../../shared/shared.module';
-import {MatSliderModule} from '@angular/material/slider';
-import { SortingAlgorithmsComponent } from './sorting-algorithms/sorting-algorithms.component';
-
-@NgModule({
-  declarations: [
-    SortingAlgorithmsComponent
-  ],
-  imports: [
-    CommonModule,
-    FormsModule,
-    SortingAlgorithmsRoutingModule,
-    SharedModule,
-    MatSliderModule
-  ],
-  exports: [
-    SortingAlgorithmsComponent
-  ]
-})
-export class SortingAlgorithmsModule { }
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms-code.ts b/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms-code.ts
deleted file mode 100644
index b289c7d..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms-code.ts
+++ /dev/null
@@ -1,690 +0,0 @@
-export class SortingAlgorithms {
-
-  bubbleSortExplanation = `
-Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in wrong order.
-
-Example:
-First Pass:
-( 5 1 4 2 8 ) –> ( 1 5 4 2 8 ), Here, algorithm compares the first two elements, and swaps since 5 > 1.
-( 1 5 4 2 8 ) –>  ( 1 4 5 2 8 ), Swap since 5 > 4
-( 1 4 5 2 8 ) –>  ( 1 4 2 5 8 ), Swap since 5 > 2
-( 1 4 2 5 8 ) –> ( 1 4 2 5 8 ), Now, since these elements are already in order (8 > 5), algorithm does not swap them.
-
-Second Pass:
-( 1 4 2 5 8 ) –> ( 1 4 2 5 8 )
-( 1 4 2 5 8 ) –> ( 1 2 4 5 8 ), Swap since 4 > 2
-( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
-( 1 2 4 5 8 ) –>  ( 1 2 4 5 8 )
-Now, the array is already sorted, but our algorithm does not know if it is completed. The algorithm needs one whole pass without any swap to know it is sorted.
-
-Third Pass:
-( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
-( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
-( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
-( 1 2 4 5 8 ) –> ( 1 2 4 5 8 )
-
-Worst and Average Case Time Complexity: O(n*n). Worst case occurs when array is reverse sorted.
-
-Best Case Time Complexity: O(n). Best case occurs when array is already sorted.
-
-Auxiliary Space: O(1)
-
-Sorting In Place: Yes
-
-Stable: Yes
-
-Due to its simplicity, bubble sort is often used to introduce the concept of a sorting algorithm.
-In computer graphics it is popular for its capability to detect a very small error (like swap of just two elements) in almost-sorted arrays and fix it with just linear complexity (2n). For example, it is used in a polygon filling algorithm, where bounding lines are sorted by their x coordinate at a specific scan line (a line parallel to x axis) and with incrementing y their order changes (two elements are swapped) only at intersections of two lines
-  `;
-  bubbleSortCode = `
-  // C++ program for implementation of Bubble sort
-  #include <bits/stdc++.h>
-  using namespace std;
-
-  void swap(int *xp, int *yp)
-  {
-    int temp = *xp;
-    *xp = *yp;
-    *yp = temp;
-  }
-
-  // An optimized version of Bubble Sort
-  void bubbleSort(int arr[], int n)
-  {
-     int i, j;
-     bool swapped;
-     for (i = 0; i < n-1; i++)
-     {
-       swapped = false;
-       for (j = 0; j < n-i-1; j++)
-       {
-          if (arr[j] > arr[j+1])
-          {
-             swap(&arr[j], &arr[j+1]);
-             swapped = true;
-          }
-       }
-
-       // If no two elements were swapped by inner loop, then break
-       if (swapped == false)
-          break;
-     }
-  }
-
-  /* Function to print an array */
-  void printArray(int arr[], int size)
-  {
-    int i;
-    for (i = 0; i < size; i++)
-      cout << arr[i] << " ";
-    cout << endl;
-  }
-
-  // Driver code
-  int main()
-  {
-    int arr[] = {64, 34, 25, 12, 22, 11, 90};
-    int n = sizeof(arr)/sizeof(arr[0]);
-    bubbleSort(arr, n);
-    cout<<"Sorted array: \\n";
-    printArray(arr, n);
-    return 0;
-  }
-  `;
-
-  insertionSortExplanation = `
-Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands.
-
-Algorithm
-// Sort an arr[] of size n
-insertionSort(arr, n)
-Loop from i = 1 to n-1.
-  a) Pick element arr[i] and insert it into sorted sequence arr[0…i-1]
-
-Example:
-12, 11, 13, 5, 6
-
-Let us loop for i = 1 (second element of the array) to 4 (last element of the array)
-
-i = 1. Since 11 is smaller than 12, move 12 and insert 11 before 12
-11, 12, 13, 5, 6
-
-i = 2. 13 will remain at its position as all elements in A[0..i-1] are smaller than 13
-11, 12, 13, 5, 6
-
-i = 3. 5 will move to the beginning and all other elements from 11 to 13 will move one position ahead of their current position.
-5, 11, 12, 13, 6
-
-i = 4. 6 will move to position after 5, and elements from 11 to 13 will move one position ahead of their current position.
-5, 6, 11, 12, 13
-
-Time Complexity: O(n*2)
-
-Auxiliary Space: O(1)
-
-Boundary Cases: Insertion sort takes maximum time to sort if elements are sorted in reverse order. And it takes minimum time (Order of n) when elements are already sorted.
-
-Algorithmic Paradigm: Incremental Approach
-
-Sorting In Place: Yes
-
-Stable: Yes
-
-Online: Yes
-
-Uses: Insertion sort is used when number of elements is small. It can also be useful when input array is almost sorted, only few elements are misplaced in complete big array.
-
-What is Binary Insertion Sort?
-  We can use binary search to reduce the number of comparisons in normal insertion sort. Binary Insertion Sort uses binary search to find the proper location to insert the selected item at each iteration. In normal insertion, sorting takes O(i) (at ith iteration) in worst case. We can reduce it to O(log i) by using binary search. The algorithm, as a whole, still has a running worst case running time of O(n^2) because of the series of swaps required for each insertion.
-
-How to implement Insertion Sort for Linked List?
-  Below is simple insertion sort algorithm for linked list.
-
-  1) Create an empty sorted (or result) list
-  2) Traverse the given list, do following for every node.
-    a) Insert current node in sorted way in sorted or result list.
-  3) Change head of given linked list to head of sorted (or result) list.
-  `;
-  insertionSortCode = `
-  // C++ program for insertion sort
-  #include <bits/stdc++.h>
-  using namespace std;
-
-  /* Function to sort an array using insertion sort*/
-  void insertionSort(int arr[], int n)
-  {
-    int i, key, j;
-    for (i = 1; i < n; i++)
-    {
-      key = arr[i];
-      j = i - 1;
-
-      /* Move elements of arr[0..i-1], that are
-      greater than key, to one position ahead
-      of their current position */
-      while (j >= 0 && arr[j] > key)
-      {
-        arr[j + 1] = arr[j];
-        j = j - 1;
-      }
-      arr[j + 1] = key;
-    }
-  }
-
-  // A utility function to print an array of size n
-  void printArray(int arr[], int n)
-  {
-    int i;
-    for (i = 0; i < n; i++)
-      cout << arr[i] << " ";
-    cout << endl;
-  }
-
-  /* Driver code */
-  int main()
-  {
-    int arr[] = { 12, 11, 13, 5, 6 };
-    int n = sizeof(arr) / sizeof(arr[0]);
-
-    insertionSort(arr, n);
-    printArray(arr, n);
-
-    return 0;
-  }
-  `;
-
-  quickSortExplanation = `
-Like Merge Sort, QuickSort is a Divide and Conquer algorithm. It picks an element as pivot and partitions the given array around the picked pivot. There are many different versions of quickSort that pick pivot in different ways. 1. Always pick first element as pivot.
-2. Always pick last element as pivot (implemented below)
-3. Pick a random element as pivot.
-4. Pick median as pivot.
-
-The key process in quickSort is partition().
-Target of partitions is, given an array and an element x of array as pivot, put x at its correct position in sorted array and put all smaller elements (smaller than x) before x, and put all greater elements (greater than x) after x. All this should be done in linear time.
-
-Analysis of QuickSort
-Time taken by QuickSort in general can be written as following.
-
-T(n) = T(k) + T(n-k-1) + theta(n)
-The first two terms are for two recursive calls, the last term is for the partition process. k is the number of elements which are smaller than pivot.
-The time taken by QuickSort depends upon the input array and partition strategy. Following are three cases.
-
-Worst Case: The worst case occurs when the partition process always picks greatest or smallest element as pivot. If we consider above partition strategy where last element is always picked as pivot, the worst case would occur when the array is already sorted in increasing or decreasing order.
-
-Following is recurrence for worst case.
-
-T(n) = T(0) + T(n-1) + theta(n)
-which is equivalent to
-T(n) = T(n-1) + theta(n)
-The solution of above recurrence is theta(n^2).
-
-Best Case: The best case occurs when the partition process always picks the middle element as pivot. Following is recurrence for best case.
-
-T(n) = 2T(n/2) + theta(n)
-The solution of above recurrence is theta(nLogn). It can be solved using case 2 of Master Theorem.
-
-Average Case:
-  To do average case analysis, we need to consider all possible permutation of array and calculate time taken by every permutation which doesn’t look easy.
-We can get an idea of average case by considering the case when partition puts O(n/9) elements in one set and O(9n/10) elements in other set. Following is recurrence for this case.
-
-T(n) = T(n/9) + T(9n/10) + theta(n)
-Solution of above recurrence is also O(nLogn)
-
-Although the worst case time complexity of QuickSort is O(n^2) which is more than many other sorting algorithms like Merge Sort and Heap Sort, QuickSort is faster in practice, because its inner loop can be efficiently implemented on most architectures, and in most real-world data. QuickSort can be implemented in different ways by changing the choice of pivot, so that the worst case rarely occurs for a given type of data. However, merge sort is generally considered better when data is huge and stored in external storage.
-
-Is QuickSort <a href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/" target="_blank">stable</a>?
-  The default implementation is not stable. However any sorting algorithm can be made stable by considering indexes as comparison parameter.
-Is QuickSort <a href="https://www.geeksforgeeks.org/in-place-algorithm/" target="_blank">In-place</a>?
-  As per the broad definition of in-place algorithm it qualifies as an in-place sorting algorithm as it uses extra space only for storing recursive function calls but not for manipulating the input.
-
-What is 3-Way QuickSort?
-  In simple QuickSort algorithm, we select an element as pivot, partition the array around pivot and recur for subarrays on left and right of pivot.
-Consider an array which has many redundant elements. For example, {1, 4, 2, 4, 2, 4, 1, 2, 4, 1, 2, 2, 2, 2, 4, 1, 4, 4, 4}. If 4 is picked as pivot in Simple QuickSort, we fix only one 4 and recursively process remaining occurrences. In 3 Way QuickSort, an array arr[l..r] is divided in 3 parts:
-  a) arr[l..i] elements less than pivot.
-  b) arr[i+1..j-1] elements equal to pivot.
-  c) arr[j..r] elements greater than pivot.
-See <a href="https://www.geeksforgeeks.org/3-way-quicksort-dutch-national-flag/" target="_blank">this</a> for implementation.
-
-How to implement QuickSort for Linked Lists?
-  <a href="https://www.geeksforgeeks.org/quicksort-on-singly-linked-list/" target="_blank">QuickSort on Singly Linked List</a>
-  <a href="https://www.geeksforgeeks.org/quicksort-for-linked-list/" target="_blank">QuickSort on Doubly Linked List</a>
-
-Can we implement QuickSort Iteratively?
-  Yes, please refer <a href="https://www.geeksforgeeks.org/iterative-quick-sort/" target="_blank">Iterative Quick Sort.</a>
-
-Why Quick Sort is preferred over MergeSort for sorting Arrays
-  Quick Sort in its general form is an in-place sort (i.e. it doesn’t require any extra storage) whereas merge sort requires O(N) extra storage, N denoting the array size which may be quite expensive. Allocating and de-allocating the extra space used for merge sort increases the running time of the algorithm. Comparing average complexity we find that both type of sorts have O(NlogN) average complexity but the constants differ. For arrays, merge sort loses due to the use of extra O(N) storage space.
-
-  Most practical implementations of Quick Sort use randomized version. The randomized version has expected time complexity of O(nLogn). The worst case is possible in randomized version also, but worst case doesn’t occur for a particular pattern (like sorted array) and randomized Quick Sort works well in practice.
-
-  Quick Sort is also a cache friendly sorting algorithm as it has good locality of reference when used for arrays.
-
-  Quick Sort is also tail recursive, therefore tail call optimizations is done.
-
-Why MergeSort is preferred over QuickSort for Linked Lists?
-  In case of linked lists the case is different mainly due to difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike array, in linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.
-
-  In arrays, we can do random access as elements are continuous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in linked list. Quick Sort requires a lot of this kind of access. In linked list to access i’th index, we have to travel each and every node from the head to i’th node as we don’t have continuous block of memory. Therefore, the overhead increases for quick sort. Merge sort accesses data sequentially and the need of random access is low.
-
-How to optimize QuickSort so that it takes O(Log n) extra space in worst case?
-  Please see <a href="https://www.geeksforgeeks.org/quicksort-tail-call-optimization-reducing-worst-case-space-log-n/" target="_blank">QuickSort Tail Call Optimization</a> (Reducing worst case space to Log n )
-  `;
-  quickSortCode = `
-  /* C++ implementation of QuickSort */
-  #include <bits/stdc++.h>
-  using namespace std;
-
-  // A utility function to swap two elements
-  void swap(int* a, int* b)
-  {
-    int t = *a;
-    *a = *b;
-    *b = t;
-  }
-
-  /* This function takes last element as pivot, places
-  the pivot element at its correct position in sorted
-  array, and places all smaller (smaller than pivot)
-  to left of pivot and all greater elements to right
-  of pivot */
-  int partition (int arr[], int low, int high)
-  {
-    int pivot = arr[high]; // pivot
-    int i = (low - 1); // Index of smaller element
-
-    for (int j = low; j <= high - 1; j++)
-    {
-      // If current element is smaller than the pivot
-      if (arr[j] < pivot)
-      {
-        i++; // increment index of smaller element
-        swap(&arr[i], &arr[j]);
-      }
-    }
-    swap(&arr[i + 1], &arr[high]);
-    return (i + 1);
-  }
-
-  /* The main function that implements QuickSort
-  arr[] --> Array to be sorted,
-  low --> Starting index,
-  high --> Ending index */
-  void quickSort(int arr[], int low, int high)
-  {
-    if (low < high)
-    {
-      /* pi is partitioning index, arr[p] is now
-      at right place */
-      int pi = partition(arr, low, high);
-
-      // Separately sort elements before
-      // partition and after partition
-      quickSort(arr, low, pi - 1);
-      quickSort(arr, pi + 1, high);
-    }
-  }
-
-  /* Function to print an array */
-  void printArray(int arr[], int size)
-  {
-    int i;
-    for (i = 0; i < size; i++)
-      cout << arr[i] << " ";
-    cout << endl;
-  }
-
-  // Driver Code
-  int main()
-  {
-    int arr[] = {10, 7, 8, 9, 1, 5};
-    int n = sizeof(arr) / sizeof(arr[0]);
-    quickSort(arr, 0, n - 1);
-    cout << "Sorted array: \\n";
-    printArray(arr, n);
-    return 0;
-  }
-  `;
-
-  mergeSortExplanation = `
-Like QuickSort, Merge Sort is a Divide and Conquer algorithm.
-It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves.
-The merge() function is used for merging two halves. The merge(arr, l, m, r) is key process that assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-arrays into one.
-
-Time Complexity: Sorting arrays on different machines. Merge Sort is a recursive algorithm and time complexity can be expressed as following recurrence relation.
-T(n) = 2T(n/2) + Theta(n)
-The above recurrence can be solved either using Recurrence Tree method or Master method. It falls in case II of Master Method and solution of the recurrence is Theta(nLogn).
-Time complexity of Merge Sort is Theta(nLogn) in all 3 cases (worst, average and best) as merge sort always divides the array into two halves and take linear time to merge two halves.
-
-Auxiliary Space: O(n)
-
-Algorithmic Paradigm: Divide and Conquer
-
-Sorting In Place: No in a typical implementation
-
-Stable: Yes
-
-Applications of Merge Sort
-
-  1. <a href="https://www.geeksforgeeks.org/merge-sort-for-linked-list/" target="_blank">Merge Sort is useful for sorting linked lists in O(nLogn) time</a>.In the case of linked lists, the case is different mainly due to the difference in memory allocation of arrays and linked lists. Unlike arrays, linked list nodes may not be adjacent in memory. Unlike an array, in the linked list, we can insert items in the middle in O(1) extra space and O(1) time. Therefore merge operation of merge sort can be implemented without extra space for linked lists.
-In arrays, we can do random access as elements are contiguous in memory. Let us say we have an integer (4-byte) array A and let the address of A[0] be x then to access A[i], we can directly access the memory at (x + i*4). Unlike arrays, we can not do random access in the linked list. Quick Sort requires a lot of this kind of access. In linked list to access i’th index, we have to travel each and every node from the head to i’th node as we don’t have a continuous block of memory. Therefore, the overhead increases for quicksort. Merge sort accesses data sequentially and the need of random access is low.
-
-  2. <a href="https://www.geeksforgeeks.org/counting-inversions/" target="_blank">Inversion Count Problem</a>
-
-  3. <a href="https://en.wikipedia.org/wiki/External_sorting" target="_blank">Used in External Sorting</a>
-  `;
-  mergeSortCode = `
-  #include<stdlib.h>
-  #include<stdio.h>
-
-  // Merges two subarrays of arr[].
-  // First subarray is arr[l..m]
-  // Second subarray is arr[m+1..r]
-  void merge(int arr[], int l, int m, int r)
-  {
-    int i, j, k;
-    int n1 = m - l + 1;
-    int n2 = r - m;
-
-    /* create temp arrays */
-    int L[n1], R[n2];
-
-    /* Copy data to temp arrays L[] and R[] */
-    for (i = 0; i < n1; i++)
-      L[i] = arr[l + i];
-    for (j = 0; j < n2; j++)
-      R[j] = arr[m + 1+ j];
-
-    /* Merge the temp arrays back into arr[l..r]*/
-    i = 0; // Initial index of first subarray
-    j = 0; // Initial index of second subarray
-    k = l; // Initial index of merged subarray
-    while (i < n1 && j < n2)
-    {
-      if (L[i] <= R[j])
-      {
-        arr[k] = L[i];
-        i++;
-      }
-      else
-      {
-        arr[k] = R[j];
-        j++;
-      }
-      k++;
-    }
-
-    /* Copy the remaining elements of L[], if there
-    are any */
-    while (i < n1)
-    {
-      arr[k] = L[i];
-      i++;
-      k++;
-    }
-
-    /* Copy the remaining elements of R[], if there
-    are any */
-    while (j < n2)
-    {
-      arr[k] = R[j];
-      j++;
-      k++;
-    }
-  }
-
-  /* l is for left index and r is right index of the
-  sub-array of arr to be sorted */
-  void mergeSort(int arr[], int l, int r)
-  {
-    if (l < r)
-    {
-      // Same as (l+r)/2, but avoids overflow for
-      // large l and h
-      int m = l+(r-l)/2;
-
-      // Sort first and second halves
-      mergeSort(arr, l, m);
-      mergeSort(arr, m+1, r);
-
-      merge(arr, l, m, r);
-    }
-  }
-
-  /* UTILITY FUNCTIONS */
-  /* Function to print an array */
-  void printArray(int A[], int size)
-  {
-    int i;
-    for (i=0; i < size; i++)
-      printf("%d ", A[i]);
-    printf("\\n");
-  }
-
-  /* Driver program to test above functions */
-  int main()
-  {
-    int arr[] = {12, 11, 13, 5, 6, 7};
-    int arr_size = sizeof(arr)/sizeof(arr[0]);
-
-    printf("Given array is \\n");
-    printArray(arr, arr_size);
-
-    mergeSort(arr, 0, arr_size - 1);
-
-    printf("\\nSorted array is \\n");
-    printArray(arr, arr_size);
-    return 0;
-  }
-  `;
-
-  selectionSortExplanation = `
-The selection sort algorithm sorts an array by repeatedly finding the minimum element (considering ascending order) from unsorted part and putting it at the beginning.
-The algorithm maintains two subarrays in a given array.
-  1) The subarray which is already sorted.
-  2) Remaining subarray which is unsorted.
-
-In every iteration of selection sort, the minimum element (considering ascending order) from the unsorted subarray is picked and moved to the sorted subarray.
-
-Following example explains the above steps:
-
-arr[] = 64 25 12 22 11
-
-Find the minimum element in arr[0...4] and place it at beginning
-11 25 12 22 64
-
-Find the minimum element in arr[1...4] and place it at beginning of arr[1...4]
-11 12 25 22 64
-
-Find the minimum element in arr[2...4] and place it at beginning of arr[2...4]
-11 12 22 25 64
-
-Find the minimum element in arr[3...4] and place it at beginning of arr[3...4]
-11 12 22 25 64
-
-Time Complexity: O(n^2) as there are two nested loops.
-
-Auxiliary Space: O(1)
-The good thing about selection sort is it never makes more than O(n) swaps and can be useful when memory write is a costly operation.
-  `;
-  selectionSortCode = `
-  // C++ program for implementation of selection sort
-  #include <bits/stdc++.h>
-  using namespace std;
-
-  void swap(int *xp, int *yp)
-  {
-    int temp = *xp;
-    *xp = *yp;
-    *yp = temp;
-  }
-
-  void selectionSort(int arr[], int n)
-  {
-    int i, j, min_idx;
-
-    // One by one move boundary of unsorted subarray
-    for (i = 0; i < n-1; i++)
-    {
-      // Find the minimum element in unsorted array
-      min_idx = i;
-      for (j = i+1; j < n; j++)
-      if (arr[j] < arr[min_idx])
-        min_idx = j;
-
-      // Swap the found minimum element with the first element
-      swap(&arr[min_idx], &arr[i]);
-    }
-  }
-
-  /* Function to print an array */
-  void printArray(int arr[], int size)
-  {
-    int i;
-    for (i=0; i < size; i++)
-      cout << arr[i] << " ";
-    cout << endl;
-  }
-
-  // Driver program to test above functions
-  int main()
-  {
-    int arr[] = {64, 25, 12, 22, 11};
-    int n = sizeof(arr)/sizeof(arr[0]);
-    selectionSort(arr, n);
-    cout << "Sorted array: \\n";
-    printArray(arr, n);
-    return 0;
-  }
-  `;
-
-  heapSortExplanation = `
-Heap sort is a comparison based sorting technique based on Binary Heap data structure.
-It is similar to selection sort where we first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.
-
-Complete Binary Tree:
-  A complete binary tree is a binary tree in which every level, except possibly the last, is completely filled, and all nodes are as far left as possible.
-
-Binary Heap:
-  A Binary Heap is a Complete Binary Tree where items are stored in a special order such that value in a parent node is greater(or smaller) than the values in its two children nodes. The former is called as max heap and the latter is called min heap. The heap can be represented by binary tree or array.
-
-Why array based representation for Binary Heap?
-  Since a Binary Heap is a Complete Binary Tree, it can be easily represented as array and array based representation is space efficient. If the parent node is stored at index I, the left child can be calculated by 2 * I + 1 and right child by 2 * I + 2 (assuming the indexing starts at 0).
-
-Heap Sort Algorithm for sorting in increasing order:
-  1. Build a max heap from the input data.
-  2. At this point, the largest item is stored at the root of the heap. Replace it with the last item of the heap followed by reducing the size of heap by One. Finally, heapify the root of tree.
-  3. Repeat above steps while size of heap is greater than 1.
-
-How to build the heap?
-  Heapify procedure can be applied to a node only if its children nodes are heapified. So the heapification must be performed in the bottom up order.
-
-Lets understand with the help of an example:
-
-Input data: 4, 10, 3, 5, 1
-          4(0)
-        /   \\
-      10(1)   3(2)
-    /   \\
-  5(3)    1(4)
-
-The numbers in bracket represent the indices in the array representation of data.
-
-Applying heapify procedure to index 1:
-          4(0)
-        /   \\
-    10(1)    3(2)
-    /   \\
-5(3)    1(4)
-
-Applying heapify procedure to index 0:
-        10(0)
-        /  \\
-      5(1)  3(2)
-    /   \\
-  4(3)   1(4)
-The heapify procedure calls itself recursively to build heap in top down manner.
-
-Note:
-Heap sort is an in-place algorithm.
-Its typical implementation is not stable, but can be made stable (See <a target="_blank" href="https://www.geeksforgeeks.org/stability-in-sorting-algorithms/">this</a>)
-
-Time Complexity: Time complexity of heapify is O(Logn). Time complexity of createAndBuildHeap() is O(n) and overall time complexity of Heap Sort is O(nLogn).
-
-Applications of HeapSort
-  1.<a target="_blank" href="https://www.geeksforgeeks.org/nearly-sorted-algorithm/"> Sort a nearly sorted (or K sorted) array</a>
-  2.<a target="_blank" href="https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/"> k largest(or smallest) elements in an array </a>
-
-Heap sort algorithm has limited uses because Quicksort and Mergesort are better in practice. Nevertheless, the Heap data structure itself is enormously used. See <a target="_blank" href="https://www.geeksforgeeks.org/applications-of-heap-data-structure/"> Applications of Heap Data Structure <a>
-  `;
-  heapSortCode = `
-  // C++ program for implementation of Heap Sort
-  #include <iostream>
-
-  using namespace std;
-
-  // To heapify a subtree rooted with node i which is
-  // an index in arr[]. n is size of heap
-  void heapify(int arr[], int n, int i)
-  {
-    int largest = i; // Initialize largest as root
-    int l = 2*i + 1; // left = 2*i + 1
-    int r = 2*i + 2; // right = 2*i + 2
-
-    // If left child is larger than root
-    if (l < n && arr[l] > arr[largest])
-      largest = l;
-
-    // If right child is larger than largest so far
-    if (r < n && arr[r] > arr[largest])
-      largest = r;
-
-    // If largest is not root
-    if (largest != i)
-    {
-      swap(arr[i], arr[largest]);
-
-      // Recursively heapify the affected sub-tree
-      heapify(arr, n, largest);
-    }
-  }
-
-  // main function to do heap sort
-  void heapSort(int arr[], int n)
-  {
-    // Build heap (rearrange array)
-    for (int i = n / 2 - 1; i >= 0; i--)
-      heapify(arr, n, i);
-
-    // One by one extract an element from heap
-    for (int i=n-1; i>=0; i--)
-    {
-      // Move current root to end
-      swap(arr[0], arr[i]);
-
-      // call max heapify on the reduced heap
-      heapify(arr, i, 0);
-    }
-  }
-
-  /* A utility function to print array of size n */
-  void printArray(int arr[], int n)
-  {
-    for (int i=0; i<n; ++i)
-      cout << arr[i] << " ";
-    cout << "\\n";
-  }
-
-  // Driver program
-  int main()
-  {
-    int arr[] = {12, 11, 13, 5, 6, 7};
-    int n = sizeof(arr)/sizeof(arr[0]);
-
-    heapSort(arr, n);
-
-    cout << "Sorted array is \\n";
-    printArray(arr, n);
-  }
-
-  `;
-}
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.html b/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.html
deleted file mode 100644
index 3662b5b..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<div class="submain-container">
-    <div class="header">
-        <div class="brand">
-            Sorting Algorithms Visualizer
-        </div>
-    </div>
-    <div class="toolbar">
-        <nav class="navbar navbar-expand-lg">
-            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarContent">
-                <i class="fa fa-bars togglerIcon"></i>
-            </button>
-            <div class="collapse navbar-collapse" id="navbarContent">
-                <div class="navWrapper row col-md-12">
-                    <div class="col-lg-1 col-md-2  col-sm-4 btn btn-primary navItem" [routerLink]="['']">
-                        Home
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <select [(ngModel)]="selectedAlgorithm">
-                            <option *ngFor="let algoName of algorithmNames" 
-                                [value]="algoName"
-                                [disabled]="visualizing" >
-                                {{algoName}}
-                            </option>
-                        </select>
-                    </div>
-                    <button class="btn btn-secondary col-lg-2 col-md-2 col-sm-4 navItem" 
-                        (click)="shuffleValues()"
-                        [disabled]="visualizing"
-                        >
-                       Shuffle 
-                    </button>  
-                    <button class="btn btn-danger col-lg-2 col-md-2 col-sm-4 navItem" 
-                        (click)="randomize()"
-                        [disabled]="visualizing"
-                        >
-                        Randomize
-                    </button>  
-                    <button 
-                        [ngClass]="{'btn-success': !visualizing, 'btn-danger': visualizing, 'btn col-lg-1 col-md-2 col-sm-4 navItem': true}"
-                        (click)="toggleVisualize()">
-                        <span *ngIf="visualizing; else visualize">Stop</span>
-                        <ng-template #visualize>Visualize</ng-template> 
-                    </button>  
-                    <button 
-                        [ngClass]="{'btn btn-info col-lg-1 col-md-2 col-sm-4 navItem': true}"
-                        [disabled]="visualizing"
-                        (click)="toggleCustomPanel()">
-                        Custom
-                    </button>  
-                    <button 
-                        [ngClass]="{'col-lg-1 col-md-2 col-sm-4 navItem show-code-button': true}"
-                        (click)="toggleCodePanel()">
-                        &lt; / &gt;
-                    </button>  
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <svg style="width:30px;height:40px;" fill="white"><path d="M31.842,15.057c-0.264-0.265-0.689-0.265-0.953,0c-0.228,0.229-0.246,0.573-0.079,0.834l-3.007,3.008 c-0.089-0.061-0.187-0.105-0.279-0.157l0.904-3.373c0.309,0.014,0.6-0.177,0.682-0.485c0.1-0.36-0.114-0.729-0.476-0.825 c-0.36-0.098-0.729,0.116-0.825,0.478c-0.083,0.311,0.073,0.618,0.351,0.762l-0.888,3.307c-0.371-0.164-0.778-0.263-1.207-0.287 c-3.048-0.168-2.584,3.011-3.806,3.01c-0.285,0-1.716-0.646-1.716-0.646l-0.982,0.201c-3.417,0.497-6.636-1.889-6.76-1.98 l-0.39-0.296c0,0-0.661,1.275-1.829,1.912c-0.865,0.47-1.861,0.567-2.545,0.567c-1.251,0-2.832-0.349-3.539-1.128 c-0.111-0.123-0.199-0.256-0.301-0.383c-3.606,1.845-5.085,4.896-3.663,4.896c2.315,0,25.529,0,25.529,0 c1.698,0,3.075-1.378,3.075-3.076c0-0.951-0.44-1.762-1.119-2.316l2.986-2.988c0.261,0.169,0.605,0.148,0.835-0.078 C32.106,15.748,32.106,15.32,31.842,15.057z M25.71,20.926c-0.372,0-0.674-0.302-0.674-0.674s0.302-0.674,0.674-0.674 s0.674,0.302,0.674,0.674S26.083,20.926,25.71,20.926z"/> <path d="M10.259,19.925c2.863-1.558,1.811-7.37-1.684-5.348c3.494-2.905,4.963,2.837,4.633,3.785c0,0,3.071,2.32,6.253,1.853 c0-4.033-1.423-10.616-7.265-12.29C4.408,5.693,0.45,14.493,4.998,19.504C5.766,20.35,8.602,20.828,10.259,19.925z"/></svg>
-                        <mat-slider min="0" 
-                            [max]="maxSpeed" 
-                            [value]="speed" 
-                            (change)="updateSpeed($event)">
-                        </mat-slider>
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <div class="row">
-                            <span style="color:white;padding: 10px 0px 10px 20px">N</span>
-                            <mat-slider thumbLabel 
-                                tickInterval="1" 
-                                min="1" 
-                                [max]="maxSamplesCount" 
-                                [value]="samplesCount" 
-                                [disabled]="visualizing"
-                                (change)="updateSamplesCount($event)">
-                            </mat-slider>
-                        </div>
-                    </div>
-                    <div class="col-lg-2 col-md-3 col-sm-4 navItem p-0">
-                        <div class="row">
-                            <span style="color:white;padding: 10px 0px 10px 20px">A</span>
-                            <mat-slider thumbLabel 
-                                tickInterval="1" 
-                                min="1" 
-                                max="999" 
-                                [value]="maxValue" 
-                                [disabled]="visualizing"
-                                (change)="updateMaxValue($event)">
-                            </mat-slider>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </nav>
-    </div>
-    <div class="section">
-        <div class="custom-panel" *ngIf="customPanelOpened">
-            <input 
-                type="number"
-                min="1"
-                max="999"
-                placeholder="Enter custom value"
-                [(ngModel)]="customValue"
-                class="custom-value" />
-            <button 
-                (click)="addCustomValue()"
-                class="edit-button">
-                <span>+</span>
-            </button>
-            <button 
-                (click)="removeCustomValue()"
-                class="edit-button">
-                <span>-</span>
-            </button>
-        </div>
-        <app-histogram 
-            #histogram
-            [minValue]="minValue"
-            [maxValue]="maxValue"
-            [values]="values"
-            (historgramReady)="onHistogramReady($event)"
-        ></app-histogram>
-        <div class="code-panel" *ngIf="codePanelOpened">
-            <button 
-                (click)="toggleCodePanel()" 
-                class="closeCodePanel">
-                X
-            </button>
-            <div class="code-explanation-wrapper">
-                <div class="code-explanation-heading">{{selectedAlgorithm}}</div>
-                <pre class="code-explanation wrap-pre-tag-text"
-                    [innerHtml] = "algorithmExplanation"
-                >
-                </pre>
-            </div>
-            <div class="code-wrapper">
-                <pre>
-                <code class="code" 
-                    [innerHTML]="algorithmCode">
-                </code>
-                </pre>
-            </div>
-        </div>
-    </div>
-    <div class="glow-footer">
-        while( !(success = try()));
-    </div>
-</div>
\ No newline at end of file
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.sass b/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.sass
deleted file mode 100644
index 658f35a..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.sass
+++ /dev/null
@@ -1,8 +0,0 @@
-.submain-container
-    .toolbar
-        ::ng-deep .mat-accent .mat-slider-thumb 
-            background-color: #D168FF 
-        ::ng-deep .mat-accent .mat-slider-thumb-label 
-            background-color: #D168FF 
-        ::ng-deep .mat-accent .mat-slider-track-fill 
-            background-color: #D168FF 
\ No newline at end of file
diff --git a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.ts b/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.ts
deleted file mode 100644
index 151f117..0000000
--- a/src/app/algorithms/sorting-algorithms/sorting-algorithms/sorting-algorithms.component.ts
+++ /dev/null
@@ -1,449 +0,0 @@
-import { Component, OnInit, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
-import { HistogramComponent } from '../../../shared/components/histogram/histogram.component';
-import { BoardColoringParams } from '../../../models/board-coloring-params';
-import { SortingAlgorithms } from './sorting-algorithms-code';
-import { HighlightService } from '../../../services/highlight.service';
-import { Util } from '../../../shared/util';
-
-@Component({
-  selector: 'app-sorting-algorithms',
-  templateUrl: './sorting-algorithms.component.html',
-  styleUrls: ['./sorting-algorithms.component.sass']
-})
-
-export class SortingAlgorithmsComponent implements OnInit, AfterViewInit {
-  algorithms: any = [];
-  algorithmNames: string[] = [ 'Bubble Sort', 'Insertion Sort', 'Quick Sort', 'Merge Sort', 'Heap Sort', 'Selection Sort' ];
-  selectedAlgorithm: string = this.algorithmNames[0];
-  samplesCount = 20;
-  maxSamplesCount = 30;
-  minValue = 1;
-  maxValue = 100;
-  values: number[] = [];
-  speed = 700;
-  maxSpeed = 1500;
-  visualizing = false;
-  customPanelOpened = false;
-  customValue: number = null;
-  codePanelOpened = false;
-
-  board: HTMLCanvasElement;
-
-  sortingAlgorithms: SortingAlgorithms = new SortingAlgorithms();
-  algorithmCode = '';
-  algorithmExplanation = '';
-
-  @ViewChild('histogram', {static: false}) histogram: HistogramComponent;
-  constructor(
-    private highlightService: HighlightService
-  ) {
-    this.algorithms = {
-      'Bubble Sort': {name: 'Bubble Sort', run: () => this.bubbleSort(this.values), code: this.sortingAlgorithms.bubbleSortCode, explanation: this.sortingAlgorithms.bubbleSortExplanation},
-      'Insertion Sort': {name: 'Insertion Sort', run: () => this.insertionSort(this.values), code: this.sortingAlgorithms.insertionSortCode, explanation: this.sortingAlgorithms.insertionSortExplanation},
-      'Quick Sort': {name: 'Quick Sort', run: () => this.quickSort(this.values), code: this.sortingAlgorithms.quickSortCode, explanation: this.sortingAlgorithms.quickSortExplanation},
-      'Merge Sort': {name: 'Merge Sort', run: () => this.mergeSort(this.values), code: this.sortingAlgorithms.mergeSortCode, explanation: this.sortingAlgorithms.mergeSortExplanation},
-      'Heap Sort': {name: 'Heap Sort', run: () => this.heapSort(this.values), code: this.sortingAlgorithms.heapSortCode, explanation: this.sortingAlgorithms.heapSortExplanation},
-      'Selection Sort': {name: 'Selection Sort', run: () => this.selectionSort(this.values), code: this.sortingAlgorithms.selectionSortCode, explanation: this.sortingAlgorithms.selectionSortExplanation},
-    };
-   }
-
-  ngOnInit() {
-    for (let rep = 1; rep <= this.samplesCount; rep++) {
-      this.values.push(Math.floor(Math.random() * (this.maxValue - this.minValue + 1) + this.minValue));
-    }
-  }
-
-  ngAfterViewInit() {
-  }
-
-  onHistogramReady($event: HTMLCanvasElement) {
-    this.board = $event;
-    const minBarWidth = 7;
-    this.maxSamplesCount = Math.ceil((this.board.width - 4) / (minBarWidth + 2));
-  }
-
-  updateSpeed(event) {
-    this.speed = event.value;
-  }
-
-  updateSamplesCount(event) {
-    this.customPanelOpened = false;
-    this.samplesCount = event.value;
-    this.randomize();
-  }
-
-  updateMaxValue(event) {
-    this.customPanelOpened = false;
-    this.maxValue = event.value;
-    this.randomize();
-  }
-
-  addCustomValue() {
-    if (this.customValue === null || this.customValue <= 0 || this.customValue > 999) {return; }
-    this.values.push(this.customValue);
-    this.histogram.adjustBoardParams();
-    this.histogram.drawBoard();
-    this.customValue = null;
-  }
-
-  removeCustomValue() {
-    if (this.customValue === null || this.customValue <= 0 || this.customValue > 999) {return; }
-    const index = this.values.findIndex((value) => value === this.customValue);
-    if (index >= 0) {
-      this.values.splice(index, 1);
-    }
-    this.histogram.drawBoard();
-  }
-
-  toggleCustomPanel() {
-    this.customPanelOpened = !this.customPanelOpened;
-    this.values = [];
-    this.histogram.boardContext.clearRect(0, 0, this.board.width, this.board.height);
-    if (!this.customPanelOpened) {
-      this.randomize();
-    }
-  }
-
-  toggleCodePanel() {
-    this.codePanelOpened = !this.codePanelOpened;
-    this.algorithmCode = this.highlightService.highlightCode(this.algorithms[this.selectedAlgorithm].code, 'cpp');
-    this.algorithmExplanation = this.algorithms[this.selectedAlgorithm].explanation;
-  }
-
-  randomize() {
-    this.customPanelOpened = false;
-    this.values = [];
-    for (let rep = 1; rep <= this.samplesCount; rep++) {
-      this.values.push(Math.floor(Math.random() * (this.maxValue - this.minValue + 1) + this.minValue));
-    }
-    this.histogram.values = this.values;
-    this.histogram.adjustBoardParams();
-    this.histogram.drawBoard();
-  }
-
-  shuffleValues() {
-    const newValues = [];
-    for (let rep=1;rep<=this.values.length;rep++) {
-      let curValue: number;
-      do {
-        curValue = Math.floor(Math.random() * (this.values.length));
-      }while (newValues.findIndex(value => value === curValue) !== -1);
-      newValues.push(curValue);
-    }
-    for (let ind = 0; ind < this.values.length; ind++) {
-      newValues[ind] = this.values[newValues[ind]];
-    }
-    this.values = newValues;
-    this.histogram.values = this.values;
-    this.histogram.drawBoard();
-  }
-
-  async eachStep(array: number[], params: BoardColoringParams) {
-    if (!this.visualizing) {return false; }
-    this.values = array;
-    this.histogram.drawBoard(params);
-    await Util.delay(this.maxSpeed - this.speed);
-    return true;
-  }
-
-  async toggleVisualize() {
-    if (this.visualizing) {
-      this.visualizing = false;
-      return;
-    }
-    this.algorithms[this.selectedAlgorithm].run();
-  }
-
-  // bubble Sort
-  async bubbleSort(array: number[]) {
-    this.visualizing = true;
-    for (let ind1 = 0; ind1 < array.length; ind1++) {
-      let swapped = false;
-      for (let ind2 = 0; ind2 < array.length - ind1 - 1; ind2++) {
-        const params: BoardColoringParams = new BoardColoringParams();
-        params.ind1 = ind2;
-        params.ind2 = ind2 + 1;
-        params.swapped = false;
-        if (! await this.eachStep(array, params)) {return; }
-        if ( array[ind2] > array[ind2 + 1]) {
-          swapped = true;
-          array[ind2 + 1] = [array[ind2], array[ind2] = array[ind2 + 1]][0];
-          params.swapped = true;
-          if (! await this.eachStep(array, params)) {return; }
-        }
-      }
-      if (!swapped) {break; }
-    }
-    this.visualizing = false;
-  }
-  // bubble sort end
-
-  // quick sort code begin
-  async quickSort(items: number[]) {
-    this.visualizing = true;
-    await this.quickSortUtil(items, 0, items.length - 1);
-    this.visualizing = false;
-  }
-
-  async quickSortUtil(items: number[], left: number, right: number) {
-    let index;
-    if (left < right) {
-      index = await this.partition(items, left, right);
-      await this.quickSortUtil(items, left, index - 1);
-      await this.quickSortUtil(items, index + 1, right);
-    }
-    return items;
-  }
-
-  async partition(items: number[], left: number, right: number) {
-    let pivot   = items[right],
-        i       = left - 1,
-        j       = left,
-        ind3 = right;
-
-    const params: BoardColoringParams = new BoardColoringParams();
-    params.ind3 = ind3;
-    params.leftBoundary = left; params.rightBoundary = right;
-    for (j = left; j <= right - 1; j++) {
-      params.ind1 = i + 1; params.ind2 = j; params.swapped = false;
-      if (! await this.eachStep(items, params)) {return; }
-      if (items[j] < pivot) {
-        i++;
-        items[i] = [items[j], items[j] = items[i]][0];
-        if (i !== j) {
-          params.ind1 = i; params.ind2 = j; params.swapped = true;
-          if (! await this.eachStep(items, params)) {return; }
-        }
-      }
-    }
-
-    items[i + 1] = [items[ind3], items[ind3] = items[i + 1]][0];
-
-    params.ind1 = i + 1; params.ind2 = ind3; params.swapped = false;
-    if (! await this.eachStep(items, params)) {return; }
-    if (i + 1 !== ind3) {
-      params.swapped = true;
-      if (! await this.eachStep(items, params)) {return; }
-    }
-    return i + 1;
-  }
-  // quick sort end
-
-  // merge sort
-  async mergeSort(array: number[]) {
-    this.visualizing = true;
-    await this.mergeSortUtil(array, 0, this.values.length - 1);
-    this.visualizing = false;
-  }
-
-  async mergeSortUtil(arr: number[], l: number, r: number) {
-    if (!this.visualizing) {return arr; }
-    if (l < r) {
-      const m = Math.floor(l + (r - l) / 2);
-
-      const params: BoardColoringParams = new BoardColoringParams();
-      params.swapped = false;
-      params.leftBoundary = l;
-      params.rightBoundary = m;
-      params.leftBoundary2 = m + 1;
-      params.rightBoundary2 = r;
-      if (! await this.eachStep(arr, params)) {return arr; }
-      arr = await this.mergeSortUtil(arr, l, m);
-      arr = await this.mergeSortUtil(arr, m + 1, r);
-      return await this.merge(arr, l, m, r);
-    }
-    return arr;
-  }
-
-  async merge(arr: number[], l: number, m: number, r: number) {
-    if (!this.visualizing) {return; }
-    let i, j, k;
-    const n1 = m - l + 1;
-    const n2 =  r - m;
-    const L: number[] = [];
-    const R: number[] = [];
-
-    for (i = 0; i < n1; i++) {
-      L.push(arr[l + i]);
-    }
-    for (j = 0; j < n2; j++) {
-      R.push(arr[m + 1 + j]);
-    }
-
-    const params: BoardColoringParams = new BoardColoringParams();
-    params.swapped = false;
-    params.leftBoundary = l;
-    params.rightBoundary = m;
-    params.leftBoundary2 = m + 1;
-    params.rightBoundary2 = r;
-    i = 0; // Initial index of first subarray
-    j = 0; // Initial index of second subarray
-    k = l; // Initial index of merged subarray
-    while (i < n1 && j < n2) {
-      params.ind1 = l + i;
-      params.ind2 = m + 1 + j;
-      params.ind3 = k;
-      if (! await this.eachStep(arr, params)) {return; }
-      if (L[i] <= R[j]) {
-        arr[k] = L[i]; i++;
-        if (! await this.eachStep(arr, params)) {return; }
-        params.ind1 = l + i;
-      } else {
-        arr[k] = R[j]; j++;
-        if (! await this.eachStep(arr, params)) {return; }
-        params.ind2 = m + 1 + j;
-      }
-      k++;
-    }
-    while (i < n1) {
-      arr[k] = L[i]; i++; k++;
-      if (! await this.eachStep(arr, params)) {return; }
-      params.ind1 = l + i;
-    }
-    while (j < n2) {
-      arr[k] = R[j]; j++; k++;
-      if (! await this.eachStep(arr, params)) {return; }
-      params.ind2 = m + 1 + j;
-    }
-    return arr;
-  }
-  // merge sort end
-
-  // Insertion sort
-  async insertionSort(array: number[]) {
-    this.visualizing = true;
-    const params: BoardColoringParams = new BoardColoringParams();
-    let key: number;
-    for (let ind1 = 0; ind1 < array.length; ++ind1) {
-      if (!this.visualizing) {return; }
-      key = array[ind1];
-      let ind2 = ind1 - 1;
-      params.ind1 = ind2;
-      params.ind2 = ind2 + 1;
-      params.swapped = false;
-      if (! await this.eachStep(array, params)) {return; }
-      while (ind2 >= 0 && array[ind2] > key) {
-
-        if (!this.visualizing) {return; }
-        array[ind2 + 1] = array[ind2];
-        array[ind2] = key;
-
-        params.swapped = true;
-        if (! await this.eachStep(array, params)) {return; }
-
-        ind2--;
-
-        params.ind1 = ind2;
-        params.ind2 = ind2 + 1;
-        params.swapped = false;
-        if (! await this.eachStep(array, params)) {return; }
-      }
-      // array[ind2+1] = key;
-    }
-    this.visualizing = false;
-  }
-  // Insertion sort end
-
-  // Selection sort
-async selectionSort(arr: number[]) {
-  const params: BoardColoringParams = new BoardColoringParams();
-  params.swapped = false;
-  this.visualizing = true;
-	 for (let i = 0; i < arr.length - 1; i++) {
-    let min_idx = i;
-    params.ind1 = i;
-    params.ind3 = min_idx;
-    for (let j = i + 1; j < arr.length; j++) {
-      if (arr[j] < arr[min_idx]) {
-        min_idx = j;
-      }
-      params.ind3 = min_idx;
-      params.ind2 = j;
-      if (! await this.eachStep(arr, params)) {return; }
-    }
-    if (arr[i] != arr[min_idx]) {
-      arr[i] = [arr[min_idx], arr[min_idx] = arr[i]][0];
-      params.swapped = true;
-      params.ind3 = null;
-      params.ind2 = min_idx;
-      if (! await this.eachStep(arr, params)) {return; }
-      params.swapped = false;
-    }
-	}
-  this.visualizing = false;
-}
-  // Selection sort end
-
-  // Heap sort
-  async heapify(arr: number[], n: number, i: number) {
-    const params: BoardColoringParams = new BoardColoringParams();
-
-    let largest: number = i; // Initialize largest as root
-    const l: number = 2 * i + 1; // left = 2*i + 1
-    const r: number = 2 * i + 2; // right = 2*i + 2
-
-    params.ind3 = largest;
-    params.ind1 = l;
-    params.ind2 = r;
-    if (l < n && r < n) {
-      if (! await this.eachStep(arr, params)) { return false;
-    } }
-    // If left child is larger than root
-    if (l < n && arr[l] > arr[largest]) {
-      largest = l;
-    }
-
-    // If right child is larger than largest so far
-    if (r < n && arr[r] > arr[largest]) {
-      largest = r;
-    }
-
-    // If largest is not root
-    if (largest != i) {
-      arr[i] = [arr[largest], arr[largest] = arr[i]][0];
-
-      params.ind3 = null;
-      params.ind1 = i;
-      params.ind2 = largest;
-      params.swapped = true;
-      if (! await this.eachStep(arr, params)) { return false; }
-      params.swapped = false;
-
-      // Recursively heapify the affected sub-tree
-      if (! await this.heapify(arr, n, largest)) { return false; }
-    }
-    return true;
-  }
-
-  // main function to do heap sort
-  async heapSort(arr: number[]) {
-    const n: number = arr.length;
-    const params: BoardColoringParams = new BoardColoringParams();
-    this.visualizing = true;
-    // Build heap (rearrange array)
-    for (let i = Math.floor(n / 2) - 1; i >= 0; i--) {
-      if (! await this.heapify(arr, n, i)) { return; }
-    }
-
-    // One by one extract an element from heap
-    for (let i = n - 1; i >= 0; i--) {
-      params.ind1 = 0;
-      params.ind2 = i;
-      if (! await this.eachStep(arr, params)) {return; }
-      // Move current root to end
-      arr[i] = [arr[0], arr[0] = arr[i]][0];
-
-      params.ind1 = 0;
-      params.ind2 = i;
-      params.swapped = true;
-      if (! await this.eachStep(arr, params)) {return; }
-      params.swapped = false;
-
-      // call max heapify on the reduced heap
-      if (! await this.heapify(arr, i, 0)) { return; }
-    }
-    this.visualizing = false;
-  }
-
-  // Heap sort end
-}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
deleted file mode 100644
index 9e425d0..0000000
--- a/src/app/app-routing.module.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { NgModule } from '@angular/core';
-import { Routes, RouterModule } from '@angular/router';
-import { HomeComponent } from './home/home.component';
-
-
-const routes: Routes = [
-  {path: '', component: HomeComponent},
-  {path: 'sorting-algorithms', loadChildren: () => import('./algorithms/sorting-algorithms/sorting-algorithms.module').then(m => m.SortingAlgorithmsModule)},
-  {path: 'graph-algorithms', loadChildren: () => import('./algorithms/graph-algorithms/graph-algorithms.module').then(m => m.GraphAlgorithmsModule)},
-];
-
-@NgModule({
-  imports: [RouterModule.forRoot(routes)],
-  exports: [RouterModule]
-})
-export class AppRoutingModule { }
diff --git a/src/app/app.component.html b/src/app/app.component.html
deleted file mode 100644
index 3bf08fb..0000000
--- a/src/app/app.component.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="main-container">
-  <router-outlet></router-outlet>
-</div>
-<app-notification></app-notification>
\ No newline at end of file
diff --git a/src/app/app.component.sass b/src/app/app.component.sass
deleted file mode 100644
index e69de29..0000000
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
deleted file mode 100644
index 28b5a03..0000000
--- a/src/app/app.component.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
-  selector: 'app-root',
-  templateUrl: './app.component.html',
-  styleUrls: ['./app.component.sass']
-})
-export class AppComponent {}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
deleted file mode 100644
index b3540aa..0000000
--- a/src/app/app.module.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { BrowserModule } from '@angular/platform-browser';
-import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
-import { NgModule } from '@angular/core';
-import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
-import { FormsModule } from '@angular/forms';
-
-import { AppRoutingModule } from './app-routing.module';
-import { AppComponent } from './app.component';
-import { HomeComponent } from './home/home.component';
-import { NotificationComponent } from './notification/notification.component';
-
-@NgModule({
-  declarations: [
-    AppComponent,
-    HomeComponent,
-    NotificationComponent,
-  ],
-  imports: [
-    BrowserModule,
-    AppRoutingModule,
-    NgbModule,
-    FormsModule,
-    BrowserAnimationsModule,
-  ],
-  providers: [],
-  bootstrap: [AppComponent]
-})
-export class AppModule { }
diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html
deleted file mode 100644
index 19299c1..0000000
--- a/src/app/home/home.component.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="home-container">
-  <div class="header">
-    <div class="text glow">
-      <span class="rotate-text">Algorithms Visualizer</span>
-    </div>
-    <div #headerCanvasWrapper class="header-canvas-wrapper">
-      <canvas #headerCanvas id="headerCanvas"></canvas>
-    </div>
-  </div>
-  <div class="section">
-    <div class="col-md-12 row">
-      <div class="card-wrapper col-md-4 col-sm-6" [routerLink]="['sorting-algorithms']">
-        <div class="card">
-          <span>Sorting Algorithms</span>
-        </div>
-      </div>
-      <div class="card-wrapper col-md-4 col-sm-6" [routerLink]="['graph-algorithms']">
-        <div class="card">
-          <span>Graph Algorithms</span>
-        </div>
-      </div>
-      <div class="card-wrapper col-md-4 col-sm-6" [routerLink]="['']">
-        <div class="card">
-          <span>Misc</span>
-        </div>
-      </div>
-    </div>
-  </div>
-  <div class="glow-footer">
-      while(noSuccess)
-      &#123;
-        tryAgain();
-        if(Dead)
-          break;
-      &#125;
-  </div>
-<div>
diff --git a/src/app/home/home.component.sass b/src/app/home/home.component.sass
deleted file mode 100644
index fc44498..0000000
--- a/src/app/home/home.component.sass
+++ /dev/null
@@ -1,60 +0,0 @@
-@import ../shared/styles/mixins
-
-.home-container
-    padding: 0px
-    margin: 0px
-    width: 100%
-    .header
-        width: 100%
-        height: 100vh
-        background-color: #14141f 
-        background-image: url("../../assets/home-header-image.jpg")
-        background-size: cover
-        background-position: center
-        background-repeat: no-repeat 
-        .text
-            position: absolute
-            right: 10px 
-            top: 20px 
-            color: white
-            float: right
-            text-align: end
-            padding: 20px
-            font-size: 40px
-            font-family: 'Tangerine', cursive
-            font-weight: bold
-            @include glow('pinkglow',#e60073,#ff4da6)
-            @include glow("blueglow",#014940,#0293a8)
-            z-index: 100
-            &:hover
-                .rotate-text
-                    display: inline-block
-                    transform-origin: top left
-                    animation: rotateText 1.5s ease-in-out infinite alternate
-                    @keyframes rotateText
-                        0%
-                            transform: rotate(8deg)
-                        100%
-                            transform: rotate(120deg)
-
-        .header-canvas-wrapper
-            position: absolute
-            top: 0px
-            left: 0px
-            width: 100%
-            height: 100%
-    .section
-        background-color: #0d0d26
-        padding: 20px 10px 40px 10px
-        .card-wrapper
-            padding: 10px
-            .card
-                border: 1px solid #e6e6e6
-                height: 50px
-                cursor: pointer
-                box-shadow: 0px 0px 10px grey 
-                font-family: cursive 
-                span
-                    margin: auto
-            .card:hover
-                box-shadow: 0px 0px 14px #7fe6f5
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts
deleted file mode 100644
index 7ceb6d4..0000000
--- a/src/app/home/home.component.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, HostListener } from '@angular/core';
-import { HomeParticle } from '../models/home-particle';
-
-@Component({
-  selector: 'app-home',
-  templateUrl: './home.component.html',
-  styleUrls: ['./home.component.sass']
-})
-export class HomeComponent implements OnInit, AfterViewInit {
-
-  constructor() { }
-
-  @ViewChild('headerCanvas', {static: false}) headerCanvasRef: ElementRef;
-  @ViewChild('headerCanvasWrapper', {static: false}) headerCanvasWrapperRef: ElementRef;
-  headerCanvasContext: CanvasRenderingContext2D;
-  headerCanvas: HTMLCanvasElement;
-
-  // header canvas animation begins
-  particles: HomeParticle[] = [];
-  particlesCount: number;
-  maxRadius = 8;
-  minRadius = 5;
-  minDistanceBetweenParticles = 20;
-
-  @HostListener('window:resize', ['$event'])
-  onWindowResize(event) {
-    this.headerCanvas.width = (this.headerCanvasWrapperRef.nativeElement as Element).clientWidth;
-    this.headerCanvas.height = (this.headerCanvasWrapperRef.nativeElement as Element).clientHeight;
-    this.adjustHeaderCanvasParams();
-    this.initParticles();
-    // this.drawHomeCanvas();
-  }
-
-  ngOnInit() {
-  }
-
-  ngAfterViewInit() {
-    this.headerCanvas = this.headerCanvasRef.nativeElement;
-    this.headerCanvasContext = this.headerCanvas.getContext('2d');
-    this.headerCanvas.width = (this.headerCanvasWrapperRef.nativeElement as Element).clientWidth;
-    this.headerCanvas.height = (this.headerCanvasWrapperRef.nativeElement as Element).clientHeight;
-    this.adjustHeaderCanvasParams();
-    this.initParticles();
-    // this.drawHomeCanvas();
-  }
-
-  adjustHeaderCanvasParams() {
-    this.particlesCount = Math.floor(this.headerCanvas.width / 50) * Math.floor(this.headerCanvas.height / 80);
-  }
-  // colors: string[] = ['red','blue','green','yellow','black','grey']
-
-  initParticles() {
-    this.particles = [];
-    for (let rep = 1; rep <= this.particlesCount; ++rep) {
-      let particle: HomeParticle;
-      do {
-        particle = {
-          radius: Math.floor(Math.random() * (this.maxRadius - this.minRadius + 1) + this.minRadius),
-          x: Math.floor(Math.random() * (this.headerCanvas.width - 2 * this.maxRadius)) + this.maxRadius,
-          y: Math.floor(Math.random() * (this.headerCanvas.height - 2 * this.maxRadius)) + this.maxRadius,
-          color: 'rgba(255,255,255,0.5)',
-        };
-      }while (this.particles.some(particle1 => this.doesParticlesAreNearby(particle1, particle)));
-      this.particles.push(particle);
-    }
-  }
-
-  doesParticlesAreNearby(particle1: HomeParticle, particle2: HomeParticle): boolean {
-    const d =  Math.sqrt( Math.pow(particle1.x - particle2.x, 2) + Math.pow(particle1.y - particle2.y, 2));
-    return (d < particle1.radius + particle2.radius + this.minDistanceBetweenParticles ? true : false);
-  }
-
-  drawHomeCanvas() {
-    this.headerCanvasContext.clearRect(0, 0, this.headerCanvas.width, this.headerCanvas.height);
-    this.particles.forEach(particle => {
-      this.headerCanvasContext.beginPath();
-      this.headerCanvasContext.shadowBlur = 10;
-      this.headerCanvasContext.shadowColor = particle.color;
-      this.headerCanvasContext.fillStyle = particle.color;
-      this.headerCanvasContext.arc(particle.x, particle.y, particle.radius, 0, 2 * Math.PI);
-      this.headerCanvasContext.fill();
-      this.headerCanvasContext.closePath();
-    });
-  }
-
-  // header canvas animation code ends
-}
diff --git a/src/app/models/board-coloring-params.ts b/src/app/models/board-coloring-params.ts
deleted file mode 100644
index 2110774..0000000
--- a/src/app/models/board-coloring-params.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export class BoardColoringParams {
-    ind1: number = null;    // cmp INd
-    ind2: number = null;   // cmp Ind
-    ind3: number = null;  // pivot Ind
-    swapped = false;
-    leftBoundary: number = null;
-    rightBoundary: number = null;
-    leftBoundary2: number = null;
-    rightBoundary2: number = null;
-}
diff --git a/src/app/models/graph.ts b/src/app/models/graph.ts
deleted file mode 100644
index 6173d63..0000000
--- a/src/app/models/graph.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-
-export class GraphNode {
-    x: number;
-    y: number;
-    radius: number;
-    value: number;
-    edges: GraphEdge[] = [];
-
-    isRoot = false;
-    backgroudColor =  '#0d0d26';
-    color = 'white';
-    borderColor = 'white';
-    shadowBlur = 6;
-    shodowColor = 'grey';
-    font = 'normal 12px Verdana';
-
-    visited = false;
-    persistVisualProperties = false;
-    visitedAnimationFrame = 0;
-
-    visitedAnimationColors: string[] = [
-        '#e66750',
-        '#11b1bd',
-       // '#03ad9c','#03ad7d','#03ad58',
-       // '#03ad58',
-       '#03943b'
-    ];
-
-    constructor() {
-    }
-
-    resetMarkerProperties() {
-        this.isRoot = false;
-        this.visited = false;
-        this.persistVisualProperties = false;
-        this.visitedAnimationFrame = 0;
-    }
-
-    resetVisualProperties() {
-        this.backgroudColor =  '#0d0d26';
-        this.color = 'white';
-        this.borderColor = 'white';
-        this.shadowBlur = 6;
-        this.shodowColor = 'grey';
-        this.font = 'normal 12px Verdana';
-    }
-
-    visitedAnimationNextFrame() {
-        if (this.isRoot) {
-            this.color = 'white';
-            this.backgroudColor = 'red';
-            return;
-        }
-        if (this.visitedAnimationFrame >= this.visitedAnimationColors.length) {return; }
-        this.backgroudColor = this.visitedAnimationColors[this.visitedAnimationFrame++];
-        this.color = 'white';
-    }
-
-    doesEdgeExists(edge: GraphEdge) {
-        return this.edges.includes(edge);
-    }
-}
-
-export class GraphEdge {
-    node: GraphNode;
-
-    isDirected = false;
-    color = 'rgba(255,255,255,0.1)';
-    arrowColor = 'rgba(255,255,255,0.3)';
-
-    constructor(node: GraphNode) {
-        this.node = node;
-    }
-}
diff --git a/src/app/models/home-particle.ts b/src/app/models/home-particle.ts
deleted file mode 100644
index c57b517..0000000
--- a/src/app/models/home-particle.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export class HomeParticle {
-    x: number;
-    y: number;
-    radius: number;
-    color: string;
-}
diff --git a/src/app/notification/notification.component.html b/src/app/notification/notification.component.html
deleted file mode 100644
index 59a609b..0000000
--- a/src/app/notification/notification.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<div class="notifications-wrapper">
-    <div *ngFor="let message of notificationService.messages" class="notification">
-        {{message}}
-        <button 
-            (click)="closeTopNotification()" 
-            class="close-button">
-            X
-        </button>
-    </div>
-</div>
\ No newline at end of file
diff --git a/src/app/notification/notification.component.sass b/src/app/notification/notification.component.sass
deleted file mode 100644
index 8fbea57..0000000
--- a/src/app/notification/notification.component.sass
+++ /dev/null
@@ -1,41 +0,0 @@
-.notifications-wrapper
-    .notification
-        position: fixed
-        top: 100px
-        right: -276px
-        width: 300px
-        height: 100px
-        padding: 10px
-        color: white
-        border-left: 20px solid #1a1358f0 
-        background-color: rgba(0,0,0,0.9)
-        border-radius: 6px
-        box-shadow: 0px 0px 10px grey
-        animation: notificationAnimation 3s ease 
-        @keyframes notificationAnimation
-            0%
-                right: -300px 
-            20%
-                right: 10px 
-            80%
-                right: 10px
-            90%
-                right: 30px
-            100%
-                right: -280px 
-
-        &:hover
-            right: 0px
-        .close-button
-            font-size: 16px
-            float: right
-            background-color: rgba(0,0,0,0.7)
-            color: white
-            border: 1px solid white
-            border-radius: 6px
-            padding: 8px 10px
-            &:hover
-                background-color: white
-                color: black
-                font-weight: bold
-    
\ No newline at end of file
diff --git a/src/app/notification/notification.component.ts b/src/app/notification/notification.component.ts
deleted file mode 100644
index da7d62d..0000000
--- a/src/app/notification/notification.component.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { NotificationService } from '../services/notification.service';
-
-@Component({
-  selector: 'app-notification',
-  templateUrl: './notification.component.html',
-  styleUrls: ['./notification.component.sass']
-})
-export class NotificationComponent implements OnInit {
-
-  constructor(
-    public notificationService: NotificationService
-  ) { }
-
-  ngOnInit() {
-  }
-
-  closeTopNotification() {
-    this.notificationService.popMessage();
-  }
-
-}
diff --git a/src/app/services/highlight.service.ts b/src/app/services/highlight.service.ts
deleted file mode 100644
index 53a4c6f..0000000
--- a/src/app/services/highlight.service.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Injectable } from '@angular/core';
-
-import * as prism from 'prismjs';
-import 'prismjs/components/prism-c';
-import 'prismjs/components/prism-cpp';
-
-@Injectable({
-    providedIn: 'root',
-})
-export class HighlightService {
-    private languages: any = {
-        cpp: prism.languages.cpp,
-    };
-    highlightCode(code: string, lang: string): string {
-        return prism.highlight(code, this.languages[lang]);
-    }
-}
diff --git a/src/app/services/notification.service.ts b/src/app/services/notification.service.ts
deleted file mode 100644
index 1f85f11..0000000
--- a/src/app/services/notification.service.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({
-  providedIn: 'root'
-})
-export class NotificationService {
-
-  messages: string[] = [];
-  constructor() { }
-
-  addMesage(message: string) {
-    this.messages.push(message);
-  }
-
-  popMessage() {
-    this.messages.splice(0, 1);
-  }
-}
diff --git a/src/app/shared/components/graph/graph.component.html b/src/app/shared/components/graph/graph.component.html
deleted file mode 100644
index 41a0383..0000000
--- a/src/app/shared/components/graph/graph.component.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<div id="board-wrapper" #boardWrapper>
-    <canvas #board id="board"></canvas>
-</div>
-<div class="values-wrapper">
-
-</div>
diff --git a/src/app/shared/components/graph/graph.component.sass b/src/app/shared/components/graph/graph.component.sass
deleted file mode 100644
index 80bb332..0000000
--- a/src/app/shared/components/graph/graph.component.sass
+++ /dev/null
@@ -1,5 +0,0 @@
-#board-wrapper
-    width: 100%
-    height: 98vh 
-    border: 2px solid white
-    border-radius: 6px
\ No newline at end of file
diff --git a/src/app/shared/components/graph/graph.component.ts b/src/app/shared/components/graph/graph.component.ts
deleted file mode 100644
index 7c60a96..0000000
--- a/src/app/shared/components/graph/graph.component.ts
+++ /dev/null
@@ -1,145 +0,0 @@
-import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
-import { GraphNode } from 'src/app/models/graph';
-
-@Component({
-  selector: 'app-graph',
-  templateUrl: './graph.component.html',
-  styleUrls: ['./graph.component.sass']
-})
-export class GraphComponent implements OnInit {
-
-  public nodes: GraphNode[] = [];
-  @Output() graphReady = new EventEmitter<HTMLCanvasElement>();
-  @Output() nodeSelected = new EventEmitter<GraphNode>();
-
-  @ViewChild('board', {static: false}) public  boardElementRef: ElementRef;
-  @ViewChild('boardWrapper', {static: false}) public boardWrapperElementRef: ElementRef;
-  boardContext: CanvasRenderingContext2D;
-  private board: HTMLCanvasElement;
-
-  constructor() { }
-
-  onMouseMove(event: MouseEvent) {
-    const rect = this.board.getBoundingClientRect();
-    if (event.clientX < rect.left || event.clientX > rect.right || event.y < rect.top || event.y > rect.bottom) {return; }
-    const tempNode = new GraphNode();
-    tempNode.x = event.clientX - rect.left;
-    tempNode.y = event.clientY - rect.top;
-    this.nodes.forEach(node => {
-      if (node.persistVisualProperties) {return; }
-      if (this.getDistanceOfNodes(node, tempNode) <= node.radius) {
-        node.backgroudColor = 'white';
-        node.color = 'black';
-      } else {
-          node.resetVisualProperties();
-      }
-    });
-    this.drawBoard();
-  }
-
-  onMouseClick(event: MouseEvent) {
-    const rect = this.board.getBoundingClientRect();
-    if (event.clientX < rect.left || event.clientX > rect.right || event.y < rect.top || event.y > rect.bottom) {return; }
-    const tempNode = new GraphNode();
-    tempNode.x = event.clientX - rect.left;
-    tempNode.y = event.clientY - rect.top;
-    this.nodes.forEach(node => {
-      node.resetMarkerProperties();
-      node.resetVisualProperties();
-      if (this.getDistanceOfNodes(node, tempNode) <= node.radius) {
-        node.backgroudColor = 'white';
-        node.color = 'black';
-        this.nodeSelected.emit(node);
-        node.persistVisualProperties = true;
-      }
-    });
-    this.drawBoard();
-  }
-
-  adjustBoardParams() {
-    const boardWrapper: Element = this.boardWrapperElementRef.nativeElement;
-    this.board.width = boardWrapper.clientWidth;
-    this.board.height = boardWrapper.clientHeight;
-  }
-
-  drawNodes() {
-    this.nodes.forEach(node => {
-      if (node.visited) {
-        node.visitedAnimationNextFrame();
-      }
-      this.boardContext.beginPath();
-      this.boardContext.strokeStyle = node.borderColor;
-      this.boardContext.fillStyle = node.backgroudColor;
-      this.boardContext.shadowBlur = node.shadowBlur;
-      this.boardContext.shadowColor = node.shodowColor;
-      this.boardContext.arc(node.x, node.y, node.radius, 0, 2 * Math.PI);
-      this.boardContext.stroke();
-      this.boardContext.fill();
-      this.boardContext.fillStyle = node.color;
-      this.boardContext.font = node.font;
-      this.boardContext.fillText(node.value.toString(), node.x - node.radius / 2 + 3, node.y + 4);
-      this.boardContext.closePath();
-    });
-  }
-
-  drawEdges() {
-    this.nodes.forEach(node1 => {
-      node1.edges.forEach( edge => {
-        this.boardContext.beginPath();
-        this.boardContext.shadowBlur = 3;
-        this.boardContext.strokeStyle = edge.color;
-        this.boardContext.moveTo(node1.x , node1.y);
-        this.boardContext.lineTo(edge.node.x, edge.node.y);
-        this.boardContext.stroke();
-        this.boardContext.closePath();
-
-        if (edge.isDirected) {
-          const theta = Math.atan(Math.abs(node1.y - edge.node.y) / Math.abs(node1.x - edge.node.x));
-          const alpha = Math.PI / 9;
-          const sideLen = 8;
-          const xDirection = node1.x <  edge.node.x ? 1 : -1;
-          const yDirection = node1.y <  edge.node.y ? 1 : -1;
-          const x  = edge.node.x - xDirection * edge.node.radius * Math.cos(theta);
-          const y  = edge.node.y - yDirection * edge.node.radius * Math.sin(theta);
-          this.boardContext.beginPath();
-          this.boardContext.moveTo(x, y);
-          this.boardContext.fillStyle = edge.arrowColor;
-          this.boardContext.lineTo(x - xDirection * sideLen * Math.cos((theta - alpha)), y - yDirection * sideLen * Math.sin((theta - alpha)));
-          this.boardContext.lineTo(x + xDirection * sideLen * Math.sin(alpha - Math.PI / 2 + theta), y  - yDirection * sideLen * Math.cos(alpha - Math.PI / 2 + theta));
-          this.boardContext.stroke();
-          this.boardContext.lineTo(x, y);
-          this.boardContext.fill();
-          this.boardContext.stroke();
-          this.boardContext.closePath();
-        }
-      });
-    });
-  }
-
-  drawBoard() {
-    this.boardContext.clearRect(0, 0, this.board.width, this.board.height);
-    this.drawEdges();
-    this.drawNodes();
-  }
-
-  getDistanceOfNodes(node1: GraphNode, node2: GraphNode): number {
-    return Math.sqrt(Math.pow( node1.x - node2.x , 2) + Math.pow( node1.y - node2.y , 2));
-  }
-
-
-  initBoard() {
-    this.board = this.boardElementRef.nativeElement;
-    this.boardContext = this.board.getContext('2d');
-    this.adjustBoardParams();
-    this.drawBoard();
-  }
-
-  ngAfterViewInit() {
-    this.initBoard();
-    this.graphReady.emit(this.board);
-  }
-
-  ngOnInit() {
-
-  }
-}
diff --git a/src/app/shared/components/histogram/histogram.component.html b/src/app/shared/components/histogram/histogram.component.html
deleted file mode 100644
index 03bcd75..0000000
--- a/src/app/shared/components/histogram/histogram.component.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<div id="board-wrapper" #boardWrapper>
-    <canvas #board id="board"></canvas>
-</div>
-<div class="values-wrapper">
-    <div *ngFor="let value of values;let ind = index" 
-        [ngClass]="{
-            'swapped': (ind=== boardColoringParams.ind1 || ind=== boardColoringParams.ind2)&& boardColoringParams.swapped,
-            'compared': (ind=== boardColoringParams.ind1 || ind=== boardColoringParams.ind2)&& !boardColoringParams.swapped , 
-            'compared1': (ind=== boardColoringParams.ind1 )&& !boardColoringParams.swapped , 
-            'compared2': (ind=== boardColoringParams.ind2 )&& !boardColoringParams.swapped , 
-            'leftBoundary' : (boardColoringParams.leftBoundary === ind),
-            'rightBoundary' : (boardColoringParams.rightBoundary === ind),
-            'leftBoundary2' : (boardColoringParams.leftBoundary2 === ind),
-            'rightBoundary2' : (boardColoringParams.rightBoundary2 === ind),
-            'pivot' : (boardColoringParams.ind3 === ind),
-            'value': true
-        }">
-         {{value}} 
-    </div>
-</div>
diff --git a/src/app/shared/components/histogram/histogram.component.sass b/src/app/shared/components/histogram/histogram.component.sass
deleted file mode 100644
index 95cf131..0000000
--- a/src/app/shared/components/histogram/histogram.component.sass
+++ /dev/null
@@ -1,87 +0,0 @@
-@mixin triangle($pesudoElement,$firstBorderWidth,$secondBorderWidth,$color,$top,$right,$bottom,$left,$direction)
-    position: relative
-    &::#{$pesudoElement}
-        position: absolute
-        content: ""
-        @if $top != -1
-            top: $top
-        @if $right != -1
-            right: $right
-        @if $bottom != -1
-            bottom: $bottom
-        @if $left != -1
-            left: $left
-        width: 0
-        height: 0
-        @if $direction == "up"
-            border-left: $firstBorderWidth solid transparent
-            border-right: $firstBorderWidth solid transparent
-            border-bottom: $secondBorderWidth solid $color 
-
-        @if $direction == "down"
-            border-left: $firstBorderWidth solid transparent
-            border-right: $firstBorderWidth solid transparent
-            border-top: $secondBorderWidth solid $color
-
-#board-wrapper
-    width: 100%
-    height: 400px 
-    background-color: white 
-.values-wrapper
-    width: 100%
-    margin: 0px
-    padding-top: 20px
-    background-color: #0d0d26
-    float: left // needed inorder to avoid its height shrinking to zero . Don't remove it.
-    .value
-        float: left
-        width: auto
-        padding: 14px
-        color: black 
-        background-color: white
-        font-size: 12px
-        border-radius: 4px
-        margin: 4px 2px 22px 2px
-        &:last-child
-            float: clear
-    .swapped
-        background-color: #0d0d26
-        color: white 
-        font-weight: bold
-        border-radius: 4px
-        padding: 12px 12px
-        border: 2px solid #ed594e
-    .compared
-        font-weight: bold
-        color: white 
-        border-radius: 4px
-        padding: 12px 12px
-        border: 2px solid white
-    .compared1
-        background-color: #0d0d26
-        padding: 12px 12px
-        border: 2px solid white
-    .compared2
-        background-color: #143873
-        padding: 12px 12px
-        border: 2px solid white
-
-    .pivot
-        background-color: black
-        font-weight: bold
-        color: white 
-        border-radius: 4px
-        padding: 12px 12px
-        border: 2px solid white
-
-    .leftBoundary
-        @include triangle(before,6px,12px,green, -1, -1, -20px, -4px, "up")
-        
-    .rightBoundary
-        @include triangle(after,6px,12px,red, -1, -1, -20px, -1, "up" )
-
-    .leftBoundary2
-        @include triangle(before,6px,12px,blue, -20px, -1, -1 , -4px,"down" )
-        
-    .rightBoundary2
-        @include triangle(after,6px,12px,orange, -20px, -1, -1, -1, "down" )
\ No newline at end of file
diff --git a/src/app/shared/components/histogram/histogram.component.ts b/src/app/shared/components/histogram/histogram.component.ts
deleted file mode 100644
index 4102a38..0000000
--- a/src/app/shared/components/histogram/histogram.component.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { Component, OnInit, AfterViewInit, ViewChild, ElementRef, Input, Output, EventEmitter, HostListener } from '@angular/core';
-import { BoardColoringParams } from 'src/app/models/board-coloring-params';
-
-@Component({
-  selector: 'app-histogram',
-  templateUrl: './histogram.component.html',
-  styleUrls: ['./histogram.component.sass']
-})
-export class HistogramComponent implements OnInit, AfterViewInit {
-
-  @Input() minValue: number;
-  @Input() maxValue: number;
-  @Input() values: number[];
-  @Output() historgramReady = new EventEmitter<HTMLCanvasElement>();
-
-  @ViewChild('board', {static: false}) public  boardElementRef: ElementRef;
-  @ViewChild('boardWrapper', {static: false}) public boardWrapperElementRef: ElementRef;
-  boardContext: CanvasRenderingContext2D;
-  private board: HTMLCanvasElement;
-
-  boardColoringParams: BoardColoringParams = new BoardColoringParams();
-
-  private initX: number;
-  private initY: number;
-  private barWidth: number;
-  private barUnitLength: number;
-  constructor() { }
-
-  ngOnInit() {
-  }
-
-  @HostListener('window:resize', ['$event'])
-  onWindowResize(event) {
-    this.initBoard();
-  }
-
-  ngAfterViewInit() {
-    this.initBoard();
-    this.historgramReady.emit(this.board);
-  }
-
-  adjustBoardParams() {
-    const boardWrapper: Element = this.boardWrapperElementRef.nativeElement;
-    this.board.width = boardWrapper.clientWidth;
-    this.board.height = boardWrapper.clientHeight;
-    this.barWidth = (this.board.width - 2 * (this.values.length + 2)) / this.values.length;
-    this.barUnitLength = (this.board.height - 50) / Math.max(...this.values);
-    this.barWidth = Math.min(this.barWidth, 10);
-    this.initX = (this.board.width - 2 * this.values.length - this.barWidth * this.values.length) / 2 + 2;
-    this.initY = 40;
-  }
-
-  initBoard() {
-    this.board = this.boardElementRef.nativeElement;
-    this.boardContext = this.board.getContext('2d');
-    this.adjustBoardParams();
-    this.drawBoard();
-  }
-
-  drawBoard(params: BoardColoringParams = new BoardColoringParams()) {
-    this.boardColoringParams = params;
-    this.boardContext.clearRect(0, 0, this.board.width, this.board.height);
-    let x = this.initX , y = this.initY;
-    for (let ind = 0; ind < this.values.length; ind++) {
-      this.boardContext.rotate(-Math.PI / 2);
-      this.boardContext.textAlign = 'center';
-      if ((params.ind1 !== null && params.ind1 === ind) || (params.ind2 !== null && params.ind2 === ind)) {
-        if (params.swapped) {
-          this.boardContext.fillStyle = '#990000';
-        } else if (params.ind1 === ind) {
-          this.boardContext.fillStyle = '#232442';
- } else if (params.ind2 === ind) {
-          this.boardContext.fillStyle = '#1b4a96';
- }
-        this.boardContext.font = 'bold 10pt Courier';
-      } else {
-        this.boardContext.fillStyle = 'black';
-        this.boardContext.font = 'normal 8pt Courier';
-      }
-      this.boardContext.fillText(this.values[ind].toString(), -15, x + 8);
-      this.boardContext.rotate(Math.PI / 2);
-      if ((params.ind1 !== null && params.ind1 === ind) || (params.ind2 !== null && params.ind2 === ind)) {
-        if (params.swapped) {
-          this.boardContext.fillStyle = '#990000';
-        } else if (params.ind1 === ind) {
-          this.boardContext.fillStyle = '#23216d';
- } else if (params.ind2 === ind) {
-          this.boardContext.fillStyle = '#143873';
- }
-      } else {
-        this.boardContext.fillStyle = 'grey';
-      }
-      const barHeight = this.values[ind] * this.barUnitLength;
-      if (params.ind3 !== null && params.ind3 === ind) {
-        this.boardContext.fillStyle = 'black';
-      }
-      this.boardContext.fillRect(x, y, this.barWidth, barHeight);
-
-      if (params.leftBoundary === ind || params.rightBoundary === ind) {
-          this.boardContext.beginPath();
-          this.boardContext.moveTo( x, y - 14);
-          this.boardContext.lineTo( x + this.barWidth, y - 14);
-          this.boardContext.lineTo( (2 * x + this.barWidth) / 2, y - 2);
-          this.boardContext.lineTo( x, y - 14);
-          this.boardContext.closePath();
-          if (params.leftBoundary === ind) {
-            this.boardContext.fillStyle = 'green';
-          } else if (params.rightBoundary === ind) {
-            this.boardContext.fillStyle = 'red';
- }
-          this.boardContext.fill();
-      }
-      if (params.leftBoundary2 === ind || params.rightBoundary2 === ind) {
-          this.boardContext.beginPath();
-          this.boardContext.moveTo( x, y - 14);
-          this.boardContext.lineTo( x + this.barWidth, y - 14);
-          this.boardContext.lineTo( (2 * x + this.barWidth) / 2, y - 2);
-          this.boardContext.lineTo( x, y - 14);
-          this.boardContext.closePath();
-          if (params.leftBoundary2 === ind) {
-            this.boardContext.fillStyle = 'blue';
-          } else if (params.rightBoundary2 === ind) {
-            this.boardContext.fillStyle = 'orange';
- }
-          this.boardContext.fill();
-      }
-      x += this.barWidth + 2;
-    }
-  }
-}
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts
deleted file mode 100644
index 50ab90c..0000000
--- a/src/app/shared/shared.module.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { HistogramComponent } from './components/histogram/histogram.component';
-import { GraphComponent } from './components/graph/graph.component';
-
-
-
-@NgModule({
-  declarations: [
-  HistogramComponent,
-  GraphComponent
-  ],
-  imports: [
-    CommonModule
-  ],
-  exports: [
-    HistogramComponent,
-    GraphComponent
-  ],
-})
-export class SharedModule { }
diff --git a/src/app/shared/styles/mixins.sass b/src/app/shared/styles/mixins.sass
deleted file mode 100644
index d36efad..0000000
--- a/src/app/shared/styles/mixins.sass
+++ /dev/null
@@ -1,9 +0,0 @@
-@mixin glow($name, $fromColor, $toColor)
-    -webkit-animation: $name 1s ease-in-out infinite alternate
-    -moz-animation: $name 1s ease-in-out infinite alternate
-    animation: $name 1s ease-in-out infinite alternate
-    @-webkit-keyframes #{$name} 
-        from 
-            text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px $fromColor, 0 0 40px $fromColor, 0 0 50px $fromColor, 0 0 60px $fromColor, 0 0 70px $fromColor
-        to 
-            text-shadow: 0 0 20px #fff, 0 0 30px $toColor, 0 0 40px $toColor, 0 0 50px $toColor, 0 0 60px $toColor, 0 0 70px $toColor, 0 0 80px $toColor
\ No newline at end of file
diff --git a/src/app/shared/util.ts b/src/app/shared/util.ts
deleted file mode 100644
index edd3751..0000000
--- a/src/app/shared/util.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-export class Util {
-
-  static delay(ms: number) {
-    return new Promise(resolve => setTimeout(resolve, ms));
-  }
-
-  static getRandomColor() {
-    const letters = '0123456789ABCDEF';
-    let color = '#';
-    for (let i = 0; i < 6; i++) {
-      color += letters[Math.floor(Math.random() * 16)];
-    }
-    return color;
-  }
-
-}
diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
deleted file mode 100644
index 3612073..0000000
--- a/src/environments/environment.prod.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const environment = {
-  production: true
-};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
deleted file mode 100644
index 7b4f817..0000000
--- a/src/environments/environment.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file can be replaced during build by using the `fileReplacements` array.
-// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
-// The list of file replacements can be found in `angular.json`.
-
-export const environment = {
-  production: false
-};
-
-/*
- * For easier debugging in development mode, you can import the following file
- * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
- *
- * This import should be commented out in production mode because it will have a negative impact
- * on performance if an error is thrown.
- */
-// import 'zone.js/dist/zone-error';  // Included with Angular CLI.
diff --git a/src/index.html b/src/index.html
deleted file mode 100644
index 44a66a3..0000000
--- a/src/index.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-  <title>AlgorithmsVisualizer</title>
-  <base href="/">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="icon" type="image/x-icon" href="favicon.ico">
-  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
-</head>
-<body>
-  <app-root></app-root>
-</body>
-</html>
diff --git a/src/main.ts b/src/main.ts
deleted file mode 100644
index c7b673c..0000000
--- a/src/main.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { enableProdMode } from '@angular/core';
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
-
-import { AppModule } from './app/app.module';
-import { environment } from './environments/environment';
-
-if (environment.production) {
-  enableProdMode();
-}
-
-platformBrowserDynamic().bootstrapModule(AppModule)
-  .catch(err => console.error(err));
diff --git a/src/polyfills.ts b/src/polyfills.ts
deleted file mode 100644
index aa665d6..0000000
--- a/src/polyfills.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * This file includes polyfills needed by Angular and is loaded before the app.
- * You can add your own extra polyfills to this file.
- *
- * This file is divided into 2 sections:
- *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
- *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
- *      file.
- *
- * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
- * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
- * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
- *
- * Learn more in https://angular.io/guide/browser-support
- */
-
-/***************************************************************************************************
- * BROWSER POLYFILLS
- */
-
-/** IE10 and IE11 requires the following for NgClass support on SVG elements */
-// import 'classlist.js';  // Run `npm install --save classlist.js`.
-
-/**
- * Web Animations `@angular/platform-browser/animations`
- * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
- * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
- */
-// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
-
-/**
- * By default, zone.js will patch all possible macroTask and DomEvents
- * user can disable parts of macroTask/DomEvents patch by setting following flags
- * because those flags need to be set before `zone.js` being loaded, and webpack
- * will put import in the top of bundle, so user need to create a separate file
- * in this directory (for example: zone-flags.ts), and put the following flags
- * into that file, and then add the following code before importing zone.js.
- * import './zone-flags.ts';
- *
- * The flags allowed in zone-flags.ts are listed here.
- *
- * The following flags will work for all browsers.
- *
- * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
- * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
- * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
- *
- *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
- *  with the following flag, it will bypass `zone.js` patch for IE/Edge
- *
- *  (window as any).__Zone_enable_cross_context_check = true;
- *
- */
-
-/***************************************************************************************************
- * Zone JS is required by default for Angular itself.
- */
-import 'zone.js/dist/zone';  // Included with Angular CLI.
-
-
-/***************************************************************************************************
- * APPLICATION IMPORTS
- */
diff --git a/src/styles.sass b/src/styles.sass
deleted file mode 100644
index cdae36d..0000000
--- a/src/styles.sass
+++ /dev/null
@@ -1,190 +0,0 @@
-/* You can add global styles to this file, and also import other style files */
-@import url('https://fonts.googleapis.com/css?family=Tangerine&display=swap')
-@import '@angular/material/prebuilt-themes/indigo-pink.css'
-@import "../node_modules/prismjs/plugins/toolbar/prism-toolbar.css"
-@import "../node_modules/prismjs/themes/prism-okaidia"
-@import ./src/app/shared/styles/mixins
-
-::-webkit-scrollbar 
-  width: 6px
-  height: 6px
-/* Track */
-::-webkit-scrollbar-track 
-    background: rgba(0,0,0,1)
-    border-radius: 10px
- 
-/* Handle */
-::-webkit-scrollbar-thumb 
-  background: #4b4a88
-  border-radius: 10px
-
-/* Handle on hover */
-::-webkit-scrollbar-thumb:hover 
-  background: #34335f
-
-.wrap-pre-tag-text
-    overflow-x: auto
-    white-space: pre-wrap
-    white-space: -moz-pre-wrap
-    white-space: -pre-wrap
-    white-space: -o-pre-wrap
-    word-wrap: break-word
-
-.submain-container
-    .header
-        width: 100%
-        height: 76px
-        padding: 10px
-        background-color: #010214 
-        .brand
-            text-align: center
-            color: white
-            font-size: 34px
-            font-family: 'Tangerine', cursive
-            @include glow(sortingHeader,#e60073,#ff4da6)
-
-    .toolbar
-        .speed-icon
-            font-size: 20px
-            color: white
-
-        mat-slider
-            width: 80%
-
-        .show-code-button
-            cursor: pointer
-            padding: 6px 0px
-            text-align-last: center
-            width: 100%
-            height: 100%
-            color: white
-            font-size: 18px
-            background-color: #0d0d26
-            border-radius: 6px
-            font-weight: bold
-            &:hover
-                color: white 
-                background-color: #010214
-        .navbar
-            background-color: #232442
-        .navbar-toggler
-            cursor: pointer        
-            margin: 10px
-            .togglerIcon
-                color: white 
-                font-size: 26px
-        .navbar
-            margin: 0px
-            padding: 0px
-        .navWrapper
-            padding-top: 4px
-            .navItem
-                margin: 10px
-                cursor: pointer
-                select
-                    cursor: pointer
-                    padding: 6px 0px
-                    text-align-last: center
-                    width: 100%
-                    height: 100%
-                    color: white
-                    background-color: #0d0d26
-                    border-radius: 6px
-    .section
-        background-color: #0d0d26
-        float: left // needed inorder to avoid its height shrinking to zero . Don't remove it.
-        width: 100%
-        padding: 10px
-        .custom-panel
-            width: 100%
-            padding: 10px
-            border-radius: 6px
-            .custom-value
-                width: 180px
-                padding: 4px 10px
-                border-radius: 6px
-            .edit-button
-                margin: 10px
-                border: 1px solid white
-                background-color: rgba(0,0,0,0)
-                width: 40px
-                border-radius: 4px
-                color: white
-                font-weight: bold
-                font-size: 18px
-                &:hover
-                    background-color: white
-                    color: black
-        .code-panel
-            z-index: 10
-            position: fixed
-            top: 0px
-            left: 0px
-            background-color: rgba(0, 0, 0, 0.95)
-            width: 100%
-            height: 100%
-            overflow-y: scroll
-            /* Handle */
-            &::-webkit-scrollbar-thumb 
-                background: #23216d 
-                border-radius: 10px
-            /* Handle on hover */
-            &::-webkit-scrollbar-thumb:hover 
-                background: #27255a
-            .closeCodePanel
-                font-size: 20px
-                padding: 4px 12px
-                border: 1px solid grey 
-                color: white
-                font-weight: bold
-                position: fixed 
-                right: 30px
-                top: 10px
-                background-color: rgba(0, 0, 0, 1)
-                border-radius: 6px 
-                &:hover
-                    background-color: white
-                    color: black 
-            .code-explanation-wrapper
-                margin: auto
-                margin-top: 10px
-                margin-bottom: 0px
-                width: 90% 
-                padding:10px 15px 0px 15px
-                border: 1px solid rgba(255,255,255,0.1)
-                .code-explanation-heading
-                    color: white
-                    text-align: center
-                    font-size: 34px
-                    font-family: 'Tangerine', cursive
-                    @include glow(algorithmName,#e60073,#ff4da6)
-                .code-explanation
-                    overflow-x: auto
-                    white-space: pre-wrap
-                    white-space: -moz-pre-wrap
-                    white-space: -pre-wrap
-                    white-space: -o-pre-wrap
-                    word-wrap: break-word
-                    margin-bottom:0px
-                    color: rgb(180, 180, 180)
-                    line-height: 1.8
-            .code-wrapper
-                margin: auto
-                margin-bottom:20px
-                padding: auto
-                width: 90% 
-                border: 2px solid rgba(255,255,255,0.1) 
-                .code
-                    color: white
-    
-.glow-footer
-    color: white
-    background-color: #010214 
-    text-align: center
-    padding: 20px
-    font-weight: bold
-    font-family: cursive
-    font-size: 18px 
-    width: 100%
-    @include glow("blueglow",#014940,#0293a8)
-    overflow: hidden
\ No newline at end of file
diff --git a/src/test.ts b/src/test.ts
deleted file mode 100644
index 1631789..0000000
--- a/src/test.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file is required by karma.conf.js and loads recursively all the .spec and framework files
-
-import 'zone.js/dist/zone-testing';
-import { getTestBed } from '@angular/core/testing';
-import {
-  BrowserDynamicTestingModule,
-  platformBrowserDynamicTesting
-} from '@angular/platform-browser-dynamic/testing';
-
-declare const require: any;
-
-// First, initialize the Angular testing environment.
-getTestBed().initTestEnvironment(
-  BrowserDynamicTestingModule,
-  platformBrowserDynamicTesting()
-);
-// Then we find all the tests.
-const context = require.context('./', true, /\.spec\.ts$/);
-// And load the modules.
-context.keys().map(context);
diff --git a/styles.cadb8fc80cdef81b8481.css b/styles.cadb8fc80cdef81b8481.css
new file mode 100644
index 0000000..61ed1c9
--- /dev/null
+++ b/styles.cadb8fc80cdef81b8481.css
@@ -0,0 +1,6 @@
+@import url(https://fonts.googleapis.com/css?family=Tangerine&display=swap);.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-badge-small .mat-badge-content{font-size:9px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,"Helvetica Neue",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 calc(14px * .83)/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 calc(14px * .67)/20px Roboto,"Helvetica Neue",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,"Helvetica Neue",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,"Helvetica Neue",sans-serif;letter-spacing:-.05em;margin:0 0 56px}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,"Helvetica Neue",sans-serif;letter-spacing:-.02em;margin:0 0 64px}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,"Helvetica Neue",sans-serif;letter-spacing:-.005em;margin:0 0 64px}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,"Helvetica Neue",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif}.mat-expansion-panel-header{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,"Helvetica Neue",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,"Helvetica Neue",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,"Helvetica Neue",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,"Helvetica Neue",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:16px;color:rgba(0,0,0,.87)}.mat-optgroup-label{font:500 14px/24px Roboto,"Helvetica Neue",sans-serif;color:rgba(0,0,0,.54)}.mat-simple-snackbar{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}.mat-checkbox-disabled{opacity:.5}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{color:#fff;background:#3f51b5;position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content._mat-animation-noopable,.ng-animate-disabled .mat-badge-content{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-accent,.mat-fab.mat-primary,.mat-fab.mat-warn,.mat-flat-button.mat-accent,.mat-flat-button.mat-primary,.mat-flat-button.mat-warn,.mat-mini-fab.mat-accent,.mat-mini-fab.mat-primary,.mat-mini-fab.mat-warn,.mat-raised-button.mat-accent,.mat-raised-button.mat-primary,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26);background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none;border:1px solid rgba(0,0,0,.12)}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:1px solid rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:1px solid rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:1px solid rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox .mat-ripple-element{background-color:#000}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element{background:#3f51b5}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element{background:#ff4081}.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element{background:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label,.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after,.mat-form-field.mat-form-field-invalid .mat-form-field-label,.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label,.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em;background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item,.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{font-family:Roboto,"Helvetica Neue",sans-serif;font-size:14px;font-weight:500;color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow,.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:1px solid rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end,[dir=rtl] .mat-drawer-side{border-left:1px solid rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:1px solid rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-header-pagination,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-header-pagination,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-header-pagination,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{font-family:Roboto,"Helvetica Neue",sans-serif;background:#fff}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px;color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar .toolbar-item{display:inline-block}div.code-toolbar>.toolbar a{cursor:pointer}div.code-toolbar>.toolbar button{border:0;font:inherit;line-height:normal;overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar a,div.code-toolbar>.toolbar button,div.code-toolbar>.toolbar span{color:#bbb;font-size:.8em;padding:0 .5em;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar a:focus,div.code-toolbar>.toolbar a:hover,div.code-toolbar>.toolbar button:focus,div.code-toolbar>.toolbar button:hover,div.code-toolbar>.toolbar span:focus,div.code-toolbar>.toolbar span:hover{color:inherit;text-decoration:none}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#000;border-radius:10px}::-webkit-scrollbar-thumb{background:#4b4a88;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#34335f}.wrap-pre-tag-text{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.submain-container .header{width:100%;height:76px;padding:10px;background-color:#010214}.submain-container .header .brand{text-align:center;color:#fff;font-size:34px;font-family:Tangerine,cursive;-webkit-animation:1s ease-in-out infinite alternate sortingHeader;animation:1s ease-in-out infinite alternate sortingHeader}@-webkit-keyframes sortingHeader{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #e60073,0 0 40px #e60073,0 0 50px #e60073,0 0 60px #e60073,0 0 70px #e60073}to{text-shadow:0 0 20px #fff,0 0 30px #ff4da6,0 0 40px #ff4da6,0 0 50px #ff4da6,0 0 60px #ff4da6,0 0 70px #ff4da6,0 0 80px #ff4da6}}.submain-container .toolbar .speed-icon{font-size:20px;color:#fff}.submain-container .toolbar mat-slider{width:80%}.submain-container .toolbar .show-code-button{cursor:pointer;padding:6px 0;-moz-text-align-last:center;text-align-last:center;width:100%;height:100%;color:#fff;font-size:18px;background-color:#0d0d26;border-radius:6px;font-weight:700}.submain-container .toolbar .show-code-button:hover{color:#fff;background-color:#010214}.submain-container .toolbar .navbar-toggler{cursor:pointer;margin:10px}.submain-container .toolbar .navbar-toggler .togglerIcon{color:#fff;font-size:26px}.submain-container .toolbar .navbar{background-color:#232442;margin:0;padding:0}.submain-container .toolbar .navWrapper{padding-top:4px}.submain-container .toolbar .navWrapper .navItem{margin:10px;cursor:pointer}.submain-container .toolbar .navWrapper .navItem select{cursor:pointer;padding:6px 0;-moz-text-align-last:center;text-align-last:center;width:100%;height:100%;color:#fff;background-color:#0d0d26;border-radius:6px}.submain-container .section{background-color:#0d0d26;float:left;width:100%;padding:10px}.submain-container .section .custom-panel{width:100%;padding:10px;border-radius:6px}.submain-container .section .custom-panel .custom-value{width:180px;padding:4px 10px;border-radius:6px}.submain-container .section .custom-panel .edit-button{margin:10px;border:1px solid #fff;background-color:rgba(0,0,0,0);width:40px;border-radius:4px;color:#fff;font-weight:700;font-size:18px}.submain-container .section .custom-panel .edit-button:hover{background-color:#fff;color:#000}.submain-container .section .code-panel{z-index:10;position:fixed;top:0;left:0;background-color:rgba(0,0,0,.95);width:100%;height:100%;overflow-y:scroll}.submain-container .section .code-panel::-webkit-scrollbar-thumb{background:#23216d;border-radius:10px}.submain-container .section .code-panel::-webkit-scrollbar-thumb:hover{background:#27255a}.submain-container .section .code-panel .closeCodePanel{font-size:20px;padding:4px 12px;border:1px solid grey;color:#fff;font-weight:700;position:fixed;right:30px;top:10px;background-color:#000;border-radius:6px}.submain-container .section .code-panel .closeCodePanel:hover{background-color:#fff;color:#000}.submain-container .section .code-panel .code-explanation-wrapper{margin:10px auto 0;width:90%;padding:10px 15px 0;border:1px solid rgba(255,255,255,.1)}.submain-container .section .code-panel .code-explanation-wrapper .code-explanation-heading{color:#fff;text-align:center;font-size:34px;font-family:Tangerine,cursive;-webkit-animation:1s ease-in-out infinite alternate algorithmName;animation:1s ease-in-out infinite alternate algorithmName}@-webkit-keyframes algorithmName{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #e60073,0 0 40px #e60073,0 0 50px #e60073,0 0 60px #e60073,0 0 70px #e60073}to{text-shadow:0 0 20px #fff,0 0 30px #ff4da6,0 0 40px #ff4da6,0 0 50px #ff4da6,0 0 60px #ff4da6,0 0 70px #ff4da6,0 0 80px #ff4da6}}.submain-container .section .code-panel .code-explanation-wrapper .code-explanation{overflow-x:auto;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;margin-bottom:0;color:#b4b4b4;line-height:1.8}.submain-container .section .code-panel .code-wrapper{margin:auto auto 20px;padding:auto;width:90%;border:2px solid rgba(255,255,255,.1)}.submain-container .section .code-panel .code-wrapper .code{color:#fff}.glow-footer{color:#fff;background-color:#010214;text-align:center;padding:20px;font-weight:700;font-family:cursive;font-size:18px;width:100%;-webkit-animation:1s ease-in-out infinite alternate blueglow;animation:1s ease-in-out infinite alternate blueglow;overflow:hidden}@-webkit-keyframes blueglow{from{text-shadow:0 0 10px #fff,0 0 20px #fff,0 0 30px #014940,0 0 40px #014940,0 0 50px #014940,0 0 60px #014940,0 0 70px #014940}to{text-shadow:0 0 20px #fff,0 0 30px #0293a8,0 0 40px #0293a8,0 0 50px #0293a8,0 0 60px #0293a8,0 0 70px #0293a8,0 0 80px #0293a8}}/*!
+ * Bootstrap v4.3.1 (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0}dl,ol,p,ul{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{box-sizing:content-box;height:0;overflow:visible;margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:1px solid #adb5bd}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat #fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.collapsing,.custom-switch .custom-control-label::after{transition:none}.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center/100% 100% no-repeat}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.card-columns .card{margin-bottom:.75rem}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress-bar-animated{-webkit-animation:none;animation:none}.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right,.carousel-item{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev,.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
\ No newline at end of file
diff --git a/tsconfig.app.json b/tsconfig.app.json
deleted file mode 100644
index 565a11a..0000000
--- a/tsconfig.app.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "extends": "./tsconfig.json",
-  "compilerOptions": {
-    "outDir": "./out-tsc/app",
-    "types": []
-  },
-  "files": [
-    "src/main.ts",
-    "src/polyfills.ts"
-  ],
-  "include": [
-    "src/**/*.ts"
-  ],
-  "exclude": [
-    "src/test.ts",
-    "src/**/*.spec.ts"
-  ]
-}
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 30956ae..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "compileOnSave": false,
-  "compilerOptions": {
-    "baseUrl": "./",
-    "outDir": "./dist/out-tsc",
-    "sourceMap": true,
-    "declaration": false,
-    "downlevelIteration": true,
-    "experimentalDecorators": true,
-    "module": "esnext",
-    "moduleResolution": "node",
-    "importHelpers": true,
-    "target": "es2015",
-    "typeRoots": [
-      "node_modules/@types"
-    ],
-    "lib": [
-      "es2018",
-      "dom"
-    ]
-  },
-  "angularCompilerOptions": {
-    "fullTemplateTypeCheck": true,
-    "strictInjectionParameters": true
-  }
-}
diff --git a/tsconfig.spec.json b/tsconfig.spec.json
deleted file mode 100644
index 6400fde..0000000
--- a/tsconfig.spec.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "extends": "./tsconfig.json",
-  "compilerOptions": {
-    "outDir": "./out-tsc/spec",
-    "types": [
-      "jasmine",
-      "node"
-    ]
-  },
-  "files": [
-    "src/test.ts",
-    "src/polyfills.ts"
-  ],
-  "include": [
-    "src/**/*.spec.ts",
-    "src/**/*.d.ts"
-  ]
-}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index f0adae9..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-  "extends": "tslint:recommended",
-  "rules": {
-    "array-type": false,
-    "arrow-parens": false,
-    "deprecation": {
-      "severity": "warning"
-    },
-    "component-class-suffix": true,
-    "contextual-lifecycle": true,
-    "directive-class-suffix": true,
-    "directive-selector": [
-      true,
-      "attribute",
-      "app",
-      "camelCase"
-    ],
-    "component-selector": [
-      true,
-      "element",
-      "app",
-      "kebab-case"
-    ],
-    "import-blacklist": [
-      true,
-      "rxjs/Rx"
-    ],
-    "interface-name": false,
-    "max-classes-per-file": false,
-    "max-line-length": [
-      true,
-      140
-    ],
-    "member-access": false,
-    "member-ordering": [
-      true,
-      {
-        "order": [
-          "static-field",
-          "instance-field",
-          "static-method",
-          "instance-method"
-        ]
-      }
-    ],
-    "no-consecutive-blank-lines": false,
-    "no-console": [
-      true,
-      "debug",
-      "info",
-      "time",
-      "timeEnd",
-      "trace"
-    ],
-    "no-empty": false,
-    "no-inferrable-types": [
-      true,
-      "ignore-params"
-    ],
-    "no-non-null-assertion": true,
-    "no-redundant-jsdoc": true,
-    "no-switch-case-fall-through": true,
-    "no-use-before-declare": true,
-    "no-var-requires": false,
-    "object-literal-key-quotes": [
-      true,
-      "as-needed"
-    ],
-    "object-literal-sort-keys": false,
-    "ordered-imports": false,
-    "quotemark": [
-      true,
-      "single"
-    ],
-    "trailing-comma": false,
-    "no-conflicting-lifecycle": true,
-    "no-host-metadata-property": true,
-    "no-input-rename": true,
-    "no-inputs-metadata-property": true,
-    "no-output-native": true,
-    "no-output-on-prefix": true,
-    "no-output-rename": true,
-    "no-outputs-metadata-property": true,
-    "template-banana-in-box": true,
-    "template-no-negated-async": true,
-    "use-lifecycle-interface": true,
-    "use-pipe-transform-interface": true
-  },
-  "rulesDirectory": [
-    "codelyzer"
-  ]
-}
\ No newline at end of file
