rxjs-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +19 -0
  4. data/README.md +14 -0
  5. data/lib/rxjs/rails/engine.rb +7 -0
  6. data/lib/rxjs/rails/railtie.rb +7 -0
  7. data/lib/rxjs/rails/version.rb +7 -0
  8. data/lib/rxjs/rails.rb +8 -0
  9. data/lib/rxjs.rb +1 -0
  10. data/rxjs-rails.gemspec +22 -0
  11. data/vendor/assets/javascripts/rx.aggregates.js +687 -0
  12. data/vendor/assets/javascripts/rx.aggregates.min.js +1 -0
  13. data/vendor/assets/javascripts/rx.async.compat.js +376 -0
  14. data/vendor/assets/javascripts/rx.async.compat.min.js +1 -0
  15. data/vendor/assets/javascripts/rx.async.js +306 -0
  16. data/vendor/assets/javascripts/rx.async.min.js +1 -0
  17. data/vendor/assets/javascripts/rx.binding.js +561 -0
  18. data/vendor/assets/javascripts/rx.binding.min.js +1 -0
  19. data/vendor/assets/javascripts/rx.coincidence.js +691 -0
  20. data/vendor/assets/javascripts/rx.coincidence.min.js +1 -0
  21. data/vendor/assets/javascripts/rx.compat.js +4351 -0
  22. data/vendor/assets/javascripts/rx.compat.min.js +2 -0
  23. data/vendor/assets/javascripts/rx.experimental.js +453 -0
  24. data/vendor/assets/javascripts/rx.experimental.min.js +1 -0
  25. data/vendor/assets/javascripts/rx.joinpatterns.js +418 -0
  26. data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -0
  27. data/vendor/assets/javascripts/rx.lite.compat.js +5188 -0
  28. data/vendor/assets/javascripts/rx.lite.compat.min.js +2 -0
  29. data/vendor/assets/javascripts/rx.lite.js +5000 -0
  30. data/vendor/assets/javascripts/rx.lite.min.js +2 -0
  31. data/vendor/assets/javascripts/rx.min.js +2 -0
  32. data/vendor/assets/javascripts/rx.node.js +143 -0
  33. data/vendor/assets/javascripts/rx.testing.js +503 -0
  34. data/vendor/assets/javascripts/rx.testing.min.js +1 -0
  35. data/vendor/assets/javascripts/rx.time.js +1166 -0
  36. data/vendor/assets/javascripts/rx.time.min.js +1 -0
  37. data/vendor/assets/javascripts/rx.virtualtime.js +336 -0
  38. data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -0
  39. metadata +101 -0
