{"version":3,"sources":["webpack:///./node_modules/kefir/dist/kefir.js"],"names":["exports","createObj","proto","F","prototype","extend","target","length","arguments","i","prop","inherit","Child","Parent","constructor","NOTHING","END","VALUE","ERROR","concat","a","b","result","j","Array","find","arr","value","findByPred","pred","cloneArray","input","remove","index","map","fn","callSubscriber","type","event","Dispatcher","this","_items","_spies","_inLoop","_removedItems","Observable","_dispatcher","_active","_alive","_activating","_logHandlers","_spyHandlers","Stream","call","Property","_currentEvent","add","x","push","addSpy","removeSpy","indexOf","dispatch","spies","_i","items","cleanup","_name","_onActivation","_onDeactivation","_setActive","active","_clear","_emit","_emitValue","_emitError","_emitEnd","_on","_off","onValue","onError","onEnd","onAny","offValue","offError","offEnd","offAny","observe","observerOrOnValue","_this","closed","observer","error","end","handler","unsubscribe","_ofSameType","A","B","getType","setName","sourceObs","selfName","log","name","undefined","toString","isCurrent","console","offLog","handlerIndex","obj","splice","spy","offSpy","neverS","never","timeBased","mixin","AnonymousStream","wait","options","_wait","_intervalId","_$onTick","_onTick","_init","_free","setInterval","clearInterval","S","_ref","_x","later","S$1","interval","S$2","xs","_xs","shift","sequentially","S$3","_fn","fromPoll","emitter","obs","e","emit","emitEvent","S$4","_emitter","withInterval","S$5","_unsubscribe","stream","fromCallback","callbackConsumer","called","fromNodeCallback","spread","apply","c","aLength","_callUnsubscribe","pairs","fromEvents","eventName","transformer","sub","unsub","Error","fromSubUnsub","P","current","constant","P$1","constantError","createConstructor","BaseClass","AnonymousObservable","source","_source","_$handleAny","_handleAny","createClassMethods","_handleValue","_handleError","_handleEnd","createStream","createProperty","P$2","_getInitialCurrent","getInitial","toProperty","S$6","fromPromise","promise","_promise","then","done","getGlodalPromise","Promise","commonjsGlobal","window","global","self","createCommonjsModule","module","ponyfill","Object","defineProperty","symbolObservablePonyfill","root","_Symbol","Symbol","observable","require$$0$1","index$1","_ponyfill2","_interopRequireDefault","__esModule","Function","require$$0","$$observable","fromESObservable","_observable","subscribe","next","complete","ESObservable","takeErrors","toESObservable","collect","keys","values","hasOwnProperty","Combine","passive","combinator","_activeCount","_sources","_combinator","_aliveCount","_latestValues","_latestErrors","fillArray","_emitAfterActivation","_endAfterActivation","_latestErrorIndex","_$handlers","_loop","combine","isArray","combineAsArray","combineAsObject","activeObservables","passiveObservables","objectify","observerOrOnNext","onComplete","_emitIfFull","hasAllValues","hasErrors","valuesCopy","errorsCopy","defaultErrorsCombinator","errors","latestError","Observable$1","empty","merge","of","bimap","fnErr","fnVal","mapErrors","ap","obsFn","obsVal","val","chain","flatMap","staticLand","freeze","S$7","P$3","id","map$1","mixin$1","S$8","P$4","id$1","mixin$2","n","_n","S$9","P$5","mixin$3","S$10","P$6","mixin$4","S$11","P$7","id$2","mixin$5","_lastValue","S$12","P$8","mixin$6","Math","max","S$13","P$9","mixin$7","S$14","P$10","id$3","mixin$8","_prev","S$15","P$11","eq","skipDuplicates","mixin$9","seed","S$16","P$12","defaultFn","P$13","_seed","S$17","id$4","END_MARKER","mixin$11","_buff","_$shiftBuff","setTimeout","S$18","P$14","now","Date","getTime","mixin$12","leading","trailing","_leading","_trailing","_trailingValue","_timeoutId","_endLater","_lastCallTime","_$trailingCall","_trailingCall","curTime","remaining","_cancelTrailing","clearTimeout","S$19","P$15","mixin$13","immediate","_immediate","_lastAttempt","_laterValue","_$later","_later","last","S$20","P$16","mixin$14","S$21","P$17","id$5","mixin$15","S$22","P$18","id$6","mixin$16","S$23","P$19","mixin$17","S$24","P$20","mixin$18","S$25","P$21","mixin$19","S$26","P$22","mixin$20","min","_max","_min","slide","cur","offset","S$27","P$23","mixin$21","flushOnEnd","_flushOnEnd","_flush","S$28","P$24","id$7","mixin$22","count","_count","S$29","P$25","mixin$23","S$30","P$26","mixin$24","transducer","_xform","xformForObs","res","S$31","P$27","mixin$25","_handler","S$32","P$28","Zip","sources","_buffers","zip","observables","_isFull","id$8","AbstractPool","_ref$queueLim","queueLim","_ref$concurLim","concurLim","_ref$drop","drop","_queueLim","_concurLim","_drop","_queue","_curSources","_$handleSubAny","_handleSubAny","_$endHandlers","_currentlyAdding","Merge","_addAll","_initialised","S$33","generator","_generator","_iteration","repeat","concat$1","Pool","FlatMap","_mainEnded","_lastCurrent","_$handleMain","_handleMain","FlatMapErrors","createConstructor$1","primary","secondary","_primary","_secondary","_lastSecondary","_$handleSecondaryAny","_handleSecondaryAny","_$handlePrimaryAny","_handlePrimaryAny","createClassMethods$1","_handlePrimaryValue","_handlePrimaryError","_handlePrimaryEnd","_handleSecondaryValue","_handleSecondaryError","_handleSecondaryEnd","_removeSecondary","createStream$1","createProperty$1","_add","toObs","_addToCur","_addToQueue","_removeOldest","obss","_this2","forEach","_remove","_removeCur","_removeQueue","_subToEnd","_this3","_subscribe","onEndI","_pullQueue","_onEmpty","_isEmpty","_getSource","plug","unplug","_hadNoEvSinceDeact","mixin$26","S$34","P$29","id2","_","mixin$27","S$35","P$30","mixin$28","S$36","P$31","mixin$29","_ref$flushOnEnd","S$37","P$32","mixin$30","_ref$flushOnChange","flushOnChange","_flushOnChange","S$38","P$33","f","t","mixin$31","convert","S$39","P$34","defFn","mixin$32","S$40","P$35","defFn$1","mixin$33","S$41","P$36","changes","toPromise","resolve","reject","filter","take","takeWhile","skip","skipWhile","diff","scan","flatten","delay","throttle","_ref2","_ref2$leading","_ref2$trailing","debounce","_ref2$immediate","filterErrors","ignoreValues","ignoreErrors","ignoreEnd","beforeEnd","slidingWindow","bufferWhile","_ref2$flushOnEnd","bufferWithCount","bufferWhile$1","bufferWithTimeOrCount","transduce","withHandler","other","pool","flatMapLatest","flatMapFirst","flatMapConcat","flatMapConcurLimit","limit","flatMapErrors","filterBy","sampledBy","skipUntilBy","takeUntilBy","bufferBy","bufferWhileBy","DEPRECATION_WARNINGS","warn","msg","awaiting","valuesToErrors","errorsToValues","endOnError","Kefir","dissableDeprecationWarnings","factory"],"mappings":"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","file":"npm.kefir-e3bb9719555d5c41001f.js","sourcesContent":["/*! Kefir.js v3.7.1\n * https://github.com/rpominov/kefir\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.Kefir = global.Kefir || {})));\n}(this, function (exports) { 'use strict';\n\n\tfunction createObj(proto) {\n\t var F = function () {};\n\t F.prototype = proto;\n\t return new F();\n\t}\n\n\tfunction extend(target /*, mixin1, mixin2...*/) {\n\t var length = arguments.length,\n\t i = void 0,\n\t prop = void 0;\n\t for (i = 1; i < length; i++) {\n\t for (prop in arguments[i]) {\n\t target[prop] = arguments[i][prop];\n\t }\n\t }\n\t return target;\n\t}\n\n\tfunction inherit(Child, Parent /*, mixin1, mixin2...*/) {\n\t var length = arguments.length,\n\t i = void 0;\n\t Child.prototype = createObj(Parent.prototype);\n\t Child.prototype.constructor = Child;\n\t for (i = 2; i < length; i++) {\n\t extend(Child.prototype, arguments[i]);\n\t }\n\t return Child;\n\t}\n\n\tvar NOTHING = [''];\n\tvar END = 'end';\n\tvar VALUE = 'value';\n\tvar ERROR = 'error';\n\tvar ANY = 'any';\n\n\tfunction concat(a, b) {\n\t var result = void 0,\n\t length = void 0,\n\t i = void 0,\n\t j = void 0;\n\t if (a.length === 0) {\n\t return b;\n\t }\n\t if (b.length === 0) {\n\t return a;\n\t }\n\t j = 0;\n\t result = new Array(a.length + b.length);\n\t length = a.length;\n\t for (i = 0; i < length; i++, j++) {\n\t result[j] = a[i];\n\t }\n\t length = b.length;\n\t for (i = 0; i < length; i++, j++) {\n\t result[j] = b[i];\n\t }\n\t return result;\n\t}\n\n\tfunction find(arr, value) {\n\t var length = arr.length,\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t if (arr[i] === value) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t}\n\n\tfunction findByPred(arr, pred) {\n\t var length = arr.length,\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t if (pred(arr[i])) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t}\n\n\tfunction cloneArray(input) {\n\t var length = input.length,\n\t result = new Array(length),\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t result[i] = input[i];\n\t }\n\t return result;\n\t}\n\n\tfunction remove(input, index) {\n\t var length = input.length,\n\t result = void 0,\n\t i = void 0,\n\t j = void 0;\n\t if (index >= 0 && index < length) {\n\t if (length === 1) {\n\t return [];\n\t } else {\n\t result = new Array(length - 1);\n\t for (i = 0, j = 0; i < length; i++) {\n\t if (i !== index) {\n\t result[j] = input[i];\n\t j++;\n\t }\n\t }\n\t return result;\n\t }\n\t } else {\n\t return input;\n\t }\n\t}\n\n\tfunction map(input, fn) {\n\t var length = input.length,\n\t result = new Array(length),\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t result[i] = fn(input[i]);\n\t }\n\t return result;\n\t}\n\n\tfunction forEach(arr, fn) {\n\t var length = arr.length,\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t fn(arr[i]);\n\t }\n\t}\n\n\tfunction fillArray(arr, value) {\n\t var length = arr.length,\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t arr[i] = value;\n\t }\n\t}\n\n\tfunction contains(arr, value) {\n\t return find(arr, value) !== -1;\n\t}\n\n\tfunction slide(cur, next, max) {\n\t var length = Math.min(max, cur.length + 1),\n\t offset = cur.length - length + 1,\n\t result = new Array(length),\n\t i = void 0;\n\t for (i = offset; i < length; i++) {\n\t result[i - offset] = cur[i];\n\t }\n\t result[length - 1] = next;\n\t return result;\n\t}\n\n\tfunction callSubscriber(type, fn, event) {\n\t if (type === ANY) {\n\t fn(event);\n\t } else if (type === event.type) {\n\t if (type === VALUE || type === ERROR) {\n\t fn(event.value);\n\t } else {\n\t fn();\n\t }\n\t }\n\t}\n\n\tfunction Dispatcher() {\n\t this._items = [];\n\t this._spies = [];\n\t this._inLoop = 0;\n\t this._removedItems = null;\n\t}\n\n\textend(Dispatcher.prototype, {\n\t add: function (type, fn) {\n\t this._items = concat(this._items, [{ type: type, fn: fn }]);\n\t return this._items.length;\n\t },\n\t remove: function (type, fn) {\n\t var index = findByPred(this._items, function (x) {\n\t return x.type === type && x.fn === fn;\n\t });\n\n\t // if we're currently in a notification loop,\n\t // remember this subscriber was removed\n\t if (this._inLoop !== 0 && index !== -1) {\n\t if (this._removedItems === null) {\n\t this._removedItems = [];\n\t }\n\t this._removedItems.push(this._items[index]);\n\t }\n\n\t this._items = remove(this._items, index);\n\t return this._items.length;\n\t },\n\t addSpy: function (fn) {\n\t this._spies = concat(this._spies, [fn]);\n\t return this._spies.length;\n\t },\n\n\n\t // Because spies are only ever a function that perform logging as\n\t // their only side effect, we don't need the same complicated\n\t // removal logic like in remove()\n\t removeSpy: function (fn) {\n\t this._spies = remove(this._spies, this._spies.indexOf(fn));\n\t return this._spies.length;\n\t },\n\t dispatch: function (event) {\n\t this._inLoop++;\n\t for (var i = 0, spies = this._spies; this._spies !== null && i < spies.length; i++) {\n\t spies[i](event);\n\t }\n\n\t for (var _i = 0, items = this._items; _i < items.length; _i++) {\n\n\t // cleanup was called\n\t if (this._items === null) {\n\t break;\n\t }\n\n\t // this subscriber was removed\n\t if (this._removedItems !== null && contains(this._removedItems, items[_i])) {\n\t continue;\n\t }\n\n\t callSubscriber(items[_i].type, items[_i].fn, event);\n\t }\n\t this._inLoop--;\n\t if (this._inLoop === 0) {\n\t this._removedItems = null;\n\t }\n\t },\n\t cleanup: function () {\n\t this._items = null;\n\t this._spies = null;\n\t }\n\t});\n\n\tfunction Observable() {\n\t this._dispatcher = new Dispatcher();\n\t this._active = false;\n\t this._alive = true;\n\t this._activating = false;\n\t this._logHandlers = null;\n\t this._spyHandlers = null;\n\t}\n\n\textend(Observable.prototype, {\n\n\t _name: 'observable',\n\n\t _onActivation: function () {},\n\t _onDeactivation: function () {},\n\t _setActive: function (active) {\n\t if (this._active !== active) {\n\t this._active = active;\n\t if (active) {\n\t this._activating = true;\n\t this._onActivation();\n\t this._activating = false;\n\t } else {\n\t this._onDeactivation();\n\t }\n\t }\n\t },\n\t _clear: function () {\n\t this._setActive(false);\n\t this._dispatcher.cleanup();\n\t this._dispatcher = null;\n\t this._logHandlers = null;\n\t },\n\t _emit: function (type, x) {\n\t switch (type) {\n\t case VALUE:\n\t return this._emitValue(x);\n\t case ERROR:\n\t return this._emitError(x);\n\t case END:\n\t return this._emitEnd();\n\t }\n\t },\n\t _emitValue: function (value) {\n\t if (this._alive) {\n\t this._dispatcher.dispatch({ type: VALUE, value: value });\n\t }\n\t },\n\t _emitError: function (value) {\n\t if (this._alive) {\n\t this._dispatcher.dispatch({ type: ERROR, value: value });\n\t }\n\t },\n\t _emitEnd: function () {\n\t if (this._alive) {\n\t this._alive = false;\n\t this._dispatcher.dispatch({ type: END });\n\t this._clear();\n\t }\n\t },\n\t _on: function (type, fn) {\n\t if (this._alive) {\n\t this._dispatcher.add(type, fn);\n\t this._setActive(true);\n\t } else {\n\t callSubscriber(type, fn, { type: END });\n\t }\n\t return this;\n\t },\n\t _off: function (type, fn) {\n\t if (this._alive) {\n\t var count = this._dispatcher.remove(type, fn);\n\t if (count === 0) {\n\t this._setActive(false);\n\t }\n\t }\n\t return this;\n\t },\n\t onValue: function (fn) {\n\t return this._on(VALUE, fn);\n\t },\n\t onError: function (fn) {\n\t return this._on(ERROR, fn);\n\t },\n\t onEnd: function (fn) {\n\t return this._on(END, fn);\n\t },\n\t onAny: function (fn) {\n\t return this._on(ANY, fn);\n\t },\n\t offValue: function (fn) {\n\t return this._off(VALUE, fn);\n\t },\n\t offError: function (fn) {\n\t return this._off(ERROR, fn);\n\t },\n\t offEnd: function (fn) {\n\t return this._off(END, fn);\n\t },\n\t offAny: function (fn) {\n\t return this._off(ANY, fn);\n\t },\n\t observe: function (observerOrOnValue, onError, onEnd) {\n\t var _this = this;\n\t var closed = false;\n\n\t var observer = !observerOrOnValue || typeof observerOrOnValue === 'function' ? { value: observerOrOnValue, error: onError, end: onEnd } : observerOrOnValue;\n\n\t var handler = function (event) {\n\t if (event.type === END) {\n\t closed = true;\n\t }\n\t if (event.type === VALUE && observer.value) {\n\t observer.value(event.value);\n\t } else if (event.type === ERROR && observer.error) {\n\t observer.error(event.value);\n\t } else if (event.type === END && observer.end) {\n\t observer.end(event.value);\n\t }\n\t };\n\n\t this.onAny(handler);\n\n\t return {\n\t unsubscribe: function () {\n\t if (!closed) {\n\t _this.offAny(handler);\n\t closed = true;\n\t }\n\t },\n\n\t get closed() {\n\t return closed;\n\t }\n\t };\n\t },\n\n\n\t // A and B must be subclasses of Stream and Property (order doesn't matter)\n\t _ofSameType: function (A, B) {\n\t return A.prototype.getType() === this.getType() ? A : B;\n\t },\n\t setName: function (sourceObs /* optional */, selfName) {\n\t this._name = selfName ? sourceObs._name + '.' + selfName : sourceObs;\n\t return this;\n\t },\n\t log: function () {\n\t var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.toString();\n\n\n\t var isCurrent = void 0;\n\t var handler = function (event) {\n\t var type = '<' + event.type + (isCurrent ? ':current' : '') + '>';\n\t if (event.type === END) {\n\t console.log(name, type);\n\t } else {\n\t console.log(name, type, event.value);\n\t }\n\t };\n\n\t if (this._alive) {\n\t if (!this._logHandlers) {\n\t this._logHandlers = [];\n\t }\n\t this._logHandlers.push({ name: name, handler: handler });\n\t }\n\n\t isCurrent = true;\n\t this.onAny(handler);\n\t isCurrent = false;\n\n\t return this;\n\t },\n\t offLog: function () {\n\t var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.toString();\n\n\n\t if (this._logHandlers) {\n\t var handlerIndex = findByPred(this._logHandlers, function (obj) {\n\t return obj.name === name;\n\t });\n\t if (handlerIndex !== -1) {\n\t this.offAny(this._logHandlers[handlerIndex].handler);\n\t this._logHandlers.splice(handlerIndex, 1);\n\t }\n\t }\n\n\t return this;\n\t },\n\t spy: function () {\n\t var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.toString();\n\n\t var handler = function (event) {\n\t var type = '<' + event.type + '>';\n\t if (event.type === END) {\n\t console.log(name, type);\n\t } else {\n\t console.log(name, type, event.value);\n\t }\n\t };\n\t if (this._alive) {\n\t if (!this._spyHandlers) {\n\t this._spyHandlers = [];\n\t }\n\t this._spyHandlers.push({ name: name, handler: handler });\n\t this._dispatcher.addSpy(handler);\n\t }\n\t return this;\n\t },\n\t offSpy: function () {\n\t var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.toString();\n\n\t if (this._spyHandlers) {\n\t var handlerIndex = findByPred(this._spyHandlers, function (obj) {\n\t return obj.name === name;\n\t });\n\t if (handlerIndex !== -1) {\n\t this._dispatcher.removeSpy(this._spyHandlers[handlerIndex].handler);\n\t this._spyHandlers.splice(handlerIndex, 1);\n\t }\n\t }\n\t return this;\n\t }\n\t});\n\n\t// extend() can't handle `toString` in IE8\n\tObservable.prototype.toString = function () {\n\t return '[' + this._name + ']';\n\t};\n\n\tfunction Stream() {\n\t Observable.call(this);\n\t}\n\n\tinherit(Stream, Observable, {\n\n\t _name: 'stream',\n\n\t getType: function () {\n\t return 'stream';\n\t }\n\t});\n\n\tfunction Property() {\n\t Observable.call(this);\n\t this._currentEvent = null;\n\t}\n\n\tinherit(Property, Observable, {\n\n\t _name: 'property',\n\n\t _emitValue: function (value) {\n\t if (this._alive) {\n\t this._currentEvent = { type: VALUE, value: value };\n\t if (!this._activating) {\n\t this._dispatcher.dispatch({ type: VALUE, value: value });\n\t }\n\t }\n\t },\n\t _emitError: function (value) {\n\t if (this._alive) {\n\t this._currentEvent = { type: ERROR, value: value };\n\t if (!this._activating) {\n\t this._dispatcher.dispatch({ type: ERROR, value: value });\n\t }\n\t }\n\t },\n\t _emitEnd: function () {\n\t if (this._alive) {\n\t this._alive = false;\n\t if (!this._activating) {\n\t this._dispatcher.dispatch({ type: END });\n\t }\n\t this._clear();\n\t }\n\t },\n\t _on: function (type, fn) {\n\t if (this._alive) {\n\t this._dispatcher.add(type, fn);\n\t this._setActive(true);\n\t }\n\t if (this._currentEvent !== null) {\n\t callSubscriber(type, fn, this._currentEvent);\n\t }\n\t if (!this._alive) {\n\t callSubscriber(type, fn, { type: END });\n\t }\n\t return this;\n\t },\n\t getType: function () {\n\t return 'property';\n\t }\n\t});\n\n\tvar neverS = new Stream();\n\tneverS._emitEnd();\n\tneverS._name = 'never';\n\n\tfunction never() {\n\t return neverS;\n\t}\n\n\tfunction timeBased(mixin) {\n\n\t function AnonymousStream(wait, options) {\n\t var _this = this;\n\n\t Stream.call(this);\n\t this._wait = wait;\n\t this._intervalId = null;\n\t this._$onTick = function () {\n\t return _this._onTick();\n\t };\n\t this._init(options);\n\t }\n\n\t inherit(AnonymousStream, Stream, {\n\t _init: function () {},\n\t _free: function () {},\n\t _onTick: function () {},\n\t _onActivation: function () {\n\t this._intervalId = setInterval(this._$onTick, this._wait);\n\t },\n\t _onDeactivation: function () {\n\t if (this._intervalId !== null) {\n\t clearInterval(this._intervalId);\n\t this._intervalId = null;\n\t }\n\t },\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._$onTick = null;\n\t this._free();\n\t }\n\t }, mixin);\n\n\t return AnonymousStream;\n\t}\n\n\tvar S = timeBased({\n\n\t _name: 'later',\n\n\t _init: function (_ref) {\n\t var x = _ref.x;\n\n\t this._x = x;\n\t },\n\t _free: function () {\n\t this._x = null;\n\t },\n\t _onTick: function () {\n\t this._emitValue(this._x);\n\t this._emitEnd();\n\t }\n\t});\n\n\tfunction later(wait, x) {\n\t return new S(wait, { x: x });\n\t}\n\n\tvar S$1 = timeBased({\n\n\t _name: 'interval',\n\n\t _init: function (_ref) {\n\t var x = _ref.x;\n\n\t this._x = x;\n\t },\n\t _free: function () {\n\t this._x = null;\n\t },\n\t _onTick: function () {\n\t this._emitValue(this._x);\n\t }\n\t});\n\n\tfunction interval(wait, x) {\n\t return new S$1(wait, { x: x });\n\t}\n\n\tvar S$2 = timeBased({\n\n\t _name: 'sequentially',\n\n\t _init: function (_ref) {\n\t var xs = _ref.xs;\n\n\t this._xs = cloneArray(xs);\n\t },\n\t _free: function () {\n\t this._xs = null;\n\t },\n\t _onTick: function () {\n\t if (this._xs.length === 1) {\n\t this._emitValue(this._xs[0]);\n\t this._emitEnd();\n\t } else {\n\t this._emitValue(this._xs.shift());\n\t }\n\t }\n\t});\n\n\tfunction sequentially(wait, xs) {\n\t return xs.length === 0 ? never() : new S$2(wait, { xs: xs });\n\t}\n\n\tvar S$3 = timeBased({\n\n\t _name: 'fromPoll',\n\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _onTick: function () {\n\t var fn = this._fn;\n\t this._emitValue(fn());\n\t }\n\t});\n\n\tfunction fromPoll(wait, fn) {\n\t return new S$3(wait, { fn: fn });\n\t}\n\n\tfunction emitter(obs) {\n\n\t function value(x) {\n\t obs._emitValue(x);\n\t return obs._active;\n\t }\n\n\t function error(x) {\n\t obs._emitError(x);\n\t return obs._active;\n\t }\n\n\t function end() {\n\t obs._emitEnd();\n\t return obs._active;\n\t }\n\n\t function event(e) {\n\t obs._emit(e.type, e.value);\n\t return obs._active;\n\t }\n\n\t return {\n\t value: value,\n\t error: error,\n\t end: end,\n\t event: event,\n\n\t // legacy\n\t emit: value,\n\t emitEvent: event\n\t };\n\t}\n\n\tvar S$4 = timeBased({\n\n\t _name: 'withInterval',\n\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t this._emitter = emitter(this);\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t this._emitter = null;\n\t },\n\t _onTick: function () {\n\t var fn = this._fn;\n\t fn(this._emitter);\n\t }\n\t});\n\n\tfunction withInterval(wait, fn) {\n\t return new S$4(wait, { fn: fn });\n\t}\n\n\tfunction S$5(fn) {\n\t Stream.call(this);\n\t this._fn = fn;\n\t this._unsubscribe = null;\n\t}\n\n\tinherit(S$5, Stream, {\n\n\t _name: 'stream',\n\n\t _onActivation: function () {\n\t var fn = this._fn;\n\t var unsubscribe = fn(emitter(this));\n\t this._unsubscribe = typeof unsubscribe === 'function' ? unsubscribe : null;\n\n\t // fix https://github.com/rpominov/kefir/issues/35\n\t if (!this._active) {\n\t this._callUnsubscribe();\n\t }\n\t },\n\t _callUnsubscribe: function () {\n\t if (this._unsubscribe !== null) {\n\t this._unsubscribe();\n\t this._unsubscribe = null;\n\t }\n\t },\n\t _onDeactivation: function () {\n\t this._callUnsubscribe();\n\t },\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._fn = null;\n\t }\n\t});\n\n\tfunction stream(fn) {\n\t return new S$5(fn);\n\t}\n\n\tfunction fromCallback(callbackConsumer) {\n\n\t var called = false;\n\n\t return stream(function (emitter) {\n\n\t if (!called) {\n\t callbackConsumer(function (x) {\n\t emitter.emit(x);\n\t emitter.end();\n\t });\n\t called = true;\n\t }\n\t }).setName('fromCallback');\n\t}\n\n\tfunction fromNodeCallback(callbackConsumer) {\n\n\t var called = false;\n\n\t return stream(function (emitter) {\n\n\t if (!called) {\n\t callbackConsumer(function (error, x) {\n\t if (error) {\n\t emitter.error(error);\n\t } else {\n\t emitter.emit(x);\n\t }\n\t emitter.end();\n\t });\n\t called = true;\n\t }\n\t }).setName('fromNodeCallback');\n\t}\n\n\tfunction spread(fn, length) {\n\t switch (length) {\n\t case 0:\n\t return function () {\n\t return fn();\n\t };\n\t case 1:\n\t return function (a) {\n\t return fn(a[0]);\n\t };\n\t case 2:\n\t return function (a) {\n\t return fn(a[0], a[1]);\n\t };\n\t case 3:\n\t return function (a) {\n\t return fn(a[0], a[1], a[2]);\n\t };\n\t case 4:\n\t return function (a) {\n\t return fn(a[0], a[1], a[2], a[3]);\n\t };\n\t default:\n\t return function (a) {\n\t return fn.apply(null, a);\n\t };\n\t }\n\t}\n\n\tfunction apply(fn, c, a) {\n\t var aLength = a ? a.length : 0;\n\t if (c == null) {\n\t switch (aLength) {\n\t case 0:\n\t return fn();\n\t case 1:\n\t return fn(a[0]);\n\t case 2:\n\t return fn(a[0], a[1]);\n\t case 3:\n\t return fn(a[0], a[1], a[2]);\n\t case 4:\n\t return fn(a[0], a[1], a[2], a[3]);\n\t default:\n\t return fn.apply(null, a);\n\t }\n\t } else {\n\t switch (aLength) {\n\t case 0:\n\t return fn.call(c);\n\t default:\n\t return fn.apply(c, a);\n\t }\n\t }\n\t}\n\n\tfunction fromSubUnsub(sub, unsub, transformer /* Function | falsey */) {\n\t return stream(function (emitter) {\n\n\t var handler = transformer ? function () {\n\t emitter.emit(apply(transformer, this, arguments));\n\t } : function (x) {\n\t emitter.emit(x);\n\t };\n\n\t sub(handler);\n\t return function () {\n\t return unsub(handler);\n\t };\n\t }).setName('fromSubUnsub');\n\t}\n\n\tvar pairs = [['addEventListener', 'removeEventListener'], ['addListener', 'removeListener'], ['on', 'off']];\n\n\tfunction fromEvents(target, eventName, transformer) {\n\t var sub = void 0,\n\t unsub = void 0;\n\n\t for (var i = 0; i < pairs.length; i++) {\n\t if (typeof target[pairs[i][0]] === 'function' && typeof target[pairs[i][1]] === 'function') {\n\t sub = pairs[i][0];\n\t unsub = pairs[i][1];\n\t break;\n\t }\n\t }\n\n\t if (sub === undefined) {\n\t throw new Error('target don\\'t support any of ' + 'addEventListener/removeEventListener, addListener/removeListener, on/off method pair');\n\t }\n\n\t return fromSubUnsub(function (handler) {\n\t return target[sub](eventName, handler);\n\t }, function (handler) {\n\t return target[unsub](eventName, handler);\n\t }, transformer).setName('fromEvents');\n\t}\n\n\t// HACK:\n\t// We don't call parent Class constructor, but instead putting all necessary\n\t// properties into prototype to simulate ended Property\n\t// (see Propperty and Observable classes).\n\n\tfunction P(value) {\n\t this._currentEvent = { type: 'value', value: value, current: true };\n\t}\n\n\tinherit(P, Property, {\n\t _name: 'constant',\n\t _active: false,\n\t _activating: false,\n\t _alive: false,\n\t _dispatcher: null,\n\t _logHandlers: null\n\t});\n\n\tfunction constant(x) {\n\t return new P(x);\n\t}\n\n\t// HACK:\n\t// We don't call parent Class constructor, but instead putting all necessary\n\t// properties into prototype to simulate ended Property\n\t// (see Propperty and Observable classes).\n\n\tfunction P$1(value) {\n\t this._currentEvent = { type: 'error', value: value, current: true };\n\t}\n\n\tinherit(P$1, Property, {\n\t _name: 'constantError',\n\t _active: false,\n\t _activating: false,\n\t _alive: false,\n\t _dispatcher: null,\n\t _logHandlers: null\n\t});\n\n\tfunction constantError(x) {\n\t return new P$1(x);\n\t}\n\n\tfunction createConstructor(BaseClass, name) {\n\t return function AnonymousObservable(source, options) {\n\t var _this = this;\n\n\t BaseClass.call(this);\n\t this._source = source;\n\t this._name = source._name + '.' + name;\n\t this._init(options);\n\t this._$handleAny = function (event) {\n\t return _this._handleAny(event);\n\t };\n\t };\n\t}\n\n\tfunction createClassMethods(BaseClass) {\n\t return {\n\t _init: function () {},\n\t _free: function () {},\n\t _handleValue: function (x) {\n\t this._emitValue(x);\n\t },\n\t _handleError: function (x) {\n\t this._emitError(x);\n\t },\n\t _handleEnd: function () {\n\t this._emitEnd();\n\t },\n\t _handleAny: function (event) {\n\t switch (event.type) {\n\t case VALUE:\n\t return this._handleValue(event.value);\n\t case ERROR:\n\t return this._handleError(event.value);\n\t case END:\n\t return this._handleEnd();\n\t }\n\t },\n\t _onActivation: function () {\n\t this._source.onAny(this._$handleAny);\n\t },\n\t _onDeactivation: function () {\n\t this._source.offAny(this._$handleAny);\n\t },\n\t _clear: function () {\n\t BaseClass.prototype._clear.call(this);\n\t this._source = null;\n\t this._$handleAny = null;\n\t this._free();\n\t }\n\t };\n\t}\n\n\tfunction createStream(name, mixin) {\n\t var S = createConstructor(Stream, name);\n\t inherit(S, Stream, createClassMethods(Stream), mixin);\n\t return S;\n\t}\n\n\tfunction createProperty(name, mixin) {\n\t var P = createConstructor(Property, name);\n\t inherit(P, Property, createClassMethods(Property), mixin);\n\t return P;\n\t}\n\n\tvar P$2 = createProperty('toProperty', {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._getInitialCurrent = fn;\n\t },\n\t _onActivation: function () {\n\t if (this._getInitialCurrent !== null) {\n\t var getInitial = this._getInitialCurrent;\n\t this._emitValue(getInitial());\n\t }\n\t this._source.onAny(this._$handleAny); // copied from patterns/one-source\n\t }\n\t});\n\n\tfunction toProperty(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t if (fn !== null && typeof fn !== 'function') {\n\t throw new Error('You should call toProperty() with a function or no arguments.');\n\t }\n\t return new P$2(obs, { fn: fn });\n\t}\n\n\tvar S$6 = createStream('changes', {\n\t _handleValue: function (x) {\n\t if (!this._activating) {\n\t this._emitValue(x);\n\t }\n\t },\n\t _handleError: function (x) {\n\t if (!this._activating) {\n\t this._emitError(x);\n\t }\n\t }\n\t});\n\n\tfunction changes(obs) {\n\t return new S$6(obs);\n\t}\n\n\tfunction fromPromise(promise) {\n\n\t var called = false;\n\n\t var result = stream(function (emitter) {\n\t if (!called) {\n\t var onValue = function (x) {\n\t emitter.emit(x);\n\t emitter.end();\n\t };\n\t var onError = function (x) {\n\t emitter.error(x);\n\t emitter.end();\n\t };\n\t var _promise = promise.then(onValue, onError);\n\n\t // prevent libraries like 'Q' or 'when' from swallowing exceptions\n\t if (_promise && typeof _promise.done === 'function') {\n\t _promise.done();\n\t }\n\n\t called = true;\n\t }\n\t });\n\n\t return toProperty(result, null).setName('fromPromise');\n\t}\n\n\tfunction getGlodalPromise() {\n\t if (typeof Promise === 'function') {\n\t return Promise;\n\t } else {\n\t throw new Error('There isn\\'t default Promise, use shim or parameter');\n\t }\n\t}\n\n\tfunction toPromise (obs) {\n\t var Promise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlodalPromise();\n\n\t var last = null;\n\t return new Promise(function (resolve, reject) {\n\t obs.onAny(function (event) {\n\t if (event.type === END && last !== null) {\n\t (last.type === VALUE ? resolve : reject)(last.value);\n\t last = null;\n\t } else {\n\t last = event;\n\t }\n\t });\n\t });\n\t}\n\n\tvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\tvar ponyfill = createCommonjsModule(function (module, exports) {\n\t'use strict';\n\n\tObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n\t});\n\texports['default'] = symbolObservablePonyfill;\n\tfunction symbolObservablePonyfill(root) {\n\t\tvar result;\n\t\tvar _Symbol = root.Symbol;\n\n\t\tif (typeof _Symbol === 'function') {\n\t\t\tif (_Symbol.observable) {\n\t\t\t\tresult = _Symbol.observable;\n\t\t\t} else {\n\t\t\t\tresult = _Symbol('observable');\n\t\t\t\t_Symbol.observable = result;\n\t\t\t}\n\t\t} else {\n\t\t\tresult = '@@observable';\n\t\t}\n\n\t\treturn result;\n\t};\n\t});\n\n\tvar require$$0$1 = (ponyfill && typeof ponyfill === 'object' && 'default' in ponyfill ? ponyfill['default'] : ponyfill);\n\n\tvar index$1 = createCommonjsModule(function (module, exports) {\n\t'use strict';\n\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\n\tvar _ponyfill = require$$0$1;\n\n\tvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\n\tfunction _interopRequireDefault(obj) {\n\t return obj && obj.__esModule ? obj : { 'default': obj };\n\t}\n\n\tvar root; /* global window */\n\n\tif (typeof self !== 'undefined') {\n\t root = self;\n\t} else if (typeof window !== 'undefined') {\n\t root = window;\n\t} else if (typeof commonjsGlobal !== 'undefined') {\n\t root = commonjsGlobal;\n\t} else if (typeof module !== 'undefined') {\n\t root = module;\n\t} else {\n\t root = Function('return this')();\n\t}\n\n\tvar result = (0, _ponyfill2['default'])(root);\n\texports['default'] = result;\n\t});\n\n\tvar require$$0 = (index$1 && typeof index$1 === 'object' && 'default' in index$1 ? index$1['default'] : index$1);\n\n\tvar index = createCommonjsModule(function (module) {\n\tmodule.exports = require$$0;\n\t});\n\n\tvar $$observable = (index && typeof index === 'object' && 'default' in index ? index['default'] : index);\n\n\tfunction fromESObservable(_observable) {\n\t var observable = _observable[$$observable] ? _observable[$$observable]() : _observable;\n\t return stream(function (emitter) {\n\t var unsub = observable.subscribe({\n\t error: function (error) {\n\t emitter.error(error);\n\t emitter.end();\n\t },\n\t next: function (value) {\n\t emitter.emit(value);\n\t },\n\t complete: function () {\n\t emitter.end();\n\t }\n\t });\n\n\t if (unsub.unsubscribe) {\n\t return function () {\n\t unsub.unsubscribe();\n\t };\n\t } else {\n\t return unsub;\n\t }\n\t }).setName('fromESObservable');\n\t}\n\n\tfunction ESObservable(observable) {\n\t this._observable = observable.takeErrors(1);\n\t}\n\n\textend(ESObservable.prototype, {\n\t subscribe: function (observerOrOnNext, onError, onComplete) {\n\t var _this = this;\n\n\t var observer = typeof observerOrOnNext === 'function' ? { next: observerOrOnNext, error: onError, complete: onComplete } : observerOrOnNext;\n\n\t var fn = function (event) {\n\t if (event.type === END) {\n\t closed = true;\n\t }\n\n\t if (event.type === VALUE && observer.next) {\n\t observer.next(event.value);\n\t } else if (event.type === ERROR && observer.error) {\n\t observer.error(event.value);\n\t } else if (event.type === END && observer.complete) {\n\t observer.complete(event.value);\n\t }\n\t };\n\n\t this._observable.onAny(fn);\n\t var closed = false;\n\n\t var subscription = {\n\t unsubscribe: function () {\n\t closed = true;\n\t _this._observable.offAny(fn);\n\t },\n\t get closed() {\n\t return closed;\n\t }\n\t };\n\t return subscription;\n\t }\n\t});\n\n\t// Need to assign directly b/c Symbols aren't enumerable.\n\tESObservable.prototype[$$observable] = function () {\n\t return this;\n\t};\n\n\tfunction toESObservable() {\n\t return new ESObservable(this);\n\t}\n\n\tfunction collect(source, keys, values) {\n\t for (var prop in source) {\n\t if (source.hasOwnProperty(prop)) {\n\t keys.push(prop);\n\t values.push(source[prop]);\n\t }\n\t }\n\t}\n\n\tfunction defaultErrorsCombinator(errors) {\n\t var latestError = void 0;\n\t for (var i = 0; i < errors.length; i++) {\n\t if (errors[i] !== undefined) {\n\t if (latestError === undefined || latestError.index < errors[i].index) {\n\t latestError = errors[i];\n\t }\n\t }\n\t }\n\t return latestError.error;\n\t}\n\n\tfunction Combine(active, passive, combinator) {\n\t var _this = this;\n\n\t Stream.call(this);\n\t this._activeCount = active.length;\n\t this._sources = concat(active, passive);\n\t this._combinator = combinator;\n\t this._aliveCount = 0;\n\t this._latestValues = new Array(this._sources.length);\n\t this._latestErrors = new Array(this._sources.length);\n\t fillArray(this._latestValues, NOTHING);\n\t this._emitAfterActivation = false;\n\t this._endAfterActivation = false;\n\t this._latestErrorIndex = 0;\n\n\t this._$handlers = [];\n\n\t var _loop = function (i) {\n\t _this._$handlers.push(function (event) {\n\t return _this._handleAny(i, event);\n\t });\n\t };\n\n\t for (var i = 0; i < this._sources.length; i++) {\n\t _loop(i);\n\t }\n\t}\n\n\tinherit(Combine, Stream, {\n\n\t _name: 'combine',\n\n\t _onActivation: function () {\n\t this._aliveCount = this._activeCount;\n\n\t // we need to suscribe to _passive_ sources before _active_\n\t // (see https://github.com/rpominov/kefir/issues/98)\n\t for (var i = this._activeCount; i < this._sources.length; i++) {\n\t this._sources[i].onAny(this._$handlers[i]);\n\t }\n\t for (var _i = 0; _i < this._activeCount; _i++) {\n\t this._sources[_i].onAny(this._$handlers[_i]);\n\t }\n\n\t if (this._emitAfterActivation) {\n\t this._emitAfterActivation = false;\n\t this._emitIfFull();\n\t }\n\t if (this._endAfterActivation) {\n\t this._emitEnd();\n\t }\n\t },\n\t _onDeactivation: function () {\n\t var length = this._sources.length,\n\t i = void 0;\n\t for (i = 0; i < length; i++) {\n\t this._sources[i].offAny(this._$handlers[i]);\n\t }\n\t },\n\t _emitIfFull: function () {\n\t var hasAllValues = true;\n\t var hasErrors = false;\n\t var length = this._latestValues.length;\n\t var valuesCopy = new Array(length);\n\t var errorsCopy = new Array(length);\n\n\t for (var i = 0; i < length; i++) {\n\t valuesCopy[i] = this._latestValues[i];\n\t errorsCopy[i] = this._latestErrors[i];\n\n\t if (valuesCopy[i] === NOTHING) {\n\t hasAllValues = false;\n\t }\n\n\t if (errorsCopy[i] !== undefined) {\n\t hasErrors = true;\n\t }\n\t }\n\n\t if (hasAllValues) {\n\t var combinator = this._combinator;\n\t this._emitValue(combinator(valuesCopy));\n\t }\n\t if (hasErrors) {\n\t this._emitError(defaultErrorsCombinator(errorsCopy));\n\t }\n\t },\n\t _handleAny: function (i, event) {\n\n\t if (event.type === VALUE || event.type === ERROR) {\n\n\t if (event.type === VALUE) {\n\t this._latestValues[i] = event.value;\n\t this._latestErrors[i] = undefined;\n\t }\n\t if (event.type === ERROR) {\n\t this._latestValues[i] = NOTHING;\n\t this._latestErrors[i] = {\n\t index: this._latestErrorIndex++,\n\t error: event.value\n\t };\n\t }\n\n\t if (i < this._activeCount) {\n\t if (this._activating) {\n\t this._emitAfterActivation = true;\n\t } else {\n\t this._emitIfFull();\n\t }\n\t }\n\t } else {\n\t // END\n\n\t if (i < this._activeCount) {\n\t this._aliveCount--;\n\t if (this._aliveCount === 0) {\n\t if (this._activating) {\n\t this._endAfterActivation = true;\n\t } else {\n\t this._emitEnd();\n\t }\n\t }\n\t }\n\t }\n\t },\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._sources = null;\n\t this._latestValues = null;\n\t this._latestErrors = null;\n\t this._combinator = null;\n\t this._$handlers = null;\n\t }\n\t});\n\n\tfunction combineAsArray(active) {\n\t var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t var combinator = arguments[2];\n\n\t if (!Array.isArray(passive)) {\n\t throw new Error('Combine can only combine active and passive collections of the same type.');\n\t }\n\n\t combinator = combinator ? spread(combinator, active.length + passive.length) : function (x) {\n\t return x;\n\t };\n\t return active.length === 0 ? never() : new Combine(active, passive, combinator);\n\t}\n\n\tfunction combineAsObject(active) {\n\t var passive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t var combinator = arguments[2];\n\n\t if (typeof passive !== 'object' || Array.isArray(passive)) {\n\t throw new Error('Combine can only combine active and passive collections of the same type.');\n\t }\n\n\t var keys = [],\n\t activeObservables = [],\n\t passiveObservables = [];\n\n\t collect(active, keys, activeObservables);\n\t collect(passive, keys, passiveObservables);\n\n\t var objectify = function (values) {\n\t var event = {};\n\t for (var i = values.length - 1; 0 <= i; i--) {\n\t event[keys[i]] = values[i];\n\t }\n\t return combinator ? combinator(event) : event;\n\t };\n\n\t return activeObservables.length === 0 ? never() : new Combine(activeObservables, passiveObservables, objectify);\n\t}\n\n\tfunction combine(active, passive, combinator) {\n\t if (typeof passive === 'function') {\n\t combinator = passive;\n\t passive = undefined;\n\t }\n\n\t return Array.isArray(active) ? combineAsArray(active, passive, combinator) : combineAsObject(active, passive, combinator);\n\t}\n\n\tvar Observable$1 = {\n\t empty: function () {\n\t return never();\n\t },\n\n\n\t // Monoid based on merge() seems more useful than one based on concat().\n\t concat: function (a, b) {\n\t return a.merge(b);\n\t },\n\t of: function (x) {\n\t return constant(x);\n\t },\n\t map: function (fn, obs) {\n\t return obs.map(fn);\n\t },\n\t bimap: function (fnErr, fnVal, obs) {\n\t return obs.mapErrors(fnErr).map(fnVal);\n\t },\n\n\n\t // This ap strictly speaking incompatible with chain. If we derive ap from chain we get\n\t // different (not very useful) behavior. But spec requires that if method can be derived\n\t // it must have the same behavior as hand-written method. We intentionally violate the spec\n\t // in hope that it won't cause many troubles in practice. And in return we have more useful type.\n\t ap: function (obsFn, obsVal) {\n\t return combine([obsFn, obsVal], function (fn, val) {\n\t return fn(val);\n\t });\n\t },\n\t chain: function (fn, obs) {\n\t return obs.flatMap(fn);\n\t }\n\t};\n\n\n\n\tvar staticLand = Object.freeze({\n\t Observable: Observable$1\n\t});\n\n\tvar mixin = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t this._emitValue(fn(x));\n\t }\n\t};\n\n\tvar S$7 = createStream('map', mixin);\n\tvar P$3 = createProperty('map', mixin);\n\n\tvar id = function (x) {\n\t return x;\n\t};\n\n\tfunction map$1(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id;\n\n\t return new (obs._ofSameType(S$7, P$3))(obs, { fn: fn });\n\t}\n\n\tvar mixin$1 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t if (fn(x)) {\n\t this._emitValue(x);\n\t }\n\t }\n\t};\n\n\tvar S$8 = createStream('filter', mixin$1);\n\tvar P$4 = createProperty('filter', mixin$1);\n\n\tvar id$1 = function (x) {\n\t return x;\n\t};\n\n\tfunction filter(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$1;\n\n\t return new (obs._ofSameType(S$8, P$4))(obs, { fn: fn });\n\t}\n\n\tvar mixin$2 = {\n\t _init: function (_ref) {\n\t var n = _ref.n;\n\n\t this._n = n;\n\t if (n <= 0) {\n\t this._emitEnd();\n\t }\n\t },\n\t _handleValue: function (x) {\n\t this._n--;\n\t this._emitValue(x);\n\t if (this._n === 0) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$9 = createStream('take', mixin$2);\n\tvar P$5 = createProperty('take', mixin$2);\n\n\tfunction take(obs, n) {\n\t return new (obs._ofSameType(S$9, P$5))(obs, { n: n });\n\t}\n\n\tvar mixin$3 = {\n\t _init: function (_ref) {\n\t var n = _ref.n;\n\n\t this._n = n;\n\t if (n <= 0) {\n\t this._emitEnd();\n\t }\n\t },\n\t _handleError: function (x) {\n\t this._n--;\n\t this._emitError(x);\n\t if (this._n === 0) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$10 = createStream('takeErrors', mixin$3);\n\tvar P$6 = createProperty('takeErrors', mixin$3);\n\n\tfunction takeErrors(obs, n) {\n\t return new (obs._ofSameType(S$10, P$6))(obs, { n: n });\n\t}\n\n\tvar mixin$4 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t if (fn(x)) {\n\t this._emitValue(x);\n\t } else {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$11 = createStream('takeWhile', mixin$4);\n\tvar P$7 = createProperty('takeWhile', mixin$4);\n\n\tvar id$2 = function (x) {\n\t return x;\n\t};\n\n\tfunction takeWhile(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$2;\n\n\t return new (obs._ofSameType(S$11, P$7))(obs, { fn: fn });\n\t}\n\n\tvar mixin$5 = {\n\t _init: function () {\n\t this._lastValue = NOTHING;\n\t },\n\t _free: function () {\n\t this._lastValue = null;\n\t },\n\t _handleValue: function (x) {\n\t this._lastValue = x;\n\t },\n\t _handleEnd: function () {\n\t if (this._lastValue !== NOTHING) {\n\t this._emitValue(this._lastValue);\n\t }\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$12 = createStream('last', mixin$5);\n\tvar P$8 = createProperty('last', mixin$5);\n\n\tfunction last(obs) {\n\t return new (obs._ofSameType(S$12, P$8))(obs);\n\t}\n\n\tvar mixin$6 = {\n\t _init: function (_ref) {\n\t var n = _ref.n;\n\n\t this._n = Math.max(0, n);\n\t },\n\t _handleValue: function (x) {\n\t if (this._n === 0) {\n\t this._emitValue(x);\n\t } else {\n\t this._n--;\n\t }\n\t }\n\t};\n\n\tvar S$13 = createStream('skip', mixin$6);\n\tvar P$9 = createProperty('skip', mixin$6);\n\n\tfunction skip(obs, n) {\n\t return new (obs._ofSameType(S$13, P$9))(obs, { n: n });\n\t}\n\n\tvar mixin$7 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t if (this._fn !== null && !fn(x)) {\n\t this._fn = null;\n\t }\n\t if (this._fn === null) {\n\t this._emitValue(x);\n\t }\n\t }\n\t};\n\n\tvar S$14 = createStream('skipWhile', mixin$7);\n\tvar P$10 = createProperty('skipWhile', mixin$7);\n\n\tvar id$3 = function (x) {\n\t return x;\n\t};\n\n\tfunction skipWhile(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$3;\n\n\t return new (obs._ofSameType(S$14, P$10))(obs, { fn: fn });\n\t}\n\n\tvar mixin$8 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t this._prev = NOTHING;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t this._prev = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t if (this._prev === NOTHING || !fn(this._prev, x)) {\n\t this._prev = x;\n\t this._emitValue(x);\n\t }\n\t }\n\t};\n\n\tvar S$15 = createStream('skipDuplicates', mixin$8);\n\tvar P$11 = createProperty('skipDuplicates', mixin$8);\n\n\tvar eq = function (a, b) {\n\t return a === b;\n\t};\n\n\tfunction skipDuplicates(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : eq;\n\n\t return new (obs._ofSameType(S$15, P$11))(obs, { fn: fn });\n\t}\n\n\tvar mixin$9 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn,\n\t seed = _ref.seed;\n\n\t this._fn = fn;\n\t this._prev = seed;\n\t },\n\t _free: function () {\n\t this._prev = null;\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t if (this._prev !== NOTHING) {\n\t var fn = this._fn;\n\t this._emitValue(fn(this._prev, x));\n\t }\n\t this._prev = x;\n\t }\n\t};\n\n\tvar S$16 = createStream('diff', mixin$9);\n\tvar P$12 = createProperty('diff', mixin$9);\n\n\tfunction defaultFn(a, b) {\n\t return [a, b];\n\t}\n\n\tfunction diff(obs, fn) {\n\t var seed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NOTHING;\n\n\t return new (obs._ofSameType(S$16, P$12))(obs, { fn: fn || defaultFn, seed: seed });\n\t}\n\n\tvar P$13 = createProperty('scan', {\n\t _init: function (_ref) {\n\t var fn = _ref.fn,\n\t seed = _ref.seed;\n\n\t this._fn = fn;\n\t this._seed = seed;\n\t if (seed !== NOTHING) {\n\t this._emitValue(seed);\n\t }\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t this._seed = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t if (this._currentEvent === null || this._currentEvent.type === ERROR) {\n\t this._emitValue(this._seed === NOTHING ? x : fn(this._seed, x));\n\t } else {\n\t this._emitValue(fn(this._currentEvent.value, x));\n\t }\n\t }\n\t});\n\n\tfunction scan(obs, fn) {\n\t var seed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NOTHING;\n\n\t return new P$13(obs, { fn: fn, seed: seed });\n\t}\n\n\tvar mixin$10 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t var xs = fn(x);\n\t for (var i = 0; i < xs.length; i++) {\n\t this._emitValue(xs[i]);\n\t }\n\t }\n\t};\n\n\tvar S$17 = createStream('flatten', mixin$10);\n\n\tvar id$4 = function (x) {\n\t return x;\n\t};\n\n\tfunction flatten(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$4;\n\n\t return new S$17(obs, { fn: fn });\n\t}\n\n\tvar END_MARKER = {};\n\n\tvar mixin$11 = {\n\t _init: function (_ref) {\n\t var _this = this;\n\n\t var wait = _ref.wait;\n\n\t this._wait = Math.max(0, wait);\n\t this._buff = [];\n\t this._$shiftBuff = function () {\n\t var value = _this._buff.shift();\n\t if (value === END_MARKER) {\n\t _this._emitEnd();\n\t } else {\n\t _this._emitValue(value);\n\t }\n\t };\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t this._$shiftBuff = null;\n\t },\n\t _handleValue: function (x) {\n\t if (this._activating) {\n\t this._emitValue(x);\n\t } else {\n\t this._buff.push(x);\n\t setTimeout(this._$shiftBuff, this._wait);\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._activating) {\n\t this._emitEnd();\n\t } else {\n\t this._buff.push(END_MARKER);\n\t setTimeout(this._$shiftBuff, this._wait);\n\t }\n\t }\n\t};\n\n\tvar S$18 = createStream('delay', mixin$11);\n\tvar P$14 = createProperty('delay', mixin$11);\n\n\tfunction delay(obs, wait) {\n\t return new (obs._ofSameType(S$18, P$14))(obs, { wait: wait });\n\t}\n\n\tvar now = Date.now ? function () {\n\t return Date.now();\n\t} : function () {\n\t return new Date().getTime();\n\t};\n\n\tvar mixin$12 = {\n\t _init: function (_ref) {\n\t var _this = this;\n\n\t var wait = _ref.wait,\n\t leading = _ref.leading,\n\t trailing = _ref.trailing;\n\n\t this._wait = Math.max(0, wait);\n\t this._leading = leading;\n\t this._trailing = trailing;\n\t this._trailingValue = null;\n\t this._timeoutId = null;\n\t this._endLater = false;\n\t this._lastCallTime = 0;\n\t this._$trailingCall = function () {\n\t return _this._trailingCall();\n\t };\n\t },\n\t _free: function () {\n\t this._trailingValue = null;\n\t this._$trailingCall = null;\n\t },\n\t _handleValue: function (x) {\n\t if (this._activating) {\n\t this._emitValue(x);\n\t } else {\n\t var curTime = now();\n\t if (this._lastCallTime === 0 && !this._leading) {\n\t this._lastCallTime = curTime;\n\t }\n\t var remaining = this._wait - (curTime - this._lastCallTime);\n\t if (remaining <= 0) {\n\t this._cancelTrailing();\n\t this._lastCallTime = curTime;\n\t this._emitValue(x);\n\t } else if (this._trailing) {\n\t this._cancelTrailing();\n\t this._trailingValue = x;\n\t this._timeoutId = setTimeout(this._$trailingCall, remaining);\n\t }\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._activating) {\n\t this._emitEnd();\n\t } else {\n\t if (this._timeoutId) {\n\t this._endLater = true;\n\t } else {\n\t this._emitEnd();\n\t }\n\t }\n\t },\n\t _cancelTrailing: function () {\n\t if (this._timeoutId !== null) {\n\t clearTimeout(this._timeoutId);\n\t this._timeoutId = null;\n\t }\n\t },\n\t _trailingCall: function () {\n\t this._emitValue(this._trailingValue);\n\t this._timeoutId = null;\n\t this._trailingValue = null;\n\t this._lastCallTime = !this._leading ? 0 : now();\n\t if (this._endLater) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$19 = createStream('throttle', mixin$12);\n\tvar P$15 = createProperty('throttle', mixin$12);\n\n\tfunction throttle(obs, wait) {\n\t var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n\t _ref2$leading = _ref2.leading,\n\t leading = _ref2$leading === undefined ? true : _ref2$leading,\n\t _ref2$trailing = _ref2.trailing,\n\t trailing = _ref2$trailing === undefined ? true : _ref2$trailing;\n\n\t return new (obs._ofSameType(S$19, P$15))(obs, { wait: wait, leading: leading, trailing: trailing });\n\t}\n\n\tvar mixin$13 = {\n\t _init: function (_ref) {\n\t var _this = this;\n\n\t var wait = _ref.wait,\n\t immediate = _ref.immediate;\n\n\t this._wait = Math.max(0, wait);\n\t this._immediate = immediate;\n\t this._lastAttempt = 0;\n\t this._timeoutId = null;\n\t this._laterValue = null;\n\t this._endLater = false;\n\t this._$later = function () {\n\t return _this._later();\n\t };\n\t },\n\t _free: function () {\n\t this._laterValue = null;\n\t this._$later = null;\n\t },\n\t _handleValue: function (x) {\n\t if (this._activating) {\n\t this._emitValue(x);\n\t } else {\n\t this._lastAttempt = now();\n\t if (this._immediate && !this._timeoutId) {\n\t this._emitValue(x);\n\t }\n\t if (!this._timeoutId) {\n\t this._timeoutId = setTimeout(this._$later, this._wait);\n\t }\n\t if (!this._immediate) {\n\t this._laterValue = x;\n\t }\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._activating) {\n\t this._emitEnd();\n\t } else {\n\t if (this._timeoutId && !this._immediate) {\n\t this._endLater = true;\n\t } else {\n\t this._emitEnd();\n\t }\n\t }\n\t },\n\t _later: function () {\n\t var last = now() - this._lastAttempt;\n\t if (last < this._wait && last >= 0) {\n\t this._timeoutId = setTimeout(this._$later, this._wait - last);\n\t } else {\n\t this._timeoutId = null;\n\t if (!this._immediate) {\n\t this._emitValue(this._laterValue);\n\t this._laterValue = null;\n\t }\n\t if (this._endLater) {\n\t this._emitEnd();\n\t }\n\t }\n\t }\n\t};\n\n\tvar S$20 = createStream('debounce', mixin$13);\n\tvar P$16 = createProperty('debounce', mixin$13);\n\n\tfunction debounce(obs, wait) {\n\t var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n\t _ref2$immediate = _ref2.immediate,\n\t immediate = _ref2$immediate === undefined ? false : _ref2$immediate;\n\n\t return new (obs._ofSameType(S$20, P$16))(obs, { wait: wait, immediate: immediate });\n\t}\n\n\tvar mixin$14 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleError: function (x) {\n\t var fn = this._fn;\n\t this._emitError(fn(x));\n\t }\n\t};\n\n\tvar S$21 = createStream('mapErrors', mixin$14);\n\tvar P$17 = createProperty('mapErrors', mixin$14);\n\n\tvar id$5 = function (x) {\n\t return x;\n\t};\n\n\tfunction mapErrors(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$5;\n\n\t return new (obs._ofSameType(S$21, P$17))(obs, { fn: fn });\n\t}\n\n\tvar mixin$15 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleError: function (x) {\n\t var fn = this._fn;\n\t if (fn(x)) {\n\t this._emitError(x);\n\t }\n\t }\n\t};\n\n\tvar S$22 = createStream('filterErrors', mixin$15);\n\tvar P$18 = createProperty('filterErrors', mixin$15);\n\n\tvar id$6 = function (x) {\n\t return x;\n\t};\n\n\tfunction filterErrors(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : id$6;\n\n\t return new (obs._ofSameType(S$22, P$18))(obs, { fn: fn });\n\t}\n\n\tvar mixin$16 = {\n\t _handleValue: function () {}\n\t};\n\n\tvar S$23 = createStream('ignoreValues', mixin$16);\n\tvar P$19 = createProperty('ignoreValues', mixin$16);\n\n\tfunction ignoreValues(obs) {\n\t return new (obs._ofSameType(S$23, P$19))(obs);\n\t}\n\n\tvar mixin$17 = {\n\t _handleError: function () {}\n\t};\n\n\tvar S$24 = createStream('ignoreErrors', mixin$17);\n\tvar P$20 = createProperty('ignoreErrors', mixin$17);\n\n\tfunction ignoreErrors(obs) {\n\t return new (obs._ofSameType(S$24, P$20))(obs);\n\t}\n\n\tvar mixin$18 = {\n\t _handleEnd: function () {}\n\t};\n\n\tvar S$25 = createStream('ignoreEnd', mixin$18);\n\tvar P$21 = createProperty('ignoreEnd', mixin$18);\n\n\tfunction ignoreEnd(obs) {\n\t return new (obs._ofSameType(S$25, P$21))(obs);\n\t}\n\n\tvar mixin$19 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleEnd: function () {\n\t var fn = this._fn;\n\t this._emitValue(fn());\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$26 = createStream('beforeEnd', mixin$19);\n\tvar P$22 = createProperty('beforeEnd', mixin$19);\n\n\tfunction beforeEnd(obs, fn) {\n\t return new (obs._ofSameType(S$26, P$22))(obs, { fn: fn });\n\t}\n\n\tvar mixin$20 = {\n\t _init: function (_ref) {\n\t var min = _ref.min,\n\t max = _ref.max;\n\n\t this._max = max;\n\t this._min = min;\n\t this._buff = [];\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t },\n\t _handleValue: function (x) {\n\t this._buff = slide(this._buff, x, this._max);\n\t if (this._buff.length >= this._min) {\n\t this._emitValue(this._buff);\n\t }\n\t }\n\t};\n\n\tvar S$27 = createStream('slidingWindow', mixin$20);\n\tvar P$23 = createProperty('slidingWindow', mixin$20);\n\n\tfunction slidingWindow(obs, max) {\n\t var min = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n\t return new (obs._ofSameType(S$27, P$23))(obs, { min: min, max: max });\n\t}\n\n\tvar mixin$21 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn,\n\t flushOnEnd = _ref.flushOnEnd;\n\n\t this._fn = fn;\n\t this._flushOnEnd = flushOnEnd;\n\t this._buff = [];\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t },\n\t _flush: function () {\n\t if (this._buff !== null && this._buff.length !== 0) {\n\t this._emitValue(this._buff);\n\t this._buff = [];\n\t }\n\t },\n\t _handleValue: function (x) {\n\t this._buff.push(x);\n\t var fn = this._fn;\n\t if (!fn(x)) {\n\t this._flush();\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._flushOnEnd) {\n\t this._flush();\n\t }\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$28 = createStream('bufferWhile', mixin$21);\n\tvar P$24 = createProperty('bufferWhile', mixin$21);\n\n\tvar id$7 = function (x) {\n\t return x;\n\t};\n\n\tfunction bufferWhile(obs, fn) {\n\t var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n\t _ref2$flushOnEnd = _ref2.flushOnEnd,\n\t flushOnEnd = _ref2$flushOnEnd === undefined ? true : _ref2$flushOnEnd;\n\n\t return new (obs._ofSameType(S$28, P$24))(obs, { fn: fn || id$7, flushOnEnd: flushOnEnd });\n\t}\n\n\tvar mixin$22 = {\n\t _init: function (_ref) {\n\t var count = _ref.count,\n\t flushOnEnd = _ref.flushOnEnd;\n\n\t this._count = count;\n\t this._flushOnEnd = flushOnEnd;\n\t this._buff = [];\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t },\n\t _flush: function () {\n\t if (this._buff !== null && this._buff.length !== 0) {\n\t this._emitValue(this._buff);\n\t this._buff = [];\n\t }\n\t },\n\t _handleValue: function (x) {\n\t this._buff.push(x);\n\t if (this._buff.length >= this._count) {\n\t this._flush();\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._flushOnEnd) {\n\t this._flush();\n\t }\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$29 = createStream('bufferWithCount', mixin$22);\n\tvar P$25 = createProperty('bufferWithCount', mixin$22);\n\n\tfunction bufferWhile$1(obs, count) {\n\t var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n\t _ref2$flushOnEnd = _ref2.flushOnEnd,\n\t flushOnEnd = _ref2$flushOnEnd === undefined ? true : _ref2$flushOnEnd;\n\n\t return new (obs._ofSameType(S$29, P$25))(obs, { count: count, flushOnEnd: flushOnEnd });\n\t}\n\n\tvar mixin$23 = {\n\t _init: function (_ref) {\n\t var _this = this;\n\n\t var wait = _ref.wait,\n\t count = _ref.count,\n\t flushOnEnd = _ref.flushOnEnd;\n\n\t this._wait = wait;\n\t this._count = count;\n\t this._flushOnEnd = flushOnEnd;\n\t this._intervalId = null;\n\t this._$onTick = function () {\n\t return _this._flush();\n\t };\n\t this._buff = [];\n\t },\n\t _free: function () {\n\t this._$onTick = null;\n\t this._buff = null;\n\t },\n\t _flush: function () {\n\t if (this._buff !== null) {\n\t this._emitValue(this._buff);\n\t this._buff = [];\n\t }\n\t },\n\t _handleValue: function (x) {\n\t this._buff.push(x);\n\t if (this._buff.length >= this._count) {\n\t clearInterval(this._intervalId);\n\t this._flush();\n\t this._intervalId = setInterval(this._$onTick, this._wait);\n\t }\n\t },\n\t _handleEnd: function () {\n\t if (this._flushOnEnd && this._buff.length !== 0) {\n\t this._flush();\n\t }\n\t this._emitEnd();\n\t },\n\t _onActivation: function () {\n\t this._intervalId = setInterval(this._$onTick, this._wait);\n\t this._source.onAny(this._$handleAny); // copied from patterns/one-source\n\t },\n\t _onDeactivation: function () {\n\t if (this._intervalId !== null) {\n\t clearInterval(this._intervalId);\n\t this._intervalId = null;\n\t }\n\t this._source.offAny(this._$handleAny); // copied from patterns/one-source\n\t }\n\t};\n\n\tvar S$30 = createStream('bufferWithTimeOrCount', mixin$23);\n\tvar P$26 = createProperty('bufferWithTimeOrCount', mixin$23);\n\n\tfunction bufferWithTimeOrCount(obs, wait, count) {\n\t var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},\n\t _ref2$flushOnEnd = _ref2.flushOnEnd,\n\t flushOnEnd = _ref2$flushOnEnd === undefined ? true : _ref2$flushOnEnd;\n\n\t return new (obs._ofSameType(S$30, P$26))(obs, { wait: wait, count: count, flushOnEnd: flushOnEnd });\n\t}\n\n\tfunction xformForObs(obs) {\n\t return {\n\t '@@transducer/step': function (res, input) {\n\t obs._emitValue(input);\n\t return null;\n\t },\n\t '@@transducer/result': function () {\n\t obs._emitEnd();\n\t return null;\n\t }\n\t };\n\t}\n\n\tvar mixin$24 = {\n\t _init: function (_ref) {\n\t var transducer = _ref.transducer;\n\n\t this._xform = transducer(xformForObs(this));\n\t },\n\t _free: function () {\n\t this._xform = null;\n\t },\n\t _handleValue: function (x) {\n\t if (this._xform['@@transducer/step'](null, x) !== null) {\n\t this._xform['@@transducer/result'](null);\n\t }\n\t },\n\t _handleEnd: function () {\n\t this._xform['@@transducer/result'](null);\n\t }\n\t};\n\n\tvar S$31 = createStream('transduce', mixin$24);\n\tvar P$27 = createProperty('transduce', mixin$24);\n\n\tfunction transduce(obs, transducer) {\n\t return new (obs._ofSameType(S$31, P$27))(obs, { transducer: transducer });\n\t}\n\n\tvar mixin$25 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._handler = fn;\n\t this._emitter = emitter(this);\n\t },\n\t _free: function () {\n\t this._handler = null;\n\t this._emitter = null;\n\t },\n\t _handleAny: function (event) {\n\t this._handler(this._emitter, event);\n\t }\n\t};\n\n\tvar S$32 = createStream('withHandler', mixin$25);\n\tvar P$28 = createProperty('withHandler', mixin$25);\n\n\tfunction withHandler(obs, fn) {\n\t return new (obs._ofSameType(S$32, P$28))(obs, { fn: fn });\n\t}\n\n\tvar isArray = Array.isArray || function (xs) {\n\t return Object.prototype.toString.call(xs) === '[object Array]';\n\t};\n\n\tfunction Zip(sources, combinator) {\n\t var _this = this;\n\n\t Stream.call(this);\n\n\t this._buffers = map(sources, function (source) {\n\t return isArray(source) ? cloneArray(source) : [];\n\t });\n\t this._sources = map(sources, function (source) {\n\t return isArray(source) ? never() : source;\n\t });\n\n\t this._combinator = combinator ? spread(combinator, this._sources.length) : function (x) {\n\t return x;\n\t };\n\t this._aliveCount = 0;\n\n\t this._$handlers = [];\n\n\t var _loop = function (i) {\n\t _this._$handlers.push(function (event) {\n\t return _this._handleAny(i, event);\n\t });\n\t };\n\n\t for (var i = 0; i < this._sources.length; i++) {\n\t _loop(i);\n\t }\n\t}\n\n\tinherit(Zip, Stream, {\n\n\t _name: 'zip',\n\n\t _onActivation: function () {\n\n\t // if all sources are arrays\n\t while (this._isFull()) {\n\t this._emit();\n\t }\n\n\t var length = this._sources.length;\n\t this._aliveCount = length;\n\t for (var i = 0; i < length && this._active; i++) {\n\t this._sources[i].onAny(this._$handlers[i]);\n\t }\n\t },\n\t _onDeactivation: function () {\n\t for (var i = 0; i < this._sources.length; i++) {\n\t this._sources[i].offAny(this._$handlers[i]);\n\t }\n\t },\n\t _emit: function () {\n\t var values = new Array(this._buffers.length);\n\t for (var i = 0; i < this._buffers.length; i++) {\n\t values[i] = this._buffers[i].shift();\n\t }\n\t var combinator = this._combinator;\n\t this._emitValue(combinator(values));\n\t },\n\t _isFull: function () {\n\t for (var i = 0; i < this._buffers.length; i++) {\n\t if (this._buffers[i].length === 0) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t },\n\t _handleAny: function (i, event) {\n\t if (event.type === VALUE) {\n\t this._buffers[i].push(event.value);\n\t if (this._isFull()) {\n\t this._emit();\n\t }\n\t }\n\t if (event.type === ERROR) {\n\t this._emitError(event.value);\n\t }\n\t if (event.type === END) {\n\t this._aliveCount--;\n\t if (this._aliveCount === 0) {\n\t this._emitEnd();\n\t }\n\t }\n\t },\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._sources = null;\n\t this._buffers = null;\n\t this._combinator = null;\n\t this._$handlers = null;\n\t }\n\t});\n\n\tfunction zip(observables, combinator /* Function | falsey */) {\n\t return observables.length === 0 ? never() : new Zip(observables, combinator);\n\t}\n\n\tvar id$8 = function (x) {\n\t return x;\n\t};\n\n\tfunction AbstractPool() {\n\t var _this = this;\n\n\t var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t _ref$queueLim = _ref.queueLim,\n\t queueLim = _ref$queueLim === undefined ? 0 : _ref$queueLim,\n\t _ref$concurLim = _ref.concurLim,\n\t concurLim = _ref$concurLim === undefined ? -1 : _ref$concurLim,\n\t _ref$drop = _ref.drop,\n\t drop = _ref$drop === undefined ? 'new' : _ref$drop;\n\n\t Stream.call(this);\n\n\t this._queueLim = queueLim < 0 ? -1 : queueLim;\n\t this._concurLim = concurLim < 0 ? -1 : concurLim;\n\t this._drop = drop;\n\t this._queue = [];\n\t this._curSources = [];\n\t this._$handleSubAny = function (event) {\n\t return _this._handleSubAny(event);\n\t };\n\t this._$endHandlers = [];\n\t this._currentlyAdding = null;\n\n\t if (this._concurLim === 0) {\n\t this._emitEnd();\n\t }\n\t}\n\n\tinherit(AbstractPool, Stream, {\n\n\t _name: 'abstractPool',\n\n\t _add: function (obj, toObs /* Function | falsey */) {\n\t toObs = toObs || id$8;\n\t if (this._concurLim === -1 || this._curSources.length < this._concurLim) {\n\t this._addToCur(toObs(obj));\n\t } else {\n\t if (this._queueLim === -1 || this._queue.length < this._queueLim) {\n\t this._addToQueue(toObs(obj));\n\t } else if (this._drop === 'old') {\n\t this._removeOldest();\n\t this._add(obj, toObs);\n\t }\n\t }\n\t },\n\t _addAll: function (obss) {\n\t var _this2 = this;\n\n\t forEach(obss, function (obs) {\n\t return _this2._add(obs);\n\t });\n\t },\n\t _remove: function (obs) {\n\t if (this._removeCur(obs) === -1) {\n\t this._removeQueue(obs);\n\t }\n\t },\n\t _addToQueue: function (obs) {\n\t this._queue = concat(this._queue, [obs]);\n\t },\n\t _addToCur: function (obs) {\n\t if (this._active) {\n\n\t // HACK:\n\t //\n\t // We have two optimizations for cases when `obs` is ended. We don't want\n\t // to add such observable to the list, but only want to emit events\n\t // from it (if it has some).\n\t //\n\t // Instead of this hacks, we could just did following,\n\t // but it would be 5-8 times slower:\n\t //\n\t // this._curSources = concat(this._curSources, [obs]);\n\t // this._subscribe(obs);\n\t //\n\n\t // #1\n\t // This one for cases when `obs` already ended\n\t // e.g., Kefir.constant() or Kefir.never()\n\t if (!obs._alive) {\n\t if (obs._currentEvent) {\n\t this._emit(obs._currentEvent.type, obs._currentEvent.value);\n\t }\n\t return;\n\t }\n\n\t // #2\n\t // This one is for cases when `obs` going to end synchronously on\n\t // first subscriber e.g., Kefir.stream(em => {em.emit(1); em.end()})\n\t this._currentlyAdding = obs;\n\t obs.onAny(this._$handleSubAny);\n\t this._currentlyAdding = null;\n\t if (obs._alive) {\n\t this._curSources = concat(this._curSources, [obs]);\n\t if (this._active) {\n\t this._subToEnd(obs);\n\t }\n\t }\n\t } else {\n\t this._curSources = concat(this._curSources, [obs]);\n\t }\n\t },\n\t _subToEnd: function (obs) {\n\t var _this3 = this;\n\n\t var onEnd = function () {\n\t return _this3._removeCur(obs);\n\t };\n\t this._$endHandlers.push({ obs: obs, handler: onEnd });\n\t obs.onEnd(onEnd);\n\t },\n\t _subscribe: function (obs) {\n\t obs.onAny(this._$handleSubAny);\n\n\t // it can become inactive in responce of subscribing to `obs.onAny` above\n\t if (this._active) {\n\t this._subToEnd(obs);\n\t }\n\t },\n\t _unsubscribe: function (obs) {\n\t obs.offAny(this._$handleSubAny);\n\n\t var onEndI = findByPred(this._$endHandlers, function (obj) {\n\t return obj.obs === obs;\n\t });\n\t if (onEndI !== -1) {\n\t obs.offEnd(this._$endHandlers[onEndI].handler);\n\t this._$endHandlers.splice(onEndI, 1);\n\t }\n\t },\n\t _handleSubAny: function (event) {\n\t if (event.type === VALUE) {\n\t this._emitValue(event.value);\n\t } else if (event.type === ERROR) {\n\t this._emitError(event.value);\n\t }\n\t },\n\t _removeQueue: function (obs) {\n\t var index = find(this._queue, obs);\n\t this._queue = remove(this._queue, index);\n\t return index;\n\t },\n\t _removeCur: function (obs) {\n\t if (this._active) {\n\t this._unsubscribe(obs);\n\t }\n\t var index = find(this._curSources, obs);\n\t this._curSources = remove(this._curSources, index);\n\t if (index !== -1) {\n\t if (this._queue.length !== 0) {\n\t this._pullQueue();\n\t } else if (this._curSources.length === 0) {\n\t this._onEmpty();\n\t }\n\t }\n\t return index;\n\t },\n\t _removeOldest: function () {\n\t this._removeCur(this._curSources[0]);\n\t },\n\t _pullQueue: function () {\n\t if (this._queue.length !== 0) {\n\t this._queue = cloneArray(this._queue);\n\t this._addToCur(this._queue.shift());\n\t }\n\t },\n\t _onActivation: function () {\n\t for (var i = 0, sources = this._curSources; i < sources.length && this._active; i++) {\n\t this._subscribe(sources[i]);\n\t }\n\t },\n\t _onDeactivation: function () {\n\t for (var i = 0, sources = this._curSources; i < sources.length; i++) {\n\t this._unsubscribe(sources[i]);\n\t }\n\t if (this._currentlyAdding !== null) {\n\t this._unsubscribe(this._currentlyAdding);\n\t }\n\t },\n\t _isEmpty: function () {\n\t return this._curSources.length === 0;\n\t },\n\t _onEmpty: function () {},\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._queue = null;\n\t this._curSources = null;\n\t this._$handleSubAny = null;\n\t this._$endHandlers = null;\n\t }\n\t});\n\n\tfunction Merge(sources) {\n\t AbstractPool.call(this);\n\t this._addAll(sources);\n\t this._initialised = true;\n\t}\n\n\tinherit(Merge, AbstractPool, {\n\n\t _name: 'merge',\n\n\t _onEmpty: function () {\n\t if (this._initialised) {\n\t this._emitEnd();\n\t }\n\t }\n\t});\n\n\tfunction merge(observables) {\n\t return observables.length === 0 ? never() : new Merge(observables);\n\t}\n\n\tfunction S$33(generator) {\n\t var _this = this;\n\n\t Stream.call(this);\n\t this._generator = generator;\n\t this._source = null;\n\t this._inLoop = false;\n\t this._iteration = 0;\n\t this._$handleAny = function (event) {\n\t return _this._handleAny(event);\n\t };\n\t}\n\n\tinherit(S$33, Stream, {\n\n\t _name: 'repeat',\n\n\t _handleAny: function (event) {\n\t if (event.type === END) {\n\t this._source = null;\n\t this._getSource();\n\t } else {\n\t this._emit(event.type, event.value);\n\t }\n\t },\n\t _getSource: function () {\n\t if (!this._inLoop) {\n\t this._inLoop = true;\n\t var generator = this._generator;\n\t while (this._source === null && this._alive && this._active) {\n\t this._source = generator(this._iteration++);\n\t if (this._source) {\n\t this._source.onAny(this._$handleAny);\n\t } else {\n\t this._emitEnd();\n\t }\n\t }\n\t this._inLoop = false;\n\t }\n\t },\n\t _onActivation: function () {\n\t if (this._source) {\n\t this._source.onAny(this._$handleAny);\n\t } else {\n\t this._getSource();\n\t }\n\t },\n\t _onDeactivation: function () {\n\t if (this._source) {\n\t this._source.offAny(this._$handleAny);\n\t }\n\t },\n\t _clear: function () {\n\t Stream.prototype._clear.call(this);\n\t this._generator = null;\n\t this._source = null;\n\t this._$handleAny = null;\n\t }\n\t});\n\n\tfunction repeat (generator) {\n\t return new S$33(generator);\n\t}\n\n\tfunction concat$1(observables) {\n\t return repeat(function (index) {\n\t return observables.length > index ? observables[index] : false;\n\t }).setName('concat');\n\t}\n\n\tfunction Pool() {\n\t AbstractPool.call(this);\n\t}\n\n\tinherit(Pool, AbstractPool, {\n\n\t _name: 'pool',\n\n\t plug: function (obs) {\n\t this._add(obs);\n\t return this;\n\t },\n\t unplug: function (obs) {\n\t this._remove(obs);\n\t return this;\n\t }\n\t});\n\n\tfunction FlatMap(source, fn, options) {\n\t var _this = this;\n\n\t AbstractPool.call(this, options);\n\t this._source = source;\n\t this._fn = fn;\n\t this._mainEnded = false;\n\t this._lastCurrent = null;\n\t this._$handleMain = function (event) {\n\t return _this._handleMain(event);\n\t };\n\t}\n\n\tinherit(FlatMap, AbstractPool, {\n\t _onActivation: function () {\n\t AbstractPool.prototype._onActivation.call(this);\n\t if (this._active) {\n\t this._source.onAny(this._$handleMain);\n\t }\n\t },\n\t _onDeactivation: function () {\n\t AbstractPool.prototype._onDeactivation.call(this);\n\t this._source.offAny(this._$handleMain);\n\t this._hadNoEvSinceDeact = true;\n\t },\n\t _handleMain: function (event) {\n\n\t if (event.type === VALUE) {\n\t // Is latest value before deactivation survived, and now is 'current' on this activation?\n\t // We don't want to handle such values, to prevent to constantly add\n\t // same observale on each activation/deactivation when our main source\n\t // is a `Kefir.conatant()` for example.\n\t var sameCurr = this._activating && this._hadNoEvSinceDeact && this._lastCurrent === event.value;\n\t if (!sameCurr) {\n\t this._add(event.value, this._fn);\n\t }\n\t this._lastCurrent = event.value;\n\t this._hadNoEvSinceDeact = false;\n\t }\n\n\t if (event.type === ERROR) {\n\t this._emitError(event.value);\n\t }\n\n\t if (event.type === END) {\n\t if (this._isEmpty()) {\n\t this._emitEnd();\n\t } else {\n\t this._mainEnded = true;\n\t }\n\t }\n\t },\n\t _onEmpty: function () {\n\t if (this._mainEnded) {\n\t this._emitEnd();\n\t }\n\t },\n\t _clear: function () {\n\t AbstractPool.prototype._clear.call(this);\n\t this._source = null;\n\t this._lastCurrent = null;\n\t this._$handleMain = null;\n\t }\n\t});\n\n\tfunction FlatMapErrors(source, fn) {\n\t FlatMap.call(this, source, fn);\n\t}\n\n\tinherit(FlatMapErrors, FlatMap, {\n\n\t // Same as in FlatMap, only VALUE/ERROR flipped\n\t _handleMain: function (event) {\n\n\t if (event.type === ERROR) {\n\t var sameCurr = this._activating && this._hadNoEvSinceDeact && this._lastCurrent === event.value;\n\t if (!sameCurr) {\n\t this._add(event.value, this._fn);\n\t }\n\t this._lastCurrent = event.value;\n\t this._hadNoEvSinceDeact = false;\n\t }\n\n\t if (event.type === VALUE) {\n\t this._emitValue(event.value);\n\t }\n\n\t if (event.type === END) {\n\t if (this._isEmpty()) {\n\t this._emitEnd();\n\t } else {\n\t this._mainEnded = true;\n\t }\n\t }\n\t }\n\t});\n\n\tfunction createConstructor$1(BaseClass, name) {\n\t return function AnonymousObservable(primary, secondary, options) {\n\t var _this = this;\n\n\t BaseClass.call(this);\n\t this._primary = primary;\n\t this._secondary = secondary;\n\t this._name = primary._name + '.' + name;\n\t this._lastSecondary = NOTHING;\n\t this._$handleSecondaryAny = function (event) {\n\t return _this._handleSecondaryAny(event);\n\t };\n\t this._$handlePrimaryAny = function (event) {\n\t return _this._handlePrimaryAny(event);\n\t };\n\t this._init(options);\n\t };\n\t}\n\n\tfunction createClassMethods$1(BaseClass) {\n\t return {\n\t _init: function () {},\n\t _free: function () {},\n\t _handlePrimaryValue: function (x) {\n\t this._emitValue(x);\n\t },\n\t _handlePrimaryError: function (x) {\n\t this._emitError(x);\n\t },\n\t _handlePrimaryEnd: function () {\n\t this._emitEnd();\n\t },\n\t _handleSecondaryValue: function (x) {\n\t this._lastSecondary = x;\n\t },\n\t _handleSecondaryError: function (x) {\n\t this._emitError(x);\n\t },\n\t _handleSecondaryEnd: function () {},\n\t _handlePrimaryAny: function (event) {\n\t switch (event.type) {\n\t case VALUE:\n\t return this._handlePrimaryValue(event.value);\n\t case ERROR:\n\t return this._handlePrimaryError(event.value);\n\t case END:\n\t return this._handlePrimaryEnd(event.value);\n\t }\n\t },\n\t _handleSecondaryAny: function (event) {\n\t switch (event.type) {\n\t case VALUE:\n\t return this._handleSecondaryValue(event.value);\n\t case ERROR:\n\t return this._handleSecondaryError(event.value);\n\t case END:\n\t this._handleSecondaryEnd(event.value);\n\t this._removeSecondary();\n\t }\n\t },\n\t _removeSecondary: function () {\n\t if (this._secondary !== null) {\n\t this._secondary.offAny(this._$handleSecondaryAny);\n\t this._$handleSecondaryAny = null;\n\t this._secondary = null;\n\t }\n\t },\n\t _onActivation: function () {\n\t if (this._secondary !== null) {\n\t this._secondary.onAny(this._$handleSecondaryAny);\n\t }\n\t if (this._active) {\n\t this._primary.onAny(this._$handlePrimaryAny);\n\t }\n\t },\n\t _onDeactivation: function () {\n\t if (this._secondary !== null) {\n\t this._secondary.offAny(this._$handleSecondaryAny);\n\t }\n\t this._primary.offAny(this._$handlePrimaryAny);\n\t },\n\t _clear: function () {\n\t BaseClass.prototype._clear.call(this);\n\t this._primary = null;\n\t this._secondary = null;\n\t this._lastSecondary = null;\n\t this._$handleSecondaryAny = null;\n\t this._$handlePrimaryAny = null;\n\t this._free();\n\t }\n\t };\n\t}\n\n\tfunction createStream$1(name, mixin) {\n\t var S = createConstructor$1(Stream, name);\n\t inherit(S, Stream, createClassMethods$1(Stream), mixin);\n\t return S;\n\t}\n\n\tfunction createProperty$1(name, mixin) {\n\t var P = createConstructor$1(Property, name);\n\t inherit(P, Property, createClassMethods$1(Property), mixin);\n\t return P;\n\t}\n\n\tvar mixin$26 = {\n\t _handlePrimaryValue: function (x) {\n\t if (this._lastSecondary !== NOTHING && this._lastSecondary) {\n\t this._emitValue(x);\n\t }\n\t },\n\t _handleSecondaryEnd: function () {\n\t if (this._lastSecondary === NOTHING || !this._lastSecondary) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$34 = createStream$1('filterBy', mixin$26);\n\tvar P$29 = createProperty$1('filterBy', mixin$26);\n\n\tfunction filterBy(primary, secondary) {\n\t return new (primary._ofSameType(S$34, P$29))(primary, secondary);\n\t}\n\n\tvar id2 = function (_, x) {\n\t return x;\n\t};\n\n\tfunction sampledBy(passive, active, combinator) {\n\t var _combinator = combinator ? function (a, b) {\n\t return combinator(b, a);\n\t } : id2;\n\t return combine([active], [passive], _combinator).setName(passive, 'sampledBy');\n\t}\n\n\tvar mixin$27 = {\n\t _handlePrimaryValue: function (x) {\n\t if (this._lastSecondary !== NOTHING) {\n\t this._emitValue(x);\n\t }\n\t },\n\t _handleSecondaryEnd: function () {\n\t if (this._lastSecondary === NOTHING) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$35 = createStream$1('skipUntilBy', mixin$27);\n\tvar P$30 = createProperty$1('skipUntilBy', mixin$27);\n\n\tfunction skipUntilBy(primary, secondary) {\n\t return new (primary._ofSameType(S$35, P$30))(primary, secondary);\n\t}\n\n\tvar mixin$28 = {\n\t _handleSecondaryValue: function () {\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$36 = createStream$1('takeUntilBy', mixin$28);\n\tvar P$31 = createProperty$1('takeUntilBy', mixin$28);\n\n\tfunction takeUntilBy(primary, secondary) {\n\t return new (primary._ofSameType(S$36, P$31))(primary, secondary);\n\t}\n\n\tvar mixin$29 = {\n\t _init: function () {\n\t var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t _ref$flushOnEnd = _ref.flushOnEnd,\n\t flushOnEnd = _ref$flushOnEnd === undefined ? true : _ref$flushOnEnd;\n\n\t this._buff = [];\n\t this._flushOnEnd = flushOnEnd;\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t },\n\t _flush: function () {\n\t if (this._buff !== null) {\n\t this._emitValue(this._buff);\n\t this._buff = [];\n\t }\n\t },\n\t _handlePrimaryEnd: function () {\n\t if (this._flushOnEnd) {\n\t this._flush();\n\t }\n\t this._emitEnd();\n\t },\n\t _onActivation: function () {\n\t this._primary.onAny(this._$handlePrimaryAny);\n\t if (this._alive && this._secondary !== null) {\n\t this._secondary.onAny(this._$handleSecondaryAny);\n\t }\n\t },\n\t _handlePrimaryValue: function (x) {\n\t this._buff.push(x);\n\t },\n\t _handleSecondaryValue: function () {\n\t this._flush();\n\t },\n\t _handleSecondaryEnd: function () {\n\t if (!this._flushOnEnd) {\n\t this._emitEnd();\n\t }\n\t }\n\t};\n\n\tvar S$37 = createStream$1('bufferBy', mixin$29);\n\tvar P$32 = createProperty$1('bufferBy', mixin$29);\n\n\tfunction bufferBy(primary, secondary, options /* optional */) {\n\t return new (primary._ofSameType(S$37, P$32))(primary, secondary, options);\n\t}\n\n\tvar mixin$30 = {\n\t _init: function () {\n\t var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n\t _ref$flushOnEnd = _ref.flushOnEnd,\n\t flushOnEnd = _ref$flushOnEnd === undefined ? true : _ref$flushOnEnd,\n\t _ref$flushOnChange = _ref.flushOnChange,\n\t flushOnChange = _ref$flushOnChange === undefined ? false : _ref$flushOnChange;\n\n\t this._buff = [];\n\t this._flushOnEnd = flushOnEnd;\n\t this._flushOnChange = flushOnChange;\n\t },\n\t _free: function () {\n\t this._buff = null;\n\t },\n\t _flush: function () {\n\t if (this._buff !== null) {\n\t this._emitValue(this._buff);\n\t this._buff = [];\n\t }\n\t },\n\t _handlePrimaryEnd: function () {\n\t if (this._flushOnEnd) {\n\t this._flush();\n\t }\n\t this._emitEnd();\n\t },\n\t _handlePrimaryValue: function (x) {\n\t this._buff.push(x);\n\t if (this._lastSecondary !== NOTHING && !this._lastSecondary) {\n\t this._flush();\n\t }\n\t },\n\t _handleSecondaryEnd: function () {\n\t if (!this._flushOnEnd && (this._lastSecondary === NOTHING || this._lastSecondary)) {\n\t this._emitEnd();\n\t }\n\t },\n\t _handleSecondaryValue: function (x) {\n\t if (this._flushOnChange && !x) {\n\t this._flush();\n\t }\n\n\t // from default _handleSecondaryValue\n\t this._lastSecondary = x;\n\t }\n\t};\n\n\tvar S$38 = createStream$1('bufferWhileBy', mixin$30);\n\tvar P$33 = createProperty$1('bufferWhileBy', mixin$30);\n\n\tfunction bufferWhileBy(primary, secondary, options /* optional */) {\n\t return new (primary._ofSameType(S$38, P$33))(primary, secondary, options);\n\t}\n\n\tvar f = function () {\n\t return false;\n\t};\n\tvar t = function () {\n\t return true;\n\t};\n\n\tfunction awaiting(a, b) {\n\t var result = merge([map$1(a, t), map$1(b, f)]);\n\t result = skipDuplicates(result);\n\t result = toProperty(result, f);\n\t return result.setName(a, 'awaiting');\n\t}\n\n\tvar mixin$31 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleValue: function (x) {\n\t var fn = this._fn;\n\t var result = fn(x);\n\t if (result.convert) {\n\t this._emitError(result.error);\n\t } else {\n\t this._emitValue(x);\n\t }\n\t }\n\t};\n\n\tvar S$39 = createStream('valuesToErrors', mixin$31);\n\tvar P$34 = createProperty('valuesToErrors', mixin$31);\n\n\tvar defFn = function (x) {\n\t return { convert: true, error: x };\n\t};\n\n\tfunction valuesToErrors(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defFn;\n\n\t return new (obs._ofSameType(S$39, P$34))(obs, { fn: fn });\n\t}\n\n\tvar mixin$32 = {\n\t _init: function (_ref) {\n\t var fn = _ref.fn;\n\n\t this._fn = fn;\n\t },\n\t _free: function () {\n\t this._fn = null;\n\t },\n\t _handleError: function (x) {\n\t var fn = this._fn;\n\t var result = fn(x);\n\t if (result.convert) {\n\t this._emitValue(result.value);\n\t } else {\n\t this._emitError(x);\n\t }\n\t }\n\t};\n\n\tvar S$40 = createStream('errorsToValues', mixin$32);\n\tvar P$35 = createProperty('errorsToValues', mixin$32);\n\n\tvar defFn$1 = function (x) {\n\t return { convert: true, value: x };\n\t};\n\n\tfunction errorsToValues(obs) {\n\t var fn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defFn$1;\n\n\t return new (obs._ofSameType(S$40, P$35))(obs, { fn: fn });\n\t}\n\n\tvar mixin$33 = {\n\t _handleError: function (x) {\n\t this._emitError(x);\n\t this._emitEnd();\n\t }\n\t};\n\n\tvar S$41 = createStream('endOnError', mixin$33);\n\tvar P$36 = createProperty('endOnError', mixin$33);\n\n\tfunction endOnError(obs) {\n\t return new (obs._ofSameType(S$41, P$36))(obs);\n\t}\n\n\tObservable.prototype.toProperty = function (fn) {\n\t return toProperty(this, fn);\n\t};\n\n\tObservable.prototype.changes = function () {\n\t return changes(this);\n\t};\n\n\tObservable.prototype.toPromise = function (Promise) {\n\t return toPromise(this, Promise);\n\t};\n\n\tObservable.prototype.toESObservable = toESObservable;\n\tObservable.prototype[$$observable] = toESObservable;\n\n\tObservable.prototype.map = function (fn) {\n\t return map$1(this, fn);\n\t};\n\n\tObservable.prototype.filter = function (fn) {\n\t return filter(this, fn);\n\t};\n\n\tObservable.prototype.take = function (n) {\n\t return take(this, n);\n\t};\n\n\tObservable.prototype.takeErrors = function (n) {\n\t return takeErrors(this, n);\n\t};\n\n\tObservable.prototype.takeWhile = function (fn) {\n\t return takeWhile(this, fn);\n\t};\n\n\tObservable.prototype.last = function () {\n\t return last(this);\n\t};\n\n\tObservable.prototype.skip = function (n) {\n\t return skip(this, n);\n\t};\n\n\tObservable.prototype.skipWhile = function (fn) {\n\t return skipWhile(this, fn);\n\t};\n\n\tObservable.prototype.skipDuplicates = function (fn) {\n\t return skipDuplicates(this, fn);\n\t};\n\n\tObservable.prototype.diff = function (fn, seed) {\n\t return diff(this, fn, seed);\n\t};\n\n\tObservable.prototype.scan = function (fn, seed) {\n\t return scan(this, fn, seed);\n\t};\n\n\tObservable.prototype.flatten = function (fn) {\n\t return flatten(this, fn);\n\t};\n\n\tObservable.prototype.delay = function (wait) {\n\t return delay(this, wait);\n\t};\n\n\tObservable.prototype.throttle = function (wait, options) {\n\t return throttle(this, wait, options);\n\t};\n\n\tObservable.prototype.debounce = function (wait, options) {\n\t return debounce(this, wait, options);\n\t};\n\n\tObservable.prototype.mapErrors = function (fn) {\n\t return mapErrors(this, fn);\n\t};\n\n\tObservable.prototype.filterErrors = function (fn) {\n\t return filterErrors(this, fn);\n\t};\n\n\tObservable.prototype.ignoreValues = function () {\n\t return ignoreValues(this);\n\t};\n\n\tObservable.prototype.ignoreErrors = function () {\n\t return ignoreErrors(this);\n\t};\n\n\tObservable.prototype.ignoreEnd = function () {\n\t return ignoreEnd(this);\n\t};\n\n\tObservable.prototype.beforeEnd = function (fn) {\n\t return beforeEnd(this, fn);\n\t};\n\n\tObservable.prototype.slidingWindow = function (max, min) {\n\t return slidingWindow(this, max, min);\n\t};\n\n\tObservable.prototype.bufferWhile = function (fn, options) {\n\t return bufferWhile(this, fn, options);\n\t};\n\n\tObservable.prototype.bufferWithCount = function (count, options) {\n\t return bufferWhile$1(this, count, options);\n\t};\n\n\tObservable.prototype.bufferWithTimeOrCount = function (wait, count, options) {\n\t return bufferWithTimeOrCount(this, wait, count, options);\n\t};\n\n\tObservable.prototype.transduce = function (transducer) {\n\t return transduce(this, transducer);\n\t};\n\n\tObservable.prototype.withHandler = function (fn) {\n\t return withHandler(this, fn);\n\t};\n\n\tObservable.prototype.combine = function (other, combinator) {\n\t return combine([this, other], combinator);\n\t};\n\n\tObservable.prototype.zip = function (other, combinator) {\n\t return zip([this, other], combinator);\n\t};\n\n\tObservable.prototype.merge = function (other) {\n\t return merge([this, other]);\n\t};\n\n\tObservable.prototype.concat = function (other) {\n\t return concat$1([this, other]);\n\t};\n\n\tvar pool = function () {\n\t return new Pool();\n\t};\n\n\tObservable.prototype.flatMap = function (fn) {\n\t return new FlatMap(this, fn).setName(this, 'flatMap');\n\t};\n\tObservable.prototype.flatMapLatest = function (fn) {\n\t return new FlatMap(this, fn, { concurLim: 1, drop: 'old' }).setName(this, 'flatMapLatest');\n\t};\n\tObservable.prototype.flatMapFirst = function (fn) {\n\t return new FlatMap(this, fn, { concurLim: 1 }).setName(this, 'flatMapFirst');\n\t};\n\tObservable.prototype.flatMapConcat = function (fn) {\n\t return new FlatMap(this, fn, { queueLim: -1, concurLim: 1 }).setName(this, 'flatMapConcat');\n\t};\n\tObservable.prototype.flatMapConcurLimit = function (fn, limit) {\n\t return new FlatMap(this, fn, { queueLim: -1, concurLim: limit }).setName(this, 'flatMapConcurLimit');\n\t};\n\n\tObservable.prototype.flatMapErrors = function (fn) {\n\t return new FlatMapErrors(this, fn).setName(this, 'flatMapErrors');\n\t};\n\n\tObservable.prototype.filterBy = function (other) {\n\t return filterBy(this, other);\n\t};\n\n\tObservable.prototype.sampledBy = function (other, combinator) {\n\t return sampledBy(this, other, combinator);\n\t};\n\n\tObservable.prototype.skipUntilBy = function (other) {\n\t return skipUntilBy(this, other);\n\t};\n\n\tObservable.prototype.takeUntilBy = function (other) {\n\t return takeUntilBy(this, other);\n\t};\n\n\tObservable.prototype.bufferBy = function (other, options) {\n\t return bufferBy(this, other, options);\n\t};\n\n\tObservable.prototype.bufferWhileBy = function (other, options) {\n\t return bufferWhileBy(this, other, options);\n\t};\n\n\t// Deprecated\n\t// -----------------------------------------------------------------------------\n\n\tvar DEPRECATION_WARNINGS = true;\n\tfunction dissableDeprecationWarnings() {\n\t DEPRECATION_WARNINGS = false;\n\t}\n\n\tfunction warn(msg) {\n\t if (DEPRECATION_WARNINGS && console && typeof console.warn === 'function') {\n\t var msg2 = '\\nHere is an Error object for you containing the call stack:';\n\t console.warn(msg, msg2, new Error());\n\t }\n\t}\n\n\tObservable.prototype.awaiting = function (other) {\n\t warn('You are using deprecated .awaiting() method, see https://github.com/rpominov/kefir/issues/145');\n\t return awaiting(this, other);\n\t};\n\n\tObservable.prototype.valuesToErrors = function (fn) {\n\t warn('You are using deprecated .valuesToErrors() method, see https://github.com/rpominov/kefir/issues/149');\n\t return valuesToErrors(this, fn);\n\t};\n\n\tObservable.prototype.errorsToValues = function (fn) {\n\t warn('You are using deprecated .errorsToValues() method, see https://github.com/rpominov/kefir/issues/149');\n\t return errorsToValues(this, fn);\n\t};\n\n\tObservable.prototype.endOnError = function () {\n\t warn('You are using deprecated .endOnError() method, see https://github.com/rpominov/kefir/issues/150');\n\t return endOnError(this);\n\t};\n\n\t// Exports\n\t// --------------------------------------------------------------------------\n\n\tvar Kefir = { Observable: Observable, Stream: Stream, Property: Property, never: never, later: later, interval: interval, sequentially: sequentially,\n\t fromPoll: fromPoll, withInterval: withInterval, fromCallback: fromCallback, fromNodeCallback: fromNodeCallback, fromEvents: fromEvents, stream: stream,\n\t constant: constant, constantError: constantError, fromPromise: fromPromise, fromESObservable: fromESObservable, combine: combine, zip: zip, merge: merge,\n\t concat: concat$1, Pool: Pool, pool: pool, repeat: repeat, staticLand: staticLand };\n\n\tKefir.Kefir = Kefir;\n\n\texports.dissableDeprecationWarnings = dissableDeprecationWarnings;\n\texports.Kefir = Kefir;\n\texports.Observable = Observable;\n\texports.Stream = Stream;\n\texports.Property = Property;\n\texports.never = never;\n\texports.later = later;\n\texports.interval = interval;\n\texports.sequentially = sequentially;\n\texports.fromPoll = fromPoll;\n\texports.withInterval = withInterval;\n\texports.fromCallback = fromCallback;\n\texports.fromNodeCallback = fromNodeCallback;\n\texports.fromEvents = fromEvents;\n\texports.stream = stream;\n\texports.constant = constant;\n\texports.constantError = constantError;\n\texports.fromPromise = fromPromise;\n\texports.fromESObservable = fromESObservable;\n\texports.combine = combine;\n\texports.zip = zip;\n\texports.merge = merge;\n\texports.concat = concat$1;\n\texports.Pool = Pool;\n\texports.pool = pool;\n\texports.repeat = repeat;\n\texports.staticLand = staticLand;\n\texports['default'] = Kefir;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n}));"],"sourceRoot":""}