rxjs-rails 0.0.1 → 2.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,16 +42,6 @@
42
42
  }
43
43
  }
44
44
 
45
- /** Used to determine if values are of the language type Object */
46
- var objectTypes = {
47
- 'boolean': false,
48
- 'function': true,
49
- 'object': true,
50
- 'number': false,
51
- 'string': false,
52
- 'undefined': false
53
- };
54
-
55
45
  /** `Object#toString` result shortcuts */
56
46
  var argsClass = '[object Arguments]',
57
47
  arrayClass = '[object Array]',
@@ -956,44 +946,38 @@
956
946
  var currentThreadScheduler = Scheduler.currentThread = (function () {
957
947
  var queue;
958
948
 
959
- function Trampoline() {
960
- queue = new PriorityQueue(4);
961
- }
962
-
963
- Trampoline.prototype.dispose = function () {
964
- queue = null;
965
- };
966
-
967
- Trampoline.prototype.run = function () {
949
+ function runTrampoline (q) {
968
950
  var item;
969
- while (queue.length > 0) {
970
- item = queue.dequeue();
951
+ while (q.length > 0) {
952
+ item = q.dequeue();
971
953
  if (!item.isCancelled()) {
972
- while (item.dueTime - Scheduler.now() > 0) { }
954
+ // Note, do not schedule blocking work!
955
+ while (item.dueTime - Scheduler.now() > 0) {
956
+ }
973
957
  if (!item.isCancelled()) {
974
958
  item.invoke();
975
959
  }
976
960
  }
977
- }
978
- };
961
+ }
962
+ }
979
963
 
980
964
  function scheduleNow(state, action) {
981
965
  return this.scheduleWithRelativeAndState(state, 0, action);
982
966
  }
983
967
 
984
968
  function scheduleRelative(state, dueTime, action) {
985
- var dt = this.now() + normalizeTime(dueTime),
969
+ var dt = this.now() + Scheduler.normalize(dueTime),
986
970
  si = new ScheduledItem(this, state, action, dt),
987
971
  t;
988
972
  if (!queue) {
989
- t = new Trampoline();
973
+ queue = new PriorityQueue(4);
974
+ queue.enqueue(si);
990
975
  try {
991
- queue.enqueue(si);
992
- t.run();
976
+ runTrampoline(queue);
993
977
  } catch (e) {
994
978
  throw e;
995
979
  } finally {
996
- t.dispose();
980
+ queue = null;
997
981
  }
998
982
  } else {
999
983
  queue.enqueue(si);
@@ -1048,19 +1032,22 @@
1048
1032
  }());
1049
1033
 
1050
1034
 
1051
- var reNative = RegExp('^' +
1052
- String(toString)
1053
- .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
1054
- .replace(/toString| for [^\]]+/g, '.*?') + '$'
1055
- );
1056
-
1057
- var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
1058
- !reNative.test(setImmediate) && setImmediate,
1059
- clearImmediate = typeof (clearImmediate = freeGlobal && moduleExports && freeGlobal.clearImmediate) == 'function' &&
1060
- !reNative.test(clearImmediate) && clearImmediate;
1061
-
1062
1035
  var scheduleMethod, clearMethod = noop;
1063
1036
  (function () {
1037
+
1038
+ var reNative = RegExp('^' +
1039
+ String(toString)
1040
+ .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
1041
+ .replace(/toString| for [^\]]+/g, '.*?') + '$'
1042
+ );
1043
+
1044
+ var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&
1045
+ !reNative.test(setImmediate) && setImmediate,
1046
+ clearImmediate = typeof (clearImmediate = freeGlobal && moduleExports && freeGlobal.clearImmediate) == 'function' &&
1047
+ !reNative.test(clearImmediate) && clearImmediate;
1048
+
1049
+ var BrowserMutationObserver = root.MutationObserver || root.WebKitMutationObserver;
1050
+
1064
1051
  function postMessageSupported () {
1065
1052
  // Ensure not in a worker
1066
1053
  if (!root.postMessage || root.importScripts) { return false; }
@@ -1074,12 +1061,44 @@
1074
1061
  return isAsync;
1075
1062
  }
1076
1063
 
1077
- // Check for setImmediate first for Node v0.11+
1078
- if (typeof setImmediate === 'function') {
1079
- scheduleMethod = setImmediate;
1080
- clearMethod = clearImmediate;
1064
+ // Use in order, MutationObserver, nextTick, setImmediate, postMessage, MessageChannel, script readystatechanged, setTimeout
1065
+ if (!!BrowserMutationObserver) {
1066
+
1067
+ var mutationQueue = {}, mutationId = 0;
1068
+
1069
+ function drainQueue (mutations) {
1070
+ for (var i = 0, len = mutations.length; i < len; i++) {
1071
+ var id = mutations[i].target.getAttribute('drainQueue');
1072
+ mutationQueue[id]();
1073
+ delete mutationQueue[id];
1074
+ }
1075
+ }
1076
+
1077
+ var observer = new BrowserMutationObserver(drainQueue),
1078
+ elem = document.createElement('div');
1079
+ observer.observe(elem, { attributes: true });
1080
+
1081
+ root.addEventListener('unload', function () {
1082
+ observer.disconnect();
1083
+ observer = null;
1084
+ });
1085
+
1086
+ scheduleMethod = function (action) {
1087
+ var id = mutationId++;
1088
+ mutationQueue[id] = action;
1089
+ elem.setAttribute('drainQueue', id);
1090
+ return id;
1091
+ };
1092
+
1093
+ clearMethod = function (id) {
1094
+ delete mutationQueue[id];
1095
+ }
1096
+
1081
1097
  } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
1082
1098
  scheduleMethod = process.nextTick;
1099
+ } else if (typeof setImmediate === 'function') {
1100
+ scheduleMethod = setImmediate;
1101
+ clearMethod = clearImmediate;
1083
1102
  } else if (postMessageSupported()) {
1084
1103
  var MSG_PREFIX = 'ms.rx.schedule' + Math.random(),
1085
1104
  tasks = {},
@@ -2492,7 +2511,7 @@
2492
2511
  * @returns {Observable} An observable sequence containing lists of elements at corresponding indexes.
2493
2512
  */
2494
2513
  Observable.zipArray = function () {
2495
- var sources = slice.call(arguments);
2514
+ var sources = argsOrArray(arguments, 0);
2496
2515
  return new AnonymousObservable(function (observer) {
2497
2516
  var n = sources.length,
2498
2517
  queues = arrayInitialize(n, function () { return []; }),
@@ -3107,37 +3126,36 @@
3107
3126
  * @returns {Function} A function, when executed with the required parameters minus the callback, produces an Observable sequence with a single value of the arguments to the callback as an array.
3108
3127
  */
3109
3128
  Observable.fromCallback = function (func, scheduler, context, selector) {
3110
- scheduler || (scheduler = timeoutScheduler);
3129
+ scheduler || (scheduler = immediateScheduler);
3111
3130
  return function () {
3112
- var args = slice.call(arguments, 0),
3113
- subject = new AsyncSubject();
3131
+ var args = slice.call(arguments, 0);
3114
3132
 
3115
- scheduler.schedule(function () {
3116
- function handler(e) {
3117
- var results = e;
3118
-
3119
- if (selector) {
3120
- try {
3121
- results = selector(arguments);
3122
- } catch (err) {
3123
- subject.onError(err);
3124
- return;
3125
- }
3126
- } else {
3127
- if (results.length === 1) {
3128
- results = results[0];
3133
+ return new AnonymousObservable(function (observer) {
3134
+ return scheduler.schedule(function () {
3135
+ function handler(e) {
3136
+ var results = e;
3137
+
3138
+ if (selector) {
3139
+ try {
3140
+ results = selector(arguments);
3141
+ } catch (err) {
3142
+ observer.onError(err);
3143
+ return;
3144
+ }
3145
+ } else {
3146
+ if (results.length === 1) {
3147
+ results = results[0];
3148
+ }
3129
3149
  }
3130
- }
3131
3150
 
3132
- subject.onNext(results);
3133
- subject.onCompleted();
3134
- }
3151
+ observer.onNext(results);
3152
+ observer.onCompleted();
3153
+ }
3135
3154
 
3136
- args.push(handler);
3137
- func.apply(context, args);
3155
+ args.push(handler);
3156
+ func.apply(context, args);
3157
+ });
3138
3158
  });
3139
-
3140
- return subject.asObservable();
3141
3159
  };
3142
3160
  };
3143
3161
 
@@ -3150,42 +3168,42 @@
3150
3168
  * @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.
3151
3169
  */
3152
3170
  Observable.fromNodeCallback = function (func, scheduler, context, selector) {
3153
- scheduler || (scheduler = timeoutScheduler);
3171
+ scheduler || (scheduler = immediateScheduler);
3154
3172
  return function () {
3155
- var args = slice.call(arguments, 0),
3156
- subject = new AsyncSubject();
3173
+ var args = slice.call(arguments, 0);
3157
3174
 
3158
- scheduler.schedule(function () {
3159
- function handler(err) {
3160
- if (err) {
3161
- subject.onError(err);
3162
- return;
3163
- }
3164
-
3165
- var results = slice.call(arguments, 1);
3175
+ return new AnonymousObservable(function (observer) {
3176
+ return scheduler.schedule(function () {
3166
3177
 
3167
- if (selector) {
3168
- try {
3169
- results = selector(results);
3170
- } catch (e) {
3171
- subject.onError(e);
3178
+ function handler(err) {
3179
+ if (err) {
3180
+ observer.onError(err);
3172
3181
  return;
3173
3182
  }
3174
- } else {
3175
- if (results.length === 1) {
3176
- results = results[0];
3183
+
3184
+ var results = slice.call(arguments, 1);
3185
+
3186
+ if (selector) {
3187
+ try {
3188
+ results = selector(results);
3189
+ } catch (e) {
3190
+ observer.onError(e);
3191
+ return;
3192
+ }
3193
+ } else {
3194
+ if (results.length === 1) {
3195
+ results = results[0];
3196
+ }
3177
3197
  }
3178
- }
3179
3198
 
3180
- subject.onNext(results);
3181
- subject.onCompleted();
3182
- }
3199
+ observer.onNext(results);
3200
+ observer.onCompleted();
3201
+ }
3183
3202
 
3184
- args.push(handler);
3185
- func.apply(context, args);
3203
+ args.push(handler);
3204
+ func.apply(context, args);
3205
+ });
3186
3206
  });
3187
-
3188
- return subject.asObservable();
3189
3207
  };
3190
3208
  };
3191
3209
 
@@ -3288,18 +3306,40 @@
3288
3306
  * @returns {Observable} An Observable sequence which wraps the existing promise success and failure.
3289
3307
  */
3290
3308
  Observable.fromPromise = function (promise) {
3291
- var subject = new AsyncSubject();
3292
-
3293
- promise.then(
3294
- function (value) {
3295
- subject.onNext(value);
3296
- subject.onCompleted();
3297
- },
3298
- function (reason) {
3299
- subject.onError(reason);
3309
+ return new AnonymousObservable(function (observer) {
3310
+ promise.then(
3311
+ function (value) {
3312
+ observer.onNext(value);
3313
+ observer.onCompleted();
3314
+ },
3315
+ function (reason) {
3316
+ observer.onError(reason);
3317
+ });
3318
+ });
3319
+ };
3320
+ /*
3321
+ * Converts an existing observable sequence to an ES6 Compatible Promise
3322
+ * @example
3323
+ * var promise = Rx.Observable.return(42).toPromise(RSVP.Promise);
3324
+ * @param {Function} The constructor of the promise
3325
+ * @returns {Promise} An ES6 compatible promise with the last value from the observable sequence.
3326
+ */
3327
+ observableProto.toPromise = function (promiseCtor) {
3328
+ var source = this;
3329
+ return new promiseCtor(function (resolve, reject) {
3330
+ // No cancellation can be done
3331
+ var value, hasValue = false;
3332
+ source.subscribe(function (v) {
3333
+ value = v;
3334
+ hasValue = true;
3335
+ }, function (err) {
3336
+ reject(err);
3337
+ }, function () {
3338
+ if (hasValue) {
3339
+ resolve(value);
3340
+ }
3300
3341
  });
3301
-
3302
- return subject.asObservable();
3342
+ });
3303
3343
  };
3304
3344
  /**
3305
3345
  * Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each
@@ -3458,7 +3498,7 @@
3458
3498
  };
3459
3499
 
3460
3500
  /** @private */
3461
- var ConnectableObservable = (function (_super) {
3501
+ var ConnectableObservable = Rx.ConnectableObservable = (function (_super) {
3462
3502
  inherits(ConnectableObservable, _super);
3463
3503
 
3464
3504
  /**
@@ -4560,13 +4600,16 @@
4560
4600
 
4561
4601
  function subscribe(observer) {
4562
4602
  checkDisposed.call(this);
4603
+
4563
4604
  if (!this.isStopped) {
4564
4605
  this.observers.push(observer);
4565
4606
  return new InnerSubscription(this, observer);
4566
4607
  }
4567
- var ex = this.exception;
4568
- var hv = this.hasValue;
4569
- var v = this.value;
4608
+
4609
+ var ex = this.exception,
4610
+ hv = this.hasValue,
4611
+ v = this.value;
4612
+
4570
4613
  if (ex) {
4571
4614
  observer.onError(ex);
4572
4615
  } else if (hv) {
@@ -4575,6 +4618,7 @@
4575
4618
  } else {
4576
4619
  observer.onCompleted();
4577
4620
  }
4621
+
4578
4622
  return disposableEmpty;
4579
4623
  }
4580
4624
 
@@ -4587,11 +4631,11 @@
4587
4631
  function AsyncSubject() {
4588
4632
  _super.call(this, subscribe);
4589
4633
 
4590
- this.isDisposed = false,
4591
- this.isStopped = false,
4592
- this.value = null,
4593
- this.hasValue = false,
4594
- this.observers = [],
4634
+ this.isDisposed = false;
4635
+ this.isStopped = false;
4636
+ this.value = null;
4637
+ this.hasValue = false;
4638
+ this.observers = [];
4595
4639
  this.exception = null;
4596
4640
  }
4597
4641
 
@@ -4601,6 +4645,7 @@
4601
4645
  * @returns {Boolean} Indicates whether the subject has observers subscribed to it.
4602
4646
  */
4603
4647
  hasObservers: function () {
4648
+ checkDisposed.call(this);
4604
4649
  return this.observers.length > 0;
4605
4650
  },
4606
4651
  /**
@@ -4610,10 +4655,10 @@
4610
4655
  var o, i, len;
4611
4656
  checkDisposed.call(this);
4612
4657
  if (!this.isStopped) {
4613
- var os = this.observers.slice(0);
4614
4658
  this.isStopped = true;
4615
- var v = this.value;
4616
- var hv = this.hasValue;
4659
+ var os = this.observers.slice(0),
4660
+ v = this.value,
4661
+ hv = this.hasValue;
4617
4662
 
4618
4663
  if (hv) {
4619
4664
  for (i = 0, len = os.length; i < len; i++) {
@@ -1,2 +1,2 @@
1
- (function(a){function b(){}function c(a){return a}function d(a,b){return U(a,b)}function e(a,b){return a-b}function f(a){throw a}function g(){if(this.isDisposed)throw new Error(G)}function h(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function i(a){return a&&"object"==typeof a?Q.call(a)==H:!1}function j(a){return"function"==typeof a}function k(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&&v[f]||b&&v[g]))return!1;if(null==a||null==b)return a===b;var l=Q.call(a),m=Q.call(b);if(l==H&&(l=N),m==H&&(m=N),l!=m)return!1;switch(l){case J:case K:return+a==+b;case M:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case O:case P:return a==String(b)}var n=l==I;if(!n){if(l!=N||!B&&(h(a)||h(b)))return!1;var o=!S&&i(a)?Object:a.constructor,p=!S&&i(b)?Object:b.constructor;if(o!=p&&!(j(o)&&o instanceof o&&j(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 s=b[r];if(!(e=k(a[r],s,c,d)))break}return e}for(var t in b)if(R.call(b,t))return r++,e=R.call(a,t)&&k(a[t],b[t],c,d);if(e)for(var t in a)if(R.call(a,t))return e=--r>-1;return c.pop(),d.pop(),e}function l(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:V.call(a)}function m(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function n(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 o(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 p(a){return this.select(a).mergeObservable()}function q(a,b,c){return a.addListener?(a.addListener(b,c),cb(function(){a.removeListener(b,c)})):a.addEventListener?(a.addEventListener(b,c,!1),cb(function(){a.removeEventListener(b,c,!1)})):void 0}function r(a,b,c){var d=new _;if(a&&a.length)for(var e=0,f=a.length;f>e;e++)d.add(r(a[e],b,c));else a&&d.add(q(a,b,c));return d}function s(a,b){var c=kb(a);return new Vb(function(a){return b.scheduleWithRelative(c,function(){a.onNext(0),a.onCompleted()})})}function t(a,b,c){return a===b?new Vb(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Ib(function(){return observableTimerDateAndPeriod(c.now()+a,b,c)})}function u(a,b){return new Vb(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new _(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))})}var v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},w=v[typeof window]&&window||this,x=v[typeof exports]&&exports&&!exports.nodeType&&exports,y=v[typeof module]&&module&&!module.nodeType&&module,z=y&&y.exports===x&&x,A=v[typeof global]&&global;!A||A.global!==A&&A.window!==A||(w=A);var B,C={Internals:{}},D=Date.now,E="Sequence contains no elements.",F="Argument out of range",G="Object has been disposed",v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},H="[object Arguments]",I="[object Array]",J="[object Boolean]",K="[object Date]",L="[object Function]",M="[object Number]",N="[object Object]",O="[object RegExp]",P="[object String]",Q=Object.prototype.toString,R=Object.prototype.hasOwnProperty,S=Q.call(arguments)==H;try{B=!(Q.call(document)==N&&!({toString:0}+""))}catch(T){B=!0}S||(i=function(a){return a&&"object"==typeof a?R.call(a,"callee"):!1}),j(/x/)&&(j=function(a){return"function"==typeof a&&Q.call(a)==L});var U=C.Internals.isEqual=function(a,b){return k(a,b,[],[])},V=Array.prototype.slice,W=({}.hasOwnProperty,this.inherits=C.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),X=C.Internals.addProperties=function(a){for(var b=V.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},Y=(C.Internals.addRef=function(a,b){return new Vb(function(c){return new _(b.getDisposable(),a.subscribe(c))})},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=C.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 _=C.CompositeDisposable=function(){this.disposables=l(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=C.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=C.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return W(b,a),b}(eb),gb=C.SerialDisposable=function(a){function b(){a.call(this,!1)}return W(b,a),b}(eb),hb=(C.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}(),C.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});hb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},hb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},hb.prototype.isCancelled=function(){return this.disposable.isDisposed},hb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var ib,jb=C.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.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=D,a.normalize=function(a){return 0>a&&(a=0),a},a}(),kb=jb.normalize,lb=jb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=kb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),mb=jb.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()+kb(c),h=new hb(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-jb.now()>0;);a.isCancelled()||a.invoke()}};var f=new jb(D,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),nb=(C.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}(),RegExp("^"+String(Q).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$")),ob="function"==typeof(ob=A&&z&&A.setImmediate)&&!nb.test(ob)&&ob,pb="function"==typeof(pb=A&&z&&A.clearImmediate)&&!nb.test(pb)&&pb,qb=b;!function(){function a(){if(!w.postMessage||w.importScripts)return!1;var a=!1,b=w.onmessage;return w.onmessage=function(){a=!0},w.postMessage("","*"),w.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 ob)ib=ob,qb=pb;else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))ib=process.nextTick;else if(a()){var c="ms.rx.schedule"+Math.random(),d={},e=0;w.addEventListener?w.addEventListener("message",b,!1):w.attachEvent("onmessage",b,!1),ib=function(a){var b=e++;d[b]=a,w.postMessage(c+b,"*")}}else if(w.MessageChannel){var f=new w.MessageChannel,g={},h=0;f.port1.onmessage=function(a){var b=a.data,c=g[b];c(),delete g[b]},ib=function(a){var b=h++;g[b]=a,f.port2.postMessage(b)}}else"document"in w&&"onreadystatechange"in w.document.createElement("script")?ib=function(a){var b=w.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},w.document.documentElement.appendChild(b)}:(ib=function(a){return setTimeout(a,0)},qb=clearTimeout)}();var rb=jb.timeout=function(){function a(a,b){var c=this,d=new fb,e=ib(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){qb(e)}))}function b(a,b,c){var d=this,e=jb.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 jb(D,a,b,c)}(),sb=C.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=lb),new Vb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),tb=sb.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 sb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),ub=sb.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 sb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),vb=sb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new sb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),wb=C.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},xb=wb.create=function(a,b){var c=!1;return new wb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},yb=C.Internals.Enumerable=function(a){this.getEnumerator=a};yb.prototype.concat=function(){var a=this;return new Vb(function(b){var c,d=a.getEnumerator(),e=new gb,f=lb.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}))})},yb.prototype.catchException=function(){var a=this;return new Vb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=lb.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 zb=yb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new yb(function(){var c,d=b;return xb(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},Ab=yb.forEach=function(a,b,d){return b||(b=c),new yb(function(){var c,e=-1;return xb(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},Bb=C.Observer=function(){};Bb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},Bb.prototype.asObserver=function(){return new Fb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))};var Cb=Bb.create=function(a,c,d){return a||(a=b),c||(c=f),d||(d=b),new Fb(a,c,d)};Bb.fromNotifier=function(a){return new Fb(function(b){return a(tb(b))},function(b){return a(ub(b))},function(){return a(vb())})};var Db,Eb=C.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return W(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}(Bb),Fb=C.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return W(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}(Eb),Gb=C.Observable=function(){function a(a){this._subscribe=a}return Db=a.prototype,Db.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(E))})})},Db.subscribe=Db.forEach=function(a,b,c){var d;return d="object"==typeof a?a:Cb(a,b,c),this._subscribe(d)},Db.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}(),Hb=C.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 W(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}(Eb);Gb.create=Gb.createWithDisposable=function(a){return new Vb(a)};var Ib=Gb.defer=function(a){return new Vb(function(b){var c;try{c=a()}catch(d){return Nb(d).subscribe(b)}return c.subscribe(b)})},Jb=Gb.empty=function(a){return a||(a=lb),new Vb(function(b){return a.schedule(function(){b.onCompleted()})})},Kb=Gb.fromArray=function(a,b){return b||(b=mb),new Vb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Gb.generate=function(a,b,c,d,e){return e||(e=mb),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 Lb=Gb.never=function(){return new Vb(function(){return db})};Gb.range=function(a,b,c){return c||(c=mb),new Vb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Gb.repeat=function(a,b,c){return c||(c=mb),null==b&&(b=-1),Mb(a,c).repeat(b)};var Mb=Gb["return"]=Gb.returnValue=function(a,b){return b||(b=lb),new Vb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Nb=Gb["throw"]=Gb.throwException=function(a,b){return b||(b=lb),new Vb(function(c){return b.schedule(function(){c.onError(a)})})};Db["catch"]=Db.catchException=function(a){return"function"==typeof a?n(this,a):Ob([this,a])};var Ob=Gb.catchException=Gb["catch"]=function(){var a=l(arguments,0);return Ab(a).catchException()};Db.combineLatest=function(){var a=V.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Pb.apply(this,a)};var Pb=Gb.combineLatest=function(){var a=V.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=m(h,g),j=!1,k=m(h,g),l=new Array(h),n=new Array(h),o=0;h>o;o++)!function(b){n[b]=new fb,n[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(n)})};Db.concat=function(){var a=V.call(arguments,0);return a.unshift(this),Qb.apply(this,a)};var Qb=Gb.concat=function(){var a=l(arguments,0);return Ab(a).concat()};Db.concatObservable=Db.concatAll=function(){return this.merge(1)},Db.merge=function(a){if("number"!=typeof a)return Rb(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 Rb=Gb.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=V.call(arguments,1)):(a=lb,b=V.call(arguments,0)):(a=lb,b=V.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Kb(b,a).mergeObservable()};Db.mergeObservable=Db.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})},Db.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})},Db["switch"]=Db.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)})},Db.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))})},Db.zip=function(){if(Array.isArray(arguments[0]))return o.apply(this,arguments);var a=this,b=V.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=m(g,function(){return[]}),i=m(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)})},Gb.zip=function(){var a=V.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Gb.zipArray=function(){var a=V.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=m(f,function(){return[]}),h=m(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})},Db.asObservable=function(){var a=this;return new Vb(function(b){return a.subscribe(b)})},Db.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))})},Db.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))})},Db["do"]=Db.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()})})},Db["finally"]=Db.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()}})})},Db.ignoreElements=function(){var a=this;return new Vb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Db.materialize=function(){var a=this;return new Vb(function(b){return a.subscribe(function(a){b.onNext(tb(a))},function(a){b.onNext(ub(a)),b.onCompleted()},function(){b.onNext(vb()),b.onCompleted()})})},Db.repeat=function(a){return zb(this,a).concat()},Db.retry=function(a){return zb(this,a).catchException()},Db.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()})})},Db.skipLast=function(a){var b=this;return new Vb(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))})},Db.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=lb,a=V.call(arguments,c),Ab([Kb(a,b),this]).concat()},Db.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Kb(a,b)})},Db.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()})})},Db.select=Db.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))})},Db.selectMany=Db.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?p.call(this,a):p.call(this,function(){return a})},Db.selectSwitch=Db.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Db.skip=function(a){if(0>a)throw new Error(F);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))})},Db.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))})},Db.take=function(a,b){if(0>a)throw new Error(F);if(0===a)return Jb(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))})},Db.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))})},Db.where=Db.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))})},Gb.fromCallback=function(a,b,c,d){return b||(b=rb),function(){var e=V.call(arguments,0),f=new Zb;return b.schedule(function(){function b(a){var b=a;if(d)try{b=d(arguments)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)}),f.asObservable()}},Gb.fromNodeCallback=function(a,b,c,d){return b||(b=rb),function(){var e=V.call(arguments,0),f=new Zb;return b.schedule(function(){function b(a){if(a)return f.onError(a),void 0;var b=V.call(arguments,1);if(d)try{b=d(b)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)}),f.asObservable()}},Gb.fromEvent=function(a,b,c){return new Vb(function(d){return r(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)})}).publish().refCount()},Gb.fromEventPattern=function(a,b,c){return new Vb(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)}var f=a(e);return cb(function(){b&&b(e,f)})}).publish().refCount()},Gb.fromPromise=function(a){var b=new Zb;return a.then(function(a){b.onNext(a),b.onCompleted()},function(a){b.onError(a)}),b.asObservable()},Db.multicast=function(a,b){var c=this;return"function"==typeof a?new Vb(function(d){var e=c.multicast(a());return new _(b(e).subscribe(d),e.connect())}):new Sb(c,a)},Db.publish=function(a){return a?this.multicast(function(){return new Yb},a):this.multicast(new Yb)},Db.share=function(){return this.publish(null).refCount()},Db.publishLast=function(a){return a?this.multicast(function(){return new Zb},a):this.multicast(new Zb)},Db.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new _b(b)},a):this.multicast(new _b(a))},Db.shareValue=function(a){return this.publishValue(a).refCount()},Db.replay=function(a,b,c,d){return a?this.multicast(function(){return new ac(b,c,d)},a):this.multicast(new ac(b,c,d))},Db.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Sb=function(a){function b(b,c){function d(a){return e.subject.subscribe(a)}var e={subject:c,source:b.asObservable(),hasSubscription:!1,subscription:null};this.connect=function(){return e.hasSubscription||(e.hasSubscription=!0,e.subscription=new _(e.source.subscribe(e.subject),cb(function(){e.hasSubscription=!1}))),e.subscription},a.call(this,d)}return W(b,a),b.prototype.connect=function(){return this.connect()},b.prototype.refCount=function(){var a=null,b=0,c=this;return new Vb(function(d){var e,f;return b++,e=1===b,f=c.subscribe(d),e&&(a=c.connect()),cb(function(){f.dispose(),b--,0===b&&a.dispose()})})},b}(Gb),Tb=Gb.interval=function(a,b){return b||(b=rb),t(a,a,b)},Ub=Gb.timer=function(b,c,d){var e;
2
- return d||(d=rb),"number"==typeof c?e=c:"object"==typeof c&&"now"in c&&(d=c),e===a?s(b,d):t(b,e,d)};Db.delay=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){var e,f=!1,g=new gb,h=null,i=[],j=!1;return e=c.materialize().timestamp(b).subscribe(function(c){var e,k;"E"===c.value.kind?(i=[],i.push(c),h=c.value.exception,k=!j):(i.push({value:c.value,timestamp:c.timestamp+a}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new fb,g.setDisposable(e),e.setDisposable(b.scheduleRecursiveWithRelative(a,function(a){var c,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-b.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-b.now())):f=!1,c=h,j=!1,null!==c?d.onError(c):k&&a(e)}}))))}),new _(e,g)})},Db.throttle=function(a,b){b||(b=rb);return this.throttleWithSelector(function(){return Ub(a,b)})},Db.timeInterval=function(a){var b=this;return a||(a=rb),Ib(function(){var c=a.now();return b.select(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Db.timestamp=function(a){return a||(a=rb),this.select(function(b){return{value:b,timestamp:a.now()}})},Db.sample=function(a,b){return b||(b=rb),"number"==typeof a?u(this,Tb(a,b)):u(this,a)},Db.timeout=function(a,b,c){var d,e=this;return b||(b=Nb(new Error("Timeout"))),c||(c=rb),d=a instanceof Date?function(a,b){c.scheduleWithAbsolute(a,b)}:function(a,b){c.scheduleWithRelative(a,b)},new Vb(function(c){var f,g=0,h=new fb,i=new gb,j=!1,k=new gb;return i.setDisposable(h),f=function(){var e=g;k.setDisposable(d(a,function(){j=g===e;var a=j;a&&i.setDisposable(b.subscribe(c))}))},f(),h.setDisposable(e.subscribe(function(a){var b=!j;b&&(g++,c.onNext(a),f())},function(a){var b=!j;b&&(g++,c.onError(a))},function(){var a=!j;a&&(g++,c.onCompleted())})),new _(i,k)})},Gb.generateWithTime=function(a,b,c,d,e,f){return f||(f=rb),new Vb(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return g.onError(f),void 0}k?a(i):g.onCompleted()})})},Db.delaySubscription=function(a,b){return b||(b=rb),this.delayWithSelector(Ub(a,b),function(){return Jb()})},Db.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Vb(function(a){var b=new _,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new gb,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return a.onError(f),void 0}var h=new fb;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(function(){i()},a.onError.bind(a),function(){i()})):i(),new _(h,b)})},Db.timeoutWithSelector=function(a,b,c){if(1===arguments.length){b=a;var a=Lb()}c||(c=Nb(new Error("Timeout")));var d=this;return new Vb(function(e){var f=new gb,g=new gb,h=new fb;f.setDisposable(h);var i=0,j=!1,k=function(a){var b=i,d=function(){return i===b},h=new fb;g.setDisposable(h),h.setDisposable(a.subscribe(function(){d()&&f.setDisposable(c.subscribe(e)),h.dispose()},function(a){d()&&e.onError(a)},function(){d()&&f.setDisposable(c.subscribe(e))}))};k(a);var l=function(){var a=!j;return a&&i++,a};return h.setDisposable(d.subscribe(function(a){if(l()){e.onNext(a);var c;try{c=b(a)}catch(d){return e.onError(d),void 0}k(c)}},function(a){l()&&e.onError(a)},function(){l()&&e.onCompleted()})),new _(f,g)})},Db.throttleWithSelector=function(a){var b=this;return new Vb(function(c){var d,e=!1,f=new gb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return c.onError(i),void 0}e=!0,d=b,g++;var j=g,k=new fb;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new _(h,f)})},Db.skipLastWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})})},Db.takeLastWithTime=function(a,b,c){return this.takeLastBufferWithTime(a,b).selectMany(function(a){return Kb(a,c)})},Db.takeLastBufferWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})})},Db.takeWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(function(d){var e=b.scheduleWithRelative(a,function(){d.onCompleted()});return new _(e,c.subscribe(d))})},Db.skipWithTime=function(a,b){var c=this;return b||(b=rb),new Vb(function(d){var e=!1,f=b.scheduleWithRelative(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Db.skipUntilWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){var e=!1,f=b.scheduleWithAbsolute(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Db.takeUntilWithTime=function(a,b){b||(b=rb);var c=this;return new Vb(function(d){return new _(b.scheduleWithAbsolute(a,function(){d.onCompleted()}),c.subscribe(d))})};var Vb=C.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(mb.scheduleRequired())mb.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 W(c,a),c}(Gb),Wb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}W(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}(Eb),Xb=function(a,b){this.subject=a,this.observer=b};Xb.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 Yb=C.Subject=function(a){function b(a){return g.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Xb(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.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(g.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(g.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}(Gb),Zb=C.AsyncSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),new Xb(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 W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){var a,b,c;if(g.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(g.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){g.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}(Gb),$b=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 W(c,a),X(c.prototype,Bb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Gb),_b=C.BehaviorSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Xb(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),db}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return W(c,a),X(c.prototype,Bb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.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(g.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(g.call(this),!this.isStopped){this.value=a;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,this.value=null,this.exception=null}}),c}(Gb),ac=C.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new Hb(this.scheduler,a),d=new b(this,c);g.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var e=this.q.length,f=0,h=this.q.length;h>f;f++)c.onNext(this.q[f].value);return this.hasError?(e++,c.onError(this.error)):this.isStopped&&(e++,c.onCompleted()),c.ensureActive(e),d}function d(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||mb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},W(d,a),X(d.prototype,Bb,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){var b;if(g.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++)b=d[e],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(g.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++)b=d[e],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(g.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)a=c[d],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Gb);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(w.Rx=C,define(function(){return C})):x&&y?z?(y.exports=C).Rx=C:x.Rx=C:w.Rx=C}).call(this);
1
+ (function(a){function b(){}function c(a){return a}function d(a,b){return U(a,b)}function e(a,b){return a-b}function f(a){throw a}function g(){if(this.isDisposed)throw new Error(G)}function h(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function i(a){return a&&"object"==typeof a?Q.call(a)==H:!1}function j(a){return"function"==typeof a}function k(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&&v[f]||b&&v[g]))return!1;if(null==a||null==b)return a===b;var l=Q.call(a),m=Q.call(b);if(l==H&&(l=N),m==H&&(m=N),l!=m)return!1;switch(l){case J:case K:return+a==+b;case M:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case O:case P:return a==String(b)}var n=l==I;if(!n){if(l!=N||!B&&(h(a)||h(b)))return!1;var o=!S&&i(a)?Object:a.constructor,p=!S&&i(b)?Object:b.constructor;if(o!=p&&!(j(o)&&o instanceof o&&j(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 s=b[r];if(!(e=k(a[r],s,c,d)))break}return e}for(var t in b)if(R.call(b,t))return r++,e=R.call(a,t)&&k(a[t],b[t],c,d);if(e)for(var t in a)if(R.call(a,t))return e=--r>-1;return c.pop(),d.pop(),e}function l(a,b){return 1===a.length&&Array.isArray(a[b])?a[b]:V.call(a)}function m(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function n(a,b){return new Sb(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 o(a,b){var c=this;return new Sb(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(a).mergeObservable()}function q(a,b,c){return a.addListener?(a.addListener(b,c),cb(function(){a.removeListener(b,c)})):a.addEventListener?(a.addEventListener(b,c,!1),cb(function(){a.removeEventListener(b,c,!1)})):void 0}function r(a,b,c){var d=new _;if(a&&a.length)for(var e=0,f=a.length;f>e;e++)d.add(r(a[e],b,c));else a&&d.add(q(a,b,c));return d}function s(a,b){var c=kb(a);return new Sb(function(a){return b.scheduleWithRelative(c,function(){a.onNext(0),a.onCompleted()})})}function t(a,b,c){return a===b?new Sb(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Fb(function(){return observableTimerDateAndPeriod(c.now()+a,b,c)})}function u(a,b){return new Sb(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new _(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))})}var v={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},w=v[typeof window]&&window||this,x=v[typeof exports]&&exports&&!exports.nodeType&&exports,y=v[typeof module]&&module&&!module.nodeType&&module,z=y&&y.exports===x&&x,A=v[typeof global]&&global;!A||A.global!==A&&A.window!==A||(w=A);var B,C={Internals:{}},D=Date.now,E="Sequence contains no elements.",F="Argument out of range",G="Object has been disposed",H="[object Arguments]",I="[object Array]",J="[object Boolean]",K="[object Date]",L="[object Function]",M="[object Number]",N="[object Object]",O="[object RegExp]",P="[object String]",Q=Object.prototype.toString,R=Object.prototype.hasOwnProperty,S=Q.call(arguments)==H;try{B=!(Q.call(document)==N&&!({toString:0}+""))}catch(T){B=!0}S||(i=function(a){return a&&"object"==typeof a?R.call(a,"callee"):!1}),j(/x/)&&(j=function(a){return"function"==typeof a&&Q.call(a)==L});var U=C.Internals.isEqual=function(a,b){return k(a,b,[],[])},V=Array.prototype.slice,W=({}.hasOwnProperty,this.inherits=C.Internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}),X=C.Internals.addProperties=function(a){for(var b=V.call(arguments,1),c=0,d=b.length;d>c;c++){var e=b[c];for(var f in e)a[f]=e[f]}},Y=(C.Internals.addRef=function(a,b){return new Sb(function(c){return new _(b.getDisposable(),a.subscribe(c))})},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=C.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 _=C.CompositeDisposable=function(){this.disposables=l(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=C.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=C.SingleAssignmentDisposable=function(a){function b(){a.call(this,!0)}return W(b,a),b}(eb),gb=C.SerialDisposable=function(a){function b(){a.call(this,!1)}return W(b,a),b}(eb),hb=(C.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}(),C.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});hb.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},hb.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},hb.prototype.isCancelled=function(){return this.disposable.isDisposed},hb.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var ib,jb=C.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.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=D,a.normalize=function(a){return 0>a&&(a=0),a},a}(),kb=jb.normalize,lb=jb.immediate=function(){function a(a,b){return b(this,a)}function b(a,b,c){for(var d=kb(d);d-this.now()>0;);return c(this,a)}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new jb(D,a,b,c)}(),mb=jb.currentThread=function(){function a(a){for(var b;a.length>0;)if(b=a.dequeue(),!b.isCancelled()){for(;b.dueTime-jb.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()+jb.normalize(c),g=new hb(this,b,d,f);if(e)e.enqueue(g);else{e=new Z(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 jb(D,b,c,d);return f.scheduleRequired=function(){return null===e},f.ensureTrampoline=function(a){return null===e?this.schedule(a):a()},f}(),nb=(C.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}(),b);!function(){function a(){if(!w.postMessage||w.importScripts)return!1;var a=!1,b=w.onmessage;return w.onmessage=function(){a=!0},w.postMessage("","*"),w.onmessage=b,a}function b(a){for(var b=0,c=a.length;c>b;b++){var d=a[b].target.getAttribute("drainQueue");h[d](),delete h[d]}}function c(a){if("string"==typeof a.data&&a.data.substring(0,l.length)===l){var b=a.data.substring(l.length),c=m[b];c(),delete m[b]}}var d=RegExp("^"+String(Q).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),e="function"==typeof(e=A&&z&&A.setImmediate)&&!d.test(e)&&e,f="function"==typeof(f=A&&z&&A.clearImmediate)&&!d.test(f)&&f,g=w.MutationObserver||w.WebKitMutationObserver;if(g){var h={},i=0,j=new g(b),k=document.createElement("div");j.observe(k,{attributes:!0}),w.addEventListener("unload",function(){j.disconnect(),j=null}),ib=function(a){var b=i++;return h[b]=a,k.setAttribute("drainQueue",b),b},nb=function(a){delete h[a]}}else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))ib=process.nextTick;else if("function"==typeof e)ib=e,nb=f;else if(a()){var l="ms.rx.schedule"+Math.random(),m={},n=0;w.addEventListener?w.addEventListener("message",c,!1):w.attachEvent("onmessage",c,!1),ib=function(a){var b=n++;m[b]=a,w.postMessage(l+b,"*")}}else if(w.MessageChannel){var o=new w.MessageChannel,p={},q=0;o.port1.onmessage=function(a){var b=a.data,c=p[b];c(),delete p[b]},ib=function(a){var b=q++;p[b]=a,o.port2.postMessage(b)}}else"document"in w&&"onreadystatechange"in w.document.createElement("script")?ib=function(a){var b=w.document.createElement("script");b.onreadystatechange=function(){a(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},w.document.documentElement.appendChild(b)}:(ib=function(a){return setTimeout(a,0)},nb=clearTimeout)}();var ob=jb.timeout=function(){function a(a,b){var c=this,d=new fb,e=ib(function(){d.isDisposed||d.setDisposable(b(c,a))});return new _(d,cb(function(){nb(e)}))}function b(a,b,c){var d=this,e=jb.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 jb(D,a,b,c)}(),pb=C.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=lb),new Sb(function(c){return a.schedule(function(){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),qb=pb.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 pb("N",!0);return e.value=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),rb=pb.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 pb("E");return e.exception=d,e._accept=a,e._acceptObservable=b,e.toString=c,e}}(),sb=pb.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){var d=new pb("C");return d._accept=a,d._acceptObservable=b,d.toString=c,d}}(),tb=C.Internals.Enumerator=function(a,b){this.moveNext=a,this.getCurrent=b},ub=tb.create=function(a,b){var c=!1;return new tb(function(){if(c)return!1;var b=a();return b||(c=!0),b},function(){return b()})},vb=C.Internals.Enumerable=function(a){this.getEnumerator=a};vb.prototype.concat=function(){var a=this;return new Sb(function(b){var c,d=a.getEnumerator(),e=new gb,f=lb.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}))})},vb.prototype.catchException=function(){var a=this;return new Sb(function(b){var c,d,e=a.getEnumerator(),f=new gb,g=lb.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 wb=vb.repeat=function(a,b){return 1===arguments.length&&(b=-1),new vb(function(){var c,d=b;return ub(function(){return 0===d?!1:(d>0&&d--,c=a,!0)},function(){return c})})},xb=vb.forEach=function(a,b,d){return b||(b=c),new vb(function(){var c,e=-1;return ub(function(){return++e<a.length?(c=b.call(d,a[e],e,a),!0):!1},function(){return c})})},yb=C.Observer=function(){};yb.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},yb.prototype.asObserver=function(){return new Cb(this.onNext.bind(this),this.onError.bind(this),this.onCompleted.bind(this))};var zb=yb.create=function(a,c,d){return a||(a=b),c||(c=f),d||(d=b),new Cb(a,c,d)};yb.fromNotifier=function(a){return new Cb(function(b){return a(qb(b))},function(b){return a(rb(b))},function(){return a(sb())})};var Ab,Bb=C.Internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return W(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}(yb),Cb=C.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return W(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}(Bb),Db=C.Observable=function(){function a(a){this._subscribe=a}return Ab=a.prototype,Ab.finalValue=function(){var a=this;return new Sb(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(E))})})},Ab.subscribe=Ab.forEach=function(a,b,c){var d;return d="object"==typeof a?a:zb(a,b,c),this._subscribe(d)},Ab.toArray=function(){function a(a,b){var c=a.slice(0);return c.push(b),c}return this.scan([],a).startWith([]).finalValue()},a}(),Eb=C.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 W(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}(Bb);Db.create=Db.createWithDisposable=function(a){return new Sb(a)};var Fb=Db.defer=function(a){return new Sb(function(b){var c;try{c=a()}catch(d){return Kb(d).subscribe(b)}return c.subscribe(b)})},Gb=Db.empty=function(a){return a||(a=lb),new Sb(function(b){return a.schedule(function(){b.onCompleted()})})},Hb=Db.fromArray=function(a,b){return b||(b=mb),new Sb(function(c){var d=0;return b.scheduleRecursive(function(b){d<a.length?(c.onNext(a[d++]),b()):c.onCompleted()})})};Db.generate=function(a,b,c,d,e){return e||(e=mb),new Sb(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 Ib=Db.never=function(){return new Sb(function(){return db})};Db.range=function(a,b,c){return c||(c=mb),new Sb(function(d){return c.scheduleRecursiveWithState(0,function(c,e){b>c?(d.onNext(a+c),e(c+1)):d.onCompleted()})})},Db.repeat=function(a,b,c){return c||(c=mb),null==b&&(b=-1),Jb(a,c).repeat(b)};var Jb=Db["return"]=Db.returnValue=function(a,b){return b||(b=lb),new Sb(function(c){return b.schedule(function(){c.onNext(a),c.onCompleted()})})},Kb=Db["throw"]=Db.throwException=function(a,b){return b||(b=lb),new Sb(function(c){return b.schedule(function(){c.onError(a)})})};Ab["catch"]=Ab.catchException=function(a){return"function"==typeof a?n(this,a):Lb([this,a])};var Lb=Db.catchException=Db["catch"]=function(){var a=l(arguments,0);return xb(a).catchException()};Ab.combineLatest=function(){var a=V.call(arguments);return Array.isArray(a[0])?a[0].unshift(this):a.unshift(this),Mb.apply(this,a)};var Mb=Db.combineLatest=function(){var a=V.call(arguments),b=a.pop();return Array.isArray(a[0])&&(a=a[0]),new Sb(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=m(h,g),j=!1,k=m(h,g),l=new Array(h),n=new Array(h),o=0;h>o;o++)!function(b){n[b]=new fb,n[b].setDisposable(a[b].subscribe(function(a){l[b]=a,e(b)},d.onError.bind(d),function(){f(b)}))}(o);return new _(n)})};Ab.concat=function(){var a=V.call(arguments,0);return a.unshift(this),Nb.apply(this,a)};var Nb=Db.concat=function(){var a=l(arguments,0);return xb(a).concat()};Ab.concatObservable=Ab.concatAll=function(){return this.merge(1)},Ab.merge=function(a){if("number"!=typeof a)return Ob(this,a);var b=this;return new Sb(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 Ob=Db.merge=function(){var a,b;return arguments[0]?arguments[0].now?(a=arguments[0],b=V.call(arguments,1)):(a=lb,b=V.call(arguments,0)):(a=lb,b=V.call(arguments,1)),Array.isArray(b[0])&&(b=b[0]),Hb(b,a).mergeObservable()};Ab.mergeObservable=Ab.mergeAll=function(){var a=this;return new Sb(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})},Ab.skipUntil=function(a){var b=this;return new Sb(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})},Ab["switch"]=Ab.switchLatest=function(){var a=this;return new Sb(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)})},Ab.takeUntil=function(a){var c=this;return new Sb(function(d){return new _(c.subscribe(d),a.subscribe(d.onCompleted.bind(d),d.onError.bind(d),b))})},Ab.zip=function(){if(Array.isArray(arguments[0]))return o.apply(this,arguments);var a=this,b=V.call(arguments),d=b.pop();return b.unshift(a),new Sb(function(e){function f(a){i[a]=!0,i.every(function(a){return a})&&e.onCompleted()}for(var g=b.length,h=m(g,function(){return[]}),i=m(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)})},Db.zip=function(){var a=V.call(arguments,0),b=a.shift();return b.zip.apply(b,a)},Db.zipArray=function(){var a=l(arguments,0);return new Sb(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=m(f,function(){return[]}),h=m(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})},Ab.asObservable=function(){var a=this;return new Sb(function(b){return a.subscribe(b)})},Ab.dematerialize=function(){var a=this;return new Sb(function(b){return a.subscribe(function(a){return a.accept(b)},b.onError.bind(b),b.onCompleted.bind(b))})},Ab.distinctUntilChanged=function(a,b){var e=this;return a||(a=c),b||(b=d),new Sb(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))})},Ab["do"]=Ab.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 Sb(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()})})},Ab["finally"]=Ab.finallyAction=function(a){var b=this;return new Sb(function(c){var d=b.subscribe(c);return cb(function(){try{d.dispose()}catch(b){throw b}finally{a()}})})},Ab.ignoreElements=function(){var a=this;return new Sb(function(c){return a.subscribe(b,c.onError.bind(c),c.onCompleted.bind(c))})},Ab.materialize=function(){var a=this;return new Sb(function(b){return a.subscribe(function(a){b.onNext(qb(a))},function(a){b.onNext(rb(a)),b.onCompleted()},function(){b.onNext(sb()),b.onCompleted()})})},Ab.repeat=function(a){return wb(this,a).concat()},Ab.retry=function(a){return wb(this,a).catchException()},Ab.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 Sb(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()})})},Ab.skipLast=function(a){var b=this;return new Sb(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))})},Ab.startWith=function(){var a,b,c=0;return arguments.length&&"now"in Object(arguments[0])?(b=arguments[0],c=1):b=lb,a=V.call(arguments,c),xb([Hb(a,b),this]).concat()},Ab.takeLast=function(a,b){return this.takeLastBuffer(a).selectMany(function(a){return Hb(a,b)})},Ab.takeLastBuffer=function(a){var b=this;return new Sb(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()})})},Ab.select=Ab.map=function(a,b){var c=this;return new Sb(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))})},Ab.selectMany=Ab.flatMap=function(a,b){return b?this.selectMany(function(c){return a(c).select(function(a){return b(c,a)})}):"function"==typeof a?p.call(this,a):p.call(this,function(){return a})},Ab.selectSwitch=Ab.flatMapLatest=function(a,b){return this.select(a,b).switchLatest()},Ab.skip=function(a){if(0>a)throw new Error(F);var b=this;return new Sb(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},c.onError.bind(c),c.onCompleted.bind(c))})},Ab.skipWhile=function(a,b){var c=this;return new Sb(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))})},Ab.take=function(a,b){if(0>a)throw new Error(F);if(0===a)return Gb(b);var c=this;return new Sb(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))})},Ab.takeWhile=function(a,b){var c=this;return new Sb(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))})},Ab.where=Ab.filter=function(a,b){var c=this;return new Sb(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))})},Db.fromCallback=function(a,b,c,d){return b||(b=lb),function(){var e=V.call(arguments,0);return new Sb(function(f){return b.schedule(function(){function b(a){var b=a;if(d)try{b=d(arguments)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}},Db.fromNodeCallback=function(a,b,c,d){return b||(b=lb),function(){var e=V.call(arguments,0);return new Sb(function(f){return b.schedule(function(){function b(a){if(a)return f.onError(a),void 0;var b=V.call(arguments,1);if(d)try{b=d(b)}catch(c){return f.onError(c),void 0}else 1===b.length&&(b=b[0]);f.onNext(b),f.onCompleted()}e.push(b),a.apply(c,e)})})}},Db.fromEvent=function(a,b,c){return new Sb(function(d){return r(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)})}).publish().refCount()},Db.fromEventPattern=function(a,b,c){return new Sb(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e),void 0}d.onNext(b)}var f=a(e);return cb(function(){b&&b(e,f)})}).publish().refCount()},Db.fromPromise=function(a){return new Sb(function(b){a.then(function(a){b.onNext(a),b.onCompleted()},function(a){b.onError(a)})})},Ab.toPromise=function(a){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)})})},Ab.multicast=function(a,b){var c=this;return"function"==typeof a?new Sb(function(d){var e=c.multicast(a());return new _(b(e).subscribe(d),e.connect())}):new Pb(c,a)},Ab.publish=function(a){return a?this.multicast(function(){return new Vb},a):this.multicast(new Vb)},Ab.share=function(){return this.publish(null).refCount()},Ab.publishLast=function(a){return a?this.multicast(function(){return new Wb},a):this.multicast(new Wb)},Ab.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Yb(b)},a):this.multicast(new Yb(a))},Ab.shareValue=function(a){return this.publishValue(a).refCount()},Ab.replay=function(a,b,c,d){return a?this.multicast(function(){return new Zb(b,c,d)},a):this.multicast(new Zb(b,c,d))},Ab.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};var Pb=C.ConnectableObservable=function(a){function b(b,c){function d(a){return e.subject.subscribe(a)}var e={subject:c,source:b.asObservable(),hasSubscription:!1,subscription:null};this.connect=function(){return e.hasSubscription||(e.hasSubscription=!0,e.subscription=new _(e.source.subscribe(e.subject),cb(function(){e.hasSubscription=!1
2
+ }))),e.subscription},a.call(this,d)}return W(b,a),b.prototype.connect=function(){return this.connect()},b.prototype.refCount=function(){var a=null,b=0,c=this;return new Sb(function(d){var e,f;return b++,e=1===b,f=c.subscribe(d),e&&(a=c.connect()),cb(function(){f.dispose(),b--,0===b&&a.dispose()})})},b}(Db),Qb=Db.interval=function(a,b){return b||(b=ob),t(a,a,b)},Rb=Db.timer=function(b,c,d){var e;return d||(d=ob),"number"==typeof c?e=c:"object"==typeof c&&"now"in c&&(d=c),e===a?s(b,d):t(b,e,d)};Ab.delay=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){var e,f=!1,g=new gb,h=null,i=[],j=!1;return e=c.materialize().timestamp(b).subscribe(function(c){var e,k;"E"===c.value.kind?(i=[],i.push(c),h=c.value.exception,k=!j):(i.push({value:c.value,timestamp:c.timestamp+a}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new fb,g.setDisposable(e),e.setDisposable(b.scheduleRecursiveWithRelative(a,function(a){var c,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-b.now()<=0&&(g=i.shift().value),null!==g&&g.accept(d);while(null!==g);k=!1,e=0,i.length>0?(k=!0,e=Math.max(0,i[0].timestamp-b.now())):f=!1,c=h,j=!1,null!==c?d.onError(c):k&&a(e)}}))))}),new _(e,g)})},Ab.throttle=function(a,b){b||(b=ob);return this.throttleWithSelector(function(){return Rb(a,b)})},Ab.timeInterval=function(a){var b=this;return a||(a=ob),Fb(function(){var c=a.now();return b.select(function(b){var d=a.now(),e=d-c;return c=d,{value:b,interval:e}})})},Ab.timestamp=function(a){return a||(a=ob),this.select(function(b){return{value:b,timestamp:a.now()}})},Ab.sample=function(a,b){return b||(b=ob),"number"==typeof a?u(this,Qb(a,b)):u(this,a)},Ab.timeout=function(a,b,c){var d,e=this;return b||(b=Kb(new Error("Timeout"))),c||(c=ob),d=a instanceof Date?function(a,b){c.scheduleWithAbsolute(a,b)}:function(a,b){c.scheduleWithRelative(a,b)},new Sb(function(c){var f,g=0,h=new fb,i=new gb,j=!1,k=new gb;return i.setDisposable(h),f=function(){var e=g;k.setDisposable(d(a,function(){j=g===e;var a=j;a&&i.setDisposable(b.subscribe(c))}))},f(),h.setDisposable(e.subscribe(function(a){var b=!j;b&&(g++,c.onNext(a),f())},function(a){var b=!j;b&&(g++,c.onError(a))},function(){var a=!j;a&&(g++,c.onCompleted())})),new _(i,k)})},Db.generateWithTime=function(a,b,c,d,e,f){return f||(f=ob),new Sb(function(g){var h,i,j=!0,k=!1,l=a;return f.scheduleRecursiveWithRelative(0,function(a){k&&g.onNext(h);try{j?j=!1:l=c(l),k=b(l),k&&(h=d(l),i=e(l))}catch(f){return g.onError(f),void 0}k?a(i):g.onCompleted()})})},Ab.delaySubscription=function(a,b){return b||(b=ob),this.delayWithSelector(Rb(a,b),function(){return Gb()})},Ab.delayWithSelector=function(a,b){var c,d,e=this;return"function"==typeof a?d=a:(c=a,d=b),new Sb(function(a){var b=new _,f=!1,g=function(){f&&0===b.length&&a.onCompleted()},h=new gb,i=function(){h.setDisposable(e.subscribe(function(c){var e;try{e=d(c)}catch(f){return a.onError(f),void 0}var h=new fb;b.add(h),h.setDisposable(e.subscribe(function(){a.onNext(c),b.remove(h),g()},a.onError.bind(a),function(){a.onNext(c),b.remove(h),g()}))},a.onError.bind(a),function(){f=!0,h.dispose(),g()}))};return c?h.setDisposable(c.subscribe(function(){i()},a.onError.bind(a),function(){i()})):i(),new _(h,b)})},Ab.timeoutWithSelector=function(a,b,c){if(1===arguments.length){b=a;var a=Ib()}c||(c=Kb(new Error("Timeout")));var d=this;return new Sb(function(e){var f=new gb,g=new gb,h=new fb;f.setDisposable(h);var i=0,j=!1,k=function(a){var b=i,d=function(){return i===b},h=new fb;g.setDisposable(h),h.setDisposable(a.subscribe(function(){d()&&f.setDisposable(c.subscribe(e)),h.dispose()},function(a){d()&&e.onError(a)},function(){d()&&f.setDisposable(c.subscribe(e))}))};k(a);var l=function(){var a=!j;return a&&i++,a};return h.setDisposable(d.subscribe(function(a){if(l()){e.onNext(a);var c;try{c=b(a)}catch(d){return e.onError(d),void 0}k(c)}},function(a){l()&&e.onError(a)},function(){l()&&e.onCompleted()})),new _(f,g)})},Ab.throttleWithSelector=function(a){var b=this;return new Sb(function(c){var d,e=!1,f=new gb,g=0,h=b.subscribe(function(b){var h;try{h=a(b)}catch(i){return c.onError(i),void 0}e=!0,d=b,g++;var j=g,k=new fb;f.setDisposable(k),k.setDisposable(h.subscribe(function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()},c.onError.bind(c),function(){e&&g===j&&c.onNext(d),e=!1,k.dispose()}))},function(a){f.dispose(),c.onError(a),e=!1,g++},function(){f.dispose(),e&&c.onNext(d),c.onCompleted(),e=!1,g++});return new _(h,f)})},Ab.skipLastWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){var e=[];return c.subscribe(function(c){var f=b.now();for(e.push({interval:f,value:c});e.length>0&&f-e[0].interval>=a;)d.onNext(e.shift().value)},d.onError.bind(d),function(){for(var c=b.now();e.length>0&&c-e[0].interval>=a;)d.onNext(e.shift().value);d.onCompleted()})})},Ab.takeLastWithTime=function(a,b,c){return this.takeLastBufferWithTime(a,b).selectMany(function(a){return Hb(a,c)})},Ab.takeLastBufferWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(function(d){var e=[];return c.subscribe(function(c){var d=b.now();for(e.push({interval:d,value:c});e.length>0&&d-e[0].interval>=a;)e.shift()},d.onError.bind(d),function(){for(var c=b.now(),f=[];e.length>0;){var g=e.shift();c-g.interval<=a&&f.push(g.value)}d.onNext(f),d.onCompleted()})})},Ab.takeWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(function(d){var e=b.scheduleWithRelative(a,function(){d.onCompleted()});return new _(e,c.subscribe(d))})},Ab.skipWithTime=function(a,b){var c=this;return b||(b=ob),new Sb(function(d){var e=!1,f=b.scheduleWithRelative(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Ab.skipUntilWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){var e=!1,f=b.scheduleWithAbsolute(a,function(){e=!0}),g=c.subscribe(function(a){e&&d.onNext(a)},d.onError.bind(d),d.onCompleted.bind(d));return new _(f,g)})},Ab.takeUntilWithTime=function(a,b){b||(b=ob);var c=this;return new Sb(function(d){return new _(b.scheduleWithAbsolute(a,function(){d.onCompleted()}),c.subscribe(d))})};var Sb=C.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 Tb(a);if(mb.scheduleRequired())mb.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 W(c,a),c}(Db),Tb=function(a){function b(b){a.call(this),this.observer=b,this.m=new fb}W(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}(Bb),Ub=function(a,b){this.subject=a,this.observer=b};Ub.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 Vb=C.Subject=function(a){function b(a){return g.call(this),this.isStopped?this.exception?(a.onError(this.exception),db):(a.onCompleted(),db):(this.observers.push(a),new Ub(this,a))}function c(){a.call(this,b),this.isDisposed=!1,this.isStopped=!1,this.observers=[]}return W(c,a),X(c.prototype,yb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.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(g.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(g.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 Xb(a,b)},c}(Db),Wb=C.AsyncSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),new Ub(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 W(c,a),X(c.prototype,yb,{hasObservers:function(){return g.call(this),this.observers.length>0},onCompleted:function(){var a,b,c;if(g.call(this),!this.isStopped){this.isStopped=!0;var d=this.observers.slice(0),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(g.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){g.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}(Db),Xb=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 W(c,a),X(c.prototype,yb,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Db),Yb=C.BehaviorSubject=function(a){function b(a){if(g.call(this),!this.isStopped)return this.observers.push(a),a.onNext(this.value),new Ub(this,a);var b=this.exception;return b?a.onError(b):a.onCompleted(),db}function c(c){a.call(this,b),this.value=c,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.exception=null}return W(c,a),X(c.prototype,yb,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(g.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(g.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(g.call(this),!this.isStopped){this.value=a;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,this.value=null,this.exception=null}}),c}(Db),Zb=C.ReplaySubject=function(a){function b(a,b){this.subject=a,this.observer=b}function c(a){var c=new Eb(this.scheduler,a),d=new b(this,c);g.call(this),this._trim(this.scheduler.now()),this.observers.push(c);for(var e=this.q.length,f=0,h=this.q.length;h>f;f++)c.onNext(this.q[f].value);return this.hasError?(e++,c.onError(this.error)):this.isStopped&&(e++,c.onCompleted()),c.ensureActive(e),d}function d(b,d,e){this.bufferSize=null==b?Number.MAX_VALUE:b,this.windowSize=null==d?Number.MAX_VALUE:d,this.scheduler=e||mb,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,c)}return b.prototype.dispose=function(){if(this.observer.dispose(),!this.subject.isDisposed){var a=this.subject.observers.indexOf(this.observer);this.subject.observers.splice(a,1)}},W(d,a),X(d.prototype,yb,{hasObservers:function(){return this.observers.length>0},_trim:function(a){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&a-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(a){var b;if(g.call(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++)b=d[e],b.onNext(a),b.ensureActive()}},onError:function(a){var b;if(g.call(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=this.observers.slice(0),e=0,f=d.length;f>e;e++)b=d[e],b.onError(a),b.ensureActive();this.observers=[]}},onCompleted:function(){var a;if(g.call(this),!this.isStopped){this.isStopped=!0;var b=this.scheduler.now();this._trim(b);for(var c=this.observers.slice(0),d=0,e=c.length;e>d;d++)a=c[d],a.onCompleted(),a.ensureActive();this.observers=[]}},dispose:function(){this.isDisposed=!0,this.observers=null}}),d}(Db);"function"==typeof define&&"object"==typeof define.amd&&define.amd?(w.Rx=C,define(function(){return C})):x&&y?z?(y.exports=C).Rx=C:x.Rx=C:w.Rx=C}).call(this);