@@ -0,0 +1,2 @@
1
+ (function(a){function b(){}function c(a){return a}function d(a,b){return R(a,b)}function e(a,b){return a-b}function f(a){return a.toString()}function g(a){throw a}function h(){if(this.isDisposed)throw new Error(D)}function i(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function j(a){return a&&"object"==typeof a?N.call(a)==E:!1}function k(a){return"function"==typeof a}function l(a,b,c,d){var e;if(a===b)return 0!==a||1/a==1/b;var f=typeof a,g=typeof b;if(!(a!==a||a&&s[f]||b&&s[g]))return!1;if(null==a||null==b)return a===b;var h=N.call(a),m=N.call(b);if(h==E&&(h=K),m==E&&(m=K),h!=m)return!1;switch(h){case G:case H:return+a==+b;case J:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case L:case M:return a==String(b)}var n=h==F;if(!n){if(h!=K||!y&&(i(a)||i(b)))return!1;var o=!P&&j(a)?Object:a.constructor,p=!P&&j(b)?Object:b.constructor;if(o!=p&&!(k(o)&&o instanceof o&&k(p)&&p instanceof p))return!1}for(var q=c.length;q--;)if(c[q]==a)return d[q]==b;var r=0;if(e=!0,c.push(a),d.push(b),n){for(q=a.length,r=b.length,e=r==a.length;r--;){var t=b[r];if(!(e=l(a[r],t,c,d)))break}return e}for(var u in b)if(O.call(b,u))return r++,e=O.call(a,u)&&l(a[u],b[u],c,d);if(e)for(var u in a)if(O.call(a,u))return e=--r>-1;return c.pop(),d.pop(),e}function m(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:S.call(a)}function n(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function o(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function p(a,b){return new Vb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.subscribe(c.onNext.bind(c),function(a){var d,f;try{f=b(a)}catch(g){return c.onError(g),void 0}d=new fb,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e})}function q(a,b){var c=this;return new Vb(function(d){var e=0,f=a.length;return c.subscribe(function(c){if(f>e){var g,h=a[e++];try{g=b(c,h)}catch(i){return d.onError(i),void 0}d.onNext(g)}else d.onCompleted()},d.onError.bind(d),d.onCompleted.bind(d))})}function r(a){return this.select(a).mergeObservable()}var s={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},t=s[typeof window]&&window||this,u=s[typeof exports]&&exports&&!exports.nodeType&&exports,v=s[typeof module]&&module&&!module.nodeType&&module,w=v&&v.exports===u&&u,x=s[typeof global]&&global;!x||x.global!==x&&x.window!==x||(t=x);var y,z={Internals:{}},A=function(){return Date.now?Date.now:function(){return+new Date}}(),B="Sequence contains no elements.",C="Argument out of range",D="Object has been disposed",s={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},E="[object Arguments]",F="[object Array]",G="[object Boolean]",H="[object Date]",I="[object Function]",J="[object Number]",K="[object Object]",L="[object RegExp]",M="[object String]",N=Object.prototype.toString,O=Object.prototype.hasOwnProperty,P=N.call(arguments)==E;try{y=!(N.call(document)==K&&!({toString:0}+""))}catch(Q){y=!0}P||(j=function(a){return a&&"object"==typeof a?O.call(a,"callee"):!1}),k(/x/)&&(k=function(a){return"function"==typeof a&&N.call(a)==I});var R=z.Internals.isEqual=function(a,b){return l(a,b,[],[])},S=Array.prototype.slice,T=({}.hasOwnProperty,this.inherits=z.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),U=z.Internals.addProperties=function(a){for(var b=S.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},V=z.Internals.addRef=function(a,b){return new Vb(function(c){return new _(b.getDisposable(),a.subscribe(c))})};Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=S.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(S.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(S.call(arguments)))};return d});var W=Object("a"),X="a"!=W[0]||!(0 in W);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=X&&"[object String]"=={}.toString.call(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!={}.toString.call(a))throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=X&&"[object String]"=={}.toString.call(this)?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if("[object Function]"!={}.toString.call(a))throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!=d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1});var Y=function(a,b){this.id=a,this.value=b};Y.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var Z=z.Internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},$=Z.prototype;$.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},$.percolate=function(a){if(!(a>=this.length||0>a)){var b=a-1>>1;if(!(0>b||b===a)&&this.isHigherPriority(a,b)){var c=this.items[a];this.items[a]=this.items[b],this.items[b]=c,this.percolate(b)}}},$.heapify=function(b){if(b===a&&(b=0),!(b>=this.length||0>b)){var c=2*b+1,d=2*b+2,e=b;if(c<this.length&&this.isHigherPriority(c,e)&&(e=c),d<this.length&&this.isHigherPriority(d,e)&&(e=d),e!==b){var f=this.items[b];this.items[b]=this.items[e],this.items[e]=f,this.heapify(e)}}},$.peek=function(){return this.items[0].value},$.removeAt=function(a){this.items[a]=this.items[--this.length],delete this.items[this.length],this.heapify()},$.dequeue=function(){var a=this.peek();return this.removeAt(0),a},$.enqueue=function(a){var b=this.length++;this.items[b]=new Y(Z.count++,a),this.percolate(b)},$.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},Z.count=0;var _=z.CompositeDisposable=function(){this.disposables=m(arguments,0),this.isDisposed=!1,this.length=this.disposables.length},ab=_.prototype;ab.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},ab.remove=function(a){var b=!1;if(!this.isDisposed){var c=this.disposables.indexOf(a);-1!==c&&(b=!0,this.disposables.splice(c,1),this.length--,a.dispose())}return b},ab.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()}},ab.clear=function(){var a=this.disposables.slice(0);this.disposables=[],this.length=0;for(var b=0,c=a.length;c>b;b++)a[b].dispose()},ab.contains=function(a){return-1!==this.disposables.indexOf(a)},ab.toArray=function(){return this.disposables.slice(0)};var bb=z.Disposable=function(a){this.isDisposed=!1,this.action=a||b};bb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var cb=bb.create=function(a){return new bb(a)},db=bb.empty={dispose:b},eb=function(){function a(a){this.isSingle=a,this.isDisposed=!1,this.current=null}var b=a.prototype;return b.getDisposable=function(){return this.current},b.setDisposable=function(a){if(this.current&&this.isSingle)throw new Error("Disposable has already been assigned");var b,c=this.isDisposed;c||(b=this.current,this.current=a),b&&b.dispose(),c&&a&&a.dispose()},b.dispose=function(){var a;this.isDisposed||(this.isDisposed=!0,a=this.current,this.current=null),a&&a.dispose()},a}(),fb=z.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return T(b,a),b}(eb),gb=z.SerialDisposable=function(a){function b(){a.call(this,!1)}return T(b,a),b}(eb),hb=z.RefCountDisposable=function(){function a(a){this.disposable=a,this.disposable.count++,this.isInnerDisposed=!1}function b(a){this.underlyingDisposable=a,this.isDisposed=!1,this.isPrimaryDisposed=!1,this.count=0}return a.prototype.dispose=function(){this.disposable.isDisposed||this.isInnerDisposed||(this.isInnerDisposed=!0,this.disposable.count--,0===this.disposable.count&&this.disposable.isPrimaryDisposed&&(this.disposable.isDisposed=!0,this.disposable.underlyingDisposable.dispose()))},b.prototype.dispose=function(){this.isDisposed||this.isPrimaryDisposed||(this.isPrimaryDisposed=!0,0===this.count&&(this.isDisposed=!0,this.underlyingDisposable.dispose()))},b.prototype.getDisposable=function(){return this.isDisposed?db:new a(this)},b}();o.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var ib=z.Internals.ScheduledItem=function(a,b,c,d,f){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=f||e,this.disposable=new fb};ib.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},ib.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},ib.prototype.isCancelled=function(){return this.disposable.isDisposed},ib.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var jb,kb=z.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){var c=b.first,d=b.second,e=new _,f=function(b){d(b,function(b){var c=!1,d=!1,g=a.scheduleWithState(b,function(a,b){return c?e.remove(g):d=!0,f(b),db});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new _,g=function(b){e(b,function(b,d){var e=!1,h=!1,i=a[c].call(a,b,d,function(a,b){return e?f.remove(i):h=!0,g(b),db});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){return b(),db}var e=a.prototype;return e.catchException=e["catch"]=function(a){return new sb(this,a)},e.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,function(){b()})},e.schedulePeriodicWithState=function(a,b,c){var d=a,e=setInterval(function(){d=c(d)},b);return cb(function(){clearInterval(e)})},e.schedule=function(a){return this._schedule(a,d)},e.scheduleWithState=function(a,b){return this._schedule(a,b)},e.scheduleWithRelative=function(a,b){return this._scheduleRelative(b,a,d)},e.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},e.scheduleWithAbsolute=function(a,b){return this._scheduleAbsolute(b,a,d)},e.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},e.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},e.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState({first:a,second:c},function(a,c){return b(a,c)})},e.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},e.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,function(a,b){a(function(c){b(a,c)})})},e.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute({first:a,second:d},b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})},a.now=A,a.normalize=function(a){return 0>a&&(a=0),a},a}(),lb=kb.normalize,mb=(z.Internals.SchedulePeriodicRecursive=function(){function a(a,b){b(0,this._period);try{this._state=this._action(this._state)}catch(c){throw this._cancel.dispose(),c}}function b(a,b,c,d){this._scheduler=a,this._state=b,this._period=c,this._action=d}return b.prototype.start=function(){var b=new fb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),kb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=lb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new kb(A,a,b,c)}()),nb=kb.currentThread=function(){function a(){e=new Z(4)}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f,g=this.now()+lb(c),h=new ib(this,b,d,g);if(e)e.enqueue(h);else{f=new a;try{e.enqueue(h),f.run()}catch(i){throw i}finally{f.dispose()}}return h.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e;a.prototype.dispose=function(){e=null},a.prototype.run=function(){for(var a;e.length>0;)if(a=e.dequeue(),!a.isCancelled()){for(;a.dueTime-kb.now()>0;);a.isCancelled()||a.invoke()}};var f=new kb(A,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),ob=RegExp("^"+String(N).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),pb="function"==typeof(pb=x&&w&&x.setImmediate)&&!ob.test(pb)&&pb,qb="function"==typeof(qb=x&&w&&x.clearImmediate)&&!ob.test(qb)&&qb,rb=b;!function(){function a(){if(!t.postMessage||t.importScripts)return!1;var a=!1,b=t.onmessage;return t.onmessage=function(){a=!0},t.postMessage("","*"),t.onmessage=b,a}function b(a){if("string"==typeof a.data&&a.data.substring(0,c.length)===c){var b=a.data.substring(c.length),e=d[b];e(),delete d[b]}}if("function"==typeof pb)jb=pb,rb=qb;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))jb=process.nextTick;else if(a()){var c="ms.rx.schedule"+Math.random(),d={},e=0;t.addEventListener?t.addEventListener("message",b,!1):t.attachEvent("onmessage",b,!1),jb=function(a){var b=e++;d[b]=a,t.postMessage(c+b,"*")}}else if(t.MessageChannel){var f=new t.MessageChannel,g={},h=0;f.port1.onmessage=function(a){var b=a.data,c=g[b];c(),delete g[b]},jb=function(a){var b=h++;g[b]=a,f.port2.postMessage(b)}}else"document"in t&&"onreadystatechange"in t.document.createElement("script")?jb=function(a){var b=t.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},t.document.documentElement.appendChild(b)}:(jb=function(a){return setTimeout(a,0)},rb=clearTimeout)}();var sb=(kb.timeout=function(){function a(a,b){var c=this,d=new fb,e=jb(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){rb(e)}))}function b(a,b,c){var d=this,e=kb.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new fb,g=setTimeout(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new _(f,cb(function(){clearTimeout(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new kb(A,a,b,c)}(),function(a){function b(){return this._scheduler.now()}function c(a,b){return this._scheduler.scheduleWithState(a,this._wrap(b))}function d(a,b,c){return this._scheduler.scheduleWithRelativeAndState(a,b,this._wrap(c))}function e(a,b,c){return this._scheduler.scheduleWithAbsoluteAndState(a,b,this._wrap(c))}function f(f,g){this._scheduler=f,this._handler=g,this._recursiveOriginal=null,this._recursiveWrapper=null,a.call(this,b,c,d,e)}return T(f,a),f.prototype._clone=function(a){return new f(a,this._handler)},f.prototype._wrap=function(a){var b=this;return function(c,d){try{return a(b._getRecursiveWrapper(c),d)}catch(e){if(!b._handler(e))throw e;return db}}},f.prototype._getRecursiveWrapper=function(a){if(this._recursiveOriginal!==a){this._recursiveOriginal=a;var b=this._clone(a);b._recursiveOriginal=a,b._recursiveWrapper=b,this._recursiveWrapper=b}return this._recursiveWrapper},f.prototype.schedulePeriodicWithState=function(a,b,c){var d=this,e=!1,f=new fb;return f.setDisposable(this._scheduler.schedulePeriodicWithState(a,b,function(a){if(e)return null;try{return c(a)}catch(b){if(e=!0,!d._handler(b))throw b;return f.dispose(),null}})),f},f}(kb)),tb=z.Notification=function(){function a(a,b){this.hasValue=null==b?!1:b,this.kind=a}var b=a.prototype;return b.accept=function(a,b,c){return 1===arguments.length&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},b.toObservable=function(a){var b=this;return a||(a=mb),new Vb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),ub=tb.createOnNext=function(){function a(a){return a(this.value)}function b(a){return a.onNext(this.value)}function c(){return"OnNext("+this.value+")"}return function(d){var e=new tb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),vb=tb.createOnError=function(){function a(a,b){return b(this.exception)}function b(a){return a.onError(this.exception)}function c(){return"OnError("+this.exception+")"}return function(d){var e=new tb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),wb=tb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new tb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),xb=z.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},yb=xb.create=function(a,b){var c=!1;return new xb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},zb=z.Internals.Enumerable=function(a){this.getEnumerator=a};zb.prototype.concat=function(){var a=this;return new Vb(function(b){var c,d=a.getEnumerator(),e=new gb,f=mb.scheduleRecursive(function(a){var f,g;if(!c){try{g=d.moveNext(),g&&(f=d.getCurrent())}catch(h){return b.onError(h),void 0}if(!g)return b.onCompleted(),void 0;var i=new fb;e.setDisposable(i),i.setDisposable(f.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new _(e,f,cb(function(){c=!0}))})},zb.prototype.catchException=function(){var a=this;return new Vb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=mb.scheduleRecursive(function(a){var g,h;if(!c){try{h=e.moveNext(),h&&(g=e.getCurrent())}catch(i){return b.onError(i),void 0}if(!h)return d?b.onError(d):b.onCompleted(),void 0;var j=new fb;f.setDisposable(j),j.setDisposable(g.subscribe(b.onNext.bind(b),function(b){d=b,a()},b.onCompleted.bind(b)))}});return new _(f,g,cb(function(){c=!0}))})};var Ab=zb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new zb(function(){var c,d=b;return yb(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},Bb=zb.forEach=function(a,b,d){return b||(b=c),new zb(function(){var c,e=-1;return yb(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},Cb=z.Observer=function(){};Cb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Cb.prototype.asObserver=function(){return new Gb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))},Cb.prototype.checked=function(){return new Hb(this)};var Db=Cb.create=function(a,c,d){return a||(a=b),c||(c=g),d||(d=b),new Gb(a,c,d)};Cb.fromNotifier=function(a){return new Gb(function(b){return a(ub(b))},function(b){return a(vb(b))},function(){return a(wb())})},Cb.notifyOn=function(a){return new Jb(a,this)};var Eb,Fb=z.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return T(b,a),b.prototype.onNext=function(a){this.isStopped||this.next(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.error(a))},b.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.completed())},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.error(a),!0)},b}(Cb),Gb=z.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return T(b,a),b.prototype.next=function(a){this._onNext(a)},b.prototype.error=function(a){this._onError(a)},b.prototype.completed=function(){this._onCompleted()},b}(Fb),Hb=function(a){function b(b){a.call(this),this._observer=b,this._state=0}T(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();try{this._observer.onNext(a)}catch(b){throw b}finally{this._state=0}},c.onError=function(a){this.checkAccess();try{this._observer.onError(a)}catch(b){throw b}finally{this._state=2}},c.onCompleted=function(){this.checkAccess();try{this._observer.onCompleted()}catch(a){throw a}finally{this._state=2}},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(Cb),Ib=z.Internals.ScheduledObserver=function(a){function b(b,c){a.call(this),this.scheduler=b,this.observer=c,this.isAcquired=!1,this.hasFaulted=!1,this.queue=[],this.disposable=new gb}return T(b,a),b.prototype.next=function(a){var b=this;this.queue.push(function(){b.observer.onNext(a)})},b.prototype.error=function(a){var b=this;this.queue.push(function(){b.observer.onError(a)})},b.prototype.completed=function(){var a=this;this.queue.push(function(){a.observer.onCompleted()})},b.prototype.ensureActive=function(){var a=!1,b=this;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(function(a){var c;if(!(b.queue.length>0))return b.isAcquired=!1,void 0;c=b.queue.shift();try{c()}catch(d){throw b.queue=[],b.hasFaulted=!0,d}a()}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Fb),Jb=function(a){function b(){a.apply(this,arguments)}return T(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b}(Ib),Kb=z.Observable=function(){function a(a){this._subscribe=a}return Eb=a.prototype,Eb.finalValue=function(){var a=this;return new Vb(function(b){var c,d=!1;return a.subscribe(function(a){d=!0,c=a},b.onError.bind(b),function(){d?(b.onNext(c),b.onCompleted()):b.onError(new Error(B))})})},Eb.subscribe=Eb.forEach=function(a,b,c){var d;return d="object"==typeof a?a:Db(a,b,c),this._subscribe(d)},Eb.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}();Eb.observeOn=function(a){var b=this;return new Vb(function(c){return b.subscribe(new Jb(a,c))})},Eb.subscribeOn=function(a){var b=this;return new Vb(function(c){var d=new fb,e=new gb;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new o(a,b.subscribe(c)))})),e})},Kb.create=Kb.createWithDisposable=function(a){return new Vb(a)};var Lb=(Kb.defer=function(a){return new Vb(function(b){var c;try{c=a()}catch(d){return Pb(d).subscribe(b)}return c.subscribe(b)})},Kb.empty=function(a){return a||(a=mb),new Vb(function(b){return a.schedule(function(){b.onCompleted()})})}),Mb=Kb.fromArray=function(a,b){return b||(b=nb),new Vb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Kb.generate=function(a,b,c,d,e){return e||(e=nb),new Vb(function(f){var g=!0,h=a;return e.scheduleRecursive(function(a){var e,i;try{g?g=!1:h=c(h),e=b(h),e&&(i=d(h))}catch(j){return f.onError(j),void 0}e?(f.onNext(i),a()):f.onCompleted()})})};var Nb=Kb.never=function(){return new Vb(function(){return db})};Kb.range=function(a,b,c){return c||(c=nb),new Vb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Kb.repeat=function(a,b,c){return c||(c=nb),null==b&&(b=-1),Ob(a,c).repeat(b)};var Ob=Kb["return"]=Kb.returnValue=function(a,b){return b||(b=mb),new Vb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Pb=Kb["throw"]=Kb.throwException=function(a,b){return b||(b=mb),new Vb(function(c){return b.schedule(function(){c.onError(a)})})};Kb.using=function(a,b){return new Vb(function(c){var d,e,f=db;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new _(Pb(g).subscribe(c),f)}return new _(e.subscribe(c),f)})},Eb.amb=function(a){var b=this;return new Vb(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new fb,j=new fb;return i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new _(i,j)})},Kb.amb=function(){function a(a,b){return a.amb(b)}for(var b=Nb(),c=m(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Eb["catch"]=Eb.catchException=function(a){return"function"==typeof a?p(this,a):Qb([this,a])};var Qb=Kb.catchException=Kb["catch"]=function(){var a=m(arguments,0);return Bb(a).catchException()};Eb.combineLatest=function(){var a=S.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Rb.apply(this,a)};var Rb=Kb.combineLatest=function(){var a=S.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Vb(function(d){function e(a){var e;if(i[a]=!0,j||(j=i.every(c))){try{e=b.apply(null,l)}catch(f){return d.onError(f),void 0}d.onNext(e)}else k.filter(function(b,c){return c!==a}).every(c)&&d.onCompleted()}function f(a){k[a]=!0,k.every(c)&&d.onCompleted()}for(var g=function(){return!1},h=a.length,i=n(h,g),j=!1,k=n(h,g),l=new Array(h),m=new Array(h),o=0;h>o;o++)!function(b){m[b]=new fb,m[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(m)})};Eb.concat=function(){var a=S.call(arguments,0);return a.unshift(this),Sb.apply(this,a)};var Sb=Kb.concat=function(){var a=m(arguments,0);return Bb(a).concat()};Eb.concatObservable=Eb.concatAll=function(){return this.merge(1)},Eb.merge=function(a){if("number"!=typeof a)return Tb(this,a);var b=this;return new Vb(function(c){var d=0,e=new _,f=!1,g=[],h=function(a){var b=new fb;e.add(b),b.setDisposable(a.subscribe(c.onNext.bind(c),c.onError.bind(c),function(){var a;e.remove(b),g.length>0?(a=g.shift(),h(a)):(d--,f&&0===d&&c.onCompleted())}))};return e.add(b.subscribe(function(b){a>d?(d++,h(b)):g.push(b)},c.onError.bind(c),function(){f=!0,0===d&&c.onCompleted()})),e})};var Tb=Kb.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=S.call(arguments,1)):(a=mb,b=S.call(arguments,0)):(a=mb,b=S.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Mb(b,a).mergeObservable()};Eb.mergeObservable=Eb.mergeAll=function(){var a=this;return new Vb(function(b){var c=new _,d=!1,e=new fb;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new fb;c.add(e),e.setDisposable(a.subscribe(function(a){b.onNext(a)},b.onError.bind(b),function(){c.remove(e),d&&1===c.length&&b.onCompleted()}))},b.onError.bind(b),function(){d=!0,1===c.length&&b.onCompleted()})),c})},Eb.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return Ub([this,a])};var Ub=Kb.onErrorResumeNext=function(){var a=m(arguments,0);return new Vb(function(b){var c=0,d=new gb,e=mb.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],g=new fb,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),function(){e()},function(){e()}))):b.onCompleted()});return new _(d,e)})};Eb.skipUntil=function(a){var b=this;return new Vb(function(c){var d=!1,e=new _(b.subscribe(function(a){d&&c.onNext(a)},c.onError.bind(c),function(){d&&c.onCompleted()})),f=new fb;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},c.onError.bind(c),function(){f.dispose()})),e})},Eb["switch"]=Eb.switchLatest=function(){var a=this;return new Vb(function(b){var c=!1,d=new gb,e=!1,f=0,g=a.subscribe(function(a){var g=new fb,h=++f;c=!0,d.setDisposable(g),g.setDisposable(a.subscribe(function(a){f===h&&b.onNext(a)},function(a){f===h&&b.onError(a)},function(){f===h&&(c=!1,e&&b.onCompleted())}))},b.onError.bind(b),function(){e=!0,c||b.onCompleted()});return new _(g,d)})},Eb.takeUntil=function(a){var c=this;return new Vb(function(d){return new _(c.subscribe(d),a.subscribe(d.onCompleted.bind(d),d.onError.bind(d),b))})},Eb.zip=function(){if(Array.isArray(arguments[0]))return q.apply(this,arguments);var a=this,b=S.call(arguments),d=b.pop();return b.unshift(a),new Vb(function(e){function f(a){i[a]=!0,i.every(function(a){return a})&&e.onCompleted()}for(var g=b.length,h=n(g,function(){return[]}),i=n(g,function(){return!1}),j=function(b){var f,g;if(h.every(function(a){return a.length>0})){try{g=h.map(function(a){return a.shift()}),f=d.apply(a,g)}catch(j){return e.onError(j),void 0}e.onNext(f)}else i.filter(function(a,c){return c!==b}).every(c)&&e.onCompleted()},k=new Array(g),l=0;g>l;l++)!function(a){k[a]=new fb,k[a].setDisposable(b[a].subscribe(function(b){h[a].push(b),j(a)},e.onError.bind(e),function(){f(a)}))}(l);return new _(k)})},Kb.zip=function(){var a=S.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Kb.zipArray=function(){var a=S.call(arguments);return new Vb(function(b){function d(a){if(g.every(function(a){return a.length>0})){var d=g.map(function(a){return a.shift()});b.onNext(d)}else if(h.filter(function(b,c){return c!==a}).every(c))return b.onCompleted(),void 0}function e(a){return h[a]=!0,h.every(c)?(b.onCompleted(),void 0):void 0}for(var f=a.length,g=n(f,function(){return[]}),h=n(f,function(){return!1}),i=new Array(f),j=0;f>j;j++)!function(c){i[c]=new fb,i[c].setDisposable(a[c].subscribe(function(a){g[c].push(a),d(c)},b.onError.bind(b),function(){e(c)}))}(j);var k=new _(i);return k.add(cb(function(){for(var a=0,b=g.length;b>a;a++)g[a]=[]})),k})},Eb.asObservable=function(){var a=this;return new Vb(function(b){return a.subscribe(b)})},Eb.bufferWithCount=function(a,b){return 1===arguments.length&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},Eb.dematerialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Eb.distinctUntilChanged=function(a,b){var e=this;return a||(a=c),b||(b=d),new Vb(function(c){var d,f=!1;return e.subscribe(function(e){var g,h=!1;try{g=a(e)}catch(i){return c.onError(i),void 0}if(f)try{h=b(d,g)}catch(i){return c.onError(i),void 0}f&&h||(f=!0,d=g,c.onNext(e))},c.onError.bind(c),c.onCompleted.bind(c))})},Eb["do"]=Eb.doAction=function(a,b,c){var d,e=this;return"function"==typeof a?d=a:(d=a.onNext.bind(a),b=a.onError.bind(a),c=a.onCompleted.bind(a)),new Vb(function(a){return e.subscribe(function(b){try{d(b)}catch(c){a.onError(c)}a.onNext(b)},function(c){if(b){try{b(c)}catch(d){a.onError(d)}a.onError(c)}else a.onError(c)},function(){if(c){try{c()}catch(b){a.onError(b)}a.onCompleted()}else a.onCompleted()})})},Eb["finally"]=Eb.finallyAction=function(a){var b=this;return new Vb(function(c){var d=b.subscribe(c);return cb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Eb.ignoreElements=function(){var a=this;return new Vb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Eb.materialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){b.onNext(ub(a))},function(a){b.onNext(vb(a)),b.onCompleted()},function(){b.onNext(wb()),b.onCompleted()})})},Eb.repeat=function(a){return Ab(this,a).concat()},Eb.retry=function(a){return Ab(this,a).catchException()},Eb.scan=function(){var a,b,c=!1,d=this;return 2===arguments.length?(c=!0,a=arguments[0],b=arguments[1]):b=arguments[0],new Vb(function(e){var f,g,h;return d.subscribe(function(d){try{h||(h=!0),f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return e.onError(i),void 0}e.onNext(g)},e.onError.bind(e),function(){!h&&c&&e.onNext(a),e.onCompleted()})})},Eb.skipLast=function(a){var b=this;return new Vb(function(c){var d=[];
2
+ return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=mb,a=S.call(arguments,c),Bb([Mb(a,b),this]).concat()},Eb.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Mb(a,b)})},Eb.takeLastBuffer=function(a){var b=this;return new Vb(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},c.onError.bind(c),function(){c.onNext(d),c.onCompleted()})})},Eb.windowWithCount=function(a,b){var c=this;if(0>=a)throw new Error(C);if(1===arguments.length&&(b=a),0>=b)throw new Error(C);return new Vb(function(d){var e=new fb,f=new hb(e),g=0,h=[],i=function(){var a=new Zb;h.push(a),d.onNext(V(a,f))};return i(),e.setDisposable(c.subscribe(function(c){for(var d,e=0,f=h.length;f>e;e++)h[e].onNext(c);var j=g-a+1;j>=0&&j%b===0&&(d=h.shift(),d.onCompleted()),g++,g%b===0&&i()},function(a){for(;h.length>0;)h.shift().onError(a);d.onError(a)},function(){for(;h.length>0;)h.shift().onCompleted();d.onCompleted()})),f})},Eb.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new Vb(function(a){var d=!1;return c.subscribe(function(b){d=!0,a.onNext(b)},a.onError.bind(a),function(){d||a.onNext(b),a.onCompleted()})})},Eb.distinct=function(a,b){var d=this;return a||(a=c),b||(b=f),new Vb(function(c){var e={};return d.subscribe(function(d){var f,g,h,i=!1;try{f=a(d),g=b(f)}catch(j){return c.onError(j),void 0}for(h in e)if(g===h){i=!0;break}i||(e[g]=null,c.onNext(d))},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.groupBy=function(a,b,c){return this.groupByUntil(a,b,function(){return Nb()},c)},Eb.groupByUntil=function(a,d,e,g){var h=this;return d||(d=c),g||(g=f),new Vb(function(c){var f={},i=new _,j=new hb(i);return i.add(h.subscribe(function(h){var k,l,m,n,o,p,q,r,s,t;try{p=a(h),q=g(p)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}n=!1;try{s=f[q],s||(s=new Zb,f[q]=s,n=!0)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}if(n){o=new Xb(p,s,j),l=new Xb(p,s);try{k=e(l)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}c.onNext(o),r=new fb,i.add(r);var v=function(){q in f&&(delete f[q],s.onCompleted()),i.remove(r)};r.setDisposable(k.take(1).subscribe(b,function(a){for(t in f)f[t].onError(a);c.onError(a)},function(){v()}))}try{m=d(h)}catch(u){for(t in f)f[t].onError(u);return c.onError(u),void 0}s.onNext(m)},function(a){for(var b in f)f[b].onError(a);c.onError(a)},function(){for(var a in f)f[a].onCompleted();c.onCompleted()})),j})},Eb.select=Eb.map=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.pluck=function(a){return this.select(function(b){return b[a]})},Eb.selectMany=Eb.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?r.call(this,a):r.call(this,function(){return a})},Eb.selectSwitch=Eb.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Eb.skip=function(a){if(0>a)throw new Error(C);var b=this;return new Vb(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Eb.skipWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!1;return c.subscribe(function(g){if(!f)try{f=!a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f&&d.onNext(g)},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.take=function(a,b){if(0>a)throw new Error(C);if(0===a)return Lb(b);var c=this;return new Vb(function(b){var d=a;return c.subscribe(function(a){d>0&&(d--,b.onNext(a),0===d&&b.onCompleted())},b.onError.bind(b),b.onCompleted.bind(b))})},Eb.takeWhile=function(a,b){var c=this;return new Vb(function(d){var e=0,f=!0;return c.subscribe(function(g){if(f){try{f=a.call(b,g,e++,c)}catch(h){return d.onError(h),void 0}f?d.onNext(g):d.onCompleted()}},d.onError.bind(d),d.onCompleted.bind(d))})},Eb.where=Eb.filter=function(a,b){var c=this;return new Vb(function(d){var e=0;return c.subscribe(function(f){var g;try{g=a.call(b,f,e++,c)}catch(h){return d.onError(h),void 0}g&&d.onNext(f)},d.onError.bind(d),d.onCompleted.bind(d))})};var Vb=z.Internals.AnonymousObservable=function(a){function b(a){return"undefined"==typeof a?a=db:"function"==typeof a&&(a=cb(a)),a}function c(d){function e(a){var c=new Wb(a);if(nb.scheduleRequired())nb.schedule(function(){try{c.setDisposable(b(d(c)))}catch(a){if(!c.fail(a))throw a}});else try{c.setDisposable(b(d(c)))}catch(e){if(!c.fail(e))throw e}return c}return this instanceof c?(a.call(this,e),void 0):new c(d)}return T(c,a),c}(Kb),Wb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}T(b,a);var c=b.prototype;return c.next=function(a){var b=!1;try{this.observer.onNext(a),b=!0}catch(c){throw c}finally{b||this.dispose()}},c.error=function(a){try{this.observer.onError(a)}catch(b){throw b}finally{this.dispose()}},c.completed=function(){try{this.observer.onCompleted()}catch(a){throw a}finally{this.dispose()}},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.disposable=function(a){return arguments.length?this.getDisposable():setDisposable(a)},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Fb),Xb=function(a){function b(a){return this.underlyingObservable.subscribe(a)}function c(c,d,e){a.call(this,b),this.key=c,this.underlyingObservable=e?new Vb(function(a){return new _(e.getDisposable(),d.subscribe(a))}):d}return T(c,a),c}(Kb),Yb=function(a,b){this.subject=a,this.observer=b};Yb.prototype.dispose=function(){if(!this.subject.isDisposed&&null!==this.observer){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1),this.observer=null}};var Zb=z.Subject=function(a){function b(a){return h.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Yb(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return T(c,a),U(c.prototype,Cb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(h.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var b=0,c=a.length;c>b;b++)a[b].onCompleted();this.observers=[]}},onError:function(a){if(h.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){if(h.call(this),!this.isStopped)for(var b=this.observers.slice(0),c=0,d=b.length;d>c;c++)b[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),c.create=function(a,b){return new $b(a,b)},c}(Kb),$b=(z.AsyncSubject=function(a){function b(a){if(h.call(this),!this.isStopped)return this.observers.push(a),new Yb(this,a);var b=this.exception,c=this.hasValue,d=this.value;return b?a.onError(b):c?(a.onNext(d),a.onCompleted()):a.onCompleted(),db}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return T(c,a),U(c.prototype,Cb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){var a,b,c;if(h.call(this),!this.isStopped){var d=this.observers.slice(0);this.isStopped=!0;var e=this.value,f=this.hasValue;if(f)for(b=0,c=d.length;c>b;b++)a=d[b],a.onNext(e),a.onCompleted();else for(b=0,c=d.length;c>b;b++)d[b].onCompleted();this.observers=[]}},onError:function(a){if(h.call(this),!this.isStopped){var b=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var c=0,d=b.length;d>c;c++)b[c].onError(a);this.observers=[]}},onNext:function(a){h.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),c}(Kb),function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){a.call(this,b),this.observer=c,this.observable=d}return T(c,a),U(c.prototype,Cb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Kb));"function"==typeof define&&"object"==typeof define.amd&&define.amd?(t.Rx=z,define(function(){return z})):u&&v?w?(v.exports=z).Rx=z:u.Rx=z:t.Rx=z}).call(this);
@@ -0,0 +1,453 @@
1
+ // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
+
3
+ ;(function (factory) {
4
+ var objectTypes = {
5
+ 'boolean': false,
6
+ 'function': true,
7
+ 'object': true,
8
+ 'number': false,
9
+ 'string': false,
10
+ 'undefined': false
11
+ };
12
+
13
+ var root = (objectTypes[typeof window] && window) || this,
14
+ freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
15
+ freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
16
+ moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
17
+ freeGlobal = objectTypes[typeof global] && global;
18
+
19
+ if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
20
+ root = freeGlobal;
21
+ }
22
+
23
+ // Because of build optimizers
24
+ if (typeof define === 'function' && define.amd) {
25
+ define(['rx', 'exports'], function (Rx, exports) {
26
+ root.Rx = factory(root, exports, Rx);
27
+ return root.Rx;
28
+ });
29
+ } else if (typeof module === 'object' && module && module.exports === freeExports) {
30
+ module.exports = factory(root, module.exports, require('./rx'));
31
+ } else {
32
+ root.Rx = factory(root, {}, root.Rx);
33
+ }
34
+ }.call(this, function (root, exp, Rx, undefined) {
35
+
36
+ // Aliases
37
+ var Observable = Rx.Observable,
38
+ observableProto = Observable.prototype,
39
+ AnonymousObservable = Rx.Internals.AnonymousObservable,
40
+ observableConcat = Observable.concat,
41
+ observableDefer = Observable.defer,
42
+ observableEmpty = Observable.empty,
43
+ disposableEmpty = Rx.Disposable.empty,
44
+ BinaryObserver = Rx.Internals.BinaryObserver,
45
+ CompositeDisposable = Rx.CompositeDisposable,
46
+ SerialDisposable = Rx.SerialDisposable,
47
+ SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,
48
+ enumeratorCreate = Rx.Internals.Enumerator.create,
49
+ Enumerable = Rx.Internals.Enumerable,
50
+ enumerableForEach = Enumerable.forEach,
51
+ immediateScheduler = Rx.Scheduler.immediate,
52
+ currentThreadScheduler = Rx.Scheduler.currentThread,
53
+ slice = Array.prototype.slice,
54
+ AsyncSubject = Rx.AsyncSubject,
55
+ Observer = Rx.Observer,
56
+ inherits = Rx.Internals.inherits,
57
+ addProperties = Rx.Internals.addProperties;
58
+
59
+ // Utilities
60
+ function nothing () { }
61
+ function argsOrArray(args, idx) {
62
+ return args.length === 1 && Array.isArray(args[idx]) ?
63
+ args[idx] :
64
+ slice.call(args);
65
+ }
66
+
67
+ function enumerableWhile(condition, source) {
68
+ return new Enumerable(function () {
69
+ var current;
70
+ return enumeratorCreate(function () {
71
+ if (condition()) {
72
+ current = source;
73
+ return true;
74
+ }
75
+ return false;
76
+ }, function () { return current; });
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.
82
+ * This operator allows for a fluent style of writing queries that use the same sequence multiple times.
83
+ *
84
+ * @param {Function} selector Selector function which can use the source sequence as many times as needed, without sharing subscriptions to the source sequence.
85
+ * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.
86
+ */
87
+ observableProto.letBind = observableProto['let'] = function (func) {
88
+ return func(this);
89
+ };
90
+
91
+ /**
92
+ * Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers <IE9
93
+ *
94
+ * @example
95
+ * 1 - res = Rx.Observable.if(condition, obs1);
96
+ * 2 - res = Rx.Observable.if(condition, obs1, obs2);
97
+ * 3 - res = Rx.Observable.if(condition, obs1, scheduler);
98
+ * @param {Function} condition The condition which determines if the thenSource or elseSource will be run.
99
+ * @param {Observable} thenSource The observable sequence that will be run if the condition function returns true.
100
+ * @param {Observable} [elseSource] The observable sequence that will be run if the condition function returns false. If this is not provided, it defaults to Rx.Observabe.Empty with the specified scheduler.
101
+ * @returns {Observable} An observable sequence which is either the thenSource or elseSource.
102
+ */
103
+ Observable['if'] = Observable.ifThen = function (condition, thenSource, elseSourceOrScheduler) {
104
+ return observableDefer(function () {
105
+ elseSourceOrScheduler || (elseSourceOrScheduler = observableEmpty());
106
+ if (elseSourceOrScheduler.now) {
107
+ var scheduler = elseSourceOrScheduler;
108
+ elseSourceOrScheduler = observableEmpty(scheduler);
109
+ }
110
+ return condition() ? thenSource : elseSourceOrScheduler;
111
+ });
112
+ };
113
+
114
+ /**
115
+ * Concatenates the observable sequences obtained by running the specified result selector for each element in source.
116
+ * There is an alias for this method called 'forIn' for browsers <IE9
117
+ * @param {Array} sources An array of values to turn into an observable sequence.
118
+ * @param {Function} resultSelector A function to apply to each item in the sources array to turn it into an observable sequence.
119
+ * @returns {Observable} An observable sequence from the concatenated observable sequences.
120
+ */
121
+ Observable['for'] = Observable.forIn = function (sources, resultSelector) {
122
+ return enumerableForEach(sources, resultSelector).concat();
123
+ };
124
+
125
+ /**
126
+ * Repeats source as long as condition holds emulating a while loop.
127
+ * There is an alias for this method called 'whileDo' for browsers <IE9
128
+ *
129
+ * @param {Function} condition The condition which determines if the source will be repeated.
130
+ * @param {Observable} source The observable sequence that will be run if the condition function returns true.
131
+ * @returns {Observable} An observable sequence which is repeated as long as the condition holds.
132
+ */
133
+ var observableWhileDo = Observable['while'] = Observable.whileDo = function (condition, source) {
134
+ return enumerableWhile(condition, source).concat();
135
+ };
136
+
137
+ /**
138
+ * Repeats source as long as condition holds emulating a do while loop.
139
+ *
140
+ * @param {Function} condition The condition which determines if the source will be repeated.
141
+ * @param {Observable} source The observable sequence that will be run if the condition function returns true.
142
+ * @returns {Observable} An observable sequence which is repeated as long as the condition holds.
143
+ */
144
+ observableProto.doWhile = function (condition) {
145
+ return observableConcat([this, observableWhileDo(condition, this)]);
146
+ };
147
+
148
+ /**
149
+ * Uses selector to determine which source in sources to use.
150
+ * There is an alias 'switchCase' for browsers <IE9.
151
+ *
152
+ * @example
153
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 });
154
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0);
155
+ * 1 - res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, scheduler);
156
+ *
157
+ * @param {Function} selector The function which extracts the value for to test in a case statement.
158
+ * @param {Array} sources A object which has keys which correspond to the case statement labels.
159
+ * @param {Observable} [elseSource] The observable sequence that will be run if the sources are not matched. If this is not provided, it defaults to Rx.Observabe.Empty with the specified scheduler.
160
+ *
161
+ * @returns {Observable} An observable sequence which is determined by a case statement.
162
+ */
163
+ Observable['case'] = Observable.switchCase = function (selector, sources, defaultSourceOrScheduler) {
164
+ return observableDefer(function () {
165
+ defaultSourceOrScheduler || (defaultSourceOrScheduler = observableEmpty());
166
+ if (defaultSourceOrScheduler.now) {
167
+ var scheduler = defaultSourceOrScheduler;
168
+ defaultSourceOrScheduler = observableEmpty(scheduler);
169
+ }
170
+ var result = sources[selector()];
171
+ return result !== undefined ? result : defaultSourceOrScheduler;
172
+ });
173
+ };
174
+
175
+ /**
176
+ * Expands an observable sequence by recursively invoking selector.
177
+ *
178
+ * @param {Function} selector Selector function to invoke for each produced element, resulting in another sequence to which the selector will be invoked recursively again.
179
+ * @param {Scheduler} [scheduler] Scheduler on which to perform the expansion. If not provided, this defaults to the current thread scheduler.
180
+ * @returns {Observable} An observable sequence containing all the elements produced by the recursive expansion.
181
+ */
182
+ observableProto.expand = function (selector, scheduler) {
183
+ scheduler || (scheduler = immediateScheduler);
184
+ var source = this;
185
+ return new AnonymousObservable(function (observer) {
186
+ var q = [],
187
+ m = new SerialDisposable(),
188
+ d = new CompositeDisposable(m),
189
+ activeCount = 0,
190
+ isAcquired = false;
191
+
192
+ var ensureActive = function () {
193
+ var isOwner = false;
194
+ if (q.length > 0) {
195
+ isOwner = !isAcquired;
196
+ isAcquired = true;
197
+ }
198
+ if (isOwner) {
199
+ m.setDisposable(scheduler.scheduleRecursive(function (self) {
200
+ var work;
201
+ if (q.length > 0) {
202
+ work = q.shift();
203
+ } else {
204
+ isAcquired = false;
205
+ return;
206
+ }
207
+ var m1 = new SingleAssignmentDisposable();
208
+ d.add(m1);
209
+ m1.setDisposable(work.subscribe(function (x) {
210
+ observer.onNext(x);
211
+ var result = null;
212
+ try {
213
+ result = selector(x);
214
+ } catch (e) {
215
+ observer.onError(e);
216
+ }
217
+ q.push(result);
218
+ activeCount++;
219
+ ensureActive();
220
+ }, observer.onError.bind(observer), function () {
221
+ d.remove(m1);
222
+ activeCount--;
223
+ if (activeCount === 0) {
224
+ observer.onCompleted();
225
+ }
226
+ }));
227
+ self();
228
+ }));
229
+ }
230
+ };
231
+
232
+ q.push(source);
233
+ activeCount++;
234
+ ensureActive();
235
+ return d;
236
+ });
237
+ };
238
+
239
+ /**
240
+ * Runs all observable sequences in parallel and collect their last elements.
241
+ *
242
+ * @example
243
+ * 1 - res = Rx.Observable.forkJoin([obs1, obs2]);
244
+ * 1 - res = Rx.Observable.forkJoin(obs1, obs2, ...);
245
+ * @returns {Observable} An observable sequence with an array collecting the last elements of all the input sequences.
246
+ */
247
+ Observable.forkJoin = function () {
248
+ var allSources = argsOrArray(arguments, 0);
249
+ return new AnonymousObservable(function (subscriber) {
250
+ var count = allSources.length;
251
+ if (count === 0) {
252
+ subscriber.onCompleted();
253
+ return disposableEmpty;
254
+ }
255
+ var group = new CompositeDisposable(),
256
+ finished = false,
257
+ hasResults = new Array(count),
258
+ hasCompleted = new Array(count),
259
+ results = new Array(count);
260
+
261
+ for (var idx = 0; idx < count; idx++) {
262
+ (function (i) {
263
+ var source = allSources[i];
264
+ group.add(source.subscribe(function (value) {
265
+ if (!finished) {
266
+ hasResults[i] = true;
267
+ results[i] = value;
268
+ }
269
+ }, function (e) {
270
+ finished = true;
271
+ subscriber.onError(e);
272
+ group.dispose();
273
+ }, function () {
274
+ if (!finished) {
275
+ if (!hasResults[i]) {
276
+ subscriber.onCompleted();
277
+ return;
278
+ }
279
+ hasCompleted[i] = true;
280
+ for (var ix = 0; ix < count; ix++) {
281
+ if (!hasCompleted[ix]) {
282
+ return;
283
+ }
284
+ }
285
+ finished = true;
286
+ subscriber.onNext(results);
287
+ subscriber.onCompleted();
288
+ }
289
+ }));
290
+ })(idx);
291
+ }
292
+
293
+ return group;
294
+ });
295
+ };
296
+
297
+ /**
298
+ * Runs two observable sequences in parallel and combines their last elemenets.
299
+ *
300
+ * @param {Observable} second Second observable sequence.
301
+ * @param {Function} resultSelector Result selector function to invoke with the last elements of both sequences.
302
+ * @returns {Observable} An observable sequence with the result of calling the selector function with the last elements of both input sequences.
303
+ */
304
+ observableProto.forkJoin = function (second, resultSelector) {
305
+ var first = this;
306
+
307
+ return new AnonymousObservable(function (observer) {
308
+ var leftStopped = false, rightStopped = false,
309
+ hasLeft = false, hasRight = false,
310
+ lastLeft, lastRight,
311
+ leftSubscription = new SingleAssignmentDisposable(), rightSubscription = new SingleAssignmentDisposable();
312
+
313
+ leftSubscription.setDisposable(
314
+ first.subscribe(function (left) {
315
+ hasLeft = true;
316
+ lastLeft = left;
317
+ }, function (err) {
318
+ rightSubscription.dispose();
319
+ observer.onError(err);
320
+ }, function () {
321
+ leftStopped = true;
322
+ if (rightStopped) {
323
+ if (!hasLeft) {
324
+ observer.onCompleted();
325
+ } else if (!hasRight) {
326
+ observer.onCompleted();
327
+ } else {
328
+ var result;
329
+ try {
330
+ result = resultSelector(lastLeft, lastRight);
331
+ } catch (e) {
332
+ observer.onError(e);
333
+ return;
334
+ }
335
+ observer.onNext(result);
336
+ observer.onCompleted();
337
+ }
338
+ }
339
+ })
340
+ );
341
+
342
+ rightSubscription.setDisposable(
343
+ second.subscribe(function (right) {
344
+ hasRight = true;
345
+ lastRight = right;
346
+ }, function (err) {
347
+ leftSubscription.dispose();
348
+ observer.onError(err);
349
+ }, function () {
350
+ rightStopped = true;
351
+ if (leftStopped) {
352
+ if (!hasLeft) {
353
+ observer.onCompleted();
354
+ } else if (!hasRight) {
355
+ observer.onCompleted();
356
+ } else {
357
+ var result;
358
+ try {
359
+ result = resultSelector(lastLeft, lastRight);
360
+ } catch (e) {
361
+ observer.onError(e);
362
+ return;
363
+ }
364
+ observer.onNext(result);
365
+ observer.onCompleted();
366
+ }
367
+ }
368
+ })
369
+ );
370
+
371
+ return new CompositeDisposable(leftSubscription, rightSubscription);
372
+ });
373
+ };
374
+
375
+ /**
376
+ * Comonadic bind operator.
377
+ * @param {Function} selector A transform function to apply to each element.
378
+ * @param {Object} scheduler Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.
379
+ * @returns {Observable} An observable sequence which results from the comonadic bind operation.
380
+ */
381
+ observableProto.manySelect = function (selector, scheduler) {
382
+ scheduler || (scheduler = immediateScheduler);
383
+ var source = this;
384
+ return observableDefer(function () {
385
+ var chain;
386
+
387
+ return source
388
+ .select(
389
+ function (x) {
390
+ var curr = new ChainObservable(x);
391
+ if (chain) {
392
+ chain.onNext(x);
393
+ }
394
+ chain = curr;
395
+
396
+ return curr;
397
+ })
398
+ .doAction(
399
+ nothing,
400
+ function (e) {
401
+ if (chain) {
402
+ chain.onError(e);
403
+ }
404
+ },
405
+ function () {
406
+ if (chain) {
407
+ chain.onCompleted();
408
+ }
409
+ })
410
+ .observeOn(scheduler)
411
+ .select(function (x, i, o) { return selector(x, i, o); });
412
+ });
413
+ };
414
+
415
+ var ChainObservable = (function (_super) {
416
+
417
+ function subscribe (observer) {
418
+ var self = this, g = new CompositeDisposable();
419
+ g.add(currentThreadScheduler.schedule(function () {
420
+ observer.onNext(self.head);
421
+ g.add(self.tail.mergeObservable().subscribe(observer));
422
+ }));
423
+
424
+ return g;
425
+ }
426
+
427
+ inherits(ChainObservable, _super);
428
+
429
+ function ChainObservable(head) {
430
+ _super.call(this, subscribe);
431
+ this.head = head;
432
+ this.tail = new AsyncSubject();
433
+ }
434
+
435
+ addProperties(ChainObservable.prototype, Observer, {
436
+ onCompleted: function () {
437
+ this.onNext(Observable.empty());
438
+ },
439
+ onError: function (e) {
440
+ this.onNext(Observable.throwException(e));
441
+ },
442
+ onNext: function (v) {
443
+ this.tail.onNext(v);
444
+ this.tail.onCompleted();
445
+ }
446
+ });
447
+
448
+ return ChainObservable;
449
+
450
+ }(Observable));
451
+
452
+ return Rx;
453
+ }));
@@ -0,0 +1 @@
1
+ (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx","exports"],function(b,d){return c.Rx=a(c,d,b),c.Rx}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("./rx")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(){}function f(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:w.call(a)}function g(a,b){return new s(function(){var c;return r(function(){return a()?(c=b,!0):!1},function(){return c})})}var h=c.Observable,i=h.prototype,j=c.Internals.AnonymousObservable,k=h.concat,l=h.defer,m=h.empty,n=c.Disposable.empty,o=(c.Internals.BinaryObserver,c.CompositeDisposable),p=c.SerialDisposable,q=c.SingleAssignmentDisposable,r=c.Internals.Enumerator.create,s=c.Internals.Enumerable,t=s.forEach,u=c.Scheduler.immediate,v=c.Scheduler.currentThread,w=Array.prototype.slice,x=c.AsyncSubject,y=c.Observer,z=c.Internals.inherits,A=c.Internals.addProperties;i.letBind=i.let=function(a){return a(this)},h["if"]=h.ifThen=function(a,b,c){return l(function(){if(c||(c=m()),c.now){var d=c;c=m(d)}return a()?b:c})},h["for"]=h.forIn=function(a,b){return t(a,b).concat()};var B=h["while"]=h.whileDo=function(a,b){return g(a,b).concat()};i.doWhile=function(a){return k([this,B(a,this)])},h["case"]=h.switchCase=function(a,b,c){return l(function(){if(c||(c=m()),c.now){var e=c;c=m(e)}var f=b[a()];return f!==d?f:c})},i.expand=function(a,b){b||(b=u);var c=this;return new j(function(d){var e=[],f=new p,g=new o(f),h=0,i=!1,j=function(){var c=!1;e.length>0&&(c=!i,i=!0),c&&f.setDisposable(b.scheduleRecursive(function(b){var c;if(!(e.length>0))return i=!1,void 0;c=e.shift();var f=new q;g.add(f),f.setDisposable(c.subscribe(function(b){d.onNext(b);var c=null;try{c=a(b)}catch(f){d.onError(f)}e.push(c),h++,j()},d.onError.bind(d),function(){g.remove(f),h--,0===h&&d.onCompleted()})),b()}))};return e.push(c),h++,j(),g})},h.forkJoin=function(){var a=f(arguments,0);return new j(function(b){var c=a.length;if(0===c)return b.onCompleted(),n;for(var d=new o,e=!1,f=new Array(c),g=new Array(c),h=new Array(c),i=0;c>i;i++)!function(i){var j=a[i];d.add(j.subscribe(function(a){e||(f[i]=!0,h[i]=a)},function(a){e=!0,b.onError(a),d.dispose()},function(){if(!e){if(!f[i])return b.onCompleted(),void 0;g[i]=!0;for(var a=0;c>a;a++)if(!g[a])return;e=!0,b.onNext(h),b.onCompleted()}}))}(i);return d})},i.forkJoin=function(a,b){var c=this;return new j(function(d){var e,f,g=!1,h=!1,i=!1,j=!1,k=new q,l=new q;return k.setDisposable(c.subscribe(function(a){i=!0,e=a},function(a){l.dispose(),d.onError(a)},function(){if(g=!0,h)if(i)if(j){var a;try{a=b(e,f)}catch(c){return d.onError(c),void 0}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),l.setDisposable(a.subscribe(function(a){j=!0,f=a},function(a){k.dispose(),d.onError(a)},function(){if(h=!0,g)if(i)if(j){var a;try{a=b(e,f)}catch(c){return d.onError(c),void 0}d.onNext(a),d.onCompleted()}else d.onCompleted();else d.onCompleted()})),new o(k,l)})},i.manySelect=function(a,b){b||(b=u);var c=this;return l(function(){var d;return c.select(function(a){var b=new C(a);return d&&d.onNext(a),d=b,b}).doAction(e,function(a){d&&d.onError(a)},function(){d&&d.onCompleted()}).observeOn(b).select(function(b,c,d){return a(b,c,d)})})};var C=function(a){function b(a){var b=this,c=new o;return c.add(v.schedule(function(){a.onNext(b.head),c.add(b.tail.mergeObservable().subscribe(a))})),c}function c(c){a.call(this,b),this.head=c,this.tail=new x}return z(c,a),A(c.prototype,y,{onCompleted:function(){this.onNext(h.empty())},onError:function(a){this.onNext(h.throwException(a))},onNext:function(a){this.tail.onNext(a),this.tail.onCompleted()}}),c}(h);return c});