(function(a){function b(){if(this.isDisposed)throw new Error(H)}function c(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1}function d(a){var b=[];if(!c(a))return b;cb.nonEnumArgs&&a.length&&h(a)&&(a=eb.call(a));var d=cb.enumPrototypes&&"function"==typeof a,e=cb.enumErrorProps&&(a===Y||a instanceof Error);for(var f in a)d&&"prototype"==f||e&&("message"==f||"name"==f)||b.push(f);if(cb.nonEnumShadows&&a!==Z){var g=a.constructor,i=-1,j=ab.length;if(a===(g&&g.prototype))var k=a===stringProto?U:a===Y?P:V.call(a),l=bb[k];for(;++i-1:void 0});return c.pop(),d.pop(),result}function k(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:eb.call(a)}function l(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function m(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function n(a,b){return new cc(function(c){var d=new rb,e=new sb;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}E(f)&&(f=Tb(f)),d=new rb,e.setDisposable(d),d.setDisposable(f.subscribe(c))},c.onCompleted.bind(c))),e})}function o(a,b){var c=this;return new cc(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 p(a){return this.select(function(b,c){var d=a(b,c);return E(d)?Tb(d):d}).mergeObservable()}var q={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},r=q[typeof window]&&window||this,s=q[typeof exports]&&exports&&!exports.nodeType&&exports,t=q[typeof module]&&module&&!module.nodeType&&module,u=t&&t.exports===s&&s,v=q[typeof global]&&global;!v||v.global!==v&&v.window!==v||(r=v);var w={internals:{},config:{Promise:r.Promise},helpers:{}},x=w.helpers.noop=function(){},y=w.helpers.identity=function(a){return a},z=w.helpers.defaultNow=Date.now,A=w.helpers.defaultComparer=function(a,b){return db(a,b)},B=w.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},C=w.helpers.defaultKeySerializer=function(a){return a.toString()},D=w.helpers.defaultError=function(a){throw a},E=w.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then&&a.then!==w.Observable.prototype.then},F=(w.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},w.helpers.not=function(a){return!a},"Sequence contains no elements."),G="Argument out of range",H="Object has been disposed",I="object"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";r.Set&&"function"==typeof(new r.Set)["@@iterator"]&&(I="@@iterator");var J,K={done:!0,value:a},L="[object Arguments]",M="[object Array]",N="[object Boolean]",O="[object Date]",P="[object Error]",Q="[object Function]",R="[object Number]",S="[object Object]",T="[object RegExp]",U="[object String]",V=Object.prototype.toString,W=Object.prototype.hasOwnProperty,X=V.call(arguments)==L,Y=Error.prototype,Z=Object.prototype,$=Z.propertyIsEnumerable;try{J=!(V.call(document)==S&&!({toString:0}+""))}catch(_){J=!0}var ab=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bb={};bb[M]=bb[O]=bb[R]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},bb[N]=bb[U]={constructor:!0,toString:!0,valueOf:!0},bb[P]=bb[Q]=bb[T]={constructor:!0,toString:!0},bb[S]={constructor:!0};var cb={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);cb.enumErrorProps=$.call(Y,"message")||$.call(Y,"name"),cb.enumPrototypes=$.call(a,"prototype"),cb.nonEnumArgs=0!=c,cb.nonEnumShadows=!/valueOf/.test(b)}(1),X||(h=function(a){return a&&"object"==typeof a?W.call(a,"callee"):!1}),i(/x/)&&(i=function(a){return"function"==typeof a&&V.call(a)==Q});var db=w.internals.isEqual=function(a,b){return j(a,b,[],[])},eb=Array.prototype.slice,fb=({}.hasOwnProperty,this.inherits=w.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),gb=w.internals.addProperties=function(a){for(var b=eb.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},hb=w.internals.addRef=function(a,b){return new cc(function(c){return new lb(b.getDisposable(),a.subscribe(c))})},ib=function(a,b){this.id=a,this.value=b};ib.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var jb=w.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},kb=jb.prototype;kb.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},kb.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)}}},kb.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(cb;b++)a[b].dispose()}},mb.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()},mb.contains=function(a){return-1!==this.disposables.indexOf(a)},mb.toArray=function(){return this.disposables.slice(0)};var nb=w.Disposable=function(a){this.isDisposed=!1,this.action=a||x};nb.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var ob=nb.create=function(a){return new nb(a)},pb=nb.empty={dispose:x},qb=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}(),rb=w.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return fb(b,a),b}(qb),sb=w.SerialDisposable=function(a){function b(){a.call(this,!1)}return fb(b,a),b}(qb),tb=w.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?pb:new a(this)},b}();m.prototype.dispose=function(){var a=this;this.scheduler.schedule(function(){a.isDisposed||(a.isDisposed=!0,a.disposable.dispose())})};var ub=w.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||B,this.disposable=new rb};ub.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},ub.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},ub.prototype.isCancelled=function(){return this.disposable.isDisposed},ub.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var vb,wb=w.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 lb,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),pb});d||(e.add(g),c=!0)})};return f(c),e}function c(a,b,c){var d=b.first,e=b.second,f=new lb,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),pb});h||(f.add(i),e=!0)})};return g(d),f}function d(a,b){return b(),pb}var e=a.prototype;return e.catchException=e["catch"]=function(a){return new Bb(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 ob(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=z,a.normalize=function(a){return 0>a&&(a=0),a},a}(),xb=wb.normalize,yb=(w.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 rb;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),wb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=xb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new wb(z,a,b,c)}()),zb=wb.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-wb.now()>0;);b.isCancelled()||b.invoke()}}function b(a,b){return this.scheduleWithRelativeAndState(a,0,b)}function c(b,c,d){var f=this.now()+wb.normalize(c),g=new ub(this,b,d,f);if(e)e.enqueue(g);else{e=new jb(4),e.enqueue(g);try{a(e)}catch(h){throw h}finally{e=null}}return g.disposable}function d(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}var e,f=new wb(z,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),Ab=x;!function(){function a(){if(!r.postMessage||r.importScripts)return!1;var a=!1,b=r.onmessage;return r.onmessage=function(){a=!0},r.postMessage("","*"),r.onmessage=b,a}function b(a){if("string"==typeof a.data&&a.data.substring(0,f.length)===f){var b=a.data.substring(f.length),c=g[b];c(),delete g[b]}}var c=RegExp("^"+String(V).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),d="function"==typeof(d=v&&u&&v.setImmediate)&&!c.test(d)&&d,e="function"==typeof(e=v&&u&&v.clearImmediate)&&!c.test(e)&&e;if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))vb=process.nextTick;else if("function"==typeof d)vb=d,Ab=e;else if(a()){var f="ms.rx.schedule"+Math.random(),g={},h=0;r.addEventListener?r.addEventListener("message",b,!1):r.attachEvent("onmessage",b,!1),vb=function(a){var b=h++;g[b]=a,r.postMessage(f+b,"*")}}else if(r.MessageChannel){var i=new r.MessageChannel,j={},k=0;i.port1.onmessage=function(a){var b=a.data,c=j[b];c(),delete j[b]},vb=function(a){var b=k++;j[b]=a,i.port2.postMessage(b)}}else"document"in r&&"onreadystatechange"in r.document.createElement("script")?vb=function(a){var b=r.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},r.document.documentElement.appendChild(b)}:(vb=function(a){return setTimeout(a,0)},Ab=clearTimeout)}();var Bb=(wb.timeout=function(){function a(a,b){var c=this,d=new rb,e=vb(function(){d.isDisposed||d.setDisposable(b(c,a))});return new lb(d,ob(function(){Ab(e)}))}function b(a,b,c){var d=this,e=wb.normalize(b);if(0===e)return d.scheduleWithState(a,c);var f=new rb,g=setTimeout(function(){f.isDisposed||f.setDisposable(c(d,a))},e);return new lb(f,ob(function(){clearTimeout(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new wb(z,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 fb(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 pb}}},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 rb;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}(wb)),Cb=w.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=yb),new cc(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Db=Cb.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 Cb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Eb=Cb.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 Cb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),Fb=Cb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new Cb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),Gb=w.internals.Enumerator=function(a){this._next=a};Gb.prototype.next=function(){return this._next()},Gb.prototype[I]=function(){return this};var Hb=w.internals.Enumerable=function(a){this._iterator=a};Hb.prototype[I]=function(){return this._iterator()},Hb.prototype.concat=function(){var a=this;return new cc(function(b){var c;try{c=a[I]()}catch(d){return b.onError(),void 0}var e,f=new sb,g=yb.scheduleRecursive(function(a){var d;if(!e){try{d=c.next()}catch(g){return b.onError(g),void 0}if(d.done)return b.onCompleted(),void 0;var h=d.value;E(h)&&(h=Tb(h));var i=new rb;f.setDisposable(i),i.setDisposable(h.subscribe(b.onNext.bind(b),b.onError.bind(b),function(){a()}))}});return new lb(f,g,ob(function(){e=!0}))})},Hb.prototype.catchException=function(){var a=this;return new cc(function(b){var c;try{c=a[I]()}catch(d){return b.onError(),void 0}var e,f,g=new sb,h=yb.scheduleRecursive(function(a){if(!e){var d;try{d=c.next()}catch(h){return b.onError(h),void 0}if(d.done)return f?b.onError(f):b.onCompleted(),void 0;var i=d.value;E(i)&&(i=Tb(i));var j=new rb;g.setDisposable(j),j.setDisposable(i.subscribe(b.onNext.bind(b),function(b){f=b,a()},b.onCompleted.bind(b)))}});return new lb(g,h,ob(function(){e=!0}))})};var Ib=Hb.repeat=function(a,b){return null==b&&(b=-1),new Hb(function(){var c=b;return new Gb(function(){return 0===c?K:(c>0&&c--,{done:!1,value:a})})})},Jb=Hb.forEach=function(a,b,c){return b||(b=y),new Hb(function(){var d=-1;return new Gb(function(){return++d0&&(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}(Nb),Rb=function(a){function b(){a.apply(this,arguments)}return fb(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}(Qb),Sb=w.Observable=function(){function a(a){this._subscribe=a}return Mb=a.prototype,Mb.finalValue=function(){var a=this;return new cc(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(F))})})},Mb.subscribe=Mb.forEach=function(a,b,c){var d;return d="object"==typeof a?a:Lb(a,b,c),this._subscribe(d)},Mb.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}();Mb.observeOn=function(a){var b=this;return new cc(function(c){return b.subscribe(new Rb(a,c))})},Mb.subscribeOn=function(a){var b=this;return new cc(function(c){var d=new rb,e=new sb;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new m(a,b.subscribe(c)))})),e})};var Tb=Sb.fromPromise=function(a){return new cc(function(b){return a.then(function(a){b.onNext(a),b.onCompleted()},function(a){b.onError(a)}),function(){a&&a.abort&&a.abort()}})};Mb.toPromise=function(a){if(a||(a=w.config.Promise),!a)throw new Error("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},function(a){c(a)},function(){e&&a(d)})})},Sb.create=Sb.createWithDisposable=function(a){return new cc(a)};var Ub=(Sb.defer=function(a){return new cc(function(b){var c;try{c=a()}catch(d){return Yb(d).subscribe(b)}return E(c)&&(c=Tb(c)),c.subscribe(b)})},Sb.empty=function(a){return a||(a=yb),new cc(function(b){return a.schedule(function(){b.onCompleted()})})}),Vb=Sb.fromArray=function(a,b){return b||(b=zb),new cc(function(c){var d=0;return b.scheduleRecursive(function(b){dc?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Sb.repeat=function(a,b,c){return c||(c=zb),null==b&&(b=-1),Xb(a,c).repeat(b)};var Xb=Sb["return"]=Sb.returnValue=function(a,b){return b||(b=yb),new cc(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Yb=Sb["throw"]=Sb.throwException=function(a,b){return b||(b=yb),new cc(function(c){return b.schedule(function(){c.onError(a)})})};Sb.using=function(a,b){return new cc(function(c){var d,e,f=pb;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new lb(Yb(g).subscribe(c),f)}return new lb(e.subscribe(c),f)})},Mb.amb=function(a){var b=this;return new cc(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new rb,j=new rb;return E(a)&&(a=Tb(a)),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 lb(i,j)})},Sb.amb=function(){function a(a,b){return a.amb(b)}for(var b=Wb(),c=k(arguments,0),d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},Mb["catch"]=Mb.catchException=function(a){return"function"==typeof a?n(this,a):Zb([this,a])};var Zb=Sb.catchException=Sb["catch"]=function(){var a=k(arguments,0);return Jb(a).catchException()};Mb.combineLatest=function(){var a=eb.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),$b.apply(this,a)};var $b=Sb.combineLatest=function(){var a=eb.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new cc(function(c){function d(a){var d;if(h[a]=!0,i||(i=h.every(y))){try{d=b.apply(null,k)}catch(e){return c.onError(e),void 0}c.onNext(d)}else j.filter(function(b,c){return c!==a}).every(y)&&c.onCompleted()}function e(a){j[a]=!0,j.every(y)&&c.onCompleted()}for(var f=function(){return!1},g=a.length,h=l(g,f),i=!1,j=l(g,f),k=new Array(g),m=new Array(g),n=0;g>n;n++)!function(b){var f=a[b],g=new rb;E(f)&&(f=Tb(f)),g.setDisposable(f.subscribe(function(a){k[b]=a,d(b)},c.onError.bind(c),function(){e(b)})),m[b]=g}(n);return new lb(m)})};Mb.concat=function(){var a=eb.call(arguments,0);return a.unshift(this),_b.apply(this,a)};var _b=Sb.concat=function(){var a=k(arguments,0);return Jb(a).concat()};Mb.concatObservable=Mb.concatAll=function(){return this.merge(1)},Mb.merge=function(a){if("number"!=typeof a)return ac(this,a);var b=this;return new cc(function(c){var d=0,e=new lb,f=!1,g=[],h=function(a){var b=new rb;e.add(b),E(a)&&(a=Tb(a)),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 ac=Sb.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=eb.call(arguments,1)):(a=yb,b=eb.call(arguments,0)):(a=yb,b=eb.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Vb(b,a).mergeObservable()};Mb.mergeObservable=Mb.mergeAll=function(){var a=this;return new cc(function(b){var c=new lb,d=!1,e=new rb;return c.add(e),e.setDisposable(a.subscribe(function(a){var e=new rb;c.add(e),E(a)&&(a=Tb(a)),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})},Mb.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return bc([this,a])};var bc=Sb.onErrorResumeNext=function(){var a=k(arguments,0);return new cc(function(b){var c=0,d=new sb,e=yb.scheduleRecursive(function(e){var f,g;c0})){try{f=h.map(function(a){return a.shift()}),e=c.apply(a,f)}catch(g){return d.onError(g),void 0}d.onNext(e)}else i.filter(function(a,c){return c!==b}).every(y)&&d.onCompleted()}function f(a){i[a]=!0,i.every(function(a){return a})&&d.onCompleted()}for(var g=b.length,h=l(g,function(){return[]}),i=l(g,function(){return!1}),j=new Array(g),k=0;g>k;k++)!function(a){var c=b[a],g=new rb;E(c)&&(c=Tb(c)),g.setDisposable(c.subscribe(function(b){h[a].push(b),e(a)},d.onError.bind(d),function(){f(a)})),j[a]=g}(k);return new lb(j)})},Sb.zip=function(){var a=eb.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Sb.zipArray=function(){var a=k(arguments,0);return new cc(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(y))return b.onCompleted(),void 0}function d(a){return g[a]=!0,g.every(y)?(b.onCompleted(),void 0):void 0}for(var e=a.length,f=l(e,function(){return[]}),g=l(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new rb,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},b.onError.bind(b),function(){d(e)}))}(i);var j=new lb(h);return j.add(ob(function(){for(var a=0,b=f.length;b>a;a++)f[a]=[]})),j})},Mb.asObservable=function(){var a=this;return new cc(function(b){return a.subscribe(b)})},Mb.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})},Mb.dematerialize=function(){var a=this;return new cc(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Mb.distinctUntilChanged=function(a,b){var c=this;return a||(a=y),b||(b=A),new cc(function(d){var e,f=!1;return c.subscribe(function(c){var g,h=!1;try{g=a(c)}catch(i){return d.onError(i),void 0}if(f)try{h=b(e,g)}catch(i){return d.onError(i),void 0}f&&h||(f=!0,e=g,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))})},Mb["do"]=Mb.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 cc(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()})})},Mb["finally"]=Mb.finallyAction=function(a){var b=this;return new cc(function(c){var d=b.subscribe(c);return ob(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Mb.ignoreElements=function(){var a=this;return new cc(function(b){return a.subscribe(x,b.onError.bind(b),b.onCompleted.bind(b))})},Mb.materialize=function(){var a=this;return new cc(function(b){return a.subscribe(function(a){b.onNext(Db(a))},function(a){b.onNext(Eb(a)),b.onCompleted()},function(){b.onNext(Fb()),b.onCompleted()})})},Mb.repeat=function(a){return Ib(this,a).concat()},Mb.retry=function(a){return Ib(this,a).catchException()},Mb.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 cc(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()})})},Mb.skipLast=function(a){var b=this;return new cc(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},c.onError.bind(c),c.onCompleted.bind(c))})},Mb.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=yb,a=eb.call(arguments,c),Jb([Vb(a,b),this]).concat()},Mb.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Vb(a,b)})},Mb.takeLastBuffer=function(a){var b=this;return new cc(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()})})},Mb.windowWithCount=function(a,b){var c=this;if(0>=a)throw new Error(G);if(1===arguments.length&&(b=a),0>=b)throw new Error(G);return new cc(function(d){var e=new rb,f=new tb(e),g=0,h=[],i=function(){var a=new gc;h.push(a),d.onNext(hb(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})},Mb.defaultIfEmpty=function(b){var c=this;return b===a&&(b=null),new cc(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()})})},Mb.distinct=function(a,b){var c=this;return a||(a=y),b||(b=C),new cc(function(d){var e={};return c.subscribe(function(c){var f,g,h,i=!1;try{f=a(c),g=b(f)}catch(j){return d.onError(j),void 0}for(h in e)if(g===h){i=!0;break}i||(e[g]=null,d.onNext(c))},d.onError.bind(d),d.onCompleted.bind(d))})},Mb.groupBy=function(a,b,c){return this.groupByUntil(a,b,function(){return Wb()},c)},Mb.groupByUntil=function(a,b,c,d){var e=this;return b||(b=y),d||(d=C),new cc(function(f){var g={},h=new lb,i=new tb(h);return h.add(e.subscribe(function(e){var j,k,l,m,n,o,p,q,r,s;try{o=a(e),p=d(o)}catch(t){for(s in g)g[s].onError(t);return f.onError(t),void 0}m=!1;try{r=g[p],r||(r=new gc,g[p]=r,m=!0)}catch(t){for(s in g)g[s].onError(t);return f.onError(t),void 0}if(m){n=new ec(o,r,i),k=new ec(o,r);try{j=c(k)}catch(t){for(s in g)g[s].onError(t);return f.onError(t),void 0}f.onNext(n),q=new rb,h.add(q);var u=function(){p in g&&(delete g[p],r.onCompleted()),h.remove(q)};q.setDisposable(j.take(1).subscribe(x,function(a){for(s in g)g[s].onError(a);f.onError(a)},function(){u()}))}try{l=b(e)}catch(t){for(s in g)g[s].onError(t);return f.onError(t),void 0}r.onNext(l)},function(a){for(var b in g)g[b].onError(a);f.onError(a)},function(){for(var a in g)g[a].onCompleted();f.onCompleted()})),i})},Mb.select=Mb.map=function(a,b){var c=this;return new cc(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))})},Mb.pluck=function(a){return this.select(function(b){return b[a]})},Mb.selectMany=Mb.flatMap=function(a,b){return b?this.selectMany(function(c,d){var e=a(c,d),f=E(e)?Tb(e):e;return f.select(function(a){return b(c,a,d)})}):"function"==typeof a?p.call(this,a):p.call(this,function(){return a})},Mb.selectSwitch=Mb.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Mb.skip=function(a){if(0>a)throw new Error(G);var b=this;return new cc(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Mb.skipWhile=function(a,b){var c=this;return new cc(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))})},Mb.take=function(a,b){if(0>a)throw new Error(G);if(0===a)return Ub(b);var c=this;return new cc(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))})},Mb.takeWhile=function(a,b){var c=this;return new cc(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))})},Mb.where=Mb.filter=function(a,b){var c=this;return new cc(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 cc=w.AnonymousObservable=function(a){function b(a){return"undefined"==typeof a?a=pb:"function"==typeof a&&(a=ob(a)),a}function c(d){function e(a){var c=new dc(a);if(zb.scheduleRequired())zb.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 fb(c,a),c}(Sb),dc=function(a){function b(b){a.call(this),this.observer=b,this.m=new rb}fb(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}(Nb),ec=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 cc(function(a){return new lb(e.getDisposable(),d.subscribe(a))}):d}return fb(c,a),c}(Sb),fc=function(a,b){this.subject=a,this.observer=b};fc.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 gc=w.Subject=function(a){function c(a){return b.call(this),this.isStopped?this.exception?(a.onError(this.exception),pb):(a.onCompleted(),pb):(this.observers.push(a),new fc(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return fb(d,a),gb(d.prototype,Kb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(b.call(this),!this.isStopped){var a=this.observers.slice(0);this.isStopped=!0;for(var c=0,d=a.length;d>c;c++)a[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){if(b.call(this),!this.isStopped)for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)c[d].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new hc(a,b)},d}(Sb),hc=(w.AsyncSubject=function(a){function c(a){if(b.call(this),!this.isStopped)return this.observers.push(a),new fc(this,a);var c=this.exception,d=this.hasValue,e=this.value;return c?a.onError(c):d?(a.onNext(e),a.onCompleted()):a.onCompleted(),pb}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.value=null,this.hasValue=!1,this.observers=[],this.exception=null}return fb(d,a),gb(d.prototype,Kb,{hasObservers:function(){return b.call(this),this.observers.length>0},onCompleted:function(){var a,c,d;if(b.call(this),!this.isStopped){this.isStopped=!0;var e=this.observers.slice(0),f=this.value,g=this.hasValue;if(g)for(c=0,d=e.length;d>c;c++)a=e[c],a.onNext(f),a.onCompleted();else for(c=0,d=e.length;d>c;c++)e[c].onCompleted();this.observers=[]}},onError:function(a){if(b.call(this),!this.isStopped){var c=this.observers.slice(0);this.isStopped=!0,this.exception=a;for(var d=0,e=c.length;e>d;d++)c[d].onError(a);this.observers=[]}},onNext:function(a){b.call(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Sb),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 fb(c,a),gb(c.prototype,Kb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Sb));"function"==typeof define&&"object"==typeof define.amd&&define.amd?(r.Rx=w,define(function(){return w})):s&&t?u?(t.exports=w).Rx=w:s.Rx=w:r.Rx=w}).call(this);