q2-tecton-platform 1.10.12 → 1.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://q2-tecton-platform/webpack/universalModuleDefinition","webpack://q2-tecton-platform/webpack/bootstrap","webpack://q2-tecton-platform//workspace/workspace/tecton-production_release_1.10.x/node_modules/tslib/tslib.es6.js","webpack://q2-tecton-platform/../../src/internal/Subscriber.ts","webpack://q2-tecton-platform/../../src/internal/innerSubscribe.ts","webpack://q2-tecton-platform/../../src/internal/Observable.ts","webpack://q2-tecton-platform/../../../src/internal/util/toSubscriber.ts","webpack://q2-tecton-platform/../../../src/maybe-not.ts","webpack://q2-tecton-platform/../../src/internal/Subscription.ts","webpack://q2-tecton-platform/../../src/internal/Subject.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/async.ts","webpack://q2-tecton-platform/../../../src/internal/util/isArray.ts","webpack://q2-tecton-platform/../../../src/internal/operators/map.ts","webpack://q2-tecton-platform/../../../src/internal/util/isScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/observable/empty.ts","webpack://q2-tecton-platform/../../../src/internal/observable/from.ts","webpack://q2-tecton-platform/../../src/internal/InnerSubscriber.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToResult.ts","webpack://q2-tecton-platform/../../src/internal/config.ts","webpack://q2-tecton-platform/../../../src/internal/util/identity.ts","webpack://q2-tecton-platform/../../../src/internal/operators/filter.ts","webpack://q2-tecton-platform/../../src/internal/OuterSubscriber.ts","webpack://q2-tecton-platform/../../src/internal/Notification.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/iterator.ts","webpack://q2-tecton-platform/../../../src/internal/util/noop.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/observable.ts","webpack://q2-tecton-platform/../../../src/internal/util/ObjectUnsubscribedError.ts","webpack://q2-tecton-platform/../../../src/internal/util/ArgumentOutOfRangeError.ts","webpack://q2-tecton-platform/../../../src/internal/util/isFunction.ts","webpack://q2-tecton-platform/../../../src/internal/util/EmptyError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/defaultIfEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromArray.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsyncScheduler.ts","webpack://q2-tecton-platform/../../src/internal/AsyncSubject.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsyncAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/Action.ts","webpack://q2-tecton-platform/../../../src/internal/util/isNumeric.ts","webpack://q2-tecton-platform/../../../src/internal/observable/concat.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeTo.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToObservable.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToPromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToIterable.ts","webpack://q2-tecton-platform/../../../src/internal/util/hostReportError.ts","webpack://q2-tecton-platform/../../../src/internal/observable/of.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throwIfEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AnimationFrameAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/animationFrame.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AnimationFrameScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/VirtualTimeScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/util/isObservable.ts","webpack://q2-tecton-platform/../../../src/internal/observable/bindCallback.ts","webpack://q2-tecton-platform/../../../src/internal/observable/bindNodeCallback.ts","webpack://q2-tecton-platform/../../../src/internal/observable/forkJoin.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromEventPattern.ts","webpack://q2-tecton-platform/../../../src/internal/observable/generate.ts","webpack://q2-tecton-platform/../../../src/internal/observable/iif.ts","webpack://q2-tecton-platform/../../../src/internal/observable/interval.ts","webpack://q2-tecton-platform/../../../src/internal/observable/never.ts","webpack://q2-tecton-platform/../../../src/internal/observable/onErrorResumeNext.ts","webpack://q2-tecton-platform/../../../src/internal/observable/pairs.ts","webpack://q2-tecton-platform/../../../src/internal/observable/partition.ts","webpack://q2-tecton-platform/../../../src/internal/observable/range.ts","webpack://q2-tecton-platform/../../../src/internal/observable/using.ts","webpack://q2-tecton-platform/../../../src/internal/util/pipe.ts","webpack://q2-tecton-platform/../../../src/internal/util/Immediate.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsapAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/asap.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsapScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/rxSubscriber.ts","webpack://q2-tecton-platform/../../../src/internal/util/UnsubscriptionError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/audit.ts","webpack://q2-tecton-platform/../../../src/internal/operators/auditTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/buffer.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferCount.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferToggle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/catchError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/combineAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/combineLatest.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concat.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/count.ts","webpack://q2-tecton-platform/../../../src/internal/operators/debounce.ts","webpack://q2-tecton-platform/../../../src/internal/util/isDate.ts","webpack://q2-tecton-platform/../../../src/internal/operators/delay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/delayWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/dematerialize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinct.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinctUntilKeyChanged.ts","webpack://q2-tecton-platform/../../../src/internal/operators/elementAt.ts","webpack://q2-tecton-platform/../../../src/internal/operators/endWith.ts","webpack://q2-tecton-platform/../../../src/internal/operators/every.ts","webpack://q2-tecton-platform/../../../src/internal/operators/exhaust.ts","webpack://q2-tecton-platform/../../../src/internal/operators/exhaustMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/expand.ts","webpack://q2-tecton-platform/../../../src/internal/operators/finalize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/find.ts","webpack://q2-tecton-platform/../../../src/internal/operators/findIndex.ts","webpack://q2-tecton-platform/../../../src/internal/operators/ignoreElements.ts","webpack://q2-tecton-platform/../../../src/internal/operators/isEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/last.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/materialize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/scan.ts","webpack://q2-tecton-platform/../../../src/internal/operators/reduce.ts","webpack://q2-tecton-platform/../../../src/internal/operators/max.ts","webpack://q2-tecton-platform/../../../src/internal/operators/merge.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeScan.ts","webpack://q2-tecton-platform/../../../src/internal/operators/min.ts","webpack://q2-tecton-platform/../../../src/internal/operators/multicast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/onErrorResumeNext.ts","webpack://q2-tecton-platform/../../../src/internal/operators/partition.ts","webpack://q2-tecton-platform/../../../src/internal/operators/pluck.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publish.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishBehavior.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishReplay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/race.ts","webpack://q2-tecton-platform/../../../src/internal/operators/repeat.ts","webpack://q2-tecton-platform/../../../src/internal/operators/repeatWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/retry.ts","webpack://q2-tecton-platform/../../../src/internal/operators/retryWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sample.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sampleTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sequenceEqual.ts","webpack://q2-tecton-platform/../../../src/internal/operators/share.ts","webpack://q2-tecton-platform/../../../src/internal/operators/shareReplay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/single.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skip.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipUntil.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipWhile.ts","webpack://q2-tecton-platform/../../../src/internal/operators/startWith.ts","webpack://q2-tecton-platform/../../../src/internal/observable/SubscribeOnObservable.ts","webpack://q2-tecton-platform/../../../src/internal/operators/subscribeOn.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeUntil.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeWhile.ts","webpack://q2-tecton-platform/../../../src/internal/operators/tap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throttle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throttleTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeInterval.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeoutWith.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeout.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timestamp.ts","webpack://q2-tecton-platform/../../../src/internal/operators/toArray.ts","webpack://q2-tecton-platform/../../../src/internal/operators/window.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowCount.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowToggle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/withLatestFrom.ts","webpack://q2-tecton-platform/../../../src/internal/operators/zip.ts","webpack://q2-tecton-platform/../../../src/internal/operators/zipAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/take.ts","webpack://q2-tecton-platform/../../../src/internal/operators/refCount.ts","webpack://q2-tecton-platform/../../src/internal/ReplaySubject.ts","webpack://q2-tecton-platform/../../../src/internal/observable/throwError.ts","webpack://q2-tecton-platform/../../../src/internal/observable/combineLatest.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeAll.ts","webpack://q2-tecton-platform/../../../src/internal/observable/defer.ts","webpack://q2-tecton-platform/../../../src/internal/observable/zip.ts","webpack://q2-tecton-platform/../../../src/internal/util/isObject.ts","webpack://q2-tecton-platform/../../../src/internal/util/canReportError.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleArray.ts","webpack://q2-tecton-platform/../../src/internal/Observer.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/QueueAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/queue.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/QueueScheduler.ts","webpack://q2-tecton-platform/../../src/internal/Scheduler.ts","webpack://q2-tecton-platform/../../../src/internal/operators/groupBy.ts","webpack://q2-tecton-platform/../../src/internal/BehaviorSubject.ts","webpack://q2-tecton-platform/../../../src/internal/observable/ConnectableObservable.ts","webpack://q2-tecton-platform/../../../src/internal/operators/observeOn.ts","webpack://q2-tecton-platform/../../../src/internal/util/TimeoutError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatAll.ts","webpack://q2-tecton-platform/../../../src/internal/observable/merge.ts","webpack://q2-tecton-platform/../../../src/internal/observable/race.ts","webpack://q2-tecton-platform/../../../src/internal/observable/timer.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinctUntilChanged.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduled.ts","webpack://q2-tecton-platform/../../../src/internal/util/isInteropObservable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleObservable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/schedulePromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/isIterable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleIterable.ts","webpack://q2-tecton-platform/../../src/internal/SubjectSubscription.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToArray.ts","webpack://q2-tecton-platform/../../../src/internal/util/isArrayLike.ts","webpack://q2-tecton-platform/../../../src/internal/util/isPromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/not.ts","webpack://q2-tecton-platform//webpack/universalModuleDefinition","webpack://q2-tecton-platform//webpack/bootstrap","webpack://q2-tecton-platform/webpack:/external \"maybe-not\"","webpack://q2-tecton-platform/webpack:/external \"rxjs\"","webpack://q2-tecton-platform/webpack:/external \"rxjs/operators\"","webpack://q2-tecton-platform//src/parse-first.ts","webpack://q2-tecton-platform//src/utility/helpers.ts","webpack://q2-tecton-platform//src/core/element-feature-adaptors/props.ts","webpack://q2-tecton-platform//src/core/element-feature-adaptors/shadow-dom.ts","webpack://q2-tecton-platform//src/core/base-element-factory.ts","webpack://q2-tecton-platform//src/drivers/generic-effects-driver.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromEvent.ts","webpack://q2-tecton-platform/../../../src/internal/operators/debounceTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/first.ts","webpack://q2-tecton-platform/../../../src/internal/operators/pairwise.ts","webpack://q2-tecton-platform//workspace/workspace/tecton-production_release_1.10.x/node_modules/url-polyfill/url-polyfill.js","webpack://q2-tecton-platform/(webpack)/buildin/global.js","webpack://q2-tecton-platform/../../src/utility/message-bus.ts","webpack://q2-tecton-platform/./src/utility/message-bus.ts","webpack://q2-tecton-platform/../../../src/models/data-types/hierarchy.ts","webpack://q2-tecton-platform/./src/sources/requestPlatformDataSetup.ts","webpack://q2-tecton-platform/./src/private-helpers/setupGetTypeValue.ts","webpack://q2-tecton-platform/./src/private-helpers/getModuleParams.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveFeature.ts","webpack://q2-tecton-platform/./src/utility/getNavigationData.ts","webpack://q2-tecton-platform/./src/actions/showOverpanelSetup.ts","webpack://q2-tecton-platform/./src/utility/validateActionParameters.ts","webpack://q2-tecton-platform/./src/actions/sendAlertSetup.ts","webpack://q2-tecton-platform/../../src/utility/pick.ts","webpack://q2-tecton-platform/./src/actions/index.ts","webpack://q2-tecton-platform/./src/actions/authorizeTransactionWithMfaSetup.ts","webpack://q2-tecton-platform/./src/actions/closeOverpanelSetup.ts","webpack://q2-tecton-platform/./src/actions/navigateToSetup.ts","webpack://q2-tecton-platform/./src/actions/setTitleSetup.ts","webpack://q2-tecton-platform/./src/actions/setParamsSetup.ts","webpack://q2-tecton-platform/./src/actions/clearParamsSetup.ts","webpack://q2-tecton-platform/./src/actions/refetchAccountsSetup.ts","webpack://q2-tecton-platform/./src/actions/t.ts","webpack://q2-tecton-platform/./src/actions/showModalSetup.ts","webpack://q2-tecton-platform/./src/actions/loadingModalSetup.ts","webpack://q2-tecton-platform/./src/actions/printWindowSetup.ts","webpack://q2-tecton-platform/./src/actions/keepAliveSetup.ts","webpack://q2-tecton-platform/./src/actions/logToServerSetup.ts","webpack://q2-tecton-platform/./src/actions/openURLSetup.ts","webpack://q2-tecton-platform/./src/actions/scrollToTopSetup.ts","webpack://q2-tecton-platform/./src/actions/clearCacheSetup.ts","webpack://q2-tecton-platform/./src/actions/manageChangesSetup.ts","webpack://q2-tecton-platform/./src/actions/actionRequiredSetup.ts","webpack://q2-tecton-platform/./src/utility/windowHelpers.ts","webpack://q2-tecton-platform/./src/sources/setupModuleParams.ts","webpack://q2-tecton-platform/./src/sources/tectonCacheSetup.ts","webpack://q2-tecton-platform/./src/sources/index.ts","webpack://q2-tecton-platform/./src/sources/cacheClearedSetup.ts","webpack://q2-tecton-platform/./src/sources/canUserSetup.ts","webpack://q2-tecton-platform/./src/sources/getFeatureConfigSetup.ts","webpack://q2-tecton-platform/./src/sources/getPendoInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getPlatformInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getVersionInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getAuthTokenSetup.ts","webpack://q2-tecton-platform/./src/sources/getGlobalScriptsSetup.ts","webpack://q2-tecton-platform/./src/sources/isNavigableSetup.ts","webpack://q2-tecton-platform/./src/sources/platformScrollChangedSetup.ts","webpack://q2-tecton-platform/./src/sources/promptForMFASetup.ts","webpack://q2-tecton-platform/./src/sources/refetchRequiredSetup.ts","webpack://q2-tecton-platform/./src/sources/requestExtensionDataSetup.ts","webpack://q2-tecton-platform/./src/sources/takePictureSetup.ts","webpack://q2-tecton-platform/../../src/outlets/tecton-outlet-base.ts","webpack://q2-tecton-platform/../../src/utility/check-permissions.ts","webpack://q2-tecton-platform/./src/outlets/platform-outlet.ts","webpack://q2-tecton-platform/../../src/utility/addParamToURL.ts","webpack://q2-tecton-platform/./src/private-helpers/assetPathResolvers.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveTabs.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveMenu.ts","webpack://q2-tecton-platform/./src/private-helpers/index.ts","webpack://q2-tecton-platform/./src/private-helpers/setupRegisterOutlet.ts","webpack://q2-tecton-platform/./src/private-helpers/platformCapabilities.ts","webpack://q2-tecton-platform/./src/private-helpers/getAuthPayload.ts","webpack://q2-tecton-platform/./src/private-helpers/cdnOverrideSetup.ts","webpack://q2-tecton-platform/./src/setup/index.ts","webpack://q2-tecton-platform/./src/setup/default-capabilities.ts","webpack://q2-tecton-platform/./src/setup/dynamic-capabilities.ts","webpack://q2-tecton-platform/./src/setup/styles.ts","webpack://q2-tecton-platform/./src/outlets/index.ts","webpack://q2-tecton-platform/../../src/utility/merge.ts"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","SafeSubscriber","_parentSubscriber","sub","Subject","InnerSubscriber","subscriber","AsyncSubject","delay","action","schedule","notPred","require","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","Event","toDashCase","str","charAt","slice","replace","toLowerCase","elementGuid","createGuid","enableProps","props","fnHashByName","reduce","indexed","obj","set","Map","hooks","init","element","__innerProps$","BehaviorSubject","connectedCallback","obj1","obj2","equal","obj1Keys","obj2Keys","initialProps","getValue","updatedProps","observedAttributes","forEach","getAttribute","attrName","setPropFromAttr","Maybe","just","keys","length","next","classSetup","ConstructF","assign","filter","x","reflectAs","map","prop","val","dashedName","observed","includes","setAttribute","String","removeAttribute","__attached","customElement","attrValue","mFnHashByName","propInitializer","camelName","$0","$1","toUpperCase","propConfig","propValue","Boolean","withDefault","setupShadowDOM","fragment","css","canTemplate","HTMLTemplateElement","generateCustomElementTemplate","generateCustomElementFragment","shadowRoot","querySelector","attachShadow","shadowContent","importNode","sheet","cssText","appendChild","createDocumentFragment","styleTag","createElement","createTextNode","rootDiv","className","template","innerHTML","content","generateCustomElementWrapper","engine","options","useShadowDOM","getShadowBaseElementM","nothing","propsSetup","isArray","self","Reflect","construct","HTMLElement","prototypeExtensions","__onTeardown","__onAttached","__guid","fn","engineStreams","maybe","props$","withDefaultFn","handleEngineStreams","__shadowAppBooted","tryAssigningNameProperties","component","writable","dataset","guid","alt","disconnectedCallback","reverse","attributeChangedCallback","oldVal","newVal","createSetupElement","elementConstructor","elementOptions","elementName","defineElement","customElements","interval","pipe","take","toPromise","then","placeholder","domSubscription","DOM$","subscribe","replaceChild","newElement","firstChild","settledSubscription","settled$","settled","dispatchEvent","teardownSubscription","teardown$","push","teardownFn","unsubscribe","error","makeGenericEffectsDriver","effect$","effect","complete","global","iteratorSupported","iterator","checkIfIteratorIsSupported","createIterator","items","shift","done","serializeParam","encodeURIComponent","deserializeParam","decodeURIComponent","URLSearchParams","toString","e","checkIfURLSearchParamsSupported","searchString","typeofSearchString","_fromString","_this","append","TypeError","entry","proto","_entries","delete","getAll","has","callback","thisArg","entries","values","searchArray","join","polyfillURLSearchParams","sort","a","configurable","attribute","attributes","split","u","URL","pathname","href","searchParams","checkIfURLIsSupported","_URL","url","base","baseElement","doc","location","implementation","createHTMLDocument","head","indexOf","Error","err","anchorElement","body","inputElement","type","protocol","test","checkValidity","search","enableSearchUpdate","enableSearchParamsUpdate","methodName","method","apply","arguments","attributeName","_anchorElement","linkURLWithAnchorAttribute","_updateSearchParams","defineProperties","expectedPort","addPortToOrigin","port","hostname","createObjectURL","blob","revokeObjectURL","polyfillURL","getOrigin","setInterval","origin","g","Function","PlatformMessageBus","tectonConfig$","allowAll","super","domains","Set","configSubscription","getConfigDomains","firehose$","teardown","tectonConfig","additionalDomains","moduleURLs","features","feature","featureAdditionalDomains","concat","moduleURL","domain","dedupeAndCompact","platformDataRequest","legacyControlBus","request","routePromise","dataType","isDataRequest","dataIdM","category","dataURLOrResolver","dataURLMap","default","Promise","resolve","id","paramString","buildQueryParams","resolveDataURL","dataId","route","sendRequest","Account","Accounts","FormData","FundsTransfer","Goals","Categories","CreateGoal","productTypeCode","productCode","TECTON_ACCOUNT_TYPE_PRODUCT_CODES","getAccountProductIDByType","productId","createAccountURLByType","Create","PRIVATE","systemConfig","accountProducts","productPromise","xhr","response","data","productsResponse","find","product","hydraProductTypeCode","hydraProductCode","productID","getTypeValue","baseDataType","valueId","providedTypeM","providedType","baseType","typeCategory","resolver","resolveSpecificTypeByData","catch","extended","ACCOUNT_TYPES_BY_CODE","transactionType","TRANSACTION_TYPES_BY_CODE","dorC","ofxTranType","DC","DM","DS","DT","DG","DP","DI","DB","LL","LI","LC","LM","LH","CM","CV","CD","CA","CCREDIT","CINT","CDIV","CDEP","CATM","CPOS","CXFER","CDIRECTDEP","CHOLD","COTHER","DDEBIT","DINT","DFEE","DSRVCHG","DATM","DPOS","DXFER","DPAYMENT","DCHECK","DCASH","DDIRECTDEBIT","DREPEATPMT","DOTHER","getModuleParams","item","lastIndex","lastIndexOf","startsWith","accumulator","substring","resolveFeature","params$","outletPath","baseContextM","contextValueIdM","moduleLookups","hostFeatureName","hostModuleName","sequence","baseContext","getTypeValueIfContextual","async","modulesFromLookups","dynamicConfigFetch","all","featureManifest","lookup","featureName","resolvedManifest","moduleName","allowDirectives","resolveLookups","typedResolutionM","valueTypeM","getTypePath","compatibleTypesByPriority","findMatchByPriority","prioritizedTypes","moduleConfig","meta","context","altMap","unTypedResolutionM","_a","_b","_c","_d","hostModulePermissions","requiredUserCapabilities","modulePermissions","allPermissions","initialParams","currentParams","minHeight","tabLabelOverride","formPostAuth","loadingOptions","getPathResolutionInfo","path","dynamicFetch","pathType","resolveType","isLegacyRoot","configPath","basePlatformConfig","outletName","generateTectonConfigPathFromModuleId","outletModuloVal","configuredOverpanels","pathOrigin","treeFromRoot","moduleModuloVal","acc","pathItem","index","resolveTectonPath","moduleTree","findModuleInArrayConfig","matchModulebyFeatureName","arr","testFn","nestedIndex","topLevelResolve","itemArr","findIndex","getNavigationData","primaryModuleName","primary","activeModule","navigable","legacy","legacyRouteName","showOverpanelSetup","messageBus","capabilities","teardowns","showOverpanel","add","subscription","sendResponse","overpanelConfig","overpanelConfigPath","messageBody","useRouteConfig","overpanelPath","resolvedInfo","featureConfig","legacyOverpanelName","actionParameters","candidateSubset","configuredParameters","undefined","JSON","stringify","invalidKeys","validateActionParameters","updateParams","overpanelId","size","height","fullWidth","sendAlertSetup","sendAlert","onMessage","message","cleanedMessage","setupActions","authorizeTransactionWithMfa","promptOptions","authorizeTransactionWithMfaSetup","closeOverpanel","closeOverpanelSetup","navigateTo","urlParams","queryParams","info","navData","targetModuleId","hasNothing","navigateToSetup","setOverpanelTitle","setPageTitle","title","setTitleSetup","paramsObject","setParamsSetup","clearParams","clearParamsSetup","refetchAccountsNotification","clearCacheByPrefix","clearTransferCache","refetchAccountsSetup","language","getCurrentLanguage","currentLanguage$","languageChanged","langKey","currentLanguageSubscription","sendBroadcast","currentLanguageResponseSubscription","setupTectonLanguage","showModal","modalOptions","actionName","showModalSetup","showLoadingModal","clearLoadingModal","loadingModalSetup","subscriptions","Tecton","inMobileApp","console","focus","print","printWindowSetup","keepAlive","keepAliveSetup","logToServer","level","logToServerSetup","openURL","openURLSetup","scrollTo","scrollToTop","routePrefixes","cleared","clearCacheSetup","manageChanges","changeData","manageChangesSetup","actionRequired","removeActionRequired","uuid","scrollYHelper","scrollY","innerHeightHelper","innerHeight","setupModuleParams","moduleParams$","paramsChanged","changedParams","changedModuleParams","currentModuleParams","_buildCacheKey","tectonCacheSetup","registerLogoffHook","browserSupportsGetItem","sessionStorage","getItem","browserSupportsSetItem","setItem","browserSupportsRemoveSetItem","removeItem","_browserSupportsSessionStorage","getSubscription","cacheKey","cachedData","parse","setSubscription","subStorageKey","tectonCache","setupSources","refetchRequired","cacheClearedSetup","getCapabilities","allowed","every","canUserSetup","getFeatureConfig","declaredConfigVariables","configuredSystemVariables","config","getFeatureConfigSetup","getPendoInfo","getPendoInfoSetup","getPlatformInfo","requestedInfo","getPlatformInfoSetup","getVersionInfo","returnedVars","TECTON_PLATFORM_VERSION","TECTONPLATFORMVERSION","getVersionInfoSetup","getAuthToken","getAuthTokenSetup","getGlobalScripts","getGlobalScriptsSetup","isUUXPath","isNavigableSetup","onScroll","getSurroundingOffsets","addEventListener","removeEventListener","platformScrollChanged","promptForMFA","refetchRequiredSetup","requestExtensionData","requestExtensionDataSetup","subscriptionV1","status","statusText","subscriptionV2","requestPlatformDataSetup","takePicture","overlayText","helpText","image","picture","takePictureSetup","tectonPlatformOutletObservedAttrs","loadTectonPlatformOutlet","authPayload","buildURLWithPlatformBase","memorizedProps$","getContent","loaderWrapper","iframeEl","getModuleId","loadingSubscription","setupOutletIFrameLoading","outletInfoSubscription","setupOutletInfo","configTree$","configTree","distinctUntilChanged","isOverpanel$","overpanelSubscription","overpanel","routeName$","routeName","moduleIdChangeSubscription","pairwise","oldModuleId","sendMessage","outletDataSubscription","combineLatest","isOverpanel","checkRequiredPermissionsOnPlatform","allow","urlFromConfig","iframeSrc","addParamToURL","style","maxHeight","maxWidth","resizerSubscription","setupOutletIFrameResizer","titleSubscription","setupOutletSetTitleListener","outletDOM","setupOutletIFrameWrapper","loaders","buildLoaders","outlet","classList","loaderRow","row","loader","slot","existingLoadingWrapper","NGAM_BASE","ifRelativePrependOrigin","setupResolveTabs","platformConfig","configPromise","featureManfest","outletType","outlets","contextValue","resolvedType","tabLookups","configuredOutlets","tabLookup","tabM","tab","tabLabel","tabsMs","filterSomethings","tabs","tabInfo","resolveTabs","resolvedTabs","setupResolveMenu","resolvedPathInfo","menuLookups","menuLookup","menuM","asyncMap","menu","ctxId","menuItem","itemLabel","contextIdParamName","menuMs","resolveMenuItems","resolvedMenuItems","setupPrivateHelpers","setupGetTypeValue","setupRegisterOutlet","customLanguagePathSubscription","customerAssetPathSubscription","subPath","getCustomerSpecificAssetPath","getCustomLanguageURL","moduleInfo","baseAssetPathSubscription","getBaseAssetPath","getNgamBaseURL","ngamBase","setupPathResolvers","contextValueId","featureM","shape","setupResolveFeature","platformCapabilites","from","platformCapabilitiesSetup","getAuthPayload","cdnOverride","cdnOverrideSetup","testOptions","adaptConfig","isTestingTecton","testing","setupDefaultCapabilities","setupDynamicPlatformAPI","capability","functionName","args","executeDynamicPlatformAPI","setupDynamicCapabilities","getCurrentTheme","currentTheme$","onThemeChange","themeName","themeChanged","tectonThemeSubscription","themePath","tectonCurrentThemeServiceSubscription","setupTectonStyles","setupTectonElement","tectonOutletAdaptor","setupOutlets","buildIframeURL","tectonParamsChanged","updateConfig","configDiff","configValue","merge","replaceConfig","configLookup","routeConfig","configForRoute","configForOverpanel","overpanelKey","overpanelKeyOrModuleName","featureObj","configuredOverpanel","moduleUrl"],"mappings":"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","file":"q2-tecton-platform.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"q2-tecton-platform\"] = factory();\n\telse\n\t\troot[\"q2-tecton-platform\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","export class Maybe {\n constructor(value) {\n this.value = value;\n }\n static just(val) {\n if (val === undefined || val === null) {\n throw new TypeError('Value passed to just must exist!');\n }\n return new Maybe(val);\n }\n static nothing() {\n return new Maybe();\n }\n static maybe(val) {\n if (val === undefined || val === null) {\n return Maybe.nothing();\n }\n return Maybe.just(val);\n }\n static join(nestedMaybe) {\n return nestedMaybe.withDefault(Maybe.nothing());\n }\n static sequence(arr) {\n return arr.reduce((acc, val) => {\n return acc.bind(arr => val.map(item => arr.concat(item)));\n }, Maybe.just([]));\n }\n static traverse(fn, arr) {\n return Maybe.sequence(arr).map(items => items.map(fn));\n }\n static justMap(fn, arr) {\n return arr.reduce((acc, item) => {\n const mValue = fn(item);\n return mValue.value !== undefined ? acc.concat(mValue.value) : acc;\n }, []);\n }\n static filterSomethings(arr) {\n return arr.reduce((acc, xM) => {\n if (xM.value) {\n acc.push(xM.value);\n }\n return acc;\n }, []);\n }\n static lift(fn) {\n return mX => mX.map(fn);\n }\n static lift2(fn) {\n return (mX, mY) => Maybe.sequence([mX, mY]).map(ms => fn(ms[0], ms[1]));\n }\n static lift3(fn) {\n return (mX, mY, mZ) => Maybe.sequence([mX, mY, mZ]).map(ms => fn(ms[0], ms[1], ms[2]));\n }\n static toPromise(maybe) {\n if (maybe.hasSomething) {\n return Promise.resolve(maybe.value);\n }\n else {\n return Promise.reject();\n }\n }\n map(fn) {\n if (this.value !== undefined) {\n return Maybe.maybe(fn(this.value));\n }\n return Maybe.nothing();\n }\n asyncMap(fn) {\n if (this.value !== undefined) {\n return fn(this.value).then(x => {\n if (x === undefined || x === null) {\n throw 'Promise Conversion from a Maybe.Nothing';\n }\n return x;\n });\n }\n return Promise.reject();\n }\n alt(elseValue) {\n return this.value !== undefined ? this : elseValue;\n }\n altMap(elseFn) {\n return this.value !== undefined ? this : elseFn();\n }\n ap(mFn) {\n return mFn.bind(fn => this.map(fn));\n }\n bind(fn) {\n return Maybe.join(this.map(fn));\n }\n withDefault(fallback) {\n return this.value !== undefined ? this.value : fallback;\n }\n withDefaultFn(fallbackFn) {\n return this.value !== undefined ? this.value : fallbackFn();\n }\n get hasNothing() {\n return this.value === undefined;\n }\n get hasSomething() {\n return !this.hasNothing;\n }\n unsafeElse(fn) {\n if (this.hasNothing) {\n fn();\n }\n }\n}\nMaybe.of = Maybe.maybe;\n//# sourceMappingURL=maybe-not.js.map","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map\n","/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map\n","/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\nimport { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar EmptyErrorImpl = /*@__PURE__*/ (function () {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport var EmptyError = EmptyErrorImpl;\n//# sourceMappingURL=EmptyError.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = null;\n }\n return function (source) { return source.lift(new DefaultIfEmptyOperator(defaultValue)); };\n}\nvar DefaultIfEmptyOperator = /*@__PURE__*/ (function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n return DefaultIfEmptyOperator;\n}());\nvar DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DefaultIfEmptySubscriber, _super);\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n var _this = _super.call(this, destination) || this;\n _this.defaultValue = defaultValue;\n _this.isEmpty = true;\n return _this;\n }\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n };\n return DefaultIfEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { Subscription } from './Subscription';\nvar AsyncSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.value = null;\n _this.hasNext = false;\n _this.hasCompleted = false;\n return _this;\n }\n AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(Subject));\nexport { AsyncSubject };\n//# sourceMappingURL=AsyncSubject.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","/** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */\nimport { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map\n","/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\nimport { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map\n","/** PURE_IMPORTS_START tslib,_util_EmptyError,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) {\n errorFactory = defaultErrorFactory;\n }\n return function (source) {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nvar ThrowIfEmptyOperator = /*@__PURE__*/ (function () {\n function ThrowIfEmptyOperator(errorFactory) {\n this.errorFactory = errorFactory;\n }\n ThrowIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n };\n return ThrowIfEmptyOperator;\n}());\nvar ThrowIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrowIfEmptySubscriber, _super);\n function ThrowIfEmptySubscriber(destination, errorFactory) {\n var _this = _super.call(this, destination) || this;\n _this.errorFactory = errorFactory;\n _this.hasValue = false;\n return _this;\n }\n ThrowIfEmptySubscriber.prototype._next = function (value) {\n this.hasValue = true;\n this.destination.next(value);\n };\n ThrowIfEmptySubscriber.prototype._complete = function () {\n if (!this.hasValue) {\n var err = void 0;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n };\n return ThrowIfEmptySubscriber;\n}(Subscriber));\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar AnimationFrameAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map\n","/** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */\nimport { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrameScheduler = /*@__PURE__*/ new AnimationFrameScheduler(AnimationFrameAction);\nexport var animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AnimationFrameScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nvar VirtualTimeScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n if (SchedulerAction === void 0) {\n SchedulerAction = VirtualAction;\n }\n if (maxFrames === void 0) {\n maxFrames = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, SchedulerAction, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler));\nexport { VirtualTimeScheduler };\nvar VirtualAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) {\n index = scheduler.index += 1;\n }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction));\nexport { VirtualAction };\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n//# sourceMappingURL=isObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isArray,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isArray } from '../util/isArray';\nimport { isScheduler } from '../util/isScheduler';\nexport function bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var subject;\n var params = {\n context: context,\n subject: subject,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n };\n return new Observable(function (subscriber) {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n var state = {\n args: args, subscriber: subscriber, params: params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var self = this;\n var args = state.args, subscriber = state.subscriber, params = state.params;\n var callbackFunc = params.callbackFunc, context = params.context, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n var value = state.value, subject = state.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n var err = state.err, subject = state.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isScheduler,_util_isArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nexport function bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindNodeCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var params = {\n subject: undefined,\n args: args,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n context: this,\n };\n return new Observable(function (subscriber) {\n var context = params.context;\n var subject = params.subject;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params: params, subscriber: subscriber, context: context });\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var params = state.params, subscriber = state.subscriber, context = state.context;\n var callbackFunc = params.callbackFunc, args = params.args, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n _this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_operators_map,_util_isObject,_from PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 1) {\n var first_1 = sources[0];\n if (isArray(first_1)) {\n return forkJoinInternal(first_1, null);\n }\n if (isObject(first_1) && Object.getPrototypeOf(first_1) === Object.prototype) {\n var keys = Object.keys(first_1);\n return forkJoinInternal(keys.map(function (key) { return first_1[key]; }), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n var resultSelector_1 = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map(function (args) { return resultSelector_1.apply(void 0, args); }));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(function (subscriber) {\n var len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n var values = new Array(len);\n var completed = 0;\n var emitted = 0;\n var _loop_1 = function (i) {\n var source = from(sources[i]);\n var hasValue = false;\n subscriber.add(source.subscribe({\n next: function (value) {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: function (err) { return subscriber.error(err); },\n complete: function () {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce(function (result, key, i) { return (result[key] = values[i], result); }, {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map\n","/** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { isScheduler } from '../util/isScheduler';\nexport function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n var resultSelector;\n var initialState;\n if (arguments.length == 1) {\n var options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable(function (subscriber) {\n var state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber: subscriber,\n iterate: iterate,\n condition: condition,\n resultSelector: resultSelector,\n state: state\n });\n }\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map\n","/** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */\nimport { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) {\n trueResult = EMPTY;\n }\n if (falseResult === void 0) {\n falseResult = EMPTY;\n }\n return defer(function () { return condition() ? trueResult : falseResult; });\n}\n//# sourceMappingURL=iif.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nexport function interval(period, scheduler) {\n if (period === void 0) {\n period = 0;\n }\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (!isNumeric(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber: subscriber, counter: 0, period: period }));\n return subscriber;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, counter = state.counter, period = state.period;\n subscriber.next(counter);\n this.schedule({ subscriber: subscriber, counter: counter + 1, period: period }, period);\n}\n//# sourceMappingURL=interval.js.map\n","/** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = /*@__PURE__*/ new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { isArray } from '../util/isArray';\nimport { EMPTY } from './empty';\nexport function onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 0) {\n return EMPTY;\n }\n var first = sources[0], remainder = sources.slice(1);\n if (sources.length === 1 && isArray(first)) {\n return onErrorResumeNext.apply(void 0, first);\n }\n return new Observable(function (subscriber) {\n var subNext = function () { return subscriber.add(onErrorResumeNext.apply(void 0, remainder).subscribe(subscriber)); };\n return from(first).subscribe({\n next: function (value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n//# sourceMappingURL=onErrorResumeNext.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function pairs(obj, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length && !subscriber.closed; i++) {\n var key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n var subscription = new Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys: keys, index: 0, subscriber: subscriber, subscription: subscription, obj: obj }));\n return subscription;\n });\n }\n}\nexport function dispatch(state) {\n var keys = state.keys, index = state.index, subscriber = state.subscriber, subscription = state.subscription, obj = state.obj;\n if (!subscriber.closed) {\n if (index < keys.length) {\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys: keys, index: index + 1, subscriber: subscriber, subscription: subscription, obj: obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\n//# sourceMappingURL=pairs.js.map\n","/** PURE_IMPORTS_START _util_not,_util_subscribeTo,_operators_filter,_Observable PURE_IMPORTS_END */\nimport { not } from '../util/not';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { filter } from '../operators/filter';\nimport { Observable } from '../Observable';\nexport function partition(source, predicate, thisArg) {\n return [\n filter(predicate, thisArg)(new Observable(subscribeTo(source))),\n filter(not(predicate, thisArg))(new Observable(subscribeTo(source)))\n ];\n}\n//# sourceMappingURL=partition.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function range(start, count, scheduler) {\n if (start === void 0) {\n start = 0;\n }\n return new Observable(function (subscriber) {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n var index = 0;\n var current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexport function dispatch(state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\n//# sourceMappingURL=range.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function using(resourceFactory, observableFactory) {\n return new Observable(function (subscriber) {\n var resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = result ? from(result) : EMPTY;\n var subscription = source.subscribe(subscriber);\n return function () {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=using.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar nextHandle = 1;\nvar RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })();\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map\n","/** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nvar AsapAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map\n","/** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */\nimport { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = /*@__PURE__*/ new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function audit(durationSelector) {\n return function auditOperatorFunction(source) {\n return source.lift(new AuditOperator(durationSelector));\n };\n}\nvar AuditOperator = /*@__PURE__*/ (function () {\n function AuditOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n AuditOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n };\n return AuditOperator;\n}());\nvar AuditSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AuditSubscriber, _super);\n function AuditSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n AuditSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n if (!this.throttled) {\n var duration = void 0;\n try {\n var durationSelector = this.durationSelector;\n duration = durationSelector(value);\n }\n catch (err) {\n return this.destination.error(err);\n }\n var innerSubscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (!innerSubscription || innerSubscription.closed) {\n this.clearThrottle();\n }\n else {\n this.add(this.throttled = innerSubscription);\n }\n }\n };\n AuditSubscriber.prototype.clearThrottle = function () {\n var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n if (throttled) {\n this.remove(throttled);\n this.throttled = undefined;\n throttled.unsubscribe();\n }\n if (hasValue) {\n this.value = undefined;\n this.hasValue = false;\n this.destination.next(value);\n }\n };\n AuditSubscriber.prototype.notifyNext = function () {\n this.clearThrottle();\n };\n AuditSubscriber.prototype.notifyComplete = function () {\n this.clearThrottle();\n };\n return AuditSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=audit.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return audit(function () { return timer(duration, scheduler); });\n}\n//# sourceMappingURL=auditTime.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function buffer(closingNotifier) {\n return function bufferOperatorFunction(source) {\n return source.lift(new BufferOperator(closingNotifier));\n };\n}\nvar BufferOperator = /*@__PURE__*/ (function () {\n function BufferOperator(closingNotifier) {\n this.closingNotifier = closingNotifier;\n }\n BufferOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n };\n return BufferOperator;\n}());\nvar BufferSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferSubscriber, _super);\n function BufferSubscriber(destination, closingNotifier) {\n var _this = _super.call(this, destination) || this;\n _this.buffer = [];\n _this.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(_this)));\n return _this;\n }\n BufferSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferSubscriber.prototype.notifyNext = function () {\n var buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n };\n return BufferSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=buffer.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) {\n startBufferEvery = null;\n }\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nvar BufferCountOperator = /*@__PURE__*/ (function () {\n function BufferCountOperator(bufferSize, startBufferEvery) {\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n if (!startBufferEvery || bufferSize === startBufferEvery) {\n this.subscriberClass = BufferCountSubscriber;\n }\n else {\n this.subscriberClass = BufferSkipCountSubscriber;\n }\n }\n BufferCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n };\n return BufferCountOperator;\n}());\nvar BufferCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferCountSubscriber, _super);\n function BufferCountSubscriber(destination, bufferSize) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.buffer = [];\n return _this;\n }\n BufferCountSubscriber.prototype._next = function (value) {\n var buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n };\n BufferCountSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n return BufferCountSubscriber;\n}(Subscriber));\nvar BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferSkipCountSubscriber, _super);\n function BufferSkipCountSubscriber(destination, bufferSize, startBufferEvery) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.startBufferEvery = startBufferEvery;\n _this.buffers = [];\n _this.count = 0;\n return _this;\n }\n BufferSkipCountSubscriber.prototype._next = function (value) {\n var _a = this, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers, count = _a.count;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (var i = buffers.length; i--;) {\n var buffer = buffers[i];\n buffer.push(value);\n if (buffer.length === bufferSize) {\n buffers.splice(i, 1);\n this.destination.next(buffer);\n }\n }\n };\n BufferSkipCountSubscriber.prototype._complete = function () {\n var _a = this, buffers = _a.buffers, destination = _a.destination;\n while (buffers.length > 0) {\n var buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n _super.prototype._complete.call(this);\n };\n return BufferSkipCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=bufferCount.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_Subscriber,_util_isScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isScheduler } from '../util/isScheduler';\nexport function bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = async;\n if (isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return function bufferTimeOperatorFunction(source) {\n return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\nvar BufferTimeOperator = /*@__PURE__*/ (function () {\n function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n BufferTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n };\n return BufferTimeOperator;\n}());\nvar Context = /*@__PURE__*/ (function () {\n function Context() {\n this.buffer = [];\n }\n return Context;\n}());\nvar BufferTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferTimeSubscriber, _super);\n function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.bufferTimeSpan = bufferTimeSpan;\n _this.bufferCreationInterval = bufferCreationInterval;\n _this.maxBufferSize = maxBufferSize;\n _this.scheduler = scheduler;\n _this.contexts = [];\n var context = _this.openContext();\n _this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (_this.timespanOnly) {\n var timeSpanOnlyState = { subscriber: _this, context: context, bufferTimeSpan: bufferTimeSpan };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n var closeState = { subscriber: _this, context: context };\n var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n return _this;\n }\n BufferTimeSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n var filledBufferContext;\n for (var i = 0; i < len; i++) {\n var context_1 = contexts[i];\n var buffer = context_1.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context_1;\n }\n }\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n };\n BufferTimeSubscriber.prototype._error = function (err) {\n this.contexts.length = 0;\n _super.prototype._error.call(this, err);\n };\n BufferTimeSubscriber.prototype._complete = function () {\n var _a = this, contexts = _a.contexts, destination = _a.destination;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n destination.next(context_2.buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferTimeSubscriber.prototype._unsubscribe = function () {\n this.contexts = null;\n };\n BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n this.closeContext(context);\n var closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n var bufferTimeSpan = this.bufferTimeSpan;\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n };\n BufferTimeSubscriber.prototype.openContext = function () {\n var context = new Context();\n this.contexts.push(context);\n return context;\n };\n BufferTimeSubscriber.prototype.closeContext = function (context) {\n this.destination.next(context.buffer);\n var contexts = this.contexts;\n var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n };\n return BufferTimeSubscriber;\n}(Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n var subscriber = state.subscriber;\n var prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\nfunction dispatchBufferCreation(state) {\n var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n var context = subscriber.openContext();\n var action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n var subscriber = arg.subscriber, context = arg.context;\n subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nexport function bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nvar BufferToggleOperator = /*@__PURE__*/ (function () {\n function BufferToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n BufferToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return BufferToggleOperator;\n}());\nvar BufferToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferToggleSubscriber, _super);\n function BufferToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(subscribeToResult(_this, openings));\n return _this;\n }\n BufferToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n };\n BufferToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_1 = contexts.shift();\n context_1.subscription.unsubscribe();\n context_1.buffer = null;\n context_1.subscription = null;\n }\n this.contexts = null;\n _super.prototype._error.call(this, err);\n };\n BufferToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n this.destination.next(context_2.buffer);\n context_2.subscription.unsubscribe();\n context_2.buffer = null;\n context_2.subscription = null;\n }\n this.contexts = null;\n _super.prototype._complete.call(this);\n };\n BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n };\n BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n this.closeBuffer(innerSub.context);\n };\n BufferToggleSubscriber.prototype.openBuffer = function (value) {\n try {\n var closingSelector = this.closingSelector;\n var closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n var contexts = this.contexts;\n if (contexts && context) {\n var buffer = context.buffer, subscription = context.subscription;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n };\n BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n var contexts = this.contexts;\n var buffer = [];\n var subscription = new Subscription();\n var context = { buffer: buffer, subscription: subscription };\n contexts.push(context);\n var innerSubscription = subscribeToResult(this, closingNotifier, context);\n if (!innerSubscription || innerSubscription.closed) {\n this.closeBuffer(context);\n }\n else {\n innerSubscription.context = context;\n this.add(innerSubscription);\n subscription.add(innerSubscription);\n }\n };\n return BufferToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nvar BufferWhenOperator = /*@__PURE__*/ (function () {\n function BufferWhenOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n BufferWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n };\n return BufferWhenOperator;\n}());\nvar BufferWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferWhenSubscriber, _super);\n function BufferWhenSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.subscribing = false;\n _this.openBuffer();\n return _this;\n }\n BufferWhenSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferWhenSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferWhenSubscriber.prototype._unsubscribe = function () {\n this.buffer = undefined;\n this.subscribing = false;\n };\n BufferWhenSubscriber.prototype.notifyNext = function () {\n this.openBuffer();\n };\n BufferWhenSubscriber.prototype.notifyComplete = function () {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n };\n BufferWhenSubscriber.prototype.openBuffer = function () {\n var closingSubscription = this.closingSubscription;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n var buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (err) {\n return this.error(err);\n }\n closingSubscription = new Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(this)));\n this.subscribing = false;\n };\n return BufferWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nvar CatchOperator = /*@__PURE__*/ (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=catchError.js.map\n","/** PURE_IMPORTS_START _observable_combineLatest PURE_IMPORTS_END */\nimport { CombineLatestOperator } from '../observable/combineLatest';\nexport function combineAll(project) {\n return function (source) { return source.lift(new CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineAll.js.map\n","/** PURE_IMPORTS_START _util_isArray,_observable_combineLatest,_observable_from PURE_IMPORTS_END */\nimport { isArray } from '../util/isArray';\nimport { CombineLatestOperator } from '../observable/combineLatest';\nimport { from } from '../observable/from';\nvar none = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(from([source].concat(observables)), new CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _observable_concat PURE_IMPORTS_END */\nimport { concat as concatStatic } from '../observable/concat';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(concatStatic.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map\n","/** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */\nimport { concatMap } from './concatMap';\nexport function concatMapTo(innerObservable, resultSelector) {\n return concatMap(function () { return innerObservable; }, resultSelector);\n}\n//# sourceMappingURL=concatMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nvar CountOperator = /*@__PURE__*/ (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\nvar CountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.count = 0;\n _this.index = 0;\n return _this;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=count.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function debounce(durationSelector) {\n return function (source) { return source.lift(new DebounceOperator(durationSelector)); };\n}\nvar DebounceOperator = /*@__PURE__*/ (function () {\n function DebounceOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n DebounceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n };\n return DebounceOperator;\n}());\nvar DebounceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceSubscriber, _super);\n function DebounceSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n DebounceSubscriber.prototype._next = function (value) {\n try {\n var result = this.durationSelector.call(this, value);\n if (result) {\n this._tryNext(value, result);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DebounceSubscriber.prototype._complete = function () {\n this.emitValue();\n this.destination.complete();\n };\n DebounceSubscriber.prototype._tryNext = function (value, duration) {\n var subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (subscription && !subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n };\n DebounceSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n var value = this.value;\n var subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = undefined;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = undefined;\n this.hasValue = false;\n _super.prototype._next.call(this, value);\n }\n };\n return DebounceSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=debounce.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n var absoluteDelay = isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nvar DelayOperator = /*@__PURE__*/ (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\nvar DelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.delay = delay;\n _this.scheduler = scheduler;\n _this.queue = [];\n _this.active = false;\n _this.errored = false;\n return _this;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n var destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(Subscriber));\nvar DelayMessage = /*@__PURE__*/ (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n };\n }\n return function (source) { return source.lift(new DelayWhenOperator(delayDurationSelector)); };\n}\nvar DelayWhenOperator = /*@__PURE__*/ (function () {\n function DelayWhenOperator(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n DelayWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n };\n return DelayWhenOperator;\n}());\nvar DelayWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DelayWhenSubscriber, _super);\n function DelayWhenSubscriber(destination, delayDurationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.delayDurationSelector = delayDurationSelector;\n _this.completed = false;\n _this.delayNotifierSubscriptions = [];\n _this.index = 0;\n return _this;\n }\n DelayWhenSubscriber.prototype.notifyNext = function (outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n var value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype._next = function (value) {\n var index = this.index++;\n try {\n var delayNotifier = this.delayDurationSelector(value, index);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DelayWhenSubscriber.prototype._complete = function () {\n this.completed = true;\n this.tryComplete();\n this.unsubscribe();\n };\n DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n subscription.unsubscribe();\n var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n if (subscriptionIdx !== -1) {\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n }\n return subscription.outerValue;\n };\n DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n var notifierSubscription = subscribeToResult(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n var destination = this.destination;\n destination.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n };\n DelayWhenSubscriber.prototype.tryComplete = function () {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n };\n return DelayWhenSubscriber;\n}(OuterSubscriber));\nvar SubscriptionDelayObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscriptionDelayObservable, _super);\n function SubscriptionDelayObservable(source, subscriptionDelay) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subscriptionDelay = subscriptionDelay;\n return _this;\n }\n SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n };\n return SubscriptionDelayObservable;\n}(Observable));\nvar SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscriptionDelaySubscriber, _super);\n function SubscriptionDelaySubscriber(parent, source) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.source = source;\n _this.sourceSubscribed = false;\n return _this;\n }\n SubscriptionDelaySubscriber.prototype._next = function (unused) {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype._error = function (err) {\n this.unsubscribe();\n this.parent.error(err);\n };\n SubscriptionDelaySubscriber.prototype._complete = function () {\n this.unsubscribe();\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n };\n return SubscriptionDelaySubscriber;\n}(Subscriber));\n//# sourceMappingURL=delayWhen.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function dematerialize() {\n return function dematerializeOperatorFunction(source) {\n return source.lift(new DeMaterializeOperator());\n };\n}\nvar DeMaterializeOperator = /*@__PURE__*/ (function () {\n function DeMaterializeOperator() {\n }\n DeMaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DeMaterializeSubscriber(subscriber));\n };\n return DeMaterializeOperator;\n}());\nvar DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DeMaterializeSubscriber, _super);\n function DeMaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n DeMaterializeSubscriber.prototype._next = function (value) {\n value.observe(this.destination);\n };\n return DeMaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=dematerialize.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return function (source) { return source.lift(new DistinctOperator(keySelector, flushes)); };\n}\nvar DistinctOperator = /*@__PURE__*/ (function () {\n function DistinctOperator(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n DistinctOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n };\n return DistinctOperator;\n}());\nvar DistinctSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DistinctSubscriber, _super);\n function DistinctSubscriber(destination, keySelector, flushes) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.values = new Set();\n if (flushes) {\n _this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(_this)));\n }\n return _this;\n }\n DistinctSubscriber.prototype.notifyNext = function () {\n this.values.clear();\n };\n DistinctSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n DistinctSubscriber.prototype._next = function (value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n };\n DistinctSubscriber.prototype._useKeySelector = function (value) {\n var key;\n var destination = this.destination;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n };\n DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n var values = this.values;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n };\n return DistinctSubscriber;\n}(SimpleOuterSubscriber));\nexport { DistinctSubscriber };\n//# sourceMappingURL=distinct.js.map\n","/** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */\nimport { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n","/** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { filter } from './filter';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { take } from './take';\nexport function elementAt(index, defaultValue) {\n if (index < 0) {\n throw new ArgumentOutOfRangeError();\n }\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(filter(function (v, i) { return i === index; }), take(1), hasDefaultValue\n ? defaultIfEmpty(defaultValue)\n : throwIfEmpty(function () { return new ArgumentOutOfRangeError(); }));\n };\n}\n//# sourceMappingURL=elementAt.js.map\n","/** PURE_IMPORTS_START _observable_concat,_observable_of PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n return function (source) { return concat(source, of.apply(void 0, array)); };\n}\n//# sourceMappingURL=endWith.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function every(predicate, thisArg) {\n return function (source) { return source.lift(new EveryOperator(predicate, thisArg, source)); };\n}\nvar EveryOperator = /*@__PURE__*/ (function () {\n function EveryOperator(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n EveryOperator.prototype.call = function (observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n };\n return EveryOperator;\n}());\nvar EverySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(EverySubscriber, _super);\n function EverySubscriber(destination, predicate, thisArg, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.source = source;\n _this.index = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n };\n EverySubscriber.prototype._next = function (value) {\n var result = false;\n try {\n result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (!result) {\n this.notifyComplete(false);\n }\n };\n EverySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return EverySubscriber;\n}(Subscriber));\n//# sourceMappingURL=every.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function exhaust() {\n return function (source) { return source.lift(new SwitchFirstOperator()); };\n}\nvar SwitchFirstOperator = /*@__PURE__*/ (function () {\n function SwitchFirstOperator() {\n }\n SwitchFirstOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstSubscriber(subscriber));\n };\n return SwitchFirstOperator;\n}());\nvar SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchFirstSubscriber, _super);\n function SwitchFirstSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasCompleted = false;\n _this.hasSubscription = false;\n return _this;\n }\n SwitchFirstSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.hasSubscription = true;\n this.add(innerSubscribe(value, new SimpleInnerSubscriber(this)));\n }\n };\n SwitchFirstSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=exhaust.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return function (source) { return source.pipe(exhaustMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) {\n return source.lift(new ExhaustMapOperator(project));\n };\n}\nvar ExhaustMapOperator = /*@__PURE__*/ (function () {\n function ExhaustMapOperator(project) {\n this.project = project;\n }\n ExhaustMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExhaustMapSubscriber(subscriber, this.project));\n };\n return ExhaustMapOperator;\n}());\nvar ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ExhaustMapSubscriber, _super);\n function ExhaustMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.hasSubscription = false;\n _this.hasCompleted = false;\n _this.index = 0;\n return _this;\n }\n ExhaustMapSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n };\n ExhaustMapSubscriber.prototype.tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.hasSubscription = true;\n this._innerSub(result);\n };\n ExhaustMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n ExhaustMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExhaustMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n ExhaustMapSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n ExhaustMapSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return ExhaustMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function expand(project, concurrent, scheduler) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return function (source) { return source.lift(new ExpandOperator(project, concurrent, scheduler)); };\n}\nvar ExpandOperator = /*@__PURE__*/ (function () {\n function ExpandOperator(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n ExpandOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n };\n return ExpandOperator;\n}());\nexport { ExpandOperator };\nvar ExpandSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ExpandSubscriber, _super);\n function ExpandSubscriber(destination, project, concurrent, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.scheduler = scheduler;\n _this.index = 0;\n _this.active = 0;\n _this.hasCompleted = false;\n if (concurrent < Number.POSITIVE_INFINITY) {\n _this.buffer = [];\n }\n return _this;\n }\n ExpandSubscriber.dispatch = function (arg) {\n var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n subscriber.subscribeToProjection(result, value, index);\n };\n ExpandSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n var index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n try {\n var project = this.project;\n var result = project(value, index);\n if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n var state = { subscriber: this, result: result, value: value, index: index };\n var destination_1 = this.destination;\n destination_1.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n catch (e) {\n destination.error(e);\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n this.active++;\n var destination = this.destination;\n destination.add(innerSubscribe(result, new SimpleInnerSubscriber(this)));\n };\n ExpandSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExpandSubscriber.prototype.notifyNext = function (innerValue) {\n this._next(innerValue);\n };\n ExpandSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer && buffer.length > 0) {\n this._next(buffer.shift());\n }\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n return ExpandSubscriber;\n}(SimpleOuterSubscriber));\nexport { ExpandSubscriber };\n//# sourceMappingURL=expand.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nvar FinallyOperator = /*@__PURE__*/ (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber));\n//# sourceMappingURL=finalize.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return function (source) { return source.lift(new FindValueOperator(predicate, source, false, thisArg)); };\n}\nvar FindValueOperator = /*@__PURE__*/ (function () {\n function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n FindValueOperator.prototype.call = function (observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n };\n return FindValueOperator;\n}());\nexport { FindValueOperator };\nvar FindValueSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FindValueSubscriber, _super);\n function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.yieldIndex = yieldIndex;\n _this.thisArg = thisArg;\n _this.index = 0;\n return _this;\n }\n FindValueSubscriber.prototype.notifyComplete = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n this.unsubscribe();\n };\n FindValueSubscriber.prototype._next = function (value) {\n var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n var index = this.index++;\n try {\n var result = predicate.call(thisArg || this, value, index, this.source);\n if (result) {\n this.notifyComplete(this.yieldIndex ? index : value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n FindValueSubscriber.prototype._complete = function () {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n };\n return FindValueSubscriber;\n}(Subscriber));\nexport { FindValueSubscriber };\n//# sourceMappingURL=find.js.map\n","/** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */\nimport { FindValueOperator } from '../operators/find';\nexport function findIndex(predicate, thisArg) {\n return function (source) { return source.lift(new FindValueOperator(predicate, source, true, thisArg)); };\n}\n//# sourceMappingURL=findIndex.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nvar IgnoreElementsOperator = /*@__PURE__*/ (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\nvar IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n };\n return IgnoreElementsSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ignoreElements.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function isEmpty() {\n return function (source) { return source.lift(new IsEmptyOperator()); };\n}\nvar IsEmptyOperator = /*@__PURE__*/ (function () {\n function IsEmptyOperator() {\n }\n IsEmptyOperator.prototype.call = function (observer, source) {\n return source.subscribe(new IsEmptySubscriber(observer));\n };\n return IsEmptyOperator;\n}());\nvar IsEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(IsEmptySubscriber, _super);\n function IsEmptySubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n var destination = this.destination;\n destination.next(isEmpty);\n destination.complete();\n };\n IsEmptySubscriber.prototype._next = function (value) {\n this.notifyComplete(false);\n };\n IsEmptySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return IsEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=isEmpty.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nvar TakeLastOperator = /*@__PURE__*/ (function () {\n function TakeLastOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeLastOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n };\n return TakeLastOperator;\n}());\nvar TakeLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeLastSubscriber, _super);\n function TakeLastSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.ring = new Array();\n _this.count = 0;\n return _this;\n }\n TakeLastSubscriber.prototype._next = function (value) {\n var ring = this.ring;\n var total = this.total;\n var count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n var index = count % total;\n ring[index] = value;\n }\n };\n TakeLastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n var count = this.count;\n if (count > 0) {\n var total = this.count >= this.total ? this.total : this.count;\n var ring = this.ring;\n for (var i = 0; i < total; i++) {\n var idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n };\n return TakeLastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeLast.js.map\n","/** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */\nimport { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); })); };\n}\n//# sourceMappingURL=last.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nvar MapToOperator = /*@__PURE__*/ (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\nvar MapToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n var _this = _super.call(this, destination) || this;\n _this.value = value;\n return _this;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=mapTo.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nvar MaterializeOperator = /*@__PURE__*/ (function () {\n function MaterializeOperator() {\n }\n MaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n };\n return MaterializeOperator;\n}());\nvar MaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MaterializeSubscriber, _super);\n function MaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n MaterializeSubscriber.prototype._next = function (value) {\n this.destination.next(Notification.createNext(value));\n };\n MaterializeSubscriber.prototype._error = function (err) {\n var destination = this.destination;\n destination.next(Notification.createError(err));\n destination.complete();\n };\n MaterializeSubscriber.prototype._complete = function () {\n var destination = this.destination;\n destination.next(Notification.createComplete());\n destination.complete();\n };\n return MaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=materialize.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n var hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nvar ScanOperator = /*@__PURE__*/ (function () {\n function ScanOperator(accumulator, seed, hasSeed) {\n if (hasSeed === void 0) {\n hasSeed = false;\n }\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n ScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n };\n return ScanOperator;\n}());\nvar ScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ScanSubscriber, _super);\n function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this._seed = _seed;\n _this.hasSeed = hasSeed;\n _this.index = 0;\n return _this;\n }\n Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n get: function () {\n return this._seed;\n },\n set: function (value) {\n this.hasSeed = true;\n this._seed = value;\n },\n enumerable: true,\n configurable: true\n });\n ScanSubscriber.prototype._next = function (value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n };\n ScanSubscriber.prototype._tryNext = function (value) {\n var index = this.index++;\n var result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n };\n return ScanSubscriber;\n}(Subscriber));\n//# sourceMappingURL=scan.js.map\n","/** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */\nimport { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan(function (acc, value, index) { return accumulator(acc, value, index + 1); }), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nexport function max(comparer) {\n var max = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n : function (x, y) { return x > y ? x : y; };\n return reduce(max);\n}\n//# sourceMappingURL=max.js.map\n","/** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */\nimport { merge as mergeStatic } from '../observable/merge';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(mergeStatic.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=merge.js.map\n","/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nexport function mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return mergeMap(function () { return innerObservable; }, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return mergeMap(function () { return innerObservable; }, concurrent);\n}\n//# sourceMappingURL=mergeMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };\n}\nvar MergeScanOperator = /*@__PURE__*/ (function () {\n function MergeScanOperator(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n MergeScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n };\n return MergeScanOperator;\n}());\nexport { MergeScanOperator };\nvar MergeScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeScanSubscriber, _super);\n function MergeScanSubscriber(destination, accumulator, acc, concurrent) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this.acc = acc;\n _this.concurrent = concurrent;\n _this.hasValue = false;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeScanSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var index = this.index++;\n var destination = this.destination;\n var ish = void 0;\n try {\n var accumulator = this.accumulator;\n ish = accumulator(this.acc, value, index);\n }\n catch (e) {\n return destination.error(e);\n }\n this.active++;\n this._innerSub(ish);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeScanSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeScanSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeScanSubscriber.prototype.notifyNext = function (innerValue) {\n var destination = this.destination;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n };\n MergeScanSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n return MergeScanSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeScanSubscriber };\n//# sourceMappingURL=mergeScan.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nexport function min(comparer) {\n var min = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n : function (x, y) { return x < y ? x : y; };\n return reduce(min);\n}\n//# sourceMappingURL=min.js.map\n","/** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */\nimport { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nvar MulticastOperator = /*@__PURE__*/ (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\nexport { MulticastOperator };\n//# sourceMappingURL=multicast.js.map\n","/** PURE_IMPORTS_START tslib,_observable_from,_util_isArray,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { from } from '../observable/from';\nimport { isArray } from '../util/isArray';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n if (nextSources.length === 1 && isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n return function (source) { return source.lift(new OnErrorResumeNextOperator(nextSources)); };\n}\nexport function onErrorResumeNextStatic() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n var source = undefined;\n if (nextSources.length === 1 && isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n source = nextSources.shift();\n return from(source).lift(new OnErrorResumeNextOperator(nextSources));\n}\nvar OnErrorResumeNextOperator = /*@__PURE__*/ (function () {\n function OnErrorResumeNextOperator(nextSources) {\n this.nextSources = nextSources;\n }\n OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n };\n return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OnErrorResumeNextSubscriber, _super);\n function OnErrorResumeNextSubscriber(destination, nextSources) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.nextSources = nextSources;\n return _this;\n }\n OnErrorResumeNextSubscriber.prototype.notifyError = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.notifyComplete = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._error = function (err) {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype._complete = function () {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n var next = this.nextSources.shift();\n if (!!next) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(next, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n else {\n this.destination.complete();\n }\n };\n return OnErrorResumeNextSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map\n","/** PURE_IMPORTS_START _util_not,_filter PURE_IMPORTS_END */\nimport { not } from '../util/not';\nimport { filter } from './filter';\nexport function partition(predicate, thisArg) {\n return function (source) {\n return [\n filter(predicate, thisArg)(source),\n filter(not(predicate, thisArg))(source)\n ];\n };\n}\n//# sourceMappingURL=partition.js.map\n","/** PURE_IMPORTS_START _map PURE_IMPORTS_END */\nimport { map } from './map';\nexport function pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map(plucker(properties, length))(source); };\n}\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp != null ? currentProp[props[i]] : undefined;\n if (p !== void 0) {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n","/** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */\nimport { Subject } from '../Subject';\nimport { multicast } from './multicast';\nexport function publish(selector) {\n return selector ?\n multicast(function () { return new Subject(); }, selector) :\n multicast(new Subject());\n}\n//# sourceMappingURL=publish.js.map\n","/** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */\nimport { BehaviorSubject } from '../BehaviorSubject';\nimport { multicast } from './multicast';\nexport function publishBehavior(value) {\n return function (source) { return multicast(new BehaviorSubject(value))(source); };\n}\n//# sourceMappingURL=publishBehavior.js.map\n","/** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */\nimport { AsyncSubject } from '../AsyncSubject';\nimport { multicast } from './multicast';\nexport function publishLast() {\n return function (source) { return multicast(new AsyncSubject())(source); };\n}\n//# sourceMappingURL=publishLast.js.map\n","/** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */\nimport { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n var subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return function (source) { return multicast(function () { return subject; }, selector)(source); };\n}\n//# sourceMappingURL=publishReplay.js.map\n","/** PURE_IMPORTS_START _util_isArray,_observable_race PURE_IMPORTS_END */\nimport { isArray } from '../util/isArray';\nimport { race as raceStatic } from '../observable/race';\nexport function race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function raceOperatorFunction(source) {\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(raceStatic.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=race.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nvar RepeatOperator = /*@__PURE__*/ (function () {\n function RepeatOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RepeatOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n };\n return RepeatOperator;\n}());\nvar RepeatSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RepeatSubscriber, _super);\n function RepeatSubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RepeatSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.complete.call(this);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RepeatSubscriber;\n}(Subscriber));\n//# sourceMappingURL=repeat.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function repeatWhen(notifier) {\n return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };\n}\nvar RepeatWhenOperator = /*@__PURE__*/ (function () {\n function RepeatWhenOperator(notifier) {\n this.notifier = notifier;\n }\n RepeatWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n };\n return RepeatWhenOperator;\n}());\nvar RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RepeatWhenSubscriber, _super);\n function RepeatWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n _this.sourceIsBeingSubscribedTo = true;\n return _this;\n }\n RepeatWhenSubscriber.prototype.notifyNext = function () {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n };\n RepeatWhenSubscriber.prototype.notifyComplete = function () {\n if (this.sourceIsBeingSubscribedTo === false) {\n return _super.prototype.complete.call(this);\n }\n };\n RepeatWhenSubscriber.prototype.complete = function () {\n this.sourceIsBeingSubscribedTo = false;\n if (!this.isStopped) {\n if (!this.retries) {\n this.subscribeToRetries();\n }\n if (!this.retriesSubscription || this.retriesSubscription.closed) {\n return _super.prototype.complete.call(this);\n }\n this._unsubscribeAndRecycle();\n this.notifications.next(undefined);\n }\n };\n RepeatWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n _super.prototype._unsubscribeAndRecycle.call(this);\n this._unsubscribe = _unsubscribe;\n return this;\n };\n RepeatWhenSubscriber.prototype.subscribeToRetries = function () {\n this.notifications = new Subject();\n var retries;\n try {\n var notifier = this.notifier;\n retries = notifier(this.notifications);\n }\n catch (e) {\n return _super.prototype.complete.call(this);\n }\n this.retries = retries;\n this.retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n };\n return RepeatWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function retry(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) { return source.lift(new RetryOperator(count, source)); };\n}\nvar RetryOperator = /*@__PURE__*/ (function () {\n function RetryOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RetryOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n };\n return RetryOperator;\n}());\nvar RetrySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RetrySubscriber, _super);\n function RetrySubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RetrySubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.error.call(this, err);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RetrySubscriber;\n}(Subscriber));\n//# sourceMappingURL=retry.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nvar RetryWhenOperator = /*@__PURE__*/ (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\nvar RetryWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n return _this;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject();\n try {\n var notifier = this.notifier;\n retries = notifier(errors);\n }\n catch (e) {\n return _super.prototype.error.call(this, e);\n }\n retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n }\n else {\n this.errors = undefined;\n this.retriesSubscription = undefined;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RetryWhenSubscriber.prototype.notifyNext = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n this._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\nvar SampleOperator = /*@__PURE__*/ (function () {\n function SampleOperator(notifier) {\n this.notifier = notifier;\n }\n SampleOperator.prototype.call = function (subscriber, source) {\n var sampleSubscriber = new SampleSubscriber(subscriber);\n var subscription = source.subscribe(sampleSubscriber);\n subscription.add(innerSubscribe(this.notifier, new SimpleInnerSubscriber(sampleSubscriber)));\n return subscription;\n };\n return SampleOperator;\n}());\nvar SampleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SampleSubscriber, _super);\n function SampleSubscriber() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hasValue = false;\n return _this;\n }\n SampleSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n };\n SampleSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n };\n return SampleSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=sample.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new SampleTimeOperator(period, scheduler)); };\n}\nvar SampleTimeOperator = /*@__PURE__*/ (function () {\n function SampleTimeOperator(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n SampleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n };\n return SampleTimeOperator;\n}());\nvar SampleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SampleTimeSubscriber, _super);\n function SampleTimeSubscriber(destination, period, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.period = period;\n _this.scheduler = scheduler;\n _this.hasValue = false;\n _this.add(scheduler.schedule(dispatchNotification, period, { subscriber: _this, period: period }));\n return _this;\n }\n SampleTimeSubscriber.prototype._next = function (value) {\n this.lastValue = value;\n this.hasValue = true;\n };\n SampleTimeSubscriber.prototype.notifyNext = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n };\n return SampleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNotification(state) {\n var subscriber = state.subscriber, period = state.period;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function sequenceEqual(compareTo, comparator) {\n return function (source) { return source.lift(new SequenceEqualOperator(compareTo, comparator)); };\n}\nvar SequenceEqualOperator = /*@__PURE__*/ (function () {\n function SequenceEqualOperator(compareTo, comparator) {\n this.compareTo = compareTo;\n this.comparator = comparator;\n }\n SequenceEqualOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparator));\n };\n return SequenceEqualOperator;\n}());\nexport { SequenceEqualOperator };\nvar SequenceEqualSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SequenceEqualSubscriber, _super);\n function SequenceEqualSubscriber(destination, compareTo, comparator) {\n var _this = _super.call(this, destination) || this;\n _this.compareTo = compareTo;\n _this.comparator = comparator;\n _this._a = [];\n _this._b = [];\n _this._oneComplete = false;\n _this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, _this)));\n return _this;\n }\n SequenceEqualSubscriber.prototype._next = function (value) {\n if (this._oneComplete && this._b.length === 0) {\n this.emit(false);\n }\n else {\n this._a.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype._complete = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n this.unsubscribe();\n };\n SequenceEqualSubscriber.prototype.checkValues = function () {\n var _c = this, _a = _c._a, _b = _c._b, comparator = _c.comparator;\n while (_a.length > 0 && _b.length > 0) {\n var a = _a.shift();\n var b = _b.shift();\n var areEqual = false;\n try {\n areEqual = comparator ? comparator(a, b) : a === b;\n }\n catch (e) {\n this.destination.error(e);\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n };\n SequenceEqualSubscriber.prototype.emit = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n SequenceEqualSubscriber.prototype.nextB = function (value) {\n if (this._oneComplete && this._a.length === 0) {\n this.emit(false);\n }\n else {\n this._b.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype.completeB = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n };\n return SequenceEqualSubscriber;\n}(Subscriber));\nexport { SequenceEqualSubscriber };\nvar SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SequenceEqualCompareToSubscriber, _super);\n function SequenceEqualCompareToSubscriber(destination, parent) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n return _this;\n }\n SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n this.parent.nextB(value);\n };\n SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n this.parent.error(err);\n this.unsubscribe();\n };\n SequenceEqualCompareToSubscriber.prototype._complete = function () {\n this.parent.completeB();\n this.unsubscribe();\n };\n return SequenceEqualCompareToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map\n","/** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */\nimport { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return function (source) { return refCount()(multicast(shareSubjectFactory)(source)); };\n}\n//# sourceMappingURL=share.js.map\n","/** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */\nimport { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime: windowTime,\n refCount: false,\n scheduler: scheduler\n };\n }\n return function (source) { return source.lift(shareReplayOperator(config)); };\n}\nfunction shareReplayOperator(_a) {\n var _b = _a.bufferSize, bufferSize = _b === void 0 ? Number.POSITIVE_INFINITY : _b, _c = _a.windowTime, windowTime = _c === void 0 ? Number.POSITIVE_INFINITY : _c, useRefCount = _a.refCount, scheduler = _a.scheduler;\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n var innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next: function (value) { subject.next(value); },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(function () {\n refCount--;\n innerSub.unsubscribe();\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_EmptyError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\nexport function single(predicate) {\n return function (source) { return source.lift(new SingleOperator(predicate, source)); };\n}\nvar SingleOperator = /*@__PURE__*/ (function () {\n function SingleOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n SingleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n };\n return SingleOperator;\n}());\nvar SingleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SingleSubscriber, _super);\n function SingleSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.seenValue = false;\n _this.index = 0;\n return _this;\n }\n SingleSubscriber.prototype.applySingleValue = function (value) {\n if (this.seenValue) {\n this.destination.error('Sequence contains more than one element');\n }\n else {\n this.seenValue = true;\n this.singleValue = value;\n }\n };\n SingleSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n };\n SingleSubscriber.prototype.tryNext = function (value, index) {\n try {\n if (this.predicate(value, index, this.source)) {\n this.applySingleValue(value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n SingleSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index > 0) {\n destination.next(this.seenValue ? this.singleValue : undefined);\n destination.complete();\n }\n else {\n destination.error(new EmptyError);\n }\n };\n return SingleSubscriber;\n}(Subscriber));\n//# sourceMappingURL=single.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nvar SkipOperator = /*@__PURE__*/ (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\nvar SkipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skip.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nexport function skipLast(count) {\n return function (source) { return source.lift(new SkipLastOperator(count)); };\n}\nvar SkipLastOperator = /*@__PURE__*/ (function () {\n function SkipLastOperator(_skipCount) {\n this._skipCount = _skipCount;\n if (this._skipCount < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n SkipLastOperator.prototype.call = function (subscriber, source) {\n if (this._skipCount === 0) {\n return source.subscribe(new Subscriber(subscriber));\n }\n else {\n return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));\n }\n };\n return SkipLastOperator;\n}());\nvar SkipLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipLastSubscriber, _super);\n function SkipLastSubscriber(destination, _skipCount) {\n var _this = _super.call(this, destination) || this;\n _this._skipCount = _skipCount;\n _this._count = 0;\n _this._ring = new Array(_skipCount);\n return _this;\n }\n SkipLastSubscriber.prototype._next = function (value) {\n var skipCount = this._skipCount;\n var count = this._count++;\n if (count < skipCount) {\n this._ring[count] = value;\n }\n else {\n var currentIndex = count % skipCount;\n var ring = this._ring;\n var oldValue = ring[currentIndex];\n ring[currentIndex] = value;\n this.destination.next(oldValue);\n }\n };\n return SkipLastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skipLast.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function skipUntil(notifier) {\n return function (source) { return source.lift(new SkipUntilOperator(notifier)); };\n}\nvar SkipUntilOperator = /*@__PURE__*/ (function () {\n function SkipUntilOperator(notifier) {\n this.notifier = notifier;\n }\n SkipUntilOperator.prototype.call = function (destination, source) {\n return source.subscribe(new SkipUntilSubscriber(destination, this.notifier));\n };\n return SkipUntilOperator;\n}());\nvar SkipUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipUntilSubscriber, _super);\n function SkipUntilSubscriber(destination, notifier) {\n var _this = _super.call(this, destination) || this;\n _this.hasValue = false;\n var innerSubscriber = new SimpleInnerSubscriber(_this);\n _this.add(innerSubscriber);\n _this.innerSubscription = innerSubscriber;\n var innerSubscription = innerSubscribe(notifier, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n _this.add(innerSubscription);\n _this.innerSubscription = innerSubscription;\n }\n return _this;\n }\n SkipUntilSubscriber.prototype._next = function (value) {\n if (this.hasValue) {\n _super.prototype._next.call(this, value);\n }\n };\n SkipUntilSubscriber.prototype.notifyNext = function () {\n this.hasValue = true;\n if (this.innerSubscription) {\n this.innerSubscription.unsubscribe();\n }\n };\n SkipUntilSubscriber.prototype.notifyComplete = function () {\n };\n return SkipUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skipWhile(predicate) {\n return function (source) { return source.lift(new SkipWhileOperator(predicate)); };\n}\nvar SkipWhileOperator = /*@__PURE__*/ (function () {\n function SkipWhileOperator(predicate) {\n this.predicate = predicate;\n }\n SkipWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n };\n return SkipWhileOperator;\n}());\nvar SkipWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipWhileSubscriber, _super);\n function SkipWhileSubscriber(destination, predicate) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.skipping = true;\n _this.index = 0;\n return _this;\n }\n SkipWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n };\n SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n try {\n var result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n return SkipWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skipWhile.js.map\n","/** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return function (source) { return concat(array, source, scheduler); };\n }\n else {\n return function (source) { return concat(array, source); };\n }\n}\n//# sourceMappingURL=startWith.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\nvar SubscribeOnObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) {\n delayTime = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!isNumeric(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) {\n delay = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable));\nexport { SubscribeOnObservable };\n//# sourceMappingURL=SubscribeOnObservable.js.map\n","/** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */\nimport { SubscribeOnObservable } from '../observable/SubscribeOnObservable';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nvar SubscribeOnOperator = /*@__PURE__*/ (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nvar SwitchMapOperator = /*@__PURE__*/ (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = undefined;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function () {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n","/** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */\nimport { switchMap } from './switchMap';\nimport { identity } from '../util/identity';\nexport function switchAll() {\n return switchMap(identity);\n}\n//# sourceMappingURL=switchAll.js.map\n","/** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */\nimport { switchMap } from './switchMap';\nexport function switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap(function () { return innerObservable; }, resultSelector) : switchMap(function () { return innerObservable; });\n}\n//# sourceMappingURL=switchMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function () {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n return function (source) {\n return source.lift(new TakeWhileOperator(predicate, inclusive));\n };\n}\nvar TakeWhileOperator = /*@__PURE__*/ (function () {\n function TakeWhileOperator(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n };\n return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate, inclusive) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.inclusive = inclusive;\n _this.index = 0;\n return _this;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = noop;\n _this._tapError = noop;\n _this._tapComplete = noop;\n _this._tapError = error || noop;\n _this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || noop;\n _this._tapError = observerOrNext.error || noop;\n _this._tapComplete = observerOrNext.complete || noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=tap.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport var defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nexport function throttle(durationSelector, config) {\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing)); };\n}\nvar ThrottleOperator = /*@__PURE__*/ (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\nvar ThrottleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.durationSelector = durationSelector;\n _this._leading = _leading;\n _this._trailing = _trailing;\n _this._hasValue = false;\n return _this;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n };\n ThrottleSubscriber.prototype.send = function () {\n var _a = this, _hasValue = _a._hasValue, _sendValue = _a._sendValue;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = undefined;\n };\n ThrottleSubscriber.prototype.throttle = function (value) {\n var duration = this.tryDurationSelector(value);\n if (!!duration) {\n this.add(this._throttled = innerSubscribe(duration, new SimpleInnerSubscriber(this)));\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype.throttlingDone = function () {\n var _a = this, _throttled = _a._throttled, _trailing = _a._trailing;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = undefined;\n if (_trailing) {\n this.send();\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function () {\n this.throttlingDone();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this.throttlingDone();\n };\n return ThrottleSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=throttle.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nimport { defaultThrottleConfig } from './throttle';\nexport function throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nvar ThrottleTimeOperator = /*@__PURE__*/ (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\nvar ThrottleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n var _this = _super.call(this, destination) || this;\n _this.duration = duration;\n _this.scheduler = scheduler;\n _this.leading = leading;\n _this.trailing = trailing;\n _this._hasTrailingValue = false;\n _this._trailingValue = null;\n return _this;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n else if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n };\n ThrottleTimeSubscriber.prototype._complete = function () {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { scan } from './scan';\nimport { defer } from '../observable/defer';\nimport { map } from './map';\nexport function timeInterval(scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) {\n return defer(function () {\n return source.pipe(scan(function (_a, value) {\n var current = _a.current;\n return ({ value: value, current: scheduler.now(), last: current });\n }, { current: scheduler.now(), value: undefined, last: undefined }), map(function (_a) {\n var current = _a.current, last = _a.last, value = _a.value;\n return new TimeInterval(value, current - last);\n }));\n });\n };\n}\nvar TimeInterval = /*@__PURE__*/ (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\nexport { TimeInterval };\n//# sourceMappingURL=timeInterval.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) {\n var absoluteTimeout = isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nvar TimeoutWithOperator = /*@__PURE__*/ (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\nvar TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.absoluteTimeout = absoluteTimeout;\n _this.waitFor = waitFor;\n _this.withObservable = withObservable;\n _this.scheduler = scheduler;\n _this.scheduleTimeout();\n return _this;\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add(innerSubscribe(withObservable, new SimpleInnerSubscriber(subscriber)));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = undefined;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { TimeoutError } from '../util/TimeoutError';\nimport { timeoutWith } from './timeoutWith';\nimport { throwError } from '../observable/throwError';\nexport function timeout(due, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return timeoutWith(due, throwError(new TimeoutError()), scheduler);\n}\n//# sourceMappingURL=timeout.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_map PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { map } from './map';\nexport function timestamp(scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return map(function (value) { return new Timestamp(value, scheduler.now()); });\n}\nvar Timestamp = /*@__PURE__*/ (function () {\n function Timestamp(value, timestamp) {\n this.value = value;\n this.timestamp = timestamp;\n }\n return Timestamp;\n}());\nexport { Timestamp };\n//# sourceMappingURL=timestamp.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nexport function toArray() {\n return reduce(toArrayReducer, []);\n}\n//# sourceMappingURL=toArray.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function window(windowBoundaries) {\n return function windowOperatorFunction(source) {\n return source.lift(new WindowOperator(windowBoundaries));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(windowBoundaries) {\n this.windowBoundaries = windowBoundaries;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n var windowSubscriber = new WindowSubscriber(subscriber);\n var sourceSubscription = source.subscribe(windowSubscriber);\n if (!sourceSubscription.closed) {\n windowSubscriber.add(innerSubscribe(this.windowBoundaries, new SimpleInnerSubscriber(windowSubscriber)));\n }\n return sourceSubscription;\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.window = new Subject();\n destination.next(_this.window);\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function () {\n this.openWindow();\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function () {\n this._complete();\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n };\n WindowSubscriber.prototype._unsubscribe = function () {\n this.window = null;\n };\n WindowSubscriber.prototype.openWindow = function () {\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var destination = this.destination;\n var newWindow = this.window = new Subject();\n destination.next(newWindow);\n };\n return WindowSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=window.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subject PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subject } from '../Subject';\nexport function windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) {\n startWindowEvery = 0;\n }\n return function windowCountOperatorFunction(source) {\n return source.lift(new WindowCountOperator(windowSize, startWindowEvery));\n };\n}\nvar WindowCountOperator = /*@__PURE__*/ (function () {\n function WindowCountOperator(windowSize, startWindowEvery) {\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n }\n WindowCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n };\n return WindowCountOperator;\n}());\nvar WindowCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowCountSubscriber, _super);\n function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowSize = windowSize;\n _this.startWindowEvery = startWindowEvery;\n _this.windows = [new Subject()];\n _this.count = 0;\n destination.next(_this.windows[0]);\n return _this;\n }\n WindowCountSubscriber.prototype._next = function (value) {\n var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n var destination = this.destination;\n var windowSize = this.windowSize;\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len && !this.closed; i++) {\n windows[i].next(value);\n }\n var c = this.count - windowSize + 1;\n if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n windows.shift().complete();\n }\n if (++this.count % startWindowEvery === 0 && !this.closed) {\n var window_1 = new Subject();\n windows.push(window_1);\n destination.next(window_1);\n }\n };\n WindowCountSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().error(err);\n }\n }\n this.destination.error(err);\n };\n WindowCountSubscriber.prototype._complete = function () {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().complete();\n }\n }\n this.destination.complete();\n };\n WindowCountSubscriber.prototype._unsubscribe = function () {\n this.count = 0;\n this.windows = null;\n };\n return WindowCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=windowCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_async,_Subscriber,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function windowTime(windowTimeSpan) {\n var scheduler = async;\n var windowCreationInterval = null;\n var maxWindowSize = Number.POSITIVE_INFINITY;\n if (isScheduler(arguments[3])) {\n scheduler = arguments[3];\n }\n if (isScheduler(arguments[2])) {\n scheduler = arguments[2];\n }\n else if (isNumeric(arguments[2])) {\n maxWindowSize = Number(arguments[2]);\n }\n if (isScheduler(arguments[1])) {\n scheduler = arguments[1];\n }\n else if (isNumeric(arguments[1])) {\n windowCreationInterval = Number(arguments[1]);\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nvar WindowTimeOperator = /*@__PURE__*/ (function () {\n function WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n WindowTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n };\n return WindowTimeOperator;\n}());\nvar CountedSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CountedSubject, _super);\n function CountedSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._numberOfNextedValues = 0;\n return _this;\n }\n CountedSubject.prototype.next = function (value) {\n this._numberOfNextedValues++;\n _super.prototype.next.call(this, value);\n };\n Object.defineProperty(CountedSubject.prototype, \"numberOfNextedValues\", {\n get: function () {\n return this._numberOfNextedValues;\n },\n enumerable: true,\n configurable: true\n });\n return CountedSubject;\n}(Subject));\nvar WindowTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowTimeSubscriber, _super);\n function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowTimeSpan = windowTimeSpan;\n _this.windowCreationInterval = windowCreationInterval;\n _this.maxWindowSize = maxWindowSize;\n _this.scheduler = scheduler;\n _this.windows = [];\n var window = _this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n var closeState = { subscriber: _this, window: window, context: null };\n var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n var timeSpanOnlyState = { subscriber: _this, window: window, windowTimeSpan: windowTimeSpan };\n _this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n return _this;\n }\n WindowTimeSubscriber.prototype._next = function (value) {\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len; i++) {\n var window_1 = windows[i];\n if (!window_1.closed) {\n window_1.next(value);\n if (window_1.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window_1);\n }\n }\n }\n };\n WindowTimeSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n };\n WindowTimeSubscriber.prototype._complete = function () {\n var windows = this.windows;\n while (windows.length > 0) {\n var window_2 = windows.shift();\n if (!window_2.closed) {\n window_2.complete();\n }\n }\n this.destination.complete();\n };\n WindowTimeSubscriber.prototype.openWindow = function () {\n var window = new CountedSubject();\n this.windows.push(window);\n var destination = this.destination;\n destination.next(window);\n return window;\n };\n WindowTimeSubscriber.prototype.closeWindow = function (window) {\n window.complete();\n var windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n };\n return WindowTimeSubscriber;\n}(Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n var window = subscriber.openWindow();\n var action = this;\n var context = { action: action, subscription: null };\n var timeSpanState = { subscriber: subscriber, window: window, context: context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n var subscriber = state.subscriber, window = state.window, context = state.context;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Subscription,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function windowToggle(openings, closingSelector) {\n return function (source) { return source.lift(new WindowToggleOperator(openings, closingSelector)); };\n}\nvar WindowToggleOperator = /*@__PURE__*/ (function () {\n function WindowToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n WindowToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return WindowToggleOperator;\n}());\nvar WindowToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowToggleSubscriber, _super);\n function WindowToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.openings = openings;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(_this.openSubscription = subscribeToResult(_this, openings, openings));\n return _this;\n }\n WindowToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n if (contexts) {\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].window.next(value);\n }\n }\n };\n WindowToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_1 = contexts[index];\n context_1.window.error(err);\n context_1.subscription.unsubscribe();\n }\n }\n _super.prototype._error.call(this, err);\n };\n WindowToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_2 = contexts[index];\n context_2.window.complete();\n context_2.subscription.unsubscribe();\n }\n }\n _super.prototype._complete.call(this);\n };\n WindowToggleSubscriber.prototype._unsubscribe = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_3 = contexts[index];\n context_3.window.unsubscribe();\n context_3.subscription.unsubscribe();\n }\n }\n };\n WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (outerValue === this.openings) {\n var closingNotifier = void 0;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector(innerValue);\n }\n catch (e) {\n return this.error(e);\n }\n var window_1 = new Subject();\n var subscription = new Subscription();\n var context_4 = { window: window_1, subscription: subscription };\n this.contexts.push(context_4);\n var innerSubscription = subscribeToResult(this, closingNotifier, context_4);\n if (innerSubscription.closed) {\n this.closeWindow(this.contexts.length - 1);\n }\n else {\n innerSubscription.context = context_4;\n subscription.add(innerSubscription);\n }\n this.destination.next(window_1);\n }\n else {\n this.closeWindow(this.contexts.indexOf(outerValue));\n }\n };\n WindowToggleSubscriber.prototype.notifyError = function (err) {\n this.error(err);\n };\n WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n if (inner !== this.openSubscription) {\n this.closeWindow(this.contexts.indexOf(inner.context));\n }\n };\n WindowToggleSubscriber.prototype.closeWindow = function (index) {\n if (index === -1) {\n return;\n }\n var contexts = this.contexts;\n var context = contexts[index];\n var window = context.window, subscription = context.subscription;\n contexts.splice(index, 1);\n window.complete();\n subscription.unsubscribe();\n };\n return WindowToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function windowWhen(closingSelector) {\n return function windowWhenOperatorFunction(source) {\n return source.lift(new WindowOperator(closingSelector));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.closingSelector = closingSelector;\n _this.openWindow();\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function (_outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n if (this.closingNotification) {\n this.closingNotification.unsubscribe();\n }\n };\n WindowSubscriber.prototype.openWindow = function (innerSub) {\n if (innerSub === void 0) {\n innerSub = null;\n }\n if (innerSub) {\n this.remove(innerSub);\n innerSub.unsubscribe();\n }\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var window = this.window = new Subject();\n this.destination.next(window);\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (e) {\n this.destination.error(e);\n this.window.error(e);\n return;\n }\n this.add(this.closingNotification = subscribeToResult(this, closingNotifier));\n };\n return WindowSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map\n","/** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nvar WithLatestFromOperator = /*@__PURE__*/ (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add(subscribeToResult(_this, observable, undefined, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n","/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\nimport { zip as zipStatic } from '../observable/zip';\nexport function zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=zip.js.map\n","/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\nimport { ZipOperator } from '../observable/zip';\nexport function zipAll(project) {\n return function (source) { return source.lift(new ZipOperator(project)); };\n}\n//# sourceMappingURL=zipAll.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = /*@__PURE__*/ (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=take.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=refCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nvar ReplaySubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) {\n bufferSize = Number.POSITIVE_INFINITY;\n }\n if (windowTime === void 0) {\n windowTime = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n if (!this.isStopped) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\nvar ReplayEvent = /*@__PURE__*/ (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n","/** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nvar NONE = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nvar CombineLatestOperator = /*@__PURE__*/ (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\nexport { CombineLatestOperator };\nvar CombineLatestSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber));\nexport { CombineLatestSubscriber };\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map\n","/** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_.._internal_symbol_iterator,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { fromArray } from './fromArray';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { iterator as Symbol_iterator } from '../../internal/symbol/iterator';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nvar ZipOperator = /*@__PURE__*/ (function () {\n function ZipOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n };\n return ZipOperator;\n}());\nexport { ZipOperator };\nvar ZipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, resultSelector, values) {\n if (values === void 0) {\n values = Object.create(null);\n }\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.iterators = [];\n _this.active = 0;\n _this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : undefined;\n return _this;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[Symbol_iterator] === 'function') {\n iterators.push(new StaticIterator(value[Symbol_iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n var destination = this.destination;\n destination.add(iterator.subscribe());\n }\n else {\n this.active--;\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryresultSelector = function (args) {\n var result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber));\nexport { ZipSubscriber };\nvar StaticIterator = /*@__PURE__*/ (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return Boolean(nextResult && nextResult.done);\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = /*@__PURE__*/ (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\nvar ZipBufferIterator = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n _this.observable = observable;\n _this.stillUnsubscribed = true;\n _this.buffer = [];\n _this.isComplete = false;\n return _this;\n }\n ZipBufferIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (innerValue) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function () {\n return innerSubscribe(this.observable, new SimpleInnerSubscriber(this));\n };\n return ZipBufferIterator;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=zip.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map\n","/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\nimport { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = /*@__PURE__*/ new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nvar GroupByOperator = /*@__PURE__*/ (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\nvar GroupBySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.elementSelector = elementSelector;\n _this.durationSelector = durationSelector;\n _this.subjectSelector = subjectSelector;\n _this.groups = null;\n _this.attemptedToUnsubscribe = false;\n _this.count = 0;\n return _this;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new Subject());\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber));\nvar GroupDurationSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n var _this = _super.call(this, group) || this;\n _this.key = key;\n _this.group = group;\n _this.parent = parent;\n return _this;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber));\nvar GroupedObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n var _this = _super.call(this) || this;\n _this.key = key;\n _this.groupSubject = groupSubject;\n _this.refCountSubscription = refCountSubscription;\n return _this;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable));\nexport { GroupedObservable };\nvar InnerRefCountSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n parent.count++;\n return _this;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription));\n//# sourceMappingURL=groupBy.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nvar ConnectableObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._refCount = 0;\n _this._isComplete = false;\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\nexport var connectableObservableDescriptor = /*@__PURE__*/ (function () {\n var connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nvar ConnectableSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(SubjectSubscriber));\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexport { ObserveOnOperator };\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar TimeoutErrorImpl = /*@__PURE__*/ (function () {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport var TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map\n","/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\nimport { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","/** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nvar RaceOperator = /*@__PURE__*/ (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\nexport { RaceOperator };\nvar RaceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasFirst = false;\n _this.observables = [];\n _this.subscriptions = [];\n return _this;\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = subscribeToResult(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(OuterSubscriber));\nexport { RaceSubscriber };\n//# sourceMappingURL=race.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime, periodOrScheduler, scheduler) {\n if (dueTime === void 0) {\n dueTime = 0;\n }\n var period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n var due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period: period, subscriber: subscriber\n });\n });\n}\nfunction dispatch(state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nvar DistinctUntilChangedOperator = /*@__PURE__*/ (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\nvar DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.hasKey = false;\n if (typeof compare === 'function') {\n _this.compare = compare;\n }\n return _this;\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var key;\n try {\n var keySelector = this.keySelector;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n var result = false;\n if (this.hasKey) {\n try {\n var compare = this.compare;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\n//# sourceMappingURL=not.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","module.exports = require(\"maybe-not\");","module.exports = require(\"rxjs\");","module.exports = require(\"rxjs/operators\");","// CUSTOM EVENT POLYFILL FOR IE 11\n(function (window: any) {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event: string, params: any) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n CustomEvent.prototype = window.Event.prototype;\n\n window.CustomEvent = CustomEvent;\n})(window);\n","import { Dict } from './../core/core-types';\n\nexport function toCamelCase(str: string): string {\n return str.replace(/-([a-z])/gi, ($0, $1) => $1.toUpperCase());\n}\n\nexport function toDashCase(str: string): string {\n return (str.charAt(0) + str.slice(1).replace(/([A-Z])/g, '-$&')\n ).toLowerCase();\n}\n\nexport function indexBy<K extends keyof O, O>(key: K, arr: O[]): Map<O[K], O> {\n return arr.reduce((indexed, obj) => {\n indexed.set(obj[key], obj);\n return indexed;\n }, new Map());\n}\n\nlet elementGuid: number = 1000;\n\nexport function createGuid(length : number = 4): number {\n return elementGuid++;\n}\n\nexport function pick(props: string[], obj: { [key: string]: any }): { [key: string]: any } {\n return props.reduce((memo, prop) => {\n if (prop in obj) {\n return {\n ...memo,\n [prop]: obj[prop]\n };\n }\n\n return memo;\n }, {}) as any;\n}\n\nexport function objectsAreEqual(obj1: Dict<any>, obj2: Dict<any>): boolean {\n let equal = true;\n const obj1Keys = Object.keys(obj1);\n const obj2Keys = Object.keys(obj2);\n\n if (obj1Keys.length !== obj2Keys.length) {\n return false;\n }\n\n obj1Keys.forEach(key => {\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\n equal = false;\n }\n });\n\n return equal;\n}","import {\r\n ObservedProperty,\r\n Dict,\r\n DSElementSetupHooks,\r\n DSCustomElement,\r\n ConstructorWithAttributes,\r\n} from '../core-types';\r\nimport { indexBy, toDashCase, toCamelCase, objectsAreEqual } from '../../utility/helpers';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Maybe } from 'maybe-not';\r\n\r\nexport function enableProps(\r\n props: ObservedProperty[]\r\n): { fnHashByName: Dict<any>; hooks: DSElementSetupHooks } {\r\n const fnHashByName = indexBy('name', props);\r\n return {\r\n fnHashByName,\r\n hooks: {\r\n init(element: DSCustomElement): void {\r\n element.__innerProps$ = new BehaviorSubject({});\r\n },\r\n connectedCallback(element: DSCustomElement): void {\r\n const initialProps = element.__innerProps$!.getValue();\r\n let updatedProps: Dict<any> = { ...initialProps };\r\n element.constructor.observedAttributes!.forEach(attrName => {\r\n /* set all observed attrs as properties on connect\r\n as initial values do not trigger attribute changed callback\r\n attrs set properties which proxy property behavior subject */\r\n if (element.getAttribute(attrName) === null) {\r\n return;\r\n }\r\n\r\n setPropFromAttr(\r\n element,\r\n attrName,\r\n element.getAttribute(attrName),\r\n Maybe.just(fnHashByName),\r\n updatedProps\r\n );\r\n });\r\n\r\n if (!objectsAreEqual(initialProps, updatedProps)) {\r\n element.__innerProps$!.next(updatedProps);\r\n }\r\n },\r\n classSetup(\r\n ConstructF: (() => DSCustomElement & { observedAttributes?: string[] })\r\n ): void {\r\n Object.assign(ConstructF, {\r\n observedAttributes: props\r\n .filter(x => x.reflectAs)\r\n .map(x => x.name)\r\n .map(toDashCase),\r\n });\r\n\r\n props.forEach((prop: ObservedProperty) => {\r\n Object.defineProperty(ConstructF.prototype, prop.name, {\r\n get(this: DSCustomElement): any {\r\n return this.__innerProps$!.getValue()[prop.name];\r\n },\r\n set(this: DSCustomElement, val: any): void {\r\n if (this.__innerProps$!.getValue()[prop.name] === val) {\r\n return;\r\n }\r\n\r\n const dashedName = toDashCase(prop.name);\r\n\r\n const observed = (ConstructF as ConstructorWithAttributes).observedAttributes!.includes(\r\n dashedName);\r\n if (observed) {\r\n if (val === true) {\r\n this.setAttribute(dashedName, '');\r\n } else if (val || val === 0 || val === '') {\r\n this.setAttribute(dashedName, String(val));\r\n } else {\r\n this.removeAttribute(dashedName);\r\n }\r\n }\r\n\r\n if (this.__attached || !observed || val === false) {\r\n // emit props$ event after each set\r\n this.__innerProps$!.getValue()[prop.name] = val;\r\n this.__innerProps$!.next(this.__innerProps$!.getValue());\r\n }\r\n },\r\n });\r\n });\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function setPropFromAttr(\r\n customElement: DSCustomElement,\r\n attrName: string,\r\n attrValue: any,\r\n mFnHashByName: Maybe<Dict<any>>,\r\n propInitializer?: Dict<any>\r\n): void {\r\n const camelName = toCamelCase(attrName);\r\n\r\n customElement[camelName] = mFnHashByName\r\n .map(fnHashByName => {\r\n const propConfig = fnHashByName.get(camelName);\r\n let propValue = attrValue;\r\n\r\n if (propConfig && propConfig.reflectAs && attrValue) {\r\n propValue = propConfig.reflectAs(attrValue);\r\n }\r\n if (propConfig && propConfig.reflectAs === Boolean) {\r\n // boolean attributes use empty string as true\r\n propValue = attrValue === '';\r\n }\r\n \r\n if (propInitializer) {\r\n propInitializer[camelName] = propValue;\r\n }\r\n\r\n return propValue;\r\n })\r\n .withDefault(attrValue);\r\n}\r\n","import { DSCustomElement } from \"../core-types\";\r\n\r\nexport function setupShadowDOM(\r\n dashedName: string,\r\n css: string = ''\r\n): (element: DSCustomElement) => HTMLElement {\r\n let fragment: DocumentFragment;\r\n\r\n const canTemplate = !!window.HTMLTemplateElement;\r\n if (canTemplate) {\r\n fragment = generateCustomElementTemplate(css);\r\n } else {\r\n fragment = generateCustomElementFragment(css);\r\n }\r\n\r\n return function (element: DSCustomElement): HTMLElement {\r\n if (element.shadowRoot) {\r\n return element.shadowRoot.querySelector('div')!;\r\n }\r\n \r\n if (element.attachShadow) {\r\n element.attachShadow({ mode: 'open' });\r\n } else {\r\n Object.assign(element, {shadowRoot: element});\r\n }\r\n\r\n const shadowContent = document.importNode(fragment, true);\r\n\r\n if (!canTemplate) {\r\n const styleTag = shadowContent.querySelector('style');\r\n (styleTag as any).sheet.cssText = css;\r\n }\r\n\r\n const shadowRoot = element.shadowRoot!;\r\n shadowRoot.appendChild(shadowContent);\r\n const wrappingDiv = shadowRoot.querySelector('div')!;\r\n\r\n return wrappingDiv;\r\n }\r\n}\r\n\r\nfunction generateCustomElementFragment(css: string): DocumentFragment {\r\n const fragment = document.createDocumentFragment();\r\n \r\n const styleTag = document.createElement('style');\r\n styleTag.appendChild(document.createTextNode(css));\r\n\r\n const rootDiv = document.createElement('div');\r\n rootDiv.className = 'root';\r\n\r\n fragment.appendChild(styleTag);\r\n fragment.appendChild(rootDiv);\r\n\r\n return fragment;\r\n}\r\n\r\nfunction generateCustomElementTemplate(css: string): DocumentFragment {\r\n const template = document.createElement('template');\r\n template.innerHTML = `<style>${css}</style><div class=\"root\"></div>`;\r\n\r\n return template.content;\r\n}","import {\r\n DrySuiteEngine,\r\n ObservedProperty,\r\n DSCustomElement,\r\n Dict,\r\n DSElementSetupHooks,\r\n DSElementFactory,\r\n DSElementConstructor,\r\n EngineStreams,\r\n} from './core-types';\r\nimport { enableProps, setPropFromAttr } from './element-feature-adaptors/props';\r\nimport { setupShadowDOM } from './element-feature-adaptors/shadow-dom';\r\nimport { Maybe } from 'maybe-not';\r\nimport { createGuid } from '../utility/helpers';\r\nimport { interval } from 'rxjs';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\nexport function generateCustomElementWrapper<Props>(\r\n name: string,\r\n engine: DrySuiteEngine,\r\n options: {\r\n useShadowDOM: boolean;\r\n props?: ObservedProperty[];\r\n css?: string;\r\n prototypeExtensions?: Dict<any>;\r\n } = {\r\n useShadowDOM: true,\r\n }\r\n): DSElementConstructor {\r\n const getShadowBaseElementM: Maybe<\r\n (element: DSCustomElement) => HTMLElement\r\n > = options.useShadowDOM\r\n ? Maybe.just(setupShadowDOM(name, options.css))\r\n : Maybe.nothing();\r\n const propsSetup = Array.isArray(options.props)\r\n ? Maybe.just(enableProps(options.props))\r\n : Maybe.nothing<{ fnHashByName: Dict<any>; hooks: DSElementSetupHooks }>();\r\n\r\n const ConstructF = function(): DSCustomElement {\r\n const self: DSCustomElement = Reflect.construct(\r\n HTMLElement,\r\n [],\r\n ConstructF\r\n );\r\n\r\n if (options.prototypeExtensions) {\r\n Object.keys(options.prototypeExtensions).forEach((key) => {\r\n if (!self[key]) {\r\n self[key] = options.prototypeExtensions![key];\r\n }\r\n });\r\n }\r\n\r\n self.__onTeardown = [];\r\n self.__onAttached = [];\r\n self.__guid = createGuid();\r\n\r\n // if properties are enabled it sets __innerProps$\r\n propsSetup.map(({ hooks: { init } }) => init(self));\r\n\r\n // if we are using shadow dom go ahead an initialize app via engine\r\n // hand the engine streams that is populated with attributes once element is connected\r\n\r\n getShadowBaseElementM.map(fn => fn(self)).map(root => {\r\n const engineStreams = Maybe.maybe(self.__innerProps$)\r\n .map(props$ => engine(self, props$))\r\n .withDefaultFn(() => engine(self));\r\n\r\n handleEngineStreams(self, root, engineStreams);\r\n\r\n self.__shadowAppBooted = true;\r\n });\r\n\r\n return self;\r\n };\r\n\r\n tryAssigningNameProperties(ConstructF);\r\n\r\n //setup prototype methods\r\n ConstructF.prototype = Object.create(HTMLElement.prototype, {\r\n component: {\r\n writable: true,\r\n enumerable: true,\r\n },\r\n constructor: { value: ConstructF },\r\n connectedCallback: {\r\n writable: true,\r\n value: function(this: DSCustomElement): void {\r\n this.dataset.guid = `${this.__guid}`;\r\n if (!options.useShadowDOM || !this.__shadowAppBooted) {\r\n getShadowBaseElementM\r\n .map(fn => fn(this))\r\n .alt(Maybe.just(this))\r\n .map(root => {\r\n const engineStreams = Maybe.maybe(this.__innerProps$)\r\n .map(props$ => engine(this, props$))\r\n .withDefaultFn(() => engine(this));\r\n\r\n handleEngineStreams(this, root, engineStreams);\r\n });\r\n\r\n this.__shadowAppBooted = true;\r\n }\r\n\r\n propsSetup.map(({ hooks: { connectedCallback } }) => {\r\n connectedCallback(this);\r\n });\r\n\r\n this.__attached = true;\r\n this.__onAttached.forEach(fn => fn.call(this));\r\n }\r\n },\r\n disconnectedCallback: {\r\n writable: true,\r\n value: function(this: DSCustomElement): void {\r\n this.__onTeardown.reverse().forEach(fn => fn.call(this));\r\n this.__onTeardown = [];\r\n this.__onAttached = [];\r\n this.__attached = false;\r\n this.__shadowAppBooted = false;\r\n },\r\n },\r\n attributeChangedCallback: {\r\n writable: true,\r\n value: function(\r\n this: DSCustomElement,\r\n attrName: string,\r\n oldVal: any,\r\n newVal: any\r\n ): void {\r\n if (oldVal === newVal || !this.__attached) {\r\n return;\r\n }\r\n\r\n /* All observed attributes are Drysuite properties\r\n it sets the property which triggers the proxy property behavior subject */\r\n setPropFromAttr(\r\n this,\r\n attrName,\r\n newVal,\r\n propsSetup.map(propsSetup => propsSetup.fnHashByName)\r\n );\r\n },\r\n }\r\n});\r\n\r\n // NEEDS TO HAPPEN AFTER OBJECT.CREATE SETS PROTOTYPE\r\n propsSetup.map(({ hooks: { classSetup } }) => classSetup(ConstructF));\r\n\r\n return ConstructF as DSElementConstructor;\r\n}\r\n\r\nexport function createSetupElement<T>(\r\n elementConstructor: DSElementFactory<T>\r\n): (elementOptions: T) => (elementName: string) => void {\r\n return (elementOptions): ((elementName: string) => void) => {\r\n return (elementName: string) => {\r\n const defineElement = () => {\r\n window.customElements.get(elementName) ||\r\n window.customElements.define(\r\n elementName,\r\n elementConstructor(elementName, elementOptions)\r\n );\r\n }\r\n\r\n if (!!window.customElements) {\r\n defineElement();\r\n return;\r\n }\r\n\r\n const whenCustomElementsReady = interval(5)\r\n .pipe(\r\n filter(() => !!window.customElements),\r\n take(1)\r\n )\r\n .toPromise();\r\n\r\n whenCustomElementsReady.then(() => {\r\n defineElement();\r\n });\r\n };\r\n };\r\n}\r\n\r\nfunction handleEngineStreams(\r\n element: DSCustomElement,\r\n root: HTMLElement,\r\n engineStreams: EngineStreams\r\n): void {\r\n const placeholder = document.createElement('div');\r\n\r\n // this will be replaced\r\n root.appendChild(placeholder);\r\n\r\n const domSubscription = engineStreams.DOM$.subscribe(newElement => {\r\n root.replaceChild(newElement, root.firstChild!);\r\n });\r\n\r\n const settledSubscription = engineStreams.settled$.subscribe(settled => {\r\n element.settled = settled;\r\n\r\n if (settled) {\r\n element.dispatchEvent(new CustomEvent('settled'));\r\n }\r\n });\r\n\r\n const teardownSubscription = engineStreams.teardown$.subscribe(teardownFn => {\r\n element.__onTeardown.push(teardownFn);\r\n });\r\n\r\n element.__onTeardown.push(() => {\r\n [domSubscription, settledSubscription, teardownSubscription].forEach(s =>\r\n s.unsubscribe()\r\n );\r\n });\r\n}\r\n\r\nfunction tryAssigningNameProperties(ConstructF: () => DSCustomElement) {\r\n try {\r\n // Assign name to constructor if possible for semantics/helpfulness but swallow error if it doesn't allow (safari cough)\r\n Object.defineProperty(ConstructF, 'is', { value: name, writable: false });\r\n Object.defineProperty(ConstructF, 'localName', {\r\n value: name,\r\n writable: false,\r\n });\r\n } catch (error) {}\r\n}\r\n","import { Observable } from 'rxjs';\nimport { DSCustomElement, Driver } from '../core/core-types';\n\nexport type Effect = (element?: DSCustomElement) => void;\n\nexport function makeGenericEffectsDriver(customElement: DSCustomElement): Driver<Observable<Effect>, void> {\n return (effect$: Observable<Effect>): void => {\n effect$.subscribe({\n next(effect: Effect): void {\n effect(customElement);\n },\n error(): void {\n return;\n },\n complete(): void {\n return;\n }\n });\n };\n}\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nvar DebounceTimeOperator = /*@__PURE__*/ (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n","/** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */\nimport { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); })); };\n}\n//# sourceMappingURL=first.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nvar PairwiseOperator = /*@__PURE__*/ (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n var pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n };\n return PairwiseSubscriber;\n}(Subscriber));\n//# sourceMappingURL=pairwise.js.map\n","(function(global) {\r\n /**\r\n * Polyfill URLSearchParams\r\n *\r\n * Inspired from : https://github.com/WebReflection/url-search-params/blob/master/src/url-search-params.js\r\n */\r\n\r\n var checkIfIteratorIsSupported = function() {\r\n try {\r\n return !!Symbol.iterator;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var iteratorSupported = checkIfIteratorIsSupported();\r\n\r\n var createIterator = function(items) {\r\n var iterator = {\r\n next: function() {\r\n var value = items.shift();\r\n return { done: value === void 0, value: value };\r\n }\r\n };\r\n\r\n if (iteratorSupported) {\r\n iterator[Symbol.iterator] = function() {\r\n return iterator;\r\n };\r\n }\r\n\r\n return iterator;\r\n };\r\n\r\n /**\r\n * Search param name and values should be encoded according to https://url.spec.whatwg.org/#urlencoded-serializing\r\n * encodeURIComponent() produces the same result except encoding spaces as `%20` instead of `+`.\r\n */\r\n var serializeParam = function(value) {\r\n return encodeURIComponent(value).replace(/%20/g, '+');\r\n };\r\n\r\n var deserializeParam = function(value) {\r\n return decodeURIComponent(String(value).replace(/\\+/g, ' '));\r\n };\r\n\r\n var polyfillURLSearchParams = function() {\r\n\r\n var URLSearchParams = function(searchString) {\r\n Object.defineProperty(this, '_entries', { writable: true, value: {} });\r\n var typeofSearchString = typeof searchString;\r\n\r\n if (typeofSearchString === 'undefined') {\r\n // do nothing\r\n } else if (typeofSearchString === 'string') {\r\n if (searchString !== '') {\r\n this._fromString(searchString);\r\n }\r\n } else if (searchString instanceof URLSearchParams) {\r\n var _this = this;\r\n searchString.forEach(function(value, name) {\r\n _this.append(name, value);\r\n });\r\n } else if ((searchString !== null) && (typeofSearchString === 'object')) {\r\n if (Object.prototype.toString.call(searchString) === '[object Array]') {\r\n for (var i = 0; i < searchString.length; i++) {\r\n var entry = searchString[i];\r\n if ((Object.prototype.toString.call(entry) === '[object Array]') || (entry.length !== 2)) {\r\n this.append(entry[0], entry[1]);\r\n } else {\r\n throw new TypeError('Expected [string, any] as entry at index ' + i + ' of URLSearchParams\\'s input');\r\n }\r\n }\r\n } else {\r\n for (var key in searchString) {\r\n if (searchString.hasOwnProperty(key)) {\r\n this.append(key, searchString[key]);\r\n }\r\n }\r\n }\r\n } else {\r\n throw new TypeError('Unsupported input\\'s type for URLSearchParams');\r\n }\r\n };\r\n\r\n var proto = URLSearchParams.prototype;\r\n\r\n proto.append = function(name, value) {\r\n if (name in this._entries) {\r\n this._entries[name].push(String(value));\r\n } else {\r\n this._entries[name] = [String(value)];\r\n }\r\n };\r\n\r\n proto.delete = function(name) {\r\n delete this._entries[name];\r\n };\r\n\r\n proto.get = function(name) {\r\n return (name in this._entries) ? this._entries[name][0] : null;\r\n };\r\n\r\n proto.getAll = function(name) {\r\n return (name in this._entries) ? this._entries[name].slice(0) : [];\r\n };\r\n\r\n proto.has = function(name) {\r\n return (name in this._entries);\r\n };\r\n\r\n proto.set = function(name, value) {\r\n this._entries[name] = [String(value)];\r\n };\r\n\r\n proto.forEach = function(callback, thisArg) {\r\n var entries;\r\n for (var name in this._entries) {\r\n if (this._entries.hasOwnProperty(name)) {\r\n entries = this._entries[name];\r\n for (var i = 0; i < entries.length; i++) {\r\n callback.call(thisArg, entries[i], name, this);\r\n }\r\n }\r\n }\r\n };\r\n\r\n proto.keys = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push(name);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.values = function() {\r\n var items = [];\r\n this.forEach(function(value) {\r\n items.push(value);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.entries = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n if (iteratorSupported) {\r\n proto[Symbol.iterator] = proto.entries;\r\n }\r\n\r\n proto.toString = function() {\r\n var searchArray = [];\r\n this.forEach(function(value, name) {\r\n searchArray.push(serializeParam(name) + '=' + serializeParam(value));\r\n });\r\n return searchArray.join('&');\r\n };\r\n\r\n\r\n global.URLSearchParams = URLSearchParams;\r\n };\r\n\r\n var checkIfURLSearchParamsSupported = function() {\r\n try {\r\n var URLSearchParams = global.URLSearchParams;\r\n\r\n return (new URLSearchParams('?a=1').toString() === 'a=1') && (typeof URLSearchParams.prototype.set === 'function');\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n if (!checkIfURLSearchParamsSupported()) {\r\n polyfillURLSearchParams();\r\n }\r\n\r\n var proto = global.URLSearchParams.prototype;\r\n\r\n if (typeof proto.sort !== 'function') {\r\n proto.sort = function() {\r\n var _this = this;\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n if (!_this._entries) {\r\n _this.delete(name);\r\n }\r\n });\r\n items.sort(function(a, b) {\r\n if (a[0] < b[0]) {\r\n return -1;\r\n } else if (a[0] > b[0]) {\r\n return +1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n if (_this._entries) { // force reset because IE keeps keys index\r\n _this._entries = {};\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n this.append(items[i][0], items[i][1]);\r\n }\r\n };\r\n }\r\n\r\n if (typeof proto._fromString !== 'function') {\r\n Object.defineProperty(proto, '_fromString', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function(searchString) {\r\n if (this._entries) {\r\n this._entries = {};\r\n } else {\r\n var keys = [];\r\n this.forEach(function(value, name) {\r\n keys.push(name);\r\n });\r\n for (var i = 0; i < keys.length; i++) {\r\n this.delete(keys[i]);\r\n }\r\n }\r\n\r\n searchString = searchString.replace(/^\\?/, '');\r\n var attributes = searchString.split('&');\r\n var attribute;\r\n for (var i = 0; i < attributes.length; i++) {\r\n attribute = attributes[i].split('=');\r\n this.append(\r\n deserializeParam(attribute[0]),\r\n (attribute.length > 1) ? deserializeParam(attribute[1]) : ''\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n // HTMLAnchorElement\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n\r\n(function(global) {\r\n /**\r\n * Polyfill URL\r\n *\r\n * Inspired from : https://github.com/arv/DOM-URL-Polyfill/blob/master/src/url.js\r\n */\r\n\r\n var checkIfURLIsSupported = function() {\r\n try {\r\n var u = new global.URL('b', 'http://a');\r\n u.pathname = 'c d';\r\n return (u.href === 'http://a/c%20d') && u.searchParams;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var polyfillURL = function() {\r\n var _URL = global.URL;\r\n\r\n var URL = function(url, base) {\r\n if (typeof url !== 'string') url = String(url);\r\n\r\n // Only create another document if the base is different from current location.\r\n var doc = document, baseElement;\r\n if (base && (global.location === void 0 || base !== global.location.href)) {\r\n doc = document.implementation.createHTMLDocument('');\r\n baseElement = doc.createElement('base');\r\n baseElement.href = base;\r\n doc.head.appendChild(baseElement);\r\n try {\r\n if (baseElement.href.indexOf(base) !== 0) throw new Error(baseElement.href);\r\n } catch (err) {\r\n throw new Error('URL unable to set base ' + base + ' due to ' + err);\r\n }\r\n }\r\n\r\n var anchorElement = doc.createElement('a');\r\n anchorElement.href = url;\r\n if (baseElement) {\r\n doc.body.appendChild(anchorElement);\r\n anchorElement.href = anchorElement.href; // force href to refresh\r\n }\r\n\r\n var inputElement = doc.createElement('input');\r\n inputElement.type = 'url';\r\n inputElement.value = url;\r\n\r\n if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || (!inputElement.checkValidity() && !base)) {\r\n throw new TypeError('Invalid URL');\r\n }\r\n\r\n Object.defineProperty(this, '_anchorElement', {\r\n value: anchorElement\r\n });\r\n\r\n\r\n // create a linked searchParams which reflect its changes on URL\r\n var searchParams = new global.URLSearchParams(this.search);\r\n var enableSearchUpdate = true;\r\n var enableSearchParamsUpdate = true;\r\n var _this = this;\r\n ['append', 'delete', 'set'].forEach(function(methodName) {\r\n var method = searchParams[methodName];\r\n searchParams[methodName] = function() {\r\n method.apply(searchParams, arguments);\r\n if (enableSearchUpdate) {\r\n enableSearchParamsUpdate = false;\r\n _this.search = searchParams.toString();\r\n enableSearchParamsUpdate = true;\r\n }\r\n };\r\n });\r\n\r\n Object.defineProperty(this, 'searchParams', {\r\n value: searchParams,\r\n enumerable: true\r\n });\r\n\r\n var search = void 0;\r\n Object.defineProperty(this, '_updateSearchParams', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function() {\r\n if (this.search !== search) {\r\n search = this.search;\r\n if (enableSearchParamsUpdate) {\r\n enableSearchUpdate = false;\r\n this.searchParams._fromString(this.search);\r\n enableSearchUpdate = true;\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n var proto = URL.prototype;\r\n\r\n var linkURLWithAnchorAttribute = function(attributeName) {\r\n Object.defineProperty(proto, attributeName, {\r\n get: function() {\r\n return this._anchorElement[attributeName];\r\n },\r\n set: function(value) {\r\n this._anchorElement[attributeName] = value;\r\n },\r\n enumerable: true\r\n });\r\n };\r\n\r\n ['hash', 'host', 'hostname', 'port', 'protocol']\r\n .forEach(function(attributeName) {\r\n linkURLWithAnchorAttribute(attributeName);\r\n });\r\n\r\n Object.defineProperty(proto, 'search', {\r\n get: function() {\r\n return this._anchorElement['search'];\r\n },\r\n set: function(value) {\r\n this._anchorElement['search'] = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n });\r\n\r\n Object.defineProperties(proto, {\r\n\r\n 'toString': {\r\n get: function() {\r\n var _this = this;\r\n return function() {\r\n return _this.href;\r\n };\r\n }\r\n },\r\n\r\n 'href': {\r\n get: function() {\r\n return this._anchorElement.href.replace(/\\?$/, '');\r\n },\r\n set: function(value) {\r\n this._anchorElement.href = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'pathname': {\r\n get: function() {\r\n return this._anchorElement.pathname.replace(/(^\\/?)/, '/');\r\n },\r\n set: function(value) {\r\n this._anchorElement.pathname = value;\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'origin': {\r\n get: function() {\r\n // get expected port from protocol\r\n var expectedPort = { 'http:': 80, 'https:': 443, 'ftp:': 21 }[this._anchorElement.protocol];\r\n // add port to origin if, expected port is different than actual port\r\n // and it is not empty f.e http://foo:8080\r\n // 8080 != 80 && 8080 != ''\r\n var addPortToOrigin = this._anchorElement.port != expectedPort &&\r\n this._anchorElement.port !== '';\r\n\r\n return this._anchorElement.protocol +\r\n '//' +\r\n this._anchorElement.hostname +\r\n (addPortToOrigin ? (':' + this._anchorElement.port) : '');\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'password': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'username': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n });\r\n\r\n URL.createObjectURL = function(blob) {\r\n return _URL.createObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n URL.revokeObjectURL = function(url) {\r\n return _URL.revokeObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n global.URL = URL;\r\n\r\n };\r\n\r\n if (!checkIfURLIsSupported()) {\r\n polyfillURL();\r\n }\r\n\r\n if ((global.location !== void 0) && !('origin' in global.location)) {\r\n var getOrigin = function() {\r\n return global.location.protocol + '//' + global.location.hostname + (global.location.port ? (':' + global.location.port) : '');\r\n };\r\n\r\n try {\r\n Object.defineProperty(global.location, 'origin', {\r\n get: getOrigin,\r\n enumerable: true\r\n });\r\n } catch (e) {\r\n setInterval(function() {\r\n global.location.origin = getOrigin();\r\n }, 100);\r\n }\r\n }\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import { fromEvent } from 'rxjs';\nimport { map, filter, take } from 'rxjs/operators';\nimport { Maybe } from 'maybe-not';\nexport function _sendMessage(recipient, type, protocol, message, guid = null, status = 'success') {\n const recipientWindow = window.isTestingTecton ? window : recipient;\n recipientWindow.postMessage({\n tectonic: true,\n value: message.withDefault(''),\n status,\n type,\n protocol,\n guid\n }, '*');\n}\nexport function sendMessage(method, message) {\n _sendMessage(window.parent, method, 'MESSAGE', message);\n}\nexport function sendBroadcast(method, message) {\n _sendMessage(window, method, 'BROADCAST', message);\n if (window.isTestingTecton) {\n return;\n }\n Array.prototype.slice\n .call(document.querySelectorAll('tecton-platform-outlet, tecton-outlet, tecton-tab-pane'))\n .forEach((outletNode) => {\n const iframe = outletNode.shadowRoot && outletNode.shadowRoot.querySelector('iframe');\n if (iframe && iframe.contentWindow) {\n _sendMessage(iframe.contentWindow, method, 'BROADCAST', message);\n }\n });\n}\nfunction checkTypeAndFormat(type, obs, protocol, guid = null) {\n return obs.pipe(filter((e) => {\n return (e.data.type === type &&\n (!guid || e.data.guid === guid) &&\n e.data.protocol === protocol);\n }), map(e => {\n if (e.data.status === 'success') {\n // tslint:disable-next-line:no-object-literal-type-assertion\n return {\n status: 'success',\n value: e.data.value && JSON.parse(e.data.value),\n sender: e.source,\n type,\n guid: e.data.guid\n };\n }\n else {\n // tslint:disable-next-line:no-object-literal-type-assertion\n return {\n status: 'error',\n message: e.data.value && JSON.parse(e.data.value).message,\n sender: e.source,\n type,\n guid: e.data.guid\n };\n }\n }));\n}\nexport default class MessageBus {\n constructor() {\n this.messageNum = 0;\n this.firehose$ = fromEvent(window, 'message').pipe(filter((e) => e.data.tectonic));\n }\n onMessage(type, protocol = 'MESSAGE', guid = null) {\n return checkTypeAndFormat(type, this.firehose$, protocol, guid).pipe(map(_handleMessage));\n }\n sendRequest(type, message, options) {\n const guid = this.getNextMessageNumber();\n _sendMessage(window.parent, type, 'REQUEST', message, guid, 'success');\n const promises = [];\n promises.push(this.onMessage(type, 'RESPONSE', guid)\n .pipe(take(1))\n .toPromise());\n if (options && options.timeout) {\n promises.push(new Promise((resolve, reject) => {\n setTimeout(() => {\n reject({\n status: 'error',\n message: `The request ${message} has timed out`,\n sender: window,\n type,\n guid\n });\n }, options.timeout);\n }));\n }\n return Promise.race(promises);\n }\n sendResponse(type, generateResponse) {\n return this.onMessage(type, 'REQUEST').subscribe(response => {\n return Promise.resolve()\n .then(() => {\n if (response.status === 'success') {\n return generateResponse(response.value, response.sender);\n }\n else {\n throw Error(\"Don't send Error Message as Request!\");\n }\n })\n .then(body => {\n if (body === null) {\n return;\n }\n return _responseCallback(response.sender, response.type, body, response.guid, 'success');\n })\n .catch(err => _responseCallback(response.sender, response.type, { message: err.message }, response.guid, 'error'));\n });\n }\n getNextMessageNumber() {\n const nextNum = this.messageNum + 1;\n this.messageNum = nextNum;\n return nextNum;\n }\n}\nfunction _handleMessage(response) {\n if (response.status === 'success') {\n return response;\n }\n throw response;\n}\nfunction _responseCallback(sender, type, data, guid = null, status) {\n _sendMessage(sender, type, 'RESPONSE', Maybe.maybe(data).map(JSON.stringify), guid, status);\n}\n//# sourceMappingURL=message-bus.js.map","import MessageBus, { sendMessage, sendBroadcast } from 'q2-tecton-common/lib/utility/message-bus';\nimport { filter } from 'rxjs/operators';\nclass PlatformMessageBus extends MessageBus {\n constructor(tectonConfig$, allowAll) {\n super();\n this.domains = new Set();\n this.configSubscription = tectonConfig$.subscribe(this.getConfigDomains.bind(this));\n this.firehose$ = this.firehose$.pipe(filter((e) => {\n // filter messages to only registered origins\n return allowAll || this.domains.has(e.origin);\n }));\n }\n teardown() {\n this.configSubscription.unsubscribe();\n }\n getConfigDomains(tectonConfig) {\n let additionalDomains = Array(window.location.origin.toString());\n const moduleURLs = Object.keys(tectonConfig.features).map(feature => {\n const featureAdditionalDomains = tectonConfig.features[feature].additionalDomains;\n if (featureAdditionalDomains && featureAdditionalDomains.length > 0) {\n additionalDomains = additionalDomains.concat(featureAdditionalDomains);\n }\n return Object.keys(tectonConfig.features[feature].modules).map(module => {\n const moduleURL = tectonConfig.features[feature].modules[module].url;\n try {\n // try parsing module's url\n const urlObj = new URL(moduleURL, window.location.href);\n return urlObj.origin;\n }\n catch (e) {\n return '';\n }\n });\n });\n const domains = additionalDomains.concat(...moduleURLs);\n this.domains = dedupeAndCompact(domains);\n }\n}\nfunction dedupeAndCompact(domains) {\n return new Set(domains.filter(domain => domain !== ''));\n}\nexport { PlatformMessageBus as default, sendMessage, sendBroadcast };\n","export function treeNode(value, ...children) {\n return {\n value,\n children\n };\n}\nexport function treeLeaf(value) {\n return {\n value,\n children: []\n };\n}\nexport const tectonAccountTree = treeNode('Q2Account', treeNode('Held', treeNode('Deposit', treeLeaf('Checking'), treeLeaf('MoneyMarket'), treeLeaf('Savings'), treeLeaf('CertificateOfDeposit'), treeLeaf('Goal'), treeLeaf('PlanBasedInvestment'), treeLeaf('IRABasedInvestment'), treeLeaf('BrokerageBasedInvestment')), treeNode('Loan', treeLeaf('Installment'), treeLeaf('Commercial'), treeLeaf('Mortgage'), treeLeaf('LineOfCredit'), treeLeaf('HomeEquity')), treeNode('CreditCard', treeLeaf('Visa'), treeLeaf('MasterCard'), treeLeaf('Discover'), treeLeaf('AmericanExpress'))), treeNode('External', treeNode('PFM', treeLeaf('Manual'), treeLeaf('Aggregated'))));\nexport const tectonTransactionTree = treeNode('Q2Transaction', treeNode('Posted', treeNode('Credit', treeLeaf('GenericCredit'), treeLeaf('InterestCredit'), treeLeaf('Dividend'), treeLeaf('Deposit'), treeLeaf('ATMCredit'), treeLeaf('POSCredit'), treeLeaf('TransferCredit'), treeLeaf('DirectDeposit'), treeLeaf('HoldCredit'), treeLeaf('OtherCredit')), treeNode('Debit', treeLeaf('GenericDebit'), treeLeaf('InterestDebit'), treeLeaf('Fee'), treeLeaf('ServiceCharge'), treeLeaf('ATMDebit'), treeLeaf('POSDebit'), treeLeaf('TransferDebit'), treeLeaf('Payment'), treeLeaf('Check'), treeLeaf('Cash'), treeLeaf('DirectDebit'), treeLeaf('RepeatPayment'), treeLeaf('OtherDebit'))), treeLeaf('Memo'));\nexport const tectonDataTypeTrees = {};\nexport var PlatformCategories;\n(function (PlatformCategories) {\n PlatformCategories[\"Account\"] = \"Account\";\n PlatformCategories[\"Transaction\"] = \"Transaction\";\n})(PlatformCategories || (PlatformCategories = {}));\ntectonDataTypeTrees[PlatformCategories.Account] = tectonAccountTree;\ntectonDataTypeTrees[PlatformCategories.Transaction] = tectonTransactionTree;\nfunction descendantsMatch(dataType, children) {\n let found = [];\n for (const item of children) {\n if (dataType === item.value) {\n found = [item.value];\n break;\n }\n else if (item.children.length > 0) {\n const descendantsPath = descendantsMatch(dataType, item.children);\n if (descendantsPath.length > 0) {\n found = descendantsPath.concat([item.value]);\n break;\n }\n }\n }\n return found;\n}\nexport function getTypePath(typeId) {\n const queryParts = typeId.split('::');\n if (queryParts.length !== 2) {\n return [];\n }\n const category = queryParts[0];\n const dataType = queryParts[1];\n const tree = tectonDataTypeTrees[category];\n return descendantsMatch(dataType, [tree]).map(type => `${category}::${type}`);\n}\nexport const TECTON_ACCOUNT_TYPE_PRODUCT_CODES = {\n Goal: ['D', 'G']\n};\n//# sourceMappingURL=hierarchy.js.map","import { Maybe } from 'maybe-not';\nimport { TECTON_ACCOUNT_TYPE_PRODUCT_CODES } from 'q2-tecton-common/lib/models/data-types/hierarchy';\nexport default function requestPlatformDataSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.sendRequest) {\n capabilities.add('requestPlatformData');\n capabilities.add('requestPlatformData-v2');\n const subscriptionV1 = messageBus.sendResponse('requestPlatformData', (messageBody) => {\n return platformDataRequest(legacyControlBus, messageBody).then(function (response) {\n const isStatusOk = 200 <= response.status && response.status < 300;\n if (isStatusOk) {\n return {\n data: messageBody.method === 'GET'\n ? response.response.data\n : response.response,\n status: 'success'\n };\n }\n else {\n return { data: { message: response.statusText }, status: 'error' };\n }\n });\n });\n const subscriptionV2 = messageBus.sendResponse('requestPlatformData-v2', (messageBody) => {\n return platformDataRequest(legacyControlBus, messageBody);\n });\n teardowns.push(() => {\n subscriptionV1.unsubscribe();\n subscriptionV2.unsubscribe();\n });\n }\n}\nexport function isDataRequest(request) {\n return !!request.dataType;\n}\nexport function platformDataRequest(legacyControlBus, request) {\n let routePromise;\n if (isDataRequest(request)) {\n routePromise = resolveDataURL(legacyControlBus, request.dataType, Maybe.maybe(request.dataId), request.params);\n }\n else {\n routePromise = Promise.resolve(request.route);\n }\n return routePromise.then(route => {\n return legacyControlBus.sendRequest(route, request.method, request.body);\n });\n}\nexport function resolveDataURL(legacyControlBus, dataType, dataIdM, params = {}) {\n const [category, type] = dataType.split('::');\n const dataURLOrResolver = dataURLMap[category][type] || dataURLMap[category].default;\n const dataURL = typeof dataURLOrResolver === 'string'\n ? Promise.resolve(dataURLOrResolver)\n : dataURLOrResolver(legacyControlBus);\n return dataURL.then(url => `${url}${dataIdM.map(id => `/${id}`).withDefault('')}${buildQueryParams(params)}`);\n}\nfunction buildQueryParams(params) {\n const paramString = Object.keys(params)\n .map(key => `${key}=${params[key]}`)\n .join('&');\n return (paramString && '?'.concat(paramString)) || '';\n}\nconst dataURLMap = {\n Account: {\n default: 'mobilews/account'\n },\n Accounts: {\n default: 'mobilews/accounts'\n },\n FormData: {\n default: '',\n FundsTransfer: 'mobilews/transactionForm/fundsTransfer'\n },\n Goals: {\n Categories: 'hq/core/goalsCategoryMapping',\n CreateGoal: (legacyControlBus) => createAccountURLByType(legacyControlBus, 'Goal')\n },\n FundsTransfer: {\n Create: 'mobilews/transaction/fundsTransfer'\n },\n PRIVATE: {\n systemConfig: 'q2Config'\n }\n};\nfunction createAccountURLByType(legacyControlBus, type) {\n const [productTypeCode, productCode] = TECTON_ACCOUNT_TYPE_PRODUCT_CODES[type];\n return getAccountProductIDByType(legacyControlBus, productTypeCode, productCode).then(productId => `mobilews/account/${productId}`);\n}\nconst getAccountProductIDByType = (function () {\n let accountProducts;\n return function (legacyControlBus, productTypeCode, productCode) {\n let productPromise;\n if (Array.isArray(accountProducts)) {\n productPromise = Promise.resolve(accountProducts);\n }\n else {\n productPromise = legacyControlBus.sendRequest('hq/core/productAndType', 'GET').then(function (xhr) {\n accountProducts = xhr.response.data;\n return accountProducts;\n });\n }\n return productPromise.then((productsResponse) => {\n const products = productsResponse;\n return products.find(product => {\n return (product.hydraProductTypeCode === productTypeCode &&\n product.hydraProductCode === productCode);\n }).productID;\n });\n };\n})();\n","import { platformDataRequest } from '../sources/requestPlatformDataSetup';\nimport { Maybe } from 'maybe-not';\nexport default function setupGetTypeValue(messageBus, legacyControlBus, teardowns) {\n const subscription = messageBus.sendResponse('getValueType', (messageBody) => {\n const providedTypeM = messageBody.providedType\n ? Maybe.just(messageBody.providedType)\n : Maybe.nothing();\n return getTypeValue(legacyControlBus, messageBody.baseContext, messageBody.valueId, providedTypeM);\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function getTypeValue(legacyControlBus, baseDataType, valueId, providedTypeM) {\n const providedType = providedTypeM.withDefault('');\n if (providedType !== '') {\n return Promise.resolve(providedType);\n }\n return platformDataRequest(legacyControlBus, {\n dataType: baseDataType,\n dataId: valueId,\n method: 'GET'\n })\n .then(data => resolveSpecificTypeByData(baseDataType, data.response.data))\n .catch(() => baseDataType);\n}\nfunction resolveSpecificTypeByData(baseType, data) {\n const [typeCategory] = baseType.split('::');\n return resolver[`resolveTypeOf${typeCategory}`](data);\n}\nconst resolver = {};\nresolver.resolveTypeOfAccount = function (data) {\n if (!data.extended) {\n return 'Account::Q2Account';\n }\n return `Account::${ACCOUNT_TYPES_BY_CODE[`${data.extended.hydraProductTypeCode}${data.extended.hydraProductCode}`] || 'Q2Account'}`;\n};\nresolver.resolveTypeOfTransaction = function (data) {\n const posted = data.transactionType === 'Memo' ? 'M' : 'P';\n if (posted === 'M') {\n return 'Transaction::Q2Transaction::Memo';\n }\n if (!data.extended) {\n return 'Transaction::Q2Transaction';\n }\n return `Transaction::${TRANSACTION_TYPES_BY_CODE[`${data.extended.dorC}${data.extended.ofxTranType}`] || 'Q2Transaction'}`;\n};\nconst ACCOUNT_TYPES_BY_CODE = {\n DC: 'Checking',\n DM: 'MoneyMarket',\n DS: 'Savings',\n DT: 'CertificateOfDeposit',\n DG: 'Goal',\n DP: 'PlanBasedInvestment',\n DI: 'IRABasedInvestment',\n DB: 'BrokerageBasedInvestment',\n LL: 'LineOfCredit',\n LI: 'Installment',\n LC: 'Commercial',\n LM: 'Mortgage',\n LH: 'HomeEquity',\n CM: 'MasterCard',\n CV: 'Visa',\n CD: 'Discover',\n CA: 'AmericanExpress'\n};\nconst TRANSACTION_TYPES_BY_CODE = {\n CCREDIT: 'GenericCredit',\n CINT: 'InterestCredit',\n CDIV: 'Dividend',\n CDEP: 'Deposit',\n CATM: 'ATMCredit',\n CPOS: 'POSCredit',\n CXFER: 'TransferCredit',\n CDIRECTDEP: 'DirectDeposit',\n CHOLD: 'HoldCredit',\n COTHER: 'OtherCredit',\n DDEBIT: 'GenericDebit',\n DINT: 'InterestDebit',\n DFEE: 'Fee',\n DSRVCHG: 'ServiceCharge',\n DATM: 'ATMDebit',\n DPOS: 'POSDebit',\n DXFER: 'TransferDebit',\n DPAYMENT: 'Payment',\n DCHECK: 'Check',\n DCASH: 'Cash',\n DDIRECTDEBIT: 'DirectDebit',\n DREPEATPMT: 'RepeatPayment',\n DOTHER: 'OtherDebit'\n};\n","export default function getModuleParams(moduleId, params = {}) {\n return Object.keys(params)\n .filter(item => {\n const lastIndex = item.lastIndexOf('.');\n const outletId = item.slice(0, lastIndex);\n return outletId.startsWith(moduleId);\n })\n .reduce((accumulator, item) => {\n const lastIndex = item.lastIndexOf('.');\n const key = item.substring(lastIndex + 1);\n accumulator[key] = params[item];\n return accumulator;\n }, Object.create({}));\n}\n","import { Maybe } from 'maybe-not';\nimport { getTypeValue } from './setupGetTypeValue';\nimport { getTypePath } from 'q2-tecton-common/lib/models/data-types/hierarchy';\nimport getModuleParams from './getModuleParams';\nexport default function setupResolveFeature(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n /**\n * Uses outlet info to get the JSON config for a feature\n * @internal\n */\n const subscription = messageBus.sendResponse('resolveFeature', async (messageBody) => {\n const resolvedInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedInfo.configPath, resolvedInfo.treeFromRoot);\n const moduleFeatureManifest = await legacyControlBus.dynamicConfigFetch(resolvedInfo.featureName);\n const outletType = moduleFeatureManifest.modules[resolvedInfo.moduleName].meta.outlets[resolvedInfo.outletName];\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueId = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const moduleLookups = platformConfig.configuredOutlets[resolvedInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n return resolveFeature(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueId, moduleLookups, providedTypeM, tectonConfig, resolvedInfo.featureName, resolvedInfo.moduleName).then((featureM) => {\n return featureM.withDefault({\n moduleId: '',\n featureName: '',\n initialParams: {},\n url: '',\n minHeight: '',\n formPostAuth: false,\n loadingOptions: {\n loaders: [\n {\n type: 'spinner',\n shape: 'half-circle',\n row: 1\n }\n ]\n }\n });\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, moduleLookups, providedTypeM, tectonConfig, hostFeatureName, hostModuleName) {\n return getTypeValueIfContextual(legacyControlBus, baseContextM, contextValueIdM, providedTypeM)\n .then(async (valueTypeM) => {\n const modulesFromLookups = await resolveLookups(legacyControlBus.dynamicConfigFetch, moduleLookups);\n const typedResolutionM = valueTypeM\n .map(getTypePath)\n .bind((compatibleTypesByPriority) => findMatchByPriority(modulesFromLookups, compatibleTypesByPriority));\n const unTypedResolutionM = Maybe.maybe(modulesFromLookups[0]);\n return valueTypeM\n .map(() => typedResolutionM)\n .altMap(() => Maybe.just(unTypedResolutionM))\n .bind(val => val);\n })\n .then(async (feature) => {\n return feature.map(val => {\n var _a, _b, _c, _d;\n const moduleId = `${outletPath}.${val.featureName}.${val.moduleName}`;\n const hostModulePermissions = ((_b = (_a = tectonConfig.features[hostFeatureName]) === null || _a === void 0 ? void 0 : _a.modules[hostModuleName]) === null || _b === void 0 ? void 0 : _b.requiredUserCapabilities) || [];\n const modulePermissions = ((_d = (_c = tectonConfig.features[val.featureName]) === null || _c === void 0 ? void 0 : _c.modules[val.moduleName]) === null || _d === void 0 ? void 0 : _d.requiredUserCapabilities) || [];\n const allPermissions = [\n ...new Set([...hostModulePermissions, ...modulePermissions])\n ];\n return {\n moduleId,\n initialParams: getModuleParams(moduleId, params$.getValue().currentParams),\n featureName: val.featureName,\n url: val.url,\n minHeight: val.meta.type.minHeight || '',\n tabLabelOverride: val.tabLabelOverride,\n formPostAuth: !!val.formPostAuth,\n loadingOptions: val.loadingOptions,\n additionalDomains: val.additionalDomains,\n allowDirectives: val.allowDirectives,\n requiredUserCapabilities: allPermissions\n };\n });\n });\n}\nexport function getTypeValueIfContextual(legacyControlBus, baseContextM, contextValueIdM, providedTypeM) {\n return Maybe.sequence([baseContextM, contextValueIdM])\n .map(([baseContext, valueId]) => {\n return getTypeValue(legacyControlBus, baseContext, valueId, providedTypeM).then(Maybe.just);\n })\n .withDefaultFn(() => Promise.resolve(Maybe.nothing()));\n}\nfunction resolveLookups(dynamicConfigFetch, moduleLookups) {\n return Promise.all(moduleLookups.map(async (lookup) => {\n const featureManifest = await dynamicConfigFetch(lookup.featureName);\n const resolvedManifest = featureManifest.modules[lookup.moduleName];\n const additionalDomains = featureManifest.additionalDomains;\n const allowDirectives = featureManifest.allowDirectives;\n return Object.assign(Object.assign(Object.assign({}, lookup), resolvedManifest), { additionalDomains, allowDirectives });\n }));\n}\nfunction findMatchByPriority(modules, prioritizedTypes) {\n return Maybe.maybe(modules.find((moduleConfig) => {\n return moduleConfig.meta.type.context === prioritizedTypes[0];\n })).altMap(() => (prioritizedTypes.length === 0 &&\n Maybe.nothing()) ||\n findMatchByPriority(modules, prioritizedTypes.slice(1)));\n}\n/**\n * Construct a dotnation path through the actual config for this request (configPath).\n * It also returns some ancillary information to that path.\n *\n * @remarks\n *\n * using the modulo 3 check to determine if the path that is passed in ends at a module definition or a outlet definition:\n * outlet : legacy.AccountDetails.configuredOutlets.topBanner\n * module : tectonRoute.TectonCanary.canary\n */\nexport async function getPathResolutionInfo(path, dynamicFetch) {\n const pathType = path.length % 3 === 1 ? 'outlet' : 'module';\n const resolveType = path[0];\n const isLegacyRoot = path.length < 5;\n let configPath;\n let basePlatformConfig;\n let featureName;\n let moduleName;\n let outletName;\n if (resolveType === 'tectonOverpanel') {\n configPath = generateTectonConfigPathFromModuleId({\n path: path.slice(2),\n outletModuloVal: 2\n });\n const featureConfig = await dynamicFetch(path[1]);\n basePlatformConfig = featureConfig.configuredOverpanels[path[2]];\n }\n else {\n configPath = generateTectonConfigPathFromModuleId({\n path: path.slice(3),\n outletModuloVal: 0\n });\n basePlatformConfig = await dynamicFetch(path[1], path[2]);\n }\n if (pathType === 'outlet') {\n if (isLegacyRoot) {\n featureName = basePlatformConfig.featureName;\n moduleName = basePlatformConfig.moduleName;\n }\n else {\n featureName = path[path.length - 3];\n moduleName = path[path.length - 2];\n }\n outletName = path[path.length - 1];\n configPath = configPath.slice(0, -2);\n return {\n pathType,\n featureName,\n moduleName,\n outletName,\n configPath,\n pathOrigin: resolveType,\n treeFromRoot: basePlatformConfig\n };\n }\n if (isLegacyRoot) {\n featureName = basePlatformConfig.featureName;\n moduleName = basePlatformConfig.moduleName;\n }\n else {\n featureName = path[path.length - 2];\n moduleName = path[path.length - 1];\n }\n return {\n pathType,\n featureName,\n moduleName,\n configPath,\n pathOrigin: resolveType,\n treeFromRoot: basePlatformConfig\n };\n}\nexport function generateTectonConfigPathFromModuleId({ path, outletModuloVal }) {\n const moduleModuloVal = outletModuloVal + (2 % 3);\n return path.reduce((acc, pathItem, index) => {\n if (index % 3 === outletModuloVal) {\n return acc.concat(['configuredOutlets', pathItem]);\n }\n if (index % 3 === moduleModuloVal && index !== 2) {\n const featureName = acc[acc.length - 1];\n acc[acc.length - 1] = `${featureName}-${pathItem}`;\n return acc;\n }\n else {\n return acc.concat(pathItem);\n }\n }, []);\n}\nexport function resolveTectonPath(path, moduleTree) {\n return path.reduce((acc, pathItem) => {\n if (Array.isArray(acc)) {\n const [featureName, moduleName] = pathItem.split('-');\n if (acc[0].hasOwnProperty('tabLabel')) {\n return findModuleInArrayConfig(acc, matchModulebyFeatureName(featureName, moduleName));\n }\n else if (acc[0].hasOwnProperty('menuItemLabel')) {\n return findModuleInArrayConfig(acc, matchModulebyFeatureName(featureName, moduleName));\n }\n else {\n return acc.find(matchModulebyFeatureName(featureName, moduleName));\n }\n }\n else {\n return acc[pathItem];\n }\n }, moduleTree);\n}\nexport function findModuleInArrayConfig(arr, testFn) {\n let nestedIndex = -1;\n const topLevelResolve = arr.find(itemArr => {\n nestedIndex = itemArr.modules.findIndex(testFn);\n return nestedIndex !== -1;\n });\n if (topLevelResolve) {\n return topLevelResolve.modules[nestedIndex];\n }\n}\nexport function matchModulebyFeatureName(featureName, moduleName) {\n return item => {\n return item.featureName === featureName && item.moduleName === moduleName;\n };\n}\n","import { Maybe } from 'maybe-not';\nexport default function getNavigationData(tectonConfig$, featureName, moduleName) {\n const tectonConfig = tectonConfig$.getValue();\n return Maybe.maybe(tectonConfig.features[featureName]).map(feature => {\n const primaryModuleName = Object.keys(feature.modules).find(key => {\n return feature.modules[key].primary;\n });\n const activeModule = feature.modules[moduleName] || feature.modules[primaryModuleName]; // lookup\n const key = `${featureName}.${activeModule.meta.moduleName}`;\n return {\n navigable: !!activeModule.navigable,\n legacy: !!feature.legacy,\n key: feature.legacy ? feature.legacyRouteName : key\n };\n });\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nimport validateActionParameters from '../utility/validateActionParameters';\n/**\n * Setup the showOverpanel API\n *\n * @remark\n * Deprecate this signature in Tecton 2.0 to make the interface more sane\n * i.e. Make the outletId not the first argument. We had to do it this way for\n * backwards compatibility.\n *\n * useRouteConfig is for contextual menu cases\n * legacy is for overpanels that are not in an extension\n */\nexport default function showOverpanelSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showOverpanel) {\n capabilities.add('showOverpanel');\n const subscription = messageBus.sendResponse('showOverpanel', async (messageBody) => {\n var _a, _b, _c;\n let overpanelConfig;\n let overpanelConfigPath;\n if (messageBody.useRouteConfig) {\n // use the feature they want to go to\n // overpanelPath is featureName.moduleName\n const [featureName, moduleName] = messageBody.overpanelPath.split('.');\n overpanelConfig = await legacyControlBus.dynamicConfigFetch(featureName, moduleName);\n overpanelConfigPath = messageBody.overpanelPath;\n }\n else {\n // use the feature they are in\n // overpanelPath is the name of the overpanel\n const resolvedInfo = await getPathResolutionInfo(messageBody.moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n overpanelConfig = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.configuredOverpanels[messageBody.overpanelPath]);\n overpanelConfigPath = `${resolvedInfo.featureName}.${messageBody.overpanelPath}`;\n }\n const featureConfig = await legacyControlBus.dynamicConfigFetch(overpanelConfig.featureName);\n if (featureConfig.legacy && !featureConfig.legacyOverpanelName) {\n throw new Error('Tried to call a legacy overpanel, but config is missing a legacyOverpanelName');\n }\n const actionParameters = featureConfig.modules[overpanelConfig.moduleName].meta.params;\n validateActionParameters(messageBody.params, actionParameters);\n if (messageBody.params && legacyControlBus.updateParams && !featureConfig.legacy) {\n legacyControlBus.updateParams(`tectonOverpanel.${overpanelConfigPath}`, messageBody.params, actionParameters);\n }\n const overpanelId = featureConfig.legacy && messageBody.params\n ? JSON.stringify(messageBody.params)\n : overpanelConfigPath;\n const legacyOverpanelName = featureConfig.legacy\n ? featureConfig.legacyOverpanelName\n : undefined;\n const size = (_a = messageBody.options) === null || _a === void 0 ? void 0 : _a.size;\n const height = (_b = messageBody.options) === null || _b === void 0 ? void 0 : _b.height;\n const fullWidth = (_c = messageBody.options) === null || _c === void 0 ? void 0 : _c.fullWidth;\n return legacyControlBus.showOverpanel(overpanelId, !!fullWidth, legacyOverpanelName, size, height);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function validateActionParameters(candidateSubset, configuredParameters) {\n if (candidateSubset === undefined || candidateSubset === null) {\n return true;\n }\n if (configuredParameters === undefined) {\n throw new Error(`params for action are not configured, yet ${JSON.stringify(candidateSubset)} was passed to action`);\n }\n const invalidKeys = [];\n Object.keys(candidateSubset).forEach(key => {\n if (!configuredParameters[key]) {\n invalidKeys.push(key);\n }\n });\n if (invalidKeys.length > 0) {\n throw new Error(`The following parameter(s) passed to action is/are not configured for the action: [${invalidKeys.join(', ')}]`);\n }\n return true;\n}\n","import pick from 'q2-tecton-common/lib/utility/pick';\nexport default function sendAlertSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.sendAlert) {\n capabilities.add('sendAlert');\n const subscription = messageBus\n .onMessage('sendAlert')\n .subscribe(message => {\n const cleanedMessage = pick([\n 'msg',\n 'message',\n 'styleType',\n 'closable',\n 'durationInMs',\n 'onClickNavigation'\n ], message.value);\n legacyControlBus.sendAlert(cleanedMessage);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function pick(props, obj) {\n return props.reduce((memo, prop) => {\n if (prop in obj) {\n return Object.assign(Object.assign({}, memo), { [prop]: obj[prop] });\n }\n return memo;\n }, {});\n}\n//# sourceMappingURL=pick.js.map","import authorizeTransactionWithMfaSetup from './authorizeTransactionWithMfaSetup';\nimport navigateToSetup from './navigateToSetup';\nimport showOverpanelSetup from './showOverpanelSetup';\nimport setupTectonLanguage from './t';\nimport closeOverpanelSetup from './closeOverpanelSetup';\nimport setTitleSetup from './setTitleSetup';\nimport setParamsSetup from './setParamsSetup';\nimport clearParamsSetup from './clearParamsSetup';\nimport refetchAccountsSetup from './refetchAccountsSetup';\nimport sendAlertSetup from './sendAlertSetup';\nimport showModalSetup from './showModalSetup';\nimport printWindowSetup from './printWindowSetup';\nimport loadingModalSetup from './loadingModalSetup';\nimport keepAliveSetup from './keepAliveSetup';\nimport scrollToTop from './scrollToTopSetup';\nimport openURLSetup from './openURLSetup';\nimport clearCacheSetup from './clearCacheSetup';\nimport logToServerSetup from './logToServerSetup';\nimport manageChangesSetup from './manageChangesSetup';\nimport { actionRequired, removeActionRequired } from './actionRequiredSetup';\nexport default function setupActions(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n authorizeTransactionWithMfaSetup(messageBus, legacyControlBus, capabilities, teardowns);\n showOverpanelSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n closeOverpanelSetup(messageBus, legacyControlBus, capabilities, teardowns);\n navigateToSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n setTitleSetup(messageBus, legacyControlBus, tectonConfig$, capabilities, teardowns);\n setParamsSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n clearParamsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n setupTectonLanguage(messageBus, legacyControlBus, capabilities, teardowns);\n sendAlertSetup(messageBus, legacyControlBus, capabilities, teardowns);\n showModalSetup(messageBus, legacyControlBus, capabilities, teardowns);\n loadingModalSetup(messageBus, legacyControlBus, capabilities, teardowns);\n printWindowSetup(messageBus, teardowns);\n keepAliveSetup(messageBus, legacyControlBus, capabilities, teardowns);\n logToServerSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n openURLSetup(messageBus, legacyControlBus, capabilities, teardowns);\n scrollToTop(messageBus, capabilities, teardowns);\n clearCacheSetup(messageBus, legacyControlBus, capabilities, teardowns);\n manageChangesSetup(messageBus, legacyControlBus, capabilities, teardowns);\n actionRequired(messageBus, legacyControlBus, capabilities, teardowns);\n removeActionRequired(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function authorizeTransactionWithMfaSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.authorizeTransactionWithMfa) {\n capabilities.add('authorizeTransactionWithMfa');\n const subscription = messageBus.sendResponse('authorizeTransactionWithMfa', async (promptOptions) => {\n const featureName = await getPathResolutionInfo(promptOptions.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.featureName);\n return legacyControlBus.authorizeTransactionWithMfa(featureName, promptOptions);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { map } from 'rxjs/operators';\nexport default function closeOverpanelSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.closeOverpanel) {\n capabilities.add('closeOverpanel');\n const subscription = messageBus\n .onMessage('closeOverpanel')\n .pipe(map(response => response.value))\n .subscribe(legacyControlBus.closeOverpanel);\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import getNavigationData from '../utility/getNavigationData';\nimport { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function navigateToSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.navigateTo) {\n capabilities.add('navigateTo');\n const subscription = messageBus\n .onMessage('navigateTo')\n .subscribe(async (response) => {\n const { moduleName, urlParams, queryParams, moduleId } = response.value;\n let { featureName } = response.value;\n if (!featureName && moduleId) {\n featureName = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(info => {\n return info.featureName;\n });\n }\n const navData = getNavigationData(tectonConfig$, featureName, moduleName);\n navData.map(navData => {\n if (!navData.navigable) {\n return;\n }\n if (navData.legacy) {\n legacyControlBus.navigateTo(true, navData.key, urlParams, queryParams);\n }\n else {\n const tectonConfig = tectonConfig$.getValue();\n const featureConfig = tectonConfig.features[featureName];\n const targetModuleId = `tectonRoute.${navData.key}`;\n if (queryParams && legacyControlBus.updateParams) {\n legacyControlBus.updateParams(targetModuleId, queryParams, featureConfig.modules[navData.key.split('.')[1]].meta.params);\n }\n legacyControlBus.navigateTo(false, navData.key);\n }\n });\n if (navData.hasNothing) {\n legacyControlBus.navigateTo(true, featureName, urlParams, queryParams);\n }\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function setTitleSetup(messageBus, legacyControlBus, tectonConfig$, capabilities, teardowns) {\n if (legacyControlBus.setOverpanelTitle || legacyControlBus.setPageTitle) {\n if (legacyControlBus.setOverpanelTitle) {\n capabilities.add('setOverpanelTitle');\n }\n if (legacyControlBus.setPageTitle) {\n capabilities.add('setPageTitle');\n }\n const subscription = messageBus\n .onMessage('setTitle')\n .subscribe(async (response) => {\n const pathOrigin = await getPathResolutionInfo(response.value.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.pathOrigin);\n if (pathOrigin === 'tectonOverpanel' && legacyControlBus.setOverpanelTitle) {\n legacyControlBus.setOverpanelTitle(response.value.title);\n }\n else if (legacyControlBus.setPageTitle) {\n legacyControlBus.setPageTitle(response.value.title);\n }\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function setParamsSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.updateParams) {\n capabilities.add('setParams');\n const subscription = messageBus\n .onMessage('setParams')\n .subscribe(async (message) => {\n const { moduleId, params } = message.value;\n const resolvedInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n const paramsObject = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.modules[resolvedInfo.moduleName].meta.params);\n legacyControlBus.updateParams(moduleId, params, paramsObject);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function clearParamsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.clearParams) {\n capabilities.add('clearParams');\n const subscription = messageBus\n .onMessage('clearParams')\n .subscribe(response => {\n legacyControlBus.clearParams(response.value.moduleId);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchAccountsNotification &&\n legacyControlBus.clearCacheByPrefix &&\n legacyControlBus.clearTransferCache) {\n capabilities.add('refetchAccountsNotification');\n const subscription = messageBus.onMessage('refetchAccountsNotification').subscribe(() => {\n legacyControlBus.clearCacheByPrefix('mobilews/account');\n legacyControlBus.clearTransferCache();\n legacyControlBus.refetchAccountsNotification();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport { Maybe } from 'maybe-not';\n// TODO: This should probably be a source, not an action\nexport default function setupTectonLanguage(messageBus, legacyControlBus, capabilities, teardowns) {\n const language = legacyControlBus.getCurrentLanguage();\n const currentLanguage$ = new BehaviorSubject(language);\n if (legacyControlBus.languageChanged) {\n capabilities.add('languageChanged');\n legacyControlBus.languageChanged((langKey) => {\n currentLanguage$.next(langKey);\n });\n }\n const currentLanguageSubscription = currentLanguage$.subscribe((langKey = 'en-US') => {\n sendBroadcast('streamLanguage', Maybe.just(JSON.stringify({ langKey })));\n });\n const currentLanguageResponseSubscription = messageBus.sendResponse('getCurrentLanguage', () => {\n return Promise.resolve({ langKey: currentLanguage$.getValue() });\n });\n teardowns.push(() => {\n [currentLanguageSubscription, currentLanguageResponseSubscription].forEach(subscription => subscription.unsubscribe());\n });\n}\n","export default function showModalSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showModal) {\n capabilities.add('sendModal');\n const subscription = messageBus.sendResponse('sendModal', modalOptions => {\n return legacyControlBus.showModal(modalOptions).then(actionName => {\n return { actionName };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function loadingModalSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showLoadingModal) {\n capabilities.add('showLoadingModal');\n const subscription = messageBus\n .onMessage('showLoadingModal')\n .subscribe(response => {\n legacyControlBus.showLoadingModal(response.value.title);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n if (legacyControlBus.clearLoadingModal) {\n capabilities.add('clearLoadingModal');\n const subscription = messageBus.onMessage('clearLoadingModal').subscribe(() => {\n legacyControlBus.clearLoadingModal();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function printWindowSetup(messageBus, teardowns) {\n const subscriptions = messageBus.onMessage('printWindow').subscribe(() => {\n var _a;\n const inMobileApp = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.inMobileApp;\n if (inMobileApp === true) {\n console.info('printWindow does not support e-banking mobile app environment.');\n }\n else {\n document.body.focus();\n window.print();\n }\n });\n teardowns.push(() => subscriptions.unsubscribe());\n}\n","export default function keepAliveSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.keepAlive) {\n capabilities.add('keepAlive');\n const subscription = messageBus\n .onMessage('keepAlive')\n .subscribe(legacyControlBus.keepAlive);\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function logToServerSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.logToServer) {\n capabilities.add('logToServer');\n const subscription = messageBus\n .onMessage('logToServer')\n .subscribe(async (message) => {\n const moduleId = await getPathResolutionInfo(message.value.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(resolvedInfo => resolvedInfo.featureName);\n legacyControlBus.logToServer(moduleId, message.value.message, message.value.level || 'info');\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function openURLSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.openURL) {\n capabilities.add('openURL');\n const sub = messageBus\n .onMessage('openURL')\n .subscribe(message => {\n const { url, options } = message.value;\n legacyControlBus.openURL(url, options);\n });\n teardowns.push(() => sub.unsubscribe());\n }\n}\n","export default function scrollToTopSetup(messageBus, capabilities, teardowns) {\n capabilities.add('scrollToTop');\n const subscriptions = messageBus.onMessage('scrollToTop').subscribe(() => {\n window.scrollTo(0, 0);\n });\n teardowns.push(() => subscriptions.unsubscribe());\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { Maybe } from 'maybe-not';\nexport default function refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.clearCacheByPrefix) {\n capabilities.add('clearCache');\n capabilities.add('cacheCleared');\n const subscription = messageBus.sendResponse('clearCache', function ({ routePrefixes }) {\n routePrefixes.forEach(function (route) {\n legacyControlBus.clearCacheByPrefix(route);\n sendBroadcast('cacheCleared', Maybe.just(JSON.stringify({ cleared: route })));\n });\n return Promise.resolve();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function manageChangesSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.manageChanges) {\n capabilities.add('manageChanges');\n const subscription = messageBus.sendResponse('manageChanges', messageBody => {\n return legacyControlBus.manageChanges(messageBody.changeData);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export function actionRequired(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.actionRequired && legacyControlBus.removeActionRequired) {\n capabilities.add('actionRequired');\n const subscription = messageBus\n .onMessage('actionRequired')\n .subscribe(request => {\n legacyControlBus.actionRequired(request.value.uuid, request.value.title, request.value.message);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\nexport function removeActionRequired(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.actionRequired && legacyControlBus.removeActionRequired) {\n capabilities.add('removeActionRequired');\n const subscription = messageBus\n .onMessage('removeActionRequired')\n .subscribe(request => {\n legacyControlBus.removeActionRequired(request.value.uuid);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export function scrollYHelper() {\n return window.scrollY;\n}\nexport function innerHeightHelper() {\n return window.innerHeight;\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { Maybe } from 'maybe-not';\nimport getModuleParams from '../private-helpers/getModuleParams';\nexport default function setupModuleParams(moduleParams$, teardowns) {\n const subscription = moduleParams$.subscribe((paramsChanged) => {\n const modules = _getModules(Object.assign(Object.assign({}, paramsChanged.changedParams), paramsChanged.currentParams));\n modules.forEach(moduleId => {\n const changedModuleParams = getModuleParams(moduleId, paramsChanged.changedParams);\n const currentModuleParams = getModuleParams(moduleId, paramsChanged.currentParams);\n sendBroadcast('streamParams::' + moduleId, Maybe.just(JSON.stringify({\n changedParams: changedModuleParams,\n currentParams: currentModuleParams\n })));\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nfunction _getModules(params) {\n const modules = [];\n return Object.keys(params).reduce((accumulator, key) => {\n const deconstructedKey = key.split('.');\n const moduleId = deconstructedKey.slice(0, -1).join('.');\n if (accumulator.indexOf(moduleId) === -1) {\n accumulator.push(moduleId);\n }\n return accumulator;\n }, modules);\n}\n","const TECTON_CACHE_NAMESPACE_KEY = 'q2.tectonCache';\nfunction _buildCacheKey(moduleId, key) {\n return `${moduleId}.${key}`;\n}\nfunction _browserSupportsSessionStorage() {\n const browserSupportsGetItem = !!sessionStorage.getItem;\n const browserSupportsSetItem = !!sessionStorage.setItem;\n const browserSupportsRemoveSetItem = !!sessionStorage.removeItem;\n return browserSupportsGetItem && browserSupportsSetItem && browserSupportsRemoveSetItem;\n}\nexport default function tectonCacheSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (!legacyControlBus.registerLogoffHook || !_browserSupportsSessionStorage()) {\n return;\n }\n capabilities.add('tectonCache');\n legacyControlBus.registerLogoffHook(() => {\n sessionStorage.removeItem(TECTON_CACHE_NAMESPACE_KEY);\n });\n const getSubscription = messageBus.sendResponse('getCache', request => {\n const cacheKey = _buildCacheKey(request.moduleId, request.key);\n const tectonCache = JSON.parse(sessionStorage.getItem(TECTON_CACHE_NAMESPACE_KEY) || '{}');\n const cachedData = tectonCache[cacheKey] || {};\n return Promise.resolve(cachedData);\n });\n teardowns.push(() => getSubscription.unsubscribe());\n const setSubscription = messageBus.sendResponse('setCache', request => {\n const subStorageKey = _buildCacheKey(request.moduleId, request.key);\n const tectonCache = JSON.parse(sessionStorage.getItem(TECTON_CACHE_NAMESPACE_KEY) || '{}');\n tectonCache[subStorageKey] = request.data;\n sessionStorage.setItem(TECTON_CACHE_NAMESPACE_KEY, JSON.stringify(tectonCache));\n return Promise.resolve();\n });\n teardowns.push(() => setSubscription.unsubscribe());\n}\n","import cacheClearedSetup from './cacheClearedSetup';\nimport canUserSetup from './canUserSetup';\nimport getFeatureConfigSetup from './getFeatureConfigSetup';\nimport getPendoInfoSetup from './getPendoInfoSetup';\nimport getPlatformInfoSetup from './getPlatformInfoSetup';\nimport getVersionInfoSetup from './getVersionInfoSetup';\nimport getAuthTokenSetup from './getAuthTokenSetup';\nimport getGlobalScriptsSetup from './getGlobalScriptsSetup';\nimport isNavigableSetup from './isNavigableSetup';\nimport platformScrollChanged from './platformScrollChangedSetup';\nimport promptForMFA from './promptForMFASetup';\nimport refetchRequiredSetup from './refetchRequiredSetup';\nimport requestExtensionDataSetup from './requestExtensionDataSetup';\nimport requestPlatformDataSetup from './requestPlatformDataSetup';\nimport setupModuleParams from './setupModuleParams';\nimport takePictureSetup from './takePictureSetup';\nimport tectonCacheSetup from './tectonCacheSetup';\nexport default function setupSources(messageBus, legacyControlBus, moduleParams$, tectonConfig$, capabilities, teardowns) {\n cacheClearedSetup(messageBus, legacyControlBus, capabilities, teardowns);\n canUserSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getFeatureConfigSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n getPendoInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getPlatformInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getVersionInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getAuthTokenSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getGlobalScriptsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n isNavigableSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n platformScrollChanged(messageBus, legacyControlBus, capabilities, teardowns);\n promptForMFA(messageBus, legacyControlBus, capabilities, teardowns);\n refetchRequiredSetup(messageBus, legacyControlBus, capabilities, teardowns);\n requestExtensionDataSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n requestPlatformDataSetup(messageBus, legacyControlBus, capabilities, teardowns);\n setupModuleParams(moduleParams$, teardowns);\n takePictureSetup(messageBus, legacyControlBus, capabilities, teardowns);\n tectonCacheSetup(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","import { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function cacheClearedSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchRequired) {\n capabilities.add('cacheCleared');\n legacyControlBus.refetchRequired((type) => {\n sendBroadcast('cacheCleared', Maybe.just(JSON.stringify({ cleared: type })));\n });\n }\n}\n","export default function canUserSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getCapabilities) {\n capabilities.add('canUser');\n const subscription = messageBus.sendResponse('canUser', ({ capabilities }) => {\n return Promise.resolve({\n allowed: Object.values(legacyControlBus.getCapabilities(...capabilities)).every(Boolean)\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function getFeatureConfigSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getFeatureConfig) {\n capabilities.add('getFeatureConfig');\n const subscription = messageBus.sendResponse('getFeatureConfig', async ({ moduleId }) => {\n const resolvedInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n const declaredConfigVariables = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.configuredSystemVariables || []);\n if (!declaredConfigVariables.length) {\n return Promise.resolve({ config: {} });\n }\n return legacyControlBus\n .getFeatureConfig(declaredConfigVariables)\n .then(featureConfig => {\n return { config: featureConfig };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getPendoInfoSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getPendoInfo) {\n capabilities.add('getPendoInfo');\n const subscription = messageBus.sendResponse('getPendoInfo', () => {\n return Promise.resolve(legacyControlBus.getPendoInfo());\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getPlatformInfoSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getPlatformInfo) {\n capabilities.add('platformInfo');\n const subscription = messageBus.sendResponse('platformInfo', requestedInfo => {\n return legacyControlBus.getPlatformInfo(requestedInfo);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getVersionInfo(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getVersionInfo) {\n capabilities.add('getPlatformInfo');\n const subscription = messageBus.sendResponse('getPlatformInfo', () => {\n const returnedVars = legacyControlBus.getVersionInfo();\n return Promise.resolve(Object.assign(Object.assign({}, returnedVars), { TECTON_PLATFORM_VERSION: TECTONPLATFORMVERSION }));\n });\n teardowns.push(() => {\n subscription.unsubscribe();\n });\n }\n}\n","export default function getAuthTokenSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getAuthToken) {\n capabilities.add('authToken');\n const subscription = messageBus.sendResponse('authToken', () => legacyControlBus.getAuthToken());\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getGlobalScripts(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getGlobalScripts) {\n capabilities.add('getGlobalScripts');\n const subscription = messageBus.sendResponse('getGlobalScripts', () => legacyControlBus.getGlobalScripts());\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import getNavigationData from '../utility/getNavigationData';\nexport default function isNavigableSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.isUUXPath && legacyControlBus.navigateTo) {\n capabilities.add('isNavigable');\n const subscription = messageBus.sendResponse('isNavigable', ({ featureName, moduleName }) => {\n const navigable = getNavigationData(tectonConfig$, featureName, moduleName)\n .map(navData => {\n return navData.navigable;\n })\n .withDefaultFn(() => {\n return legacyControlBus.isUUXPath(featureName);\n });\n return Promise.resolve({ navigable });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { innerHeightHelper, scrollYHelper } from '../utility/windowHelpers';\nimport { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function platformScrollChangedSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n capabilities.add('platformScrollChanged');\n function onScroll() {\n var _a;\n sendBroadcast(`platformScrollChanged`, Maybe.just(JSON.stringify(Object.assign({ scrollY: scrollYHelper(), innerHeight: innerHeightHelper() }, (_a = legacyControlBus.getSurroundingOffsets) === null || _a === void 0 ? void 0 : _a.call(legacyControlBus)))));\n }\n window.addEventListener('scroll', onScroll);\n const subscription = messageBus.sendResponse('getPlatformScroll', () => {\n var _a;\n return Promise.resolve(Object.assign({ scrollY: scrollYHelper(), innerHeight: innerHeightHelper() }, (_a = legacyControlBus.getSurroundingOffsets) === null || _a === void 0 ? void 0 : _a.call(legacyControlBus)));\n });\n teardowns.push(() => {\n subscription.unsubscribe();\n window.removeEventListener('scroll', onScroll);\n });\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function promptForMFASetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.promptForMFA) {\n capabilities.add('promptForMFA');\n const subscription = messageBus.sendResponse('promptForMFA', async (promptOptions) => {\n const featureName = await getPathResolutionInfo(promptOptions.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.featureName);\n return legacyControlBus.promptForMFA(featureName, promptOptions);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function refetchRequiredSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchRequired) {\n capabilities.add('refetchRequired');\n legacyControlBus.refetchRequired((type) => {\n sendBroadcast(`refetchRequired::${type}`, Maybe.nothing());\n });\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function requestExtensionDataSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (typeof legacyControlBus.requestExtensionData !== 'function') {\n return;\n }\n capabilities.add('requestExtensionData');\n const subscription = messageBus.sendResponse('requestExtensionData', async (message) => {\n const featureName = await getPathResolutionInfo(message.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.featureName);\n return legacyControlBus.requestExtensionData(featureName, {\n route: message.route,\n body: message.body || {}\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function takePictureSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.takePicture) {\n capabilities.add('takePicture');\n const subscription = messageBus.sendResponse('takePicture', ({ overlayText, helpText }) => {\n return legacyControlBus.takePicture({\n overlayText,\n helpText\n }).then(image => ({ picture: image }));\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { generateCustomElementWrapper, createSetupElement } from 'dry-suite';\nimport { BehaviorSubject, fromEvent, merge } from 'rxjs';\nimport { map, filter, first, distinctUntilChanged, debounceTime } from 'rxjs/operators';\nconst legacyIframeResizerMessagePrefix = '[iFrameSizer]';\nconst tectonOutletBaseObservedAttrs = [\n { name: 'name', reflectAs: String },\n { name: 'minHeight', reflectAs: String },\n { name: 'overpanel', reflectAs: Boolean }\n];\nexport function makeTectonElement(elementName, { messageBus, props, moduleId, tectonOutletAdaptor, resize }) {\n const platformEngine = (customElement, props$) => {\n const DOM$ = new BehaviorSubject(document.createElement('div'));\n const settled$ = new BehaviorSubject(false);\n const outletNameSubscription = props$\n .pipe(map(props => props.name), filter(outletName => !!outletName), map(outletName => {\n // platform outlets do not have module Ids..as they did not originate in modules.\n // this code just makes sure we don't have duplicate periods due to an empty moduleId\n const moduleIdIfExists = moduleId ? `${moduleId}.` : '';\n return `${moduleIdIfExists}${outletName}`;\n }), distinctUntilChanged(), first())\n .subscribe(outletPath => {\n const adaptorResponse = tectonOutletAdaptor(messageBus, outletPath, customElement, props$, resize);\n const domSubscription = adaptorResponse.DOM$.subscribe(DOM$);\n const settledSubscription = adaptorResponse.settled$.subscribe(settled$);\n const teardownSubscription = adaptorResponse.teardown$.subscribe(teardown$);\n const effectSubscription = adaptorResponse.effect$.subscribe(effect => {\n if (customElement.__attached) {\n effect();\n }\n else {\n customElement.__onAttached.push(effect);\n }\n });\n adaptorResponse.teardown$.next(() => {\n domSubscription.unsubscribe();\n settledSubscription.unsubscribe();\n teardownSubscription.unsubscribe();\n effectSubscription.unsubscribe();\n });\n });\n const teardown$ = new BehaviorSubject(() => {\n outletNameSubscription.unsubscribe();\n });\n return {\n DOM$,\n settled$,\n teardown$\n };\n };\n return generateCustomElementWrapper(elementName, platformEngine, {\n useShadowDOM: true,\n props: tectonOutletBaseObservedAttrs.concat(props),\n css: `\n .root {\n height: 100%;\n width: 100%;\n }\n .outlet-wrapper.scrollable {\n height: 100%;\n }\n .loading-wrapper {\n height: 44px;\n width: 100%;\n align-items: center;\n justify-content: center;\n }\n .loading-wrapper:not([hidden]) {\n display: flex;\n }\n .loading-wrapper,\n .outlet-wrapper.scrollable iframe {\n height: 100%;\n }\n .outlet-wrapper iframe {\n width: 100%;\n height: auto;\n border: none;\n }\n .outlet-wrapper iframe:not([hidden]) {\n display: inline-block;\n }\n `\n });\n}\nexport const setupTectonElement = createSetupElement(makeTectonElement);\nexport function setupOutletIFrameWrapper(src, moduleId, authPayload, iframeTitle, maxHeight, maxWidth, canScroll, isFormPost, additionalDomainsConfig, allowDirectivesConfig) {\n const outletDOM = document.createElement('div');\n outletDOM.className = 'outlet-wrapper';\n const loaderSlot = document.createElement('slot');\n loaderSlot.name = 'loading-wrapper';\n const onLoads = [];\n const iframe = document.createElement('iframe');\n if (isFormPost) {\n const tectonSubmitForm = document.createElement('form');\n authPayload.forEach(function (item) {\n const tokenInput = document.createElement('input');\n tokenInput.name = item.key;\n tokenInput.setAttribute('value', item.value);\n tectonSubmitForm.appendChild(tokenInput);\n });\n tectonSubmitForm.hidden = true;\n tectonSubmitForm.method = 'post';\n tectonSubmitForm.action = src;\n tectonSubmitForm.target = moduleId;\n tectonSubmitForm.enctype = 'multipart/form-data';\n iframe.name = moduleId;\n outletDOM.appendChild(tectonSubmitForm);\n onLoads.push(function () {\n tectonSubmitForm.submit();\n outletDOM.removeChild(tectonSubmitForm);\n });\n }\n else {\n iframe.src = src;\n }\n iframe.title = iframeTitle;\n iframe.dataset.moduleId = moduleId;\n iframe.style.maxHeight = maxHeight;\n iframe.style.maxWidth = maxWidth;\n iframe.allow = _computeAllowString(additionalDomainsConfig, allowDirectivesConfig, src);\n // sdk uses this to send CONNECT to the right place\n outletDOM.appendChild(iframe);\n const initLegacyIframeResizer = () => {\n iframe.contentWindow &&\n iframe.contentWindow.postMessage(`${legacyIframeResizerMessagePrefix}${moduleId}:0:false:false:32:true:true:null:documentElementOffset`, '*');\n };\n onLoads.push(initLegacyIframeResizer);\n iframe.onload = function () {\n onLoads.forEach(onLoad => {\n onLoad();\n });\n iframe.onload = function () {\n return;\n };\n };\n if (canScroll) {\n outletDOM.classList.add('scrollable');\n }\n else {\n iframe.style.setProperty('overflow-y', 'hidden');\n iframe.scrolling = 'no';\n }\n iframe.hidden = true;\n outletDOM.appendChild(loaderSlot);\n return outletDOM;\n}\nfunction _computeAllowString(additionalDomainsConfig = [], allowDirectivesConfig = ['geolocation', 'camera'], src) {\n const url = new URL(src);\n let additionalDomains = [\"'self'\", `${url.origin}`];\n if (additionalDomainsConfig && additionalDomainsConfig.length > 0) {\n additionalDomains = [...additionalDomains, ...additionalDomainsConfig];\n }\n return allowDirectivesConfig.reduce(function (prev, cur) {\n return prev + `${cur} ${additionalDomains.join(' ')}; `;\n }, '');\n}\nexport function buildLoaders(loadingOptions) {\n const loaders = [];\n if (loadingOptions && loadingOptions.loaders) {\n const rowCount = loadingOptions.loaders.reduce((highestRow, currentOption) => currentOption.row > highestRow ? currentOption.row : highestRow, 0);\n for (let i = 0; i < rowCount; i++) {\n loaders.push([]);\n }\n for (const newLoader of loadingOptions.loaders) {\n const loader = document.createElement('q2-loading');\n loader.setAttribute('shape', newLoader.shape);\n loader.setAttribute('type', newLoader.type);\n loader.className = 'q2-col';\n newLoader.classList && loader.classList.add(...newLoader.classList);\n newLoader.style && loader.setAttribute('style', newLoader.style);\n newLoader.modifiers && loader.setAttribute('modifiers', newLoader.modifiers);\n newLoader.counts && loader.setAttribute('counts', newLoader.counts);\n newLoader.ariaLabel && loader.setAttribute('ariaLabel', newLoader.ariaLabel);\n loaders[newLoader.row - 1].push(loader);\n }\n }\n else {\n const loader = document.createElement('q2-loading');\n loaders.push([]);\n loader.classList.add('mrg(a)');\n loaders[0].push(loader);\n }\n return loaders;\n}\nexport function setupOutletInfo(messageBus, getModuleId, getContent) {\n return messageBus.sendResponse('requestOutletInfo', ({ moduleId }) => {\n if (moduleId !== getModuleId()) {\n return null;\n }\n const { iframeEl } = getContent();\n const bcRect = iframeEl.getBoundingClientRect();\n if (bcRect && Object.values(bcRect.toJSON()).find(v => v !== 0)) {\n return Promise.resolve(bcRect);\n }\n else {\n return null;\n }\n });\n}\nexport function setupOutletIFrameLoading(messageBus, getModuleId, getContent) {\n return messageBus\n .onMessage('setFetching')\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }))\n .subscribe(response => {\n const { loaderWrapper, iframeEl, minHeight = '0px' } = getContent();\n if (loaderWrapper && iframeEl) {\n const { fetching } = response.value;\n loaderWrapper.hidden = !fetching;\n iframeEl.hidden = fetching;\n loaderWrapper.style.minHeight = fetching ? minHeight : '0px';\n }\n });\n}\nexport function setupOutletSetTitleListener(messageBus, getModuleId, getContent) {\n return messageBus\n .onMessage('setTitle')\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }))\n .subscribe(response => {\n const { iframeEl } = getContent();\n iframeEl.title = response.value.title;\n });\n}\nexport function setupOutletIFrameResizer(messageBus, getModuleId, getContent, resize) {\n const v1Listener = fromEvent(window, 'message').pipe(filter(e => typeof e.data === 'string' && e.data.includes('iFrameSizer')), map(e => {\n const messageData = e.data\n .substr(legacyIframeResizerMessagePrefix.length)\n .split(':');\n const [moduleId, height] = messageData;\n return {\n value: {\n moduleId,\n height\n }\n };\n }));\n const v2Listener = messageBus.onMessage('resizeIframe');\n return merge(v1Listener, v2Listener)\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }), distinctUntilChanged((oldResponse, newResponse) => oldResponse.value.height === newResponse.value.height), debounceTime(5))\n .subscribe(response => {\n const { height } = response.value;\n const { iframeEl } = getContent();\n if (iframeEl) {\n iframeEl.style.setProperty('height', `${height}px`);\n if (resize) {\n resize();\n }\n }\n });\n}\n//# sourceMappingURL=tecton-outlet-base.js.map","import { Maybe } from 'maybe-not';\nexport function checkRequiredPermissionsOnPlatform(messageBus, requiredPermissions) {\n if (!requiredPermissions || requiredPermissions.length === 0) {\n return Promise.resolve(true);\n }\n return messageBus\n .sendRequest('canUser', Maybe.just(JSON.stringify({ capabilities: requiredPermissions })))\n .then(response => response.value.allowed);\n}\n//# sourceMappingURL=check-permissions.js.map","import { buildLoaders, setupOutletIFrameWrapper, setupOutletIFrameLoading, setupOutletIFrameResizer, setupOutletSetTitleListener, setupOutletInfo } from 'q2-tecton-common/lib/outlets/tecton-outlet-base';\nimport { sendMessage } from 'q2-tecton-common/lib/utility/message-bus';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map, filter, distinctUntilChanged, pairwise } from 'rxjs/operators';\nimport addParamToURL from 'q2-tecton-common/lib/utility/addParamToURL';\nimport { Maybe } from 'maybe-not';\nimport getModuleParams from '../private-helpers/getModuleParams';\nimport { checkRequiredPermissionsOnPlatform } from 'q2-tecton-common/lib/utility/check-permissions';\nexport const tectonPlatformOutletObservedAttrs = [{ name: 'routeName' }, { name: 'configTree' }];\nexport function loadTectonPlatformOutlet(tectonConfig$, params$, authPayload, buildURLWithPlatformBase) {\n return function tectonPlatformOutlet(messageBus, outletPath, customElement, memorizedProps$) {\n const placeholder = document.createElement('div');\n const DOM$ = new BehaviorSubject(placeholder);\n const settled$ = new BehaviorSubject(false);\n const effect$ = new BehaviorSubject(() => {\n return;\n });\n const getContent = function () {\n return {\n loaderWrapper: customElement.shadowRoot.querySelector(\"div[slot='loading-wrapper']\"),\n iframeEl: customElement.shadowRoot.querySelector('iframe'),\n minHeight: memorizedProps$.getValue().minHeight\n };\n };\n let moduleId;\n const getModuleId = function () {\n return moduleId;\n };\n const loadingSubscription = setupOutletIFrameLoading(messageBus, getModuleId, getContent);\n const outletInfoSubscription = setupOutletInfo(messageBus, getModuleId, getContent);\n const teardown$ = new BehaviorSubject(() => {\n loadingSubscription.unsubscribe();\n outletInfoSubscription.unsubscribe();\n });\n const configTree$ = memorizedProps$.pipe(map(props => props.configTree), filter(configTree => !!configTree), distinctUntilChanged());\n const isOverpanel$ = new BehaviorSubject(false);\n const overpanelSubscription = memorizedProps$\n .pipe(map(props => props.overpanel), filter(overpanel => typeof overpanel === 'boolean'), distinctUntilChanged())\n .subscribe(isOverpanel$);\n const routeName$ = memorizedProps$.pipe(map(props => props.routeName), filter(routeName => !!routeName), distinctUntilChanged());\n const moduleIdChangeSubscription = routeName$\n .pipe(map(routeName => `${outletPath}.${routeName}`), pairwise())\n .subscribe(([oldModuleId]) => {\n sendMessage('clearParams', Maybe.just(JSON.stringify({ oldModuleId })));\n });\n const outletDataSubscription = combineLatest(configTree$, isOverpanel$, routeName$).subscribe(([configTree, isOverpanel, routeName]) => {\n const tectonConfig = tectonConfig$.getValue();\n const module = tectonConfig.features[configTree.featureName].modules[configTree.moduleName];\n checkRequiredPermissionsOnPlatform(messageBus, module.requiredUserCapabilities).then(allow => {\n if (!allow) {\n return;\n }\n moduleId = `${outletPath}.${routeName}`;\n const minHeight = memorizedProps$.getValue().minHeight;\n const featureConfig = tectonConfig.features[configTree.featureName];\n const formPostAuth = !!featureConfig.modules[configTree.moduleName]\n .formPostAuth;\n const urlFromConfig = featureConfig.modules[configTree.moduleName].url;\n const additionalDomains = featureConfig.additionalDomains;\n const allowDirectives = featureConfig.allowDirectives;\n const urlBeforeParams = formPostAuth && buildURLWithPlatformBase\n ? buildURLWithPlatformBase(urlFromConfig)\n : urlFromConfig;\n const iframeSrc = addParamToURL(urlBeforeParams, Object.assign(Object.assign({ 'tct-id': moduleId }, getModuleParams(moduleId, params$.getValue().currentParams)), { 'tct-maxHeight': customElement.style.maxHeight, 'tct-maxWidth': customElement.style.maxWidth }));\n if (!isOverpanel) {\n const resizerSubscription = setupOutletIFrameResizer(messageBus, getModuleId, getContent);\n teardown$.next(() => {\n resizerSubscription.unsubscribe();\n });\n }\n const titleSubscription = setupOutletSetTitleListener(messageBus, getModuleId, getContent);\n teardown$.next(() => {\n titleSubscription.unsubscribe();\n });\n const outletDOM = setupOutletIFrameWrapper(iframeSrc, moduleId, authPayload ? authPayload() : [], `${configTree.featureName}-${configTree.moduleName}`, customElement.style.maxHeight, customElement.style.maxWidth, isOverpanel, formPostAuth, additionalDomains, allowDirectives);\n const loaderWrapper = document.createElement('div');\n loaderWrapper.style.minHeight = minHeight || '0px';\n let loaders = [];\n if (module.loadingOptions) {\n loaders = buildLoaders(module.loadingOptions);\n if (module.loadingOptions.outlet) {\n const outlet = module.loadingOptions.outlet;\n outlet.style && loaderWrapper.setAttribute('style', outlet.style);\n outlet.classList && loaderWrapper.classList.add(...outlet.classList);\n }\n }\n else {\n loaders = buildLoaders();\n }\n for (const loaderRow of loaders) {\n const row = document.createElement('div');\n row.className = 'q2-row';\n for (const loader of loaderRow) {\n row.appendChild(loader);\n }\n loaderWrapper.appendChild(row);\n }\n loaderWrapper.slot = 'loading-wrapper';\n loaderWrapper.classList.add('loading-wrapper');\n loaderWrapper.setAttribute('data-tecton-module', '');\n DOM$.next(outletDOM);\n effect$.next(() => {\n let existingLoadingWrapper = null;\n existingLoadingWrapper = customElement.shadowRoot.querySelector('.loading-wrapper');\n if (existingLoadingWrapper) {\n customElement.shadowRoot.replaceChild(loaderWrapper, existingLoadingWrapper);\n }\n else {\n customElement.shadowRoot.appendChild(loaderWrapper);\n }\n settled$.next(true);\n });\n teardown$.next(() => {\n overpanelSubscription.unsubscribe();\n outletDataSubscription.unsubscribe();\n moduleIdChangeSubscription.unsubscribe();\n sendMessage('clearParams', Maybe.just(JSON.stringify({ moduleId })));\n });\n });\n });\n return {\n DOM$,\n settled$,\n teardown$,\n effect$\n };\n };\n}\n","export default function addParamToURL(url, params) {\n const urlObj = new URL(url, window.location.toString());\n const paramsToAdd = Object.keys(params)\n .map(paramName => `${paramName}=${params[paramName]}`)\n .join('&');\n const newParams = urlObj.search ? `${urlObj.search}&${paramsToAdd}` : `?${paramsToAdd}`;\n urlObj.search = newParams;\n return urlObj.href;\n}\n//# sourceMappingURL=addParamToURL.js.map","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport const NGAM_BASE = `${window.location.origin}${window.location.pathname.replace(/\\/uux\\.aspx/i, '')}`;\nexport function setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns) {\n let customLanguagePathSubscription;\n const customerAssetPathSubscription = messageBus.sendResponse('getCustomerAssetPath', ({ subPath }) => {\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(subPath))\n });\n });\n if (legacyControlBus.getCustomLanguageURL) {\n capabilities.add('getCustomLanguageURL');\n customLanguagePathSubscription = messageBus.sendResponse('getCustomLanguageURL', async ({ moduleId, langKey }) => {\n const moduleInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomLanguageURL(`${langKey}_${moduleInfo.featureName}.json`))\n });\n });\n }\n const baseAssetPathSubscription = messageBus.sendResponse('getBaseAssetPath', ({ subPath }) => {\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getBaseAssetPath(subPath))\n });\n });\n const getNgamBaseURL = messageBus.sendResponse('getNgamBaseUrl', () => {\n return Promise.resolve({ ngamBase: NGAM_BASE });\n });\n teardowns.push(() => {\n customerAssetPathSubscription.unsubscribe();\n baseAssetPathSubscription.unsubscribe();\n getNgamBaseURL.unsubscribe();\n if (customLanguagePathSubscription) {\n customLanguagePathSubscription.unsubscribe();\n }\n });\n}\nexport function ifRelativePrependOrigin(url) {\n return /^http/.test(url) ? url : `${window.location.origin}/${url}`;\n}\n","import { getPathResolutionInfo, resolveTectonPath, resolveFeature } from './resolveFeature';\nimport { Maybe } from 'maybe-not';\nexport default function setupResolveTabs(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n const subscription = messageBus.sendResponse('resolveTabs', async (messageBody) => {\n const resolvedInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedInfo.configPath, resolvedInfo.treeFromRoot);\n const configPromise = legacyControlBus.dynamicConfigFetch(resolvedInfo.featureName);\n const featureManfest = await configPromise;\n const moduleFeatureManfest = await configPromise.then(x => x.modules[resolvedInfo.moduleName]);\n const outletType = moduleFeatureManfest.meta.outlets[resolvedInfo.outletName];\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueIdM = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const tabLookups = platformConfig.configuredOutlets[resolvedInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n return resolveTabs(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueIdM, providedTypeM, tabLookups, tectonConfig, resolvedInfo.featureName, resolvedInfo.moduleName, featureManfest.additionalDomains, featureManfest.allowDirectives).then(tabs => {\n return { resolvedTabs: tabs };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveTabs(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, providedTypeM, tabLookups, tectonConfig, hostFeatureName, hostModuleName, additionalDomains, allowDirectives) {\n return Promise.all(tabLookups.map(tabLookup => {\n return resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, tabLookup.modules || [], providedTypeM, tectonConfig, hostFeatureName, hostModuleName)\n .then(tabM => {\n return tabM.map(tab => ({ tabLabel: tabLookup.tabLabel, tab }));\n })\n .catch(() => Maybe.nothing());\n }))\n .then(tabsMs => {\n return Maybe.filterSomethings(tabsMs);\n })\n .then(tabs => {\n return tabs.map(tabInfo => {\n return {\n tabLabel: tabInfo.tabLabel,\n tabLabelOverride: tabInfo.tab.tabLabelOverride,\n moduleId: tabInfo.tab.moduleId,\n initialParams: tabInfo.tab.initialParams,\n url: tabInfo.tab.url,\n minHeight: tabInfo.tab.minHeight,\n formPostAuth: tabInfo.tab.formPostAuth,\n loadingOptions: tabInfo.tab.loadingOptions,\n additionalDomains,\n allowDirectives,\n requiredUserCapabilities: tabInfo.tab.requiredUserCapabilities\n };\n });\n });\n}\n","import { Maybe } from 'maybe-not';\nimport { getPathResolutionInfo, resolveFeature, resolveTectonPath } from './resolveFeature';\nimport { checkRequiredPermissionsOnPlatform } from 'q2-tecton-common/lib/utility/check-permissions';\nexport default function setupResolveMenu(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n const subscription = messageBus.sendResponse('resolveMenu', async (messageBody) => {\n const resolvedPathInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedPathInfo.configPath, resolvedPathInfo.treeFromRoot);\n const moduleFeatureManifest = await legacyControlBus\n .dynamicConfigFetch(resolvedPathInfo.featureName)\n .then(x => x.modules[resolvedPathInfo.moduleName]);\n const outletType = moduleFeatureManifest.meta.outlets[resolvedPathInfo.outletName];\n if (!outletType) {\n throw new Error(`${resolvedPathInfo.outletName} contextual menu outlet not found in config`);\n }\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueIdM = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const menuLookups = platformConfig.configuredOutlets[resolvedPathInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n const requiredUserCapabilities = tectonConfig.features[resolvedPathInfo.featureName].modules[resolvedPathInfo.moduleName].requiredUserCapabilities;\n return checkRequiredPermissionsOnPlatform(messageBus, requiredUserCapabilities).then(allow => {\n if (!allow) {\n return { resolvedMenuItems: [] };\n }\n return resolveMenuItems(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueIdM, providedTypeM, menuLookups, tectonConfig, resolvedPathInfo.featureName, resolvedPathInfo.moduleName).then(items => {\n return { resolvedMenuItems: items };\n });\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveMenuItems(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, providedTypeM, menuLookups, tectonConfig, hostFeatureName, hostModuleName) {\n return Promise.all(menuLookups.map(menuLookup => {\n return resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, menuLookup.modules || [], providedTypeM, tectonConfig, hostFeatureName, hostModuleName)\n .then(menuM => {\n return menuM.asyncMap(async (menu) => {\n const resolvedPathInfo = (await getPathResolutionInfo(menu.moduleId.split('.'), legacyControlBus.dynamicConfigFetch));\n const ctxId = contextValueIdM.withDefault('-1');\n const menuItem = {\n itemLabel: menuLookup.itemLabel,\n action: menuLookup.action,\n featureName: resolvedPathInfo.featureName,\n moduleName: resolvedPathInfo.moduleName,\n contextIdParamName: menuLookup.contextIdParamName\n };\n if (ctxId !== '-1') {\n menuItem['tct-ctxid'] = ctxId;\n }\n return menuItem;\n });\n })\n .then(Maybe.just)\n .catch(() => Maybe.nothing());\n })).then(menuMs => Maybe.filterSomethings(menuMs));\n}\n","import setupGetTypeValue from './setupGetTypeValue';\nimport { setupRegisterOutlet } from './setupRegisterOutlet';\nimport { setupPathResolvers } from './assetPathResolvers';\nimport setupResolveFeature from './resolveFeature';\nimport setupResolveTabs from './resolveTabs';\nimport setupResolveMenu from './resolveMenu';\nimport platformCapabilitiesSetup from './platformCapabilities';\nimport getAuthPayload from './getAuthPayload';\nimport cdnOverrideSetup from './cdnOverrideSetup';\nexport default function setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns) {\n setupGetTypeValue(messageBus, legacyControlBus, teardowns);\n setupRegisterOutlet(messageBus, params$, teardowns);\n setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns);\n setupResolveFeature(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n setupResolveTabs(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n setupResolveMenu(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n platformCapabilitiesSetup(messageBus, capabilities, teardowns);\n getAuthPayload(messageBus, legacyControlBus, teardowns);\n cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","import getModuleParams from './getModuleParams';\nexport function setupRegisterOutlet(messageBus, params$, teardowns) {\n const subscription = messageBus.sendResponse('getInitialParams', (messageBody) => {\n return Promise.resolve({\n params: getModuleParams(messageBody.moduleId, params$.getValue().currentParams)\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function platformCapabilitiesSetup(messageBus, capabilities, teardowns) {\n const subscription = messageBus.sendResponse('getPlatformCapabilities', () => {\n const platformCapabilites = Array.from(capabilities);\n return Promise.resolve({\n capabilities: platformCapabilites\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function getAuthPayloadSetup(messageBus, legacyControlBus, teardowns) {\n const subscription = messageBus.sendResponse('getAuthPayload', () => {\n return Promise.resolve(legacyControlBus.getAuthPayload());\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.cdnOverride) {\n capabilities.add('cdnOverride');\n const subscription = messageBus.sendResponse('cdnOverride', () => {\n return legacyControlBus.cdnOverride().then(path => {\n return { path };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import merge from 'q2-tecton-common/lib/utility/merge';\nimport PlatformMessageBus from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport setupActions from '../actions';\nimport setupSources from '../sources';\nimport setupOutlets from '../outlets';\nimport setupPrivateHelpers from '../private-helpers';\nimport setupTectonStyles from './styles';\nimport setupDefaultCapabilities from './default-capabilities';\nimport setupDynamicCapabilities from './dynamic-capabilities';\nexport function init(tectonConfig, legacyControlBus, testOptions) {\n const params$ = new BehaviorSubject({\n changedParams: {},\n currentParams: {}\n });\n adaptConfig(tectonConfig);\n let tectonConfig$;\n if (window.isTestingTecton || (testOptions === null || testOptions === void 0 ? void 0 : testOptions.testing)) {\n tectonConfig$ = window.tectonConfig$ || new BehaviorSubject(null);\n tectonConfig$.next(tectonConfig);\n window.tectonConfig$ = tectonConfig$;\n }\n else {\n tectonConfig$ = new BehaviorSubject(tectonConfig);\n }\n const messageBus = new PlatformMessageBus(tectonConfig$, window.isTestingTecton);\n const capabilities = new Set();\n const teardowns = [messageBus.teardown.bind(messageBus)];\n setupDefaultCapabilities(capabilities);\n setupDynamicCapabilities(messageBus, legacyControlBus, capabilities, teardowns);\n setupActions(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n setupSources(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns);\n setupTectonStyles(messageBus, legacyControlBus, capabilities, teardowns);\n setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns);\n setupOutlets(messageBus, tectonConfig$, params$, legacyControlBus.getAuthPayload, legacyControlBus.buildIframeURL);\n function configLookup(featureName, moduleName) {\n const tectonConfig = tectonConfig$.getValue();\n if (!moduleName) {\n const featureManifest = tectonConfig.features[featureName];\n if (!featureManifest) {\n throw new Error('No FeatureManifest Found');\n }\n return featureManifest;\n }\n return (tectonConfig.features[featureName].modules[moduleName].routeConfig || {\n featureName,\n moduleName\n });\n }\n function configForOverpanel(overpanelKey) {\n const [featureName, overpanelKeyOrModuleName] = overpanelKey.split('.');\n try {\n return Promise.resolve(tectonConfig.features[featureName].configuredOverpanels[overpanelKeyOrModuleName]);\n }\n catch (_a) {\n return legacyControlBus.dynamicConfigFetch(featureName, overpanelKeyOrModuleName);\n }\n }\n return {\n tectonParamsChanged(params) {\n params$.next(params);\n },\n updateConfig(configDiff) {\n const configValue = tectonConfig$.getValue();\n merge(configValue, configDiff);\n adaptConfig(configValue);\n tectonConfig$.next(configValue);\n },\n replaceConfig(config) {\n adaptConfig(config);\n tectonConfig$.next(config);\n },\n configLookup,\n configForRoute(routeName) {\n const [featureName, moduleName] = routeName.split('.');\n return (tectonConfig$.getValue().features[featureName].modules[moduleName].routeConfig || {\n featureName,\n moduleName\n });\n },\n configForOverpanel,\n teardown() {\n teardowns.forEach(fn => fn());\n }\n };\n}\nfunction adaptConfig(tectonConfig) {\n Object.keys(tectonConfig.features).forEach(function (featureName) {\n const featureObj = tectonConfig.features[featureName];\n const configuredOverpanels = featureObj.configuredOverpanels;\n if (configuredOverpanels) {\n Object.keys(configuredOverpanels).forEach(function (configuredOverpanel) {\n if (!configuredOverpanels[configuredOverpanel].featureName) {\n configuredOverpanels[configuredOverpanel].featureName = featureName;\n }\n });\n }\n try {\n Object.keys(featureObj.modules).forEach(function (moduleName) {\n if (!featureObj.modules[moduleName].routeConfig) {\n featureObj.modules[moduleName].routeConfig = {\n featureName,\n moduleName,\n configuredOutlets: {}\n };\n }\n Object.assign(featureObj.modules[moduleName].meta, {\n featureName,\n moduleName\n });\n let moduleUrl = featureObj.modules[moduleName].url;\n if (moduleUrl) {\n moduleUrl = moduleUrl.replace('{featureName}', featureName);\n moduleUrl = moduleUrl.replace('{moduleName}', moduleName);\n featureObj.modules[moduleName].url = moduleUrl;\n }\n });\n }\n catch (error) {\n if (!featureObj.modules) {\n console.error(`Config for ${featureObj.routeName} contains no modules`);\n }\n else {\n console.error(`Config for ${featureObj.routeName} is malformed. It returned ${error}.`);\n }\n console.error(`Removing ${featureObj.routeName} from config.`);\n delete tectonConfig.features[featureName];\n }\n });\n}\n","export default function setupDefaultCapabilities(capabilities) {\n capabilities.add('resizeIframe');\n capabilities.add('requestOutletInfo');\n}\n","export default function setupDynamicCapabilities(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.setupDynamicPlatformAPI) {\n const dynamicCapabilities = legacyControlBus.setupDynamicPlatformAPI();\n dynamicCapabilities.forEach(capability => capabilities.add(capability));\n const subscription = messageBus.sendResponse('executeDynamicPlatformAPI', ({ functionName, args }) => {\n return legacyControlBus.executeDynamicPlatformAPI(functionName, args);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport { Maybe } from 'maybe-not';\nimport { ifRelativePrependOrigin } from '../private-helpers/assetPathResolvers';\nimport 'url-polyfill';\nexport default function setupTectonStyles(messageBus, legacyControlBus, capabilities, teardowns) {\n if (!legacyControlBus.getCurrentTheme) {\n capabilities.add('ThemesNotSupported');\n return;\n }\n capabilities.add('getCurrentTheme');\n const currentTheme$ = new BehaviorSubject({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(`${legacyControlBus.getCurrentTheme()}-props.css`))\n });\n const onThemeChange = (themeName) => {\n currentTheme$.next({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(`${themeName}-props.css`))\n });\n };\n if (legacyControlBus.themeChanged) {\n capabilities.add('themeChanged');\n legacyControlBus.themeChanged(onThemeChange);\n }\n const tectonThemeSubscription = currentTheme$.subscribe(themePath => {\n sendBroadcast('themeChanged', Maybe.maybe(themePath).map(JSON.stringify));\n });\n const tectonCurrentThemeServiceSubscription = messageBus.sendResponse('getCurrentTheme', () => {\n return Promise.resolve(currentTheme$.getValue());\n });\n teardowns.push(() => {\n tectonThemeSubscription.unsubscribe();\n tectonCurrentThemeServiceSubscription.unsubscribe();\n });\n}\n","import { tectonPlatformOutletObservedAttrs, loadTectonPlatformOutlet } from './platform-outlet';\nimport { setupTectonElement } from 'q2-tecton-common/lib/outlets/tecton-outlet-base';\nexport default function setupOutlets(messageBus, tectonConfig$, params$, authPayload, buildURLWithPlatformBase) {\n setupTectonElement({\n messageBus,\n moduleId: '',\n props: tectonPlatformOutletObservedAttrs,\n tectonOutletAdaptor: loadTectonPlatformOutlet(tectonConfig$, params$, authPayload, buildURLWithPlatformBase)\n })('tecton-platform-outlet');\n}\n","/*\n Generic deep object merge that will take base and apply diff's keys recursively till a non object or Array is met and then will set diffs value on base.\n*/\nexport default function mergeObject(base, diff) {\n Object.keys(diff).forEach(diffKey => {\n if (!Array.isArray(diff[diffKey]) &&\n !Array.isArray(base[diffKey]) &&\n base.hasOwnProperty(diffKey) &&\n typeof diff[diffKey] === 'object') {\n return mergeObject(base[diffKey], diff[diffKey]);\n }\n base[diffKey] = diff[diffKey];\n });\n}\n//# sourceMappingURL=merge.js.map"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://q2-tecton-platform/webpack/universalModuleDefinition","webpack://q2-tecton-platform/webpack/bootstrap","webpack://q2-tecton-platform//workspace/workspace/tecton-production_release_1.10.x/node_modules/tslib/tslib.es6.js","webpack://q2-tecton-platform/../../src/internal/Subscriber.ts","webpack://q2-tecton-platform/../../src/internal/innerSubscribe.ts","webpack://q2-tecton-platform/../../src/internal/Observable.ts","webpack://q2-tecton-platform/../../../src/internal/util/toSubscriber.ts","webpack://q2-tecton-platform/../../../src/maybe-not.ts","webpack://q2-tecton-platform/../../src/internal/Subscription.ts","webpack://q2-tecton-platform/../../src/internal/Subject.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/async.ts","webpack://q2-tecton-platform/../../../src/internal/util/isArray.ts","webpack://q2-tecton-platform/../../../src/internal/operators/map.ts","webpack://q2-tecton-platform/../../../src/internal/util/isScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/observable/empty.ts","webpack://q2-tecton-platform/../../../src/internal/observable/from.ts","webpack://q2-tecton-platform/../../src/internal/InnerSubscriber.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToResult.ts","webpack://q2-tecton-platform/../../src/internal/config.ts","webpack://q2-tecton-platform/../../../src/internal/util/identity.ts","webpack://q2-tecton-platform/../../../src/internal/operators/filter.ts","webpack://q2-tecton-platform/../../src/internal/OuterSubscriber.ts","webpack://q2-tecton-platform/../../src/internal/Notification.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/iterator.ts","webpack://q2-tecton-platform/../../../src/internal/util/noop.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/observable.ts","webpack://q2-tecton-platform/../../../src/internal/util/ObjectUnsubscribedError.ts","webpack://q2-tecton-platform/../../../src/internal/util/ArgumentOutOfRangeError.ts","webpack://q2-tecton-platform/../../../src/internal/util/isFunction.ts","webpack://q2-tecton-platform/../../../src/internal/util/EmptyError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/defaultIfEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromArray.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsyncScheduler.ts","webpack://q2-tecton-platform/../../src/internal/AsyncSubject.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsyncAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/Action.ts","webpack://q2-tecton-platform/../../../src/internal/util/isNumeric.ts","webpack://q2-tecton-platform/../../../src/internal/observable/concat.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeTo.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToObservable.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToPromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToIterable.ts","webpack://q2-tecton-platform/../../../src/internal/util/hostReportError.ts","webpack://q2-tecton-platform/../../../src/internal/observable/of.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throwIfEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AnimationFrameAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/animationFrame.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AnimationFrameScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/VirtualTimeScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/util/isObservable.ts","webpack://q2-tecton-platform/../../../src/internal/observable/bindCallback.ts","webpack://q2-tecton-platform/../../../src/internal/observable/bindNodeCallback.ts","webpack://q2-tecton-platform/../../../src/internal/observable/forkJoin.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromEventPattern.ts","webpack://q2-tecton-platform/../../../src/internal/observable/generate.ts","webpack://q2-tecton-platform/../../../src/internal/observable/iif.ts","webpack://q2-tecton-platform/../../../src/internal/observable/interval.ts","webpack://q2-tecton-platform/../../../src/internal/observable/never.ts","webpack://q2-tecton-platform/../../../src/internal/observable/onErrorResumeNext.ts","webpack://q2-tecton-platform/../../../src/internal/observable/pairs.ts","webpack://q2-tecton-platform/../../../src/internal/observable/partition.ts","webpack://q2-tecton-platform/../../../src/internal/observable/range.ts","webpack://q2-tecton-platform/../../../src/internal/observable/using.ts","webpack://q2-tecton-platform/../../../src/internal/util/pipe.ts","webpack://q2-tecton-platform/../../../src/internal/util/Immediate.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsapAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/asap.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/AsapScheduler.ts","webpack://q2-tecton-platform/../../../src/internal/symbol/rxSubscriber.ts","webpack://q2-tecton-platform/../../../src/internal/util/UnsubscriptionError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/audit.ts","webpack://q2-tecton-platform/../../../src/internal/operators/auditTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/buffer.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferCount.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferToggle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/bufferWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/catchError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/combineAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/combineLatest.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concat.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/count.ts","webpack://q2-tecton-platform/../../../src/internal/operators/debounce.ts","webpack://q2-tecton-platform/../../../src/internal/util/isDate.ts","webpack://q2-tecton-platform/../../../src/internal/operators/delay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/delayWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/dematerialize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinct.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinctUntilKeyChanged.ts","webpack://q2-tecton-platform/../../../src/internal/operators/elementAt.ts","webpack://q2-tecton-platform/../../../src/internal/operators/endWith.ts","webpack://q2-tecton-platform/../../../src/internal/operators/every.ts","webpack://q2-tecton-platform/../../../src/internal/operators/exhaust.ts","webpack://q2-tecton-platform/../../../src/internal/operators/exhaustMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/expand.ts","webpack://q2-tecton-platform/../../../src/internal/operators/finalize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/find.ts","webpack://q2-tecton-platform/../../../src/internal/operators/findIndex.ts","webpack://q2-tecton-platform/../../../src/internal/operators/ignoreElements.ts","webpack://q2-tecton-platform/../../../src/internal/operators/isEmpty.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/last.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/materialize.ts","webpack://q2-tecton-platform/../../../src/internal/operators/scan.ts","webpack://q2-tecton-platform/../../../src/internal/operators/reduce.ts","webpack://q2-tecton-platform/../../../src/internal/operators/max.ts","webpack://q2-tecton-platform/../../../src/internal/operators/merge.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeScan.ts","webpack://q2-tecton-platform/../../../src/internal/operators/min.ts","webpack://q2-tecton-platform/../../../src/internal/operators/multicast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/onErrorResumeNext.ts","webpack://q2-tecton-platform/../../../src/internal/operators/partition.ts","webpack://q2-tecton-platform/../../../src/internal/operators/pluck.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publish.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishBehavior.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/publishReplay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/race.ts","webpack://q2-tecton-platform/../../../src/internal/operators/repeat.ts","webpack://q2-tecton-platform/../../../src/internal/operators/repeatWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/retry.ts","webpack://q2-tecton-platform/../../../src/internal/operators/retryWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sample.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sampleTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/sequenceEqual.ts","webpack://q2-tecton-platform/../../../src/internal/operators/share.ts","webpack://q2-tecton-platform/../../../src/internal/operators/shareReplay.ts","webpack://q2-tecton-platform/../../../src/internal/operators/single.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skip.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipLast.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipUntil.ts","webpack://q2-tecton-platform/../../../src/internal/operators/skipWhile.ts","webpack://q2-tecton-platform/../../../src/internal/operators/startWith.ts","webpack://q2-tecton-platform/../../../src/internal/observable/SubscribeOnObservable.ts","webpack://q2-tecton-platform/../../../src/internal/operators/subscribeOn.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchMap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/switchMapTo.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeUntil.ts","webpack://q2-tecton-platform/../../../src/internal/operators/takeWhile.ts","webpack://q2-tecton-platform/../../../src/internal/operators/tap.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throttle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/throttleTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeInterval.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeoutWith.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timeout.ts","webpack://q2-tecton-platform/../../../src/internal/operators/timestamp.ts","webpack://q2-tecton-platform/../../../src/internal/operators/toArray.ts","webpack://q2-tecton-platform/../../../src/internal/operators/window.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowCount.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowToggle.ts","webpack://q2-tecton-platform/../../../src/internal/operators/windowWhen.ts","webpack://q2-tecton-platform/../../../src/internal/operators/withLatestFrom.ts","webpack://q2-tecton-platform/../../../src/internal/operators/zip.ts","webpack://q2-tecton-platform/../../../src/internal/operators/zipAll.ts","webpack://q2-tecton-platform/../../../src/internal/operators/take.ts","webpack://q2-tecton-platform/../../../src/internal/operators/refCount.ts","webpack://q2-tecton-platform/../../src/internal/ReplaySubject.ts","webpack://q2-tecton-platform/../../../src/internal/observable/throwError.ts","webpack://q2-tecton-platform/../../../src/internal/observable/combineLatest.ts","webpack://q2-tecton-platform/../../../src/internal/operators/mergeAll.ts","webpack://q2-tecton-platform/../../../src/internal/observable/defer.ts","webpack://q2-tecton-platform/../../../src/internal/observable/zip.ts","webpack://q2-tecton-platform/../../../src/internal/util/isObject.ts","webpack://q2-tecton-platform/../../../src/internal/util/canReportError.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleArray.ts","webpack://q2-tecton-platform/../../src/internal/Observer.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/QueueAction.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/queue.ts","webpack://q2-tecton-platform/../../../src/internal/scheduler/QueueScheduler.ts","webpack://q2-tecton-platform/../../src/internal/Scheduler.ts","webpack://q2-tecton-platform/../../../src/internal/operators/groupBy.ts","webpack://q2-tecton-platform/../../src/internal/BehaviorSubject.ts","webpack://q2-tecton-platform/../../../src/internal/observable/ConnectableObservable.ts","webpack://q2-tecton-platform/../../../src/internal/operators/observeOn.ts","webpack://q2-tecton-platform/../../../src/internal/util/TimeoutError.ts","webpack://q2-tecton-platform/../../../src/internal/operators/concatAll.ts","webpack://q2-tecton-platform/../../../src/internal/observable/merge.ts","webpack://q2-tecton-platform/../../../src/internal/observable/race.ts","webpack://q2-tecton-platform/../../../src/internal/observable/timer.ts","webpack://q2-tecton-platform/../../../src/internal/operators/distinctUntilChanged.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduled.ts","webpack://q2-tecton-platform/../../../src/internal/util/isInteropObservable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleObservable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/schedulePromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/isIterable.ts","webpack://q2-tecton-platform/../../../src/internal/scheduled/scheduleIterable.ts","webpack://q2-tecton-platform/../../src/internal/SubjectSubscription.ts","webpack://q2-tecton-platform/../../../src/internal/util/subscribeToArray.ts","webpack://q2-tecton-platform/../../../src/internal/util/isArrayLike.ts","webpack://q2-tecton-platform/../../../src/internal/util/isPromise.ts","webpack://q2-tecton-platform/../../../src/internal/util/not.ts","webpack://q2-tecton-platform//webpack/universalModuleDefinition","webpack://q2-tecton-platform//webpack/bootstrap","webpack://q2-tecton-platform/webpack:/external \"maybe-not\"","webpack://q2-tecton-platform/webpack:/external \"rxjs\"","webpack://q2-tecton-platform/webpack:/external \"rxjs/operators\"","webpack://q2-tecton-platform//src/parse-first.ts","webpack://q2-tecton-platform//src/utility/helpers.ts","webpack://q2-tecton-platform//src/core/element-feature-adaptors/props.ts","webpack://q2-tecton-platform//src/core/element-feature-adaptors/shadow-dom.ts","webpack://q2-tecton-platform//src/core/base-element-factory.ts","webpack://q2-tecton-platform//src/drivers/generic-effects-driver.ts","webpack://q2-tecton-platform/../../../src/internal/observable/fromEvent.ts","webpack://q2-tecton-platform/../../../src/internal/operators/debounceTime.ts","webpack://q2-tecton-platform/../../../src/internal/operators/first.ts","webpack://q2-tecton-platform/../../../src/internal/operators/pairwise.ts","webpack://q2-tecton-platform//workspace/workspace/tecton-production_release_1.10.x/node_modules/url-polyfill/url-polyfill.js","webpack://q2-tecton-platform/(webpack)/buildin/global.js","webpack://q2-tecton-platform/../../src/utility/message-bus.ts","webpack://q2-tecton-platform/./src/utility/message-bus.ts","webpack://q2-tecton-platform/./src/utility/getNavigationData.ts","webpack://q2-tecton-platform/../../../src/models/data-types/hierarchy.ts","webpack://q2-tecton-platform/./src/sources/requestPlatformDataSetup.ts","webpack://q2-tecton-platform/./src/private-helpers/setupGetTypeValue.ts","webpack://q2-tecton-platform/./src/private-helpers/getModuleParams.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveFeature.ts","webpack://q2-tecton-platform/./src/actions/showOverpanelSetup.ts","webpack://q2-tecton-platform/./src/utility/validateActionParameters.ts","webpack://q2-tecton-platform/./src/actions/sendAlertSetup.ts","webpack://q2-tecton-platform/../../src/utility/pick.ts","webpack://q2-tecton-platform/./src/actions/index.ts","webpack://q2-tecton-platform/./src/actions/authorizeTransactionWithMfaSetup.ts","webpack://q2-tecton-platform/./src/actions/closeOverpanelSetup.ts","webpack://q2-tecton-platform/./src/actions/navigateToSetup.ts","webpack://q2-tecton-platform/./src/actions/setTitleSetup.ts","webpack://q2-tecton-platform/./src/actions/setParamsSetup.ts","webpack://q2-tecton-platform/./src/actions/clearParamsSetup.ts","webpack://q2-tecton-platform/./src/actions/refetchAccountsSetup.ts","webpack://q2-tecton-platform/./src/actions/t.ts","webpack://q2-tecton-platform/./src/actions/showModalSetup.ts","webpack://q2-tecton-platform/./src/actions/loadingModalSetup.ts","webpack://q2-tecton-platform/./src/actions/printWindowSetup.ts","webpack://q2-tecton-platform/./src/actions/keepAliveSetup.ts","webpack://q2-tecton-platform/./src/actions/logToServerSetup.ts","webpack://q2-tecton-platform/./src/actions/openURLSetup.ts","webpack://q2-tecton-platform/./src/actions/scrollToTopSetup.ts","webpack://q2-tecton-platform/./src/actions/clearCacheSetup.ts","webpack://q2-tecton-platform/./src/actions/manageChangesSetup.ts","webpack://q2-tecton-platform/./src/actions/actionRequiredSetup.ts","webpack://q2-tecton-platform/./src/utility/windowHelpers.ts","webpack://q2-tecton-platform/./src/sources/setupModuleParams.ts","webpack://q2-tecton-platform/./src/sources/tectonCacheSetup.ts","webpack://q2-tecton-platform/./src/sources/index.ts","webpack://q2-tecton-platform/./src/sources/cacheClearedSetup.ts","webpack://q2-tecton-platform/./src/sources/canUserSetup.ts","webpack://q2-tecton-platform/./src/sources/getFeatureConfigSetup.ts","webpack://q2-tecton-platform/./src/sources/getPendoInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getPlatformInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getVersionInfoSetup.ts","webpack://q2-tecton-platform/./src/sources/getAuthTokenSetup.ts","webpack://q2-tecton-platform/./src/sources/getGlobalScriptsSetup.ts","webpack://q2-tecton-platform/./src/sources/isNavigableSetup.ts","webpack://q2-tecton-platform/./src/sources/platformScrollChangedSetup.ts","webpack://q2-tecton-platform/./src/sources/promptForMFASetup.ts","webpack://q2-tecton-platform/./src/sources/refetchRequiredSetup.ts","webpack://q2-tecton-platform/./src/sources/requestExtensionDataSetup.ts","webpack://q2-tecton-platform/./src/sources/takePictureSetup.ts","webpack://q2-tecton-platform/../../src/outlets/tecton-outlet-base.ts","webpack://q2-tecton-platform/../../src/utility/check-permissions.ts","webpack://q2-tecton-platform/./src/outlets/platform-outlet.ts","webpack://q2-tecton-platform/../../src/utility/addParamToURL.ts","webpack://q2-tecton-platform/./src/private-helpers/assetPathResolvers.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveTabs.ts","webpack://q2-tecton-platform/./src/private-helpers/resolveMenu.ts","webpack://q2-tecton-platform/./src/private-helpers/index.ts","webpack://q2-tecton-platform/./src/private-helpers/setupRegisterOutlet.ts","webpack://q2-tecton-platform/./src/private-helpers/platformCapabilities.ts","webpack://q2-tecton-platform/./src/private-helpers/getAuthPayload.ts","webpack://q2-tecton-platform/./src/private-helpers/cdnOverrideSetup.ts","webpack://q2-tecton-platform/./src/setup/index.ts","webpack://q2-tecton-platform/./src/setup/default-capabilities.ts","webpack://q2-tecton-platform/./src/setup/dynamic-capabilities.ts","webpack://q2-tecton-platform/./src/setup/styles.ts","webpack://q2-tecton-platform/./src/outlets/index.ts","webpack://q2-tecton-platform/../../src/utility/merge.ts"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","SafeSubscriber","_parentSubscriber","sub","Subject","InnerSubscriber","subscriber","AsyncSubject","delay","action","schedule","notPred","require","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","Event","toDashCase","str","charAt","slice","replace","toLowerCase","elementGuid","createGuid","enableProps","props","fnHashByName","reduce","indexed","obj","set","Map","hooks","init","element","__innerProps$","BehaviorSubject","connectedCallback","obj1","obj2","equal","obj1Keys","obj2Keys","initialProps","getValue","updatedProps","observedAttributes","forEach","getAttribute","attrName","setPropFromAttr","Maybe","just","keys","length","next","classSetup","ConstructF","assign","filter","x","reflectAs","map","prop","val","dashedName","observed","includes","setAttribute","String","removeAttribute","__attached","customElement","attrValue","mFnHashByName","propInitializer","camelName","$0","$1","toUpperCase","propConfig","propValue","Boolean","withDefault","setupShadowDOM","fragment","css","canTemplate","HTMLTemplateElement","generateCustomElementTemplate","generateCustomElementFragment","shadowRoot","querySelector","attachShadow","shadowContent","importNode","sheet","cssText","appendChild","createDocumentFragment","styleTag","createElement","createTextNode","rootDiv","className","template","innerHTML","content","generateCustomElementWrapper","engine","options","useShadowDOM","getShadowBaseElementM","nothing","propsSetup","isArray","self","Reflect","construct","HTMLElement","prototypeExtensions","__onTeardown","__onAttached","__guid","fn","engineStreams","maybe","props$","withDefaultFn","handleEngineStreams","__shadowAppBooted","tryAssigningNameProperties","component","writable","dataset","guid","alt","disconnectedCallback","reverse","attributeChangedCallback","oldVal","newVal","createSetupElement","elementConstructor","elementOptions","elementName","defineElement","customElements","interval","pipe","take","toPromise","then","placeholder","domSubscription","DOM$","subscribe","replaceChild","newElement","firstChild","settledSubscription","settled$","settled","dispatchEvent","teardownSubscription","teardown$","push","teardownFn","unsubscribe","error","makeGenericEffectsDriver","effect$","effect","complete","global","iteratorSupported","iterator","checkIfIteratorIsSupported","createIterator","items","shift","done","serializeParam","encodeURIComponent","deserializeParam","decodeURIComponent","URLSearchParams","toString","e","checkIfURLSearchParamsSupported","searchString","typeofSearchString","_fromString","_this","append","TypeError","entry","proto","_entries","delete","getAll","has","callback","thisArg","entries","values","searchArray","join","polyfillURLSearchParams","sort","a","configurable","attribute","attributes","split","u","URL","pathname","href","searchParams","checkIfURLIsSupported","_URL","url","base","baseElement","doc","location","implementation","createHTMLDocument","head","indexOf","Error","err","anchorElement","body","inputElement","type","protocol","test","checkValidity","search","enableSearchUpdate","enableSearchParamsUpdate","methodName","method","apply","arguments","attributeName","_anchorElement","linkURLWithAnchorAttribute","_updateSearchParams","defineProperties","expectedPort","addPortToOrigin","port","hostname","createObjectURL","blob","revokeObjectURL","polyfillURL","getOrigin","setInterval","origin","g","Function","PlatformMessageBus","tectonConfig$","allowAll","super","domains","Set","configSubscription","getConfigDomains","firehose$","teardown","tectonConfig","additionalDomains","moduleURLs","features","feature","featureAdditionalDomains","concat","moduleURL","domain","dedupeAndCompact","getNavigationData","featureName","moduleName","primaryModuleName","find","primary","activeModule","meta","navigable","legacy","legacyRouteName","platformDataRequest","legacyControlBus","request","routePromise","dataType","isDataRequest","dataIdM","category","dataURLOrResolver","dataURLMap","default","Promise","resolve","id","paramString","buildQueryParams","resolveDataURL","dataId","route","sendRequest","Account","Accounts","FormData","FundsTransfer","Goals","Categories","CreateGoal","productTypeCode","productCode","TECTON_ACCOUNT_TYPE_PRODUCT_CODES","getAccountProductIDByType","productId","createAccountURLByType","Create","PRIVATE","systemConfig","accountProducts","productPromise","xhr","response","data","productsResponse","product","hydraProductTypeCode","hydraProductCode","productID","getTypeValue","baseDataType","valueId","providedTypeM","providedType","baseType","typeCategory","resolver","resolveSpecificTypeByData","catch","extended","ACCOUNT_TYPES_BY_CODE","transactionType","TRANSACTION_TYPES_BY_CODE","dorC","ofxTranType","DC","DM","DS","DT","DG","DP","DI","DB","LL","LI","LC","LM","LH","CM","CV","CD","CA","CCREDIT","CINT","CDIV","CDEP","CATM","CPOS","CXFER","CDIRECTDEP","CHOLD","COTHER","DDEBIT","DINT","DFEE","DSRVCHG","DATM","DPOS","DXFER","DPAYMENT","DCHECK","DCASH","DDIRECTDEBIT","DREPEATPMT","DOTHER","getModuleParams","item","lastIndex","lastIndexOf","startsWith","accumulator","substring","resolveFeature","params$","outletPath","baseContextM","contextValueIdM","moduleLookups","hostFeatureName","hostModuleName","sequence","baseContext","getTypeValueIfContextual","async","modulesFromLookups","dynamicConfigFetch","all","featureManifest","lookup","resolvedManifest","allowDirectives","resolveLookups","typedResolutionM","valueTypeM","getTypePath","compatibleTypesByPriority","findMatchByPriority","prioritizedTypes","moduleConfig","context","altMap","unTypedResolutionM","_a","_b","_c","_d","hostModulePermissions","requiredUserCapabilities","modulePermissions","allPermissions","initialParams","currentParams","minHeight","tabLabelOverride","formPostAuth","loadingOptions","getPathResolutionInfo","path","dynamicFetch","pathType","resolveType","isLegacyRoot","configPath","basePlatformConfig","outletName","generateTectonConfigPathFromModuleId","outletModuloVal","configuredOverpanels","pathOrigin","treeFromRoot","moduleModuloVal","acc","pathItem","index","resolveTectonPath","moduleTree","findModuleInArrayConfig","matchModulebyFeatureName","arr","testFn","nestedIndex","topLevelResolve","itemArr","findIndex","showOverpanelSetup","messageBus","capabilities","teardowns","showOverpanel","add","subscription","sendResponse","overpanelConfig","overpanelConfigPath","messageBody","useRouteConfig","overpanelPath","resolvedInfo","featureConfig","legacyOverpanelName","actionParameters","candidateSubset","configuredParameters","undefined","JSON","stringify","invalidKeys","validateActionParameters","updateParams","overpanelId","size","height","fullWidth","sendAlertSetup","sendAlert","onMessage","message","cleanedMessage","setupActions","authorizeTransactionWithMfa","promptOptions","authorizeTransactionWithMfaSetup","closeOverpanel","closeOverpanelSetup","navigateTo","urlParams","queryParams","info","navData","targetModuleId","hasNothing","navigateToSetup","setOverpanelTitle","setPageTitle","title","setTitleSetup","paramsObject","setParamsSetup","clearParams","clearParamsSetup","refetchAccountsNotification","clearCacheByPrefix","clearTransferCache","refetchAccountsSetup","language","getCurrentLanguage","currentLanguage$","languageChanged","langKey","currentLanguageSubscription","sendBroadcast","currentLanguageResponseSubscription","setupTectonLanguage","showModal","modalOptions","actionName","showModalSetup","showLoadingModal","clearLoadingModal","loadingModalSetup","subscriptions","Tecton","inMobileApp","console","focus","print","printWindowSetup","keepAlive","keepAliveSetup","logToServer","level","logToServerSetup","openURL","openURLSetup","scrollTo","scrollToTop","routePrefixes","cleared","clearCacheSetup","manageChanges","changeData","manageChangesSetup","actionRequired","removeActionRequired","uuid","scrollYHelper","scrollY","innerHeightHelper","innerHeight","setupModuleParams","moduleParams$","paramsChanged","changedParams","changedModuleParams","currentModuleParams","_buildCacheKey","tectonCacheSetup","registerLogoffHook","browserSupportsGetItem","sessionStorage","getItem","browserSupportsSetItem","setItem","browserSupportsRemoveSetItem","removeItem","_browserSupportsSessionStorage","getSubscription","cacheKey","cachedData","parse","setSubscription","subStorageKey","tectonCache","setupSources","refetchRequired","cacheClearedSetup","getCapabilities","allowed","every","canUserSetup","getFeatureConfig","declaredConfigVariables","configuredSystemVariables","config","getFeatureConfigSetup","getPendoInfo","getPendoInfoSetup","getPlatformInfo","requestedInfo","getPlatformInfoSetup","getVersionInfo","returnedVars","TECTON_PLATFORM_VERSION","TECTONPLATFORMVERSION","getVersionInfoSetup","getAuthToken","getAuthTokenSetup","getGlobalScripts","getGlobalScriptsSetup","isUUXPath","isNavigableSetup","onScroll","getSurroundingOffsets","addEventListener","removeEventListener","platformScrollChanged","promptForMFA","refetchRequiredSetup","requestExtensionData","requestExtensionDataSetup","subscriptionV1","status","statusText","subscriptionV2","requestPlatformDataSetup","takePicture","overlayText","helpText","image","picture","takePictureSetup","tectonPlatformOutletObservedAttrs","loadTectonPlatformOutlet","authPayload","buildURLWithPlatformBase","memorizedProps$","getContent","loaderWrapper","iframeEl","getModuleId","loadingSubscription","setupOutletIFrameLoading","outletInfoSubscription","setupOutletInfo","configTree$","configTree","distinctUntilChanged","isOverpanel$","overpanelSubscription","overpanel","routeName$","routeName","moduleIdChangeSubscription","pairwise","oldModuleId","sendMessage","outletDataSubscription","combineLatest","isOverpanel","checkRequiredPermissionsOnPlatform","allow","urlFromConfig","iframeSrc","addParamToURL","style","maxHeight","maxWidth","resizerSubscription","setupOutletIFrameResizer","titleSubscription","setupOutletSetTitleListener","outletDOM","setupOutletIFrameWrapper","loaders","buildLoaders","outlet","classList","loaderRow","row","loader","slot","existingLoadingWrapper","NGAM_BASE","ifRelativePrependOrigin","setupResolveTabs","platformConfig","configPromise","featureManfest","outletType","outlets","contextValue","resolvedType","tabLookups","configuredOutlets","tabLookup","tabM","tab","tabLabel","tabsMs","filterSomethings","tabs","tabInfo","resolveTabs","resolvedTabs","setupResolveMenu","resolvedPathInfo","menuLookups","menuLookup","menuM","asyncMap","menu","ctxId","menuItem","itemLabel","contextIdParamName","menuMs","resolveMenuItems","resolvedMenuItems","setupPrivateHelpers","setupGetTypeValue","setupRegisterOutlet","customLanguagePathSubscription","customerAssetPathSubscription","subPath","getCustomerSpecificAssetPath","getCustomLanguageURL","moduleInfo","baseAssetPathSubscription","getBaseAssetPath","getNgamBaseURL","ngamBase","setupPathResolvers","contextValueId","featureM","shape","setupResolveFeature","platformCapabilites","from","platformCapabilitiesSetup","getAuthPayload","cdnOverride","cdnOverrideSetup","testOptions","adaptConfig","isTestingTecton","testing","setupDefaultCapabilities","setupDynamicPlatformAPI","capability","functionName","args","executeDynamicPlatformAPI","setupDynamicCapabilities","getCurrentTheme","currentTheme$","onThemeChange","themeName","themeChanged","tectonThemeSubscription","themePath","tectonCurrentThemeServiceSubscription","setupTectonStyles","setupTectonElement","tectonOutletAdaptor","setupOutlets","buildIframeURL","tectonParamsChanged","updateConfig","configDiff","configValue","merge","replaceConfig","configLookup","routeConfig","configForRoute","configForOverpanel","overpanelKey","overpanelKeyOrModuleName","featureObj","configuredOverpanel","moduleUrl"],"mappings":"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","file":"q2-tecton-platform.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"q2-tecton-platform\"] = factory();\n\telse\n\t\troot[\"q2-tecton-platform\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 79);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nvar Subscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriberSymbol] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar SafeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\n//# sourceMappingURL=Subscriber.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nvar SimpleInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleInnerSubscriber, _super);\n function SimpleInnerSubscriber(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n SimpleInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(value);\n };\n SimpleInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n SimpleInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete();\n this.unsubscribe();\n };\n return SimpleInnerSubscriber;\n}(Subscriber));\nexport { SimpleInnerSubscriber };\nvar ComplexInnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexInnerSubscriber, _super);\n function ComplexInnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n return _this;\n }\n ComplexInnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n };\n ComplexInnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n };\n ComplexInnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return ComplexInnerSubscriber;\n}(Subscriber));\nexport { ComplexInnerSubscriber };\nvar SimpleOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SimpleOuterSubscriber, _super);\n function SimpleOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleOuterSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n SimpleOuterSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n SimpleOuterSubscriber.prototype.notifyComplete = function () {\n this.destination.complete();\n };\n return SimpleOuterSubscriber;\n}(Subscriber));\nexport { SimpleOuterSubscriber };\nvar ComplexOuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ComplexOuterSubscriber, _super);\n function ComplexOuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComplexOuterSubscriber.prototype.notifyNext = function (_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n };\n ComplexOuterSubscriber.prototype.notifyError = function (error) {\n this.destination.error(error);\n };\n ComplexOuterSubscriber.prototype.notifyComplete = function (_innerSub) {\n this.destination.complete();\n };\n return ComplexOuterSubscriber;\n}(Subscriber));\nexport { ComplexOuterSubscriber };\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=innerSubscribe.js.map\n","/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */\nimport { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nvar Observable = /*@__PURE__*/ (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map\n","/** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map\n","export class Maybe {\n constructor(value) {\n this.value = value;\n }\n static just(val) {\n if (val === undefined || val === null) {\n throw new TypeError('Value passed to just must exist!');\n }\n return new Maybe(val);\n }\n static nothing() {\n return new Maybe();\n }\n static maybe(val) {\n if (val === undefined || val === null) {\n return Maybe.nothing();\n }\n return Maybe.just(val);\n }\n static join(nestedMaybe) {\n return nestedMaybe.withDefault(Maybe.nothing());\n }\n static sequence(arr) {\n return arr.reduce((acc, val) => {\n return acc.bind(arr => val.map(item => arr.concat(item)));\n }, Maybe.just([]));\n }\n static traverse(fn, arr) {\n return Maybe.sequence(arr).map(items => items.map(fn));\n }\n static justMap(fn, arr) {\n return arr.reduce((acc, item) => {\n const mValue = fn(item);\n return mValue.value !== undefined ? acc.concat(mValue.value) : acc;\n }, []);\n }\n static filterSomethings(arr) {\n return arr.reduce((acc, xM) => {\n if (xM.value) {\n acc.push(xM.value);\n }\n return acc;\n }, []);\n }\n static lift(fn) {\n return mX => mX.map(fn);\n }\n static lift2(fn) {\n return (mX, mY) => Maybe.sequence([mX, mY]).map(ms => fn(ms[0], ms[1]));\n }\n static lift3(fn) {\n return (mX, mY, mZ) => Maybe.sequence([mX, mY, mZ]).map(ms => fn(ms[0], ms[1], ms[2]));\n }\n static toPromise(maybe) {\n if (maybe.hasSomething) {\n return Promise.resolve(maybe.value);\n }\n else {\n return Promise.reject();\n }\n }\n map(fn) {\n if (this.value !== undefined) {\n return Maybe.maybe(fn(this.value));\n }\n return Maybe.nothing();\n }\n asyncMap(fn) {\n if (this.value !== undefined) {\n return fn(this.value).then(x => {\n if (x === undefined || x === null) {\n throw 'Promise Conversion from a Maybe.Nothing';\n }\n return x;\n });\n }\n return Promise.reject();\n }\n alt(elseValue) {\n return this.value !== undefined ? this : elseValue;\n }\n altMap(elseFn) {\n return this.value !== undefined ? this : elseFn();\n }\n ap(mFn) {\n return mFn.bind(fn => this.map(fn));\n }\n bind(fn) {\n return Maybe.join(this.map(fn));\n }\n withDefault(fallback) {\n return this.value !== undefined ? this.value : fallback;\n }\n withDefaultFn(fallbackFn) {\n return this.value !== undefined ? this.value : fallbackFn();\n }\n get hasNothing() {\n return this.value === undefined;\n }\n get hasSomething() {\n return !this.hasNothing;\n }\n unsafeElse(fn) {\n if (this.hasNothing) {\n fn();\n }\n }\n}\nMaybe.of = Maybe.maybe;\n//# sourceMappingURL=maybe-not.js.map","/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */\nimport { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nvar Subscription = /*@__PURE__*/ (function () {\n function Subscription(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n Subscription.prototype.unsubscribe = function () {\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parentOrParents = _a._parentOrParents, _ctorUnsubscribe = _a._ctorUnsubscribe, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (var index = 0; index < _parentOrParents.length; ++index) {\n var parent_1 = _parentOrParents[index];\n parent_1.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n var index = -1;\n var len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n };\n Subscription.prototype.add = function (teardown) {\n var subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n var _parentOrParents = subscription._parentOrParents;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n var subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n };\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexport { Subscription };\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nvar SubjectSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber));\nexport { SubjectSubscriber };\nvar Subject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriberSymbol] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map\n","/** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = /*@__PURE__*/ new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) { return x && typeof x.length === 'number'; }); })();\n//# sourceMappingURL=isArray.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nvar MapOperator = /*@__PURE__*/ (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexport { MapOperator };\nvar MapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.count = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=map.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n//# sourceMappingURL=isScheduler.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport var EMPTY = /*@__PURE__*/ new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar InnerSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.outerValue = outerValue;\n _this.outerIndex = outerIndex;\n _this.index = 0;\n return _this;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber));\nexport { InnerSubscriber };\n//# sourceMappingURL=InnerSubscriber.js.map\n","/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */\nimport { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber) {\n if (innerSubscriber === void 0) {\n innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n }\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport var config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n var error = /*@__PURE__*/ new Error();\n /*@__PURE__*/ console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n /*@__PURE__*/ console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nvar FilterOperator = /*@__PURE__*/ (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\nvar FilterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.count = 0;\n return _this;\n }\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber));\n//# sourceMappingURL=filter.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from './Subscriber';\nvar OuterSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber));\nexport { OuterSubscriber };\n//# sourceMappingURL=OuterSubscriber.js.map\n","/** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */\nimport { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n/*@__PURE__*/ (function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = /*@__PURE__*/ (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n };\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexport { Notification };\n//# sourceMappingURL=Notification.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = /*@__PURE__*/ getSymbolIterator();\nexport var $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function noop() { }\n//# sourceMappingURL=noop.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();\n//# sourceMappingURL=observable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ObjectUnsubscribedErrorImpl = /*@__PURE__*/ (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar ArgumentOutOfRangeErrorImpl = /*@__PURE__*/ (function () {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isFunction(x) {\n return typeof x === 'function';\n}\n//# sourceMappingURL=isFunction.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar EmptyErrorImpl = /*@__PURE__*/ (function () {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport var EmptyError = EmptyErrorImpl;\n//# sourceMappingURL=EmptyError.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(mergeMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); }, concurrent)); };\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return function (source) { return source.lift(new MergeMapOperator(project, concurrent)); };\n}\nvar MergeMapOperator = /*@__PURE__*/ (function () {\n function MergeMapOperator(project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n this.project = project;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexport { MergeMapOperator };\nvar MergeMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n MergeMapSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeMapSubscriber };\nexport var flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = null;\n }\n return function (source) { return source.lift(new DefaultIfEmptyOperator(defaultValue)); };\n}\nvar DefaultIfEmptyOperator = /*@__PURE__*/ (function () {\n function DefaultIfEmptyOperator(defaultValue) {\n this.defaultValue = defaultValue;\n }\n DefaultIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n };\n return DefaultIfEmptyOperator;\n}());\nvar DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DefaultIfEmptySubscriber, _super);\n function DefaultIfEmptySubscriber(destination, defaultValue) {\n var _this = _super.call(this, destination) || this;\n _this.defaultValue = defaultValue;\n _this.isEmpty = true;\n return _this;\n }\n DefaultIfEmptySubscriber.prototype._next = function (value) {\n this.isEmpty = false;\n this.destination.next(value);\n };\n DefaultIfEmptySubscriber.prototype._complete = function () {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n };\n return DefaultIfEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=defaultIfEmpty.js.map\n","/** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n//# sourceMappingURL=fromArray.js.map\n","/** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n var _this = _super.call(this, SchedulerAction, function () {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== _this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n }) || this;\n _this.actions = [];\n _this.active = false;\n _this.scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return _super.prototype.schedule.call(this, work, delay, state);\n }\n };\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { Subscription } from './Subscription';\nvar AsyncSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.value = null;\n _this.hasNext = false;\n _this.hasCompleted = false;\n return _this;\n }\n AsyncSubject.prototype._subscribe = function (subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return _super.prototype._subscribe.call(this, subscriber);\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n };\n AsyncSubject.prototype.error = function (error) {\n if (!this.hasCompleted) {\n _super.prototype.error.call(this, error);\n }\n };\n AsyncSubject.prototype.complete = function () {\n this.hasCompleted = true;\n if (this.hasNext) {\n _super.prototype.next.call(this, this.value);\n }\n _super.prototype.complete.call(this);\n };\n return AsyncSubject;\n}(Subject));\nexport { AsyncSubject };\n//# sourceMappingURL=AsyncSubject.js.map\n","/** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Action } from './Action';\nvar AsyncAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map\n","/** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */\nimport { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map\n","/** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */\nimport { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return concatAll()(of.apply(void 0, observables));\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */\nimport { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeTo = function (result) {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n var value = isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport var subscribeToObservable = function (obj) {\n return function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n };\n};\n//# sourceMappingURL=subscribeToObservable.js.map\n","/** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */\nimport { hostReportError } from './hostReportError';\nexport var subscribeToPromise = function (promise) {\n return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError);\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToPromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport var subscribeToIterable = function (iterable) {\n return function (subscriber) {\n var iterator = iterable[Symbol_iterator]();\n do {\n var item = void 0;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(function () {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n };\n};\n//# sourceMappingURL=subscribeToIterable.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map\n","/** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */\nimport { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map\n","/** PURE_IMPORTS_START tslib,_util_EmptyError,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) {\n errorFactory = defaultErrorFactory;\n }\n return function (source) {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nvar ThrowIfEmptyOperator = /*@__PURE__*/ (function () {\n function ThrowIfEmptyOperator(errorFactory) {\n this.errorFactory = errorFactory;\n }\n ThrowIfEmptyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n };\n return ThrowIfEmptyOperator;\n}());\nvar ThrowIfEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrowIfEmptySubscriber, _super);\n function ThrowIfEmptySubscriber(destination, errorFactory) {\n var _this = _super.call(this, destination) || this;\n _this.errorFactory = errorFactory;\n _this.hasValue = false;\n return _this;\n }\n ThrowIfEmptySubscriber.prototype._next = function (value) {\n this.hasValue = true;\n this.destination.next(value);\n };\n ThrowIfEmptySubscriber.prototype._complete = function () {\n if (!this.hasValue) {\n var err = void 0;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n };\n return ThrowIfEmptySubscriber;\n}(Subscriber));\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar AnimationFrameAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(function () { return scheduler.flush(null); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map\n","/** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */\nimport { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrameScheduler = /*@__PURE__*/ new AnimationFrameScheduler(AnimationFrameAction);\nexport var animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AnimationFrameScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nvar VirtualTimeScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(SchedulerAction, maxFrames) {\n if (SchedulerAction === void 0) {\n SchedulerAction = VirtualAction;\n }\n if (maxFrames === void 0) {\n maxFrames = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this, SchedulerAction, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error, action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n }\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler));\nexport { VirtualTimeScheduler };\nvar VirtualAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) {\n index = scheduler.index += 1;\n }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction));\nexport { VirtualAction };\n//# sourceMappingURL=VirtualTimeScheduler.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n//# sourceMappingURL=isObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isArray,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isArray } from '../util/isArray';\nimport { isScheduler } from '../util/isScheduler';\nexport function bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var subject;\n var params = {\n context: context,\n subject: subject,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n };\n return new Observable(function (subscriber) {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n var state = {\n args: args, subscriber: subscriber, params: params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var self = this;\n var args = state.args, subscriber = state.subscriber, params = state.params;\n var callbackFunc = params.callbackFunc, context = params.context, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n var value = state.value, subject = state.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n var err = state.err, subject = state.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map\n","/** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isScheduler,_util_isArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nexport function bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return bindNodeCallback(callbackFunc, scheduler).apply(void 0, args).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n };\n }\n }\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var params = {\n subject: undefined,\n args: args,\n callbackFunc: callbackFunc,\n scheduler: scheduler,\n context: this,\n };\n return new Observable(function (subscriber) {\n var context = params.context;\n var subject = params.subject;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params: params, subscriber: subscriber, context: context });\n }\n });\n };\n}\nfunction dispatch(state) {\n var _this = this;\n var params = state.params, subscriber = state.subscriber, context = state.context;\n var callbackFunc = params.callbackFunc, args = params.args, scheduler = params.scheduler;\n var subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n var handler = function () {\n var innerArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n innerArgs[_i] = arguments[_i];\n }\n var err = innerArgs.shift();\n if (err) {\n _this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n else {\n var value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n _this.add(scheduler.schedule(dispatchNext, 0, { value: value, subject: subject }));\n }\n };\n try {\n callbackFunc.apply(context, args.concat([handler]));\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err: err, subject: subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n var value = arg.value, subject = arg.subject;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n var err = arg.err, subject = arg.subject;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_operators_map,_util_isObject,_from PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 1) {\n var first_1 = sources[0];\n if (isArray(first_1)) {\n return forkJoinInternal(first_1, null);\n }\n if (isObject(first_1) && Object.getPrototypeOf(first_1) === Object.prototype) {\n var keys = Object.keys(first_1);\n return forkJoinInternal(keys.map(function (key) { return first_1[key]; }), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n var resultSelector_1 = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map(function (args) { return resultSelector_1.apply(void 0, args); }));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(function (subscriber) {\n var len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n var values = new Array(len);\n var completed = 0;\n var emitted = 0;\n var _loop_1 = function (i) {\n var source = from(sources[i]);\n var hasValue = false;\n subscriber.add(source.subscribe({\n next: function (value) {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: function (err) { return subscriber.error(err); },\n complete: function () {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce(function (result, key, i) { return (result[key] = values[i], result); }, {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n };\n for (var i = 0; i < len; i++) {\n _loop_1(i);\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var e = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n e[_i] = arguments[_i];\n }\n return subscriber.next(e.length === 1 ? e[0] : e);\n };\n var retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return function () { return removeHandler(handler, retValue); };\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map\n","/** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { isScheduler } from '../util/isScheduler';\nexport function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n var resultSelector;\n var initialState;\n if (arguments.length == 1) {\n var options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable(function (subscriber) {\n var state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber: subscriber,\n iterate: iterate,\n condition: condition,\n resultSelector: resultSelector,\n state: state\n });\n }\n do {\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n var value = void 0;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n break;\n }\n try {\n state = iterate(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, condition = state.condition;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n var conditionResult = void 0;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n var value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map\n","/** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */\nimport { defer } from './defer';\nimport { EMPTY } from './empty';\nexport function iif(condition, trueResult, falseResult) {\n if (trueResult === void 0) {\n trueResult = EMPTY;\n }\n if (falseResult === void 0) {\n falseResult = EMPTY;\n }\n return defer(function () { return condition() ? trueResult : falseResult; });\n}\n//# sourceMappingURL=iif.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nexport function interval(period, scheduler) {\n if (period === void 0) {\n period = 0;\n }\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (!isNumeric(period) || period < 0) {\n period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n subscriber.add(scheduler.schedule(dispatch, period, { subscriber: subscriber, counter: 0, period: period }));\n return subscriber;\n });\n}\nfunction dispatch(state) {\n var subscriber = state.subscriber, counter = state.counter, period = state.period;\n subscriber.next(counter);\n this.schedule({ subscriber: subscriber, counter: counter + 1, period: period }, period);\n}\n//# sourceMappingURL=interval.js.map\n","/** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = /*@__PURE__*/ new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { isArray } from '../util/isArray';\nimport { EMPTY } from './empty';\nexport function onErrorResumeNext() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n if (sources.length === 0) {\n return EMPTY;\n }\n var first = sources[0], remainder = sources.slice(1);\n if (sources.length === 1 && isArray(first)) {\n return onErrorResumeNext.apply(void 0, first);\n }\n return new Observable(function (subscriber) {\n var subNext = function () { return subscriber.add(onErrorResumeNext.apply(void 0, remainder).subscribe(subscriber)); };\n return from(first).subscribe({\n next: function (value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n//# sourceMappingURL=onErrorResumeNext.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function pairs(obj, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length && !subscriber.closed; i++) {\n var key = keys[i];\n if (obj.hasOwnProperty(key)) {\n subscriber.next([key, obj[key]]);\n }\n }\n subscriber.complete();\n });\n }\n else {\n return new Observable(function (subscriber) {\n var keys = Object.keys(obj);\n var subscription = new Subscription();\n subscription.add(scheduler.schedule(dispatch, 0, { keys: keys, index: 0, subscriber: subscriber, subscription: subscription, obj: obj }));\n return subscription;\n });\n }\n}\nexport function dispatch(state) {\n var keys = state.keys, index = state.index, subscriber = state.subscriber, subscription = state.subscription, obj = state.obj;\n if (!subscriber.closed) {\n if (index < keys.length) {\n var key = keys[index];\n subscriber.next([key, obj[key]]);\n subscription.add(this.schedule({ keys: keys, index: index + 1, subscriber: subscriber, subscription: subscription, obj: obj }));\n }\n else {\n subscriber.complete();\n }\n }\n}\n//# sourceMappingURL=pairs.js.map\n","/** PURE_IMPORTS_START _util_not,_util_subscribeTo,_operators_filter,_Observable PURE_IMPORTS_END */\nimport { not } from '../util/not';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { filter } from '../operators/filter';\nimport { Observable } from '../Observable';\nexport function partition(source, predicate, thisArg) {\n return [\n filter(predicate, thisArg)(new Observable(subscribeTo(source))),\n filter(not(predicate, thisArg))(new Observable(subscribeTo(source)))\n ];\n}\n//# sourceMappingURL=partition.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function range(start, count, scheduler) {\n if (start === void 0) {\n start = 0;\n }\n return new Observable(function (subscriber) {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n var index = 0;\n var current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index: index, count: count, start: start, subscriber: subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexport function dispatch(state) {\n var start = state.start, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(start);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n state.start = start + 1;\n this.schedule(state);\n}\n//# sourceMappingURL=range.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function using(resourceFactory, observableFactory) {\n return new Observable(function (subscriber) {\n var resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = result ? from(result) : EMPTY;\n var subscription = source.subscribe(subscriber);\n return function () {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=using.js.map\n","/** PURE_IMPORTS_START _identity PURE_IMPORTS_END */\nimport { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar nextHandle = 1;\nvar RESOLVED = /*@__PURE__*/ (function () { return /*@__PURE__*/ Promise.resolve(); })();\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map\n","/** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nvar AsapAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map\n","/** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */\nimport { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = /*@__PURE__*/ new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this.active = true;\n this.scheduled = undefined;\n var actions = this.actions;\n var error;\n var index = -1;\n var count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var rxSubscriber = /*@__PURE__*/ (function () {\n return typeof Symbol === 'function'\n ? /*@__PURE__*/ Symbol('rxSubscriber')\n : '@@rxSubscriber_' + /*@__PURE__*/ Math.random();\n})();\nexport var $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar UnsubscriptionErrorImpl = /*@__PURE__*/ (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport var UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function audit(durationSelector) {\n return function auditOperatorFunction(source) {\n return source.lift(new AuditOperator(durationSelector));\n };\n}\nvar AuditOperator = /*@__PURE__*/ (function () {\n function AuditOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n AuditOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n };\n return AuditOperator;\n}());\nvar AuditSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(AuditSubscriber, _super);\n function AuditSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n AuditSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n if (!this.throttled) {\n var duration = void 0;\n try {\n var durationSelector = this.durationSelector;\n duration = durationSelector(value);\n }\n catch (err) {\n return this.destination.error(err);\n }\n var innerSubscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (!innerSubscription || innerSubscription.closed) {\n this.clearThrottle();\n }\n else {\n this.add(this.throttled = innerSubscription);\n }\n }\n };\n AuditSubscriber.prototype.clearThrottle = function () {\n var _a = this, value = _a.value, hasValue = _a.hasValue, throttled = _a.throttled;\n if (throttled) {\n this.remove(throttled);\n this.throttled = undefined;\n throttled.unsubscribe();\n }\n if (hasValue) {\n this.value = undefined;\n this.hasValue = false;\n this.destination.next(value);\n }\n };\n AuditSubscriber.prototype.notifyNext = function () {\n this.clearThrottle();\n };\n AuditSubscriber.prototype.notifyComplete = function () {\n this.clearThrottle();\n };\n return AuditSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=audit.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return audit(function () { return timer(duration, scheduler); });\n}\n//# sourceMappingURL=auditTime.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function buffer(closingNotifier) {\n return function bufferOperatorFunction(source) {\n return source.lift(new BufferOperator(closingNotifier));\n };\n}\nvar BufferOperator = /*@__PURE__*/ (function () {\n function BufferOperator(closingNotifier) {\n this.closingNotifier = closingNotifier;\n }\n BufferOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferSubscriber(subscriber, this.closingNotifier));\n };\n return BufferOperator;\n}());\nvar BufferSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferSubscriber, _super);\n function BufferSubscriber(destination, closingNotifier) {\n var _this = _super.call(this, destination) || this;\n _this.buffer = [];\n _this.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(_this)));\n return _this;\n }\n BufferSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferSubscriber.prototype.notifyNext = function () {\n var buffer = this.buffer;\n this.buffer = [];\n this.destination.next(buffer);\n };\n return BufferSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=buffer.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function bufferCount(bufferSize, startBufferEvery) {\n if (startBufferEvery === void 0) {\n startBufferEvery = null;\n }\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nvar BufferCountOperator = /*@__PURE__*/ (function () {\n function BufferCountOperator(bufferSize, startBufferEvery) {\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n if (!startBufferEvery || bufferSize === startBufferEvery) {\n this.subscriberClass = BufferCountSubscriber;\n }\n else {\n this.subscriberClass = BufferSkipCountSubscriber;\n }\n }\n BufferCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n };\n return BufferCountOperator;\n}());\nvar BufferCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferCountSubscriber, _super);\n function BufferCountSubscriber(destination, bufferSize) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.buffer = [];\n return _this;\n }\n BufferCountSubscriber.prototype._next = function (value) {\n var buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n };\n BufferCountSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n return BufferCountSubscriber;\n}(Subscriber));\nvar BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferSkipCountSubscriber, _super);\n function BufferSkipCountSubscriber(destination, bufferSize, startBufferEvery) {\n var _this = _super.call(this, destination) || this;\n _this.bufferSize = bufferSize;\n _this.startBufferEvery = startBufferEvery;\n _this.buffers = [];\n _this.count = 0;\n return _this;\n }\n BufferSkipCountSubscriber.prototype._next = function (value) {\n var _a = this, bufferSize = _a.bufferSize, startBufferEvery = _a.startBufferEvery, buffers = _a.buffers, count = _a.count;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (var i = buffers.length; i--;) {\n var buffer = buffers[i];\n buffer.push(value);\n if (buffer.length === bufferSize) {\n buffers.splice(i, 1);\n this.destination.next(buffer);\n }\n }\n };\n BufferSkipCountSubscriber.prototype._complete = function () {\n var _a = this, buffers = _a.buffers, destination = _a.destination;\n while (buffers.length > 0) {\n var buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n _super.prototype._complete.call(this);\n };\n return BufferSkipCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=bufferCount.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_Subscriber,_util_isScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isScheduler } from '../util/isScheduler';\nexport function bufferTime(bufferTimeSpan) {\n var length = arguments.length;\n var scheduler = async;\n if (isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n var bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n var maxBufferSize = Number.POSITIVE_INFINITY;\n if (length >= 3) {\n maxBufferSize = arguments[2];\n }\n return function bufferTimeOperatorFunction(source) {\n return source.lift(new BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler));\n };\n}\nvar BufferTimeOperator = /*@__PURE__*/ (function () {\n function BufferTimeOperator(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n BufferTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n };\n return BufferTimeOperator;\n}());\nvar Context = /*@__PURE__*/ (function () {\n function Context() {\n this.buffer = [];\n }\n return Context;\n}());\nvar BufferTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferTimeSubscriber, _super);\n function BufferTimeSubscriber(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.bufferTimeSpan = bufferTimeSpan;\n _this.bufferCreationInterval = bufferCreationInterval;\n _this.maxBufferSize = maxBufferSize;\n _this.scheduler = scheduler;\n _this.contexts = [];\n var context = _this.openContext();\n _this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (_this.timespanOnly) {\n var timeSpanOnlyState = { subscriber: _this, context: context, bufferTimeSpan: bufferTimeSpan };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n var closeState = { subscriber: _this, context: context };\n var creationState = { bufferTimeSpan: bufferTimeSpan, bufferCreationInterval: bufferCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n return _this;\n }\n BufferTimeSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n var filledBufferContext;\n for (var i = 0; i < len; i++) {\n var context_1 = contexts[i];\n var buffer = context_1.buffer;\n buffer.push(value);\n if (buffer.length == this.maxBufferSize) {\n filledBufferContext = context_1;\n }\n }\n if (filledBufferContext) {\n this.onBufferFull(filledBufferContext);\n }\n };\n BufferTimeSubscriber.prototype._error = function (err) {\n this.contexts.length = 0;\n _super.prototype._error.call(this, err);\n };\n BufferTimeSubscriber.prototype._complete = function () {\n var _a = this, contexts = _a.contexts, destination = _a.destination;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n destination.next(context_2.buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferTimeSubscriber.prototype._unsubscribe = function () {\n this.contexts = null;\n };\n BufferTimeSubscriber.prototype.onBufferFull = function (context) {\n this.closeContext(context);\n var closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n var bufferTimeSpan = this.bufferTimeSpan;\n var timeSpanOnlyState = { subscriber: this, context: context, bufferTimeSpan: bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n };\n BufferTimeSubscriber.prototype.openContext = function () {\n var context = new Context();\n this.contexts.push(context);\n return context;\n };\n BufferTimeSubscriber.prototype.closeContext = function (context) {\n this.destination.next(context.buffer);\n var contexts = this.contexts;\n var spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n };\n return BufferTimeSubscriber;\n}(Subscriber));\nfunction dispatchBufferTimeSpanOnly(state) {\n var subscriber = state.subscriber;\n var prevContext = state.context;\n if (prevContext) {\n subscriber.closeContext(prevContext);\n }\n if (!subscriber.closed) {\n state.context = subscriber.openContext();\n state.context.closeAction = this.schedule(state, state.bufferTimeSpan);\n }\n}\nfunction dispatchBufferCreation(state) {\n var bufferCreationInterval = state.bufferCreationInterval, bufferTimeSpan = state.bufferTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler;\n var context = subscriber.openContext();\n var action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber: subscriber, context: context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n var subscriber = arg.subscriber, context = arg.context;\n subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nexport function bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nvar BufferToggleOperator = /*@__PURE__*/ (function () {\n function BufferToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n BufferToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return BufferToggleOperator;\n}());\nvar BufferToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferToggleSubscriber, _super);\n function BufferToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(subscribeToResult(_this, openings));\n return _this;\n }\n BufferToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n };\n BufferToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_1 = contexts.shift();\n context_1.subscription.unsubscribe();\n context_1.buffer = null;\n context_1.subscription = null;\n }\n this.contexts = null;\n _super.prototype._error.call(this, err);\n };\n BufferToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n while (contexts.length > 0) {\n var context_2 = contexts.shift();\n this.destination.next(context_2.buffer);\n context_2.subscription.unsubscribe();\n context_2.buffer = null;\n context_2.subscription = null;\n }\n this.contexts = null;\n _super.prototype._complete.call(this);\n };\n BufferToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n };\n BufferToggleSubscriber.prototype.notifyComplete = function (innerSub) {\n this.closeBuffer(innerSub.context);\n };\n BufferToggleSubscriber.prototype.openBuffer = function (value) {\n try {\n var closingSelector = this.closingSelector;\n var closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n };\n BufferToggleSubscriber.prototype.closeBuffer = function (context) {\n var contexts = this.contexts;\n if (contexts && context) {\n var buffer = context.buffer, subscription = context.subscription;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n };\n BufferToggleSubscriber.prototype.trySubscribe = function (closingNotifier) {\n var contexts = this.contexts;\n var buffer = [];\n var subscription = new Subscription();\n var context = { buffer: buffer, subscription: subscription };\n contexts.push(context);\n var innerSubscription = subscribeToResult(this, closingNotifier, context);\n if (!innerSubscription || innerSubscription.closed) {\n this.closeBuffer(context);\n }\n else {\n innerSubscription.context = context;\n this.add(innerSubscription);\n subscription.add(innerSubscription);\n }\n };\n return BufferToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=bufferToggle.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from '../Subscription';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nvar BufferWhenOperator = /*@__PURE__*/ (function () {\n function BufferWhenOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n BufferWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n };\n return BufferWhenOperator;\n}());\nvar BufferWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BufferWhenSubscriber, _super);\n function BufferWhenSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.closingSelector = closingSelector;\n _this.subscribing = false;\n _this.openBuffer();\n return _this;\n }\n BufferWhenSubscriber.prototype._next = function (value) {\n this.buffer.push(value);\n };\n BufferWhenSubscriber.prototype._complete = function () {\n var buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n _super.prototype._complete.call(this);\n };\n BufferWhenSubscriber.prototype._unsubscribe = function () {\n this.buffer = undefined;\n this.subscribing = false;\n };\n BufferWhenSubscriber.prototype.notifyNext = function () {\n this.openBuffer();\n };\n BufferWhenSubscriber.prototype.notifyComplete = function () {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n };\n BufferWhenSubscriber.prototype.openBuffer = function () {\n var closingSubscription = this.closingSubscription;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n var buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (err) {\n return this.error(err);\n }\n closingSubscription = new Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(this)));\n this.subscribing = false;\n };\n return BufferWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=bufferWhen.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nvar CatchOperator = /*@__PURE__*/ (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\nvar CatchSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n var _this = _super.call(this, destination) || this;\n _this.selector = selector;\n _this.caught = caught;\n return _this;\n }\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n var innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n };\n return CatchSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=catchError.js.map\n","/** PURE_IMPORTS_START _observable_combineLatest PURE_IMPORTS_END */\nimport { CombineLatestOperator } from '../observable/combineLatest';\nexport function combineAll(project) {\n return function (source) { return source.lift(new CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineAll.js.map\n","/** PURE_IMPORTS_START _util_isArray,_observable_combineLatest,_observable_from PURE_IMPORTS_END */\nimport { isArray } from '../util/isArray';\nimport { CombineLatestOperator } from '../observable/combineLatest';\nimport { from } from '../observable/from';\nvar none = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(from([source].concat(observables)), new CombineLatestOperator(project)); };\n}\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _observable_concat PURE_IMPORTS_END */\nimport { concat as concatStatic } from '../observable/concat';\nexport function concat() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(concatStatic.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=concat.js.map\n","/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map\n","/** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */\nimport { concatMap } from './concatMap';\nexport function concatMapTo(innerObservable, resultSelector) {\n return concatMap(function () { return innerObservable; }, resultSelector);\n}\n//# sourceMappingURL=concatMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nvar CountOperator = /*@__PURE__*/ (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\nvar CountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.count = 0;\n _this.index = 0;\n return _this;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=count.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function debounce(durationSelector) {\n return function (source) { return source.lift(new DebounceOperator(durationSelector)); };\n}\nvar DebounceOperator = /*@__PURE__*/ (function () {\n function DebounceOperator(durationSelector) {\n this.durationSelector = durationSelector;\n }\n DebounceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n };\n return DebounceOperator;\n}());\nvar DebounceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceSubscriber, _super);\n function DebounceSubscriber(destination, durationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.durationSelector = durationSelector;\n _this.hasValue = false;\n return _this;\n }\n DebounceSubscriber.prototype._next = function (value) {\n try {\n var result = this.durationSelector.call(this, value);\n if (result) {\n this._tryNext(value, result);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DebounceSubscriber.prototype._complete = function () {\n this.emitValue();\n this.destination.complete();\n };\n DebounceSubscriber.prototype._tryNext = function (value, duration) {\n var subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (subscription && !subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n };\n DebounceSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n DebounceSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n var value = this.value;\n var subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = undefined;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = undefined;\n this.hasValue = false;\n _super.prototype._next.call(this, value);\n }\n };\n return DebounceSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=debounce.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n var absoluteDelay = isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nvar DelayOperator = /*@__PURE__*/ (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\nvar DelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.delay = delay;\n _this.scheduler = scheduler;\n _this.queue = [];\n _this.active = false;\n _this.errored = false;\n return _this;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n var destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n };\n return DelaySubscriber;\n}(Subscriber));\nvar DelayMessage = /*@__PURE__*/ (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return function (source) {\n return new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n };\n }\n return function (source) { return source.lift(new DelayWhenOperator(delayDurationSelector)); };\n}\nvar DelayWhenOperator = /*@__PURE__*/ (function () {\n function DelayWhenOperator(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n DelayWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n };\n return DelayWhenOperator;\n}());\nvar DelayWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DelayWhenSubscriber, _super);\n function DelayWhenSubscriber(destination, delayDurationSelector) {\n var _this = _super.call(this, destination) || this;\n _this.delayDurationSelector = delayDurationSelector;\n _this.completed = false;\n _this.delayNotifierSubscriptions = [];\n _this.index = 0;\n return _this;\n }\n DelayWhenSubscriber.prototype.notifyNext = function (outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype.notifyError = function (error, innerSub) {\n this._error(error);\n };\n DelayWhenSubscriber.prototype.notifyComplete = function (innerSub) {\n var value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n };\n DelayWhenSubscriber.prototype._next = function (value) {\n var index = this.index++;\n try {\n var delayNotifier = this.delayDurationSelector(value, index);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n DelayWhenSubscriber.prototype._complete = function () {\n this.completed = true;\n this.tryComplete();\n this.unsubscribe();\n };\n DelayWhenSubscriber.prototype.removeSubscription = function (subscription) {\n subscription.unsubscribe();\n var subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n if (subscriptionIdx !== -1) {\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n }\n return subscription.outerValue;\n };\n DelayWhenSubscriber.prototype.tryDelay = function (delayNotifier, value) {\n var notifierSubscription = subscribeToResult(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n var destination = this.destination;\n destination.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n };\n DelayWhenSubscriber.prototype.tryComplete = function () {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n };\n return DelayWhenSubscriber;\n}(OuterSubscriber));\nvar SubscriptionDelayObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscriptionDelayObservable, _super);\n function SubscriptionDelayObservable(source, subscriptionDelay) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subscriptionDelay = subscriptionDelay;\n return _this;\n }\n SubscriptionDelayObservable.prototype._subscribe = function (subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n };\n return SubscriptionDelayObservable;\n}(Observable));\nvar SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscriptionDelaySubscriber, _super);\n function SubscriptionDelaySubscriber(parent, source) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.source = source;\n _this.sourceSubscribed = false;\n return _this;\n }\n SubscriptionDelaySubscriber.prototype._next = function (unused) {\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype._error = function (err) {\n this.unsubscribe();\n this.parent.error(err);\n };\n SubscriptionDelaySubscriber.prototype._complete = function () {\n this.unsubscribe();\n this.subscribeToSource();\n };\n SubscriptionDelaySubscriber.prototype.subscribeToSource = function () {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n };\n return SubscriptionDelaySubscriber;\n}(Subscriber));\n//# sourceMappingURL=delayWhen.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function dematerialize() {\n return function dematerializeOperatorFunction(source) {\n return source.lift(new DeMaterializeOperator());\n };\n}\nvar DeMaterializeOperator = /*@__PURE__*/ (function () {\n function DeMaterializeOperator() {\n }\n DeMaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DeMaterializeSubscriber(subscriber));\n };\n return DeMaterializeOperator;\n}());\nvar DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DeMaterializeSubscriber, _super);\n function DeMaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n DeMaterializeSubscriber.prototype._next = function (value) {\n value.observe(this.destination);\n };\n return DeMaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=dematerialize.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return function (source) { return source.lift(new DistinctOperator(keySelector, flushes)); };\n}\nvar DistinctOperator = /*@__PURE__*/ (function () {\n function DistinctOperator(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n DistinctOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n };\n return DistinctOperator;\n}());\nvar DistinctSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DistinctSubscriber, _super);\n function DistinctSubscriber(destination, keySelector, flushes) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.values = new Set();\n if (flushes) {\n _this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(_this)));\n }\n return _this;\n }\n DistinctSubscriber.prototype.notifyNext = function () {\n this.values.clear();\n };\n DistinctSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n DistinctSubscriber.prototype._next = function (value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n };\n DistinctSubscriber.prototype._useKeySelector = function (value) {\n var key;\n var destination = this.destination;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n };\n DistinctSubscriber.prototype._finalizeNext = function (key, value) {\n var values = this.values;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n };\n return DistinctSubscriber;\n}(SimpleOuterSubscriber));\nexport { DistinctSubscriber };\n//# sourceMappingURL=distinct.js.map\n","/** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */\nimport { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged(function (x, y) { return compare ? compare(x[key], y[key]) : x[key] === y[key]; });\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map\n","/** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { filter } from './filter';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { take } from './take';\nexport function elementAt(index, defaultValue) {\n if (index < 0) {\n throw new ArgumentOutOfRangeError();\n }\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(filter(function (v, i) { return i === index; }), take(1), hasDefaultValue\n ? defaultIfEmpty(defaultValue)\n : throwIfEmpty(function () { return new ArgumentOutOfRangeError(); }));\n };\n}\n//# sourceMappingURL=elementAt.js.map\n","/** PURE_IMPORTS_START _observable_concat,_observable_of PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n return function (source) { return concat(source, of.apply(void 0, array)); };\n}\n//# sourceMappingURL=endWith.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function every(predicate, thisArg) {\n return function (source) { return source.lift(new EveryOperator(predicate, thisArg, source)); };\n}\nvar EveryOperator = /*@__PURE__*/ (function () {\n function EveryOperator(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n EveryOperator.prototype.call = function (observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n };\n return EveryOperator;\n}());\nvar EverySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(EverySubscriber, _super);\n function EverySubscriber(destination, predicate, thisArg, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.thisArg = thisArg;\n _this.source = source;\n _this.index = 0;\n _this.thisArg = thisArg || _this;\n return _this;\n }\n EverySubscriber.prototype.notifyComplete = function (everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n };\n EverySubscriber.prototype._next = function (value) {\n var result = false;\n try {\n result = this.predicate.call(this.thisArg, value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (!result) {\n this.notifyComplete(false);\n }\n };\n EverySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return EverySubscriber;\n}(Subscriber));\n//# sourceMappingURL=every.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function exhaust() {\n return function (source) { return source.lift(new SwitchFirstOperator()); };\n}\nvar SwitchFirstOperator = /*@__PURE__*/ (function () {\n function SwitchFirstOperator() {\n }\n SwitchFirstOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchFirstSubscriber(subscriber));\n };\n return SwitchFirstOperator;\n}());\nvar SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchFirstSubscriber, _super);\n function SwitchFirstSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasCompleted = false;\n _this.hasSubscription = false;\n return _this;\n }\n SwitchFirstSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.hasSubscription = true;\n this.add(innerSubscribe(value, new SimpleInnerSubscriber(this)));\n }\n };\n SwitchFirstSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n };\n SwitchFirstSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return SwitchFirstSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=exhaust.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return function (source) { return source.pipe(exhaustMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) {\n return source.lift(new ExhaustMapOperator(project));\n };\n}\nvar ExhaustMapOperator = /*@__PURE__*/ (function () {\n function ExhaustMapOperator(project) {\n this.project = project;\n }\n ExhaustMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExhaustMapSubscriber(subscriber, this.project));\n };\n return ExhaustMapOperator;\n}());\nvar ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ExhaustMapSubscriber, _super);\n function ExhaustMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.hasSubscription = false;\n _this.hasCompleted = false;\n _this.index = 0;\n return _this;\n }\n ExhaustMapSubscriber.prototype._next = function (value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n };\n ExhaustMapSubscriber.prototype.tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.hasSubscription = true;\n this._innerSub(result);\n };\n ExhaustMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n ExhaustMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExhaustMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n ExhaustMapSubscriber.prototype.notifyError = function (err) {\n this.destination.error(err);\n };\n ExhaustMapSubscriber.prototype.notifyComplete = function () {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n };\n return ExhaustMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=exhaustMap.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function expand(project, concurrent, scheduler) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return function (source) { return source.lift(new ExpandOperator(project, concurrent, scheduler)); };\n}\nvar ExpandOperator = /*@__PURE__*/ (function () {\n function ExpandOperator(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n ExpandOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n };\n return ExpandOperator;\n}());\nexport { ExpandOperator };\nvar ExpandSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ExpandSubscriber, _super);\n function ExpandSubscriber(destination, project, concurrent, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.concurrent = concurrent;\n _this.scheduler = scheduler;\n _this.index = 0;\n _this.active = 0;\n _this.hasCompleted = false;\n if (concurrent < Number.POSITIVE_INFINITY) {\n _this.buffer = [];\n }\n return _this;\n }\n ExpandSubscriber.dispatch = function (arg) {\n var subscriber = arg.subscriber, result = arg.result, value = arg.value, index = arg.index;\n subscriber.subscribeToProjection(result, value, index);\n };\n ExpandSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n var index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n try {\n var project = this.project;\n var result = project(value, index);\n if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n var state = { subscriber: this, result: result, value: value, index: index };\n var destination_1 = this.destination;\n destination_1.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n catch (e) {\n destination.error(e);\n }\n }\n else {\n this.buffer.push(value);\n }\n };\n ExpandSubscriber.prototype.subscribeToProjection = function (result, value, index) {\n this.active++;\n var destination = this.destination;\n destination.add(innerSubscribe(result, new SimpleInnerSubscriber(this)));\n };\n ExpandSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n };\n ExpandSubscriber.prototype.notifyNext = function (innerValue) {\n this._next(innerValue);\n };\n ExpandSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer && buffer.length > 0) {\n this._next(buffer.shift());\n }\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n };\n return ExpandSubscriber;\n}(SimpleOuterSubscriber));\nexport { ExpandSubscriber };\n//# sourceMappingURL=expand.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nvar FinallyOperator = /*@__PURE__*/ (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber));\n//# sourceMappingURL=finalize.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return function (source) { return source.lift(new FindValueOperator(predicate, source, false, thisArg)); };\n}\nvar FindValueOperator = /*@__PURE__*/ (function () {\n function FindValueOperator(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n FindValueOperator.prototype.call = function (observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n };\n return FindValueOperator;\n}());\nexport { FindValueOperator };\nvar FindValueSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(FindValueSubscriber, _super);\n function FindValueSubscriber(destination, predicate, source, yieldIndex, thisArg) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.yieldIndex = yieldIndex;\n _this.thisArg = thisArg;\n _this.index = 0;\n return _this;\n }\n FindValueSubscriber.prototype.notifyComplete = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n this.unsubscribe();\n };\n FindValueSubscriber.prototype._next = function (value) {\n var _a = this, predicate = _a.predicate, thisArg = _a.thisArg;\n var index = this.index++;\n try {\n var result = predicate.call(thisArg || this, value, index, this.source);\n if (result) {\n this.notifyComplete(this.yieldIndex ? index : value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n FindValueSubscriber.prototype._complete = function () {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n };\n return FindValueSubscriber;\n}(Subscriber));\nexport { FindValueSubscriber };\n//# sourceMappingURL=find.js.map\n","/** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */\nimport { FindValueOperator } from '../operators/find';\nexport function findIndex(predicate, thisArg) {\n return function (source) { return source.lift(new FindValueOperator(predicate, source, true, thisArg)); };\n}\n//# sourceMappingURL=findIndex.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nvar IgnoreElementsOperator = /*@__PURE__*/ (function () {\n function IgnoreElementsOperator() {\n }\n IgnoreElementsOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n };\n return IgnoreElementsOperator;\n}());\nvar IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(IgnoreElementsSubscriber, _super);\n function IgnoreElementsSubscriber() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IgnoreElementsSubscriber.prototype._next = function (unused) {\n };\n return IgnoreElementsSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ignoreElements.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function isEmpty() {\n return function (source) { return source.lift(new IsEmptyOperator()); };\n}\nvar IsEmptyOperator = /*@__PURE__*/ (function () {\n function IsEmptyOperator() {\n }\n IsEmptyOperator.prototype.call = function (observer, source) {\n return source.subscribe(new IsEmptySubscriber(observer));\n };\n return IsEmptyOperator;\n}());\nvar IsEmptySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(IsEmptySubscriber, _super);\n function IsEmptySubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n IsEmptySubscriber.prototype.notifyComplete = function (isEmpty) {\n var destination = this.destination;\n destination.next(isEmpty);\n destination.complete();\n };\n IsEmptySubscriber.prototype._next = function (value) {\n this.notifyComplete(false);\n };\n IsEmptySubscriber.prototype._complete = function () {\n this.notifyComplete(true);\n };\n return IsEmptySubscriber;\n}(Subscriber));\n//# sourceMappingURL=isEmpty.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nvar TakeLastOperator = /*@__PURE__*/ (function () {\n function TakeLastOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeLastOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n };\n return TakeLastOperator;\n}());\nvar TakeLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeLastSubscriber, _super);\n function TakeLastSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.ring = new Array();\n _this.count = 0;\n return _this;\n }\n TakeLastSubscriber.prototype._next = function (value) {\n var ring = this.ring;\n var total = this.total;\n var count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n var index = count % total;\n ring[index] = value;\n }\n };\n TakeLastSubscriber.prototype._complete = function () {\n var destination = this.destination;\n var count = this.count;\n if (count > 0) {\n var total = this.count >= this.total ? this.total : this.count;\n var ring = this.ring;\n for (var i = 0; i < total; i++) {\n var idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n };\n return TakeLastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeLast.js.map\n","/** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */\nimport { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); })); };\n}\n//# sourceMappingURL=last.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return function (source) { return source.lift(new MapToOperator(value)); };\n}\nvar MapToOperator = /*@__PURE__*/ (function () {\n function MapToOperator(value) {\n this.value = value;\n }\n MapToOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n };\n return MapToOperator;\n}());\nvar MapToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MapToSubscriber, _super);\n function MapToSubscriber(destination, value) {\n var _this = _super.call(this, destination) || this;\n _this.value = value;\n return _this;\n }\n MapToSubscriber.prototype._next = function (x) {\n this.destination.next(this.value);\n };\n return MapToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=mapTo.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nvar MaterializeOperator = /*@__PURE__*/ (function () {\n function MaterializeOperator() {\n }\n MaterializeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n };\n return MaterializeOperator;\n}());\nvar MaterializeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MaterializeSubscriber, _super);\n function MaterializeSubscriber(destination) {\n return _super.call(this, destination) || this;\n }\n MaterializeSubscriber.prototype._next = function (value) {\n this.destination.next(Notification.createNext(value));\n };\n MaterializeSubscriber.prototype._error = function (err) {\n var destination = this.destination;\n destination.next(Notification.createError(err));\n destination.complete();\n };\n MaterializeSubscriber.prototype._complete = function () {\n var destination = this.destination;\n destination.next(Notification.createComplete());\n destination.complete();\n };\n return MaterializeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=materialize.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n var hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nvar ScanOperator = /*@__PURE__*/ (function () {\n function ScanOperator(accumulator, seed, hasSeed) {\n if (hasSeed === void 0) {\n hasSeed = false;\n }\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n ScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n };\n return ScanOperator;\n}());\nvar ScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ScanSubscriber, _super);\n function ScanSubscriber(destination, accumulator, _seed, hasSeed) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this._seed = _seed;\n _this.hasSeed = hasSeed;\n _this.index = 0;\n return _this;\n }\n Object.defineProperty(ScanSubscriber.prototype, \"seed\", {\n get: function () {\n return this._seed;\n },\n set: function (value) {\n this.hasSeed = true;\n this._seed = value;\n },\n enumerable: true,\n configurable: true\n });\n ScanSubscriber.prototype._next = function (value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n };\n ScanSubscriber.prototype._tryNext = function (value) {\n var index = this.index++;\n var result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n };\n return ScanSubscriber;\n}(Subscriber));\n//# sourceMappingURL=scan.js.map\n","/** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */\nimport { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan(function (acc, value, index) { return accumulator(acc, value, index + 1); }), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nexport function max(comparer) {\n var max = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) > 0 ? x : y; }\n : function (x, y) { return x > y ? x : y; };\n return reduce(max);\n}\n//# sourceMappingURL=max.js.map\n","/** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */\nimport { merge as mergeStatic } from '../observable/merge';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function (source) { return source.lift.call(mergeStatic.apply(void 0, [source].concat(observables))); };\n}\n//# sourceMappingURL=merge.js.map\n","/** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nexport function mergeMapTo(innerObservable, resultSelector, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n if (typeof resultSelector === 'function') {\n return mergeMap(function () { return innerObservable; }, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return mergeMap(function () { return innerObservable; }, concurrent);\n}\n//# sourceMappingURL=mergeMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeScan(accumulator, seed, concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return function (source) { return source.lift(new MergeScanOperator(accumulator, seed, concurrent)); };\n}\nvar MergeScanOperator = /*@__PURE__*/ (function () {\n function MergeScanOperator(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n MergeScanOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n };\n return MergeScanOperator;\n}());\nexport { MergeScanOperator };\nvar MergeScanSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(MergeScanSubscriber, _super);\n function MergeScanSubscriber(destination, accumulator, acc, concurrent) {\n var _this = _super.call(this, destination) || this;\n _this.accumulator = accumulator;\n _this.acc = acc;\n _this.concurrent = concurrent;\n _this.hasValue = false;\n _this.hasCompleted = false;\n _this.buffer = [];\n _this.active = 0;\n _this.index = 0;\n return _this;\n }\n MergeScanSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n var index = this.index++;\n var destination = this.destination;\n var ish = void 0;\n try {\n var accumulator = this.accumulator;\n ish = accumulator(this.acc, value, index);\n }\n catch (e) {\n return destination.error(e);\n }\n this.active++;\n this._innerSub(ish);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeScanSubscriber.prototype._innerSub = function (ish) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n };\n MergeScanSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n this.unsubscribe();\n };\n MergeScanSubscriber.prototype.notifyNext = function (innerValue) {\n var destination = this.destination;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n };\n MergeScanSubscriber.prototype.notifyComplete = function () {\n var buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n if (this.hasValue === false) {\n this.destination.next(this.acc);\n }\n this.destination.complete();\n }\n };\n return MergeScanSubscriber;\n}(SimpleOuterSubscriber));\nexport { MergeScanSubscriber };\n//# sourceMappingURL=mergeScan.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nexport function min(comparer) {\n var min = (typeof comparer === 'function')\n ? function (x, y) { return comparer(x, y) < 0 ? x : y; }\n : function (x, y) { return x < y ? x : y; };\n return reduce(min);\n}\n//# sourceMappingURL=min.js.map\n","/** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */\nimport { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nvar MulticastOperator = /*@__PURE__*/ (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\nexport { MulticastOperator };\n//# sourceMappingURL=multicast.js.map\n","/** PURE_IMPORTS_START tslib,_observable_from,_util_isArray,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { from } from '../observable/from';\nimport { isArray } from '../util/isArray';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function onErrorResumeNext() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n if (nextSources.length === 1 && isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n return function (source) { return source.lift(new OnErrorResumeNextOperator(nextSources)); };\n}\nexport function onErrorResumeNextStatic() {\n var nextSources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nextSources[_i] = arguments[_i];\n }\n var source = undefined;\n if (nextSources.length === 1 && isArray(nextSources[0])) {\n nextSources = nextSources[0];\n }\n source = nextSources.shift();\n return from(source).lift(new OnErrorResumeNextOperator(nextSources));\n}\nvar OnErrorResumeNextOperator = /*@__PURE__*/ (function () {\n function OnErrorResumeNextOperator(nextSources) {\n this.nextSources = nextSources;\n }\n OnErrorResumeNextOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new OnErrorResumeNextSubscriber(subscriber, this.nextSources));\n };\n return OnErrorResumeNextOperator;\n}());\nvar OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(OnErrorResumeNextSubscriber, _super);\n function OnErrorResumeNextSubscriber(destination, nextSources) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.nextSources = nextSources;\n return _this;\n }\n OnErrorResumeNextSubscriber.prototype.notifyError = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype.notifyComplete = function () {\n this.subscribeToNextSource();\n };\n OnErrorResumeNextSubscriber.prototype._error = function (err) {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype._complete = function () {\n this.subscribeToNextSource();\n this.unsubscribe();\n };\n OnErrorResumeNextSubscriber.prototype.subscribeToNextSource = function () {\n var next = this.nextSources.shift();\n if (!!next) {\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n var innerSubscription = innerSubscribe(next, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n else {\n this.destination.complete();\n }\n };\n return OnErrorResumeNextSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=onErrorResumeNext.js.map\n","/** PURE_IMPORTS_START _util_not,_filter PURE_IMPORTS_END */\nimport { not } from '../util/not';\nimport { filter } from './filter';\nexport function partition(predicate, thisArg) {\n return function (source) {\n return [\n filter(predicate, thisArg)(source),\n filter(not(predicate, thisArg))(source)\n ];\n };\n}\n//# sourceMappingURL=partition.js.map\n","/** PURE_IMPORTS_START _map PURE_IMPORTS_END */\nimport { map } from './map';\nexport function pluck() {\n var properties = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n properties[_i] = arguments[_i];\n }\n var length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return function (source) { return map(plucker(properties, length))(source); };\n}\nfunction plucker(props, length) {\n var mapper = function (x) {\n var currentProp = x;\n for (var i = 0; i < length; i++) {\n var p = currentProp != null ? currentProp[props[i]] : undefined;\n if (p !== void 0) {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n };\n return mapper;\n}\n//# sourceMappingURL=pluck.js.map\n","/** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */\nimport { Subject } from '../Subject';\nimport { multicast } from './multicast';\nexport function publish(selector) {\n return selector ?\n multicast(function () { return new Subject(); }, selector) :\n multicast(new Subject());\n}\n//# sourceMappingURL=publish.js.map\n","/** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */\nimport { BehaviorSubject } from '../BehaviorSubject';\nimport { multicast } from './multicast';\nexport function publishBehavior(value) {\n return function (source) { return multicast(new BehaviorSubject(value))(source); };\n}\n//# sourceMappingURL=publishBehavior.js.map\n","/** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */\nimport { AsyncSubject } from '../AsyncSubject';\nimport { multicast } from './multicast';\nexport function publishLast() {\n return function (source) { return multicast(new AsyncSubject())(source); };\n}\n//# sourceMappingURL=publishLast.js.map\n","/** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */\nimport { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n var selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n var subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return function (source) { return multicast(function () { return subject; }, selector)(source); };\n}\n//# sourceMappingURL=publishReplay.js.map\n","/** PURE_IMPORTS_START _util_isArray,_observable_race PURE_IMPORTS_END */\nimport { isArray } from '../util/isArray';\nimport { race as raceStatic } from '../observable/race';\nexport function race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function raceOperatorFunction(source) {\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(raceStatic.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=race.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nvar RepeatOperator = /*@__PURE__*/ (function () {\n function RepeatOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RepeatOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n };\n return RepeatOperator;\n}());\nvar RepeatSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RepeatSubscriber, _super);\n function RepeatSubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RepeatSubscriber.prototype.complete = function () {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.complete.call(this);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RepeatSubscriber;\n}(Subscriber));\n//# sourceMappingURL=repeat.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function repeatWhen(notifier) {\n return function (source) { return source.lift(new RepeatWhenOperator(notifier)); };\n}\nvar RepeatWhenOperator = /*@__PURE__*/ (function () {\n function RepeatWhenOperator(notifier) {\n this.notifier = notifier;\n }\n RepeatWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n };\n return RepeatWhenOperator;\n}());\nvar RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RepeatWhenSubscriber, _super);\n function RepeatWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n _this.sourceIsBeingSubscribedTo = true;\n return _this;\n }\n RepeatWhenSubscriber.prototype.notifyNext = function () {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n };\n RepeatWhenSubscriber.prototype.notifyComplete = function () {\n if (this.sourceIsBeingSubscribedTo === false) {\n return _super.prototype.complete.call(this);\n }\n };\n RepeatWhenSubscriber.prototype.complete = function () {\n this.sourceIsBeingSubscribedTo = false;\n if (!this.isStopped) {\n if (!this.retries) {\n this.subscribeToRetries();\n }\n if (!this.retriesSubscription || this.retriesSubscription.closed) {\n return _super.prototype.complete.call(this);\n }\n this._unsubscribeAndRecycle();\n this.notifications.next(undefined);\n }\n };\n RepeatWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, notifications = _a.notifications, retriesSubscription = _a.retriesSubscription;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RepeatWhenSubscriber.prototype._unsubscribeAndRecycle = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n _super.prototype._unsubscribeAndRecycle.call(this);\n this._unsubscribe = _unsubscribe;\n return this;\n };\n RepeatWhenSubscriber.prototype.subscribeToRetries = function () {\n this.notifications = new Subject();\n var retries;\n try {\n var notifier = this.notifier;\n retries = notifier(this.notifications);\n }\n catch (e) {\n return _super.prototype.complete.call(this);\n }\n this.retries = retries;\n this.retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n };\n return RepeatWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=repeatWhen.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function retry(count) {\n if (count === void 0) {\n count = -1;\n }\n return function (source) { return source.lift(new RetryOperator(count, source)); };\n}\nvar RetryOperator = /*@__PURE__*/ (function () {\n function RetryOperator(count, source) {\n this.count = count;\n this.source = source;\n }\n RetryOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetrySubscriber(subscriber, this.count, this.source));\n };\n return RetryOperator;\n}());\nvar RetrySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RetrySubscriber, _super);\n function RetrySubscriber(destination, count, source) {\n var _this = _super.call(this, destination) || this;\n _this.count = count;\n _this.source = source;\n return _this;\n }\n RetrySubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _a = this, source = _a.source, count = _a.count;\n if (count === 0) {\n return _super.prototype.error.call(this, err);\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n };\n return RetrySubscriber;\n}(Subscriber));\n//# sourceMappingURL=retry.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nvar RetryWhenOperator = /*@__PURE__*/ (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\nvar RetryWhenSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n var _this = _super.call(this, destination) || this;\n _this.notifier = notifier;\n _this.source = source;\n return _this;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject();\n try {\n var notifier = this.notifier;\n retries = notifier(errors);\n }\n catch (e) {\n return _super.prototype.error.call(this, e);\n }\n retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n }\n else {\n this.errors = undefined;\n this.retriesSubscription = undefined;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n };\n RetryWhenSubscriber.prototype.notifyNext = function () {\n var _unsubscribe = this._unsubscribe;\n this._unsubscribe = null;\n this._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function sample(notifier) {\n return function (source) { return source.lift(new SampleOperator(notifier)); };\n}\nvar SampleOperator = /*@__PURE__*/ (function () {\n function SampleOperator(notifier) {\n this.notifier = notifier;\n }\n SampleOperator.prototype.call = function (subscriber, source) {\n var sampleSubscriber = new SampleSubscriber(subscriber);\n var subscription = source.subscribe(sampleSubscriber);\n subscription.add(innerSubscribe(this.notifier, new SimpleInnerSubscriber(sampleSubscriber)));\n return subscription;\n };\n return SampleOperator;\n}());\nvar SampleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SampleSubscriber, _super);\n function SampleSubscriber() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hasValue = false;\n return _this;\n }\n SampleSubscriber.prototype._next = function (value) {\n this.value = value;\n this.hasValue = true;\n };\n SampleSubscriber.prototype.notifyNext = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.notifyComplete = function () {\n this.emitValue();\n };\n SampleSubscriber.prototype.emitValue = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n };\n return SampleSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=sample.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new SampleTimeOperator(period, scheduler)); };\n}\nvar SampleTimeOperator = /*@__PURE__*/ (function () {\n function SampleTimeOperator(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n SampleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n };\n return SampleTimeOperator;\n}());\nvar SampleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SampleTimeSubscriber, _super);\n function SampleTimeSubscriber(destination, period, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.period = period;\n _this.scheduler = scheduler;\n _this.hasValue = false;\n _this.add(scheduler.schedule(dispatchNotification, period, { subscriber: _this, period: period }));\n return _this;\n }\n SampleTimeSubscriber.prototype._next = function (value) {\n this.lastValue = value;\n this.hasValue = true;\n };\n SampleTimeSubscriber.prototype.notifyNext = function () {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n };\n return SampleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNotification(state) {\n var subscriber = state.subscriber, period = state.period;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function sequenceEqual(compareTo, comparator) {\n return function (source) { return source.lift(new SequenceEqualOperator(compareTo, comparator)); };\n}\nvar SequenceEqualOperator = /*@__PURE__*/ (function () {\n function SequenceEqualOperator(compareTo, comparator) {\n this.compareTo = compareTo;\n this.comparator = comparator;\n }\n SequenceEqualOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparator));\n };\n return SequenceEqualOperator;\n}());\nexport { SequenceEqualOperator };\nvar SequenceEqualSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SequenceEqualSubscriber, _super);\n function SequenceEqualSubscriber(destination, compareTo, comparator) {\n var _this = _super.call(this, destination) || this;\n _this.compareTo = compareTo;\n _this.comparator = comparator;\n _this._a = [];\n _this._b = [];\n _this._oneComplete = false;\n _this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, _this)));\n return _this;\n }\n SequenceEqualSubscriber.prototype._next = function (value) {\n if (this._oneComplete && this._b.length === 0) {\n this.emit(false);\n }\n else {\n this._a.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype._complete = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n this.unsubscribe();\n };\n SequenceEqualSubscriber.prototype.checkValues = function () {\n var _c = this, _a = _c._a, _b = _c._b, comparator = _c.comparator;\n while (_a.length > 0 && _b.length > 0) {\n var a = _a.shift();\n var b = _b.shift();\n var areEqual = false;\n try {\n areEqual = comparator ? comparator(a, b) : a === b;\n }\n catch (e) {\n this.destination.error(e);\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n };\n SequenceEqualSubscriber.prototype.emit = function (value) {\n var destination = this.destination;\n destination.next(value);\n destination.complete();\n };\n SequenceEqualSubscriber.prototype.nextB = function (value) {\n if (this._oneComplete && this._a.length === 0) {\n this.emit(false);\n }\n else {\n this._b.push(value);\n this.checkValues();\n }\n };\n SequenceEqualSubscriber.prototype.completeB = function () {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n };\n return SequenceEqualSubscriber;\n}(Subscriber));\nexport { SequenceEqualSubscriber };\nvar SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SequenceEqualCompareToSubscriber, _super);\n function SequenceEqualCompareToSubscriber(destination, parent) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n return _this;\n }\n SequenceEqualCompareToSubscriber.prototype._next = function (value) {\n this.parent.nextB(value);\n };\n SequenceEqualCompareToSubscriber.prototype._error = function (err) {\n this.parent.error(err);\n this.unsubscribe();\n };\n SequenceEqualCompareToSubscriber.prototype._complete = function () {\n this.parent.completeB();\n this.unsubscribe();\n };\n return SequenceEqualCompareToSubscriber;\n}(Subscriber));\n//# sourceMappingURL=sequenceEqual.js.map\n","/** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */\nimport { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return function (source) { return refCount()(multicast(shareSubjectFactory)(source)); };\n}\n//# sourceMappingURL=share.js.map\n","/** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */\nimport { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime: windowTime,\n refCount: false,\n scheduler: scheduler\n };\n }\n return function (source) { return source.lift(shareReplayOperator(config)); };\n}\nfunction shareReplayOperator(_a) {\n var _b = _a.bufferSize, bufferSize = _b === void 0 ? Number.POSITIVE_INFINITY : _b, _c = _a.windowTime, windowTime = _c === void 0 ? Number.POSITIVE_INFINITY : _c, useRefCount = _a.refCount, scheduler = _a.scheduler;\n var subject;\n var refCount = 0;\n var subscription;\n var hasError = false;\n var isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n var innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next: function (value) { subject.next(value); },\n error: function (err) {\n hasError = true;\n subject.error(err);\n },\n complete: function () {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(function () {\n refCount--;\n innerSub.unsubscribe();\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_EmptyError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\nexport function single(predicate) {\n return function (source) { return source.lift(new SingleOperator(predicate, source)); };\n}\nvar SingleOperator = /*@__PURE__*/ (function () {\n function SingleOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n SingleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n };\n return SingleOperator;\n}());\nvar SingleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SingleSubscriber, _super);\n function SingleSubscriber(destination, predicate, source) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.source = source;\n _this.seenValue = false;\n _this.index = 0;\n return _this;\n }\n SingleSubscriber.prototype.applySingleValue = function (value) {\n if (this.seenValue) {\n this.destination.error('Sequence contains more than one element');\n }\n else {\n this.seenValue = true;\n this.singleValue = value;\n }\n };\n SingleSubscriber.prototype._next = function (value) {\n var index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n };\n SingleSubscriber.prototype.tryNext = function (value, index) {\n try {\n if (this.predicate(value, index, this.source)) {\n this.applySingleValue(value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n SingleSubscriber.prototype._complete = function () {\n var destination = this.destination;\n if (this.index > 0) {\n destination.next(this.seenValue ? this.singleValue : undefined);\n destination.complete();\n }\n else {\n destination.error(new EmptyError);\n }\n };\n return SingleSubscriber;\n}(Subscriber));\n//# sourceMappingURL=single.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return function (source) { return source.lift(new SkipOperator(count)); };\n}\nvar SkipOperator = /*@__PURE__*/ (function () {\n function SkipOperator(total) {\n this.total = total;\n }\n SkipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n };\n return SkipOperator;\n}());\nvar SkipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipSubscriber, _super);\n function SkipSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n SkipSubscriber.prototype._next = function (x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n };\n return SkipSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skip.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nexport function skipLast(count) {\n return function (source) { return source.lift(new SkipLastOperator(count)); };\n}\nvar SkipLastOperator = /*@__PURE__*/ (function () {\n function SkipLastOperator(_skipCount) {\n this._skipCount = _skipCount;\n if (this._skipCount < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n SkipLastOperator.prototype.call = function (subscriber, source) {\n if (this._skipCount === 0) {\n return source.subscribe(new Subscriber(subscriber));\n }\n else {\n return source.subscribe(new SkipLastSubscriber(subscriber, this._skipCount));\n }\n };\n return SkipLastOperator;\n}());\nvar SkipLastSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipLastSubscriber, _super);\n function SkipLastSubscriber(destination, _skipCount) {\n var _this = _super.call(this, destination) || this;\n _this._skipCount = _skipCount;\n _this._count = 0;\n _this._ring = new Array(_skipCount);\n return _this;\n }\n SkipLastSubscriber.prototype._next = function (value) {\n var skipCount = this._skipCount;\n var count = this._count++;\n if (count < skipCount) {\n this._ring[count] = value;\n }\n else {\n var currentIndex = count % skipCount;\n var ring = this._ring;\n var oldValue = ring[currentIndex];\n ring[currentIndex] = value;\n this.destination.next(oldValue);\n }\n };\n return SkipLastSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skipLast.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function skipUntil(notifier) {\n return function (source) { return source.lift(new SkipUntilOperator(notifier)); };\n}\nvar SkipUntilOperator = /*@__PURE__*/ (function () {\n function SkipUntilOperator(notifier) {\n this.notifier = notifier;\n }\n SkipUntilOperator.prototype.call = function (destination, source) {\n return source.subscribe(new SkipUntilSubscriber(destination, this.notifier));\n };\n return SkipUntilOperator;\n}());\nvar SkipUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipUntilSubscriber, _super);\n function SkipUntilSubscriber(destination, notifier) {\n var _this = _super.call(this, destination) || this;\n _this.hasValue = false;\n var innerSubscriber = new SimpleInnerSubscriber(_this);\n _this.add(innerSubscriber);\n _this.innerSubscription = innerSubscriber;\n var innerSubscription = innerSubscribe(notifier, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n _this.add(innerSubscription);\n _this.innerSubscription = innerSubscription;\n }\n return _this;\n }\n SkipUntilSubscriber.prototype._next = function (value) {\n if (this.hasValue) {\n _super.prototype._next.call(this, value);\n }\n };\n SkipUntilSubscriber.prototype.notifyNext = function () {\n this.hasValue = true;\n if (this.innerSubscription) {\n this.innerSubscription.unsubscribe();\n }\n };\n SkipUntilSubscriber.prototype.notifyComplete = function () {\n };\n return SkipUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=skipUntil.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function skipWhile(predicate) {\n return function (source) { return source.lift(new SkipWhileOperator(predicate)); };\n}\nvar SkipWhileOperator = /*@__PURE__*/ (function () {\n function SkipWhileOperator(predicate) {\n this.predicate = predicate;\n }\n SkipWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n };\n return SkipWhileOperator;\n}());\nvar SkipWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SkipWhileSubscriber, _super);\n function SkipWhileSubscriber(destination, predicate) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.skipping = true;\n _this.index = 0;\n return _this;\n }\n SkipWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n };\n SkipWhileSubscriber.prototype.tryCallPredicate = function (value) {\n try {\n var result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n };\n return SkipWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=skipWhile.js.map\n","/** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */\nimport { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith() {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return function (source) { return concat(array, source, scheduler); };\n }\n else {\n return function (source) { return concat(array, source); };\n }\n}\n//# sourceMappingURL=startWith.js.map\n","/** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\nvar SubscribeOnObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubscribeOnObservable, _super);\n function SubscribeOnObservable(source, delayTime, scheduler) {\n if (delayTime === void 0) {\n delayTime = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.delayTime = delayTime;\n _this.scheduler = scheduler;\n if (!isNumeric(delayTime) || delayTime < 0) {\n _this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n _this.scheduler = asap;\n }\n return _this;\n }\n SubscribeOnObservable.create = function (source, delay, scheduler) {\n if (delay === void 0) {\n delay = 0;\n }\n if (scheduler === void 0) {\n scheduler = asap;\n }\n return new SubscribeOnObservable(source, delay, scheduler);\n };\n SubscribeOnObservable.dispatch = function (arg) {\n var source = arg.source, subscriber = arg.subscriber;\n return this.add(source.subscribe(subscriber));\n };\n SubscribeOnObservable.prototype._subscribe = function (subscriber) {\n var delay = this.delayTime;\n var source = this.source;\n var scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source: source, subscriber: subscriber\n });\n };\n return SubscribeOnObservable;\n}(Observable));\nexport { SubscribeOnObservable };\n//# sourceMappingURL=SubscribeOnObservable.js.map\n","/** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */\nimport { SubscribeOnObservable } from '../observable/SubscribeOnObservable';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function subscribeOnOperatorFunction(source) {\n return source.lift(new SubscribeOnOperator(scheduler, delay));\n };\n}\nvar SubscribeOnOperator = /*@__PURE__*/ (function () {\n function SubscribeOnOperator(scheduler, delay) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n SubscribeOnOperator.prototype.call = function (subscriber, source) {\n return new SubscribeOnObservable(source, this.delay, this.scheduler).subscribe(subscriber);\n };\n return SubscribeOnOperator;\n}());\n//# sourceMappingURL=subscribeOn.js.map\n","/** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return function (source) { return source.pipe(switchMap(function (a, i) { return from(project(a, i)).pipe(map(function (b, ii) { return resultSelector(a, b, i, ii); })); })); };\n }\n return function (source) { return source.lift(new SwitchMapOperator(project)); };\n}\nvar SwitchMapOperator = /*@__PURE__*/ (function () {\n function SwitchMapOperator(project) {\n this.project = project;\n }\n SwitchMapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n };\n return SwitchMapOperator;\n}());\nvar SwitchMapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SwitchMapSubscriber, _super);\n function SwitchMapSubscriber(destination, project) {\n var _this = _super.call(this, destination) || this;\n _this.project = project;\n _this.index = 0;\n return _this;\n }\n SwitchMapSubscriber.prototype._next = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n };\n SwitchMapSubscriber.prototype._innerSub = function (result) {\n var innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n var innerSubscriber = new SimpleInnerSubscriber(this);\n var destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n };\n SwitchMapSubscriber.prototype._complete = function () {\n var innerSubscription = this.innerSubscription;\n if (!innerSubscription || innerSubscription.closed) {\n _super.prototype._complete.call(this);\n }\n this.unsubscribe();\n };\n SwitchMapSubscriber.prototype._unsubscribe = function () {\n this.innerSubscription = undefined;\n };\n SwitchMapSubscriber.prototype.notifyComplete = function () {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n _super.prototype._complete.call(this);\n }\n };\n SwitchMapSubscriber.prototype.notifyNext = function (innerValue) {\n this.destination.next(innerValue);\n };\n return SwitchMapSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=switchMap.js.map\n","/** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */\nimport { switchMap } from './switchMap';\nimport { identity } from '../util/identity';\nexport function switchAll() {\n return switchMap(identity);\n}\n//# sourceMappingURL=switchAll.js.map\n","/** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */\nimport { switchMap } from './switchMap';\nexport function switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap(function () { return innerObservable; }, resultSelector) : switchMap(function () { return innerObservable; });\n}\n//# sourceMappingURL=switchMapTo.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return function (source) { return source.lift(new TakeUntilOperator(notifier)); };\n}\nvar TakeUntilOperator = /*@__PURE__*/ (function () {\n function TakeUntilOperator(notifier) {\n this.notifier = notifier;\n }\n TakeUntilOperator.prototype.call = function (subscriber, source) {\n var takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n var notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n };\n return TakeUntilOperator;\n}());\nvar TakeUntilSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeUntilSubscriber, _super);\n function TakeUntilSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.seenValue = false;\n return _this;\n }\n TakeUntilSubscriber.prototype.notifyNext = function () {\n this.seenValue = true;\n this.complete();\n };\n TakeUntilSubscriber.prototype.notifyComplete = function () {\n };\n return TakeUntilSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=takeUntil.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive) {\n if (inclusive === void 0) {\n inclusive = false;\n }\n return function (source) {\n return source.lift(new TakeWhileOperator(predicate, inclusive));\n };\n}\nvar TakeWhileOperator = /*@__PURE__*/ (function () {\n function TakeWhileOperator(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n TakeWhileOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n };\n return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeWhileSubscriber, _super);\n function TakeWhileSubscriber(destination, predicate, inclusive) {\n var _this = _super.call(this, destination) || this;\n _this.predicate = predicate;\n _this.inclusive = inclusive;\n _this.index = 0;\n return _this;\n }\n TakeWhileSubscriber.prototype._next = function (value) {\n var destination = this.destination;\n var result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n };\n TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n var destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n };\n return TakeWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nvar DoOperator = /*@__PURE__*/ (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\nvar TapSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TapSubscriber, _super);\n function TapSubscriber(destination, observerOrNext, error, complete) {\n var _this = _super.call(this, destination) || this;\n _this._tapNext = noop;\n _this._tapError = noop;\n _this._tapComplete = noop;\n _this._tapError = error || noop;\n _this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n _this._context = _this;\n _this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n _this._context = observerOrNext;\n _this._tapNext = observerOrNext.next || noop;\n _this._tapError = observerOrNext.error || noop;\n _this._tapComplete = observerOrNext.complete || noop;\n }\n return _this;\n }\n TapSubscriber.prototype._next = function (value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n };\n TapSubscriber.prototype._error = function (err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n };\n TapSubscriber.prototype._complete = function () {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n };\n return TapSubscriber;\n}(Subscriber));\n//# sourceMappingURL=tap.js.map\n","/** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport var defaultThrottleConfig = {\n leading: true,\n trailing: false\n};\nexport function throttle(durationSelector, config) {\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleOperator(durationSelector, !!config.leading, !!config.trailing)); };\n}\nvar ThrottleOperator = /*@__PURE__*/ (function () {\n function ThrottleOperator(durationSelector, leading, trailing) {\n this.durationSelector = durationSelector;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleSubscriber(subscriber, this.durationSelector, this.leading, this.trailing));\n };\n return ThrottleOperator;\n}());\nvar ThrottleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleSubscriber, _super);\n function ThrottleSubscriber(destination, durationSelector, _leading, _trailing) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.durationSelector = durationSelector;\n _this._leading = _leading;\n _this._trailing = _trailing;\n _this._hasValue = false;\n return _this;\n }\n ThrottleSubscriber.prototype._next = function (value) {\n this._hasValue = true;\n this._sendValue = value;\n if (!this._throttled) {\n if (this._leading) {\n this.send();\n }\n else {\n this.throttle(value);\n }\n }\n };\n ThrottleSubscriber.prototype.send = function () {\n var _a = this, _hasValue = _a._hasValue, _sendValue = _a._sendValue;\n if (_hasValue) {\n this.destination.next(_sendValue);\n this.throttle(_sendValue);\n }\n this._hasValue = false;\n this._sendValue = undefined;\n };\n ThrottleSubscriber.prototype.throttle = function (value) {\n var duration = this.tryDurationSelector(value);\n if (!!duration) {\n this.add(this._throttled = innerSubscribe(duration, new SimpleInnerSubscriber(this)));\n }\n };\n ThrottleSubscriber.prototype.tryDurationSelector = function (value) {\n try {\n return this.durationSelector(value);\n }\n catch (err) {\n this.destination.error(err);\n return null;\n }\n };\n ThrottleSubscriber.prototype.throttlingDone = function () {\n var _a = this, _throttled = _a._throttled, _trailing = _a._trailing;\n if (_throttled) {\n _throttled.unsubscribe();\n }\n this._throttled = undefined;\n if (_trailing) {\n this.send();\n }\n };\n ThrottleSubscriber.prototype.notifyNext = function () {\n this.throttlingDone();\n };\n ThrottleSubscriber.prototype.notifyComplete = function () {\n this.throttlingDone();\n };\n return ThrottleSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=throttle.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nimport { defaultThrottleConfig } from './throttle';\nexport function throttleTime(duration, scheduler, config) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n if (config === void 0) {\n config = defaultThrottleConfig;\n }\n return function (source) { return source.lift(new ThrottleTimeOperator(duration, scheduler, config.leading, config.trailing)); };\n}\nvar ThrottleTimeOperator = /*@__PURE__*/ (function () {\n function ThrottleTimeOperator(duration, scheduler, leading, trailing) {\n this.duration = duration;\n this.scheduler = scheduler;\n this.leading = leading;\n this.trailing = trailing;\n }\n ThrottleTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ThrottleTimeSubscriber(subscriber, this.duration, this.scheduler, this.leading, this.trailing));\n };\n return ThrottleTimeOperator;\n}());\nvar ThrottleTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ThrottleTimeSubscriber, _super);\n function ThrottleTimeSubscriber(destination, duration, scheduler, leading, trailing) {\n var _this = _super.call(this, destination) || this;\n _this.duration = duration;\n _this.scheduler = scheduler;\n _this.leading = leading;\n _this.trailing = trailing;\n _this._hasTrailingValue = false;\n _this._trailingValue = null;\n return _this;\n }\n ThrottleTimeSubscriber.prototype._next = function (value) {\n if (this.throttled) {\n if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n else {\n this.add(this.throttled = this.scheduler.schedule(dispatchNext, this.duration, { subscriber: this }));\n if (this.leading) {\n this.destination.next(value);\n }\n else if (this.trailing) {\n this._trailingValue = value;\n this._hasTrailingValue = true;\n }\n }\n };\n ThrottleTimeSubscriber.prototype._complete = function () {\n if (this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this.destination.complete();\n }\n else {\n this.destination.complete();\n }\n };\n ThrottleTimeSubscriber.prototype.clearThrottle = function () {\n var throttled = this.throttled;\n if (throttled) {\n if (this.trailing && this._hasTrailingValue) {\n this.destination.next(this._trailingValue);\n this._trailingValue = null;\n this._hasTrailingValue = false;\n }\n throttled.unsubscribe();\n this.remove(throttled);\n this.throttled = null;\n }\n };\n return ThrottleTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(arg) {\n var subscriber = arg.subscriber;\n subscriber.clearThrottle();\n}\n//# sourceMappingURL=throttleTime.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { scan } from './scan';\nimport { defer } from '../observable/defer';\nimport { map } from './map';\nexport function timeInterval(scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) {\n return defer(function () {\n return source.pipe(scan(function (_a, value) {\n var current = _a.current;\n return ({ value: value, current: scheduler.now(), last: current });\n }, { current: scheduler.now(), value: undefined, last: undefined }), map(function (_a) {\n var current = _a.current, last = _a.last, value = _a.value;\n return new TimeInterval(value, current - last);\n }));\n });\n };\n}\nvar TimeInterval = /*@__PURE__*/ (function () {\n function TimeInterval(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n return TimeInterval;\n}());\nexport { TimeInterval };\n//# sourceMappingURL=timeInterval.js.map\n","/** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function timeoutWith(due, withObservable, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) {\n var absoluteTimeout = isDate(due);\n var waitFor = absoluteTimeout ? (+due - scheduler.now()) : Math.abs(due);\n return source.lift(new TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler));\n };\n}\nvar TimeoutWithOperator = /*@__PURE__*/ (function () {\n function TimeoutWithOperator(waitFor, absoluteTimeout, withObservable, scheduler) {\n this.waitFor = waitFor;\n this.absoluteTimeout = absoluteTimeout;\n this.withObservable = withObservable;\n this.scheduler = scheduler;\n }\n TimeoutWithOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TimeoutWithSubscriber(subscriber, this.absoluteTimeout, this.waitFor, this.withObservable, this.scheduler));\n };\n return TimeoutWithOperator;\n}());\nvar TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TimeoutWithSubscriber, _super);\n function TimeoutWithSubscriber(destination, absoluteTimeout, waitFor, withObservable, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.absoluteTimeout = absoluteTimeout;\n _this.waitFor = waitFor;\n _this.withObservable = withObservable;\n _this.scheduler = scheduler;\n _this.scheduleTimeout();\n return _this;\n }\n TimeoutWithSubscriber.dispatchTimeout = function (subscriber) {\n var withObservable = subscriber.withObservable;\n subscriber._unsubscribeAndRecycle();\n subscriber.add(innerSubscribe(withObservable, new SimpleInnerSubscriber(subscriber)));\n };\n TimeoutWithSubscriber.prototype.scheduleTimeout = function () {\n var action = this.action;\n if (action) {\n this.action = action.schedule(this, this.waitFor);\n }\n else {\n this.add(this.action = this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout, this.waitFor, this));\n }\n };\n TimeoutWithSubscriber.prototype._next = function (value) {\n if (!this.absoluteTimeout) {\n this.scheduleTimeout();\n }\n _super.prototype._next.call(this, value);\n };\n TimeoutWithSubscriber.prototype._unsubscribe = function () {\n this.action = undefined;\n this.scheduler = null;\n this.withObservable = null;\n };\n return TimeoutWithSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=timeoutWith.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { TimeoutError } from '../util/TimeoutError';\nimport { timeoutWith } from './timeoutWith';\nimport { throwError } from '../observable/throwError';\nexport function timeout(due, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return timeoutWith(due, throwError(new TimeoutError()), scheduler);\n}\n//# sourceMappingURL=timeout.js.map\n","/** PURE_IMPORTS_START _scheduler_async,_map PURE_IMPORTS_END */\nimport { async } from '../scheduler/async';\nimport { map } from './map';\nexport function timestamp(scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return map(function (value) { return new Timestamp(value, scheduler.now()); });\n}\nvar Timestamp = /*@__PURE__*/ (function () {\n function Timestamp(value, timestamp) {\n this.value = value;\n this.timestamp = timestamp;\n }\n return Timestamp;\n}());\nexport { Timestamp };\n//# sourceMappingURL=timestamp.js.map\n","/** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */\nimport { reduce } from './reduce';\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nexport function toArray() {\n return reduce(toArrayReducer, []);\n}\n//# sourceMappingURL=toArray.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function window(windowBoundaries) {\n return function windowOperatorFunction(source) {\n return source.lift(new WindowOperator(windowBoundaries));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(windowBoundaries) {\n this.windowBoundaries = windowBoundaries;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n var windowSubscriber = new WindowSubscriber(subscriber);\n var sourceSubscription = source.subscribe(windowSubscriber);\n if (!sourceSubscription.closed) {\n windowSubscriber.add(innerSubscribe(this.windowBoundaries, new SimpleInnerSubscriber(windowSubscriber)));\n }\n return sourceSubscription;\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.window = new Subject();\n destination.next(_this.window);\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function () {\n this.openWindow();\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function () {\n this._complete();\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n };\n WindowSubscriber.prototype._unsubscribe = function () {\n this.window = null;\n };\n WindowSubscriber.prototype.openWindow = function () {\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var destination = this.destination;\n var newWindow = this.window = new Subject();\n destination.next(newWindow);\n };\n return WindowSubscriber;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=window.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subject PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subject } from '../Subject';\nexport function windowCount(windowSize, startWindowEvery) {\n if (startWindowEvery === void 0) {\n startWindowEvery = 0;\n }\n return function windowCountOperatorFunction(source) {\n return source.lift(new WindowCountOperator(windowSize, startWindowEvery));\n };\n}\nvar WindowCountOperator = /*@__PURE__*/ (function () {\n function WindowCountOperator(windowSize, startWindowEvery) {\n this.windowSize = windowSize;\n this.startWindowEvery = startWindowEvery;\n }\n WindowCountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowCountSubscriber(subscriber, this.windowSize, this.startWindowEvery));\n };\n return WindowCountOperator;\n}());\nvar WindowCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowCountSubscriber, _super);\n function WindowCountSubscriber(destination, windowSize, startWindowEvery) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowSize = windowSize;\n _this.startWindowEvery = startWindowEvery;\n _this.windows = [new Subject()];\n _this.count = 0;\n destination.next(_this.windows[0]);\n return _this;\n }\n WindowCountSubscriber.prototype._next = function (value) {\n var startWindowEvery = (this.startWindowEvery > 0) ? this.startWindowEvery : this.windowSize;\n var destination = this.destination;\n var windowSize = this.windowSize;\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len && !this.closed; i++) {\n windows[i].next(value);\n }\n var c = this.count - windowSize + 1;\n if (c >= 0 && c % startWindowEvery === 0 && !this.closed) {\n windows.shift().complete();\n }\n if (++this.count % startWindowEvery === 0 && !this.closed) {\n var window_1 = new Subject();\n windows.push(window_1);\n destination.next(window_1);\n }\n };\n WindowCountSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().error(err);\n }\n }\n this.destination.error(err);\n };\n WindowCountSubscriber.prototype._complete = function () {\n var windows = this.windows;\n if (windows) {\n while (windows.length > 0 && !this.closed) {\n windows.shift().complete();\n }\n }\n this.destination.complete();\n };\n WindowCountSubscriber.prototype._unsubscribe = function () {\n this.count = 0;\n this.windows = null;\n };\n return WindowCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=windowCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_async,_Subscriber,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function windowTime(windowTimeSpan) {\n var scheduler = async;\n var windowCreationInterval = null;\n var maxWindowSize = Number.POSITIVE_INFINITY;\n if (isScheduler(arguments[3])) {\n scheduler = arguments[3];\n }\n if (isScheduler(arguments[2])) {\n scheduler = arguments[2];\n }\n else if (isNumeric(arguments[2])) {\n maxWindowSize = Number(arguments[2]);\n }\n if (isScheduler(arguments[1])) {\n scheduler = arguments[1];\n }\n else if (isNumeric(arguments[1])) {\n windowCreationInterval = Number(arguments[1]);\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nvar WindowTimeOperator = /*@__PURE__*/ (function () {\n function WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n WindowTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n };\n return WindowTimeOperator;\n}());\nvar CountedSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CountedSubject, _super);\n function CountedSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._numberOfNextedValues = 0;\n return _this;\n }\n CountedSubject.prototype.next = function (value) {\n this._numberOfNextedValues++;\n _super.prototype.next.call(this, value);\n };\n Object.defineProperty(CountedSubject.prototype, \"numberOfNextedValues\", {\n get: function () {\n return this._numberOfNextedValues;\n },\n enumerable: true,\n configurable: true\n });\n return CountedSubject;\n}(Subject));\nvar WindowTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowTimeSubscriber, _super);\n function WindowTimeSubscriber(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.windowTimeSpan = windowTimeSpan;\n _this.windowCreationInterval = windowCreationInterval;\n _this.maxWindowSize = maxWindowSize;\n _this.scheduler = scheduler;\n _this.windows = [];\n var window = _this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n var closeState = { subscriber: _this, window: window, context: null };\n var creationState = { windowTimeSpan: windowTimeSpan, windowCreationInterval: windowCreationInterval, subscriber: _this, scheduler: scheduler };\n _this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n _this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n var timeSpanOnlyState = { subscriber: _this, window: window, windowTimeSpan: windowTimeSpan };\n _this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n return _this;\n }\n WindowTimeSubscriber.prototype._next = function (value) {\n var windows = this.windows;\n var len = windows.length;\n for (var i = 0; i < len; i++) {\n var window_1 = windows[i];\n if (!window_1.closed) {\n window_1.next(value);\n if (window_1.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window_1);\n }\n }\n }\n };\n WindowTimeSubscriber.prototype._error = function (err) {\n var windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n };\n WindowTimeSubscriber.prototype._complete = function () {\n var windows = this.windows;\n while (windows.length > 0) {\n var window_2 = windows.shift();\n if (!window_2.closed) {\n window_2.complete();\n }\n }\n this.destination.complete();\n };\n WindowTimeSubscriber.prototype.openWindow = function () {\n var window = new CountedSubject();\n this.windows.push(window);\n var destination = this.destination;\n destination.next(window);\n return window;\n };\n WindowTimeSubscriber.prototype.closeWindow = function (window) {\n window.complete();\n var windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n };\n return WindowTimeSubscriber;\n}(Subscriber));\nfunction dispatchWindowTimeSpanOnly(state) {\n var subscriber = state.subscriber, windowTimeSpan = state.windowTimeSpan, window = state.window;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n var windowTimeSpan = state.windowTimeSpan, subscriber = state.subscriber, scheduler = state.scheduler, windowCreationInterval = state.windowCreationInterval;\n var window = subscriber.openWindow();\n var action = this;\n var context = { action: action, subscription: null };\n var timeSpanState = { subscriber: subscriber, window: window, context: context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n var subscriber = state.subscriber, window = state.window, context = state.context;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Subscription,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function windowToggle(openings, closingSelector) {\n return function (source) { return source.lift(new WindowToggleOperator(openings, closingSelector)); };\n}\nvar WindowToggleOperator = /*@__PURE__*/ (function () {\n function WindowToggleOperator(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n WindowToggleOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowToggleSubscriber(subscriber, this.openings, this.closingSelector));\n };\n return WindowToggleOperator;\n}());\nvar WindowToggleSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowToggleSubscriber, _super);\n function WindowToggleSubscriber(destination, openings, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.openings = openings;\n _this.closingSelector = closingSelector;\n _this.contexts = [];\n _this.add(_this.openSubscription = subscribeToResult(_this, openings, openings));\n return _this;\n }\n WindowToggleSubscriber.prototype._next = function (value) {\n var contexts = this.contexts;\n if (contexts) {\n var len = contexts.length;\n for (var i = 0; i < len; i++) {\n contexts[i].window.next(value);\n }\n }\n };\n WindowToggleSubscriber.prototype._error = function (err) {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_1 = contexts[index];\n context_1.window.error(err);\n context_1.subscription.unsubscribe();\n }\n }\n _super.prototype._error.call(this, err);\n };\n WindowToggleSubscriber.prototype._complete = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_2 = contexts[index];\n context_2.window.complete();\n context_2.subscription.unsubscribe();\n }\n }\n _super.prototype._complete.call(this);\n };\n WindowToggleSubscriber.prototype._unsubscribe = function () {\n var contexts = this.contexts;\n this.contexts = null;\n if (contexts) {\n var len = contexts.length;\n var index = -1;\n while (++index < len) {\n var context_3 = contexts[index];\n context_3.window.unsubscribe();\n context_3.subscription.unsubscribe();\n }\n }\n };\n WindowToggleSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (outerValue === this.openings) {\n var closingNotifier = void 0;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector(innerValue);\n }\n catch (e) {\n return this.error(e);\n }\n var window_1 = new Subject();\n var subscription = new Subscription();\n var context_4 = { window: window_1, subscription: subscription };\n this.contexts.push(context_4);\n var innerSubscription = subscribeToResult(this, closingNotifier, context_4);\n if (innerSubscription.closed) {\n this.closeWindow(this.contexts.length - 1);\n }\n else {\n innerSubscription.context = context_4;\n subscription.add(innerSubscription);\n }\n this.destination.next(window_1);\n }\n else {\n this.closeWindow(this.contexts.indexOf(outerValue));\n }\n };\n WindowToggleSubscriber.prototype.notifyError = function (err) {\n this.error(err);\n };\n WindowToggleSubscriber.prototype.notifyComplete = function (inner) {\n if (inner !== this.openSubscription) {\n this.closeWindow(this.contexts.indexOf(inner.context));\n }\n };\n WindowToggleSubscriber.prototype.closeWindow = function (index) {\n if (index === -1) {\n return;\n }\n var contexts = this.contexts;\n var context = contexts[index];\n var window = context.window, subscription = context.subscription;\n contexts.splice(index, 1);\n window.complete();\n subscription.unsubscribe();\n };\n return WindowToggleSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowToggle.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from '../Subject';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function windowWhen(closingSelector) {\n return function windowWhenOperatorFunction(source) {\n return source.lift(new WindowOperator(closingSelector));\n };\n}\nvar WindowOperator = /*@__PURE__*/ (function () {\n function WindowOperator(closingSelector) {\n this.closingSelector = closingSelector;\n }\n WindowOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WindowSubscriber(subscriber, this.closingSelector));\n };\n return WindowOperator;\n}());\nvar WindowSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WindowSubscriber, _super);\n function WindowSubscriber(destination, closingSelector) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n _this.closingSelector = closingSelector;\n _this.openWindow();\n return _this;\n }\n WindowSubscriber.prototype.notifyNext = function (_outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype.notifyError = function (error) {\n this._error(error);\n };\n WindowSubscriber.prototype.notifyComplete = function (innerSub) {\n this.openWindow(innerSub);\n };\n WindowSubscriber.prototype._next = function (value) {\n this.window.next(value);\n };\n WindowSubscriber.prototype._error = function (err) {\n this.window.error(err);\n this.destination.error(err);\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype._complete = function () {\n this.window.complete();\n this.destination.complete();\n this.unsubscribeClosingNotification();\n };\n WindowSubscriber.prototype.unsubscribeClosingNotification = function () {\n if (this.closingNotification) {\n this.closingNotification.unsubscribe();\n }\n };\n WindowSubscriber.prototype.openWindow = function (innerSub) {\n if (innerSub === void 0) {\n innerSub = null;\n }\n if (innerSub) {\n this.remove(innerSub);\n innerSub.unsubscribe();\n }\n var prevWindow = this.window;\n if (prevWindow) {\n prevWindow.complete();\n }\n var window = this.window = new Subject();\n this.destination.next(window);\n var closingNotifier;\n try {\n var closingSelector = this.closingSelector;\n closingNotifier = closingSelector();\n }\n catch (e) {\n this.destination.error(e);\n this.window.error(e);\n return;\n }\n this.add(this.closingNotification = subscribeToResult(this, closingNotifier));\n };\n return WindowSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=windowWhen.js.map\n","/** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function withLatestFrom() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (source) {\n var project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n var observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nvar WithLatestFromOperator = /*@__PURE__*/ (function () {\n function WithLatestFromOperator(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n WithLatestFromOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n };\n return WithLatestFromOperator;\n}());\nvar WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(WithLatestFromSubscriber, _super);\n function WithLatestFromSubscriber(destination, observables, project) {\n var _this = _super.call(this, destination) || this;\n _this.observables = observables;\n _this.project = project;\n _this.toRespond = [];\n var len = observables.length;\n _this.values = new Array(len);\n for (var i = 0; i < len; i++) {\n _this.toRespond.push(i);\n }\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n _this.add(subscribeToResult(_this, observable, undefined, i));\n }\n return _this;\n }\n WithLatestFromSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n var toRespond = this.toRespond;\n if (toRespond.length > 0) {\n var found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n };\n WithLatestFromSubscriber.prototype.notifyComplete = function () {\n };\n WithLatestFromSubscriber.prototype._next = function (value) {\n if (this.toRespond.length === 0) {\n var args = [value].concat(this.values);\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n };\n WithLatestFromSubscriber.prototype._tryProject = function (args) {\n var result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return WithLatestFromSubscriber;\n}(OuterSubscriber));\n//# sourceMappingURL=withLatestFrom.js.map\n","/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\nimport { zip as zipStatic } from '../observable/zip';\nexport function zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic.apply(void 0, [source].concat(observables)));\n };\n}\n//# sourceMappingURL=zip.js.map\n","/** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */\nimport { ZipOperator } from '../observable/zip';\nexport function zipAll(project) {\n return function (source) { return source.lift(new ZipOperator(project)); };\n}\n//# sourceMappingURL=zipAll.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return function (source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nvar TakeOperator = /*@__PURE__*/ (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\nvar TakeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n var _this = _super.call(this, destination) || this;\n _this.total = total;\n _this.count = 0;\n return _this;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber));\n//# sourceMappingURL=take.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=refCount.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nvar ReplaySubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ReplaySubject, _super);\n function ReplaySubject(bufferSize, windowTime, scheduler) {\n if (bufferSize === void 0) {\n bufferSize = Number.POSITIVE_INFINITY;\n }\n if (windowTime === void 0) {\n windowTime = Number.POSITIVE_INFINITY;\n }\n var _this = _super.call(this) || this;\n _this.scheduler = scheduler;\n _this._events = [];\n _this._infiniteTimeWindow = false;\n _this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n _this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n _this._infiniteTimeWindow = true;\n _this.next = _this.nextInfiniteTimeWindow;\n }\n else {\n _this.next = _this.nextTimeWindow;\n }\n return _this;\n }\n ReplaySubject.prototype.nextInfiniteTimeWindow = function (value) {\n if (!this.isStopped) {\n var _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype.nextTimeWindow = function (value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n var _infiniteTimeWindow = this._infiniteTimeWindow;\n var _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n var scheduler = this.scheduler;\n var len = _events.length;\n var subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (var i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n };\n ReplaySubject.prototype._getNow = function () {\n return (this.scheduler || queue).now();\n };\n ReplaySubject.prototype._trimBufferThenGetEvents = function () {\n var now = this._getNow();\n var _bufferSize = this._bufferSize;\n var _windowTime = this._windowTime;\n var _events = this._events;\n var eventsCount = _events.length;\n var spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\nvar ReplayEvent = /*@__PURE__*/ (function () {\n function ReplayEvent(time, value) {\n this.time = time;\n this.value = value;\n }\n return ReplayEvent;\n}());\n//# sourceMappingURL=ReplaySubject.js.map\n","/** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(function (subscriber) { return subscriber.error(error); });\n }\n else {\n return new Observable(function (subscriber) { return scheduler.schedule(dispatch, 0, { error: error, subscriber: subscriber }); });\n }\n}\nfunction dispatch(_a) {\n var error = _a.error, subscriber = _a.subscriber;\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map\n","/** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nvar NONE = {};\nexport function combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = undefined;\n var scheduler = undefined;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nvar CombineLatestOperator = /*@__PURE__*/ (function () {\n function CombineLatestOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n };\n return CombineLatestOperator;\n}());\nexport { CombineLatestOperator };\nvar CombineLatestSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, resultSelector) {\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.active = 0;\n _this.values = [];\n _this.observables = [];\n return _this;\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryResultSelector = function (values) {\n var result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber));\nexport { CombineLatestSubscriber };\n//# sourceMappingURL=combineLatest.js.map\n","/** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */\nimport { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) {\n concurrent = Number.POSITIVE_INFINITY;\n }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map\n","/** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n var input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n var source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map\n","/** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_.._internal_symbol_iterator,_innerSubscribe PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { fromArray } from './fromArray';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { iterator as Symbol_iterator } from '../../internal/symbol/iterator';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function zip() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nvar ZipOperator = /*@__PURE__*/ (function () {\n function ZipOperator(resultSelector) {\n this.resultSelector = resultSelector;\n }\n ZipOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n };\n return ZipOperator;\n}());\nexport { ZipOperator };\nvar ZipSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipSubscriber, _super);\n function ZipSubscriber(destination, resultSelector, values) {\n if (values === void 0) {\n values = Object.create(null);\n }\n var _this = _super.call(this, destination) || this;\n _this.resultSelector = resultSelector;\n _this.iterators = [];\n _this.active = 0;\n _this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : undefined;\n return _this;\n }\n ZipSubscriber.prototype._next = function (value) {\n var iterators = this.iterators;\n if (isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[Symbol_iterator] === 'function') {\n iterators.push(new StaticIterator(value[Symbol_iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n };\n ZipSubscriber.prototype._complete = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n var destination = this.destination;\n destination.add(iterator.subscribe());\n }\n else {\n this.active--;\n }\n }\n };\n ZipSubscriber.prototype.notifyInactive = function () {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n };\n ZipSubscriber.prototype.checkIterators = function () {\n var iterators = this.iterators;\n var len = iterators.length;\n var destination = this.destination;\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n var shouldComplete = false;\n var args = [];\n for (var i = 0; i < len; i++) {\n var iterator = iterators[i];\n var result = iterator.next();\n if (iterator.hasCompleted()) {\n shouldComplete = true;\n }\n if (result.done) {\n destination.complete();\n return;\n }\n args.push(result.value);\n }\n if (this.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n };\n ZipSubscriber.prototype._tryresultSelector = function (args) {\n var result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return ZipSubscriber;\n}(Subscriber));\nexport { ZipSubscriber };\nvar StaticIterator = /*@__PURE__*/ (function () {\n function StaticIterator(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n StaticIterator.prototype.hasValue = function () {\n return true;\n };\n StaticIterator.prototype.next = function () {\n var result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n };\n StaticIterator.prototype.hasCompleted = function () {\n var nextResult = this.nextResult;\n return Boolean(nextResult && nextResult.done);\n };\n return StaticIterator;\n}());\nvar StaticArrayIterator = /*@__PURE__*/ (function () {\n function StaticArrayIterator(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n StaticArrayIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n StaticArrayIterator.prototype.next = function (value) {\n var i = this.index++;\n var array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n };\n StaticArrayIterator.prototype.hasValue = function () {\n return this.array.length > this.index;\n };\n StaticArrayIterator.prototype.hasCompleted = function () {\n return this.array.length === this.index;\n };\n return StaticArrayIterator;\n}());\nvar ZipBufferIterator = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ZipBufferIterator, _super);\n function ZipBufferIterator(destination, parent, observable) {\n var _this = _super.call(this, destination) || this;\n _this.parent = parent;\n _this.observable = observable;\n _this.stillUnsubscribed = true;\n _this.buffer = [];\n _this.isComplete = false;\n return _this;\n }\n ZipBufferIterator.prototype[Symbol_iterator] = function () {\n return this;\n };\n ZipBufferIterator.prototype.next = function () {\n var buffer = this.buffer;\n if (buffer.length === 0 && this.isComplete) {\n return { value: null, done: true };\n }\n else {\n return { value: buffer.shift(), done: false };\n }\n };\n ZipBufferIterator.prototype.hasValue = function () {\n return this.buffer.length > 0;\n };\n ZipBufferIterator.prototype.hasCompleted = function () {\n return this.buffer.length === 0 && this.isComplete;\n };\n ZipBufferIterator.prototype.notifyComplete = function () {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n };\n ZipBufferIterator.prototype.notifyNext = function (innerValue) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n };\n ZipBufferIterator.prototype.subscribe = function () {\n return innerSubscribe(this.observable, new SimpleInnerSubscriber(this));\n };\n return ZipBufferIterator;\n}(SimpleOuterSubscriber));\n//# sourceMappingURL=zip.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map\n","/** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */\nimport { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n var _a = observer, closed_1 = _a.closed, destination = _a.destination, isStopped = _a.isStopped;\n if (closed_1 || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleArray.js.map\n","/** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport var empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map\n","/** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */\nimport { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = /*@__PURE__*/ new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map\n","/** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map\n","var Scheduler = /*@__PURE__*/ (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) {\n now = Scheduler.now;\n }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) {\n delay = 0;\n }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = function () { return Date.now(); };\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return function (source) {\n return source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n };\n}\nvar GroupByOperator = /*@__PURE__*/ (function () {\n function GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n GroupByOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n };\n return GroupByOperator;\n}());\nvar GroupBySubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupBySubscriber, _super);\n function GroupBySubscriber(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.elementSelector = elementSelector;\n _this.durationSelector = durationSelector;\n _this.subjectSelector = subjectSelector;\n _this.groups = null;\n _this.attemptedToUnsubscribe = false;\n _this.count = 0;\n return _this;\n }\n GroupBySubscriber.prototype._next = function (value) {\n var key;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n this.error(err);\n return;\n }\n this._group(value, key);\n };\n GroupBySubscriber.prototype._group = function (value, key) {\n var groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n var group = groups.get(key);\n var element;\n if (this.elementSelector) {\n try {\n element = this.elementSelector(value);\n }\n catch (err) {\n this.error(err);\n }\n }\n else {\n element = value;\n }\n if (!group) {\n group = (this.subjectSelector ? this.subjectSelector() : new Subject());\n groups.set(key, group);\n var groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n var duration = void 0;\n try {\n duration = this.durationSelector(new GroupedObservable(key, group));\n }\n catch (err) {\n this.error(err);\n return;\n }\n this.add(duration.subscribe(new GroupDurationSubscriber(key, group, this)));\n }\n }\n if (!group.closed) {\n group.next(element);\n }\n };\n GroupBySubscriber.prototype._error = function (err) {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n };\n GroupBySubscriber.prototype._complete = function () {\n var groups = this.groups;\n if (groups) {\n groups.forEach(function (group, key) {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n };\n GroupBySubscriber.prototype.removeGroup = function (key) {\n this.groups.delete(key);\n };\n GroupBySubscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n _super.prototype.unsubscribe.call(this);\n }\n }\n };\n return GroupBySubscriber;\n}(Subscriber));\nvar GroupDurationSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupDurationSubscriber, _super);\n function GroupDurationSubscriber(key, group, parent) {\n var _this = _super.call(this, group) || this;\n _this.key = key;\n _this.group = group;\n _this.parent = parent;\n return _this;\n }\n GroupDurationSubscriber.prototype._next = function (value) {\n this.complete();\n };\n GroupDurationSubscriber.prototype._unsubscribe = function () {\n var _a = this, parent = _a.parent, key = _a.key;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n };\n return GroupDurationSubscriber;\n}(Subscriber));\nvar GroupedObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(GroupedObservable, _super);\n function GroupedObservable(key, groupSubject, refCountSubscription) {\n var _this = _super.call(this) || this;\n _this.key = key;\n _this.groupSubject = groupSubject;\n _this.refCountSubscription = refCountSubscription;\n return _this;\n }\n GroupedObservable.prototype._subscribe = function (subscriber) {\n var subscription = new Subscription();\n var _a = this, refCountSubscription = _a.refCountSubscription, groupSubject = _a.groupSubject;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n };\n return GroupedObservable;\n}(Observable));\nexport { GroupedObservable };\nvar InnerRefCountSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(InnerRefCountSubscription, _super);\n function InnerRefCountSubscription(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n parent.count++;\n return _this;\n }\n InnerRefCountSubscription.prototype.unsubscribe = function () {\n var parent = this.parent;\n if (!parent.closed && !this.closed) {\n _super.prototype.unsubscribe.call(this);\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n };\n return InnerRefCountSubscription;\n}(Subscription));\n//# sourceMappingURL=groupBy.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nvar BehaviorSubject = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map\n","/** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nvar ConnectableObservable = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._refCount = 0;\n _this._isComplete = false;\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\nexport var connectableObservableDescriptor = /*@__PURE__*/ (function () {\n var connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nvar ConnectableSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(SubjectSubscriber));\nvar RefCountOperator = /*@__PURE__*/ (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n var _this = _super.call(this, destination) || this;\n _this.connectable = connectable;\n return _this;\n }\n RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nvar ObserveOnOperator = /*@__PURE__*/ (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexport { ObserveOnOperator };\nvar ObserveOnSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n var _this = _super.call(this, destination) || this;\n _this.scheduler = scheduler;\n _this.delay = delay;\n return _this;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n var destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n };\n return ObserveOnSubscriber;\n}(Subscriber));\nexport { ObserveOnSubscriber };\nvar ObserveOnMessage = /*@__PURE__*/ (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexport { ObserveOnMessage };\n//# sourceMappingURL=observeOn.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nvar TimeoutErrorImpl = /*@__PURE__*/ (function () {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = /*@__PURE__*/ Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport var TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map\n","/** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */\nimport { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map\n","/** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var concurrent = Number.POSITIVE_INFINITY;\n var scheduler = null;\n var last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map\n","/** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nvar RaceOperator = /*@__PURE__*/ (function () {\n function RaceOperator() {\n }\n RaceOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n };\n return RaceOperator;\n}());\nexport { RaceOperator };\nvar RaceSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(RaceSubscriber, _super);\n function RaceSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasFirst = false;\n _this.observables = [];\n _this.subscriptions = [];\n return _this;\n }\n RaceSubscriber.prototype._next = function (observable) {\n this.observables.push(observable);\n };\n RaceSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (var i = 0; i < len && !this.hasFirst; i++) {\n var observable = observables[i];\n var subscription = subscribeToResult(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n };\n RaceSubscriber.prototype.notifyNext = function (_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (var i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n var subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n };\n return RaceSubscriber;\n}(OuterSubscriber));\nexport { RaceSubscriber };\n//# sourceMappingURL=race.js.map\n","/** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime, periodOrScheduler, scheduler) {\n if (dueTime === void 0) {\n dueTime = 0;\n }\n var period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(function (subscriber) {\n var due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period: period, subscriber: subscriber\n });\n });\n}\nfunction dispatch(state) {\n var index = state.index, period = state.period, subscriber = state.subscriber;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return function (source) { return source.lift(new DistinctUntilChangedOperator(compare, keySelector)); };\n}\nvar DistinctUntilChangedOperator = /*@__PURE__*/ (function () {\n function DistinctUntilChangedOperator(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n DistinctUntilChangedOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n };\n return DistinctUntilChangedOperator;\n}());\nvar DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DistinctUntilChangedSubscriber, _super);\n function DistinctUntilChangedSubscriber(destination, compare, keySelector) {\n var _this = _super.call(this, destination) || this;\n _this.keySelector = keySelector;\n _this.hasKey = false;\n if (typeof compare === 'function') {\n _this.compare = compare;\n }\n return _this;\n }\n DistinctUntilChangedSubscriber.prototype.compare = function (x, y) {\n return x === y;\n };\n DistinctUntilChangedSubscriber.prototype._next = function (value) {\n var key;\n try {\n var keySelector = this.keySelector;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n var result = false;\n if (this.hasKey) {\n try {\n var compare = this.compare;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n };\n return DistinctUntilChangedSubscriber;\n}(Subscriber));\n//# sourceMappingURL=distinctUntilChanged.js.map\n","/** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */\nimport { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map\n","/** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n var observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next: function (value) { sub.add(scheduler.schedule(function () { return subscriber.next(value); })); },\n error: function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); },\n complete: function () { sub.add(scheduler.schedule(function () { return subscriber.complete(); })); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n sub.add(scheduler.schedule(function () {\n return input.then(function (value) {\n sub.add(scheduler.schedule(function () {\n subscriber.next(value);\n sub.add(scheduler.schedule(function () { return subscriber.complete(); }));\n }));\n }, function (err) {\n sub.add(scheduler.schedule(function () { return subscriber.error(err); }));\n });\n }));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map\n","/** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map\n","/** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n var sub = new Subscription();\n var iterator;\n sub.add(function () {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(function () {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n var value;\n var done;\n try {\n var result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map\n","/** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscription } from './Subscription';\nvar SubjectSubscription = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription));\nexport { SubjectSubscription };\n//# sourceMappingURL=SubjectSubscription.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var subscribeToArray = function (array) {\n return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n };\n};\n//# sourceMappingURL=subscribeToArray.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map\n","/** PURE_IMPORTS_START PURE_IMPORTS_END */\nexport function not(pred, thisArg) {\n function notPred() {\n return !(notPred.pred.apply(notPred.thisArg, arguments));\n }\n notPred.pred = pred;\n notPred.thisArg = thisArg;\n return notPred;\n}\n//# sourceMappingURL=not.js.map\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","module.exports = require(\"maybe-not\");","module.exports = require(\"rxjs\");","module.exports = require(\"rxjs/operators\");","// CUSTOM EVENT POLYFILL FOR IE 11\n(function (window: any) {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event: string, params: any) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n CustomEvent.prototype = window.Event.prototype;\n\n window.CustomEvent = CustomEvent;\n})(window);\n","import { Dict } from './../core/core-types';\n\nexport function toCamelCase(str: string): string {\n return str.replace(/-([a-z])/gi, ($0, $1) => $1.toUpperCase());\n}\n\nexport function toDashCase(str: string): string {\n return (str.charAt(0) + str.slice(1).replace(/([A-Z])/g, '-$&')\n ).toLowerCase();\n}\n\nexport function indexBy<K extends keyof O, O>(key: K, arr: O[]): Map<O[K], O> {\n return arr.reduce((indexed, obj) => {\n indexed.set(obj[key], obj);\n return indexed;\n }, new Map());\n}\n\nlet elementGuid: number = 1000;\n\nexport function createGuid(length : number = 4): number {\n return elementGuid++;\n}\n\nexport function pick(props: string[], obj: { [key: string]: any }): { [key: string]: any } {\n return props.reduce((memo, prop) => {\n if (prop in obj) {\n return {\n ...memo,\n [prop]: obj[prop]\n };\n }\n\n return memo;\n }, {}) as any;\n}\n\nexport function objectsAreEqual(obj1: Dict<any>, obj2: Dict<any>): boolean {\n let equal = true;\n const obj1Keys = Object.keys(obj1);\n const obj2Keys = Object.keys(obj2);\n\n if (obj1Keys.length !== obj2Keys.length) {\n return false;\n }\n\n obj1Keys.forEach(key => {\n if (!obj2.hasOwnProperty(key) || obj1[key] !== obj2[key]) {\n equal = false;\n }\n });\n\n return equal;\n}","import {\r\n ObservedProperty,\r\n Dict,\r\n DSElementSetupHooks,\r\n DSCustomElement,\r\n ConstructorWithAttributes,\r\n} from '../core-types';\r\nimport { indexBy, toDashCase, toCamelCase, objectsAreEqual } from '../../utility/helpers';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Maybe } from 'maybe-not';\r\n\r\nexport function enableProps(\r\n props: ObservedProperty[]\r\n): { fnHashByName: Dict<any>; hooks: DSElementSetupHooks } {\r\n const fnHashByName = indexBy('name', props);\r\n return {\r\n fnHashByName,\r\n hooks: {\r\n init(element: DSCustomElement): void {\r\n element.__innerProps$ = new BehaviorSubject({});\r\n },\r\n connectedCallback(element: DSCustomElement): void {\r\n const initialProps = element.__innerProps$!.getValue();\r\n let updatedProps: Dict<any> = { ...initialProps };\r\n element.constructor.observedAttributes!.forEach(attrName => {\r\n /* set all observed attrs as properties on connect\r\n as initial values do not trigger attribute changed callback\r\n attrs set properties which proxy property behavior subject */\r\n if (element.getAttribute(attrName) === null) {\r\n return;\r\n }\r\n\r\n setPropFromAttr(\r\n element,\r\n attrName,\r\n element.getAttribute(attrName),\r\n Maybe.just(fnHashByName),\r\n updatedProps\r\n );\r\n });\r\n\r\n if (!objectsAreEqual(initialProps, updatedProps)) {\r\n element.__innerProps$!.next(updatedProps);\r\n }\r\n },\r\n classSetup(\r\n ConstructF: (() => DSCustomElement & { observedAttributes?: string[] })\r\n ): void {\r\n Object.assign(ConstructF, {\r\n observedAttributes: props\r\n .filter(x => x.reflectAs)\r\n .map(x => x.name)\r\n .map(toDashCase),\r\n });\r\n\r\n props.forEach((prop: ObservedProperty) => {\r\n Object.defineProperty(ConstructF.prototype, prop.name, {\r\n get(this: DSCustomElement): any {\r\n return this.__innerProps$!.getValue()[prop.name];\r\n },\r\n set(this: DSCustomElement, val: any): void {\r\n if (this.__innerProps$!.getValue()[prop.name] === val) {\r\n return;\r\n }\r\n\r\n const dashedName = toDashCase(prop.name);\r\n\r\n const observed = (ConstructF as ConstructorWithAttributes).observedAttributes!.includes(\r\n dashedName);\r\n if (observed) {\r\n if (val === true) {\r\n this.setAttribute(dashedName, '');\r\n } else if (val || val === 0 || val === '') {\r\n this.setAttribute(dashedName, String(val));\r\n } else {\r\n this.removeAttribute(dashedName);\r\n }\r\n }\r\n\r\n if (this.__attached || !observed || val === false) {\r\n // emit props$ event after each set\r\n this.__innerProps$!.getValue()[prop.name] = val;\r\n this.__innerProps$!.next(this.__innerProps$!.getValue());\r\n }\r\n },\r\n });\r\n });\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function setPropFromAttr(\r\n customElement: DSCustomElement,\r\n attrName: string,\r\n attrValue: any,\r\n mFnHashByName: Maybe<Dict<any>>,\r\n propInitializer?: Dict<any>\r\n): void {\r\n const camelName = toCamelCase(attrName);\r\n\r\n customElement[camelName] = mFnHashByName\r\n .map(fnHashByName => {\r\n const propConfig = fnHashByName.get(camelName);\r\n let propValue = attrValue;\r\n\r\n if (propConfig && propConfig.reflectAs && attrValue) {\r\n propValue = propConfig.reflectAs(attrValue);\r\n }\r\n if (propConfig && propConfig.reflectAs === Boolean) {\r\n // boolean attributes use empty string as true\r\n propValue = attrValue === '';\r\n }\r\n \r\n if (propInitializer) {\r\n propInitializer[camelName] = propValue;\r\n }\r\n\r\n return propValue;\r\n })\r\n .withDefault(attrValue);\r\n}\r\n","import { DSCustomElement } from \"../core-types\";\r\n\r\nexport function setupShadowDOM(\r\n dashedName: string,\r\n css: string = ''\r\n): (element: DSCustomElement) => HTMLElement {\r\n let fragment: DocumentFragment;\r\n\r\n const canTemplate = !!window.HTMLTemplateElement;\r\n if (canTemplate) {\r\n fragment = generateCustomElementTemplate(css);\r\n } else {\r\n fragment = generateCustomElementFragment(css);\r\n }\r\n\r\n return function (element: DSCustomElement): HTMLElement {\r\n if (element.shadowRoot) {\r\n return element.shadowRoot.querySelector('div')!;\r\n }\r\n \r\n if (element.attachShadow) {\r\n element.attachShadow({ mode: 'open' });\r\n } else {\r\n Object.assign(element, {shadowRoot: element});\r\n }\r\n\r\n const shadowContent = document.importNode(fragment, true);\r\n\r\n if (!canTemplate) {\r\n const styleTag = shadowContent.querySelector('style');\r\n (styleTag as any).sheet.cssText = css;\r\n }\r\n\r\n const shadowRoot = element.shadowRoot!;\r\n shadowRoot.appendChild(shadowContent);\r\n const wrappingDiv = shadowRoot.querySelector('div')!;\r\n\r\n return wrappingDiv;\r\n }\r\n}\r\n\r\nfunction generateCustomElementFragment(css: string): DocumentFragment {\r\n const fragment = document.createDocumentFragment();\r\n \r\n const styleTag = document.createElement('style');\r\n styleTag.appendChild(document.createTextNode(css));\r\n\r\n const rootDiv = document.createElement('div');\r\n rootDiv.className = 'root';\r\n\r\n fragment.appendChild(styleTag);\r\n fragment.appendChild(rootDiv);\r\n\r\n return fragment;\r\n}\r\n\r\nfunction generateCustomElementTemplate(css: string): DocumentFragment {\r\n const template = document.createElement('template');\r\n template.innerHTML = `<style>${css}</style><div class=\"root\"></div>`;\r\n\r\n return template.content;\r\n}","import {\r\n DrySuiteEngine,\r\n ObservedProperty,\r\n DSCustomElement,\r\n Dict,\r\n DSElementSetupHooks,\r\n DSElementFactory,\r\n DSElementConstructor,\r\n EngineStreams,\r\n} from './core-types';\r\nimport { enableProps, setPropFromAttr } from './element-feature-adaptors/props';\r\nimport { setupShadowDOM } from './element-feature-adaptors/shadow-dom';\r\nimport { Maybe } from 'maybe-not';\r\nimport { createGuid } from '../utility/helpers';\r\nimport { interval } from 'rxjs';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\nexport function generateCustomElementWrapper<Props>(\r\n name: string,\r\n engine: DrySuiteEngine,\r\n options: {\r\n useShadowDOM: boolean;\r\n props?: ObservedProperty[];\r\n css?: string;\r\n prototypeExtensions?: Dict<any>;\r\n } = {\r\n useShadowDOM: true,\r\n }\r\n): DSElementConstructor {\r\n const getShadowBaseElementM: Maybe<\r\n (element: DSCustomElement) => HTMLElement\r\n > = options.useShadowDOM\r\n ? Maybe.just(setupShadowDOM(name, options.css))\r\n : Maybe.nothing();\r\n const propsSetup = Array.isArray(options.props)\r\n ? Maybe.just(enableProps(options.props))\r\n : Maybe.nothing<{ fnHashByName: Dict<any>; hooks: DSElementSetupHooks }>();\r\n\r\n const ConstructF = function(): DSCustomElement {\r\n const self: DSCustomElement = Reflect.construct(\r\n HTMLElement,\r\n [],\r\n ConstructF\r\n );\r\n\r\n if (options.prototypeExtensions) {\r\n Object.keys(options.prototypeExtensions).forEach((key) => {\r\n if (!self[key]) {\r\n self[key] = options.prototypeExtensions![key];\r\n }\r\n });\r\n }\r\n\r\n self.__onTeardown = [];\r\n self.__onAttached = [];\r\n self.__guid = createGuid();\r\n\r\n // if properties are enabled it sets __innerProps$\r\n propsSetup.map(({ hooks: { init } }) => init(self));\r\n\r\n // if we are using shadow dom go ahead an initialize app via engine\r\n // hand the engine streams that is populated with attributes once element is connected\r\n\r\n getShadowBaseElementM.map(fn => fn(self)).map(root => {\r\n const engineStreams = Maybe.maybe(self.__innerProps$)\r\n .map(props$ => engine(self, props$))\r\n .withDefaultFn(() => engine(self));\r\n\r\n handleEngineStreams(self, root, engineStreams);\r\n\r\n self.__shadowAppBooted = true;\r\n });\r\n\r\n return self;\r\n };\r\n\r\n tryAssigningNameProperties(ConstructF);\r\n\r\n //setup prototype methods\r\n ConstructF.prototype = Object.create(HTMLElement.prototype, {\r\n component: {\r\n writable: true,\r\n enumerable: true,\r\n },\r\n constructor: { value: ConstructF },\r\n connectedCallback: {\r\n writable: true,\r\n value: function(this: DSCustomElement): void {\r\n this.dataset.guid = `${this.__guid}`;\r\n if (!options.useShadowDOM || !this.__shadowAppBooted) {\r\n getShadowBaseElementM\r\n .map(fn => fn(this))\r\n .alt(Maybe.just(this))\r\n .map(root => {\r\n const engineStreams = Maybe.maybe(this.__innerProps$)\r\n .map(props$ => engine(this, props$))\r\n .withDefaultFn(() => engine(this));\r\n\r\n handleEngineStreams(this, root, engineStreams);\r\n });\r\n\r\n this.__shadowAppBooted = true;\r\n }\r\n\r\n propsSetup.map(({ hooks: { connectedCallback } }) => {\r\n connectedCallback(this);\r\n });\r\n\r\n this.__attached = true;\r\n this.__onAttached.forEach(fn => fn.call(this));\r\n }\r\n },\r\n disconnectedCallback: {\r\n writable: true,\r\n value: function(this: DSCustomElement): void {\r\n this.__onTeardown.reverse().forEach(fn => fn.call(this));\r\n this.__onTeardown = [];\r\n this.__onAttached = [];\r\n this.__attached = false;\r\n this.__shadowAppBooted = false;\r\n },\r\n },\r\n attributeChangedCallback: {\r\n writable: true,\r\n value: function(\r\n this: DSCustomElement,\r\n attrName: string,\r\n oldVal: any,\r\n newVal: any\r\n ): void {\r\n if (oldVal === newVal || !this.__attached) {\r\n return;\r\n }\r\n\r\n /* All observed attributes are Drysuite properties\r\n it sets the property which triggers the proxy property behavior subject */\r\n setPropFromAttr(\r\n this,\r\n attrName,\r\n newVal,\r\n propsSetup.map(propsSetup => propsSetup.fnHashByName)\r\n );\r\n },\r\n }\r\n});\r\n\r\n // NEEDS TO HAPPEN AFTER OBJECT.CREATE SETS PROTOTYPE\r\n propsSetup.map(({ hooks: { classSetup } }) => classSetup(ConstructF));\r\n\r\n return ConstructF as DSElementConstructor;\r\n}\r\n\r\nexport function createSetupElement<T>(\r\n elementConstructor: DSElementFactory<T>\r\n): (elementOptions: T) => (elementName: string) => void {\r\n return (elementOptions): ((elementName: string) => void) => {\r\n return (elementName: string) => {\r\n const defineElement = () => {\r\n window.customElements.get(elementName) ||\r\n window.customElements.define(\r\n elementName,\r\n elementConstructor(elementName, elementOptions)\r\n );\r\n }\r\n\r\n if (!!window.customElements) {\r\n defineElement();\r\n return;\r\n }\r\n\r\n const whenCustomElementsReady = interval(5)\r\n .pipe(\r\n filter(() => !!window.customElements),\r\n take(1)\r\n )\r\n .toPromise();\r\n\r\n whenCustomElementsReady.then(() => {\r\n defineElement();\r\n });\r\n };\r\n };\r\n}\r\n\r\nfunction handleEngineStreams(\r\n element: DSCustomElement,\r\n root: HTMLElement,\r\n engineStreams: EngineStreams\r\n): void {\r\n const placeholder = document.createElement('div');\r\n\r\n // this will be replaced\r\n root.appendChild(placeholder);\r\n\r\n const domSubscription = engineStreams.DOM$.subscribe(newElement => {\r\n root.replaceChild(newElement, root.firstChild!);\r\n });\r\n\r\n const settledSubscription = engineStreams.settled$.subscribe(settled => {\r\n element.settled = settled;\r\n\r\n if (settled) {\r\n element.dispatchEvent(new CustomEvent('settled'));\r\n }\r\n });\r\n\r\n const teardownSubscription = engineStreams.teardown$.subscribe(teardownFn => {\r\n element.__onTeardown.push(teardownFn);\r\n });\r\n\r\n element.__onTeardown.push(() => {\r\n [domSubscription, settledSubscription, teardownSubscription].forEach(s =>\r\n s.unsubscribe()\r\n );\r\n });\r\n}\r\n\r\nfunction tryAssigningNameProperties(ConstructF: () => DSCustomElement) {\r\n try {\r\n // Assign name to constructor if possible for semantics/helpfulness but swallow error if it doesn't allow (safari cough)\r\n Object.defineProperty(ConstructF, 'is', { value: name, writable: false });\r\n Object.defineProperty(ConstructF, 'localName', {\r\n value: name,\r\n writable: false,\r\n });\r\n } catch (error) {}\r\n}\r\n","import { Observable } from 'rxjs';\nimport { DSCustomElement, Driver } from '../core/core-types';\n\nexport type Effect = (element?: DSCustomElement) => void;\n\nexport function makeGenericEffectsDriver(customElement: DSCustomElement): Driver<Observable<Effect>, void> {\n return (effect$: Observable<Effect>): void => {\n effect$.subscribe({\n next(effect: Effect): void {\n effect(customElement);\n },\n error(): void {\n return;\n },\n complete(): void {\n return;\n }\n });\n };\n}\n","/** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */\nimport { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nvar toString = /*@__PURE__*/ (function () { return Object.prototype.toString; })();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(function (args) { return isArray(args) ? resultSelector.apply(void 0, args) : resultSelector(args); }));\n }\n return new Observable(function (subscriber) {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n var unsubscribe;\n if (isEventTarget(sourceObj)) {\n var source_1 = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = function () { return source_1.removeEventListener(eventName, handler, options); };\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n var source_2 = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = function () { return source_2.off(eventName, handler); };\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n var source_3 = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = function () { return source_3.removeListener(eventName, handler); };\n }\n else if (sourceObj && sourceObj.length) {\n for (var i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n//# sourceMappingURL=fromEvent.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler) {\n if (scheduler === void 0) {\n scheduler = async;\n }\n return function (source) { return source.lift(new DebounceTimeOperator(dueTime, scheduler)); };\n}\nvar DebounceTimeOperator = /*@__PURE__*/ (function () {\n function DebounceTimeOperator(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n DebounceTimeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n };\n return DebounceTimeOperator;\n}());\nvar DebounceTimeSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(DebounceTimeSubscriber, _super);\n function DebounceTimeSubscriber(destination, dueTime, scheduler) {\n var _this = _super.call(this, destination) || this;\n _this.dueTime = dueTime;\n _this.scheduler = scheduler;\n _this.debouncedSubscription = null;\n _this.lastValue = null;\n _this.hasValue = false;\n return _this;\n }\n DebounceTimeSubscriber.prototype._next = function (value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n };\n DebounceTimeSubscriber.prototype._complete = function () {\n this.debouncedNext();\n this.destination.complete();\n };\n DebounceTimeSubscriber.prototype.debouncedNext = function () {\n this.clearDebounce();\n if (this.hasValue) {\n var lastValue = this.lastValue;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n };\n DebounceTimeSubscriber.prototype.clearDebounce = function () {\n var debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n };\n return DebounceTimeSubscriber;\n}(Subscriber));\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map\n","/** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */\nimport { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) { return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); })); };\n}\n//# sourceMappingURL=first.js.map\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return function (source) { return source.lift(new PairwiseOperator()); };\n}\nvar PairwiseOperator = /*@__PURE__*/ (function () {\n function PairwiseOperator() {\n }\n PairwiseOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n };\n return PairwiseOperator;\n}());\nvar PairwiseSubscriber = /*@__PURE__*/ (function (_super) {\n tslib_1.__extends(PairwiseSubscriber, _super);\n function PairwiseSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.hasPrev = false;\n return _this;\n }\n PairwiseSubscriber.prototype._next = function (value) {\n var pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n };\n return PairwiseSubscriber;\n}(Subscriber));\n//# sourceMappingURL=pairwise.js.map\n","(function(global) {\r\n /**\r\n * Polyfill URLSearchParams\r\n *\r\n * Inspired from : https://github.com/WebReflection/url-search-params/blob/master/src/url-search-params.js\r\n */\r\n\r\n var checkIfIteratorIsSupported = function() {\r\n try {\r\n return !!Symbol.iterator;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var iteratorSupported = checkIfIteratorIsSupported();\r\n\r\n var createIterator = function(items) {\r\n var iterator = {\r\n next: function() {\r\n var value = items.shift();\r\n return { done: value === void 0, value: value };\r\n }\r\n };\r\n\r\n if (iteratorSupported) {\r\n iterator[Symbol.iterator] = function() {\r\n return iterator;\r\n };\r\n }\r\n\r\n return iterator;\r\n };\r\n\r\n /**\r\n * Search param name and values should be encoded according to https://url.spec.whatwg.org/#urlencoded-serializing\r\n * encodeURIComponent() produces the same result except encoding spaces as `%20` instead of `+`.\r\n */\r\n var serializeParam = function(value) {\r\n return encodeURIComponent(value).replace(/%20/g, '+');\r\n };\r\n\r\n var deserializeParam = function(value) {\r\n return decodeURIComponent(String(value).replace(/\\+/g, ' '));\r\n };\r\n\r\n var polyfillURLSearchParams = function() {\r\n\r\n var URLSearchParams = function(searchString) {\r\n Object.defineProperty(this, '_entries', { writable: true, value: {} });\r\n var typeofSearchString = typeof searchString;\r\n\r\n if (typeofSearchString === 'undefined') {\r\n // do nothing\r\n } else if (typeofSearchString === 'string') {\r\n if (searchString !== '') {\r\n this._fromString(searchString);\r\n }\r\n } else if (searchString instanceof URLSearchParams) {\r\n var _this = this;\r\n searchString.forEach(function(value, name) {\r\n _this.append(name, value);\r\n });\r\n } else if ((searchString !== null) && (typeofSearchString === 'object')) {\r\n if (Object.prototype.toString.call(searchString) === '[object Array]') {\r\n for (var i = 0; i < searchString.length; i++) {\r\n var entry = searchString[i];\r\n if ((Object.prototype.toString.call(entry) === '[object Array]') || (entry.length !== 2)) {\r\n this.append(entry[0], entry[1]);\r\n } else {\r\n throw new TypeError('Expected [string, any] as entry at index ' + i + ' of URLSearchParams\\'s input');\r\n }\r\n }\r\n } else {\r\n for (var key in searchString) {\r\n if (searchString.hasOwnProperty(key)) {\r\n this.append(key, searchString[key]);\r\n }\r\n }\r\n }\r\n } else {\r\n throw new TypeError('Unsupported input\\'s type for URLSearchParams');\r\n }\r\n };\r\n\r\n var proto = URLSearchParams.prototype;\r\n\r\n proto.append = function(name, value) {\r\n if (name in this._entries) {\r\n this._entries[name].push(String(value));\r\n } else {\r\n this._entries[name] = [String(value)];\r\n }\r\n };\r\n\r\n proto.delete = function(name) {\r\n delete this._entries[name];\r\n };\r\n\r\n proto.get = function(name) {\r\n return (name in this._entries) ? this._entries[name][0] : null;\r\n };\r\n\r\n proto.getAll = function(name) {\r\n return (name in this._entries) ? this._entries[name].slice(0) : [];\r\n };\r\n\r\n proto.has = function(name) {\r\n return (name in this._entries);\r\n };\r\n\r\n proto.set = function(name, value) {\r\n this._entries[name] = [String(value)];\r\n };\r\n\r\n proto.forEach = function(callback, thisArg) {\r\n var entries;\r\n for (var name in this._entries) {\r\n if (this._entries.hasOwnProperty(name)) {\r\n entries = this._entries[name];\r\n for (var i = 0; i < entries.length; i++) {\r\n callback.call(thisArg, entries[i], name, this);\r\n }\r\n }\r\n }\r\n };\r\n\r\n proto.keys = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push(name);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.values = function() {\r\n var items = [];\r\n this.forEach(function(value) {\r\n items.push(value);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n proto.entries = function() {\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n });\r\n return createIterator(items);\r\n };\r\n\r\n if (iteratorSupported) {\r\n proto[Symbol.iterator] = proto.entries;\r\n }\r\n\r\n proto.toString = function() {\r\n var searchArray = [];\r\n this.forEach(function(value, name) {\r\n searchArray.push(serializeParam(name) + '=' + serializeParam(value));\r\n });\r\n return searchArray.join('&');\r\n };\r\n\r\n\r\n global.URLSearchParams = URLSearchParams;\r\n };\r\n\r\n var checkIfURLSearchParamsSupported = function() {\r\n try {\r\n var URLSearchParams = global.URLSearchParams;\r\n\r\n return (new URLSearchParams('?a=1').toString() === 'a=1') && (typeof URLSearchParams.prototype.set === 'function');\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n if (!checkIfURLSearchParamsSupported()) {\r\n polyfillURLSearchParams();\r\n }\r\n\r\n var proto = global.URLSearchParams.prototype;\r\n\r\n if (typeof proto.sort !== 'function') {\r\n proto.sort = function() {\r\n var _this = this;\r\n var items = [];\r\n this.forEach(function(value, name) {\r\n items.push([name, value]);\r\n if (!_this._entries) {\r\n _this.delete(name);\r\n }\r\n });\r\n items.sort(function(a, b) {\r\n if (a[0] < b[0]) {\r\n return -1;\r\n } else if (a[0] > b[0]) {\r\n return +1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n if (_this._entries) { // force reset because IE keeps keys index\r\n _this._entries = {};\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n this.append(items[i][0], items[i][1]);\r\n }\r\n };\r\n }\r\n\r\n if (typeof proto._fromString !== 'function') {\r\n Object.defineProperty(proto, '_fromString', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function(searchString) {\r\n if (this._entries) {\r\n this._entries = {};\r\n } else {\r\n var keys = [];\r\n this.forEach(function(value, name) {\r\n keys.push(name);\r\n });\r\n for (var i = 0; i < keys.length; i++) {\r\n this.delete(keys[i]);\r\n }\r\n }\r\n\r\n searchString = searchString.replace(/^\\?/, '');\r\n var attributes = searchString.split('&');\r\n var attribute;\r\n for (var i = 0; i < attributes.length; i++) {\r\n attribute = attributes[i].split('=');\r\n this.append(\r\n deserializeParam(attribute[0]),\r\n (attribute.length > 1) ? deserializeParam(attribute[1]) : ''\r\n );\r\n }\r\n }\r\n });\r\n }\r\n\r\n // HTMLAnchorElement\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n\r\n(function(global) {\r\n /**\r\n * Polyfill URL\r\n *\r\n * Inspired from : https://github.com/arv/DOM-URL-Polyfill/blob/master/src/url.js\r\n */\r\n\r\n var checkIfURLIsSupported = function() {\r\n try {\r\n var u = new global.URL('b', 'http://a');\r\n u.pathname = 'c d';\r\n return (u.href === 'http://a/c%20d') && u.searchParams;\r\n } catch (e) {\r\n return false;\r\n }\r\n };\r\n\r\n\r\n var polyfillURL = function() {\r\n var _URL = global.URL;\r\n\r\n var URL = function(url, base) {\r\n if (typeof url !== 'string') url = String(url);\r\n\r\n // Only create another document if the base is different from current location.\r\n var doc = document, baseElement;\r\n if (base && (global.location === void 0 || base !== global.location.href)) {\r\n doc = document.implementation.createHTMLDocument('');\r\n baseElement = doc.createElement('base');\r\n baseElement.href = base;\r\n doc.head.appendChild(baseElement);\r\n try {\r\n if (baseElement.href.indexOf(base) !== 0) throw new Error(baseElement.href);\r\n } catch (err) {\r\n throw new Error('URL unable to set base ' + base + ' due to ' + err);\r\n }\r\n }\r\n\r\n var anchorElement = doc.createElement('a');\r\n anchorElement.href = url;\r\n if (baseElement) {\r\n doc.body.appendChild(anchorElement);\r\n anchorElement.href = anchorElement.href; // force href to refresh\r\n }\r\n\r\n var inputElement = doc.createElement('input');\r\n inputElement.type = 'url';\r\n inputElement.value = url;\r\n\r\n if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || (!inputElement.checkValidity() && !base)) {\r\n throw new TypeError('Invalid URL');\r\n }\r\n\r\n Object.defineProperty(this, '_anchorElement', {\r\n value: anchorElement\r\n });\r\n\r\n\r\n // create a linked searchParams which reflect its changes on URL\r\n var searchParams = new global.URLSearchParams(this.search);\r\n var enableSearchUpdate = true;\r\n var enableSearchParamsUpdate = true;\r\n var _this = this;\r\n ['append', 'delete', 'set'].forEach(function(methodName) {\r\n var method = searchParams[methodName];\r\n searchParams[methodName] = function() {\r\n method.apply(searchParams, arguments);\r\n if (enableSearchUpdate) {\r\n enableSearchParamsUpdate = false;\r\n _this.search = searchParams.toString();\r\n enableSearchParamsUpdate = true;\r\n }\r\n };\r\n });\r\n\r\n Object.defineProperty(this, 'searchParams', {\r\n value: searchParams,\r\n enumerable: true\r\n });\r\n\r\n var search = void 0;\r\n Object.defineProperty(this, '_updateSearchParams', {\r\n enumerable: false,\r\n configurable: false,\r\n writable: false,\r\n value: function() {\r\n if (this.search !== search) {\r\n search = this.search;\r\n if (enableSearchParamsUpdate) {\r\n enableSearchUpdate = false;\r\n this.searchParams._fromString(this.search);\r\n enableSearchUpdate = true;\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n var proto = URL.prototype;\r\n\r\n var linkURLWithAnchorAttribute = function(attributeName) {\r\n Object.defineProperty(proto, attributeName, {\r\n get: function() {\r\n return this._anchorElement[attributeName];\r\n },\r\n set: function(value) {\r\n this._anchorElement[attributeName] = value;\r\n },\r\n enumerable: true\r\n });\r\n };\r\n\r\n ['hash', 'host', 'hostname', 'port', 'protocol']\r\n .forEach(function(attributeName) {\r\n linkURLWithAnchorAttribute(attributeName);\r\n });\r\n\r\n Object.defineProperty(proto, 'search', {\r\n get: function() {\r\n return this._anchorElement['search'];\r\n },\r\n set: function(value) {\r\n this._anchorElement['search'] = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n });\r\n\r\n Object.defineProperties(proto, {\r\n\r\n 'toString': {\r\n get: function() {\r\n var _this = this;\r\n return function() {\r\n return _this.href;\r\n };\r\n }\r\n },\r\n\r\n 'href': {\r\n get: function() {\r\n return this._anchorElement.href.replace(/\\?$/, '');\r\n },\r\n set: function(value) {\r\n this._anchorElement.href = value;\r\n this._updateSearchParams();\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'pathname': {\r\n get: function() {\r\n return this._anchorElement.pathname.replace(/(^\\/?)/, '/');\r\n },\r\n set: function(value) {\r\n this._anchorElement.pathname = value;\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'origin': {\r\n get: function() {\r\n // get expected port from protocol\r\n var expectedPort = { 'http:': 80, 'https:': 443, 'ftp:': 21 }[this._anchorElement.protocol];\r\n // add port to origin if, expected port is different than actual port\r\n // and it is not empty f.e http://foo:8080\r\n // 8080 != 80 && 8080 != ''\r\n var addPortToOrigin = this._anchorElement.port != expectedPort &&\r\n this._anchorElement.port !== '';\r\n\r\n return this._anchorElement.protocol +\r\n '//' +\r\n this._anchorElement.hostname +\r\n (addPortToOrigin ? (':' + this._anchorElement.port) : '');\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'password': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n\r\n 'username': { // TODO\r\n get: function() {\r\n return '';\r\n },\r\n set: function(value) {\r\n },\r\n enumerable: true\r\n },\r\n });\r\n\r\n URL.createObjectURL = function(blob) {\r\n return _URL.createObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n URL.revokeObjectURL = function(url) {\r\n return _URL.revokeObjectURL.apply(_URL, arguments);\r\n };\r\n\r\n global.URL = URL;\r\n\r\n };\r\n\r\n if (!checkIfURLIsSupported()) {\r\n polyfillURL();\r\n }\r\n\r\n if ((global.location !== void 0) && !('origin' in global.location)) {\r\n var getOrigin = function() {\r\n return global.location.protocol + '//' + global.location.hostname + (global.location.port ? (':' + global.location.port) : '');\r\n };\r\n\r\n try {\r\n Object.defineProperty(global.location, 'origin', {\r\n get: getOrigin,\r\n enumerable: true\r\n });\r\n } catch (e) {\r\n setInterval(function() {\r\n global.location.origin = getOrigin();\r\n }, 100);\r\n }\r\n }\r\n\r\n})(\r\n (typeof global !== 'undefined') ? global\r\n : ((typeof window !== 'undefined') ? window\r\n : ((typeof self !== 'undefined') ? self : this))\r\n);\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import { fromEvent } from 'rxjs';\nimport { map, filter, take } from 'rxjs/operators';\nimport { Maybe } from 'maybe-not';\nexport function _sendMessage(recipient, type, protocol, message, guid = null, status = 'success') {\n const recipientWindow = window.isTestingTecton ? window : recipient;\n recipientWindow.postMessage({\n tectonic: true,\n value: message.withDefault(''),\n status,\n type,\n protocol,\n guid\n }, '*');\n}\nexport function sendMessage(method, message) {\n _sendMessage(window.parent, method, 'MESSAGE', message);\n}\nexport function sendBroadcast(method, message) {\n _sendMessage(window, method, 'BROADCAST', message);\n if (window.isTestingTecton) {\n return;\n }\n Array.prototype.slice\n .call(document.querySelectorAll('tecton-platform-outlet, tecton-outlet, tecton-tab-pane'))\n .forEach((outletNode) => {\n const iframe = outletNode.shadowRoot && outletNode.shadowRoot.querySelector('iframe');\n if (iframe && iframe.contentWindow) {\n _sendMessage(iframe.contentWindow, method, 'BROADCAST', message);\n }\n });\n}\nfunction checkTypeAndFormat(type, obs, protocol, guid = null) {\n return obs.pipe(filter((e) => {\n return (e.data.type === type &&\n (!guid || e.data.guid === guid) &&\n e.data.protocol === protocol);\n }), map(e => {\n if (e.data.status === 'success') {\n // tslint:disable-next-line:no-object-literal-type-assertion\n return {\n status: 'success',\n value: e.data.value && JSON.parse(e.data.value),\n sender: e.source,\n type,\n guid: e.data.guid\n };\n }\n else {\n // tslint:disable-next-line:no-object-literal-type-assertion\n return {\n status: 'error',\n message: e.data.value && JSON.parse(e.data.value).message,\n sender: e.source,\n type,\n guid: e.data.guid\n };\n }\n }));\n}\nexport default class MessageBus {\n constructor() {\n this.messageNum = 0;\n this.firehose$ = fromEvent(window, 'message').pipe(filter((e) => e.data.tectonic));\n }\n onMessage(type, protocol = 'MESSAGE', guid = null) {\n return checkTypeAndFormat(type, this.firehose$, protocol, guid).pipe(map(_handleMessage));\n }\n sendRequest(type, message, options) {\n const guid = this.getNextMessageNumber();\n _sendMessage(window.parent, type, 'REQUEST', message, guid, 'success');\n const promises = [];\n promises.push(this.onMessage(type, 'RESPONSE', guid)\n .pipe(take(1))\n .toPromise());\n if (options && options.timeout) {\n promises.push(new Promise((resolve, reject) => {\n setTimeout(() => {\n reject({\n status: 'error',\n message: `The request ${message} has timed out`,\n sender: window,\n type,\n guid\n });\n }, options.timeout);\n }));\n }\n return Promise.race(promises);\n }\n sendResponse(type, generateResponse) {\n return this.onMessage(type, 'REQUEST').subscribe(response => {\n return Promise.resolve()\n .then(() => {\n if (response.status === 'success') {\n return generateResponse(response.value, response.sender);\n }\n else {\n throw Error(\"Don't send Error Message as Request!\");\n }\n })\n .then(body => {\n if (body === null) {\n return;\n }\n return _responseCallback(response.sender, response.type, body, response.guid, 'success');\n })\n .catch(err => _responseCallback(response.sender, response.type, { message: err.message }, response.guid, 'error'));\n });\n }\n getNextMessageNumber() {\n const nextNum = this.messageNum + 1;\n this.messageNum = nextNum;\n return nextNum;\n }\n}\nfunction _handleMessage(response) {\n if (response.status === 'success') {\n return response;\n }\n throw response;\n}\nfunction _responseCallback(sender, type, data, guid = null, status) {\n _sendMessage(sender, type, 'RESPONSE', Maybe.maybe(data).map(JSON.stringify), guid, status);\n}\n//# sourceMappingURL=message-bus.js.map","import MessageBus, { sendMessage, sendBroadcast } from 'q2-tecton-common/lib/utility/message-bus';\nimport { filter } from 'rxjs/operators';\nclass PlatformMessageBus extends MessageBus {\n constructor(tectonConfig$, allowAll) {\n super();\n this.domains = new Set();\n this.configSubscription = tectonConfig$.subscribe(this.getConfigDomains.bind(this));\n this.firehose$ = this.firehose$.pipe(filter((e) => {\n // filter messages to only registered origins\n return allowAll || this.domains.has(e.origin);\n }));\n }\n teardown() {\n this.configSubscription.unsubscribe();\n }\n getConfigDomains(tectonConfig) {\n let additionalDomains = Array(window.location.origin.toString());\n const moduleURLs = Object.keys(tectonConfig.features).map(feature => {\n const featureAdditionalDomains = tectonConfig.features[feature].additionalDomains;\n if (featureAdditionalDomains && featureAdditionalDomains.length > 0) {\n additionalDomains = additionalDomains.concat(featureAdditionalDomains);\n }\n return Object.keys(tectonConfig.features[feature].modules).map(module => {\n const moduleURL = tectonConfig.features[feature].modules[module].url;\n try {\n // try parsing module's url\n const urlObj = new URL(moduleURL, window.location.href);\n return urlObj.origin;\n }\n catch (e) {\n return '';\n }\n });\n });\n const domains = additionalDomains.concat(...moduleURLs);\n this.domains = dedupeAndCompact(domains);\n }\n}\nfunction dedupeAndCompact(domains) {\n return new Set(domains.filter(domain => domain !== ''));\n}\nexport { PlatformMessageBus as default, sendMessage, sendBroadcast };\n","import { Maybe } from 'maybe-not';\nexport default function getNavigationData(tectonConfig$, featureName, moduleName) {\n const tectonConfig = tectonConfig$.getValue();\n return Maybe.maybe(tectonConfig.features[featureName]).map(feature => {\n const primaryModuleName = Object.keys(feature.modules).find(key => {\n return feature.modules[key].primary;\n });\n const activeModule = feature.modules[moduleName] || feature.modules[primaryModuleName]; // lookup\n const key = `${featureName}.${activeModule.meta.moduleName}`;\n return {\n navigable: !!activeModule.navigable,\n legacy: !!feature.legacy,\n key: feature.legacy ? feature.legacyRouteName : key\n };\n });\n}\n","export function treeNode(value, ...children) {\n return {\n value,\n children\n };\n}\nexport function treeLeaf(value) {\n return {\n value,\n children: []\n };\n}\nexport const tectonAccountTree = treeNode('Q2Account', treeNode('Held', treeNode('Deposit', treeLeaf('Checking'), treeLeaf('MoneyMarket'), treeLeaf('Savings'), treeLeaf('CertificateOfDeposit'), treeLeaf('Goal'), treeLeaf('PlanBasedInvestment'), treeLeaf('IRABasedInvestment'), treeLeaf('BrokerageBasedInvestment')), treeNode('Loan', treeLeaf('Installment'), treeLeaf('Commercial'), treeLeaf('Mortgage'), treeLeaf('LineOfCredit'), treeLeaf('HomeEquity')), treeNode('CreditCard', treeLeaf('Visa'), treeLeaf('MasterCard'), treeLeaf('Discover'), treeLeaf('AmericanExpress'))), treeNode('External', treeNode('PFM', treeLeaf('Manual'), treeLeaf('Aggregated'))));\nexport const tectonTransactionTree = treeNode('Q2Transaction', treeNode('Posted', treeNode('Credit', treeLeaf('GenericCredit'), treeLeaf('InterestCredit'), treeLeaf('Dividend'), treeLeaf('Deposit'), treeLeaf('ATMCredit'), treeLeaf('POSCredit'), treeLeaf('TransferCredit'), treeLeaf('DirectDeposit'), treeLeaf('HoldCredit'), treeLeaf('OtherCredit')), treeNode('Debit', treeLeaf('GenericDebit'), treeLeaf('InterestDebit'), treeLeaf('Fee'), treeLeaf('ServiceCharge'), treeLeaf('ATMDebit'), treeLeaf('POSDebit'), treeLeaf('TransferDebit'), treeLeaf('Payment'), treeLeaf('Check'), treeLeaf('Cash'), treeLeaf('DirectDebit'), treeLeaf('RepeatPayment'), treeLeaf('OtherDebit'))), treeLeaf('Memo'));\nexport const tectonDataTypeTrees = {};\nexport var PlatformCategories;\n(function (PlatformCategories) {\n PlatformCategories[\"Account\"] = \"Account\";\n PlatformCategories[\"Transaction\"] = \"Transaction\";\n})(PlatformCategories || (PlatformCategories = {}));\ntectonDataTypeTrees[PlatformCategories.Account] = tectonAccountTree;\ntectonDataTypeTrees[PlatformCategories.Transaction] = tectonTransactionTree;\nfunction descendantsMatch(dataType, children) {\n let found = [];\n for (const item of children) {\n if (dataType === item.value) {\n found = [item.value];\n break;\n }\n else if (item.children.length > 0) {\n const descendantsPath = descendantsMatch(dataType, item.children);\n if (descendantsPath.length > 0) {\n found = descendantsPath.concat([item.value]);\n break;\n }\n }\n }\n return found;\n}\nexport function getTypePath(typeId) {\n const queryParts = typeId.split('::');\n if (queryParts.length !== 2) {\n return [];\n }\n const category = queryParts[0];\n const dataType = queryParts[1];\n const tree = tectonDataTypeTrees[category];\n return descendantsMatch(dataType, [tree]).map(type => `${category}::${type}`);\n}\nexport const TECTON_ACCOUNT_TYPE_PRODUCT_CODES = {\n Goal: ['D', 'G']\n};\n//# sourceMappingURL=hierarchy.js.map","import { Maybe } from 'maybe-not';\nimport { TECTON_ACCOUNT_TYPE_PRODUCT_CODES } from 'q2-tecton-common/lib/models/data-types/hierarchy';\nexport default function requestPlatformDataSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.sendRequest) {\n capabilities.add('requestPlatformData');\n capabilities.add('requestPlatformData-v2');\n const subscriptionV1 = messageBus.sendResponse('requestPlatformData', (messageBody) => {\n return platformDataRequest(legacyControlBus, messageBody).then(function (response) {\n const isStatusOk = 200 <= response.status && response.status < 300;\n if (isStatusOk) {\n return {\n data: messageBody.method === 'GET'\n ? response.response.data\n : response.response,\n status: 'success'\n };\n }\n else {\n return { data: { message: response.statusText }, status: 'error' };\n }\n });\n });\n const subscriptionV2 = messageBus.sendResponse('requestPlatformData-v2', (messageBody) => {\n return platformDataRequest(legacyControlBus, messageBody);\n });\n teardowns.push(() => {\n subscriptionV1.unsubscribe();\n subscriptionV2.unsubscribe();\n });\n }\n}\nexport function isDataRequest(request) {\n return !!request.dataType;\n}\nexport function platformDataRequest(legacyControlBus, request) {\n let routePromise;\n if (isDataRequest(request)) {\n routePromise = resolveDataURL(legacyControlBus, request.dataType, Maybe.maybe(request.dataId), request.params);\n }\n else {\n routePromise = Promise.resolve(request.route);\n }\n return routePromise.then(route => {\n return legacyControlBus.sendRequest(route, request.method, request.body);\n });\n}\nexport function resolveDataURL(legacyControlBus, dataType, dataIdM, params = {}) {\n const [category, type] = dataType.split('::');\n const dataURLOrResolver = dataURLMap[category][type] || dataURLMap[category].default;\n const dataURL = typeof dataURLOrResolver === 'string'\n ? Promise.resolve(dataURLOrResolver)\n : dataURLOrResolver(legacyControlBus);\n return dataURL.then(url => `${url}${dataIdM.map(id => `/${id}`).withDefault('')}${buildQueryParams(params)}`);\n}\nfunction buildQueryParams(params) {\n const paramString = Object.keys(params)\n .map(key => `${key}=${params[key]}`)\n .join('&');\n return (paramString && '?'.concat(paramString)) || '';\n}\nconst dataURLMap = {\n Account: {\n default: 'mobilews/account'\n },\n Accounts: {\n default: 'mobilews/accounts'\n },\n FormData: {\n default: '',\n FundsTransfer: 'mobilews/transactionForm/fundsTransfer'\n },\n Goals: {\n Categories: 'hq/core/goalsCategoryMapping',\n CreateGoal: (legacyControlBus) => createAccountURLByType(legacyControlBus, 'Goal')\n },\n FundsTransfer: {\n Create: 'mobilews/transaction/fundsTransfer'\n },\n PRIVATE: {\n systemConfig: 'q2Config'\n }\n};\nfunction createAccountURLByType(legacyControlBus, type) {\n const [productTypeCode, productCode] = TECTON_ACCOUNT_TYPE_PRODUCT_CODES[type];\n return getAccountProductIDByType(legacyControlBus, productTypeCode, productCode).then(productId => `mobilews/account/${productId}`);\n}\nconst getAccountProductIDByType = (function () {\n let accountProducts;\n return function (legacyControlBus, productTypeCode, productCode) {\n let productPromise;\n if (Array.isArray(accountProducts)) {\n productPromise = Promise.resolve(accountProducts);\n }\n else {\n productPromise = legacyControlBus.sendRequest('hq/core/productAndType', 'GET').then(function (xhr) {\n accountProducts = xhr.response.data;\n return accountProducts;\n });\n }\n return productPromise.then((productsResponse) => {\n const products = productsResponse;\n return products.find(product => {\n return (product.hydraProductTypeCode === productTypeCode &&\n product.hydraProductCode === productCode);\n }).productID;\n });\n };\n})();\n","import { platformDataRequest } from '../sources/requestPlatformDataSetup';\nimport { Maybe } from 'maybe-not';\nexport default function setupGetTypeValue(messageBus, legacyControlBus, teardowns) {\n const subscription = messageBus.sendResponse('getValueType', (messageBody) => {\n const providedTypeM = messageBody.providedType\n ? Maybe.just(messageBody.providedType)\n : Maybe.nothing();\n return getTypeValue(legacyControlBus, messageBody.baseContext, messageBody.valueId, providedTypeM);\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function getTypeValue(legacyControlBus, baseDataType, valueId, providedTypeM) {\n const providedType = providedTypeM.withDefault('');\n if (providedType !== '') {\n return Promise.resolve(providedType);\n }\n return platformDataRequest(legacyControlBus, {\n dataType: baseDataType,\n dataId: valueId,\n method: 'GET'\n })\n .then(data => resolveSpecificTypeByData(baseDataType, data.response.data))\n .catch(() => baseDataType);\n}\nfunction resolveSpecificTypeByData(baseType, data) {\n const [typeCategory] = baseType.split('::');\n return resolver[`resolveTypeOf${typeCategory}`](data);\n}\nconst resolver = {};\nresolver.resolveTypeOfAccount = function (data) {\n if (!data.extended) {\n return 'Account::Q2Account';\n }\n return `Account::${ACCOUNT_TYPES_BY_CODE[`${data.extended.hydraProductTypeCode}${data.extended.hydraProductCode}`] || 'Q2Account'}`;\n};\nresolver.resolveTypeOfTransaction = function (data) {\n const posted = data.transactionType === 'Memo' ? 'M' : 'P';\n if (posted === 'M') {\n return 'Transaction::Q2Transaction::Memo';\n }\n if (!data.extended) {\n return 'Transaction::Q2Transaction';\n }\n return `Transaction::${TRANSACTION_TYPES_BY_CODE[`${data.extended.dorC}${data.extended.ofxTranType}`] || 'Q2Transaction'}`;\n};\nconst ACCOUNT_TYPES_BY_CODE = {\n DC: 'Checking',\n DM: 'MoneyMarket',\n DS: 'Savings',\n DT: 'CertificateOfDeposit',\n DG: 'Goal',\n DP: 'PlanBasedInvestment',\n DI: 'IRABasedInvestment',\n DB: 'BrokerageBasedInvestment',\n LL: 'LineOfCredit',\n LI: 'Installment',\n LC: 'Commercial',\n LM: 'Mortgage',\n LH: 'HomeEquity',\n CM: 'MasterCard',\n CV: 'Visa',\n CD: 'Discover',\n CA: 'AmericanExpress'\n};\nconst TRANSACTION_TYPES_BY_CODE = {\n CCREDIT: 'GenericCredit',\n CINT: 'InterestCredit',\n CDIV: 'Dividend',\n CDEP: 'Deposit',\n CATM: 'ATMCredit',\n CPOS: 'POSCredit',\n CXFER: 'TransferCredit',\n CDIRECTDEP: 'DirectDeposit',\n CHOLD: 'HoldCredit',\n COTHER: 'OtherCredit',\n DDEBIT: 'GenericDebit',\n DINT: 'InterestDebit',\n DFEE: 'Fee',\n DSRVCHG: 'ServiceCharge',\n DATM: 'ATMDebit',\n DPOS: 'POSDebit',\n DXFER: 'TransferDebit',\n DPAYMENT: 'Payment',\n DCHECK: 'Check',\n DCASH: 'Cash',\n DDIRECTDEBIT: 'DirectDebit',\n DREPEATPMT: 'RepeatPayment',\n DOTHER: 'OtherDebit'\n};\n","export default function getModuleParams(moduleId, params = {}) {\n return Object.keys(params)\n .filter(item => {\n const lastIndex = item.lastIndexOf('.');\n const outletId = item.slice(0, lastIndex);\n return outletId.startsWith(moduleId);\n })\n .reduce((accumulator, item) => {\n const lastIndex = item.lastIndexOf('.');\n const key = item.substring(lastIndex + 1);\n accumulator[key] = params[item];\n return accumulator;\n }, Object.create({}));\n}\n","import { Maybe } from 'maybe-not';\nimport { getTypeValue } from './setupGetTypeValue';\nimport { getTypePath } from 'q2-tecton-common/lib/models/data-types/hierarchy';\nimport getModuleParams from './getModuleParams';\nexport default function setupResolveFeature(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n /**\n * Uses outlet info to get the JSON config for a feature\n * @internal\n */\n const subscription = messageBus.sendResponse('resolveFeature', async (messageBody) => {\n const resolvedInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedInfo.configPath, resolvedInfo.treeFromRoot);\n const moduleFeatureManifest = await legacyControlBus.dynamicConfigFetch(resolvedInfo.featureName);\n const outletType = moduleFeatureManifest.modules[resolvedInfo.moduleName].meta.outlets[resolvedInfo.outletName];\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueId = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const moduleLookups = platformConfig.configuredOutlets[resolvedInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n return resolveFeature(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueId, moduleLookups, providedTypeM, tectonConfig, resolvedInfo.featureName, resolvedInfo.moduleName).then((featureM) => {\n return featureM.withDefault({\n moduleId: '',\n featureName: '',\n initialParams: {},\n url: '',\n minHeight: '',\n formPostAuth: false,\n loadingOptions: {\n loaders: [\n {\n type: 'spinner',\n shape: 'half-circle',\n row: 1\n }\n ]\n }\n });\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, moduleLookups, providedTypeM, tectonConfig, hostFeatureName, hostModuleName) {\n return getTypeValueIfContextual(legacyControlBus, baseContextM, contextValueIdM, providedTypeM)\n .then(async (valueTypeM) => {\n const modulesFromLookups = await resolveLookups(legacyControlBus.dynamicConfigFetch, moduleLookups);\n const typedResolutionM = valueTypeM\n .map(getTypePath)\n .bind((compatibleTypesByPriority) => findMatchByPriority(modulesFromLookups, compatibleTypesByPriority));\n const unTypedResolutionM = Maybe.maybe(modulesFromLookups[0]);\n return valueTypeM\n .map(() => typedResolutionM)\n .altMap(() => Maybe.just(unTypedResolutionM))\n .bind(val => val);\n })\n .then(async (feature) => {\n return feature.map(val => {\n var _a, _b, _c, _d;\n const moduleId = `${outletPath}.${val.featureName}.${val.moduleName}`;\n const hostModulePermissions = ((_b = (_a = tectonConfig.features[hostFeatureName]) === null || _a === void 0 ? void 0 : _a.modules[hostModuleName]) === null || _b === void 0 ? void 0 : _b.requiredUserCapabilities) || [];\n const modulePermissions = ((_d = (_c = tectonConfig.features[val.featureName]) === null || _c === void 0 ? void 0 : _c.modules[val.moduleName]) === null || _d === void 0 ? void 0 : _d.requiredUserCapabilities) || [];\n const allPermissions = [\n ...new Set([...hostModulePermissions, ...modulePermissions])\n ];\n return {\n moduleId,\n initialParams: getModuleParams(moduleId, params$.getValue().currentParams),\n featureName: val.featureName,\n url: val.url,\n minHeight: val.meta.type.minHeight || '',\n tabLabelOverride: val.tabLabelOverride,\n formPostAuth: !!val.formPostAuth,\n loadingOptions: val.loadingOptions,\n additionalDomains: val.additionalDomains,\n allowDirectives: val.allowDirectives,\n requiredUserCapabilities: allPermissions\n };\n });\n });\n}\nexport function getTypeValueIfContextual(legacyControlBus, baseContextM, contextValueIdM, providedTypeM) {\n return Maybe.sequence([baseContextM, contextValueIdM])\n .map(([baseContext, valueId]) => {\n return getTypeValue(legacyControlBus, baseContext, valueId, providedTypeM).then(Maybe.just);\n })\n .withDefaultFn(() => Promise.resolve(Maybe.nothing()));\n}\nfunction resolveLookups(dynamicConfigFetch, moduleLookups) {\n return Promise.all(moduleLookups.map(async (lookup) => {\n const featureManifest = await dynamicConfigFetch(lookup.featureName);\n const resolvedManifest = featureManifest.modules[lookup.moduleName];\n const additionalDomains = featureManifest.additionalDomains;\n const allowDirectives = featureManifest.allowDirectives;\n return Object.assign(Object.assign(Object.assign({}, lookup), resolvedManifest), { additionalDomains, allowDirectives });\n }));\n}\nfunction findMatchByPriority(modules, prioritizedTypes) {\n return Maybe.maybe(modules.find((moduleConfig) => {\n return moduleConfig.meta.type.context === prioritizedTypes[0];\n })).altMap(() => (prioritizedTypes.length === 0 &&\n Maybe.nothing()) ||\n findMatchByPriority(modules, prioritizedTypes.slice(1)));\n}\n/**\n * Construct a dotnation path through the actual config for this request (configPath).\n * It also returns some ancillary information to that path.\n *\n * @remarks\n *\n * using the modulo 3 check to determine if the path that is passed in ends at a module definition or a outlet definition:\n * outlet : legacy.AccountDetails.configuredOutlets.topBanner\n * module : tectonRoute.TectonCanary.canary\n */\nexport async function getPathResolutionInfo(path, dynamicFetch) {\n const pathType = path.length % 3 === 1 ? 'outlet' : 'module';\n const resolveType = path[0];\n const isLegacyRoot = path.length < 5;\n let configPath;\n let basePlatformConfig;\n let featureName;\n let moduleName;\n let outletName;\n if (resolveType === 'tectonOverpanel') {\n configPath = generateTectonConfigPathFromModuleId({\n path: path.slice(2),\n outletModuloVal: 2\n });\n const featureConfig = await dynamicFetch(path[1]);\n basePlatformConfig = featureConfig.configuredOverpanels[path[2]];\n }\n else {\n configPath = generateTectonConfigPathFromModuleId({\n path: path.slice(3),\n outletModuloVal: 0\n });\n basePlatformConfig = await dynamicFetch(path[1], path[2]);\n }\n if (pathType === 'outlet') {\n if (isLegacyRoot) {\n featureName = basePlatformConfig.featureName;\n moduleName = basePlatformConfig.moduleName;\n }\n else {\n featureName = path[path.length - 3];\n moduleName = path[path.length - 2];\n }\n outletName = path[path.length - 1];\n configPath = configPath.slice(0, -2);\n return {\n pathType,\n featureName,\n moduleName,\n outletName,\n configPath,\n pathOrigin: resolveType,\n treeFromRoot: basePlatformConfig\n };\n }\n if (isLegacyRoot) {\n featureName = basePlatformConfig.featureName;\n moduleName = basePlatformConfig.moduleName;\n }\n else {\n featureName = path[path.length - 2];\n moduleName = path[path.length - 1];\n }\n return {\n pathType,\n featureName,\n moduleName,\n configPath,\n pathOrigin: resolveType,\n treeFromRoot: basePlatformConfig\n };\n}\nexport function generateTectonConfigPathFromModuleId({ path, outletModuloVal }) {\n const moduleModuloVal = outletModuloVal + (2 % 3);\n return path.reduce((acc, pathItem, index) => {\n if (index % 3 === outletModuloVal) {\n return acc.concat(['configuredOutlets', pathItem]);\n }\n if (index % 3 === moduleModuloVal && index !== 2) {\n const featureName = acc[acc.length - 1];\n acc[acc.length - 1] = `${featureName}-${pathItem}`;\n return acc;\n }\n else {\n return acc.concat(pathItem);\n }\n }, []);\n}\nexport function resolveTectonPath(path, moduleTree) {\n return path.reduce((acc, pathItem) => {\n if (Array.isArray(acc)) {\n const [featureName, moduleName] = pathItem.split('-');\n if (acc[0].hasOwnProperty('tabLabel')) {\n return findModuleInArrayConfig(acc, matchModulebyFeatureName(featureName, moduleName));\n }\n else if (acc[0].hasOwnProperty('menuItemLabel')) {\n return findModuleInArrayConfig(acc, matchModulebyFeatureName(featureName, moduleName));\n }\n else {\n return acc.find(matchModulebyFeatureName(featureName, moduleName));\n }\n }\n else {\n return acc[pathItem];\n }\n }, moduleTree);\n}\nexport function findModuleInArrayConfig(arr, testFn) {\n let nestedIndex = -1;\n const topLevelResolve = arr.find(itemArr => {\n nestedIndex = itemArr.modules.findIndex(testFn);\n return nestedIndex !== -1;\n });\n if (topLevelResolve) {\n return topLevelResolve.modules[nestedIndex];\n }\n}\nexport function matchModulebyFeatureName(featureName, moduleName) {\n return item => {\n return item.featureName === featureName && item.moduleName === moduleName;\n };\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nimport validateActionParameters from '../utility/validateActionParameters';\n/**\n * Setup the showOverpanel API\n *\n * @remark\n * Deprecate this signature in Tecton 2.0 to make the interface more sane\n * i.e. Make the outletId not the first argument. We had to do it this way for\n * backwards compatibility.\n *\n * useRouteConfig is for contextual menu cases\n * legacy is for overpanels that are not in an extension\n */\nexport default function showOverpanelSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showOverpanel) {\n capabilities.add('showOverpanel');\n const subscription = messageBus.sendResponse('showOverpanel', async (messageBody) => {\n var _a, _b, _c;\n let overpanelConfig;\n let overpanelConfigPath;\n if (messageBody.useRouteConfig) {\n // use the feature they want to go to\n // overpanelPath is featureName.moduleName\n const [featureName, moduleName] = messageBody.overpanelPath.split('.');\n overpanelConfig = await legacyControlBus.dynamicConfigFetch(featureName, moduleName);\n overpanelConfigPath = messageBody.overpanelPath;\n }\n else {\n // use the feature they are in\n // overpanelPath is the name of the overpanel\n const resolvedInfo = await getPathResolutionInfo(messageBody.moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n overpanelConfig = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.configuredOverpanels[messageBody.overpanelPath]);\n overpanelConfigPath = `${resolvedInfo.featureName}.${messageBody.overpanelPath}`;\n }\n const featureConfig = await legacyControlBus.dynamicConfigFetch(overpanelConfig.featureName);\n if (featureConfig.legacy && !featureConfig.legacyOverpanelName) {\n throw new Error('Tried to call a legacy overpanel, but config is missing a legacyOverpanelName');\n }\n const actionParameters = featureConfig.modules[overpanelConfig.moduleName].meta.params;\n validateActionParameters(messageBody.params, actionParameters);\n if (messageBody.params && legacyControlBus.updateParams && !featureConfig.legacy) {\n legacyControlBus.updateParams(`tectonOverpanel.${overpanelConfigPath}`, messageBody.params, actionParameters);\n }\n const overpanelId = featureConfig.legacy && messageBody.params\n ? JSON.stringify(messageBody.params)\n : overpanelConfigPath;\n const legacyOverpanelName = featureConfig.legacy\n ? featureConfig.legacyOverpanelName\n : undefined;\n const size = (_a = messageBody.options) === null || _a === void 0 ? void 0 : _a.size;\n const height = (_b = messageBody.options) === null || _b === void 0 ? void 0 : _b.height;\n const fullWidth = (_c = messageBody.options) === null || _c === void 0 ? void 0 : _c.fullWidth;\n return legacyControlBus.showOverpanel(overpanelId, !!fullWidth, legacyOverpanelName, size, height);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function validateActionParameters(candidateSubset, configuredParameters) {\n if (candidateSubset === undefined || candidateSubset === null) {\n return true;\n }\n if (configuredParameters === undefined) {\n throw new Error(`params for action are not configured, yet ${JSON.stringify(candidateSubset)} was passed to action`);\n }\n const invalidKeys = [];\n Object.keys(candidateSubset).forEach(key => {\n if (!configuredParameters[key]) {\n invalidKeys.push(key);\n }\n });\n if (invalidKeys.length > 0) {\n throw new Error(`The following parameter(s) passed to action is/are not configured for the action: [${invalidKeys.join(', ')}]`);\n }\n return true;\n}\n","import pick from 'q2-tecton-common/lib/utility/pick';\nexport default function sendAlertSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.sendAlert) {\n capabilities.add('sendAlert');\n const subscription = messageBus\n .onMessage('sendAlert')\n .subscribe(message => {\n const cleanedMessage = pick([\n 'msg',\n 'message',\n 'styleType',\n 'closable',\n 'durationInMs',\n 'onClickNavigation'\n ], message.value);\n legacyControlBus.sendAlert(cleanedMessage);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function pick(props, obj) {\n return props.reduce((memo, prop) => {\n if (prop in obj) {\n return Object.assign(Object.assign({}, memo), { [prop]: obj[prop] });\n }\n return memo;\n }, {});\n}\n//# sourceMappingURL=pick.js.map","import authorizeTransactionWithMfaSetup from './authorizeTransactionWithMfaSetup';\nimport navigateToSetup from './navigateToSetup';\nimport showOverpanelSetup from './showOverpanelSetup';\nimport setupTectonLanguage from './t';\nimport closeOverpanelSetup from './closeOverpanelSetup';\nimport setTitleSetup from './setTitleSetup';\nimport setParamsSetup from './setParamsSetup';\nimport clearParamsSetup from './clearParamsSetup';\nimport refetchAccountsSetup from './refetchAccountsSetup';\nimport sendAlertSetup from './sendAlertSetup';\nimport showModalSetup from './showModalSetup';\nimport printWindowSetup from './printWindowSetup';\nimport loadingModalSetup from './loadingModalSetup';\nimport keepAliveSetup from './keepAliveSetup';\nimport scrollToTop from './scrollToTopSetup';\nimport openURLSetup from './openURLSetup';\nimport clearCacheSetup from './clearCacheSetup';\nimport logToServerSetup from './logToServerSetup';\nimport manageChangesSetup from './manageChangesSetup';\nimport { actionRequired, removeActionRequired } from './actionRequiredSetup';\nexport default function setupActions(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n authorizeTransactionWithMfaSetup(messageBus, legacyControlBus, capabilities, teardowns);\n showOverpanelSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n closeOverpanelSetup(messageBus, legacyControlBus, capabilities, teardowns);\n navigateToSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n setTitleSetup(messageBus, legacyControlBus, tectonConfig$, capabilities, teardowns);\n setParamsSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n clearParamsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n setupTectonLanguage(messageBus, legacyControlBus, capabilities, teardowns);\n sendAlertSetup(messageBus, legacyControlBus, capabilities, teardowns);\n showModalSetup(messageBus, legacyControlBus, capabilities, teardowns);\n loadingModalSetup(messageBus, legacyControlBus, capabilities, teardowns);\n printWindowSetup(messageBus, teardowns);\n keepAliveSetup(messageBus, legacyControlBus, capabilities, teardowns);\n logToServerSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n openURLSetup(messageBus, legacyControlBus, capabilities, teardowns);\n scrollToTop(messageBus, capabilities, teardowns);\n clearCacheSetup(messageBus, legacyControlBus, capabilities, teardowns);\n manageChangesSetup(messageBus, legacyControlBus, capabilities, teardowns);\n actionRequired(messageBus, legacyControlBus, capabilities, teardowns);\n removeActionRequired(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","export default function authorizeTransactionWithMfaSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.authorizeTransactionWithMfa) {\n capabilities.add('authorizeTransactionWithMfa');\n const subscription = messageBus.sendResponse('authorizeTransactionWithMfa', async (promptOptions) => {\n return legacyControlBus.authorizeTransactionWithMfa(promptOptions);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { map } from 'rxjs/operators';\nexport default function closeOverpanelSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.closeOverpanel) {\n capabilities.add('closeOverpanel');\n const subscription = messageBus\n .onMessage('closeOverpanel')\n .pipe(map(response => response.value))\n .subscribe(legacyControlBus.closeOverpanel);\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import getNavigationData from '../utility/getNavigationData';\nimport { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function navigateToSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.navigateTo) {\n capabilities.add('navigateTo');\n const subscription = messageBus\n .onMessage('navigateTo')\n .subscribe(async (response) => {\n const { moduleName, urlParams, queryParams, moduleId } = response.value;\n let { featureName } = response.value;\n if (!featureName && moduleId) {\n featureName = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(info => {\n return info.featureName;\n });\n }\n const navData = getNavigationData(tectonConfig$, featureName, moduleName);\n navData.map(navData => {\n if (!navData.navigable) {\n return;\n }\n if (navData.legacy) {\n legacyControlBus.navigateTo(true, navData.key, urlParams, queryParams);\n }\n else {\n const tectonConfig = tectonConfig$.getValue();\n const featureConfig = tectonConfig.features[featureName];\n const targetModuleId = `tectonRoute.${navData.key}`;\n if (queryParams && legacyControlBus.updateParams) {\n legacyControlBus.updateParams(targetModuleId, queryParams, featureConfig.modules[navData.key.split('.')[1]].meta.params);\n }\n legacyControlBus.navigateTo(false, navData.key);\n }\n });\n if (navData.hasNothing) {\n legacyControlBus.navigateTo(true, featureName, urlParams, queryParams);\n }\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function setTitleSetup(messageBus, legacyControlBus, tectonConfig$, capabilities, teardowns) {\n if (legacyControlBus.setOverpanelTitle || legacyControlBus.setPageTitle) {\n if (legacyControlBus.setOverpanelTitle) {\n capabilities.add('setOverpanelTitle');\n }\n if (legacyControlBus.setPageTitle) {\n capabilities.add('setPageTitle');\n }\n const subscription = messageBus\n .onMessage('setTitle')\n .subscribe(async (response) => {\n const pathOrigin = await getPathResolutionInfo(response.value.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.pathOrigin);\n if (pathOrigin === 'tectonOverpanel' && legacyControlBus.setOverpanelTitle) {\n legacyControlBus.setOverpanelTitle(response.value.title);\n }\n else if (legacyControlBus.setPageTitle) {\n legacyControlBus.setPageTitle(response.value.title);\n }\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function setParamsSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.updateParams) {\n capabilities.add('setParams');\n const subscription = messageBus\n .onMessage('setParams')\n .subscribe(async (message) => {\n const { moduleId, params } = message.value;\n const resolvedInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n const paramsObject = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.modules[resolvedInfo.moduleName].meta.params);\n legacyControlBus.updateParams(moduleId, params, paramsObject);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function clearParamsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.clearParams) {\n capabilities.add('clearParams');\n const subscription = messageBus\n .onMessage('clearParams')\n .subscribe(response => {\n legacyControlBus.clearParams(response.value.moduleId);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchAccountsNotification &&\n legacyControlBus.clearCacheByPrefix &&\n legacyControlBus.clearTransferCache) {\n capabilities.add('refetchAccountsNotification');\n const subscription = messageBus.onMessage('refetchAccountsNotification').subscribe(() => {\n legacyControlBus.clearCacheByPrefix('mobilews/account');\n legacyControlBus.clearTransferCache();\n legacyControlBus.refetchAccountsNotification();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport { Maybe } from 'maybe-not';\n// TODO: This should probably be a source, not an action\nexport default function setupTectonLanguage(messageBus, legacyControlBus, capabilities, teardowns) {\n const language = legacyControlBus.getCurrentLanguage();\n const currentLanguage$ = new BehaviorSubject(language);\n if (legacyControlBus.languageChanged) {\n capabilities.add('languageChanged');\n legacyControlBus.languageChanged((langKey) => {\n currentLanguage$.next(langKey);\n });\n }\n const currentLanguageSubscription = currentLanguage$.subscribe((langKey = 'en-US') => {\n sendBroadcast('streamLanguage', Maybe.just(JSON.stringify({ langKey })));\n });\n const currentLanguageResponseSubscription = messageBus.sendResponse('getCurrentLanguage', () => {\n return Promise.resolve({ langKey: currentLanguage$.getValue() });\n });\n teardowns.push(() => {\n [currentLanguageSubscription, currentLanguageResponseSubscription].forEach(subscription => subscription.unsubscribe());\n });\n}\n","export default function showModalSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showModal) {\n capabilities.add('sendModal');\n const subscription = messageBus.sendResponse('sendModal', modalOptions => {\n return legacyControlBus.showModal(modalOptions).then(actionName => {\n return { actionName };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function loadingModalSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.showLoadingModal) {\n capabilities.add('showLoadingModal');\n const subscription = messageBus\n .onMessage('showLoadingModal')\n .subscribe(response => {\n legacyControlBus.showLoadingModal(response.value.title);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n if (legacyControlBus.clearLoadingModal) {\n capabilities.add('clearLoadingModal');\n const subscription = messageBus.onMessage('clearLoadingModal').subscribe(() => {\n legacyControlBus.clearLoadingModal();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function printWindowSetup(messageBus, teardowns) {\n const subscriptions = messageBus.onMessage('printWindow').subscribe(() => {\n var _a;\n const inMobileApp = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.inMobileApp;\n if (inMobileApp === true) {\n console.info('printWindow does not support e-banking mobile app environment.');\n }\n else {\n document.body.focus();\n window.print();\n }\n });\n teardowns.push(() => subscriptions.unsubscribe());\n}\n","export default function keepAliveSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.keepAlive) {\n capabilities.add('keepAlive');\n const subscription = messageBus\n .onMessage('keepAlive')\n .subscribe(legacyControlBus.keepAlive);\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function logToServerSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.logToServer) {\n capabilities.add('logToServer');\n const subscription = messageBus\n .onMessage('logToServer')\n .subscribe(async (message) => {\n const moduleId = await getPathResolutionInfo(message.value.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(resolvedInfo => resolvedInfo.featureName);\n legacyControlBus.logToServer(moduleId, message.value.message, message.value.level || 'info');\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function openURLSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.openURL) {\n capabilities.add('openURL');\n const sub = messageBus\n .onMessage('openURL')\n .subscribe(message => {\n const { url, options } = message.value;\n legacyControlBus.openURL(url, options);\n });\n teardowns.push(() => sub.unsubscribe());\n }\n}\n","export default function scrollToTopSetup(messageBus, capabilities, teardowns) {\n capabilities.add('scrollToTop');\n const subscriptions = messageBus.onMessage('scrollToTop').subscribe(() => {\n window.scrollTo(0, 0);\n });\n teardowns.push(() => subscriptions.unsubscribe());\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { Maybe } from 'maybe-not';\nexport default function refetchAccountsSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.clearCacheByPrefix) {\n capabilities.add('clearCache');\n capabilities.add('cacheCleared');\n const subscription = messageBus.sendResponse('clearCache', function ({ routePrefixes }) {\n routePrefixes.forEach(function (route) {\n legacyControlBus.clearCacheByPrefix(route);\n sendBroadcast('cacheCleared', Maybe.just(JSON.stringify({ cleared: route })));\n });\n return Promise.resolve();\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function manageChangesSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.manageChanges) {\n capabilities.add('manageChanges');\n const subscription = messageBus.sendResponse('manageChanges', messageBody => {\n return legacyControlBus.manageChanges(messageBody.changeData);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export function actionRequired(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.actionRequired && legacyControlBus.removeActionRequired) {\n capabilities.add('actionRequired');\n const subscription = messageBus\n .onMessage('actionRequired')\n .subscribe(request => {\n legacyControlBus.actionRequired(request.value.uuid, request.value.title, request.value.message);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\nexport function removeActionRequired(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.actionRequired && legacyControlBus.removeActionRequired) {\n capabilities.add('removeActionRequired');\n const subscription = messageBus\n .onMessage('removeActionRequired')\n .subscribe(request => {\n legacyControlBus.removeActionRequired(request.value.uuid);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export function scrollYHelper() {\n return window.scrollY;\n}\nexport function innerHeightHelper() {\n return window.innerHeight;\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { Maybe } from 'maybe-not';\nimport getModuleParams from '../private-helpers/getModuleParams';\nexport default function setupModuleParams(moduleParams$, teardowns) {\n const subscription = moduleParams$.subscribe((paramsChanged) => {\n const modules = _getModules(Object.assign(Object.assign({}, paramsChanged.changedParams), paramsChanged.currentParams));\n modules.forEach(moduleId => {\n const changedModuleParams = getModuleParams(moduleId, paramsChanged.changedParams);\n const currentModuleParams = getModuleParams(moduleId, paramsChanged.currentParams);\n sendBroadcast('streamParams::' + moduleId, Maybe.just(JSON.stringify({\n changedParams: changedModuleParams,\n currentParams: currentModuleParams\n })));\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nfunction _getModules(params) {\n const modules = [];\n return Object.keys(params).reduce((accumulator, key) => {\n const deconstructedKey = key.split('.');\n const moduleId = deconstructedKey.slice(0, -1).join('.');\n if (accumulator.indexOf(moduleId) === -1) {\n accumulator.push(moduleId);\n }\n return accumulator;\n }, modules);\n}\n","const TECTON_CACHE_NAMESPACE_KEY = 'q2.tectonCache';\nfunction _buildCacheKey(moduleId, key) {\n return `${moduleId}.${key}`;\n}\nfunction _browserSupportsSessionStorage() {\n const browserSupportsGetItem = !!sessionStorage.getItem;\n const browserSupportsSetItem = !!sessionStorage.setItem;\n const browserSupportsRemoveSetItem = !!sessionStorage.removeItem;\n return browserSupportsGetItem && browserSupportsSetItem && browserSupportsRemoveSetItem;\n}\nexport default function tectonCacheSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (!legacyControlBus.registerLogoffHook || !_browserSupportsSessionStorage()) {\n return;\n }\n capabilities.add('tectonCache');\n legacyControlBus.registerLogoffHook(() => {\n sessionStorage.removeItem(TECTON_CACHE_NAMESPACE_KEY);\n });\n const getSubscription = messageBus.sendResponse('getCache', request => {\n const cacheKey = _buildCacheKey(request.moduleId, request.key);\n const tectonCache = JSON.parse(sessionStorage.getItem(TECTON_CACHE_NAMESPACE_KEY) || '{}');\n const cachedData = tectonCache[cacheKey] || {};\n return Promise.resolve(cachedData);\n });\n teardowns.push(() => getSubscription.unsubscribe());\n const setSubscription = messageBus.sendResponse('setCache', request => {\n const subStorageKey = _buildCacheKey(request.moduleId, request.key);\n const tectonCache = JSON.parse(sessionStorage.getItem(TECTON_CACHE_NAMESPACE_KEY) || '{}');\n tectonCache[subStorageKey] = request.data;\n sessionStorage.setItem(TECTON_CACHE_NAMESPACE_KEY, JSON.stringify(tectonCache));\n return Promise.resolve();\n });\n teardowns.push(() => setSubscription.unsubscribe());\n}\n","import cacheClearedSetup from './cacheClearedSetup';\nimport canUserSetup from './canUserSetup';\nimport getFeatureConfigSetup from './getFeatureConfigSetup';\nimport getPendoInfoSetup from './getPendoInfoSetup';\nimport getPlatformInfoSetup from './getPlatformInfoSetup';\nimport getVersionInfoSetup from './getVersionInfoSetup';\nimport getAuthTokenSetup from './getAuthTokenSetup';\nimport getGlobalScriptsSetup from './getGlobalScriptsSetup';\nimport isNavigableSetup from './isNavigableSetup';\nimport platformScrollChanged from './platformScrollChangedSetup';\nimport promptForMFA from './promptForMFASetup';\nimport refetchRequiredSetup from './refetchRequiredSetup';\nimport requestExtensionDataSetup from './requestExtensionDataSetup';\nimport requestPlatformDataSetup from './requestPlatformDataSetup';\nimport setupModuleParams from './setupModuleParams';\nimport takePictureSetup from './takePictureSetup';\nimport tectonCacheSetup from './tectonCacheSetup';\nexport default function setupSources(messageBus, legacyControlBus, moduleParams$, tectonConfig$, capabilities, teardowns) {\n cacheClearedSetup(messageBus, legacyControlBus, capabilities, teardowns);\n canUserSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getFeatureConfigSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n getPendoInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getPlatformInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getVersionInfoSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getAuthTokenSetup(messageBus, legacyControlBus, capabilities, teardowns);\n getGlobalScriptsSetup(messageBus, legacyControlBus, capabilities, teardowns);\n isNavigableSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n platformScrollChanged(messageBus, legacyControlBus, capabilities, teardowns);\n promptForMFA(messageBus, legacyControlBus, capabilities, teardowns);\n refetchRequiredSetup(messageBus, legacyControlBus, capabilities, teardowns);\n requestExtensionDataSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n requestPlatformDataSetup(messageBus, legacyControlBus, capabilities, teardowns);\n setupModuleParams(moduleParams$, teardowns);\n takePictureSetup(messageBus, legacyControlBus, capabilities, teardowns);\n tectonCacheSetup(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","import { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function cacheClearedSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchRequired) {\n capabilities.add('cacheCleared');\n legacyControlBus.refetchRequired((type) => {\n sendBroadcast('cacheCleared', Maybe.just(JSON.stringify({ cleared: type })));\n });\n }\n}\n","export default function canUserSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getCapabilities) {\n capabilities.add('canUser');\n const subscription = messageBus.sendResponse('canUser', ({ capabilities }) => {\n return Promise.resolve({\n allowed: Object.values(legacyControlBus.getCapabilities(...capabilities)).every(Boolean)\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function getFeatureConfigSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getFeatureConfig) {\n capabilities.add('getFeatureConfig');\n const subscription = messageBus.sendResponse('getFeatureConfig', async ({ moduleId }) => {\n const resolvedInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n const declaredConfigVariables = await legacyControlBus\n .dynamicConfigFetch(resolvedInfo.featureName)\n .then(x => x.configuredSystemVariables || []);\n if (!declaredConfigVariables.length) {\n return Promise.resolve({ config: {} });\n }\n return legacyControlBus\n .getFeatureConfig(declaredConfigVariables)\n .then(featureConfig => {\n return { config: featureConfig };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getPendoInfoSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getPendoInfo) {\n capabilities.add('getPendoInfo');\n const subscription = messageBus.sendResponse('getPendoInfo', () => {\n return Promise.resolve(legacyControlBus.getPendoInfo());\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getPlatformInfoSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getPlatformInfo) {\n capabilities.add('platformInfo');\n const subscription = messageBus.sendResponse('platformInfo', requestedInfo => {\n return legacyControlBus.getPlatformInfo(requestedInfo);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getVersionInfo(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getVersionInfo) {\n capabilities.add('getPlatformInfo');\n const subscription = messageBus.sendResponse('getPlatformInfo', () => {\n const returnedVars = legacyControlBus.getVersionInfo();\n return Promise.resolve(Object.assign(Object.assign({}, returnedVars), { TECTON_PLATFORM_VERSION: TECTONPLATFORMVERSION }));\n });\n teardowns.push(() => {\n subscription.unsubscribe();\n });\n }\n}\n","export default function getAuthTokenSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getAuthToken) {\n capabilities.add('authToken');\n const subscription = messageBus.sendResponse('authToken', () => legacyControlBus.getAuthToken());\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","export default function getGlobalScripts(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.getGlobalScripts) {\n capabilities.add('getGlobalScripts');\n const subscription = messageBus.sendResponse('getGlobalScripts', () => legacyControlBus.getGlobalScripts());\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import getNavigationData from '../utility/getNavigationData';\nexport default function isNavigableSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.isUUXPath && legacyControlBus.navigateTo) {\n capabilities.add('isNavigable');\n const subscription = messageBus.sendResponse('isNavigable', ({ featureName, moduleName }) => {\n const navigable = getNavigationData(tectonConfig$, featureName, moduleName)\n .map(navData => {\n return navData.navigable;\n })\n .withDefaultFn(() => {\n return legacyControlBus.isUUXPath(featureName);\n });\n return Promise.resolve({ navigable });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { innerHeightHelper, scrollYHelper } from '../utility/windowHelpers';\nimport { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function platformScrollChangedSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n capabilities.add('platformScrollChanged');\n function onScroll() {\n var _a;\n sendBroadcast(`platformScrollChanged`, Maybe.just(JSON.stringify(Object.assign({ scrollY: scrollYHelper(), innerHeight: innerHeightHelper() }, (_a = legacyControlBus.getSurroundingOffsets) === null || _a === void 0 ? void 0 : _a.call(legacyControlBus)))));\n }\n window.addEventListener('scroll', onScroll);\n const subscription = messageBus.sendResponse('getPlatformScroll', () => {\n var _a;\n return Promise.resolve(Object.assign({ scrollY: scrollYHelper(), innerHeight: innerHeightHelper() }, (_a = legacyControlBus.getSurroundingOffsets) === null || _a === void 0 ? void 0 : _a.call(legacyControlBus)));\n });\n teardowns.push(() => {\n subscription.unsubscribe();\n window.removeEventListener('scroll', onScroll);\n });\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function promptForMFASetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.promptForMFA) {\n capabilities.add('promptForMFA');\n const subscription = messageBus.sendResponse('promptForMFA', async (promptOptions) => {\n const featureName = await getPathResolutionInfo(promptOptions.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.featureName);\n return legacyControlBus.promptForMFA(featureName, promptOptions);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { Maybe } from 'maybe-not';\nimport { sendBroadcast } from '../utility/message-bus';\nexport default function refetchRequiredSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.refetchRequired) {\n capabilities.add('refetchRequired');\n legacyControlBus.refetchRequired((type) => {\n sendBroadcast(`refetchRequired::${type}`, Maybe.nothing());\n });\n }\n}\n","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport default function requestExtensionDataSetup(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns) {\n if (typeof legacyControlBus.requestExtensionData !== 'function') {\n return;\n }\n capabilities.add('requestExtensionData');\n const subscription = messageBus.sendResponse('requestExtensionData', async (message) => {\n const featureName = await getPathResolutionInfo(message.moduleId.split('.'), legacyControlBus.dynamicConfigFetch).then(x => x.featureName);\n return legacyControlBus.requestExtensionData(featureName, {\n route: message.route,\n body: message.body || {}\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function takePictureSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.takePicture) {\n capabilities.add('takePicture');\n const subscription = messageBus.sendResponse('takePicture', ({ overlayText, helpText }) => {\n return legacyControlBus.takePicture({\n overlayText,\n helpText\n }).then(image => ({ picture: image }));\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { generateCustomElementWrapper, createSetupElement } from 'dry-suite';\nimport { BehaviorSubject, fromEvent, merge } from 'rxjs';\nimport { map, filter, first, distinctUntilChanged, debounceTime } from 'rxjs/operators';\nconst legacyIframeResizerMessagePrefix = '[iFrameSizer]';\nconst tectonOutletBaseObservedAttrs = [\n { name: 'name', reflectAs: String },\n { name: 'minHeight', reflectAs: String },\n { name: 'overpanel', reflectAs: Boolean }\n];\nexport function makeTectonElement(elementName, { messageBus, props, moduleId, tectonOutletAdaptor, resize }) {\n const platformEngine = (customElement, props$) => {\n const DOM$ = new BehaviorSubject(document.createElement('div'));\n const settled$ = new BehaviorSubject(false);\n const outletNameSubscription = props$\n .pipe(map(props => props.name), filter(outletName => !!outletName), map(outletName => {\n // platform outlets do not have module Ids..as they did not originate in modules.\n // this code just makes sure we don't have duplicate periods due to an empty moduleId\n const moduleIdIfExists = moduleId ? `${moduleId}.` : '';\n return `${moduleIdIfExists}${outletName}`;\n }), distinctUntilChanged(), first())\n .subscribe(outletPath => {\n const adaptorResponse = tectonOutletAdaptor(messageBus, outletPath, customElement, props$, resize);\n const domSubscription = adaptorResponse.DOM$.subscribe(DOM$);\n const settledSubscription = adaptorResponse.settled$.subscribe(settled$);\n const teardownSubscription = adaptorResponse.teardown$.subscribe(teardown$);\n const effectSubscription = adaptorResponse.effect$.subscribe(effect => {\n if (customElement.__attached) {\n effect();\n }\n else {\n customElement.__onAttached.push(effect);\n }\n });\n adaptorResponse.teardown$.next(() => {\n domSubscription.unsubscribe();\n settledSubscription.unsubscribe();\n teardownSubscription.unsubscribe();\n effectSubscription.unsubscribe();\n });\n });\n const teardown$ = new BehaviorSubject(() => {\n outletNameSubscription.unsubscribe();\n });\n return {\n DOM$,\n settled$,\n teardown$\n };\n };\n return generateCustomElementWrapper(elementName, platformEngine, {\n useShadowDOM: true,\n props: tectonOutletBaseObservedAttrs.concat(props),\n css: `\n .root {\n height: 100%;\n width: 100%;\n }\n .outlet-wrapper.scrollable {\n height: 100%;\n }\n .loading-wrapper {\n height: 44px;\n width: 100%;\n align-items: center;\n justify-content: center;\n }\n .loading-wrapper:not([hidden]) {\n display: flex;\n }\n .loading-wrapper,\n .outlet-wrapper.scrollable iframe {\n height: 100%;\n }\n .outlet-wrapper iframe {\n width: 100%;\n height: auto;\n border: none;\n }\n .outlet-wrapper iframe:not([hidden]) {\n display: inline-block;\n }\n `\n });\n}\nexport const setupTectonElement = createSetupElement(makeTectonElement);\nexport function setupOutletIFrameWrapper(src, moduleId, authPayload, iframeTitle, maxHeight, maxWidth, canScroll, isFormPost, additionalDomainsConfig, allowDirectivesConfig) {\n const outletDOM = document.createElement('div');\n outletDOM.className = 'outlet-wrapper';\n const loaderSlot = document.createElement('slot');\n loaderSlot.name = 'loading-wrapper';\n const onLoads = [];\n const iframe = document.createElement('iframe');\n if (isFormPost) {\n const tectonSubmitForm = document.createElement('form');\n authPayload.forEach(function (item) {\n const tokenInput = document.createElement('input');\n tokenInput.name = item.key;\n tokenInput.setAttribute('value', item.value);\n tectonSubmitForm.appendChild(tokenInput);\n });\n tectonSubmitForm.hidden = true;\n tectonSubmitForm.method = 'post';\n tectonSubmitForm.action = src;\n tectonSubmitForm.target = moduleId;\n tectonSubmitForm.enctype = 'multipart/form-data';\n iframe.name = moduleId;\n outletDOM.appendChild(tectonSubmitForm);\n onLoads.push(function () {\n tectonSubmitForm.submit();\n outletDOM.removeChild(tectonSubmitForm);\n });\n }\n else {\n iframe.src = src;\n }\n iframe.title = iframeTitle;\n iframe.dataset.moduleId = moduleId;\n iframe.style.maxHeight = maxHeight;\n iframe.style.maxWidth = maxWidth;\n iframe.allow = _computeAllowString(additionalDomainsConfig, allowDirectivesConfig, src);\n // sdk uses this to send CONNECT to the right place\n outletDOM.appendChild(iframe);\n const initLegacyIframeResizer = () => {\n iframe.contentWindow &&\n iframe.contentWindow.postMessage(`${legacyIframeResizerMessagePrefix}${moduleId}:0:false:false:32:true:true:null:documentElementOffset`, '*');\n };\n onLoads.push(initLegacyIframeResizer);\n iframe.onload = function () {\n onLoads.forEach(onLoad => {\n onLoad();\n });\n iframe.onload = function () {\n return;\n };\n };\n if (canScroll) {\n outletDOM.classList.add('scrollable');\n }\n else {\n iframe.style.setProperty('overflow-y', 'hidden');\n iframe.scrolling = 'no';\n }\n iframe.hidden = true;\n outletDOM.appendChild(loaderSlot);\n return outletDOM;\n}\nfunction _computeAllowString(additionalDomainsConfig = [], allowDirectivesConfig = ['geolocation', 'camera'], src) {\n const url = new URL(src);\n let additionalDomains = [\"'self'\", `${url.origin}`];\n if (additionalDomainsConfig && additionalDomainsConfig.length > 0) {\n additionalDomains = [...additionalDomains, ...additionalDomainsConfig];\n }\n return allowDirectivesConfig.reduce(function (prev, cur) {\n return prev + `${cur} ${additionalDomains.join(' ')}; `;\n }, '');\n}\nexport function buildLoaders(loadingOptions) {\n const loaders = [];\n if (loadingOptions && loadingOptions.loaders) {\n const rowCount = loadingOptions.loaders.reduce((highestRow, currentOption) => currentOption.row > highestRow ? currentOption.row : highestRow, 0);\n for (let i = 0; i < rowCount; i++) {\n loaders.push([]);\n }\n for (const newLoader of loadingOptions.loaders) {\n const loader = document.createElement('q2-loading');\n loader.setAttribute('shape', newLoader.shape);\n loader.setAttribute('type', newLoader.type);\n loader.className = 'q2-col';\n newLoader.classList && loader.classList.add(...newLoader.classList);\n newLoader.style && loader.setAttribute('style', newLoader.style);\n newLoader.modifiers && loader.setAttribute('modifiers', newLoader.modifiers);\n newLoader.counts && loader.setAttribute('counts', newLoader.counts);\n newLoader.ariaLabel && loader.setAttribute('ariaLabel', newLoader.ariaLabel);\n loaders[newLoader.row - 1].push(loader);\n }\n }\n else {\n const loader = document.createElement('q2-loading');\n loaders.push([]);\n loader.classList.add('mrg(a)');\n loaders[0].push(loader);\n }\n return loaders;\n}\nexport function setupOutletInfo(messageBus, getModuleId, getContent) {\n return messageBus.sendResponse('requestOutletInfo', ({ moduleId }) => {\n if (moduleId !== getModuleId()) {\n return null;\n }\n const { iframeEl } = getContent();\n const bcRect = iframeEl.getBoundingClientRect();\n if (bcRect && Object.values(bcRect.toJSON()).find(v => v !== 0)) {\n return Promise.resolve(bcRect);\n }\n else {\n return null;\n }\n });\n}\nexport function setupOutletIFrameLoading(messageBus, getModuleId, getContent) {\n return messageBus\n .onMessage('setFetching')\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }))\n .subscribe(response => {\n const { loaderWrapper, iframeEl, minHeight = '0px' } = getContent();\n if (loaderWrapper && iframeEl) {\n const { fetching } = response.value;\n loaderWrapper.hidden = !fetching;\n iframeEl.hidden = fetching;\n loaderWrapper.style.minHeight = fetching ? minHeight : '0px';\n }\n });\n}\nexport function setupOutletSetTitleListener(messageBus, getModuleId, getContent) {\n return messageBus\n .onMessage('setTitle')\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }))\n .subscribe(response => {\n const { iframeEl } = getContent();\n iframeEl.title = response.value.title;\n });\n}\nexport function setupOutletIFrameResizer(messageBus, getModuleId, getContent, resize) {\n const v1Listener = fromEvent(window, 'message').pipe(filter(e => typeof e.data === 'string' && e.data.includes('iFrameSizer')), map(e => {\n const messageData = e.data\n .substr(legacyIframeResizerMessagePrefix.length)\n .split(':');\n const [moduleId, height] = messageData;\n return {\n value: {\n moduleId,\n height\n }\n };\n }));\n const v2Listener = messageBus.onMessage('resizeIframe');\n return merge(v1Listener, v2Listener)\n .pipe(filter(response => {\n // filter out message meant for other outletIds\n return response.value.moduleId === getModuleId();\n }), distinctUntilChanged((oldResponse, newResponse) => oldResponse.value.height === newResponse.value.height), debounceTime(5))\n .subscribe(response => {\n const { height } = response.value;\n const { iframeEl } = getContent();\n if (iframeEl) {\n iframeEl.style.setProperty('height', `${height}px`);\n if (resize) {\n resize();\n }\n }\n });\n}\n//# sourceMappingURL=tecton-outlet-base.js.map","import { Maybe } from 'maybe-not';\nexport function checkRequiredPermissionsOnPlatform(messageBus, requiredPermissions) {\n if (!requiredPermissions || requiredPermissions.length === 0) {\n return Promise.resolve(true);\n }\n return messageBus\n .sendRequest('canUser', Maybe.just(JSON.stringify({ capabilities: requiredPermissions })))\n .then(response => response.value.allowed);\n}\n//# sourceMappingURL=check-permissions.js.map","import { buildLoaders, setupOutletIFrameWrapper, setupOutletIFrameLoading, setupOutletIFrameResizer, setupOutletSetTitleListener, setupOutletInfo } from 'q2-tecton-common/lib/outlets/tecton-outlet-base';\nimport { sendMessage } from 'q2-tecton-common/lib/utility/message-bus';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map, filter, distinctUntilChanged, pairwise } from 'rxjs/operators';\nimport addParamToURL from 'q2-tecton-common/lib/utility/addParamToURL';\nimport { Maybe } from 'maybe-not';\nimport getModuleParams from '../private-helpers/getModuleParams';\nimport { checkRequiredPermissionsOnPlatform } from 'q2-tecton-common/lib/utility/check-permissions';\nexport const tectonPlatformOutletObservedAttrs = [{ name: 'routeName' }, { name: 'configTree' }];\nexport function loadTectonPlatformOutlet(tectonConfig$, params$, authPayload, buildURLWithPlatformBase) {\n return function tectonPlatformOutlet(messageBus, outletPath, customElement, memorizedProps$) {\n const placeholder = document.createElement('div');\n const DOM$ = new BehaviorSubject(placeholder);\n const settled$ = new BehaviorSubject(false);\n const effect$ = new BehaviorSubject(() => {\n return;\n });\n const getContent = function () {\n return {\n loaderWrapper: customElement.shadowRoot.querySelector(\"div[slot='loading-wrapper']\"),\n iframeEl: customElement.shadowRoot.querySelector('iframe'),\n minHeight: memorizedProps$.getValue().minHeight\n };\n };\n let moduleId;\n const getModuleId = function () {\n return moduleId;\n };\n const loadingSubscription = setupOutletIFrameLoading(messageBus, getModuleId, getContent);\n const outletInfoSubscription = setupOutletInfo(messageBus, getModuleId, getContent);\n const teardown$ = new BehaviorSubject(() => {\n loadingSubscription.unsubscribe();\n outletInfoSubscription.unsubscribe();\n });\n const configTree$ = memorizedProps$.pipe(map(props => props.configTree), filter(configTree => !!configTree), distinctUntilChanged());\n const isOverpanel$ = new BehaviorSubject(false);\n const overpanelSubscription = memorizedProps$\n .pipe(map(props => props.overpanel), filter(overpanel => typeof overpanel === 'boolean'), distinctUntilChanged())\n .subscribe(isOverpanel$);\n const routeName$ = memorizedProps$.pipe(map(props => props.routeName), filter(routeName => !!routeName), distinctUntilChanged());\n const moduleIdChangeSubscription = routeName$\n .pipe(map(routeName => `${outletPath}.${routeName}`), pairwise())\n .subscribe(([oldModuleId]) => {\n sendMessage('clearParams', Maybe.just(JSON.stringify({ oldModuleId })));\n });\n const outletDataSubscription = combineLatest(configTree$, isOverpanel$, routeName$).subscribe(([configTree, isOverpanel, routeName]) => {\n const tectonConfig = tectonConfig$.getValue();\n const module = tectonConfig.features[configTree.featureName].modules[configTree.moduleName];\n checkRequiredPermissionsOnPlatform(messageBus, module.requiredUserCapabilities).then(allow => {\n if (!allow) {\n return;\n }\n moduleId = `${outletPath}.${routeName}`;\n const minHeight = memorizedProps$.getValue().minHeight;\n const featureConfig = tectonConfig.features[configTree.featureName];\n const formPostAuth = !!featureConfig.modules[configTree.moduleName]\n .formPostAuth;\n const urlFromConfig = featureConfig.modules[configTree.moduleName].url;\n const additionalDomains = featureConfig.additionalDomains;\n const allowDirectives = featureConfig.allowDirectives;\n const urlBeforeParams = formPostAuth && buildURLWithPlatformBase\n ? buildURLWithPlatformBase(urlFromConfig)\n : urlFromConfig;\n const iframeSrc = addParamToURL(urlBeforeParams, Object.assign(Object.assign({ 'tct-id': moduleId }, getModuleParams(moduleId, params$.getValue().currentParams)), { 'tct-maxHeight': customElement.style.maxHeight, 'tct-maxWidth': customElement.style.maxWidth }));\n if (!isOverpanel) {\n const resizerSubscription = setupOutletIFrameResizer(messageBus, getModuleId, getContent);\n teardown$.next(() => {\n resizerSubscription.unsubscribe();\n });\n }\n const titleSubscription = setupOutletSetTitleListener(messageBus, getModuleId, getContent);\n teardown$.next(() => {\n titleSubscription.unsubscribe();\n });\n const outletDOM = setupOutletIFrameWrapper(iframeSrc, moduleId, authPayload ? authPayload() : [], `${configTree.featureName}-${configTree.moduleName}`, customElement.style.maxHeight, customElement.style.maxWidth, isOverpanel, formPostAuth, additionalDomains, allowDirectives);\n const loaderWrapper = document.createElement('div');\n loaderWrapper.style.minHeight = minHeight || '0px';\n let loaders = [];\n if (module.loadingOptions) {\n loaders = buildLoaders(module.loadingOptions);\n if (module.loadingOptions.outlet) {\n const outlet = module.loadingOptions.outlet;\n outlet.style && loaderWrapper.setAttribute('style', outlet.style);\n outlet.classList && loaderWrapper.classList.add(...outlet.classList);\n }\n }\n else {\n loaders = buildLoaders();\n }\n for (const loaderRow of loaders) {\n const row = document.createElement('div');\n row.className = 'q2-row';\n for (const loader of loaderRow) {\n row.appendChild(loader);\n }\n loaderWrapper.appendChild(row);\n }\n loaderWrapper.slot = 'loading-wrapper';\n loaderWrapper.classList.add('loading-wrapper');\n loaderWrapper.setAttribute('data-tecton-module', '');\n DOM$.next(outletDOM);\n effect$.next(() => {\n let existingLoadingWrapper = null;\n existingLoadingWrapper = customElement.shadowRoot.querySelector('.loading-wrapper');\n if (existingLoadingWrapper) {\n customElement.shadowRoot.replaceChild(loaderWrapper, existingLoadingWrapper);\n }\n else {\n customElement.shadowRoot.appendChild(loaderWrapper);\n }\n settled$.next(true);\n });\n teardown$.next(() => {\n overpanelSubscription.unsubscribe();\n outletDataSubscription.unsubscribe();\n moduleIdChangeSubscription.unsubscribe();\n sendMessage('clearParams', Maybe.just(JSON.stringify({ moduleId })));\n });\n });\n });\n return {\n DOM$,\n settled$,\n teardown$,\n effect$\n };\n };\n}\n","export default function addParamToURL(url, params) {\n const urlObj = new URL(url, window.location.toString());\n const paramsToAdd = Object.keys(params)\n .map(paramName => `${paramName}=${params[paramName]}`)\n .join('&');\n const newParams = urlObj.search ? `${urlObj.search}&${paramsToAdd}` : `?${paramsToAdd}`;\n urlObj.search = newParams;\n return urlObj.href;\n}\n//# sourceMappingURL=addParamToURL.js.map","import { getPathResolutionInfo } from '../private-helpers/resolveFeature';\nexport const NGAM_BASE = `${window.location.origin}${window.location.pathname.replace(/\\/uux\\.aspx/i, '')}`;\nexport function setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns) {\n let customLanguagePathSubscription;\n const customerAssetPathSubscription = messageBus.sendResponse('getCustomerAssetPath', ({ subPath }) => {\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(subPath))\n });\n });\n if (legacyControlBus.getCustomLanguageURL) {\n capabilities.add('getCustomLanguageURL');\n customLanguagePathSubscription = messageBus.sendResponse('getCustomLanguageURL', async ({ moduleId, langKey }) => {\n const moduleInfo = await getPathResolutionInfo(moduleId.split('.'), legacyControlBus.dynamicConfigFetch);\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomLanguageURL(`${langKey}_${moduleInfo.featureName}.json`))\n });\n });\n }\n const baseAssetPathSubscription = messageBus.sendResponse('getBaseAssetPath', ({ subPath }) => {\n return Promise.resolve({\n path: ifRelativePrependOrigin(legacyControlBus.getBaseAssetPath(subPath))\n });\n });\n const getNgamBaseURL = messageBus.sendResponse('getNgamBaseUrl', () => {\n return Promise.resolve({ ngamBase: NGAM_BASE });\n });\n teardowns.push(() => {\n customerAssetPathSubscription.unsubscribe();\n baseAssetPathSubscription.unsubscribe();\n getNgamBaseURL.unsubscribe();\n if (customLanguagePathSubscription) {\n customLanguagePathSubscription.unsubscribe();\n }\n });\n}\nexport function ifRelativePrependOrigin(url) {\n return /^http/.test(url) ? url : `${window.location.origin}/${url}`;\n}\n","import { getPathResolutionInfo, resolveTectonPath, resolveFeature } from './resolveFeature';\nimport { Maybe } from 'maybe-not';\nexport default function setupResolveTabs(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n const subscription = messageBus.sendResponse('resolveTabs', async (messageBody) => {\n const resolvedInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedInfo.configPath, resolvedInfo.treeFromRoot);\n const configPromise = legacyControlBus.dynamicConfigFetch(resolvedInfo.featureName);\n const featureManfest = await configPromise;\n const moduleFeatureManfest = await configPromise.then(x => x.modules[resolvedInfo.moduleName]);\n const outletType = moduleFeatureManfest.meta.outlets[resolvedInfo.outletName];\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueIdM = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const tabLookups = platformConfig.configuredOutlets[resolvedInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n return resolveTabs(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueIdM, providedTypeM, tabLookups, tectonConfig, resolvedInfo.featureName, resolvedInfo.moduleName, featureManfest.additionalDomains, featureManfest.allowDirectives).then(tabs => {\n return { resolvedTabs: tabs };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveTabs(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, providedTypeM, tabLookups, tectonConfig, hostFeatureName, hostModuleName, additionalDomains, allowDirectives) {\n return Promise.all(tabLookups.map(tabLookup => {\n return resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, tabLookup.modules || [], providedTypeM, tectonConfig, hostFeatureName, hostModuleName)\n .then(tabM => {\n return tabM.map(tab => ({ tabLabel: tabLookup.tabLabel, tab }));\n })\n .catch(() => Maybe.nothing());\n }))\n .then(tabsMs => {\n return Maybe.filterSomethings(tabsMs);\n })\n .then(tabs => {\n return tabs.map(tabInfo => {\n return {\n tabLabel: tabInfo.tabLabel,\n tabLabelOverride: tabInfo.tab.tabLabelOverride,\n moduleId: tabInfo.tab.moduleId,\n initialParams: tabInfo.tab.initialParams,\n url: tabInfo.tab.url,\n minHeight: tabInfo.tab.minHeight,\n formPostAuth: tabInfo.tab.formPostAuth,\n loadingOptions: tabInfo.tab.loadingOptions,\n additionalDomains,\n allowDirectives,\n requiredUserCapabilities: tabInfo.tab.requiredUserCapabilities\n };\n });\n });\n}\n","import { Maybe } from 'maybe-not';\nimport { getPathResolutionInfo, resolveFeature, resolveTectonPath } from './resolveFeature';\nimport { checkRequiredPermissionsOnPlatform } from 'q2-tecton-common/lib/utility/check-permissions';\nexport default function setupResolveMenu(legacyControlBus, messageBus, tectonConfig$, params$, teardowns) {\n const subscription = messageBus.sendResponse('resolveMenu', async (messageBody) => {\n const resolvedPathInfo = (await getPathResolutionInfo(messageBody.outletPath.split('.'), legacyControlBus.dynamicConfigFetch));\n const platformConfig = resolveTectonPath(resolvedPathInfo.configPath, resolvedPathInfo.treeFromRoot);\n const moduleFeatureManifest = await legacyControlBus\n .dynamicConfigFetch(resolvedPathInfo.featureName)\n .then(x => x.modules[resolvedPathInfo.moduleName]);\n const outletType = moduleFeatureManifest.meta.outlets[resolvedPathInfo.outletName];\n if (!outletType) {\n throw new Error(`${resolvedPathInfo.outletName} contextual menu outlet not found in config`);\n }\n const baseContextM = outletType.context === 'None'\n ? Maybe.nothing()\n : Maybe.just(outletType.context);\n const contextValueIdM = messageBody.contextValue\n ? Maybe.just(messageBody.contextValue)\n : Maybe.nothing();\n const providedTypeM = messageBody.resolvedType\n ? Maybe.just(messageBody.resolvedType)\n : Maybe.nothing();\n const menuLookups = platformConfig.configuredOutlets[resolvedPathInfo.outletName];\n const tectonConfig = tectonConfig$.getValue();\n const requiredUserCapabilities = tectonConfig.features[resolvedPathInfo.featureName].modules[resolvedPathInfo.moduleName].requiredUserCapabilities;\n return checkRequiredPermissionsOnPlatform(messageBus, requiredUserCapabilities).then(allow => {\n if (!allow) {\n return { resolvedMenuItems: [] };\n }\n return resolveMenuItems(legacyControlBus, params$, messageBody.outletPath, baseContextM, contextValueIdM, providedTypeM, menuLookups, tectonConfig, resolvedPathInfo.featureName, resolvedPathInfo.moduleName).then(items => {\n return { resolvedMenuItems: items };\n });\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\nexport function resolveMenuItems(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, providedTypeM, menuLookups, tectonConfig, hostFeatureName, hostModuleName) {\n return Promise.all(menuLookups.map(menuLookup => {\n return resolveFeature(legacyControlBus, params$, outletPath, baseContextM, contextValueIdM, menuLookup.modules || [], providedTypeM, tectonConfig, hostFeatureName, hostModuleName)\n .then(menuM => {\n return menuM.asyncMap(async (menu) => {\n const resolvedPathInfo = (await getPathResolutionInfo(menu.moduleId.split('.'), legacyControlBus.dynamicConfigFetch));\n const ctxId = contextValueIdM.withDefault('-1');\n const menuItem = {\n itemLabel: menuLookup.itemLabel,\n action: menuLookup.action,\n featureName: resolvedPathInfo.featureName,\n moduleName: resolvedPathInfo.moduleName,\n contextIdParamName: menuLookup.contextIdParamName\n };\n if (ctxId !== '-1') {\n menuItem['tct-ctxid'] = ctxId;\n }\n return menuItem;\n });\n })\n .then(Maybe.just)\n .catch(() => Maybe.nothing());\n })).then(menuMs => Maybe.filterSomethings(menuMs));\n}\n","import setupGetTypeValue from './setupGetTypeValue';\nimport { setupRegisterOutlet } from './setupRegisterOutlet';\nimport { setupPathResolvers } from './assetPathResolvers';\nimport setupResolveFeature from './resolveFeature';\nimport setupResolveTabs from './resolveTabs';\nimport setupResolveMenu from './resolveMenu';\nimport platformCapabilitiesSetup from './platformCapabilities';\nimport getAuthPayload from './getAuthPayload';\nimport cdnOverrideSetup from './cdnOverrideSetup';\nexport default function setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns) {\n setupGetTypeValue(messageBus, legacyControlBus, teardowns);\n setupRegisterOutlet(messageBus, params$, teardowns);\n setupPathResolvers(messageBus, capabilities, legacyControlBus, tectonConfig$, teardowns);\n setupResolveFeature(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n setupResolveTabs(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n setupResolveMenu(legacyControlBus, messageBus, tectonConfig$, params$, teardowns);\n platformCapabilitiesSetup(messageBus, capabilities, teardowns);\n getAuthPayload(messageBus, legacyControlBus, teardowns);\n cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns);\n}\n","import getModuleParams from './getModuleParams';\nexport function setupRegisterOutlet(messageBus, params$, teardowns) {\n const subscription = messageBus.sendResponse('getInitialParams', (messageBody) => {\n return Promise.resolve({\n params: getModuleParams(messageBody.moduleId, params$.getValue().currentParams)\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function platformCapabilitiesSetup(messageBus, capabilities, teardowns) {\n const subscription = messageBus.sendResponse('getPlatformCapabilities', () => {\n const platformCapabilites = Array.from(capabilities);\n return Promise.resolve({\n capabilities: platformCapabilites\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function getAuthPayloadSetup(messageBus, legacyControlBus, teardowns) {\n const subscription = messageBus.sendResponse('getAuthPayload', () => {\n return Promise.resolve(legacyControlBus.getAuthPayload());\n });\n teardowns.push(() => subscription.unsubscribe());\n}\n","export default function cdnOverrideSetup(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.cdnOverride) {\n capabilities.add('cdnOverride');\n const subscription = messageBus.sendResponse('cdnOverride', () => {\n return legacyControlBus.cdnOverride().then(path => {\n return { path };\n });\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import merge from 'q2-tecton-common/lib/utility/merge';\nimport PlatformMessageBus from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport setupActions from '../actions';\nimport setupSources from '../sources';\nimport setupOutlets from '../outlets';\nimport setupPrivateHelpers from '../private-helpers';\nimport setupTectonStyles from './styles';\nimport setupDefaultCapabilities from './default-capabilities';\nimport setupDynamicCapabilities from './dynamic-capabilities';\nexport function init(tectonConfig, legacyControlBus, testOptions) {\n const params$ = new BehaviorSubject({\n changedParams: {},\n currentParams: {}\n });\n adaptConfig(tectonConfig);\n let tectonConfig$;\n if (window.isTestingTecton || (testOptions === null || testOptions === void 0 ? void 0 : testOptions.testing)) {\n tectonConfig$ = window.tectonConfig$ || new BehaviorSubject(null);\n tectonConfig$.next(tectonConfig);\n window.tectonConfig$ = tectonConfig$;\n }\n else {\n tectonConfig$ = new BehaviorSubject(tectonConfig);\n }\n const messageBus = new PlatformMessageBus(tectonConfig$, window.isTestingTecton);\n const capabilities = new Set();\n const teardowns = [messageBus.teardown.bind(messageBus)];\n setupDefaultCapabilities(capabilities);\n setupDynamicCapabilities(messageBus, legacyControlBus, capabilities, teardowns);\n setupActions(messageBus, tectonConfig$, legacyControlBus, capabilities, teardowns);\n setupSources(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns);\n setupTectonStyles(messageBus, legacyControlBus, capabilities, teardowns);\n setupPrivateHelpers(messageBus, legacyControlBus, params$, tectonConfig$, capabilities, teardowns);\n setupOutlets(messageBus, tectonConfig$, params$, legacyControlBus.getAuthPayload, legacyControlBus.buildIframeURL);\n function configLookup(featureName, moduleName) {\n const tectonConfig = tectonConfig$.getValue();\n if (!moduleName) {\n const featureManifest = tectonConfig.features[featureName];\n if (!featureManifest) {\n throw new Error('No FeatureManifest Found');\n }\n return featureManifest;\n }\n return (tectonConfig.features[featureName].modules[moduleName].routeConfig || {\n featureName,\n moduleName\n });\n }\n function configForOverpanel(overpanelKey) {\n const [featureName, overpanelKeyOrModuleName] = overpanelKey.split('.');\n try {\n return Promise.resolve(tectonConfig.features[featureName].configuredOverpanels[overpanelKeyOrModuleName]);\n }\n catch (_a) {\n return legacyControlBus.dynamicConfigFetch(featureName, overpanelKeyOrModuleName);\n }\n }\n return {\n tectonParamsChanged(params) {\n params$.next(params);\n },\n updateConfig(configDiff) {\n const configValue = tectonConfig$.getValue();\n merge(configValue, configDiff);\n adaptConfig(configValue);\n tectonConfig$.next(configValue);\n },\n replaceConfig(config) {\n adaptConfig(config);\n tectonConfig$.next(config);\n },\n configLookup,\n configForRoute(routeName) {\n const [featureName, moduleName] = routeName.split('.');\n return (tectonConfig$.getValue().features[featureName].modules[moduleName].routeConfig || {\n featureName,\n moduleName\n });\n },\n configForOverpanel,\n teardown() {\n teardowns.forEach(fn => fn());\n }\n };\n}\nfunction adaptConfig(tectonConfig) {\n Object.keys(tectonConfig.features).forEach(function (featureName) {\n const featureObj = tectonConfig.features[featureName];\n const configuredOverpanels = featureObj.configuredOverpanels;\n if (configuredOverpanels) {\n Object.keys(configuredOverpanels).forEach(function (configuredOverpanel) {\n if (!configuredOverpanels[configuredOverpanel].featureName) {\n configuredOverpanels[configuredOverpanel].featureName = featureName;\n }\n });\n }\n try {\n Object.keys(featureObj.modules).forEach(function (moduleName) {\n if (!featureObj.modules[moduleName].routeConfig) {\n featureObj.modules[moduleName].routeConfig = {\n featureName,\n moduleName,\n configuredOutlets: {}\n };\n }\n Object.assign(featureObj.modules[moduleName].meta, {\n featureName,\n moduleName\n });\n let moduleUrl = featureObj.modules[moduleName].url;\n if (moduleUrl) {\n moduleUrl = moduleUrl.replace('{featureName}', featureName);\n moduleUrl = moduleUrl.replace('{moduleName}', moduleName);\n featureObj.modules[moduleName].url = moduleUrl;\n }\n });\n }\n catch (error) {\n if (!featureObj.modules) {\n console.error(`Config for ${featureObj.routeName} contains no modules`);\n }\n else {\n console.error(`Config for ${featureObj.routeName} is malformed. It returned ${error}.`);\n }\n console.error(`Removing ${featureObj.routeName} from config.`);\n delete tectonConfig.features[featureName];\n }\n });\n}\n","export default function setupDefaultCapabilities(capabilities) {\n capabilities.add('resizeIframe');\n capabilities.add('requestOutletInfo');\n}\n","export default function setupDynamicCapabilities(messageBus, legacyControlBus, capabilities, teardowns) {\n if (legacyControlBus.setupDynamicPlatformAPI) {\n const dynamicCapabilities = legacyControlBus.setupDynamicPlatformAPI();\n dynamicCapabilities.forEach(capability => capabilities.add(capability));\n const subscription = messageBus.sendResponse('executeDynamicPlatformAPI', ({ functionName, args }) => {\n return legacyControlBus.executeDynamicPlatformAPI(functionName, args);\n });\n teardowns.push(() => subscription.unsubscribe());\n }\n}\n","import { sendBroadcast } from '../utility/message-bus';\nimport { BehaviorSubject } from 'rxjs';\nimport { Maybe } from 'maybe-not';\nimport { ifRelativePrependOrigin } from '../private-helpers/assetPathResolvers';\nimport 'url-polyfill';\nexport default function setupTectonStyles(messageBus, legacyControlBus, capabilities, teardowns) {\n if (!legacyControlBus.getCurrentTheme) {\n capabilities.add('ThemesNotSupported');\n return;\n }\n capabilities.add('getCurrentTheme');\n const currentTheme$ = new BehaviorSubject({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(`${legacyControlBus.getCurrentTheme()}-props.css`))\n });\n const onThemeChange = (themeName) => {\n currentTheme$.next({\n path: ifRelativePrependOrigin(legacyControlBus.getCustomerSpecificAssetPath(`${themeName}-props.css`))\n });\n };\n if (legacyControlBus.themeChanged) {\n capabilities.add('themeChanged');\n legacyControlBus.themeChanged(onThemeChange);\n }\n const tectonThemeSubscription = currentTheme$.subscribe(themePath => {\n sendBroadcast('themeChanged', Maybe.maybe(themePath).map(JSON.stringify));\n });\n const tectonCurrentThemeServiceSubscription = messageBus.sendResponse('getCurrentTheme', () => {\n return Promise.resolve(currentTheme$.getValue());\n });\n teardowns.push(() => {\n tectonThemeSubscription.unsubscribe();\n tectonCurrentThemeServiceSubscription.unsubscribe();\n });\n}\n","import { tectonPlatformOutletObservedAttrs, loadTectonPlatformOutlet } from './platform-outlet';\nimport { setupTectonElement } from 'q2-tecton-common/lib/outlets/tecton-outlet-base';\nexport default function setupOutlets(messageBus, tectonConfig$, params$, authPayload, buildURLWithPlatformBase) {\n setupTectonElement({\n messageBus,\n moduleId: '',\n props: tectonPlatformOutletObservedAttrs,\n tectonOutletAdaptor: loadTectonPlatformOutlet(tectonConfig$, params$, authPayload, buildURLWithPlatformBase)\n })('tecton-platform-outlet');\n}\n","/*\n Generic deep object merge that will take base and apply diff's keys recursively till a non object or Array is met and then will set diffs value on base.\n*/\nexport default function mergeObject(base, diff) {\n Object.keys(diff).forEach(diffKey => {\n if (!Array.isArray(diff[diffKey]) &&\n !Array.isArray(base[diffKey]) &&\n base.hasOwnProperty(diffKey) &&\n typeof diff[diffKey] === 'object') {\n return mergeObject(base[diffKey], diff[diffKey]);\n }\n base[diffKey] = diff[diffKey];\n });\n}\n//# sourceMappingURL=merge.js.map"],"sourceRoot":""}