rxjs-rails 2.5.2 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rxjs/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/rx.aggregates.js +367 -284
  4. data/vendor/assets/javascripts/rx.aggregates.map +1 -1
  5. data/vendor/assets/javascripts/rx.aggregates.min.js +1 -1
  6. data/vendor/assets/javascripts/rx.all.compat.js +2405 -2438
  7. data/vendor/assets/javascripts/rx.all.compat.map +1 -1
  8. data/vendor/assets/javascripts/rx.all.compat.min.js +4 -4
  9. data/vendor/assets/javascripts/rx.all.js +2380 -2395
  10. data/vendor/assets/javascripts/rx.all.map +1 -1
  11. data/vendor/assets/javascripts/rx.all.min.js +4 -4
  12. data/vendor/assets/javascripts/rx.async.compat.js +311 -333
  13. data/vendor/assets/javascripts/rx.async.compat.map +1 -1
  14. data/vendor/assets/javascripts/rx.async.compat.min.js +1 -1
  15. data/vendor/assets/javascripts/rx.async.js +280 -327
  16. data/vendor/assets/javascripts/rx.async.map +1 -1
  17. data/vendor/assets/javascripts/rx.async.min.js +1 -1
  18. data/vendor/assets/javascripts/rx.backpressure.js +208 -176
  19. data/vendor/assets/javascripts/rx.backpressure.map +1 -1
  20. data/vendor/assets/javascripts/rx.backpressure.min.js +1 -1
  21. data/vendor/assets/javascripts/rx.binding.js +44 -27
  22. data/vendor/assets/javascripts/rx.binding.map +1 -1
  23. data/vendor/assets/javascripts/rx.binding.min.js +1 -1
  24. data/vendor/assets/javascripts/rx.coincidence.js +220 -453
  25. data/vendor/assets/javascripts/rx.coincidence.map +1 -1
  26. data/vendor/assets/javascripts/rx.coincidence.min.js +1 -1
  27. data/vendor/assets/javascripts/rx.compat.js +1366 -1173
  28. data/vendor/assets/javascripts/rx.compat.map +1 -1
  29. data/vendor/assets/javascripts/rx.compat.min.js +3 -2
  30. data/vendor/assets/javascripts/rx.core.binding.js +823 -0
  31. data/vendor/assets/javascripts/rx.core.binding.map +1 -0
  32. data/vendor/assets/javascripts/rx.core.binding.min.js +3 -0
  33. data/vendor/assets/javascripts/rx.core.js +1281 -0
  34. data/vendor/assets/javascripts/rx.core.map +1 -0
  35. data/vendor/assets/javascripts/rx.core.min.js +3 -0
  36. data/vendor/assets/javascripts/rx.core.testing.js +1242 -0
  37. data/vendor/assets/javascripts/rx.core.testing.map +1 -0
  38. data/vendor/assets/javascripts/rx.core.testing.min.js +3 -0
  39. data/vendor/assets/javascripts/rx.experimental.js +85 -123
  40. data/vendor/assets/javascripts/rx.experimental.map +1 -1
  41. data/vendor/assets/javascripts/rx.experimental.min.js +1 -1
  42. data/vendor/assets/javascripts/rx.joinpatterns.js +48 -37
  43. data/vendor/assets/javascripts/rx.joinpatterns.map +1 -1
  44. data/vendor/assets/javascripts/rx.joinpatterns.min.js +1 -1
  45. data/vendor/assets/javascripts/rx.js +1367 -1174
  46. data/vendor/assets/javascripts/rx.lite.compat.js +1621 -1403
  47. data/vendor/assets/javascripts/rx.lite.compat.map +1 -1
  48. data/vendor/assets/javascripts/rx.lite.compat.min.js +3 -3
  49. data/vendor/assets/javascripts/rx.lite.extras.compat.js +119 -89
  50. data/vendor/assets/javascripts/rx.lite.extras.compat.map +1 -1
  51. data/vendor/assets/javascripts/rx.lite.extras.compat.min.js +1 -1
  52. data/vendor/assets/javascripts/rx.lite.extras.js +119 -89
  53. data/vendor/assets/javascripts/rx.lite.extras.map +1 -1
  54. data/vendor/assets/javascripts/rx.lite.extras.min.js +1 -1
  55. data/vendor/assets/javascripts/rx.lite.js +1583 -1390
  56. data/vendor/assets/javascripts/rx.lite.map +1 -1
  57. data/vendor/assets/javascripts/rx.lite.min.js +3 -3
  58. data/vendor/assets/javascripts/rx.map +1 -1
  59. data/vendor/assets/javascripts/rx.min.js +3 -2
  60. data/vendor/assets/javascripts/rx.sorting.js +23 -27
  61. data/vendor/assets/javascripts/rx.sorting.map +1 -1
  62. data/vendor/assets/javascripts/rx.sorting.min.js +1 -1
  63. data/vendor/assets/javascripts/rx.testing.js +11 -15
  64. data/vendor/assets/javascripts/rx.testing.map +1 -1
  65. data/vendor/assets/javascripts/rx.testing.min.js +1 -1
  66. data/vendor/assets/javascripts/rx.time.js +117 -133
  67. data/vendor/assets/javascripts/rx.time.map +1 -1
  68. data/vendor/assets/javascripts/rx.time.min.js +1 -1
  69. data/vendor/assets/javascripts/rx.virtualtime.js +120 -39
  70. data/vendor/assets/javascripts/rx.virtualtime.map +1 -1
  71. data/vendor/assets/javascripts/rx.virtualtime.min.js +1 -1
  72. metadata +12 -3
@@ -1 +1 @@
1
- {"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","e","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","isFunction","size","pop","tryCatcher","tryCatchTarget","apply","this","arguments","errorObj","tryCatch","fn","TypeError","thrower","arrayInitialize","count","factory","IndexedItem","id","ToArrayObserver","observer","isStopped","StringIterable","_s","s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","x","onNext","ex","onError","isPromise","observableFromPromise","d","onCompleted","zipArray","second","resultSelector","first","left","right","falseFactory","emptyArrayFactory","concatMap","selector","thisArg","selectorFunc","bindCallback","map","isArrayLike","isIterable","observableFrom","concatAll","MapObserver","flatMap","mergeAll","FilterObserver","predicate","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","createListener","element","name","addEventListener","disposableCreate","removeEventListener","attachEvent","innerHandler","detachEvent","createEventListener","el","eventName","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","p","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","hasValue","atEnd","newValue","bind","combineLatestSource","subject","next","values","res","hasValueAll","every","identity","err","isDone","objectTypes","boolean","function","string","window","freeExports","exports","nodeType","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","notDefined","defaultNow","pluck","property","just","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","then","asArray","not","isFn","longStackSupport","EmptyError","message","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","supportNodeClass","func","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","that","args","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","filter","results","t","isArray","searchElement","n","Infinity","keys","hasDontEnumBug","compareTo","other","PriorityQueue","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","dequeue","enqueue","remove","isDisposable","isDisposed","CompositeDisposablePrototype","dispose","shouldDispose","splice","currentDisposables","Disposable","action","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","recursiveAction","state1","state2","isAdded","scheduler1","state3","group","invokeRecDate","method","dueTime1","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","_action","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","_","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Enumerator","_next","Enumerable","_iterator","currentItem","currentValue","catchError","lastException","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","observableProto","enumerableRepeat","repeat","repeatCount","enumerableOf","of","selectorFn","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","_subscribe","oldOnError","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","createWithDisposable","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","from","mapFn","observableFromArray","fromArray","NeverObservable","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","ThrowSink","throwError","throwException","catchException","handlerOrSecond","observableCatch","combineLatest","j","subscriptions","sad","observableConcat","concatObservable","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","InnerObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","MergeAllObservable","m","MergeAllObserver","mergeObservable","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","rightSubscription","switchLatest","hasLatest","latest","takeUntil","withLatestFrom","allValues","zip","queuedValues","queues","asObservable","dematerialize","distinctUntilChanged","keySelector","currentKey","hasCurrentKey","comparerEquals","tap","doAction","tapObserver","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","ensure","finallyAction","ignoreElements","retry","retryCount","retryWhen","scan","seed","accumulator","hasSeed","hasAccumulation","accumulation","skipLast","startWith","takeLast","selectConcat","selectorResult","i2","MapObservable","internalMap","select","currentProp","selectMany","selectSwitch","flatMapLatest","switchMap","skip","remaining","skipWhile","take","takeWhile","FilterObservable","internalFilter","shouldYield","where","fromCallback","context","publishLast","refCount","fromNodeCallback","useNativeEvents","fromEvent","addListener","fromEventPattern","h","removeListener","on","off","publish","addHandler","removeHandler","fromPromise","promise","AsyncSubject","toPromise","promiseCtor","resolve","reject","v","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","throttleWithTimeout","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","hasRequested","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":";CAEE,SAAUA,GA2DR,QAASC,GAAWC,GAElB,IAAI,GADAC,GAAMD,EAAIE,OAAQC,EAAI,GAAIC,OAAMH,GAC5BI,EAAI,EAAOJ,EAAJI,EAASA,IAAOF,EAAEE,GAAKL,EAAIK,EAC1C,OAAOF,GAgBX,QAASG,GAAmBC,EAAOC,GAG/B,GAAIC,IACAD,EAAWE,OACM,gBAAVH,IACG,OAAVA,GACAA,EAAMG,OACwC,KAA9CH,EAAMG,MAAMC,QAAQC,IACtB,CAEA,IAAK,GADDC,MACKC,EAAIN,EAAcM,EAAGA,EAAIA,EAAEC,OAC9BD,EAAEJ,OACJG,EAAOG,QAAQF,EAAEJ,MAGrBG,GAAOG,QAAQT,EAAMG,MAErB,IAAIO,GAAiBJ,EAAOK,KAAK,KAAON,GAAuB,KAC/DL,GAAMG,MAAQS,EAAkBF,IAItC,QAASE,GAAkBC,GAGzB,IAAK,GAFDC,GAAQD,EAAYE,MAAM,MAC1BC,KACKlB,EAAI,EAAGJ,EAAMoB,EAAMnB,OAAYD,EAAJI,EAASA,IAAK,CAChD,GAAImB,GAAOH,EAAMhB,EAEZoB,GAAgBD,IAAUE,EAAYF,KAASA,GAClDD,EAAaI,KAAKH,GAGtB,MAAOD,GAAaL,KAAK,MAG3B,QAASO,GAAgBG,GACvB,GAAIC,GAAwBC,EAAyBF,EACrD,KAAKC,EACH,OAAO,CAET,IAAIE,GAAWF,EAAsB,GAAIG,EAAaH,EAAsB,EAE5E,OAAOE,KAAaE,IAClBD,GAAcE,IACAC,IAAdH,EAGJ,QAASN,GAAYE,GACnB,MAA4C,KAArCA,EAAUjB,QAAQ,gBACY,KAAnCiB,EAAUjB,QAAQ,aAGtB,QAASyB,KACP,GAAK3B,GAEL,IACE,KAAM,IAAI4B,OACV,MAAOC,GACP,GAAIjB,GAAQiB,EAAE5B,MAAMY,MAAM,MACtBiB,EAAYlB,EAAM,GAAGV,QAAQ,KAAO,EAAIU,EAAM,GAAKA,EAAM,GACzDQ,EAAwBC,EAAyBS,EACrD,KAAKV,EAAyB,MAG9B,OADAI,IAAYJ,EAAsB,GAC3BA,EAAsB,IAIjC,QAASC,GAAyBF,GAEhC,GAAIY,GAAW,gCAAgCC,KAAKb,EACpD,IAAIY,EAAY,OAAQA,EAAS,GAAIE,OAAOF,EAAS,IAGrD,IAAIG,GAAW,4BAA4BF,KAAKb,EAChD,IAAIe,EAAY,OAAQA,EAAS,GAAID,OAAOC,EAAS,IAGrD,IAAIC,GAAW,iBAAiBH,KAAKb,EACrC,OAAIgB,IAAoBA,EAAS,GAAIF,OAAOE,EAAS,KAArD,OA6JF,QAASC,GAAOC,GACd,GAAIC,KACJ,KAAKC,GAASF,GACZ,MAAOC,EAELE,IAAQC,aAAeJ,EAAO5C,QAAUiD,GAAYL,KACtDA,EAASM,GAAMC,KAAKP,GAEtB,IAAIQ,GAAYL,GAAQM,gBAAmC,kBAAVT,GAC7CU,EAAiBP,GAAQQ,iBAAmBX,IAAWY,IAAcZ,YAAkBT,OAE3F,KAAK,GAAIsB,KAAOb,GACRQ,GAAoB,aAAPK,GACbH,IAA0B,WAAPG,GAA2B,QAAPA,IAC3CZ,EAAOpB,KAAKgC,EAIhB,IAAIV,GAAQW,gBAAkBd,IAAWe,GAAa,CACpD,GAAIC,GAAOhB,EAAOiB,YACdC,EAAQ,GACR9D,EAAS+D,EAEb,IAAInB,KAAYgB,GAAQA,EAAKI,WAC3B,GAAIC,GAAYrB,IAAWsB,GAAcC,GAAcvB,IAAWY,GAAaY,GAAaC,GAASlB,KAAKP,GACtG0B,EAAUC,GAAaN,EAE7B,QAASH,EAAQ9D,GACfyD,EAAMe,GAAUV,GACVQ,GAAWA,EAAQb,KAASgB,GAAetB,KAAKP,EAAQa,IAC5DZ,EAAOpB,KAAKgC,GAIlB,MAAOZ,GAGT,QAAS6B,GAAY9B,EAAQ+B,EAAUC,GAKrC,IAJA,GAAId,GAAQ,GACVe,EAAQD,EAAShC,GACjB5C,EAAS6E,EAAM7E,SAER8D,EAAQ9D,GAAQ,CACvB,GAAIyD,GAAMoB,EAAMf,EAChB,IAAIa,EAAS/B,EAAOa,GAAMA,EAAKb,MAAY,EACzC,MAGJ,MAAOA,GAGT,QAASkC,GAAclC,EAAQ+B,GAC7B,MAAOD,GAAY9B,EAAQ+B,EAAUhC,GAGvC,QAASoC,GAAOC,GAGd,MAAgC,kBAAlBA,GAAMX,UAAiD,iBAAfW,EAAQ,IAqBhE,QAASC,GAAWhF,EAAGiF,EAAGC,EAAQC,GAEhC,GAAInF,IAAMiF,EAER,MAAa,KAANjF,GAAY,EAAIA,GAAK,EAAIiF,CAGlC,IAAIG,SAAcpF,GACdqF,QAAmBJ,EAGvB,IAAIjF,IAAMA,IAAW,MAALA,GAAkB,MAALiF,GAChB,YAARG,GAA8B,UAARA,GAAiC,YAAbC,GAAwC,UAAbA,GACxE,OAAO,CAIT,IAAIrB,GAAYI,GAASlB,KAAKlD,GAC1BsF,EAAalB,GAASlB,KAAK+B,EAQ/B,IANIjB,GAAauB,KACfvB,EAAYwB,IAEVF,GAAcC,KAChBD,EAAaE,IAEXxB,GAAasB,EACf,OAAO,CAET,QAAQtB,GACN,IAAKyB,IACL,IAAKC,IAGH,OAAQ1F,IAAMiF,CAEhB,KAAKU,IAEH,MAAQ3F,KAAMA,EACZiF,IAAMA,EAEA,GAALjF,EAAU,EAAIA,GAAK,EAAIiF,EAAKjF,IAAMiF,CAEvC,KAAKW,IACL,IAAK1B,IAGH,MAAOlE,IAAK6F,OAAOZ,GAEvB,GAAIa,GAAQ9B,GAAa+B,EACzB,KAAKD,EAAO,CAGV,GAAI9B,GAAawB,KAAiB1C,GAAQkD,YAAclB,EAAO9E,IAAM8E,EAAOG,IAC1E,OAAO,CAGT,IAAIgB,IAASnD,GAAQoD,YAAclD,GAAYhD,GAAKmG,OAASnG,EAAE4D,YAC3DwC,GAAStD,GAAQoD,YAAclD,GAAYiC,GAAKkB,OAASlB,EAAErB,WAG/D,MAAIqC,GAASG,GACL5B,GAAetB,KAAKlD,EAAG,gBAAkBwE,GAAetB,KAAK+B,EAAG,gBAChEoB,GAAWJ,IAAUA,YAAiBA,IAASI,GAAWD,IAAUA,YAAiBA,MACtF,eAAiBpG,IAAK,eAAiBiF,KAE5C,OAAO,EAOXC,IAAWA,MACXC,IAAWA,KAGX,KADA,GAAIpF,GAASmF,EAAOnF,OACbA,KACL,GAAImF,EAAOnF,IAAWC,EACpB,MAAOmF,GAAOpF,IAAWkF,CAG7B,IAAIqB,GAAO,EACP1D,GAAS,CAOb,IAJAsC,EAAO1D,KAAKxB,GACZmF,EAAO3D,KAAKyD,GAGRa,GAMF,GAJA/F,EAASC,EAAED,OACXuG,EAAOrB,EAAElF,OACT6C,EAAS0D,GAAQvG,EAIf,KAAOuG,KAAQ,CACb,GACIvB,GAAQE,EAAEqB,EAEd,MAAM1D,EAASoC,EAAWhF,EAAEsG,GAAOvB,EAAOG,EAAQC,IAChD,WAQNN,GAAcI,EAAG,SAASF,EAAOvB,EAAKyB,GACpC,MAAIT,IAAetB,KAAK+B,EAAGzB,IAEzB8C,IAEQ1D,EAAS4B,GAAetB,KAAKlD,EAAGwD,IAAQwB,EAAWhF,EAAEwD,GAAMuB,EAAOG,EAAQC,IAJpF,SAQEvC,GAEFiC,EAAc7E,EAAG,SAAS+E,EAAOvB,EAAKxD,GACpC,MAAIwE,IAAetB,KAAKlD,EAAGwD,GAEjBZ,IAAW0D,EAAO,GAF5B,QAUN,OAHApB,GAAOqB,MACPpB,EAAOoB,MAEA3D,EAKT,QAAS4D,KACP,IACE,MAAOC,IAAeC,MAAMC,KAAMC,WAClC,MAAOzE,GAEP,MADA0E,IAAS1E,EAAIA,EACN0E,IAGX,QAASC,GAASC,GAChB,IAAKV,GAAWU,GAAO,KAAM,IAAIC,WAAU,wBAE3C,OADAP,IAAiBM,EACVP,EAET,QAASS,GAAQ9E,GACf,KAAMA,GA6BR,QAAS+E,GAAgBC,EAAOC,GAE9B,IAAK,GADDpH,GAAI,GAAIC,OAAMkH,GACTjH,EAAI,EAAOiH,EAAJjH,EAAWA,IACzBF,EAAEE,GAAKkH,GAET,OAAOpH,GAiMT,QAASqH,GAAYC,EAAIvC,GACvB4B,KAAKW,GAAKA,EACVX,KAAK5B,MAAQA,EA65Cf,QAASwC,GAAgBC,GACvBb,KAAKa,SAAWA,EAChBb,KAAK3G,KACL2G,KAAKc,WAAY,EA4KnB,QAASC,KACPf,KAAKgB,GAAKC,EAOZ,QAASC,KACPlB,KAAKgB,GAAKC,EACVjB,KAAKmB,GAAKF,EAAE7H,OACZ4G,KAAKoB,GAAK,EAWZ,QAASC,GAAchI,GACrB2G,KAAKsB,GAAKjI,EAOZ,QAASkI,GAAclI,GACrB2G,KAAKsB,GAAKjI,EACV2G,KAAKmB,GAAKK,EAASnI,GACnB2G,KAAKoB,GAAK,EAWZ,QAASK,GAAerD,GACtB,MAAwB,gBAAVA,IAAsBsD,EAAKC,SAASvD,GAOpD,QAASwD,GAAY5H,GACnB,GAAuB6H,GAAnBtI,EAAIS,EAAE8H,GACV,KAAKvI,GAAkB,gBAANS,GAEf,MADA6H,GAAK,GAAId,GAAe/G,GACjB6H,EAAGC,KAEZ,KAAKvI,GAAKS,EAAEZ,SAAWJ,EAErB,MADA6I,GAAK,GAAIR,GAAcrH,GAChB6H,EAAGC,KAEZ,KAAKvI,EAAK,KAAM,IAAI8G,WAAU,yBAC9B,OAAOrG,GAAE8H,MAGX,QAASC,GAAK3D,GACZ,GAAI4D,IAAU5D,CACd,OAAe,KAAX4D,EAAuBA,EACvBC,MAAMD,GAAkBA,EACZ,EAATA,EAAa,GAAK,EAG3B,QAASR,GAASxH,GAChB,GAAIb,IAAOa,EAAEZ,MACb,OAAI6I,OAAM9I,GAAe,EACb,IAARA,GAAcsI,EAAetI,IACjCA,EAAM4I,EAAK5I,GAAO+I,KAAKC,MAAMD,KAAKE,IAAIjJ,IAC3B,GAAPA,EAAmB,EACnBA,EAAMkJ,GAAyBA,GAC5BlJ,GAJyCA,EA4ClD,QAASmJ,GAAczB,EAAU0B,GAC/BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAiDhB,QAASC,GAAcC,EAAWC,GAEhC,MADAC,IAAYF,KAAeA,EAAYG,IAChC,GAAIC,IAAoBH,EAAOD,GAyCxC,QAASK,GAAUjC,EAAU0B,GAC3BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAkGhB,QAASQ,GAAWlC,EAAU0B,GAC5BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAkHhB,QAASS,GAAuB/I,EAAQgJ,GACtC,MAAO,IAAIC,IAAoB,SAAUlJ,GACvC,GAAImJ,GAAK,GAAIC,IAA8BC,EAAe,GAAIC,GAe9D,OAdAD,GAAaE,cAAcJ,GAC3BA,EAAGI,cAActJ,EAAOuJ,UAAU,SAAUC,GAAKzJ,EAAE0J,OAAOD,IAAO,SAAUjI,GACzE,IACE,GAAIS,GAASgH,EAAQzH,GACrB,MAAOmI,GACP,MAAO3J,GAAE4J,QAAQD,GAEnBE,GAAU5H,KAAYA,EAAS6H,GAAsB7H,GAErD,IAAI8H,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAActH,EAAOuH,UAAUxJ,KAChC,SAAUyJ,GAAKzJ,EAAEgK,YAAYP,MAEzBJ,GACNpJ,GAunBL,QAASgK,GAASC,EAAQC,GACxB,GAAIC,GAAQpE,IACZ,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,GAAI3D,GAAQ,EAAG/D,EAAM+K,EAAO9K,MAC5B,OAAOgL,GAAMZ,UAAU,SAAUa,GAC/B,GAAYlL,EAAR+D,EAAa,CACf,GAA6BjB,GAAzBqI,EAAQJ,EAAOhH,IACnB,KACEjB,EAASkI,EAAeE,EAAMC,GAC9B,MAAO9I,GACP,MAAOqF,GAAS+C,QAAQpI,GAE1BqF,EAAS6C,OAAOzH,OAEhB4E,GAASmD,eAEV,SAAUxI,GAAKqF,EAAS+C,QAAQpI,IAAO,WAAcqF,EAASmD,iBAChEI,GAGL,QAASG,KAAiB,OAAO,EACjC,QAASC,KAAsB,SA+d/B,QAASC,GAAUxK,EAAQyK,EAAUC,GACnC,GAAIC,GAAeC,GAAaH,EAAUC,EAAS,EACnD,OAAO1K,GAAO6K,IAAI,SAAUrB,EAAGlK,GAC7B,GAAI0C,GAAS2I,EAAanB,EAAGlK,EAAGU,EAGhC,OAFA4J,IAAU5H,KAAYA,EAAS6H,GAAsB7H,KACpD8I,GAAY9I,IAAW+I,GAAW/I,MAAaA,EAASgJ,GAAehJ,IACjEA,IACNiJ,YA6DL,QAASC,GAAYtE,EAAU6D,EAAUzK,GACvC+F,KAAKa,SAAWA,EAChBb,KAAK0E,SAAWA,EAChB1E,KAAK/F,OAASA,EACd+F,KAAKzG,EAAI,EACTyG,KAAKc,WAAY,EAgEnB,QAASsE,GAAQnL,EAAQyK,EAAUC,GACjC,GAAIC,GAAeC,GAAaH,EAAUC,EAAS,EACnD,OAAO1K,GAAO6K,IAAI,SAAUrB,EAAGlK,GAC7B,GAAI0C,GAAS2I,EAAanB,EAAGlK,EAAGU,EAGhC,OAFA4J,IAAU5H,KAAYA,EAAS6H,GAAsB7H,KACpD8I,GAAY9I,IAAW+I,GAAW/I,MAAaA,EAASgJ,GAAehJ,IACjEA,IACNoJ,WAgLL,QAASC,GAAezE,EAAU0E,EAAWtL,GAC3C+F,KAAKa,SAAWA,EAChBb,KAAKuF,UAAYA,EACjBvF,KAAK/F,OAASA,EACd+F,KAAKzG,EAAI,EACTyG,KAAKc,WAAY,EA+HnB,QAAS0E,GAASC,GAChB,GAAIC,GAAkB,WACpB1F,KAAK2F,cAAe,GAGlBC,EAAiB,WAEnB,GADA5F,KAAK6F,eAAiB7F,KAAK8F,QACvB9F,KAAK+F,QACP,IACE/F,KAAK8F,QAAU,EACf,MAAOtK,IAEXwE,KAAKgG,kBAAmB,EACxBhG,KAAKiG,aAAc,EACnBjG,KAAKkG,UAAW,EAIlB,IADAT,IAAUA,EAAQ/D,EAAK+D,QAClBA,EAAMU,OAeT,OAdAV,EAAMU,OAASV,EAAMU,QAAUV,EAAMW,WAEnB,aAAdX,EAAMhH,OACRgH,EAAMY,cAAgBZ,EAAMa,aAEZ,YAAdb,EAAMhH,OACRgH,EAAMY,cAAgBZ,EAAMc,WAGzBd,EAAMC,kBACTD,EAAMC,gBAAkBA,EACxBD,EAAMG,eAAiBA,GAGjBH,EAAMhH,MACZ,IAAK,WACH,GAAI+H,GAAK,YAAcf,GAAQA,EAAMgB,SAAWhB,EAAMK,OAC7C,KAALU,GACFA,EAAI,EACJf,EAAMK,QAAU,IACF,IAALU,GAAgB,IAALA,EACpBA,EAAI,EACU,GAALA,IACTA,EAAI,IAENf,EAAMgB,SAAWD,EACjBf,EAAMiB,QAAUjB,EAAMgB,SAAWvH,OAAOyH,aAAalB,EAAMgB,UAAY,GAK7E,MAAOhB,GAGT,QAASmB,GAAgBC,EAASC,EAAM7D,GAEtC,GAAI4D,EAAQE,iBAEV,MADAF,GAAQE,iBAAiBD,EAAM7D,GAAS,GACjC+D,GAAiB,WACtBH,EAAQI,oBAAoBH,EAAM7D,GAAS,IAG/C,IAAI4D,EAAQK,YAAa,CAEvB,GAAIC,GAAe,SAAU1B,GAC3BxC,EAAQuC,EAASC,IAGnB,OADAoB,GAAQK,YAAY,KAAOJ,EAAMK,GAC1BH,GAAiB,WACtBH,EAAQO,YAAY,KAAON,EAAMK,KAKrC,MADAN,GAAQ,KAAOC,GAAQ7D,EAChB+D,GAAiB,WACtBH,EAAQ,KAAOC,GAAQ,OAI3B,QAASO,GAAqBC,EAAIC,EAAWtE,GAC3C,GAAIuE,GAAc,GAAIC,GAGtB,IAA2C,sBAAvCjI,OAAOpC,UAAUK,SAASlB,KAAK+K,GACjC,IAAK,GAAI/N,GAAI,EAAGJ,EAAMmO,EAAGlO,OAAYD,EAAJI,EAASA,IACxCiO,EAAYE,IAAIL,EAAoBC,EAAGK,KAAKpO,GAAIgO,EAAWtE,QAEpDqE,IACTE,EAAYE,IAAId,EAAeU,EAAIC,EAAWtE,GAGhD,OAAOuE,GAwUT,QAASI,GAAoBC,EAASpF,GACpC,MAAO,IAAIS,IAAoB,SAAUrC,GACvC,MAAO4B,GAAUqF,qBAAqBD,EAAS,WAC7ChH,EAAS6C,OAAO,GAChB7C,EAASmD,kBAKf,QAAS+D,GAA6BF,EAASG,EAAQvF,GACrD,MAAO,IAAIS,IAAoB,SAAUrC,GACvC,GAAIkD,GAAI8D,EAASI,EAAIC,GAAcF,EACnC,OAAOvF,GAAU0F,sCAAsC,EAAGpE,EAAG,SAAUvD,EAAO4H,GAC5E,GAAIH,EAAI,EAAG,CACT,GAAII,GAAM5F,EAAU4F,KACpBtE,IAAQkE,EACHI,GAALtE,IAAaA,EAAIsE,EAAMJ,GAEzBpH,EAAS6C,OAAOlD,GAChB4H,EAAK5H,EAAQ,EAAGuD,OAKtB,QAASuE,GAAwBT,EAASpF,GACxC,MAAO,IAAIS,IAAoB,SAAUrC,GACvC,MAAO4B,GAAU8F,qBAAqBL,GAAcL,GAAU,WAC5DhH,EAAS6C,OAAO,GAChB7C,EAASmD,kBAKf,QAASwE,GAAiCX,EAASG,EAAQvF,GACzD,MAAOoF,KAAYG,EACjB,GAAI9E,IAAoB,SAAUrC,GAChC,MAAO4B,GAAUgG,0BAA0B,EAAGT,EAAQ,SAAUxH,GAE9D,MADAK,GAAS6C,OAAOlD,GACTA,EAAQ,MAGnBkI,GAAgB,WACd,MAAOX,GAA6BtF,EAAU4F,MAAQR,EAASG,EAAQvF,KA8C7E,QAASkG,GAAwB1O,EAAQ4N,EAASpF,GAChD,MAAO,IAAIS,IAAoB,SAAUrC,GACvC,GAKEwC,GALEuF,GAAS,EACXC,EAAa,GAAIvF,IACjBwF,EAAY,KACZC,KACAC,GAAU,CAsDZ,OApDA3F,GAAepJ,EAAOgP,cAAcC,UAAUzG,GAAWe,UAAU,SAAU2F,GAC3E,GAAIpF,GAAGqF,CACyB,OAA5BD,EAAa/K,MAAMiL,MACrBN,KACAA,EAAElO,KAAKsO,GACPL,EAAYK,EAAa/K,MAAM0K,UAC/BM,GAAaJ,IAEbD,EAAElO,MAAOuD,MAAO+K,EAAa/K,MAAO8K,UAAWC,EAAaD,UAAYrB,IACxEuB,GAAaR,EACbA,GAAS,GAEPQ,IACgB,OAAdN,EACFjI,EAAS+C,QAAQkF,IAEjB/E,EAAI,GAAIX,IACRyF,EAAWtF,cAAcQ,GACzBA,EAAER,cAAcd,EAAU6G,8BAA8BzB,EAAS,SAAUO,GACzE,GAAI5M,GAAG+N,EAAgBtN,EAAQuN,CAC/B,IAAkB,OAAdV,EAAJ,CAGAE,GAAU,CACV,GACE/M,GAAS,KACL8M,EAAE3P,OAAS,GAAK2P,EAAE,GAAGG,UAAYzG,EAAU4F,OAAS,IACtDpM,EAAS8M,EAAEU,QAAQrL,OAEN,OAAXnC,GACFA,EAAOyN,OAAO7I,SAEE,OAAX5E,EACTuN,IAAgB,EAChBD,EAAiB,EACbR,EAAE3P,OAAS,GACboQ,GAAgB,EAChBD,EAAiBrH,KAAKyH,IAAI,EAAGZ,EAAE,GAAGG,UAAYzG,EAAU4F,QAExDO,GAAS,EAEXpN,EAAIsN,EACJE,GAAU,EACA,OAANxN,EACFqF,EAAS+C,QAAQpI,GACRgO,GACTpB,EAAKmB,WAMR,GAAI9B,IAAoBpE,EAAcwF,IAC5C5O,GAGL,QAAS2P,GAAoB3P,EAAQ4N,EAASpF,GAC5C,MAAOiG,IAAgB,WACrB,MAAOC,GAAwB1O,EAAQ4N,EAAUpF,EAAU4F,MAAO5F,KA2FtE,QAASoH,GAAiB5P,EAAQ6P,GAChC,MAAO,IAAI5G,IAAoB,SAAUrC,GAGvC,QAASkJ,KACHC,IACFA,GAAW,EACXnJ,EAAS6C,OAAOtF,IAElB6L,GAASpJ,EAASmD,cAPpB,GAAIiG,GAAO7L,EAAO4L,CAUlB,OAAO,IAAIvC,IACTxN,EAAOuJ,UAAU,SAAU0G,GACzBF,GAAW,EACX5L,EAAQ8L,GACPrJ,EAAS+C,QAAQuG,KAAKtJ,GAAW,WAClCoJ,GAAQ,IAEVH,EAAQtG,UAAUuG,EAAiBlJ,EAAS+C,QAAQuG,KAAKtJ,GAAWkJ,KAErE9P,GAkKL,QAASmQ,GAAoBnQ,EAAQoQ,EAASlG,GAC5C,MAAO,IAAIjB,IAAoB,SAAUlJ,GAOvC,QAASsQ,GAAK7G,EAAGlK,GACfgR,EAAOhR,GAAKkK,CACZ,IAAI+G,EAEJ,IADAR,EAASzQ,IAAK,EACVkR,IAAgBA,EAAcT,EAASU,MAAMC,KAAY,CAC3D,GAAIC,EAEF,WADA5Q,GAAE4J,QAAQgH,EAIZ,KACEJ,EAAMrG,EAAepE,MAAM,KAAMwK,GACjC,MAAO5G,GAEP,WADA3J,GAAE4J,QAAQD,GAGZ3J,EAAE0J,OAAO8G,GAEPK,GAAUN,EAAO,IACnBvQ,EAAEgK,cAzBN,GAIE4G,GAJEZ,IAAY,GAAO,GACrBS,GAAc,EACdI,GAAS,EACTN,EAAS,GAAIjR,OAAM,EA0BrB,OAAO,IAAImO,IACTxN,EAAOuJ,UACL,SAAUC,GACR6G,EAAK7G,EAAG,IAEV,SAAUjI,GACJ+O,EAAO,GACTvQ,EAAE4J,QAAQpI,GAEVoP,EAAMpP,GAGV,WACEqP,GAAS,EACTN,EAAO,IAAMvQ,EAAEgK,gBAEnBqG,EAAQ7G,UACN,SAAUC,GACR6G,EAAK7G,EAAG,IAEV,SAAUjI,GAAKxB,EAAE4J,QAAQpI,IACzB,WACEqP,GAAS,EACTP,GAAK,EAAM,OAGhBrQ,GAvsKL,GAAI6Q,IACFC,WAAW,EACXC,YAAY,EACZhP,QAAU,EACVgG,QAAU,EACViJ,QAAU,EACVjS,WAAa,GAGX0I,EAAQoJ,QAAmBI,UAAWA,QAAWlL,KACnDmL,EAAcL,QAAmBM,WAAYA,UAAYA,QAAQC,UAAYD,QAC7EE,GAAaR,QAAmBS,UAAWA,SAAWA,OAAOF,UAAYE,OACzEC,GAAgBF,IAAcA,GAAWF,UAAYD,GAAeA,EACpEM,GAAaX,QAAmBY,UAAWA,QAEzCD,IAAeA,GAAWC,SAAWD,IAAcA,GAAWP,SAAWO,KAC3E/J,EAAO+J,GAGT,IAAIE,KACAC,aACAC,QACEC,QAASpK,EAAKoK,SAEhBC,YAIAC,GAAOL,GAAGI,QAAQC,KAAO,aAE3BrB,IADagB,GAAGI,QAAQE,WAAa,SAAUxI,GAAK,MAAoB,mBAANA,IACvDkI,GAAGI,QAAQpB,SAAW,SAAUlH,GAAK,MAAOA,KAGvDyI,IAFQP,GAAGI,QAAQI,MAAQ,SAAUC,GAAY,MAAO,UAAU3I,GAAK,MAAOA,GAAE2I,KACzET,GAAGI,QAAQM,KAAO,SAAUjO,GAAS,MAAO,YAAc,MAAOA,KAC3DuN,GAAGI,QAAQG,WAAc,WAAc,MAASI,MAAKjE,IAAMiE,KAAKjE,IAAM,WAAc,OAAQ,GAAIiE,WAC7GC,GAAkBZ,GAAGI,QAAQQ,gBAAkB,SAAU9I,EAAG+I,GAAK,MAAOC,IAAQhJ,EAAG+I,IACnFE,GAAqBf,GAAGI,QAAQW,mBAAqB,SAAUjJ,EAAG+I,GAAK,MAAO/I,GAAI+I,EAAI,EAASA,EAAJ/I,EAAQ,GAAK,GAExGkJ,IADuBhB,GAAGI,QAAQa,qBAAuB,SAAUnJ,GAAK,MAAOA,GAAEhG,YAClEkO,GAAGI,QAAQY,aAAe,SAAU/B,GAAO,KAAMA,KAChE/G,GAAY8H,GAAGI,QAAQlI,UAAY,SAAUoE,GAAK,QAASA,GAAuB,kBAAXA,GAAE4E,MAGzEnN,IAFUiM,GAAGI,QAAQe,QAAU,WAAc,MAAOxT,OAAM8D,UAAUd,MAAMC,KAAK0D,YACzE0L,GAAGI,QAAQgB,IAAM,SAAU1T,GAAK,OAAQA,GACjCsS,GAAGI,QAAQrM,WAAc,WAEpC,GAAIsN,GAAO,SAAU5O,GACnB,MAAuB,kBAATA,KAAuB,EAUvC,OANI4O,GAAK,OACPA,EAAO,SAAS5O,GACd,MAAuB,kBAATA,IAA+C,qBAAxBX,GAASlB,KAAK6B,KAIhD4O,KASXrB,IAAGE,OAAOoB,kBAAmB,CAC7B,IAAItT,KAAY,CAChB,KACE,KAAM,IAAI4B,OACV,MAAOC,IACP7B,KAAc6B,GAAE5B,MAIlB,GAAmCuB,IAA/BC,GAAgBE,IAEhBxB,GAAuB,uBAqFvBoT,GAAavB,GAAGuB,WAAa,WAC/BlN,KAAKmN,QAAU,iCACf5R,MAAMgB,KAAKyD,MAEbkN,IAAW9P,UAAY7B,MAAM6B,SAE7B,IAAIgQ,IAAsBzB,GAAGyB,oBAAsB,WACjDpN,KAAKmN,QAAU,2BACf5R,MAAMgB,KAAKyD,MAEboN,IAAoBhQ,UAAY7B,MAAM6B,SAEtC,IAAIiQ,IAA0B1B,GAAG0B,wBAA0B,WACzDrN,KAAKmN,QAAU,wBACf5R,MAAMgB,KAAKyD,MAEbqN,IAAwBjQ,UAAY7B,MAAM6B,SAE1C,IAAIkQ,IAAoB3B,GAAG2B,kBAAoB,SAAUH,GACvDnN,KAAKmN,QAAUA,GAAW,kCAC1B5R,MAAMgB,KAAKyD,MAEbsN,IAAkBlQ,UAAY7B,MAAM6B,SAEpC,IAAImQ,IAAsB5B,GAAG4B,oBAAsB,SAAUJ,GAC3DnN,KAAKmN,QAAUA,GAAW,oCAC1B5R,MAAMgB,KAAKyD,MAEbuN,IAAoBnQ,UAAY7B,MAAM6B,SAEtC,IAAIoQ,IAAiB7B,GAAGI,QAAQyB,eAAiB,WAC/C,KAAM,IAAID,KAGRE,GAAe9B,GAAGI,QAAQ0B,aAAe,WAC3C,KAAM,IAAIH,KAIRxL,GAAgC,kBAAX4L,SAAyBA,OAAOC,UACvD,oBAEEjM,GAAKkM,KAA+C,mBAAjC,GAAIlM,GAAKkM,KAAM,gBACpC9L,GAAa,aAGf,IAAI+L,IAAiBlC,GAAGkC,gBAAmBC,MAAM,EAAM1P,MAAOpF,GAE1DgM,GAAa2G,GAAGI,QAAQ/G,WAAa,SAAUhL,GACjD,MAAOA,GAAE8H,MAAgB9I,GAGvB+L,GAAc4G,GAAGI,QAAQhH,YAAc,SAAU/K,GACnD,MAAOA,IAAKA,EAAEZ,SAAWJ,EAG3B2S,IAAGI,QAAQ4B,SAAW7L,EAEtB,IAmDEiM,IAnDElJ,GAAe8G,GAAGC,UAAU/G,aAAe,SAAUmJ,EAAMrJ,EAASsJ,GACtE,GAAuB,mBAAZtJ,GAA2B,MAAOqJ,EAC7C,QAAOC,GACL,IAAK,GACH,MAAO,YACL,MAAOD,GAAKzR,KAAKoI,GAErB,KAAK,GACH,MAAO,UAASuJ,GACd,MAAOF,GAAKzR,KAAKoI,EAASuJ,GAE9B,KAAK,GACH,MAAO,UAAS9P,EAAOlB,GACrB,MAAO8Q,GAAKzR,KAAKoI,EAASvG,EAAOlB,GAErC,KAAK,GACH,MAAO,UAASkB,EAAOlB,EAAOiR,GAC5B,MAAOH,GAAKzR,KAAKoI,EAASvG,EAAOlB,EAAOiR,IAI9C,MAAO,YACL,MAAOH,GAAKjO,MAAM4E,EAAS1E,aAK3BrC,IAAa,WACf,iBACA,UACA,iBACA,gBACA,uBACA,eACFT,GAAkBS,GAAUxE,OAGxBwF,GAAY,qBACdQ,GAAa,iBACbN,GAAY,mBACZC,GAAY,gBACZvB,GAAa,iBACb4Q,GAAY,oBACZpP,GAAc,kBACdH,GAAc,kBACdI,GAAc,kBACd1B,GAAc,kBAEZE,GAAW+B,OAAOpC,UAAUK,SAC9BI,GAAiB2B,OAAOpC,UAAUS,eAClCwQ,GAAoB5Q,GAASlB,KAAK0D,YAAcrB,GAEhDhC,GAAarB,MAAM6B,UACnBL,GAAcyC,OAAOpC,UACrBE,GAAc4B,OAAO9B,UACrBkR,GAAuBvR,GAAYuR,oBAErC,KACEP,KAAqBtQ,GAASlB,KAAKgS,WAAa1P,OAAmBpB,SAAY,GAAM,KACrF,MAAOjC,IACPuS,IAAmB,EAGrB,GAAIpQ,MACJA,IAAayB,IAAczB,GAAaoB,IAAapB,GAAaqB,KAAiB/B,aAAe,EAAMuR,gBAAkB,EAAM/Q,UAAY,EAAMgR,SAAW,GAC7J9Q,GAAamB,IAAanB,GAAaJ,KAAiBN,aAAe,EAAMQ,UAAY,EAAMgR,SAAW,GAC1G9Q,GAAaH,IAAcG,GAAayQ,IAAazQ,GAAasB,KAAiBhC,aAAe,EAAMQ,UAAY,GACpHE,GAAakB,KAAiB5B,aAAe,EAE7C,IAAId,QACH,WACC,GAAIa,GAAO,WAAagD,KAAKyD,EAAI,GAC/BxF,IAEFjB,GAAKI,WAAcqR,QAAW,EAAGjC,EAAK,EACtC,KAAK,GAAI3P,KAAO,IAAIG,GAAQiB,EAAMpD,KAAKgC,EACvC,KAAKA,IAAOoD,YAGZ9D,GAAQQ,eAAiB2R,GAAqB/R,KAAKK,GAAY,YAAc0R,GAAqB/R,KAAKK,GAAY,QAGnHT,GAAQM,eAAiB6R,GAAqB/R,KAAKS,EAAM,aAGzDb,GAAQC,YAAqB,GAAPS,EAGtBV,GAAQW,gBAAkB,UAAU4R,KAAKzQ,IACzC,EAEF,IAAI/B,IAAWyP,GAAGC,UAAU1P,SAAW,SAASkC,GAC9C,GAAIK,SAAcL,EAClB,OAAOA,KAAkB,YAARK,GAA8B,UAARA,KAAqB,GAgE1DpC,GAAc,SAAS+B,GACzB,MAAQA,IAAyB,gBAATA,GAAqBX,GAASlB,KAAK6B,IAAUQ,IAAY,EAI9EyP,MACHhS,GAAc,SAAS+B,GACrB,MAAQA,IAAyB,gBAATA,GAAqBP,GAAetB,KAAK6B,EAAO,WAAY,GAIxF,EAAA,GAgJI0B,IAhJA2M,GAAUd,GAAGC,UAAUa,QAAU,SAAUhJ,EAAG+I,GAChD,MAAOnO,GAAWoF,EAAG+I,UA8InBtM,IAAY1E,MAoBZc,OADauB,eACLvE,MAAM8D,UAAUd,OAExBqS,GAAW3O,KAAK2O,SAAWhD,GAAGC,UAAU+C,SAAW,SAAUC,EAAOrM,GACtE,QAASsM,KAAO7O,KAAK/C,YAAc2R,EACnCC,EAAGzR,UAAYmF,EAAOnF,UACtBwR,EAAMxR,UAAY,GAAIyR,IAGpBC,GAAgBnD,GAAGC,UAAUkD,cAAgB,SAAUC,GACzD,IAAI,GAAIC,MAAczV,EAAI,EAAGJ,EAAM8G,UAAU7G,OAAYD,EAAJI,EAASA,IAAOyV,EAAQnU,KAAKoF,UAAU1G,GAC5F,KAAK,GAAI0V,GAAM,EAAGC,EAAKF,EAAQ5V,OAAc8V,EAAND,EAAUA,IAAO,CACtD,GAAIhV,GAAS+U,EAAQC,EACrB,KAAK,GAAIE,KAAQlV,GACf8U,EAAII,GAAQlV,EAAOkV,IAMZxD,IAAGC,UAAUwD,OAAS,SAAUC,EAAIC,GAC/C,MAAO,IAAIpM,IAAoB,SAAUrC,GACvC,MAAO,IAAI4G,IAAoB6H,EAAEC,gBAAiBF,EAAG7L,UAAU3C,OAa9D2O,SAASpS,UAAU+M,OACtBqF,SAASpS,UAAU+M,KAAO,SAAUsF,GAClC,GAAItJ,GAASnG,KACX0P,EAAOpT,GAAMC,KAAK0D,UAAW,GAC3B0P,EAAQ,WAER,QAASC,MADX,GAAI5P,eAAgB2P,GAAO,CAEzBC,EAAExS,UAAY+I,EAAO/I,SACrB,IAAIgL,GAAO,GAAIwH,GACX3T,EAASkK,EAAOpG,MAAMqI,EAAMsH,EAAKG,OAAOvT,GAAMC,KAAK0D,YACvD,OAAIT,QAAOvD,KAAYA,EACdA,EAEFmM,EAEP,MAAOjC,GAAOpG,MAAM0P,EAAMC,EAAKG,OAAOvT,GAAMC,KAAK0D,aAIrD,OAAO0P,KAINrW,MAAM8D,UAAU0S,UACnBxW,MAAM8D,UAAU0S,QAAU,SAAU/R,EAAU4G,GAC5C,GAAIoL,GAAGC,CAEP,IAAY,MAARhQ,KACF,KAAM,IAAIK,WAAU,+BAGtB,IAAI4P,GAAIzQ,OAAOQ,MACX7G,EAAM8W,EAAE7W,SAAW,CAEvB,IAAwB,kBAAb2E,GACT,KAAM,IAAIsC,WAAUtC,EAAW,qBAQjC,KALIkC,UAAU7G,OAAS,IACrB2W,EAAIpL,GAGNqL,EAAI,EACO7W,EAAJ6W,GAAS,CACd,GAAIE,EACAF,KAAKC,KACPC,EAASD,EAAED,GACXjS,EAASxB,KAAKwT,EAAGG,EAAQF,EAAGC,IAE9BD,MAKN,IAAIG,IAAc3Q,OAAO,KACrB4Q,GAAgC,KAAlBD,GAAY,MAAe,IAAKA,IAC7C7W,OAAM8D,UAAUsN,QACnBpR,MAAM8D,UAAUsN,MAAQ,SAAe2F,GACrC,GAAIrU,GAASwD,OAAOQ,MAClBoI,EAAOgI,OAAkB3S,SAASlB,KAAKyD,OAASzC,GAC9CyC,KAAKxF,MAAM,IACXwB,EACF5C,EAASgP,EAAKhP,SAAW,EACzBkX,EAAQrQ,UAAU,EAEpB,OAAOxC,SAASlB,KAAK8T,IAAQjC,GAC3B,KAAM,IAAI/N,WAAUgQ,EAAM,qBAG5B,KAAK,GAAI9W,GAAI,EAAOH,EAAJG,EAAYA,IAC1B,GAAIA,IAAK6O,KAASiI,EAAI9T,KAAK+T,EAAOlI,EAAK7O,GAAIA,EAAGyC,GAC5C,OAAO,CAGX,QAAO,IAIN1C,MAAM8D,UAAU0H,MACnBxL,MAAM8D,UAAU0H,IAAM,SAAauL,GACjC,GAAIrU,GAASwD,OAAOQ,MAClBoI,EAAOgI,OAAkB3S,SAASlB,KAAKyD,OAASzC,GAC5CyC,KAAKxF,MAAM,IACXwB,EACJ5C,EAASgP,EAAKhP,SAAW,EACzB6C,EAAS3C,MAAMF,GACfkX,EAAQrQ,UAAU,EAEpB,OAAOxC,SAASlB,KAAK8T,IAAQjC,GAC3B,KAAM,IAAI/N,WAAUgQ,EAAM,qBAG5B,KAAK,GAAI9W,GAAI,EAAOH,EAAJG,EAAYA,IACtBA,IAAK6O,KACPnM,EAAO1C,GAAK8W,EAAI9T,KAAK+T,EAAOlI,EAAK7O,GAAIA,EAAGyC,GAG5C,OAAOC,KAIN3C,MAAM8D,UAAUmT,SACnBjX,MAAM8D,UAAUmT,OAAS,SAAUhL,GAEjC,IAAK,GADaoC,GAAd6I,KAAoBC,EAAI,GAAIjR,QAAOQ,MAC9BzG,EAAI,EAAGJ,EAAMsX,EAAErX,SAAW,EAAOD,EAAJI,EAASA,IAC7CoO,EAAO8I,EAAElX,GACLA,IAAKkX,IAAKlL,EAAUhJ,KAAK0D,UAAU,GAAI0H,EAAMpO,EAAGkX,IAClDD,EAAQ3V,KAAK8M,EAGjB,OAAO6I,KAINlX,MAAMoX,UACTpX,MAAMoX,QAAU,SAAUxC,GACxB,SAAUzQ,SAASlB,KAAK2R,IAAQ9O,KAI/B9F,MAAM8D,UAAUvD,UACnBP,MAAM8D,UAAUvD,QAAU,SAAiB8W,GACzC,GAAIF,GAAIjR,OAAOQ,MACX7G,EAAMsX,EAAErX,SAAW,CACvB,IAAY,IAARD,EACF,MAAO,EAET,IAAIyX,GAAI,CASR,IARI3Q,UAAU7G,OAAS,IACrBwX,EAAIhV,OAAOqE,UAAU,IACjB2Q,IAAMA,EACRA,EAAI,EACW,IAANA,GAAgBC,KAALD,GAAiBA,KAAOC,MAC5CD,GAAKA,EAAI,GAAK,IAAM1O,KAAKC,MAAMD,KAAKE,IAAIwO,MAGxCA,GAAKzX,EACP,MAAO,EAGT,KADA,GAAI6W,GAAIY,GAAK,EAAIA,EAAI1O,KAAKyH,IAAIxQ,EAAM+I,KAAKE,IAAIwO,GAAI,GACtCzX,EAAJ6W,EAASA,IACd,GAAIA,IAAKS,IAAKA,EAAET,KAAOW,EACrB,MAAOX,EAGX,OAAO,KAKNxQ,OAAOpC,UAAUkR,uBACpB9O,OAAOpC,UAAUkR,qBAAuB,SAAUzR,GAChD,IAAK,GAAImT,KAAKhQ,MAAQ,GAAIgQ,IAAMnT,EAAO,OAAO,CAC9C,QAAO,IAIN2C,OAAOsR,OACVtR,OAAOsR,KAAQ,WACb,YACA,IAAIjT,GAAiB2B,OAAOpC,UAAUS,eACtCkT,IAAqBtT,SAAU,MAAQ6Q,qBAAqB,WAE5D,OAAO,UAASS,GACd,GAAmB,gBAARA,KAAoC,kBAARA,IAA8B,OAARA,GAC3D,KAAM,IAAI1O,WAAU,mCAGtB,IAAiB8O,GAAM5V,EAAnB0C,IAEJ,KAAKkT,IAAQJ,GACPlR,EAAetB,KAAKwS,EAAKI,IAC3BlT,EAAOpB,KAAKsU,EAIhB,IAAI4B,EACF,IAAKxX,EAAI,EAAO4D,GAAJ5D,EAAqBA,IAC3BsE,EAAetB,KAAKwS,EAAKnR,GAAUrE,KACrC0C,EAAOpB,KAAK+C,GAAUrE,GAI5B,OAAO0C,QAWbyE,EAAYtD,UAAU4T,UAAY,SAAUC,GAC1C,GAAIzK,GAAIxG,KAAK5B,MAAM4S,UAAUC,EAAM7S,MAEnC,OADM,KAANoI,IAAYA,EAAIxG,KAAKW,GAAKsQ,EAAMtQ,IACzB6F,EAIT,IAAI0K,IAAgBvF,GAAGC,UAAUsF,cAAgB,SAAUC,GACzDnR,KAAKoR,MAAQ,GAAI9X,OAAM6X,GACvBnR,KAAK5G,OAAS,GAGZiY,GAAgBH,GAAc9T,SAClCiU,IAAcC,iBAAmB,SAAUjN,EAAMC,GAC/C,MAAOtE,MAAKoR,MAAM/M,GAAM2M,UAAUhR,KAAKoR,MAAM9M,IAAU,GAGzD+M,GAAcE,UAAY,SAAUrU,GAClC,KAAIA,GAAS8C,KAAK5G,QAAkB,EAAR8D,GAA5B,CACA,GAAIqF,GAASrF,EAAQ,GAAK,CAC1B,MAAa,EAATqF,GAAcA,IAAWrF,IACzB8C,KAAKsR,iBAAiBpU,EAAOqF,GAAS,CACxC,GAAIiP,GAAOxR,KAAKoR,MAAMlU,EACtB8C,MAAKoR,MAAMlU,GAAS8C,KAAKoR,MAAM7O,GAC/BvC,KAAKoR,MAAM7O,GAAUiP,EACrBxR,KAAKuR,UAAUhP,MAInB8O,GAAcI,QAAU,SAAUvU,GAEhC,IADCA,IAAUA,EAAQ,KACfA,GAAS8C,KAAK5G,QAAkB,EAAR8D,GAA5B,CACA,GAAImH,GAAO,EAAInH,EAAQ,EACnBoH,EAAQ,EAAIpH,EAAQ,EACpBkH,EAAQlH,CAOZ,IANImH,EAAOrE,KAAK5G,QAAU4G,KAAKsR,iBAAiBjN,EAAMD,KACpDA,EAAQC,GAENC,EAAQtE,KAAK5G,QAAU4G,KAAKsR,iBAAiBhN,EAAOF,KACtDA,EAAQE,GAENF,IAAUlH,EAAO,CACnB,GAAIsU,GAAOxR,KAAKoR,MAAMlU,EACtB8C,MAAKoR,MAAMlU,GAAS8C,KAAKoR,MAAMhN,GAC/BpE,KAAKoR,MAAMhN,GAASoN,EACpBxR,KAAKyR,QAAQrN,MAIjBiN,GAAcK,KAAO,WAAc,MAAO1R,MAAKoR,MAAM,GAAGhT,OAExDiT,GAAcM,SAAW,SAAUzU,GACjC8C,KAAKoR,MAAMlU,GAAS8C,KAAKoR,QAAQpR,KAAK5G,QACtC4G,KAAKoR,MAAMpR,KAAK5G,QAAUJ,EAC1BgH,KAAKyR,WAGPJ,GAAcO,QAAU,WACtB,GAAI3V,GAAS+D,KAAK0R,MAElB,OADA1R,MAAK2R,SAAS,GACP1V,GAGToV,GAAcQ,QAAU,SAAUlK,GAChC,GAAIzK,GAAQ8C,KAAK5G,QACjB4G,MAAKoR,MAAMlU,GAAS,GAAIwD,GAAYwQ,GAAc1Q,QAASmH,GAC3D3H,KAAKuR,UAAUrU,IAGjBmU,GAAcS,OAAS,SAAUnK,GAC/B,IAAK,GAAIpO,GAAI,EAAGA,EAAIyG,KAAK5G,OAAQG,IAC/B,GAAIyG,KAAKoR,MAAM7X,GAAG6E,QAAUuJ,EAE1B,MADA3H,MAAK2R,SAASpY,IACP,CAGX,QAAO,GAET2X,GAAc1Q,MAAQ,CAMtB,IAAIiH,IAAsBkE,GAAGlE,oBAAsB,WACjD,GAAelO,GAAGJ,EAAduW,IACJ,IAAIpW,MAAMoX,QAAQzQ,UAAU,IAC1ByP,EAAOzP,UAAU,GACjB9G,EAAMuW,EAAKtW,WAIX,KAFAD,EAAM8G,UAAU7G,OAChBsW,EAAO,GAAIpW,OAAMH,GACbI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EAEjD,KAAIA,EAAI,EAAOJ,EAAJI,EAASA,IAClB,IAAKwY,GAAarC,EAAKnW,IAAO,KAAM,IAAI8G,WAAU,mBAEpDL,MAAKwH,YAAckI,EACnB1P,KAAKgS,YAAa,EAClBhS,KAAK5G,OAASsW,EAAKtW,QAGjB6Y,GAA+BxK,GAAoBrK,SAMvD6U,IAA6BvK,IAAM,SAAUC,GACvC3H,KAAKgS,WACPrK,EAAKuK,WAELlS,KAAKwH,YAAY3M,KAAK8M,GACtB3H,KAAK5G,WAST6Y,GAA6BH,OAAS,SAAUnK,GAC9C,GAAIwK,IAAgB,CACpB,KAAKnS,KAAKgS,WAAY,CACpB,GAAI/C,GAAMjP,KAAKwH,YAAY3N,QAAQ8N,EACvB,MAARsH,IACFkD,GAAgB,EAChBnS,KAAKwH,YAAY4K,OAAOnD,EAAK,GAC7BjP,KAAK5G,SACLuO,EAAKuK,WAGT,MAAOC,IAMTF,GAA6BC,QAAU,WACrC,IAAKlS,KAAKgS,WAAY,CACpBhS,KAAKgS,YAAa,CAElB,KAAI,GADA7Y,GAAM6G,KAAKwH,YAAYpO,OAAQiZ,EAAqB,GAAI/Y,OAAMH,GAC1DI,EAAI,EAAOJ,EAAJI,EAASA,IAAO8Y,EAAmB9Y,GAAKyG,KAAKwH,YAAYjO,EAIxE,KAHAyG,KAAKwH,eACLxH,KAAK5G,OAAS,EAETG,EAAI,EAAOJ,EAAJI,EAASA,IACnB8Y,EAAmB9Y,GAAG2Y,WAS5B,IAAII,IAAa3G,GAAG2G,WAAa,SAAUC,GACzCvS,KAAKgS,YAAa,EAClBhS,KAAKuS,OAASA,GAAUvG,GAI1BsG,IAAWlV,UAAU8U,QAAU,WACxBlS,KAAKgS,aACRhS,KAAKuS,SACLvS,KAAKgS,YAAa,GAStB,IAAIhL,IAAmBsL,GAAWE,OAAS,SAAUD,GAAU,MAAO,IAAID,IAAWC,IAKjFE,GAAkBH,GAAWI,OAAUR,QAASlG,IAOhD+F,GAAeO,GAAWP,aAAe,SAAUhO,GACrD,MAAOA,IAAKrE,GAAWqE,EAAEmO,UAGvBS,GAAgBL,GAAWK,cAAgB,SAAUC,GACvD,GAAIA,EAAWZ,WAAc,KAAM,IAAI5E,KAIrChK,GAA6BuI,GAAGvI,2BAA6B,WAC/DpD,KAAKgS,YAAa,EAClBhS,KAAK6S,QAAU,KAEjBzP,IAA2BhG,UAAUmS,cAAgB,WACnD,MAAOvP,MAAK6S,SAEdzP,GAA2BhG,UAAUmG,cAAgB,SAAUnF,GAC7D,GAAI4B,KAAK6S,QAAW,KAAM,IAAItX,OAAM,uCACpC,IAAI4W,GAAgBnS,KAAKgS,YACxBG,IAAkBnS,KAAK6S,QAAUzU,GAClC+T,GAAiB/T,GAASA,EAAM8T,WAElC9O,GAA2BhG,UAAU8U,QAAU,WAC7C,IAAKlS,KAAKgS,WAAY,CACpBhS,KAAKgS,YAAa,CAClB,IAAIc,GAAM9S,KAAK6S,OACf7S,MAAK6S,QAAU,KAEjBC,GAAOA,EAAIZ,UAIb,IAAI5O,IAAmBqI,GAAGrI,iBAAmB,WAC3CtD,KAAKgS,YAAa,EAClBhS,KAAK6S,QAAU,KAEjBvP,IAAiBlG,UAAUmS,cAAgB,WACzC,MAAOvP,MAAK6S,SAEdvP,GAAiBlG,UAAUmG,cAAgB,SAAUnF,GACnD,GAAI+T,GAAgBnS,KAAKgS,UACzB,KAAKG,EAAe,CAClB,GAAIW,GAAM9S,KAAK6S,OACf7S,MAAK6S,QAAUzU,EAEjB0U,GAAOA,EAAIZ,UACXC,GAAiB/T,GAASA,EAAM8T,WAElC5O,GAAiBlG,UAAU8U,QAAU,WACnC,IAAKlS,KAAKgS,WAAY,CACpBhS,KAAKgS,YAAa,CAClB,IAAIc,GAAM9S,KAAK6S,OACf7S,MAAK6S,QAAU,KAEjBC,GAAOA,EAAIZ,UAMb,IAuDIa,KAvDqBpH,GAAGqH,mBAAqB,WAE/C,QAASC,GAAgBL,GACvB5S,KAAK4S,WAAaA,EAClB5S,KAAK4S,WAAWpS,QAChBR,KAAKkT,iBAAkB,EAmBzB,QAASF,GAAmBJ,GAC1B5S,KAAKmT,qBAAuBP,EAC5B5S,KAAKgS,YAAa,EAClBhS,KAAKoT,mBAAoB,EACzBpT,KAAKQ,MAAQ,EAwBf,MA5CAyS,GAAgB7V,UAAU8U,QAAU,WAC7BlS,KAAK4S,WAAWZ,YAAehS,KAAKkT,kBACvClT,KAAKkT,iBAAkB,EACvBlT,KAAK4S,WAAWpS,QACc,IAA1BR,KAAK4S,WAAWpS,OAAeR,KAAK4S,WAAWQ,oBACjDpT,KAAK4S,WAAWZ,YAAa,EAC7BhS,KAAK4S,WAAWO,qBAAqBjB,aAoB3Cc,EAAmB5V,UAAU8U,QAAU,WAChClS,KAAKgS,YAAehS,KAAKoT,oBAC5BpT,KAAKoT,mBAAoB,EACN,IAAfpT,KAAKQ,QACPR,KAAKgS,YAAa,EAClBhS,KAAKmT,qBAAqBjB,aAShCc,EAAmB5V,UAAUmS,cAAgB,WAC3C,MAAOvP,MAAKgS,WAAaS,GAAkB,GAAIQ,GAAgBjT,OAG1DgT,KAGWrH,GAAGC,UAAUmH,cAAgB,SAAUtQ,EAAW4Q,EAAOd,EAAQ1K,EAASyL,GAC5FtT,KAAKyC,UAAYA,EACjBzC,KAAKqT,MAAQA,EACbrT,KAAKuS,OAASA,EACdvS,KAAK6H,QAAUA,EACf7H,KAAKsT,SAAWA,GAAY5G,GAC5B1M,KAAK4S,WAAa,GAAIxP,KAGxB2P,IAAc3V,UAAUmW,OAAS,WAC/BvT,KAAK4S,WAAWrP,cAAcvD,KAAKwT,eAGrCT,GAAc3V,UAAU4T,UAAY,SAAUC,GAC5C,MAAOjR,MAAKsT,SAAStT,KAAK6H,QAASoJ,EAAMpJ,UAG3CkL,GAAc3V,UAAUqW,YAAc,WACpC,MAAOzT,MAAK4S,WAAWZ,YAGzBe,GAAc3V,UAAUoW,WAAa,WACnC,MAAOxT,MAAKuS,OAAOvS,KAAKyC,UAAWzC,KAAKqT,OAI1C,IAAIK,IAAY/H,GAAG+H,UAAa,WAE9B,QAASA,GAAUrL,EAAKsL,EAAUC,EAAkBC,GAClD7T,KAAKqI,IAAMA,EACXrI,KAAK8T,UAAYH,EACjB3T,KAAK+T,kBAAoBH,EACzB5T,KAAKgU,kBAAoBH,EAQ3B,QAASI,GAAaxR,EAAW8P,GAE/B,MADAA,KACOE,GANTiB,EAAU/Q,YAAc,SAAU1B,GAChC,MAAOA,aAAayS,GAQtB,IAAIQ,GAAiBR,EAAUtW,SA4E/B,OArEA8W,GAAeP,SAAW,SAAUpB,GAClC,MAAOvS,MAAK8T,UAAUvB,EAAQ0B,IAShCC,EAAeC,kBAAoB,SAAUd,EAAOd,GAClD,MAAOvS,MAAK8T,UAAUT,EAAOd,IAS/B2B,EAAe3L,qBAAuB,SAAUV,EAAS0K,GACvD,MAAOvS,MAAK+T,kBAAkBxB,EAAQ1K,EAASoM,IAUjDC,EAAeE,6BAA+B,SAAUf,EAAOxL,EAAS0K,GACtE,MAAOvS,MAAK+T,kBAAkBV,EAAOxL,EAAS0K,IAShD2B,EAAepM,qBAAuB,SAAUD,EAAS0K,GACvD,MAAOvS,MAAKgU,kBAAkBzB,EAAQ1K,EAASoM,IAUjDC,EAAeG,6BAA+B,SAAUhB,EAAOxL,EAAS0K,GACtE,MAAOvS,MAAKgU,kBAAkBX,EAAOxL,EAAS0K,IAIhDmB,EAAUrL,IAAM6D,GAOhBwH,EAAUY,UAAY,SAAUC,GAE9B,MADW,GAAXA,IAAiBA,EAAW,GACrBA,GAGFb,KAGLxL,GAAgBwL,GAAUY,UAAW3R,GAAc+Q,GAAU/Q,aAEhE,SAAUuR,GAET,QAASM,GAAmB/R,EAAWgS,GAGrC,QAASC,GAAgBC,GACvBpC,EAAOoC,EAAQ,SAAUC,GACvB,GAAIC,IAAU,EAAOhK,GAAS,EAC9B9G,EAAItB,EAAU0R,kBAAkBS,EAAQ,SAAUE,EAAYC,GAO5D,MANIF,GACFG,EAAMlD,OAAO/N,GAEb8G,GAAS,EAEX6J,EAAgBK,GACTtC,IAEJ5H,KACHmK,EAAMtN,IAAI3D,GACV8Q,GAAU,KAhBhB,GAAIxB,GAAQoB,EAAK,GAAIlC,EAASkC,EAAK,GAAIO,EAAQ,GAAIvN,GAsBnD,OADAiN,GAAgBrB,GACT2B,EAGT,QAASC,GAAcxS,EAAWgS,EAAMS,GAEtC,QAASR,GAAgBC,GACvBpC,EAAOoC,EAAQ,SAAUC,EAAQO,GAC/B,GAAIN,IAAU,EAAOhK,GAAS,EAC9B9G,EAAItB,EAAUyS,GAAQN,EAAQO,EAAU,SAAUL,EAAYC,GAO5D,MANIF,GACFG,EAAMlD,OAAO/N,GAEb8G,GAAS,EAEX6J,EAAgBK,GACTtC,IAEJ5H,KACHmK,EAAMtN,IAAI3D,GACV8Q,GAAU,KAfhB,GAAIxB,GAAQoB,EAAK,GAAIlC,EAASkC,EAAK,GAAIO,EAAQ,GAAIvN,GAoBnD,OADAiN,GAAgBrB,GACT2B,EAGT,QAASI,GAAuB7C,EAAQnK,GACtCmK,EAAO,SAAS8C,GAAMjN,EAAKmK,EAAQ8C,KAQrCnB,EAAeoB,kBAAoB,SAAU/C,GAC3C,MAAOvS,MAAKuV,2BAA2BhD,EAAQ,SAAUiD,EAASpN,GAChEoN,EAAQ,WAAcpN,EAAKoN,QAS/BtB,EAAeqB,2BAA6B,SAAUlC,EAAOd,GAC3D,MAAOvS,MAAKmU,mBAAmBd,EAAOd,GAASiC,IASjDN,EAAe5K,8BAAgC,SAAUzB,EAAS0K,GAChE,MAAOvS,MAAKyV,sCAAsClD,EAAQ1K,EAASuN,IAUrElB,EAAeuB,sCAAwC,SAAUpC,EAAOxL,EAAS0K,GAC/E,MAAOvS,MAAK+T,mBAAmBV,EAAOd,GAAS1K,EAAS,SAAU5G,EAAGgH,GACnE,MAAOgN,GAAchU,EAAGgH,EAAG,mCAU/BiM,EAAewB,8BAAgC,SAAU7N,EAAS0K,GAChE,MAAOvS,MAAKmI,sCAAsCoK,EAAQ1K,EAASuN,IAUrElB,EAAe/L,sCAAwC,SAAUkL,EAAOxL,EAAS0K,GAC/E,MAAOvS,MAAKgU,mBAAmBX,EAAOd,GAAS1K,EAAS,SAAU5G,EAAGgH,GACnE,MAAOgN,GAAchU,EAAGgH,EAAG,oCAG/ByL,GAAUtW,WAEX,WAQCsW,GAAUtW,UAAUuY,iBAAmB,SAAU3N,EAAQuK,GACvD,MAAOvS,MAAKyI,0BAA0B,KAAMT,EAAQuK,IAUtDmB,GAAUtW,UAAUqL,0BAA4B,SAAS4K,EAAOrL,EAAQuK,GACtE,GAAgC,mBAArB7Q,GAAKkU,YAA+B,KAAM,IAAItI,GACzDtF,GAASE,GAAcF,EACvB,IAAI/G,GAAIoS,EAAO1S,EAAKe,EAAKkU,YAAY,WAAc3U,EAAIsR,EAAOtR,IAAO+G,EACrE,OAAOhB,IAAiB,WAActF,EAAKmU,cAAclV,OAG3D+S,GAAUtW,UAGZ,IAqEI0Y,IAAgBC,GArEhBC,GAAqBtC,GAAUuC,UAAa,WAC9C,QAASC,GAAY7C,EAAOd,GAAU,MAAOA,GAAOvS,KAAMqT,GAC1D,MAAO,IAAIK,IAAUxH,GAAYgK,EAAazI,GAAcA,OAM1D7K,GAAyB8Q,GAAUyC,cAAiB,WAGtD,QAASC,KACP,KAAOC,EAAMjd,OAAS,GAAG,CACvB,GAAIuO,GAAO0O,EAAMzE,WAChBjK,EAAK8L,eAAiB9L,EAAK4L,UAIhC,QAAS2C,GAAY7C,EAAOd,GAC1B,GAAI+D,GAAK,GAAIvD,IAAc/S,KAAMqT,EAAOd,EAAQvS,KAAKqI,MAErD,IAAKgO,EAQHA,EAAMxE,QAAQyE,OARJ,CACVD,EAAQ,GAAInF,IAAc,GAC1BmF,EAAMxE,QAAQyE,EAEd,IAAIra,GAASkE,EAASiW,IAEtB,IADAC,EAAQ,KACJpa,IAAWiE,GAAY,MAAOI,GAAQrE,EAAOT,GAInD,MAAO8a,GAAG1D,WAtBZ,GAAIyD,GAyBAE,EAAmB,GAAI7C,IAAUxH,GAAYgK,EAAazI,GAAcA,GAG5E,OAFA8I,GAAiBC,iBAAmB,WAAc,OAAQH,GAEnDE,KAkCLE,IA/B4B9K,GAAGC,UAAU8K,0BAA6B,WACxE,QAASC,GAAKC,EAASC,GACrBA,EAAQ,EAAG7W,KAAK8W,QAChB,KACE9W,KAAK+W,OAAS/W,KAAKwV,QAAQxV,KAAK+W,QAChC,MAAOvb,GAEP,KADAwE,MAAKgX,QAAQ9E,UACP1W,GAIV,QAASkb,GAA0BjU,EAAW4Q,EAAOrL,EAAQuK,GAC3DvS,KAAKiX,WAAaxU,EAClBzC,KAAK+W,OAAS1D,EACdrT,KAAK8W,QAAU9O,EACfhI,KAAKwV,QAAUjD,EAWjB,MARAmE,GAA0BtZ,UAAU8Z,MAAQ,WAC1C,GAAInT,GAAI,GAAIX,GAIZ,OAHApD,MAAKgX,QAAUjT,EACfA,EAAER,cAAcvD,KAAKiX,WAAWxB,sCAAsC,EAAGzV,KAAK8W,QAASH,EAAKxM,KAAKnK,QAE1F+D,GAGF2S,KAKS,WAChB,GAAIS,GAAiBC,EAAoBpL,EACzC,IAAMtK,EAAK2V,WACTF,EAAkBzV,EAAK2V,WACvBD,EAAoB1V,EAAK4V,iBACpB,CAAA,IAAM5V,EAAK6V,QAMhB,KAAM,IAAIjK,GALV6J,GAAkB,SAAU/W,EAAIoX,GAC9B9V,EAAK6V,QAAQE,MAAMD,GACnBpX,KAMJ,OACEiX,WAAYF,EACZG,aAAcF,OAGdD,GAAkBV,GAAWY,WAC/BD,GAAoBX,GAAWa,cAEhC,WAQC,QAASI,GAAQC,GACf,GAAIC,EACFT,GAAgB,WAAcO,EAAQC,IAAW,OAC5C,CACL,GAAIE,GAAOC,EAAcH,EACzB,IAAIE,EAAM,CACRD,GAAmB,CACnB,IAAI3b,GAASkE,EAAS0X,IAGtB,IAFA9B,GAAY4B,GACZC,GAAmB,EACf3b,IAAWiE,GAAY,MAAOI,GAAQrE,EAAOT,KAcvD,QAASuc,KAEP,IAAKrW,EAAKsW,aAAetW,EAAKuW,cAAiB,OAAO,CACtD,IAAIC,IAAU,EAAOC,EAAazW,EAAK0W,SAMvC,OAJA1W,GAAK0W,UAAY,WAAcF,GAAU,GACzCxW,EAAKsW,YAAY,GAAI,KACrBtW,EAAK0W,UAAYD,EAEVD,EAuBP,QAASG,GAAoB5S,GAED,gBAAfA,GAAM6S,MAAqB7S,EAAM6S,KAAKC,UAAU,EAAGC,EAAWpf,UAAYof,GACnFd,EAAQjS,EAAM6S,KAAKC,UAAUC,EAAWpf,SAjE9C,GAAIqf,GAAa,EAAGX,KAAoBF,GAAmB,CAE3D7B,IAAc,SAAU4B,SACfG,GAAcH,GAkBvB,IAAIe,GAAWC,OAAO,IACpBzZ,OAAOzB,IACJmb,QAAQ,sBAAuB,QAC/BA,QAAQ,wBAAyB,OAAS,KAG3CC,EAAiG,mBAA1EA,EAAepN,IAAcD,IAAiBC,GAAWoN,gBACjFH,EAAShK,KAAKmK,IAAiBA,CAelC,IAAInZ,GAAWmZ,GACb/C,GAAiB,SAAUvD,GACzB,GAAI5R,GAAK8X,GAIT,OAHAX,GAAcnX,GAAM4R,EACpBsG,EAAa,WAAcnB,EAAQ/W,KAE5BA,OAEJ,IAAuB,mBAAZmY,UAAyD,wBAA3Brb,SAASlB,KAAKuc,SAC5DhD,GAAiB,SAAUvD,GACzB,GAAI5R,GAAK8X,GAIT,OAHAX,GAAcnX,GAAM4R,EACpBuG,QAAQC,SAAS,WAAcrB,EAAQ/W,KAEhCA,OAEJ,IAAIoX,IAAwB,CACjC,GAAIS,GAAa,iBAAmBtW,KAAK8W,QASrCtX,GAAKqF,iBACPrF,EAAKqF,iBAAiB,UAAWsR,GAAqB,GAC7C3W,EAAKwF,YACdxF,EAAKwF,YAAY,YAAamR,GAE9B3W,EAAK0W,UAAYC,EAGnBvC,GAAiB,SAAUvD,GACzB,GAAI5R,GAAK8X,GAGT,OAFAX,GAAcnX,GAAM4R,EACpB7Q,EAAKsW,YAAYQ,EAAaS,UAAW,KAClCtY,OAEJ,IAAMe,EAAKwX,eAAgB,CAChC,GAAIC,GAAU,GAAIzX,GAAKwX,cAEvBC,GAAQC,MAAMhB,UAAY,SAAU5c,GAAKkc,EAAQlc,EAAE8c,OAEnDxC,GAAiB,SAAUvD,GACzB,GAAI5R,GAAK8X,GAGT,OAFAX,GAAcnX,GAAM4R,EACpB4G,EAAQE,MAAMrB,YAAYrX,GACnBA,OAITmV,IAFS,YAAcpU,IAAQ,sBAAwBA,GAAK6M,SAAS+K,cAAc,UAElE,SAAU/G,GACzB,GAAIgH,GAAgB7X,EAAK6M,SAAS+K,cAAc,UAC5C3Y,EAAK8X,GAUT,OATAX,GAAcnX,GAAM4R,EAEpBgH,EAAcC,mBAAqB,WACjC9B,EAAQ/W,GACR4Y,EAAcC,mBAAqB,KACnCD,EAAcE,WAAWC,YAAYH,GACrCA,EAAgB,MAElB7X,EAAK6M,SAASoL,gBAAgBC,YAAYL,GACnC5Y,GAIQ,SAAU4R,GACzB,GAAI5R,GAAK8X,GAMT,OALAX,GAAcnX,GAAM4R,EACpB4E,GAAgB,WACdO,EAAQ/W,IACP,GAEIA,KAQb,IAAIkZ,IAAmBnG,GAAUoG,QAAUpG,GAAU,WAAa,WAEhE,QAASwC,GAAY7C,EAAOd,GAC1B,GAAI9P,GAAYzC,KAAM4S,EAAa,GAAIxP,IACnCzC,EAAKmV,GAAe,YACrBlD,EAAWZ,YAAcY,EAAWrP,cAAcgP,EAAO9P,EAAW4Q,KAEvE,OAAO,IAAI5L,IAAoBmL,EAAY5L,GAAiB,WAC1D+O,GAAYpV,MAIhB,QAASiT,GAAiBP,EAAOxL,EAAS0K,GACxC,GAAI9P,GAAYzC,KAAMqV,EAAK3B,GAAUY,UAAUzM,GAAU+K,EAAa,GAAIxP,GAC1E,IAAW,IAAPiS,EAAY,MAAO5S,GAAU0R,kBAAkBd,EAAOd,EAC1D,IAAI5R,GAAKwW,GAAgB,YACtBvE,EAAWZ,YAAcY,EAAWrP,cAAcgP,EAAO9P,EAAW4Q,KACpEgC,EACH,OAAO,IAAI5N,IAAoBmL,EAAY5L,GAAiB,WAC1DoQ,GAAkBzW,MAItB,QAASkT,GAAiBR,EAAOxL,EAAS0K,GACxC,MAAOvS,MAAKoU,6BAA6Bf,EAAOxL,EAAU7H,KAAKqI,MAAOkK,GAGxE,MAAO,IAAImB,IAAUxH,GAAYgK,EAAatC,EAAkBC,MAM9DkG,GAAepO,GAAGoO,aAAe,WACnC,QAASA,GAAa1Q,EAAMjL,EAAO0K,EAAWY,EAAQsQ,EAAkBvc,GACtEuC,KAAKqJ,KAAOA,EACZrJ,KAAK5B,MAAQA,EACb4B,KAAK8I,UAAYA,EACjB9I,KAAKia,QAAUvQ,EACf1J,KAAKka,kBAAoBF,EACzBha,KAAKvC,SAAWA,EAoClB,MAxBAsc,GAAa3c,UAAUsM,OAAS,SAAUyQ,EAAkBvW,EAASI,GACnE,MAAOmW,IAAgD,gBAArBA,GAChCna,KAAKka,kBAAkBC,GACvBna,KAAKia,QAAQE,EAAkBvW,EAASI,IAU5C+V,EAAa3c,UAAUgd,aAAe,SAAU3X,GAC9C,GAAI2F,GAAOpI,IAEX,OADA2C,IAAYF,KAAeA,EAAYuT,IAChC,GAAI9S,IAAoB,SAAUrC,GACvC,MAAO4B,GAAU0R,kBAAkB/L,EAAM,SAAUiS,EAAGlR,GACpDA,EAAa+Q,kBAAkBrZ,GACT,MAAtBsI,EAAaE,MAAgBxI,EAASmD,mBAKrC+V,KAQLO,GAA2BP,GAAaQ,aAAgB,WACxD,QAASN,GAAQvW,GAAU,MAAOA,GAAO1D,KAAK5B,OAC9C,QAAS8b,GAAkBrZ,GAAY,MAAOA,GAAS6C,OAAO1D,KAAK5B,OACnE,QAASX,KAAa,MAAO,UAAYuC,KAAK5B,MAAQ,IAEtD,MAAO,UAAUA,GACf,MAAO,IAAI2b,IAAa,IAAK3b,EAAO,KAAM6b,EAASC,EAAmBzc,OASxE+c,GAA4BT,GAAaU,cAAiB,WAC5D,QAASR,GAASvW,EAAQE,GAAW,MAAOA,GAAQ5D,KAAK8I,WACzD,QAASoR,GAAkBrZ,GAAY,MAAOA,GAAS+C,QAAQ5D,KAAK8I,WACpE,QAASrL,KAAc,MAAO,WAAauC,KAAK8I,UAAY,IAE5D,MAAO,UAAUtN,GACf,MAAO,IAAIue,IAAa,IAAK,KAAMve,EAAGye,EAASC,EAAmBzc,OAQlEid,GAAgCX,GAAaY,kBAAqB,WACpE,QAASV,GAASvW,EAAQE,EAASI,GAAe,MAAOA,KACzD,QAASkW,GAAkBrZ,GAAY,MAAOA,GAASmD,cACvD,QAASvG,KAAc,MAAO,gBAE9B,MAAO,YACL,MAAO,IAAIsc,IAAa,IAAK,KAAM,KAAME,EAASC,EAAmBzc,OAIrEmd,GAAajP,GAAGC,UAAUgP,WAAa,SAAUtQ,GACnDtK,KAAK6a,MAAQvQ,EAGfsQ,IAAWxd,UAAUkN,KAAO,WAC1B,MAAOtK,MAAK6a,SAGdD,GAAWxd,UAAU0E,IAAc,WAAc,MAAO9B,MAExD,IAAI8a,IAAanP,GAAGC,UAAUkP,WAAa,SAAUnN,GACnD3N,KAAK+a,UAAYpN,EAGnBmN,IAAW1d,UAAU0E,IAAc,WACjC,MAAO9B,MAAK+a,aAGdD,GAAW1d,UAAUyS,OAAS,WAC5B,GAAIb,GAAUhP,IACd,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAEIgY,GAFAxW,EAAIwT,EAAQlN,MAEAuB,EAAe,GAAIC,IAC/BuF,EAAamN,GAAmBV,kBAAkB,SAAUlN,GAC9D,IAAI4J,EAAJ,CACA,IACE,GAAIgJ,GAAcxf,EAAE8O,OACpB,MAAO3G,GACP,MAAO3J,GAAE4J,QAAQD,GAGnB,GAAIqX,EAAYlN,KACd,MAAO9T,GAAEgK,aAIX,IAAIiX,GAAeD,EAAY5c,KAC/ByF,IAAUoX,KAAkBA,EAAenX,GAAsBmX,GAEjE,IAAIlX,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAAc0X,EAAazX,UAC3B,SAASC,GAAKzJ,EAAE0J,OAAOD,IACvB,SAASmH,GAAO5Q,EAAE4J,QAAQgH,IAC1BxC,MAIJ,OAAO,IAAIX,IAAoBpE,EAAcwF,EAAY7B,GAAiB,WACxEgL,GAAa,QAKnB8I,GAAW1d,UAAU8d,WAAa,WAChC,GAAIlM,GAAUhP,IACd,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAEIgY,GAFAxW,EAAIwT,EAAQlN,MAEAuB,EAAe,GAAIC,IAC/BuF,EAAamN,GAAmBT,2BAA2B,KAAM,SAAU4F,EAAe/S,GAC5F,IAAI4J,EAAJ,CAEA,IACE,GAAIgJ,GAAcxf,EAAE8O,OACpB,MAAO3G,GACP,MAAO9C,UAAS+C,QAAQD,GAG1B,GAAIqX,EAAYlN,KAMd,YALsB,OAAlBqN,EACFnhB,EAAE4J,QAAQuX,GAEVnhB,EAAEgK,cAMN,IAAIiX,GAAeD,EAAY5c,KAC/ByF,IAAUoX,KAAkBA,EAAenX,GAAsBmX,GAEjE,IAAIlX,GAAI,GAAIX,GACZC,GAAaE,cAAcQ,GAC3BA,EAAER,cAAc0X,EAAazX,UAC3B,SAASC,GAAKzJ,EAAE0J,OAAOD,IACvB2E,EACA,WAAapO,EAAEgK,mBAEnB,OAAO,IAAIyD,IAAoBpE,EAAcwF,EAAY7B,GAAiB,WACxEgL,GAAa,QAMnB8I,GAAW1d,UAAUge,eAAiB,SAAUC,GAC9C,GAAIrM,GAAUhP,IACd,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAOIgY,GACFmJ,EAREG,EAAa,GAAIC,IACnBC,EAAW,GAAID,IACfE,EAAUJ,EAAoBC,GAC9BI,EAAyBD,EAAQjY,UAAUgY,GAEzChgB,EAAIwT,EAAQlN,MAIduB,EAAe,GAAIC,IACjBuF,EAAamN,GAAmBV,kBAAkB,SAAUlN,GAC9D,IAAI4J,EAAJ,CAEA,IACE,GAAIgJ,GAAcxf,EAAE8O,OACpB,MAAO3G,GACP,MAAO3J,GAAE4J,QAAQD,GAGnB,GAAIqX,EAAYlN,KAMd,YALIqN,EACFnhB,EAAE4J,QAAQuX,GAEVnhB,EAAEgK,cAMN,IAAIiX,GAAeD,EAAY5c,KAC/ByF,IAAUoX,KAAkBA,EAAenX,GAAsBmX,GAEjE,IAAIU,GAAQ,GAAIvY,IACZwY,EAAQ,GAAIxY,GAChBC,GAAaE,cAAc,GAAIkE,IAAoBmU,EAAOD,IAC1DA,EAAMpY,cAAc0X,EAAazX,UAC/B,SAASC,GAAKzJ,EAAE0J,OAAOD,IACvB,SAAUoY,GACRD,EAAMrY,cAAciY,EAAShY,UAAU4E,EAAM,SAASzE,GACpD3J,EAAE4J,QAAQD,IACT,WACD3J,EAAEgK,iBAGJsX,EAAW5X,OAAOmY,IAEpB,WAAa7hB,EAAEgK,mBAGnB,OAAO,IAAIyD,IAAoBiU,EAAwBrY,EAAcwF,EAAY7B,GAAiB,WAChGgL,GAAa,OAKnB,IAgKI8J,IAhKAC,GAAmBjB,GAAWkB,OAAS,SAAU5d,EAAO6d,GAE1D,MADmB,OAAfA,IAAuBA,EAAc,IAClC,GAAInB,IAAW,WACpB,GAAIzW,GAAO4X,CACX,OAAO,IAAIrB,IAAW,WACpB,MAAa,KAATvW,EAAqBwJ,IACrBxJ,EAAO,GAAKA,KACPyJ,MAAM,EAAO1P,MAAOA,SAK/B8d,GAAepB,GAAWqB,GAAK,SAAUliB,EAAQyK,EAAUC,GAC7D,GAAID,EACF,GAAI0X,GAAavX,GAAaH,EAAUC,EAAS,EAEnD,OAAO,IAAImW,IAAW,WACpB,GAAI5d,GAAQ,EACZ,OAAO,IAAI0d,IACT,WACE,QAAS1d,EAAQjD,EAAOb,QACpB0U,MAAM,EAAO1P,MAAQsG,EAA2B0X,EAAWniB,EAAOiD,GAAQA,EAAOjD,GAAjDA,EAAOiD,IACzC2Q,QAQNwO,GAAW1Q,GAAG0Q,SAAW,aASzBC,GAAiBD,GAAS7J,OAAS,SAAU9O,EAAQE,EAASI,GAIhE,MAHAN,KAAWA,EAASsI,IACpBpI,IAAYA,EAAU+I,IACtB3I,IAAgBA,EAAcgI,IACvB,GAAIuQ,IAAkB7Y,EAAQE,EAASI,IAO5CwY,GAAmB7Q,GAAGC,UAAU4Q,iBAAoB,SAAUC,GAMhE,QAASD,KACPxc,KAAKc,WAAY,EACjB2b,EAAUlgB,KAAKyD,MAsDjB,MA7DA2O,IAAS6N,EAAkBC,GAW3BD,EAAiBpf,UAAUkN,KAAOkD,GAClCgP,EAAiBpf,UAAU3D,MAAQ+T,GACnCgP,EAAiBpf,UAAUsf,UAAYlP,GAMvCgP,EAAiBpf,UAAUsG,OAAS,SAAUtF,GACvC4B,KAAKc,WAAad,KAAKsK,KAAKlM,IAOnCoe,EAAiBpf,UAAUwG,QAAU,SAAUnK,GACxCuG,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAKvG,MAAMA,KAOf+iB,EAAiBpf,UAAU4G,YAAc,WAClChE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAK0c,cAOTF,EAAiBpf,UAAU8U,QAAU,WACnClS,KAAKc,WAAY,GAGnB0b,EAAiBpf,UAAUuf,KAAO,SAAUnhB,GAC1C,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKvG,MAAM+B,IACJ,IAMJghB,GACPH,IAKEE,GAAoB5Q,GAAG4Q,kBAAqB,SAAUE,GASxD,QAASF,GAAkB7Y,EAAQE,EAASI,GAC1CyY,EAAUlgB,KAAKyD,MACfA,KAAK4c,QAAUlZ,EACf1D,KAAK6c,SAAWjZ,EAChB5D,KAAK8c,aAAe9Y,EA0BtB,MAtCA2K,IAAS4N,EAAmBE,GAmB5BF,EAAkBnf,UAAUkN,KAAO,SAAUlM,GAC3C4B,KAAK4c,QAAQxe,IAOfme,EAAkBnf,UAAU3D,MAAQ,SAAUA,GAC5CuG,KAAK6c,SAASpjB,IAMhB8iB,EAAkBnf,UAAUsf,UAAY,WACtC1c,KAAK8c,gBAGAP,GACPC,IAOEO,GAAapR,GAAGoR,WAAa,WAE/B,QAASA,GAAWvZ,GAClB,GAAImI,GAAGE,OAAOoB,kBAAoBtT,GAAW,CAC3C,IACE,KAAM,IAAI4B,OACV,MAAOC,GACPwE,KAAKpG,MAAQ4B,EAAE5B,MAAM2e,UAAU/c,EAAE5B,MAAMC,QAAQ,MAAQ,GAGzD,GAAIuO,GAAOpI,IACXA,MAAKgd,WAAa,SAAUnc,GAC1B,GAAIoc,GAAapc,EAAS+C,QAAQuG,KAAKtJ,EAOvC,OALAA,GAAS+C,QAAU,SAAUgH,GAC3BpR,EAAmBoR,EAAKxC,GACxB6U,EAAWrS,IAGNpH,EAAUjH,KAAK6L,EAAMvH,QAG9Bb,MAAKgd,WAAaxZ,EAiDtB,MA7CAsY,IAAkBiB,EAAW3f,UAS7B0e,GAAgBtY,UAAYsY,GAAgBhM,QAAU,SAAUqK,EAAkBvW,EAASI,GACzF,MAAOhE,MAAKgd,WAAuC,gBAArB7C,GAC5BA,EACAmC,GAAenC,EAAkBvW,EAASI,KAS9C8X,GAAgBoB,gBAAkB,SAAUxZ,EAAQiB,GAClD,MAAO3E,MAAKgd,WAAWV,GAAkC,mBAAZ3X,GAA0B,SAASlB,GAAKC,EAAOnH,KAAKoI,EAASlB,IAAQC,KASpHoY,GAAgBqB,iBAAmB,SAAUvZ,EAASe,GACpD,MAAO3E,MAAKgd,WAAWV,GAAe,KAAyB,mBAAZ3X,GAA0B,SAASnJ,GAAKoI,EAAQrH,KAAKoI,EAASnJ,IAAQoI,KAS3HkY,GAAgBsB,qBAAuB,SAAUpZ,EAAaW,GAC5D,MAAO3E,MAAKgd,WAAWV,GAAe,KAAM,KAAyB,mBAAZ3X,GAA0B,WAAaX,EAAYzH,KAAKoI,IAAcX,KAG1H+Y,KAGLM,GAAiB1R,GAAG0R,eAAkB,SAAUZ,GAGlD,QAASa,GAAcC,GACrB,MAAOA,IAAc7d,GAAW6d,EAAWrL,SAAWqL,EACpD7d,GAAW6d,GAAcvW,GAAiBuW,GAAc9K,GAG5D,QAASlP,GAActC,EAAGoS,GACxB,GAAImK,GAAMnK,EAAM,GAAIjL,EAAOiL,EAAM,GAC7BoK,EAAMtd,EAASiI,EAAKsV,eAAenhB,KAAK6L,EAAMoV,EAElD,OAAIC,KAAQvd,IACNsd,EAAIb,KAAKzc,GAAS1E,OAExBgiB,GAAIja,cAAc+Z,EAAcG,IAFKnd,EAAQJ,GAAS1E,GAKxD,QAASgI,GAAU3C,GACjB,GAAI2c,GAAM,GAAIG,IAAmB9c,GAAWwS,GAASmK,EAAKxd,KAO1D,OALI4C,IAAuB4T,mBACzB5T,GAAuBuR,kBAAkBd,EAAO9P,GAEhDA,EAAc,KAAM8P,GAEfmK,EAGT,QAASH,KACPZ,EAAUlgB,KAAKyD,KAAMwD,GAKvB,MAlCAmL,IAAS0O,EAAgBZ,GAgCzBY,EAAejgB,UAAUsgB,cAAgBlQ,GAElC6P,GACPN,IAEEa,GAAoBjS,GAAGC,UAAUgS,kBAAqB,SAAUnB,GAGlE,QAASmB,GAAkBnb,EAAW5B,GACpC4b,EAAUlgB,KAAKyD,MACfA,KAAKyC,UAAYA,EACjBzC,KAAKa,SAAWA,EAChBb,KAAK6d,YAAa,EAClB7d,KAAK8d,YAAa,EAClB9d,KAAKqW,SACLrW,KAAK4S,WAAa,GAAItP,IAkDxB,MA3DAqL,IAASiP,EAAmBnB,GAY5BmB,EAAkBxgB,UAAUkN,KAAO,SAAUlM,GAC3C,GAAIgK,GAAOpI,IACXA,MAAKqW,MAAMxb,KAAK,WAAcuN,EAAKvH,SAAS6C,OAAOtF,MAGrDwf,EAAkBxgB,UAAU3D,MAAQ,SAAU+B,GAC5C,GAAI4M,GAAOpI,IACXA,MAAKqW,MAAMxb,KAAK,WAAcuN,EAAKvH,SAAS+C,QAAQpI,MAGtDoiB,EAAkBxgB,UAAUsf,UAAY,WACtC,GAAItU,GAAOpI,IACXA,MAAKqW,MAAMxb,KAAK,WAAcuN,EAAKvH,SAASmD,iBAG9C4Z,EAAkBxgB,UAAU2gB,aAAe,WACzC,GAAIC,IAAU,EAAOzb,EAASvC,MACzBA,KAAK8d,YAAc9d,KAAKqW,MAAMjd,OAAS,IAC1C4kB,GAAWhe,KAAK6d,WAChB7d,KAAK6d,YAAa,GAEhBG,GACFhe,KAAK4S,WAAWrP,cAAcvD,KAAKyC,UAAU6S,kBAAkB,SAAUlN,GACvE,GAAI6V,EACJ,MAAI1b,EAAO8T,MAAMjd,OAAS,GAIxB,YADAmJ,EAAOsb,YAAa,EAFpBI,GAAO1b,EAAO8T,MAAM5M,OAKtB,KACEwU,IACA,MAAOta,GAGP,KAFApB,GAAO8T,SACP9T,EAAOub,YAAa,EACdna,EAERyE,QAKNwV,EAAkBxgB,UAAU8U,QAAU,WACpCuK,EAAUrf,UAAU8U,QAAQ3V,KAAKyD,MACjCA,KAAK4S,WAAWV,WAGX0L,GACPpB,IAEE0B,GAAqB,SAASzB,GAEhC,QAASyB,GAAkBjkB,GACzB+F,KAAK/F,OAASA,EACdwiB,EAAUlgB,KAAKyD,MAOjB,MAVA2O,IAASuP,EAAmBzB,GAM5ByB,EAAkB9gB,UAAUsgB,cAAgB,SAAS7c,GACnD,MAAOb,MAAK/F,OAAOuJ,UAAU,GAAI5C,GAAgBC,KAG5Cqd,GACPb,GAOFzc,GAAgBxD,UAAUsG,OAAS,SAAUD,GAASzD,KAAKc,WAAad,KAAK3G,EAAEwB,KAAK4I,IACpF7C,EAAgBxD,UAAUwG,QAAU,SAAUpI,GACvCwE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAKa,SAAS+C,QAAQpI,KAG1BoF,EAAgBxD,UAAU4G,YAAc,WACjChE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAKa,SAAS6C,OAAO1D,KAAK3G,GAC1B2G,KAAKa,SAASmD,gBAGlBpD,EAAgBxD,UAAU8U,QAAU,WAAclS,KAAKc,WAAY,GACnEF,EAAgBxD,UAAUuf,KAAO,SAAUnhB,GACzC,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKa,SAAS+C,QAAQpI,IACf,IAUXsgB,GAAgBqC,QAAU,WACxB,MAAO,IAAID,IAAkBle,OAY/B+c,GAAWvK,OAASuK,GAAWqB,qBAAuB,SAAU5a,EAAWjB,GACzE,MAAO,IAAIW,IAAoBM,EAAWjB,GAW5C,IAAImG,IAAkBqU,GAAWsB,MAAQ,SAAUC,GACjD,MAAO,IAAIpb,IAAoB,SAAUrC,GACvC,GAAI5E,EACJ,KACEA,EAASqiB,IACT,MAAO9iB,GACP,MAAO+iB,IAAgB/iB,GAAGgI,UAAU3C;CAGtC,MADAgD,IAAU5H,KAAYA,EAAS6H,GAAsB7H,IAC9CA,EAAOuH,UAAU3C,MAIxB2d,GAAmB,SAAS/B,GAE9B,QAAS+B,GAAgB/b,GACvBzC,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,QAASye,GAAU5d,EAAU0B,GAC3BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAGhB,QAASmc,GAAazd,EAAGoS,GACvBA,EAAMrP,cAOR,MAxBA2K,IAAS6P,EAAiB/B,GAM1B+B,EAAgBphB,UAAUsgB,cAAgB,SAAU7c,GAClD,GAAI8d,GAAO,GAAIF,GAAU5d,EAAUb,KACnC,OAAO2e,GAAKC,OAYdH,EAAUrhB,UAAUwhB,IAAM,WACxB,MAAO5e,MAAKuC,OAAOE,UAAU0R,kBAAkBnU,KAAKa,SAAU6d,IAGzDF,GACPnB,IAWEwB,GAAkB9B,GAAWrK,MAAQ,SAAUjQ,GAEjD,MADAE,IAAYF,KAAeA,EAAYuT,IAChC,GAAIwI,IAAgB/b,IAGzBqc,GAAkB,SAASrC,GAE7B,QAASqC,GAAeC,EAAUC,EAAQvc,GACxCzC,KAAK+e,SAAWA,EAChB/e,KAAKgf,OAASA,EACdhf,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,MAbA2O,IAASmQ,EAAgBrC,GAQzBqC,EAAe1hB,UAAUsgB,cAAgB,SAAU7c,GACjD,GAAI8d,GAAO,GAAIM,IAASpe,EAAUb,KAClC,OAAO2e,GAAKC,OAGPE,GACPzB,IAEE4B,GAAY,WACd,QAASA,GAASpe,EAAU0B,GAC1BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAoChB,MAjCA0c,GAAS7hB,UAAUwhB,IAAM,WAMvB,QAASM,GAAc3lB,EAAGsd,GACxB,IACE,GAAIvM,GAAOzI,EAAGyI,OACd,MAAO9O,GACP,MAAOqF,GAAS+C,QAAQpI,GAE1B,GAAI8O,EAAKwD,KACP,MAAOjN,GAASmD,aAGlB,IAAI/H,GAASqO,EAAKlM,KAElB,IAAI4gB,EACF,IACE/iB,EAAS+iB,EAAO/iB,EAAQ1C,GACxB,MAAOiC,GACP,MAAOqF,GAAS+C,QAAQpI,GAI5BqF,EAAS6C,OAAOzH,GAChB4a,EAAQtd,EAAI,GA1Bd,GAAI4lB,GAAO3f,OAAOQ,KAAKuC,OAAOwc,UAC1Bld,EAAKD,EAAYud,GACjBte,EAAWb,KAAKa,SAChBme,EAAShf,KAAKuC,OAAOyc,MA0BzB,OAAOhf,MAAKuC,OAAOE,UAAU8S,2BAA2B,EAAG2J,IAGtDD,KAGL5c,GAAiBH,KAAKkd,IAAI,EAAG,IAAM,CAMvCre,GAAe3D,UAAU0E,IAAc,WACrC,MAAO,IAAIZ,GAAelB,KAAKgB,KASjCE,EAAe9D,UAAU0E,IAAc,WACrC,MAAO9B,OAGTkB,EAAe9D,UAAUkN,KAAO,WAC9B,MAAOtK,MAAKoB,GAAKpB,KAAKmB,IAAO2M,MAAM,EAAO1P,MAAO4B,KAAKgB,GAAGqe,OAAOrf,KAAKoB,OAAUyM,IAOjFxM,EAAcjE,UAAU0E,IAAc,WACpC,MAAO,IAAIP,GAAcvB,KAAKsB,KAShCC,EAAcnE,UAAU0E,IAAc,WACpC,MAAO9B,OAGTuB,EAAcnE,UAAUkN,KAAO,WAC7B,MAAOtK,MAAKoB,GAAKpB,KAAKmB,IAAO2M,MAAM,EAAO1P,MAAO4B,KAAKsB,GAAGtB,KAAKoB,OAAUyM,GAiD1E,IAAI5I,IAAiB8X,GAAWuC,KAAO,SAAUP,EAAUQ,EAAO5a,EAASlC,GACzE,GAAgB,MAAZsc,EACF,KAAM,IAAIxjB,OAAM,2BAElB,IAAIgkB,IAAU7f,GAAW6f,GACvB,KAAM,IAAIhkB,OAAM,yCAElB,IAAIgkB,EACF,GAAIP,GAASna,GAAa0a,EAAO5a,EAAS,EAG5C,OADAhC,IAAYF,KAAeA,EAAYG,IAChC,GAAIkc,IAAeC,EAAUC,EAAQvc,IAG1CI,GAAuB,SAAS4Z,GAElC,QAAS5Z,GAAoB6M,EAAMjN,GACjCzC,KAAK0P,KAAOA,EACZ1P,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,MAZA2O,IAAS9L,EAAqB4Z,GAO9B5Z,EAAoBzF,UAAUsgB,cAAgB,SAAU7c,GACtD,GAAI8d,GAAO,GAAIrc,GAAczB,EAAUb,KACvC,OAAO2e,GAAKC,OAGP/b,GACPwa,GAOF/a,GAAclF,UAAUwhB,IAAM,WAE5B,QAASM,GAAc3lB,EAAGsd,GAChB1d,EAAJI,GACFsH,EAAS6C,OAAOgM,EAAKnW,IACrBsd,EAAQtd,EAAI,IAEZsH,EAASmD,cANb,GAAInD,GAAWb,KAAKa,SAAU6O,EAAO1P,KAAKuC,OAAOmN,KAAMvW,EAAMuW,EAAKtW,MAUlE,OAAO4G,MAAKuC,OAAOE,UAAU8S,2BAA2B,EAAG2J,GAS7D,EAAA,GAAIM,IAAsBzC,GAAW0C,UAAY,SAAU/c,EAAOD,GAEhE,MADAE,IAAYF,KAAeA,EAAYG,IAChC,GAAIC,IAAoBH,EAAOD,IAGpCid,GAAmB,SAASjD,GAE9B,QAASiD,KACPjD,EAAUlgB,KAAKyD,MAOjB,MATA2O,IAAS+Q,EAAiBjD,GAK1BiD,EAAgBtiB,UAAUsgB,cAAgB,WACxC,MAAOjL,KAGFiN,GACPrC,GAMoBN,IAAW4C,MAAQ,WACvC,MAAO,IAAID,KAYb3C,GAAWZ,GAAK,WAEd,IAAI,GADAhjB,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EACnD,OAAO,IAAIsJ,IAAoB6M,EAAM9M,KAQvCma,GAAW6C,gBAAkB,SAAUnd,GAErC,IAAI,GADAtJ,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,EAAM,GAC3CI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,EAAI,GAAK0G,UAAU1G,EACvD,OAAO,IAAIsJ,IAAoB6M,EAAMjN,GAGvC,IAAIod,IAAmB,SAASpD,GAE9B,QAASoD,GAAgB9Q,EAAKtM,GAC5BzC,KAAK+O,IAAMA,EACX/O,KAAK8Q,KAAOtR,OAAOsR,KAAK/B,GACxB/O,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,MAbA2O,IAASkR,EAAiBpD,GAQ1BoD,EAAgBziB,UAAUsgB,cAAgB,SAAU7c,GAClD,GAAI8d,GAAO,GAAI7b,GAAUjC,EAAUb,KACnC,OAAO2e,GAAKC,OAGPiB,GACPxC,GAOFva,GAAU1F,UAAUwhB,IAAM,WAExB,QAASM,GAAc3lB,EAAGsd,GACxB,GAAQ1d,EAAJI,EAAS,CACX,GAAIsD,GAAMiU,EAAKvX,EACfsH,GAAS6C,QAAQ7G,EAAKkS,EAAIlS,KAC1Bga,EAAQtd,EAAI,OAEZsH,GAASmD,cAPb,GAAInD,GAAWb,KAAKa,SAAUkO,EAAM/O,KAAKuC,OAAOwM,IAAK+B,EAAO9Q,KAAKuC,OAAOuO,KAAM3X,EAAM2X,EAAK1X,MAWzF,OAAO4G,MAAKuC,OAAOE,UAAU8S,2BAA2B,EAAG2J,IAS7DnC,GAAW+C,MAAQ,SAAU/Q,EAAKtM,GAEhC,MADAA,KAAcA,EAAYG,IACnB,GAAIid,IAAgB9Q,EAAKtM,GAGhC,IAAIsd,IAAmB,SAAStD,GAEhC,QAASsD,GAAgB7I,EAAO1W,EAAOiC,GACrCzC,KAAKkX,MAAQA,EACblX,KAAKQ,MAAQA,EACbR,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,MAbA2O,IAASoR,EAAiBtD,GAQ1BsD,EAAgB3iB,UAAUsgB,cAAgB,SAAU7c,GAClD,GAAI8d,GAAO,GAAIqB,IAAUnf,EAAUb,KACnC,OAAO2e,GAAKC,OAGPmB,GACP1C,IAEE2C,GAAa,WACf,QAASA,GAAUnf,EAAU0B,GAC3BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAiBhB,MAdAyd,GAAU5iB,UAAUwhB,IAAM,WAExB,QAASM,GAAc3lB,EAAGsd,GAChBrW,EAAJjH,GACFsH,EAAS6C,OAAOwT,EAAQ3d,GACxBsd,EAAQtd,EAAI,IAEZsH,EAASmD,cANb,GAAIkT,GAAQlX,KAAKuC,OAAO2U,MAAO1W,EAAQR,KAAKuC,OAAO/B,MAAOK,EAAWb,KAAKa,QAU1E,OAAOb,MAAKuC,OAAOE,UAAU8S,2BAA2B,EAAG2J,IAGtDc,IAUTjD,IAAWkD,MAAQ,SAAU/I,EAAO1W,EAAOiC,GAEzC,MADAE,IAAYF,KAAeA,EAAYG,IAChC,GAAImd,IAAgB7I,EAAO1W,EAAOiC,GAG3C,IAAIyd,IAAoB,SAASzD,GAE/B,QAASyD,GAAiB9hB,EAAO6d,EAAaxZ,GAC5CzC,KAAK5B,MAAQA,EACb4B,KAAKic,YAA6B,MAAfA,EAAsB,GAAKA,EAC9Cjc,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,MAbA2O,IAASuR,EAAkBzD,GAQ3ByD,EAAiB9iB,UAAUsgB,cAAgB,SAAU7c,GACnD,GAAI8d,GAAO,GAAI5b,GAAWlC,EAAUb,KACpC,OAAO2e,GAAKC,OAGPsB,GACP7C,GAOFta,GAAW3F,UAAUwhB,IAAM,WAEzB,QAASM,GAAc3lB,EAAGsd,GAKxB,OAJU,KAANtd,GAAYA,EAAI,KAClBsH,EAAS6C,OAAOtF,GAChB7E,EAAI,GAAKA,KAED,IAANA,EAAkBsH,EAASmD,kBAC/B6S,GAAQtd,GAPV,GAAIsH,GAAWb,KAAKa,SAAUzC,EAAQ4B,KAAKuC,OAAOnE,KAUlD,OAAO4B,MAAKuC,OAAOE,UAAU8S,2BAA2BvV,KAAKuC,OAAO0Z,YAAaiD,IAUnFnC,GAAWf,OAAS,SAAU5d,EAAO6d,EAAaxZ,GAEhD,MADAE,IAAYF,KAAeA,EAAYG,IAChC,GAAIsd,IAAiB9hB,EAAO6d,EAAaxZ,GAGlD,IAAI0d,IAAkB,SAAS1D,GAE7B,QAAS0D,GAAe/hB,EAAOqE,GAC7BzC,KAAK5B,MAAQA,EACb4B,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,QAASogB,GAASvf,EAAU0B,GAC1BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAGhB,QAASmc,GAAazd,EAAGoS,GACvB,GAAIjV,GAAQiV,EAAM,GAAIxS,EAAWwS,EAAM,EACvCxS,GAAS6C,OAAOtF,GAChByC,EAASmD,cAOX,MA3BA2K,IAASwR,EAAgB1D,GAOzB0D,EAAe/iB,UAAUsgB,cAAgB,SAAU7c,GACjD,GAAI8d,GAAO,GAAIyB,GAASvf,EAAUb,KAClC,OAAO2e,GAAKC,OAcdwB,EAAShjB,UAAUwhB,IAAM,WACvB,MAAO5e,MAAKuC,OAAOE,UAAU0R,mBAAmBnU,KAAKuC,OAAOnE,MAAO4B,KAAKa,UAAW6d,IAG9EyB,GACP9C,IAcEgD,IALmBtD,GAAW,UAAYA,GAAW1Q,KAAO0Q,GAAW9W,YAAc,SAAU7H,EAAOqE,GAExG,MADAE,IAAYF,KAAeA,EAAYuT,IAChC,GAAImK,IAAe/hB,EAAOqE,IAGZ,SAASga,GAE9B,QAAS4D,GAAgB5mB,EAAOgJ,GAC9BzC,KAAKvG,MAAQA,EACbuG,KAAKyC,UAAYA,EACjBga,EAAUlgB,KAAKyD,MAQjB,QAASsgB,GAAUzf,EAAU0B,GAC3BvC,KAAKa,SAAWA,EAChBb,KAAKuC,OAASA,EAGhB,QAASmc,GAAazd,EAAGoS,GACvB,GAAI5Z,GAAQ4Z,EAAM,GAAIxS,EAAWwS,EAAM,EACvCxS,GAAS+C,QAAQnK,GAOnB,MA1BAkV,IAAS0R,EAAiB5D,GAO1B4D,EAAgBjjB,UAAUsgB,cAAgB,SAAU7c,GAClD,GAAI8d,GAAO,GAAI2B,GAAUzf,EAAUb,KACnC,OAAO2e,GAAKC,OAad0B,EAAUljB,UAAUwhB,IAAM,WACxB,MAAO5e,MAAKuC,OAAOE,UAAU0R,mBAAmBnU,KAAKuC,OAAO9I,MAAOuG,KAAKa,UAAW6d,IAG9E2B,GACPhD,KASEkB,GAAkBxB,GAAW,SAAWA,GAAWwD,WAAaxD,GAAWyD,eAAiB,SAAU/mB,EAAOgJ,GAE/G,MADAE,IAAYF,KAAeA,EAAYuT,IAChC,GAAIqK,IAAgB5mB,EAAOgJ,GAgCpCqZ,IAAgB,SAAWA,GAAgBZ,WAAaY,GAAgB2E,eAAiB,SAAUC,GACjG,MAAkC,kBAApBA,GACZ1d,EAAuBhD,KAAM0gB,GAC7BC,IAAiB3gB,KAAM0gB,IAQ3B,IAAIC,IAAkB5D,GAAW7B,WAAa6B,GAAW,SAAWA,GAAW0D,eAAiB,WAC9F,GAAIrP,KACJ,IAAI9X,MAAMoX,QAAQzQ,UAAU,IAC1BmR,EAAQnR,UAAU,OAElB,KAAI,GAAI1G,GAAI,EAAGJ,EAAM8G,UAAU7G,OAAYD,EAAJI,EAASA,IAAO6X,EAAMvW,KAAKoF,UAAU1G,GAE9E,OAAO2iB,IAAa9K,GAAO8J,aAY7BY,IAAgB8E,cAAgB,WAE9B,IAAI,GADAznB,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EAMnD,OALID,OAAMoX,QAAQhB,EAAK,IACrBA,EAAK,GAAGxV,QAAQ8F,MAEhB0P,EAAKxV,QAAQ8F,MAER4gB,GAAc7gB,MAAMC,KAAM0P,GAWnC,IAAIkR,IAAgB7D,GAAW6D,cAAgB,WAE7C,IAAI,GADAznB,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EACnD,IAAI4K,GAAiBuL,EAAK9P,KAG1B,OAFAtG,OAAMoX,QAAQhB,EAAK,MAAQA,EAAOA,EAAK,IAEhC,GAAIxM,IAAoB,SAAUlJ,GAQvC,QAASsQ,GAAK/Q,GAEZ,GADAyQ,EAASzQ,IAAK,EACVkR,IAAgBA,EAAcT,EAASU,MAAMC,KAAY,CAC3D,IACE,GAAIH,GAAMrG,EAAepE,MAAM,KAAMwK,GACrC,MAAO/O,GACP,MAAOxB,GAAE4J,QAAQpI,GAEnBxB,EAAE0J,OAAO8G,OACAK,GAAO0F,OAAO,SAAU9M,EAAGod,GAAK,MAAOA,KAAMtnB,IAAMmR,MAAMC,KAClE3Q,EAAEgK,cAIN,QAAS8J,GAAMvU,GACbsR,EAAOtR,IAAK,EACZsR,EAAOH,MAAMC,KAAa3Q,EAAEgK,cAI9B,IAAK,GA3BD4M,GAAIlB,EAAKtW,OACXmL,EAAe,WAAc,OAAO,GACpCyF,EAAWzJ,EAAgBqQ,EAAGrM,GAC9BkG,GAAc,EACdI,EAAStK,EAAgBqQ,EAAGrM,GAC5BgG,EAAS,GAAIjR,OAAMsX,GAqBjBkQ,EAAgB,GAAIxnB,OAAMsX,GACrB3B,EAAM,EAAS2B,EAAN3B,EAASA,KACxB,SAAU1V,GACT,GAAIU,GAASyV,EAAKnW,GAAIwnB,EAAM,GAAI3d,GAChCS,IAAU5J,KAAYA,EAAS6J,GAAsB7J,IACrD8mB,EAAIxd,cAActJ,EAAOuJ,UAAU,SAAUC,GACzC8G,EAAOhR,GAAKkK,EACZ6G,EAAK/Q,IAEP,SAASiC,GAAKxB,EAAE4J,QAAQpI,IACxB,WAAcsS,EAAKvU,MAErBunB,EAAcvnB,GAAKwnB,GACnB9R,EAGJ,OAAO,IAAIxH,IAAoBqZ,IAC9B9gB,MAOL8b,IAAgBjM,OAAS,WACvB,IAAI,GAAIH,MAAWnW,EAAI,EAAGJ,EAAM8G,UAAU7G,OAAYD,EAAJI,EAASA,IAAOmW,EAAK7U,KAAKoF,UAAU1G,GAEtF,OADAmW,GAAKxV,QAAQ8F,MACNghB,GAAiBjhB,MAAM,KAAM2P,GAQtC,IAAIsR,IAAmBjE,GAAWlN,OAAS,WACzC,GAAIH,EACJ,IAAIpW,MAAMoX,QAAQzQ,UAAU,IAC1ByP,EAAOzP,UAAU,OACZ,CACLyP,EAAO,GAAIpW,OAAM2G,UAAU7G,OAC3B,KAAI,GAAIG,GAAI,EAAGJ,EAAM8G,UAAU7G,OAAYD,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,GAE7E,MAAO2iB,IAAaxM,GAAMG,SAO5BiM,IAAgB5W,UAAY4W,GAAgBmF,iBAAmB,WAC7D,MAAOjhB,MAAKkhB,MAAM,GAGpB,IAAIC,IAAmB,SAAU1E,GAG/B,QAAS0E,GAAgBlnB,EAAQmnB,GAC/BphB,KAAK/F,OAASA,EACd+F,KAAKohB,cAAgBA,EACrB3E,EAAUlgB,KAAKyD,MASjB,MAdA2O,IAASwS,EAAiB1E,GAQ1B0E,EAAgB/jB,UAAUsgB,cAAgB,SAAS7c,GACjD,GAAIwgB,GAAI,GAAI5Z,GAEZ,OADA4Z,GAAE3Z,IAAI1H,KAAK/F,OAAOuJ,UAAU,GAAI8d,IAAczgB,EAAUb,KAAKohB,cAAeC,KACrEA,GAGFF,GAEP9D,IAEEiE,GAAiB,WACnB,QAASA,GAActnB,EAAG2P,EAAK0X,GAC7BrhB,KAAKhG,EAAIA,EACTgG,KAAK2J,IAAMA,EACX3J,KAAKqhB,EAAIA,EACTrhB,KAAK8N,MAAO,EACZ9N,KAAK+I,KACL/I,KAAKuhB,YAAc,EACnBvhB,KAAKc,WAAY,EAyCjB,QAAS0gB,GAAcjf,EAAQwe,GAC7B/gB,KAAKuC,OAASA,EACdvC,KAAK+gB,IAAMA,EACX/gB,KAAKc,WAAY,EAiCnB,MA3EFwgB,GAAclkB,UAAUqkB,gBAAkB,SAAUpS,GAClD,GAAI0R,GAAM,GAAI3d,GACdpD,MAAKqhB,EAAE3Z,IAAIqZ,GACXld,GAAUwL,KAAQA,EAAKvL,GAAsBuL,IAC7C0R,EAAIxd,cAAc8L,EAAG7L,UAAU,GAAIge,GAAcxhB,KAAM+gB,MAEzDO,EAAclkB,UAAUsG,OAAS,SAAUge,GACrC1hB,KAAKc,YACJd,KAAKuhB,YAAcvhB,KAAK2J,KACzB3J,KAAKuhB,cACLvhB,KAAKyhB,gBAAgBC,IAErB1hB,KAAK+I,EAAElO,KAAK6mB,KAGhBJ,EAAclkB,UAAUwG,QAAU,SAAUpI,GACrCwE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAKhG,EAAE4J,QAAQpI,KAGnB8lB,EAAclkB,UAAU4G,YAAc,WAC/BhE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAK8N,MAAO,EACS,IAArB9N,KAAKuhB,aAAqBvhB,KAAKhG,EAAEgK,gBAGrCsd,EAAclkB,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GAChEwgB,EAAclkB,UAAUuf,KAAO,SAAUnhB,GACvC,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKhG,EAAE4J,QAAQpI,IACR,IAWXgmB,EAAcpkB,UAAUsG,OAAS,SAAUD,GAASzD,KAAKc,WAAad,KAAKuC,OAAOvI,EAAE0J,OAAOD,IAC3F+d,EAAcpkB,UAAUwG,QAAU,SAAUpI,GACrCwE,KAAKc,YACRd,KAAKc,WAAY,EACjBd,KAAKuC,OAAOvI,EAAE4J,QAAQpI,KAG1BgmB,EAAcpkB,UAAU4G,YAAc,WACpC,IAAIhE,KAAKc,UAAW,CAClBd,KAAKc,WAAY,CACjB,IAAIyB,GAASvC,KAAKuC,MAClBA,GAAO8e,EAAEvP,OAAO9R,KAAK+gB,KACjBxe,EAAOwG,EAAE3P,OAAS,EACpBmJ,EAAOkf,gBAAgBlf,EAAOwG,EAAEU,UAEhClH,EAAOgf,cACPhf,EAAOuL,MAA+B,IAAvBvL,EAAOgf,aAAqBhf,EAAOvI,EAAEgK,iBAI1Dwd,EAAcpkB,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GAChE0gB,EAAcpkB,UAAUuf,KAAO,SAAUnhB,GACvC,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKuC,OAAOvI,EAAE4J,QAAQpI,IACf,IAMJ8lB,IAiBXxF,IAAgBoF,MAAQ,SAAUS,GAChC,MAAuC,gBAAzBA,GACZC,GAAgB5hB,KAAM2hB,GACtB,GAAIR,IAAgBnhB,KAAM2hB,GAQ9B,IAAIC,IAAkB7E,GAAWmE,MAAQ,WACvC,GAAIze,GAAyBlJ,EAAdyV,KAAiB7V,EAAM8G,UAAU7G,MAChD,IAAK6G,UAAU,GAGR,GAAI0C,GAAY1C,UAAU,IAE/B,IADAwC,EAAYxC,UAAU,GAClB1G,EAAI,EAAOJ,EAAJI,EAASA,IAAOyV,EAAQnU,KAAKoF,UAAU1G,QAGlD,KADAkJ,EAAYuT,GACRzc,EAAI,EAAOJ,EAAJI,EAASA,IAAOyV,EAAQnU,KAAKoF,UAAU1G,QANlD,KADAkJ,EAAYuT,GACRzc,EAAI,EAAOJ,EAAJI,EAASA,IAAOyV,EAAQnU,KAAKoF,UAAU1G,GAWpD,OAHID,OAAMoX,QAAQ1B,EAAQ,MACxBA,EAAUA,EAAQ,IAEbxM,EAAaC,EAAWuM,GAAS3J,YAGtCwc,GAAsB,SAAUpF,GAGlC,QAASoF,GAAmB5nB,GAC1B+F,KAAK/F,OAASA,EACdwiB,EAAUlgB,KAAKyD,MAUjB,MAdA2O,IAASkT,EAAoBpF,GAO7BoF,EAAmBzkB,UAAUsgB,cAAgB,SAAU7c,GACrD,GAAIwgB,GAAI,GAAI5Z,IAAuBqa,EAAI,GAAI1e,GAG3C,OAFAie,GAAE3Z,IAAIoa,GACNA,EAAEve,cAAcvD,KAAK/F,OAAOuJ,UAAU,GAAIue,IAAiBlhB,EAAUwgB,KAC9DA,GAGFQ,GACPxE,IAEE0E,GAAoB,WAEtB,QAASA,GAAiB/nB,EAAGqnB,GAC3BrhB,KAAKhG,EAAIA,EACTgG,KAAKqhB,EAAIA,EACTrhB,KAAKc,WAAY,EACjBd,KAAK8N,MAAO,EAmCd,QAAS0T,GAAcjf,EAAQ8e,EAAGN,GAChC/gB,KAAKuC,OAASA,EACdvC,KAAKqhB,EAAIA,EACTrhB,KAAK+gB,IAAMA,EACX/gB,KAAKc,WAAY,EA4BnB,MAjEAihB,GAAiB3kB,UAAUsG,OAAS,SAASge,GAC3C,IAAG1hB,KAAKc,UAAR,CACA,GAAIigB,GAAM,GAAI3d,GACdpD,MAAKqhB,EAAE3Z,IAAIqZ,GAEXld,GAAU6d,KAAiBA,EAAc5d,GAAsB4d,IAE/DX,EAAIxd,cAAcme,EAAYle,UAAU,GAAIge,GAAcxhB,KAAMA,KAAKqhB,EAAGN,OAE1EgB,EAAiB3kB,UAAUwG,QAAU,SAAUpI,GACzCwE,KAAKc,YACPd,KAAKc,WAAY,EACjBd,KAAKhG,EAAE4J,QAAQpI,KAGnBumB,EAAiB3kB,UAAU4G,YAAc,WACnChE,KAAKc,YACPd,KAAKc,WAAY,EACjBd,KAAK8N,MAAO,EACM,IAAlB9N,KAAKqhB,EAAEjoB,QAAgB4G,KAAKhG,EAAEgK,gBAGlC+d,EAAiB3kB,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GACnEihB,EAAiB3kB,UAAUuf,KAAO,SAAUnhB,GAC1C,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKhG,EAAE4J,QAAQpI,IACR,IAYXgmB,EAAcpkB,UAAUsG,OAAS,SAAUD,GAAUzD,KAAKc,WAAad,KAAKuC,OAAOvI,EAAE0J,OAAOD,IAC5F+d,EAAcpkB,UAAUwG,QAAU,SAAUpI,GACtCwE,KAAKc,YACPd,KAAKc,WAAY,EACjBd,KAAKuC,OAAOvI,EAAE4J,QAAQpI,KAG1BgmB,EAAcpkB,UAAU4G,YAAc,WACpC,IAAIhE,KAAKc,UAAW,CAClB,GAAIyB,GAASvC,KAAKuC,MAClBvC,MAAKc,WAAY,EACjByB,EAAO8e,EAAEvP,OAAO9R,KAAK+gB,KACrBxe,EAAOuL,MAA4B,IAApBvL,EAAO8e,EAAEjoB,QAAgBmJ,EAAOvI,EAAEgK,gBAGrDwd,EAAcpkB,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GAChE0gB,EAAcpkB,UAAUuf,KAAO,SAAUnhB,GACvC,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKuC,OAAOvI,EAAE4J,QAAQpI,IACf,IAMJumB,IAQTjG,IAAgBzW,SAAWyW,GAAgBkG,gBAAkB,WAC3D,MAAO,IAAIH,IAAmB7hB,MAGhC,IAAIiiB,IAAiBtW,GAAGsW,eAAiB,SAASC,GAChDliB,KAAK8G,KAAO,sBACZ9G,KAAKmiB,YAAcD,EACnBliB,KAAKmN,QAAU,uDACf5R,MAAMgB,KAAKyD,MAEbiiB,IAAe7kB,UAAY7B,MAAM6B,UAajC2f,GAAWqF,gBAAkB,WAC3B,GAAI1S,EACJ,IAAIpW,MAAMoX,QAAQzQ,UAAU,IAC1ByP,EAAOzP,UAAU,OACZ,CACL,GAAI9G,GAAM8G,UAAU7G,MACpBsW,GAAO,GAAIpW,OAAMH,EACjB,KAAI,GAAII,GAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,GAErD,GAAIU,GAASuI,EAAa,KAAMkN,EAEhC,OAAO,IAAIxM,IAAoB,SAAUlJ,GAMvC,QAASqoB,KACe,IAAlBH,EAAO9oB,OACTY,EAAEgK,cAEFhK,EAAE4J,QADyB,IAAlBse,EAAO9oB,OACN8oB,EAAO,GAEP,GAAID,IAAeC,IAXjC,GAAIlN,GAAQ,GAAIvN,IACdqa,EAAI,GAAI1e,IACRtC,GAAY,EACZohB,IA2CF,OA/BAlN,GAAMtN,IAAIoa,GAEVA,EAAEve,cAActJ,EAAOuJ,UACrB,SAAUke,GACR,GAAIY,GAAoB,GAAIlf,GAC5B4R,GAAMtN,IAAI4a,GAGVze,GAAU6d,KAAiBA,EAAc5d,GAAsB4d,IAE/DY,EAAkB/e,cAAcme,EAAYle,UAC1C,SAAUC,GAAKzJ,EAAE0J,OAAOD,IACxB,SAAUjI,GACR0mB,EAAOrnB,KAAKW,GACZwZ,EAAMlD,OAAOwQ,GACbxhB,GAA8B,IAAjBkU,EAAM5b,QAAgBipB,KAErC,WACErN,EAAMlD,OAAOwQ,GACbxhB,GAA8B,IAAjBkU,EAAM5b,QAAgBipB,QAGzC,SAAU7mB,GACR0mB,EAAOrnB,KAAKW,GACZsF,GAAY,EACK,IAAjBkU,EAAM5b,QAAgBipB,KAExB,WACEvhB,GAAY,EACK,IAAjBkU,EAAM5b,QAAgBipB,OAEnBrN,KASX8G,GAAgByG,UAAY,SAAUtR,GACpC,GAAIhX,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAIwoB,IAAS,EACThb,EAAc,GAAIC,IAAoBxN,EAAOuJ,UAAU,SAAUa,GACnEme,GAAUxoB,EAAE0J,OAAOW,IAClB,SAAU7I,GAAKxB,EAAE4J,QAAQpI,IAAO,WACjCgnB,GAAUxoB,EAAEgK,gBAGdH,IAAUoN,KAAWA,EAAQnN,GAAsBmN,GAEnD,IAAIwR,GAAoB,GAAIrf,GAS5B,OARAoE,GAAYE,IAAI+a,GAChBA,EAAkBlf,cAAc0N,EAAMzN,UAAU,WAC9Cgf,GAAS,EACTC,EAAkBvQ,WACjB,SAAU1W,GAAKxB,EAAE4J,QAAQpI,IAAO,WACjCinB,EAAkBvQ,aAGb1K,GACNvN,IAOL6hB,GAAgB,UAAYA,GAAgB4G,aAAe,WACzD,GAAI1T,GAAUhP,IACd,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,GAAI8hB,IAAY,EACdL,EAAoB,GAAIhf,IACxBxC,GAAY,EACZ8hB,EAAS,EACTvf,EAAe2L,EAAQxL,UACrB,SAAUke,GACR,GAAI3d,GAAI,GAAIX,IAA8BzC,IAAOiiB,CACjDD,IAAY,EACZL,EAAkB/e,cAAcQ,GAGhCF,GAAU6d,KAAiBA,EAAc5d,GAAsB4d,IAE/D3d,EAAER,cAAcme,EAAYle,UAC1B,SAAUC,GAAKmf,IAAWjiB,GAAME,EAAS6C,OAAOD,IAChD,SAAUjI,GAAKonB,IAAWjiB,GAAME,EAAS+C,QAAQpI,IACjD,WACMonB,IAAWjiB,IACbgiB,GAAY,EACZ7hB,GAAaD,EAASmD,mBAI9B,SAAUxI,GAAKqF,EAAS+C,QAAQpI,IAChC,WACEsF,GAAY,GACX6hB,GAAa9hB,EAASmD,eAE7B,OAAO,IAAIyD,IAAoBpE,EAAcif,IAC5CtT,IAQL8M,GAAgB+G,UAAY,SAAU5R,GACpC,GAAIhX,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GAEvC,MADA6J,IAAUoN,KAAWA,EAAQnN,GAAsBmN,IAC5C,GAAIxJ,IACTxN,EAAOuJ,UAAUxJ,GACjBiX,EAAMzN,UAAU,WAAcxJ,EAAEgK,eAAkB,SAAUxI,GAAKxB,EAAE4J,QAAQpI,IAAOwQ,MAEnF/R,IAWL6hB,GAAgBgH,eAAiB,WAE/B,IAAI,GADA3pB,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EACnD,IAAI4K,GAAiBuL,EAAK9P,MAAO3F,EAAS+F,IAE1C,IAAsB,mBAAX/F,GACT,KAAM,IAAIsB,OAAM,oDAElB,IAA8B,kBAAnB4I,GACT,KAAM,IAAI5I,OAAM,sDAMlB,OAJIjC,OAAMoX,QAAQhB,EAAK,MACrBA,EAAOA,EAAK,IAGP,GAAIxM,IAAoB,SAAUrC,GAQvC,IAAK,GAPD0D,GAAe,WAAc,OAAO,GACtCqM,EAAIlB,EAAKtW,OACT4Q,EAAWzJ,EAAgBqQ,EAAGrM,GAC9BkG,GAAc,EACdF,EAAS,GAAIjR,OAAMsX,GAEjBkQ,EAAgB,GAAIxnB,OAAMsX,EAAI,GACzB3B,EAAM,EAAS2B,EAAN3B,EAASA,KACxB,SAAU1V,GACT,GAAI0X,GAAQvB,EAAKnW,GAAIwnB,EAAM,GAAI3d,GAC/BS,IAAUoN,KAAWA,EAAQnN,GAAsBmN,IACnD8P,EAAIxd,cAAc0N,EAAMzN,UAAU,SAAUC,GAC1C8G,EAAOhR,GAAKkK,EACZuG,EAASzQ,IAAK,EACdkR,EAAcT,EAASU,MAAMC,KAC5B9J,EAAS+C,QAAQuG,KAAKtJ,GAAW,eACpCigB,EAAcvnB,GAAKwnB,GACnB9R,EAGJ,IAAI8R,GAAM,GAAI3d,GAiBd,OAhBA2d,GAAIxd,cAActJ,EAAOuJ,UAAU,SAAUC,GAC3C,GAAI+G,GACAuY,GAAatf,GAAGoM,OAAOtF,EAC3B,IAAKE,EAAL,CACA,IACED,EAAMrG,EAAepE,MAAM,KAAMgjB,GACjC,MAAOpf,GAEP,WADA9C,GAAS+C,QAAQD,GAGnB9C,EAAS6C,OAAO8G,KACf3J,EAAS+C,QAAQuG,KAAKtJ,GAAW,WAClCA,EAASmD,iBAEX8c,EAAclQ,GAAKmQ,EAEZ,GAAItZ,IAAoBqZ,IAC9B9gB,OAmCL8b,GAAgBkH,IAAM,WACpB,GAAI1pB,MAAMoX,QAAQzQ,UAAU,IAAO,MAAOgE,GAASlE,MAAMC,KAAMC,UAE/D,KAAI,GADA9G,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EAEnD,IAAIgJ,GAASvC,KAAMmE,EAAiBuL,EAAK9P,KAEzC,OADA8P,GAAKxV,QAAQqI,GACN,GAAIW,IAAoB,SAAUrC,GAKvC,QAASyJ,GAAK/Q,GACZ,GAAIiR,GAAKyY,CACT,IAAIC,EAAOxY,MAAM,SAAUjH,GAAK,MAAOA,GAAErK,OAAS,IAAO,CACvD,IACE6pB,EAAeC,EAAOpe,IAAI,SAAUrB,GAAK,MAAOA,GAAEgG,UAClDe,EAAMrG,EAAepE,MAAMwC,EAAQ0gB,GACnC,MAAOtf,GAEP,WADA9C,GAAS+C,QAAQD,GAGnB9C,EAAS6C,OAAO8G,OACPK,GAAO0F,OAAO,SAAU9M,EAAGod,GAAK,MAAOA,KAAMtnB,IAAMmR,MAAMC,KAClE9J,EAASmD,cAIb,QAAS8J,GAAKvU,GACZsR,EAAOtR,IAAK,EACRsR,EAAOH,MAAM,SAAUjH,GAAK,MAAOA,MACrC5C,EAASmD,cAKb,IAAK,GA5BD4M,GAAIlB,EAAKtW,OACX8pB,EAAS3iB,EAAgBqQ,EAAGpM,GAC5BqG,EAAStK,EAAgBqQ,EAAGrM,GAyB1Buc,EAAgB,GAAIxnB,OAAMsX,GACrB3B,EAAM,EAAS2B,EAAN3B,EAASA,KACzB,SAAW1V,GACT,GAAIU,GAASyV,EAAKnW,GAAIwnB,EAAM,GAAI3d,GAChCS,IAAU5J,KAAYA,EAAS6J,GAAsB7J,IACrD8mB,EAAIxd,cAActJ,EAAOuJ,UAAU,SAAUC,GAC3Cyf,EAAO3pB,GAAGsB,KAAK4I,GACf6G,EAAK/Q,IACJ,SAAUiC,GAAKqF,EAAS+C,QAAQpI,IAAO,WACxCsS,EAAKvU,MAEPunB,EAAcvnB,GAAKwnB,GAClB9R,EAGL,OAAO,IAAIxH,IAAoBqZ,IAC9Bve,IASLwa,GAAWiG,IAAM,WAEf,IAAI,GADA7pB,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EACnD,IAAI6K,GAAQsL,EAAKjG,OACjB,OAAOrF,GAAM4e,IAAIjjB,MAAMqE,EAAOsL,IAQhCqN,GAAW9Y,SAAW,WACpB,GAAI+K,EACJ,IAAI1V,MAAMoX,QAAQzQ,UAAU,IAC1B+O,EAAU/O,UAAU,OACf,CACL,GAAI9G,GAAM8G,UAAU7G,MACpB4V,GAAU,GAAI1V,OAAMH,EACpB,KAAI,GAAII,GAAI,EAAOJ,EAAJI,EAASA,IAAOyV,EAAQzV,GAAK0G,UAAU1G,GAExD,MAAO,IAAI2J,IAAoB,SAAUrC,GAKvC,QAASyJ,GAAK/Q,GACZ,GAAI2pB,EAAOxY,MAAM,SAAUjH,GAAK,MAAOA,GAAErK,OAAS,IAAO,CACvD,GAAIoR,GAAM0Y,EAAOpe,IAAI,SAAUrB,GAAK,MAAOA,GAAEgG,SAC7C5I,GAAS6C,OAAO8G,OACX,IAAIK,EAAO0F,OAAO,SAAU9M,EAAGod,GAAK,MAAOA,KAAMtnB,IAAMmR,MAAMC,IAElE,WADA9J,GAASmD,cAKb,QAAS8J,GAAKvU,GAEZ,MADAsR,GAAOtR,IAAK,EACRsR,EAAOH,MAAMC,QACf9J,GAASmD,cADX,OAOF,IAAK,GAvBD4M,GAAI5B,EAAQ5V,OACd8pB,EAAS3iB,EAAgBqQ,EAAG,WAAc,WAC1C/F,EAAStK,EAAgBqQ,EAAG,WAAc,OAAO,IAoB/CkQ,EAAgB,GAAIxnB,OAAMsX,GACrB3B,EAAM,EAAS2B,EAAN3B,EAASA,KACzB,SAAW1V,GACTunB,EAAcvnB,GAAK,GAAI6J,IACvB0d,EAAcvnB,GAAGgK,cAAcyL,EAAQzV,GAAGiK,UAAU,SAAUC,GAC5Dyf,EAAO3pB,GAAGsB,KAAK4I,GACf6G,EAAK/Q,IACJ,SAAUiC,GAAKqF,EAAS+C,QAAQpI,IAAO,WACxCsS,EAAKvU,OAEN0V,EAGL,OAAO,IAAIxH,IAAoBqZ,MAQnChF,GAAgBqH,aAAe,WAC7B,GAAIlpB,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GAAK,MAAOC,GAAOuJ,UAAUxJ,IAAOgG,OAO/E8b,GAAgBsH,cAAgB,WAC9B,GAAInpB,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,MAAOC,GAAOuJ,UAAU,SAAUC,GAAK,MAAOA,GAAEiG,OAAO1P,IAAO,SAASwB,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAC5GhE,OAcL8b,GAAgBuH,qBAAuB,SAAUC,EAAahQ,GAC5D,GAAIrZ,GAAS+F,IAEb,OADAsT,KAAaA,EAAW/G,IACjB,GAAIrJ,IAAoB,SAAUlJ,GACvC,GAA2BupB,GAAvBC,GAAgB,CACpB,OAAOvpB,GAAOuJ,UAAU,SAAUpF,GAChC,GAAIvB,GAAMuB,CACV,IAAIklB,EACF,IACEzmB,EAAMymB,EAAYllB,GAClB,MAAO5C,GAEP,WADAxB,GAAE4J,QAAQpI,GAId,GAAIgoB,EACF,IACE,GAAIC,GAAiBnQ,EAASiQ,EAAY1mB,GAC1C,MAAOrB,GAEP,WADAxB,GAAE4J,QAAQpI,GAITgoB,GAAkBC,IACrBD,GAAgB,EAChBD,EAAa1mB,EACb7C,EAAE0J,OAAOtF,KAEV,SAAU5C,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClDhE,OAWL8b,GAAgB,MAAQA,GAAgB4H,IAAM5H,GAAgB6H,SAAW,SAAUxJ,EAAkBvW,EAASI,GAC5G,GAAI/J,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,GAAI+iB,IAAezJ,GAAoBza,GAAWya,GAChDmC,GAAenC,GAAoBnO,GAAMpI,GAAWoI,GAAMhI,GAAegI,IACzEmO,CAEF,OAAOlgB,GAAOuJ,UAAU,SAAUC,GAChC,IACEmgB,EAAYlgB,OAAOD,GACnB,MAAOjI,GACPqF,EAAS+C,QAAQpI,GAEnBqF,EAAS6C,OAAOD,IACf,SAAUmH,GACT,IACEgZ,EAAYhgB,QAAQgH,GACpB,MAAOpP,GACPqF,EAAS+C,QAAQpI,GAErBqF,EAAS+C,QAAQgH,IAChB,WACD,IACEgZ,EAAY5f,cACZ,MAAOxI,GACPqF,EAAS+C,QAAQpI,GAEnBqF,EAASmD,iBAEVhE,OAUL8b,GAAgB+H,SAAW/H,GAAgBgI,UAAY,SAAUpgB,EAAQiB,GACvE,MAAO3E,MAAK0jB,IAAuB,mBAAZ/e,GAA0B,SAAUlB,GAAKC,EAAOnH,KAAKoI,EAASlB,IAAQC,IAU/FoY,GAAgBiI,UAAYjI,GAAgBkI,WAAa,SAAUpgB,EAASe,GAC1E,MAAO3E,MAAK0jB,IAAI1X,GAAyB,mBAAZrH,GAA0B,SAAUnJ,GAAKoI,EAAQrH,KAAKoI,EAASnJ,IAAQoI,IAUtGkY,GAAgBmI,cAAgBnI,GAAgBoI,eAAiB,SAAUlgB,EAAaW,GACtF,MAAO3E,MAAK0jB,IAAI1X,GAAM,KAAyB,mBAAZrH,GAA0B,WAAcX,EAAYzH,KAAKoI,IAAcX,IAQ5G8X,GAAgB,WAAaA,GAAgBqI,OAAS,SAAU5R,GAC9D,GAAItY,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,GAAIwC,EACJ,KACEA,EAAepJ,EAAOuJ,UAAU3C,GAChC,MAAOrF,GAEP,KADA+W,KACM/W,EAER,MAAOwL,IAAiB,WACtB,IACE3D,EAAa6O,UACb,MAAO1W,GACP,KAAMA,GACN,QACA+W,QAGHvS,OAML8b,GAAgBsI,cAAgB,SAAU7R,GAExC,MAAOvS,MAAKmkB,OAAO5R,IAOrBuJ,GAAgBuI,eAAiB,WAC/B,GAAIpqB,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,MAAOC,GAAOuJ,UAAUwI,GAAM,SAAUxQ,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAC7E/J,IAOL6hB,GAAgB7S,YAAc,WAC5B,GAAIhP,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,MAAO5G,GAAOuJ,UAAU,SAAUpF,GAChCyC,EAAS6C,OAAO4W,GAAyBlc,KACxC,SAAU5C,GACXqF,EAAS6C,OAAO8W,GAA0Bhf,IAC1CqF,EAASmD,eACR,WACDnD,EAAS6C,OAAOgX,MAChB7Z,EAASmD,iBAEV/J,IAQL6hB,GAAgBE,OAAS,SAAUC,GACjC,MAAOF,IAAiB/b,KAAMic,GAAapM,UAa7CiM,GAAgBwI,MAAQ,SAAUC,GAChC,MAAOxI,IAAiB/b,KAAMukB,GAAYrJ,cAa5CY,GAAgB0I,UAAY,SAAUhJ,GACpC,MAAOO,IAAiB/b,MAAMob,eAAeI,IAY/CM,GAAgB2I,KAAO,WACrB,GAAqBC,GAAMC,EAAvBC,GAAU,EAA0B3qB,EAAS+F,IAQjD,OAPyB,KAArBC,UAAU7G,QACZwrB,GAAU,EACVF,EAAOzkB,UAAU,GACjB0kB,EAAc1kB,UAAU,IAExB0kB,EAAc1kB,UAAU,GAEnB,GAAIiD,IAAoB,SAAUlJ,GACvC,GAAI6qB,GAAiBC,EAAc9a,CACnC,OAAO/P,GAAOuJ,UACZ,SAAUC,IACPuG,IAAaA,GAAW,EACzB,KACM6a,EACFC,EAAeH,EAAYG,EAAcrhB,IAEzCqhB,EAAeF,EAAUD,EAAYD,EAAMjhB,GAAKA,EAChDohB,GAAkB,GAEpB,MAAOrpB,GAEP,WADAxB,GAAE4J,QAAQpI,GAIZxB,EAAE0J,OAAOohB,IAEX,SAAUtpB,GAAKxB,EAAE4J,QAAQpI,IACzB,YACGwO,GAAY4a,GAAW5qB,EAAE0J,OAAOghB,GACjC1qB,EAAEgK,iBAGL/J,IAWL6hB,GAAgBiJ,SAAW,SAAUvkB,GACnC,GAAY,EAARA,EAAa,KAAM,IAAI6M,GAC3B,IAAIpT,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAI+O,KACJ,OAAO9O,GAAOuJ,UAAU,SAAUC,GAChCsF,EAAElO,KAAK4I,GACPsF,EAAE3P,OAASoH,GAASxG,EAAE0J,OAAOqF,EAAEU,UAC9B,SAAUjO,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClD/J,IAWL6hB,GAAgBkJ,UAAY,WAC1B,GAAYviB,GAAWyU,EAAQ,CACzBjX,WAAU7G,QAAUuJ,GAAY1C,UAAU,KAC9CwC,EAAYxC,UAAU,GACtBiX,EAAQ,GAERzU,EAAYuT,EAEd,KAAI,GAAItG,MAAWnW,EAAI2d,EAAO/d,EAAM8G,UAAU7G,OAAYD,EAAJI,EAASA,IAAOmW,EAAK7U,KAAKoF,UAAU1G,GAC1F,OAAO2iB,KAAcsD,GAAoB9P,EAAMjN,GAAYzC,OAAO6P,UAWpEiM,GAAgBmJ,SAAW,SAAUzkB,GACnC,GAAY,EAARA,EAAa,KAAM,IAAI6M,GAC3B,IAAIpT,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAI+O,KACJ,OAAO9O,GAAOuJ,UAAU,SAAUC,GAChCsF,EAAElO,KAAK4I,GACPsF,EAAE3P,OAASoH,GAASuI,EAAEU,SACrB,SAAUjO,GAAKxB,EAAE4J,QAAQpI,IAAO,WACjC,KAAOuN,EAAE3P,OAAS,GAAKY,EAAE0J,OAAOqF,EAAEU,QAClCzP,GAAEgK,iBAEH/J,IAgCL6hB,GAAgBoJ,aAAepJ,GAAgBrX,UAAY,SAAUC,EAAUP,EAAgBQ,GAC7F,MAAIjF,IAAWgF,IAAahF,GAAWyE,GAC9BnE,KAAKyE,UAAU,SAAUhB,EAAGlK,GACjC,GAAI4rB,GAAiBzgB,EAASjB,EAAGlK,EAIjC,OAHAsK,IAAUshB,KAAoBA,EAAiBrhB,GAAsBqhB,KACpEpgB,GAAYogB,IAAmBngB,GAAWmgB,MAAqBA,EAAiBlgB,GAAekgB,IAEzFA,EAAergB,IAAI,SAAU0H,EAAG4Y,GACrC,MAAOjhB,GAAeV,EAAG+I,EAAGjT,EAAG6rB,OAI9B1lB,GAAWgF,GAChBD,EAAUzE,KAAM0E,EAAUC,GAC1BF,EAAUzE,KAAM,WAAc,MAAO0E,KAGzC,IAAI2gB,IAAiB,SAAU5I,GAG7B,QAAS4I,GAAcprB,EAAQyK,EAAUC,GACvC3E,KAAK/F,OAASA,EACd+F,KAAK0E,SAAWG,GAAaH,EAAUC,EAAS,GAChD8X,EAAUlgB,KAAKyD,MAYjB,MAjBA2O,IAAS0W,EAAe5I,GAQxB4I,EAAcjoB,UAAUkoB,YAAc,SAAU5gB,EAAUC,GACxD,GAAIyD,GAAOpI,IACX,OAAO,IAAIqlB,GAAcrlB,KAAK/F,OAAQ,SAAUwJ,EAAGlK,EAAGS,GAAK,MAAO0K,GAASnI,KAAKyD,KAAMoI,EAAK1D,SAASjB,EAAGlK,EAAGS,GAAIT,EAAGS,IAAO2K,IAG1H0gB,EAAcjoB,UAAUsgB,cAAgB,SAAU7c,GAChD,MAAOb,MAAK/F,OAAOuJ,UAAU,GAAI2B,GAAYtE,EAAUb,KAAK0E,SAAU1E,QAGjEqlB,GAEPhI,GAUFlY,GAAY/H,UAAUsG,OAAS,SAASD,GACtC,IAAIzD,KAAKc,UAAT,CACA,GAAI7E,GAASkE,EAASH,KAAK0E,UAAUnI,KAAKyD,KAAMyD,EAAGzD,KAAKzG,IAAKyG,KAAK/F,OAClE,OAAIgC,KAAWiE,GACNF,KAAKa,SAAS+C,QAAQ3H,EAAOT,OAEtCwE,MAAKa,SAAS6C,OAAOzH,KAEvBkJ,EAAY/H,UAAUwG,QAAU,SAAUpI,GACpCwE,KAAKc,YAAad,KAAKc,WAAY,EAAMd,KAAKa,SAAS+C,QAAQpI,KAErE2J,EAAY/H,UAAU4G,YAAc,WAC9BhE,KAAKc,YAAad,KAAKc,WAAY,EAAMd,KAAKa,SAASmD,gBAE7DmB,EAAY/H,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GAC9DqE,EAAY/H,UAAUuf,KAAO,SAAUnhB,GACrC,MAAKwE,MAAKc,WAMH,GALLd,KAAKc,WAAY,EACjBd,KAAKa,SAAS+C,QAAQpI,IACf,IAYXsgB,GAAgBhX,IAAMgX,GAAgByJ,OAAS,SAAU7gB,EAAUC,GACjE,GAAIyX,GAAiC,kBAAb1X,GAA0BA,EAAW,WAAc,MAAOA,GAClF,OAAO1E,gBAAgBqlB,IACrBrlB,KAAKslB,YAAYlJ,EAAYzX,GAC7B,GAAI0gB,IAAcrlB,KAAMoc,EAAYzX,IASxCmX,GAAgB3P,MAAQ,WACtB,GAAIuD,GAAOzP,UAAW9G,EAAM8G,UAAU7G,MACtC,IAAY,IAARD,EAAa,KAAM,IAAIoC,OAAM,sCACjC,OAAOyE,MAAK8E,IAAI,SAAUrB,GAExB,IAAK,GADD+hB,GAAc/hB,EACTlK,EAAI,EAAOJ,EAAJI,EAASA,IAAK,CAC5B,GAAI0O,GAAIud,EAAY9V,EAAKnW,GACzB,IAAiB,mBAAN0O,GAGT,MAAOjP,EAFPwsB,GAAcvd,EAKlB,MAAOud,MAiCX1J,GAAgB2J,WAAa3J,GAAgB1W,QAAU,SAAUV,EAAUP,EAAgBQ,GACzF,MAAIjF,IAAWgF,IAAahF,GAAWyE,GAC9BnE,KAAKoF,QAAQ,SAAU3B,EAAGlK,GAC/B,GAAI4rB,GAAiBzgB,EAASjB,EAAGlK,EAIjC,OAHAsK,IAAUshB,KAAoBA,EAAiBrhB,GAAsBqhB,KACpEpgB,GAAYogB,IAAmBngB,GAAWmgB,MAAqBA,EAAiBlgB,GAAekgB,IAEzFA,EAAergB,IAAI,SAAU0H,EAAG4Y,GACrC,MAAOjhB,GAAeV,EAAG+I,EAAGjT,EAAG6rB,MAEhCzgB,GAEEjF,GAAWgF,GAChBU,EAAQpF,KAAM0E,EAAUC,GACxBS,EAAQpF,KAAM,WAAc,MAAO0E,MAWvCoX,GAAgB4J,aAAe5J,GAAgB6J,cAAgB7J,GAAgB8J,UAAY,SAAUlhB,EAAUC,GAC7G,MAAO3E,MAAKulB,OAAO7gB,EAAUC,GAAS+d,gBAQxC5G,GAAgB+J,KAAO,SAAUrlB,GAC/B,GAAY,EAARA,EAAa,KAAM,IAAI6M,GAC3B,IAAIpT,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAI8rB,GAAYtlB,CAChB,OAAOvG,GAAOuJ,UAAU,SAAUC,GACf,GAAbqiB,EACF9rB,EAAE0J,OAAOD,GAETqiB,KAED,SAAUtqB,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClD/J,IAaL6hB,GAAgBiK,UAAY,SAAUxgB,EAAWZ,GAC/C,GAAI1K,GAAS+F,KACTjC,EAAW8G,GAAaU,EAAWZ,EAAS,EAChD,OAAO,IAAIzB,IAAoB,SAAUlJ,GACvC,GAAIT,GAAI,EAAGyP,GAAU,CACrB,OAAO/O,GAAOuJ,UAAU,SAAUC,GAChC,IAAKuF,EACH,IACEA,GAAWjL,EAAS0F,EAAGlK,IAAKU,GAC5B,MAAOuB,GAEP,WADAxB,GAAE4J,QAAQpI,GAIdwN,GAAWhP,EAAE0J,OAAOD,IACnB,SAAUjI,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClD/J,IAYL6hB,GAAgBkK,KAAO,SAAUxlB,EAAOiC,GACtC,GAAY,EAARjC,EAAa,KAAM,IAAI6M,GAC3B,IAAc,IAAV7M,EAAe,MAAOqe,IAAgBpc,EAC1C,IAAIxI,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAI8rB,GAAYtlB,CAChB,OAAOvG,GAAOuJ,UAAU,SAAUC,GAC5BqiB,IAAc,IAChB9rB,EAAE0J,OAAOD,GACK,IAAdqiB,GAAmB9rB,EAAEgK,gBAEtB,SAAUxI,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClD/J,IAUL6hB,GAAgBmK,UAAY,SAAU1gB,EAAWZ,GAC/C,GAAI1K,GAAS+F,KACTjC,EAAW8G,GAAaU,EAAWZ,EAAS,EAChD,OAAO,IAAIzB,IAAoB,SAAUlJ,GACvC,GAAIT,GAAI,EAAGyP,GAAU,CACrB,OAAO/O,GAAOuJ,UAAU,SAAUC,GAChC,GAAIuF,EAAS,CACX,IACEA,EAAUjL,EAAS0F,EAAGlK,IAAKU,GAC3B,MAAOuB,GAEP,WADAxB,GAAE4J,QAAQpI,GAGRwN,EACFhP,EAAE0J,OAAOD,GAETzJ,EAAEgK,gBAGL,SAAUxI,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAClD/J,GAGL,IAAIisB,IAAoB,SAAUzJ,GAGhC,QAASyJ,GAAiBjsB,EAAQsL,EAAWZ,GAC3C3E,KAAK/F,OAASA,EACd+F,KAAKuF,UAAYV,GAAaU,EAAWZ,EAAS,GAClD8X,EAAUlgB,KAAKyD,MAYjB,MAjBA2O,IAASuX,EAAkBzJ,GAQ3ByJ,EAAiB9oB,UAAUsgB,cAAgB,SAAU7c,GACnD,MAAOb,MAAK/F,OAAOuJ,UAAU,GAAI8B,GAAezE,EAAUb,KAAKuF,UAAWvF,QAG5EkmB,EAAiB9oB,UAAU+oB,eAAiB,SAAS5gB,EAAWZ,GAC9D,GAAIyD,GAAOpI,IACX,OAAO,IAAIkmB,GAAiBlmB,KAAK/F,OAAQ,SAASwJ,EAAGlK,EAAGS,GAAK,MAAOoO,GAAK7C,UAAU9B,EAAGlK,EAAGS,IAAMuL,EAAUhJ,KAAKyD,KAAMyD,EAAGlK,EAAGS,IAAO2K,IAG5HuhB,GAEP7I,GAUF/X,GAAelI,UAAUsG,OAAS,SAASD,GACzC,IAAIzD,KAAKc,UAAT,CACA,GAAIslB,GAAcjmB,EAASH,KAAKuF,WAAWhJ,KAAKyD,KAAMyD,EAAGzD,KAAKzG,IAAKyG,KAAK/F,OACxE,OAAImsB,KAAgBlmB,GACXF,KAAKa,SAAS+C,QAAQwiB,EAAY5qB,QAE3C4qB,GAAepmB,KAAKa,SAAS6C,OAAOD,MAEtC6B,EAAelI,UAAUwG,QAAU,SAAUpI,GACvCwE,KAAKc,YAAad,KAAKc,WAAY,EAAMd,KAAKa,SAAS+C,QAAQpI,KAErE8J,EAAelI,UAAU4G,YAAc,WACjChE,KAAKc,YAAad,KAAKc,WAAY,EAAMd,KAAKa,SAASmD,gBAE7DsB,EAAelI,UAAU8U,QAAU,WAAalS,KAAKc,WAAY,GACjEwE,EAAelI,UAAUuf,KAAO,SAAUnhB,GACxC,MAAKwE,MAAKc,WAKH,GAJLd,KAAKc,WAAY,EACjBd,KAAKa,SAAS+C,QAAQpI,IACf,IAWXsgB,GAAgBvL,OAASuL,GAAgBuK,MAAQ,SAAU9gB,EAAWZ,GACpE,MAAO3E,gBAAgBkmB,IAAmBlmB,KAAKmmB,eAAe5gB,EAAWZ,GACvE,GAAIuhB,IAAiBlmB,KAAMuF,EAAWZ,IAW1CoY,GAAWuJ,aAAe,SAAUtY,EAAMuY,EAAS7hB,GACjD,MAAO,YAEL,IAAI,GADAvL,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EAEnD,OAAO,IAAI2J,IAAoB,SAAUrC,GACvC,QAASoC,KAEP,IAAI,GADA9J,GAAM8G,UAAU7G,OAAQoX,EAAU,GAAIlX,OAAMH,GACxCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOiX,EAAQjX,GAAK0G,UAAU1G,EAEtD,IAAImL,EAAU,CACZ,IACE8L,EAAU9L,EAAS3E,MAAMwmB,EAAS/V,GAClC,MAAOhV,GACP,MAAOqF,GAAS+C,QAAQpI,GAG1BqF,EAAS6C,OAAO8M,OAEZA,GAAQpX,QAAU,EACpByH,EAAS6C,OAAO3D,MAAMc,EAAU2P,GAEhC3P,EAAS6C,OAAO8M,EAIpB3P,GAASmD,cAGX0L,EAAK7U,KAAKoI,GACV+K,EAAKjO,MAAMwmB,EAAS7W,KACnB8W,cAAcC,aAWrB1J,GAAW2J,iBAAmB,SAAU1Y,EAAMuY,EAAS7hB,GACrD,MAAO,YAEL,IAAI,GADAvL,GAAM8G,UAAU7G,OAAQsW,EAAO,GAAIpW,OAAMH,GACrCI,EAAI,EAAOJ,EAAJI,EAASA,IAAOmW,EAAKnW,GAAK0G,UAAU1G,EAEnD,OAAO,IAAI2J,IAAoB,SAAUrC,GACvC,QAASoC,GAAQ2H,GACf,GAAIA,EAEF,WADA/J,GAAS+C,QAAQgH,EAKnB,KAAI,GADAzR,GAAM8G,UAAU7G,OAAQoX,KACpBjX,EAAI,EAAOJ,EAAJI,EAASA,IAAOiX,EAAQjX,EAAI,GAAK0G,UAAU1G,EAE1D,IAAImL,EAAU,CACZ,IACE8L,EAAU9L,EAAS3E,MAAMwmB,EAAS/V,GAClC,MAAOhV,GACP,MAAOqF,GAAS+C,QAAQpI,GAE1BqF,EAAS6C,OAAO8M,OAEZA,GAAQpX,QAAU,EACpByH,EAAS6C,OAAO3D,MAAMc,EAAU2P,GAEhC3P,EAAS6C,OAAO8M,EAIpB3P,GAASmD,cAGX0L,EAAK7U,KAAKoI,GACV+K,EAAKjO,MAAMwmB,EAAS7W,KACnB8W,cAAcC,aAoGrB9a,GAAGE,OAAO8a,iBAAkB,EAa5B5J,GAAW6J,UAAY,SAAU/f,EAASU,EAAW7C,GAEnD,MAAImC,GAAQggB,YACHC,GACL,SAAUC,GAAKlgB,EAAQggB,YAAYtf,EAAWwf,IAC9C,SAAUA,GAAKlgB,EAAQmgB,eAAezf,EAAWwf,IACjDriB,GAICiH,GAAGE,OAAO8a,iBAEa,kBAAf9f,GAAQogB,IAA4C,kBAAhBpgB,GAAQqgB,IAOlD,GAAIhkB,IAAoB,SAAUrC,GACvC,MAAOwG,GACLR,EACAU,EACA,SAAkB/L,GAChB,GAAIgV,GAAUhV,CAEd,IAAIkJ,EACF,IACE8L,EAAU9L,EAASzE,WACnB,MAAO2K,GACP,MAAO/J,GAAS+C,QAAQgH,GAI5B/J,EAAS6C,OAAO8M,OAEnB2W,UAAUV,WAvBFK,GACL,SAAUC,GAAKlgB,EAAQogB,GAAG1f,EAAWwf,IACrC,SAAUA,GAAKlgB,EAAQqgB,IAAI3f,EAAWwf,IACtCriB,GA8BR,IAAIoiB,IAAmB/J,GAAW+J,iBAAmB,SAAUM,EAAYC,EAAe3iB,GACxF,MAAO,IAAIxB,IAAoB,SAAUrC,GACvC,QAASsG,GAAc3L,GACrB,GAAIS,GAAST,CACb,IAAIkJ,EACF,IACEzI,EAASyI,EAASzE,WAClB,MAAO2K,GACP,MAAO/J,GAAS+C,QAAQgH,GAG5B/J,EAAS6C,OAAOzH,GAGlB,GAAIgK,GAAcmhB,EAAWjgB,EAC7B,OAAOH,IAAiB,WAClBqgB,GACFA,EAAclgB,EAAclB,OAG/BkhB,UAAUV,YAQX3iB,GAAwBiZ,GAAWuK,YAAc,SAAUC,GAC7D,MAAO7e,IAAgB,WACrB,GAAI2B,GAAU,GAAIsB,IAAG6b,YASrB,OAPAD,GAAQ1a,KACN,SAAUzO,GACRiM,EAAQ3G,OAAOtF,GACfiM,EAAQrG,eAEVqG,EAAQzG,QAAQuG,KAAKE,IAEhBA,IAeXyR,IAAgB2L,UAAY,SAAUC,GAEpC,GADAA,IAAgBA,EAAc/b,GAAGE,OAAOC,UACnC4b,EAAe,KAAM,IAAIpa,IAAkB,qDAChD,IAAIrT,GAAS+F,IACb,OAAO,IAAI0nB,GAAY,SAAUC,EAASC,GAExC,GAAIxpB,GAAO4L,GAAW,CACtB/P,GAAOuJ,UAAU,SAAUqkB,GACzBzpB,EAAQypB,EACR7d,GAAW,GACV4d,EAAQ,WACT5d,GAAY2d,EAAQvpB,QAU1B2e,GAAW+K,WAAa,SAAUC,GAChC,GAAIR,EACJ,KACEA,EAAUQ,IACV,MAAOvsB,GACP,MAAO+iB,IAAgB/iB,GAEzB,MAAOsI,IAAsByjB,IAoB/BzL,GAAgBkM,UAAY,SAAUC,EAA0BvjB,GAC9D,GAAIzK,GAAS+F,IACb,OAA2C,kBAA7BioB,GACZ,GAAI/kB,IAAoB,SAAUrC,GAChC,GAAIqnB,GAAcjuB,EAAO+tB,UAAUC,IACnC,OAAO,IAAIxgB,IAAoB/C,EAASwjB,GAAa1kB,UAAU3C,GAAWqnB,EAAYC,YACrFluB,GACH,GAAImuB,IAAsBnuB,EAAQguB,IActCnM,GAAgBqL,QAAU,SAAUziB,GAClC,MAAOA,IAAYhF,GAAWgF,GAC5B1E,KAAKgoB,UAAU,WAAc,MAAO,IAAIzM,KAAc7W,GACtD1E,KAAKgoB,UAAU,GAAIzM,MAQvBO,GAAgBuM,MAAQ,WACtB,MAAOroB,MAAKmnB,UAAUV,YAcxB3K,GAAgB0K,YAAc,SAAU9hB,GACtC,MAAOA,IAAYhF,GAAWgF,GAC5B1E,KAAKgoB,UAAU,WAAc,MAAO,IAAIR,KAAmB9iB,GAC3D1E,KAAKgoB,UAAU,GAAIR,MAevB1L,GAAgBwM,aAAe,SAAUC,EAAwBC,GAC/D,MAA4B,KAArBvoB,UAAU7G,OACf4G,KAAKgoB,UAAU,WACb,MAAO,IAAIS,IAAgBD,IAC1BD,GACHvoB,KAAKgoB,UAAU,GAAIS,IAAgBF,KASvCzM,GAAgB4M,WAAa,SAAUF,GACrC,MAAOxoB,MAAKsoB,aAAaE,GAAc/B,YAmBzC3K,GAAgB6M,OAAS,SAAUjkB,EAAUkkB,EAAYC,EAAYpmB,GACnE,MAAOiC,IAAYhF,GAAWgF,GAC5B1E,KAAKgoB,UAAU,WAAc,MAAO,IAAIc,IAAcF,EAAYC,EAAYpmB,IAAeiC,GAC7F1E,KAAKgoB,UAAU,GAAIc,IAAcF,EAAYC,EAAYpmB,KAkB7DqZ,GAAgBiN,YAAc,SAAUH,EAAYC,EAAYpmB,GAC9D,MAAOzC,MAAK2oB,OAAO,KAAMC,EAAYC,EAAYpmB,GAAWgkB,WAG9D,EAAA,GAAI2B,IAAwBzc,GAAGyc,sBAAyB,SAAU3L,GAGhE,QAAS2L,GAAsBnuB,EAAQoQ,GACrC,GACEhH,GADE2lB,GAAkB,EAEpBC,EAAmBhvB,EAAOkpB,cAE5BnjB,MAAKmoB,QAAU,WAOb,MANKa,KACHA,GAAkB,EAClB3lB,EAAe,GAAIoE,IAAoBwhB,EAAiBzlB,UAAU6G,GAAUrD,GAAiB,WAC3FgiB,GAAkB,MAGf3lB,GAGToZ,EAAUlgB,KAAKyD,KAAM,SAAUhG,GAAK,MAAOqQ,GAAQ7G,UAAUxJ,KAgB/D,MAjCA2U,IAASyZ,EAAuB3L,GAoBhC2L,EAAsBhrB,UAAUqpB,SAAW,WACzC,GAAIyC,GAAyB1oB,EAAQ,EAAGvG,EAAS+F,IACjD,OAAO,IAAIkD,IAAoB,SAAUrC,GACrC,GAAIsoB,GAA4B,MAAV3oB,EACpB6C,EAAepJ,EAAOuJ,UAAU3C,EAElC,OADAsoB,KAAkBD,EAA0BjvB,EAAOkuB,WAC5C,WACL9kB,EAAa6O,UACD,MAAV1R,GAAe0oB,EAAwBhX,cAK1CkW,GACPrL,IA2DEqM,GAAqBrM,GAAWsM,SAAW,SAAUrhB,EAAQvF,GAC/D,MAAO+F,GAAiCR,EAAQA,EAAQrF,GAAYF,GAAaA,EAAYoX,IAUzEkD,IAAWuM,MAAQ,SAAUzhB,EAAS0hB,EAAmB9mB,GAC7E,GAAIuF,EAOJ,OANArF,IAAYF,KAAeA,EAAYoX,IACnC0P,IAAsBvwB,GAA0C,gBAAtBuwB,GAC5CvhB,EAASuhB,EACA5mB,GAAY4mB,KACrB9mB,EAAY8mB,GAEV1hB,YAAmByE,OAAQtE,IAAWhP,EACjC4O,EAAoBC,EAAQ2hB,UAAW/mB,GAE5CoF,YAAmByE,OAAQtE,IAAWhP,GACxCgP,EAASuhB,EACFxhB,EAA6BF,EAAQ2hB,UAAWxhB,EAAQvF,IAE1DuF,IAAWhP,EAChBsP,EAAwBT,EAASpF,GACjC+F,EAAiCX,EAASG,EAAQvF,IAuFtDqZ,GAAgB2N,MAAQ,SAAU5hB,EAASpF,GAEzC,MADAE,IAAYF,KAAeA,EAAYoX,IAChChS,YAAmByE,MACxB1C,EAAoB5J,KAAM6H,EAAQ2hB,UAAW/mB,GAC7CkG,EAAwB3I,KAAM6H,EAASpF,IAS3CqZ,GAAgB4N,SAAW5N,GAAgB6N,oBAAsB,SAAU9hB,EAASpF,GAClFE,GAAYF,KAAeA,EAAYoX,GACvC,IAAI5f,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUrC,GACvC,GAA2DzC,GAAvDyK,EAAa,GAAIvF,IAAoBsmB,GAAW,EAAcjpB,EAAK,EACnE0C,EAAepJ,EAAOuJ,UACxB,SAAUC,GACRmmB,GAAW,EACXxrB,EAAQqF,EACR9C,GACA,IAAIsY,GAAYtY,EACdoD,EAAI,GAAIX,GACVyF,GAAWtF,cAAcQ,GACzBA,EAAER,cAAcd,EAAU8F,qBAAqBV,EAAS,WACtD+hB,GAAYjpB,IAAOsY,GAAapY,EAAS6C,OAAOtF,GAChDwrB,GAAW,MAGf,SAAUpuB,GACRqN,EAAWqJ,UACXrR,EAAS+C,QAAQpI,GACjBouB,GAAW,EACXjpB,KAEF,WACEkI,EAAWqJ,UACX0X,GAAY/oB,EAAS6C,OAAOtF,GAC5ByC,EAASmD,cACT4lB,GAAW,EACXjpB,KAEJ,OAAO,IAAI8G,IAAoBpE,EAAcwF,IAC5C7I,OAML8b,GAAgB+N,SAAW,SAAShiB,EAASpF,GAE3C,MAAOzC,MAAK0pB,SAAS7hB,EAASpF,IAahCqZ,GAAgB5S,UAAY,SAAUzG,GAEpC,MADAE,IAAYF,KAAeA,EAAYoX,IAChC7Z,KAAK8E,IAAI,SAAUrB,GACxB,OAASrF,MAAOqF,EAAGyF,UAAWzG,EAAU4F,UAwC5CyT,GAAgBgO,OAAShO,GAAgBiO,eAAiB,SAAUC,EAAmBvnB,GAErF,MADAE,IAAYF,KAAeA,EAAYoX,IACH,gBAAtBmQ,GACZngB,EAAiB7J,KAAMopB,GAAmBY,EAAmBvnB,IAC7DoH,EAAiB7J,KAAMgqB,IAU3BlO,GAAgBhC,QAAU,SAAUjS,EAASoJ,EAAOxO,IACxC,MAATwO,GAAkC,gBAAVA,MAAwBA,EAAQsN,GAAgB,GAAIhjB,OAAM0V,GAAS,aAC5FtO,GAAYF,KAAeA,EAAYoX,GAEvC,IAAI5f,GAAS+F,KAAMiqB,EAAkBpiB,YAAmByE,MACtD,uBACA,sBAEF,OAAO,IAAIpJ,IAAoB,SAAUrC,GASvC,QAASqpB,KACP,GAAIC,GAAOxpB,CACX2oB,GAAM/lB,cAAcd,EAAUwnB,GAAiBpiB,EAAS,WAClDlH,IAAOwpB,IACTtmB,GAAUoN,KAAWA,EAAQnN,GAAsBmN,IACnD5N,EAAaE,cAAc0N,EAAMzN,UAAU3C,QAbjD,GAAIF,GAAK,EACPypB,EAAW,GAAIhnB,IACfC,EAAe,GAAIC,IACnB+mB,GAAW,EACXf,EAAQ,GAAIhmB,GAiCd,OA/BAD,GAAaE,cAAc6mB,GAY3BF,IAEAE,EAAS7mB,cAActJ,EAAOuJ,UAAU,SAAUC,GAC3C4mB,IACH1pB,IACAE,EAAS6C,OAAOD,GAChBymB,MAED,SAAU1uB,GACN6uB,IACH1pB,IACAE,EAAS+C,QAAQpI,KAElB,WACI6uB,IACH1pB,IACAE,EAASmD,kBAGN,GAAIyD,IAAoBpE,EAAcimB,IAC5CrvB,IASL6hB,GAAgBwO,cAAgB,SAAUC,EAAgB9nB,GACxDE,GAAYF,KAAeA,EAAYoX,GACvC,IAAI2Q,IAAYD,GAAkB,CAClC,IAAgB,GAAZC,EAAiB,KAAM,IAAIC,YAAW,+CAC1C,IAAIxwB,GAAS+F,IACb,OAAO,IAAIkD,IAAoB,SAAUlJ,GACvC,GAAI0wB,GAAa,CACjB,OAAOzwB,GAAOuJ,UACZ,SAAUC,GACR,GAAI4E,GAAM5F,EAAU4F,OACD,IAAfqiB,GAAoBriB,EAAMqiB,GAAcF,KAC1CE,EAAariB,EACbrO,EAAE0J,OAAOD,KAEX,SAAUjI,GAAKxB,EAAE4J,QAAQpI,IAAO,WAAcxB,EAAEgK,iBAEnD/J,GAGL,IAAI0wB,IAAsB,SAAUlO,GAIlC,QAASjZ,GAAU3C,GACjB,GAAI+pB,GAAO5qB,KAAK/F,OAAOktB,UACrB9jB,EAAeunB,EAAKpnB,UAAU3C,GAC9BgqB,EAAapY,GAEXqY,EAAW9qB,KAAK+qB,OAAO1H,uBAAuB7f,UAAU,SAAUlF,GAChEA,EACFusB,EAAaD,EAAKzC,WAElB0C,EAAW3Y,UACX2Y,EAAapY,KAIjB,OAAO,IAAIhL,IAAoBpE,EAAcwnB,EAAYC,GAG3D,QAASH,GAAmB1wB,EAAQ8wB,GAClC/qB,KAAK/F,OAASA,EACd+F,KAAKgrB,WAAa,GAAIzP,IAGpBvb,KAAK+qB,OADHA,GAAUA,EAAOvnB,UACLxD,KAAKgrB,WAAW9J,MAAM6J,GAEtB/qB,KAAKgrB,WAGrBvO,EAAUlgB,KAAKyD,KAAMwD,EAAWvJ,GAWlC,MAxCA0U,IAASgc,EAAoBlO,GAgC7BkO,EAAmBvtB,UAAU6tB,MAAQ,WACnCjrB,KAAKgrB,WAAWtnB,QAAO,IAGzBinB,EAAmBvtB,UAAU8tB,OAAS,WACpClrB,KAAKgrB,WAAWtnB,QAAO,IAGlBinB,GAEP5N,GAUFjB,IAAgBgP,SAAW,SAAUC,GACnC,MAAO,IAAIJ,IAAmB3qB,KAAM+qB,GA+DtC,IAAII,IAA8B,SAAU1O,GAI1C,QAASjZ,GAAUxJ,GACjB,GAAYoxB,GAARriB,KAEA1F,EACF+G,EACEpK,KAAK/F,OACL+F,KAAK+qB,OAAO1H,uBAAuB2B,WAAU,GAC7C,SAAU1M,EAAM+S,GACd,OAAS/S,KAAMA,EAAM+S,WAAYA,KAElC7nB,UACC,SAAUgN,GACR,GAAI4a,IAAuBpyB,GAAawX,EAAQ6a,YAAcD,GAG5D,GAFAA,EAAqB5a,EAAQ6a,WAEzB7a,EAAQ6a,WACV,KAAOtiB,EAAE3P,OAAS,GAChBY,EAAE0J,OAAOqF,EAAEU,aAIf2hB,GAAqB5a,EAAQ6a,WAEzB7a,EAAQ6a,WACVrxB,EAAE0J,OAAO8M,EAAQ8H,MAEjBvP,EAAElO,KAAK2V,EAAQ8H,OAIrB,SAAU1N,GAER,KAAO7B,EAAE3P,OAAS,GAChBY,EAAE0J,OAAOqF,EAAEU,QAEbzP,GAAE4J,QAAQgH,IAEZ,WAEE,KAAO7B,EAAE3P,OAAS,GAChBY,EAAE0J,OAAOqF,EAAEU,QAEbzP,GAAEgK,eAGV,OAAOX,GAGT,QAAS8nB,GAA2BlxB,EAAQ8wB,GAC1C/qB,KAAK/F,OAASA,EACd+F,KAAKgrB,WAAa,GAAIzP,IAGpBvb,KAAK+qB,OADHA,GAAUA,EAAOvnB,UACLxD,KAAKgrB,WAAW9J,MAAM6J,GAEtB/qB,KAAKgrB,WAGrBvO,EAAUlgB,KAAKyD,KAAMwD,EAAWvJ,GAWlC,MAvEA0U,IAASwc,EAA4B1O,GA+DrC0O,EAA2B/tB,UAAU6tB,MAAQ,WAC3CjrB,KAAKgrB,WAAWtnB,QAAO,IAGzBynB,EAA2B/tB,UAAU8tB,OAAS,WAC5ClrB,KAAKgrB,WAAWtnB,QAAO,IAGlBynB,GAEPpO,GAWFjB,IAAgBwP,iBAAmB,SAAUjhB,GAC3C,MAAO,IAAI8gB,IAA2BnrB,KAAMqK,GAG9C,IAAIkhB,IAAwB,SAAU9O,GAIpC,QAASjZ,GAAW3C,GAClB,MAAOb,MAAK/F,OAAOuJ,UAAU3C,GAG/B,QAAS0qB,GAAsBtxB,EAAQuxB,EAAa/oB,GAClDga,EAAUlgB,KAAKyD,KAAMwD,EAAWvJ,GAChC+F,KAAKqK,QAAU,GAAIohB,IAAkBD,EAAa/oB,GAClDzC,KAAK/F,OAASA,EAAO+tB,UAAUhoB,KAAKqK,SAASoc,WAO/C,MAhBA9X,IAAS4c,EAAsB9O,GAY/B8O,EAAqBnuB,UAAUsuB,QAAU,SAAUC,GACjD,MAAO3rB,MAAKqK,QAAQqhB,QAAyB,MAAjBC,EAAwB,GAAKA,IAGpDJ,GAEPxO,IAEE0O,GAAqB,SAAUhP,GAEjC,QAASjZ,GAAW3C,GAClB,MAAOb,MAAKqK,QAAQ7G,UAAU3C,GAKhC,QAAS4qB,GAAkBD,EAAa/oB,GACvB,MAAf+oB,IAAwBA,GAAc,GAEtC/O,EAAUlgB,KAAKyD,KAAMwD,GACrBxD,KAAKqK,QAAU,GAAIkR,IACnBvb,KAAKwrB,YAAcA,EACnBxrB,KAAKqW,MAAQmV,KAAmB,KAChCxrB,KAAK4rB,eAAiB,EACtB5rB,KAAK6rB,oBAAsBpZ,GAC3BzS,KAAKvG,MAAQ,KACbuG,KAAK8rB,WAAY,EACjB9rB,KAAK+rB,cAAe,EACpB/rB,KAAKyC,UAAYA,GAAaG,GA0EhC,MAxFA+L,IAAS8c,EAAmBhP,GAiB5B3N,GAAc2c,EAAkBruB,UAAWif,IACzCrY,YAAa,WACXhE,KAAK+rB,cAAe,EACf/rB,KAAKwrB,aAAqC,IAAtBxrB,KAAKqW,MAAMjd,OAGlC4G,KAAKqW,MAAMxb,KAAKkf,GAAaY,qBAF7B3a,KAAKqK,QAAQrG,eAKjBJ,QAAS,SAAUnK,GACjBuG,KAAK8rB,WAAY,EACjB9rB,KAAKvG,MAAQA,EACRuG,KAAKwrB,aAAqC,IAAtBxrB,KAAKqW,MAAMjd,OAGlC4G,KAAKqW,MAAMxb,KAAKkf,GAAaU,cAAchhB,IAF3CuG,KAAKqK,QAAQzG,QAAQnK,IAKzBiK,OAAQ,SAAUtF,GAChB,GAAI4tB,IAAe,CAES,KAAxBhsB,KAAK4rB,eACP5rB,KAAKwrB,aAAexrB,KAAKqW,MAAMxb,KAAKkf,GAAaQ,aAAanc,KAErC,KAAxB4B,KAAK4rB,gBAAmD,IAA1B5rB,KAAK4rB,kBAA2B5rB,KAAKisB,wBACpED,GAAe,GAEjBA,GAAgBhsB,KAAKqK,QAAQ3G,OAAOtF,IAEtC8tB,gBAAiB,SAAUP,GACzB,GAAI3rB,KAAKwrB,YAAa,CACpB,KAAQxrB,KAAKqW,MAAMjd,QAAUuyB,GAAiBA,EAAgB,GAC7D3rB,KAAKqW,MAAMjd,OAAS,GAA4B,MAAvB4G,KAAKqW,MAAM,GAAGhN,MAAe,CACrD,GAAIjF,GAAQpE,KAAKqW,MAAM5M,OACvBrF,GAAMsF,OAAO1J,KAAKqK,SACC,MAAfjG,EAAMiF,KACRsiB,KAEA3rB,KAAKisB,wBACLjsB,KAAKqW,UAIT,OAASsV,cAAgBA,EAAe1lB,YAAmC,IAAtBjG,KAAKqW,MAAMjd,QAGlE,OAASuyB,cAAeA,EAAe1lB,aAAa,IAEtDylB,QAAS,SAAU1pB,GACjBhC,KAAKisB,uBACL,IAAI7jB,GAAOpI,IAaX,OAXAA,MAAK6rB,oBAAsB7rB,KAAKyC,UAAU0R,kBAAkBnS,EAC5D,SAASf,EAAG1H,GACV,GAAI+V,GAAIlH,EAAK8jB,gBAAgB3yB,GAAIusB,EAAYxW,EAAEqc,aAC1Crc,GAAErJ,cACLmC,EAAKwjB,eAAiB9F,EACtB1d,EAAKyjB,oBAAsB7kB,GAAiB,WAC1CoB,EAAKwjB,eAAiB,OAKrB5rB,KAAK6rB,qBAEdI,sBAAuB,WACrBjsB,KAAK6rB,oBAAoB3Z,UACzBlS,KAAK6rB,oBAAsBpZ,MAIxBgZ,GACP1O,GAWFjB,IAAgBqQ,WAAa,SAAUX,EAAa/oB,GAQlD,MANI+oB,IAAe7oB,GAAY6oB,KAC3B/oB,EAAY+oB,EACZA,GAAc,GAGC,MAAfA,IAAwBA,GAAc,GACnC,GAAID,IAAqBvrB,KAAMwrB,EAAa/oB,IAQrDqZ,GAAgBsQ,KAAO,SAAUC,GAG/B,QAASC,KACPryB,EAAOixB,SAHT,GAAIjxB,GAAS+F,KAAKsrB,kBAuBlB,OAjBAe,GAAKxF,YAAY,QAASyF,GAE1BryB,EAAOuJ,UACL,SAAUC,IACP4oB,EAAKE,MAAMrtB,OAAOuE,KAAOxJ,EAAOgxB,SAEnC,SAAUrgB,GACRyhB,EAAKG,KAAK,QAAS5hB,IAErB,YAEGyhB,EAAKI,UAAYJ,EAAKK,MACvBL,EAAKrF,eAAe,QAASsF,KAGjCryB,EAAOixB,SAEAmB,GAQTvQ,GAAgB6Q,UAAY,SAASC,GAGnC,QAASC,GAAqB7yB,GAC5B,OACE8yB,oBAAqB,WACnB,MAAO9yB,IAET+yB,oBAAqB,SAASC,EAAKC,GACjC,MAAOD,GAAItpB,OAAOupB,IAEpBC,sBAAuB,SAASF,GAC9B,MAAOA,GAAIhpB,gBAXjB,GAAI/J,GAAS+F,IAgBb,OAAO,IAAIkD,IAAoB,SAASlJ,GACtC,GAAImzB,GAAQP,EAAWC,EAAqB7yB,GAC5C,OAAOC,GAAOuJ,UACZ,SAASqkB,GACP,IACEsF,EAAM,qBAAqBnzB,EAAG6tB,GAC9B,MAAOrsB,GACPxB,EAAE4J,QAAQpI,KAGd,SAAUA,GAAKxB,EAAE4J,QAAQpI,IACzB,WAAa2xB,EAAM,uBAAuBnzB,MAE3CC,GAGL,IAAIiJ,IAAsByI,GAAGzI,oBAAuB,SAAUuZ,GAI5D,QAASa,GAAcC,GACrB,MAAOA,IAAc7d,GAAW6d,EAAWrL,SAAWqL,EACpD7d,GAAW6d,GAAcvW,GAAiBuW,GAAc9K,GAG5D,QAASlP,GAActC,EAAGoS,GACxB,GAAImK,GAAMnK,EAAM,GAAI7P,EAAY6P,EAAM,GAClCoK,EAAMtd,EAASqD,GAAWga,EAE9B,OAAIC,KAAQvd,IACNsd,EAAIb,KAAKzc,GAAS1E,OAExBgiB,GAAIja,cAAc+Z,EAAcG,IAFKnd,EAAQJ,GAAS1E,GAKxD,QAAS0H,GAAoBM,EAAWjB,GAGtC,QAAStB,GAAEJ,GACT,GAAI2c,GAAM,GAAIG,IAAmB9c,GAAWwS,GAASmK,EAAKha,EAO1D,OALIZ,IAAuB4T,mBACzB5T,GAAuBuR,kBAAkBd,EAAO9P,GAEhDA,EAAc,KAAM8P,GAEfmK,EAVTxd,KAAK/F,OAASsI,EAadka,EAAUlgB,KAAKyD,KAAMiB,GAGvB,MAnCA0N,IAASzL,EAAqBuZ,GAmCvBvZ,GAEP6Z,IAEEY,GAAsB,SAAUlB,GAGlC,QAASkB,GAAmB9c,GAC1B4b,EAAUlgB,KAAKyD,MACfA,KAAKa,SAAWA,EAChBb,KAAK8hB,EAAI,GAAI1e,IALfuL,GAASgP,EAAoBlB,EAQ7B,IAAI2Q,GAA8BzP,EAAmBvgB,SA8BrD,OA5BAgwB,GAA4B9iB,KAAO,SAAUlM,GAC3C,GAAInC,GAASkE,EAASH,KAAKa,SAAS6C,QAAQnH,KAAKyD,KAAKa,SAAUzC,EAC5DnC,KAAWiE,KACbF,KAAKkS,UACL5R,EAAQrE,EAAOT,KAInB4xB,EAA4B3zB,MAAQ,SAAUmR,GAC5C,GAAI3O,GAASkE,EAASH,KAAKa,SAAS+C,SAASrH,KAAKyD,KAAKa,SAAU+J,EACjE5K,MAAKkS,UACLjW,IAAWiE,IAAYI,EAAQrE,EAAOT,IAGxC4xB,EAA4B1Q,UAAY,WACtC,GAAIzgB,GAASkE,EAASH,KAAKa,SAASmD,aAAazH,KAAKyD,KAAKa,SAC3Db,MAAKkS,UACLjW,IAAWiE,IAAYI,EAAQrE,EAAOT,IAGxC4xB,EAA4B7pB,cAAgB,SAAUnF,GAAS4B,KAAK8hB,EAAEve,cAAcnF,IACpFgvB,EAA4B7d,cAAgB,WAAc,MAAOvP,MAAK8hB,EAAEvS,iBAExE6d,EAA4Blb,QAAU,WACpCuK,EAAUrf,UAAU8U,QAAQ3V,KAAKyD,MACjCA,KAAK8hB,EAAE5P,WAGFyL,GACPnB,IAEE6Q,GAAoB,SAAUhjB,EAASxJ,GACzCb,KAAKqK,QAAUA,EACfrK,KAAKa,SAAWA,EAGlBwsB,IAAkBjwB,UAAU8U,QAAU,WACpC,IAAKlS,KAAKqK,QAAQ2H,YAAgC,OAAlBhS,KAAKa,SAAmB,CACtD,GAAIoO,GAAMjP,KAAKqK,QAAQijB,UAAUzzB,QAAQmG,KAAKa,SAC9Cb,MAAKqK,QAAQijB,UAAUlb,OAAOnD,EAAK,GACnCjP,KAAKa,SAAW,MAQpB,IAAI0a,IAAU5P,GAAG4P,QAAW,SAAUkB,GACpC,QAASjZ,GAAU3C,GAEjB,MADA8R,IAAc3S,MACTA,KAAKc,UAINd,KAAKutB,UACP1sB,EAAS+C,QAAQ5D,KAAKvG,OACfgZ,KAET5R,EAASmD,cACFyO,KARLzS,KAAKstB,UAAUzyB,KAAKgG,GACb,GAAIwsB,IAAkBrtB,KAAMa,IAevC,QAAS0a,KACPkB,EAAUlgB,KAAKyD,KAAMwD,GACrBxD,KAAKgS,YAAa,EAClBhS,KAAKc,WAAY,EACjBd,KAAKstB,aACLttB,KAAKutB,UAAW,EAuElB,MAjFA5e,IAAS4M,EAASkB,GAalB3N,GAAcyM,EAAQne,UAAWif,GAASjf,WAKxCowB,aAAc,WAAc,MAAOxtB,MAAKstB,UAAUl0B,OAAS,GAI3D4K,YAAa,WAEX,GADA2O,GAAc3S,OACTA,KAAKc,UAAW,CACnBd,KAAKc,WAAY,CACjB,KAAK,GAAIvH,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGyK,aAGRhE,MAAKstB,UAAUl0B,OAAS,IAO5BwK,QAAS,SAAUnK,GAEjB,GADAkZ,GAAc3S,OACTA,KAAKc,UAAW,CACnBd,KAAKc,WAAY,EACjBd,KAAKvG,MAAQA,EACbuG,KAAKutB,UAAW,CAChB;IAAK,GAAIh0B,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGqK,QAAQnK,EAGhBuG,MAAKstB,UAAUl0B,OAAS,IAO5BsK,OAAQ,SAAUtF,GAEhB,GADAuU,GAAc3S,OACTA,KAAKc,UACR,IAAK,GAAIvH,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGmK,OAAOtF,IAOnB8T,QAAS,WACPlS,KAAKgS,YAAa,EAClBhS,KAAKstB,UAAY,QAUrB/R,EAAQ/I,OAAS,SAAU3R,EAAUnH,GACnC,MAAO,IAAIg0B,IAAiB7sB,EAAUnH,IAGjC6hB,GACPwB,IAMEyK,GAAe7b,GAAG6b,aAAgB,SAAU/K,GAE9C,QAASjZ,GAAU3C,GAGjB,MAFA8R,IAAc3S,MAETA,KAAKc,WAKNd,KAAKutB,SACP1sB,EAAS+C,QAAQ5D,KAAKvG,OACbuG,KAAKgK,UACdnJ,EAAS6C,OAAO1D,KAAK5B,OACrByC,EAASmD,eAETnD,EAASmD,cAGJyO,KAbLzS,KAAKstB,UAAUzyB,KAAKgG,GACb,GAAIwsB,IAAkBrtB,KAAMa,IAqBvC,QAAS2mB,KACP/K,EAAUlgB,KAAKyD,KAAMwD,GAErBxD,KAAKgS,YAAa,EAClBhS,KAAKc,WAAY,EACjBd,KAAKgK,UAAW,EAChBhK,KAAKstB,aACLttB,KAAKutB,UAAW,EA4ElB,MAzFA5e,IAAS6Y,EAAc/K,GAgBvB3N,GAAc0Y,EAAapqB,UAAWif,IAKpCmR,aAAc,WAEZ,MADA7a,IAAc3S,MACPA,KAAKstB,UAAUl0B,OAAS,GAKjC4K,YAAa,WACX,GAAIzK,GAAGJ,CAEP,IADAwZ,GAAc3S,OACTA,KAAKc,UAAW,CACnBd,KAAKc,WAAY,CACjB,IAAI2sB,GAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,MAE9C,IAAI4G,KAAKgK,SACP,IAAKzQ,EAAI,EAAOJ,EAAJI,EAASA,IAAK,CACxB,GAAIS,GAAIyzB,EAAGl0B,EACXS,GAAE0J,OAAO1D,KAAK5B,OACdpE,EAAEgK,kBAGJ,KAAKzK,EAAI,EAAOJ,EAAJI,EAASA,IACnBk0B,EAAGl0B,GAAGyK,aAIVhE,MAAKstB,UAAUl0B,OAAS,IAO5BwK,QAAS,SAAUnK,GAEjB,GADAkZ,GAAc3S,OACTA,KAAKc,UAAW,CACnBd,KAAKc,WAAY,EACjBd,KAAKutB,UAAW,EAChBvtB,KAAKvG,MAAQA,CAEb,KAAK,GAAIF,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGqK,QAAQnK,EAGhBuG,MAAKstB,UAAUl0B,OAAS,IAO5BsK,OAAQ,SAAUtF,GAChBuU,GAAc3S,MACVA,KAAKc,YACTd,KAAK5B,MAAQA,EACb4B,KAAKgK,UAAW,IAKlBkI,QAAS,WACPlS,KAAKgS,YAAa,EAClBhS,KAAKstB,UAAY,KACjBttB,KAAK8I,UAAY,KACjB9I,KAAK5B,MAAQ,QAIVopB,GACPzK,IAEE2Q,GAAmB/hB,GAAG+hB,iBAAoB,SAAUjR,GAGtD,QAASjZ,GAAU3C,GACjB,MAAOb,MAAKtG,WAAW8J,UAAU3C,GAGnC,QAAS6sB,GAAiB7sB,EAAUnH,GAClCsG,KAAKa,SAAWA,EAChBb,KAAKtG,WAAaA,EAClB+iB,EAAUlgB,KAAKyD,KAAMwD,GAevB,MAxBAmL,IAAS+e,EAAkBjR,GAY3B3N,GAAc4e,EAAiBtwB,UAAWif,GAASjf,WACjD4G,YAAa,WACXhE,KAAKa,SAASmD,eAEhBJ,QAAS,SAAUnK,GACjBuG,KAAKa,SAAS+C,QAAQnK,IAExBiK,OAAQ,SAAUtF,GAChB4B,KAAKa,SAAS6C,OAAOtF,MAIlBsvB,GACP3Q,IAME0L,GAAkB9c,GAAG8c,gBAAmB,SAAUhM,GACpD,QAASjZ,GAAU3C,GAEjB,MADA8R,IAAc3S,MACTA,KAAKc,WAKNd,KAAKutB,SACP1sB,EAAS+C,QAAQ5D,KAAKvG,OAEtBoH,EAASmD,cAEJyO,KATLzS,KAAKstB,UAAUzyB,KAAKgG,GACpBA,EAAS6C,OAAO1D,KAAK5B,OACd,GAAIivB,IAAkBrtB,KAAMa,IAgBvC,QAAS4nB,GAAgBrqB,GACvBqe,EAAUlgB,KAAKyD,KAAMwD,GACrBxD,KAAK5B,MAAQA,EACb4B,KAAKstB,aACLttB,KAAKgS,YAAa,EAClBhS,KAAKc,WAAY,EACjBd,KAAKutB,UAAW,EA4ElB,MAxFA5e,IAAS8Z,EAAiBhM,GAe1B3N,GAAc2Z,EAAgBrrB,UAAWif,IAQvCsR,SAAU,WAEN,GADAhb,GAAc3S,MACVA,KAAKutB,SACL,KAAMvtB,MAAKvG,KAEf,OAAOuG,MAAK5B,OAMhBovB,aAAc,WAAc,MAAOxtB,MAAKstB,UAAUl0B,OAAS,GAI3D4K,YAAa,WAEX,GADA2O,GAAc3S,OACVA,KAAKc,UAAT,CACAd,KAAKc,WAAY,CACjB,KAAK,GAAIvH,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGyK,aAGRhE,MAAKstB,UAAUl0B,OAAS,IAM1BwK,QAAS,SAAUnK,GAEjB,GADAkZ,GAAc3S,OACVA,KAAKc,UAAT,CACAd,KAAKc,WAAY,EACjBd,KAAKutB,UAAW,EAChBvtB,KAAKvG,MAAQA,CAEb,KAAK,GAAIF,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGqK,QAAQnK,EAGhBuG,MAAKstB,UAAUl0B,OAAS,IAM1BsK,OAAQ,SAAUtF,GAEhB,GADAuU,GAAc3S,OACVA,KAAKc,UAAT,CACAd,KAAK5B,MAAQA,CACb,KAAK,GAAI7E,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IACzEk0B,EAAGl0B,GAAGmK,OAAOtF,KAMjB8T,QAAS,WACPlS,KAAKgS,YAAa,EAClBhS,KAAKstB,UAAY,KACjBttB,KAAK5B,MAAQ,KACb4B,KAAK8I,UAAY,QAId2f,GACP1L,IAME+L,GAAgBnd,GAAGmd,cAAiB,SAAUrM,GAIhD,QAASmR,GAA0BvjB,EAASxJ,GAC1C,MAAOmG,IAAiB,WACtBnG,EAASqR,WACR7H,EAAQ2H,YAAc3H,EAAQijB,UAAUlb,OAAO/H,EAAQijB,UAAUzzB,QAAQgH,GAAW,KAIzF,QAAS2C,GAAU3C,GACjB,GAAIgtB,GAAK,GAAIjQ,IAAkB5d,KAAKyC,UAAW5B,GAC7CwC,EAAeuqB,EAA0B5tB,KAAM6tB,EACjDlb,IAAc3S,MACdA,KAAK8tB,MAAM9tB,KAAKyC,UAAU4F,OAC1BrI,KAAKstB,UAAUzyB,KAAKgzB,EAEpB,KAAK,GAAIt0B,GAAI,EAAGJ,EAAM6G,KAAK+I,EAAE3P,OAAYD,EAAJI,EAASA,IAC5Cs0B,EAAGnqB,OAAO1D,KAAK+I,EAAExP,GAAG6E,MAUtB,OAPI4B,MAAKutB,SACPM,EAAGjqB,QAAQ5D,KAAKvG,OACPuG,KAAKc,WACd+sB,EAAG7pB,cAGL6pB,EAAG9P,eACI1a,EAWT,QAASylB,GAAcF,EAAYC,EAAYpmB,GAC7CzC,KAAK4oB,WAA2B,MAAdA,EAAqBvmB,EAAiBumB,EACxD5oB,KAAK6oB,WAA2B,MAAdA,EAAqBxmB,EAAiBwmB,EACxD7oB,KAAKyC,UAAYA,GAAaG,GAC9B5C,KAAK+I,KACL/I,KAAKstB,aACLttB,KAAKc,WAAY,EACjBd,KAAKgS,YAAa,EAClBhS,KAAKutB,UAAW,EAChBvtB,KAAKvG,MAAQ,KACbgjB,EAAUlgB,KAAKyD,KAAMwD,GAhDvB,GAAInB,GAAiBH,KAAKkd,IAAI,EAAG,IAAM,CAgIvC,OAlGAzQ,IAASma,EAAerM,GAqBxB3N,GAAcga,EAAc1rB,UAAWif,GAASjf,WAK9CowB,aAAc,WACZ,MAAOxtB,MAAKstB,UAAUl0B,OAAS,GAEjC00B,MAAO,SAAUzlB,GACf,KAAOrI,KAAK+I,EAAE3P,OAAS4G,KAAK4oB,YAC1B5oB,KAAK+I,EAAEU,OAET,MAAOzJ,KAAK+I,EAAE3P,OAAS,GAAMiP,EAAMrI,KAAK+I,EAAE,GAAGsgB,SAAYrpB,KAAK6oB,YAC5D7oB,KAAK+I,EAAEU,SAOX/F,OAAQ,SAAUtF,GAEhB,GADAuU,GAAc3S,OACVA,KAAKc,UAAT,CACA,GAAIuH,GAAMrI,KAAKyC,UAAU4F,KACzBrI,MAAK+I,EAAElO,MAAOwuB,SAAUhhB,EAAKjK,MAAOA,IACpC4B,KAAK8tB,MAAMzlB,EAEX,KAAK,GAAI9O,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IAAK,CAC9E,GAAIsH,GAAW4sB,EAAGl0B,EAClBsH,GAAS6C,OAAOtF,GAChByC,EAASkd,kBAObna,QAAS,SAAUnK,GAEjB,GADAkZ,GAAc3S,OACVA,KAAKc,UAAT,CACAd,KAAKc,WAAY,EACjBd,KAAKvG,MAAQA,EACbuG,KAAKutB,UAAW,CAChB,IAAIllB,GAAMrI,KAAKyC,UAAU4F,KACzBrI,MAAK8tB,MAAMzlB,EACX,KAAK,GAAI9O,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IAAK,CAC9E,GAAIsH,GAAW4sB,EAAGl0B,EAClBsH,GAAS+C,QAAQnK,GACjBoH,EAASkd,eAEX/d,KAAKstB,UAAUl0B,OAAS,IAK1B4K,YAAa,WAEX,GADA2O,GAAc3S,OACVA,KAAKc,UAAT,CACAd,KAAKc,WAAY,CACjB,IAAIuH,GAAMrI,KAAKyC,UAAU4F,KACzBrI,MAAK8tB,MAAMzlB,EACX,KAAK,GAAI9O,GAAI,EAAGk0B,EAAKx0B,EAAW+G,KAAKstB,WAAYn0B,EAAMs0B,EAAGr0B,OAAYD,EAAJI,EAASA,IAAK,CAC9E,GAAIsH,GAAW4sB,EAAGl0B,EAClBsH,GAASmD,cACTnD,EAASkd,eAEX/d,KAAKstB,UAAUl0B,OAAS,IAK1B8Y,QAAS,WACPlS,KAAKgS,YAAa,EAClBhS,KAAKstB,UAAY,QAIdxE,GACP/L,GAKFpR,IAAGoiB,OAAU,SAAUtR,GAGrB,QAASsR,KACPtR,EAAUlgB,KAAKyD,MAajB,MAhBA2O,IAASof,EAAQtR,GASjBsR,EAAO3wB,UAAU6tB,MAAQ,WAAcjrB,KAAK0D,QAAO,IAKnDqqB,EAAO3wB,UAAU8tB,OAAS,WAAclrB,KAAK0D,QAAO,IAE7CqqB,GACPxS,IAEmB,kBAAVyS,SAA6C,gBAAdA,QAAOC,KAAmBD,OAAOC,KACzEvsB,EAAKiK,GAAKA,GAEVqiB,OAAO,WACL,MAAOriB,OAEAR,GAAeG,GAEpBE,IACDF,GAAWF,QAAUO,IAAIA,GAAKA,GAE/BR,EAAYQ,GAAKA,GAInBjK,EAAKiK,GAAKA,EAIZ,IAAItQ,IAAcC,MAElBiB,KAAKyD"}
1
+ {"version":3,"file":"rx.lite.compat.min.js","sources":["rx.lite.compat.js"],"names":["undefined","cloneArray","arr","len","length","a","Array","i","tryCatcher","tryCatchTarget","apply","this","arguments","e","errorObj","tryCatch","fn","isFunction","TypeError","thrower","makeStackTraceLong","error","observable","hasStacks","stack","indexOf","STACK_JUMP_SEPARATOR","stacks","o","source","unshift","concatedStacks","join","filterStackString","stackString","lines","split","desiredLines","line","isInternalFrame","isNodeFrame","push","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rFileName","rStartingLine","rEndingLine","captureLine","Error","firstLine","attempt1","exec","Number","attempt2","attempt3","keysIn","object","result","isObject","support","nonEnumArgs","isArguments","slice","call","skipProto","enumPrototypes","skipErrorProps","enumErrorProps","errorProto","key","nonEnumShadows","objectProto","ctor","constructor","index","dontEnumsLength","prototype","className","stringProto","stringClass","errorClass","toString","nonEnum","nonEnumProps","dontEnums","hasOwnProperty","internalFor","callback","keysFunc","props","internalForIn","isNode","value","deepEquals","b","stackA","stackB","type","otherType","otherClass","argsClass","objectClass","boolClass","dateClass","numberClass","regexpClass","String","isArr","arrayClass","nodeClass","ctorA","argsObject","Object","ctorB","size","pop","arrayInitialize","count","factory","StringIterable","s","_s","StringIterator","_l","_i","ArrayIterable","_a","ArrayIterator","toLength","numberIsFinite","root","isFinite","getIterable","it","$iterator$","sign","number","isNaN","Math","floor","abs","maxSafeInteger","FromArraySink","observer","parent","observableOf","scheduler","array","isScheduler","currentThreadScheduler","FromArrayObservable","PairsSink","RepeatSink","observableCatchHandler","handler","AnonymousObservable","d1","SingleAssignmentDisposable","subscription","SerialDisposable","setDisposable","subscribe","CatchObserver","falseFactory","argumentsToArray","args","emptyArrayFactory","asObservable","InnerObserver","accumulator","hasSeed","seed","hasAccumulation","accumulation","hasValue","isStopped","plucker","x","currentProp","p","createCbObservable","ctx","selector","AsyncSubject","createCbHandler","results","onError","onNext","onCompleted","createNodeObservable","createNodeHandler","err","isNodeList","el","window","StaticNodeList","NodeList","fixEvent","event","stopPropagation","cancelBubble","preventDefault","bubbledKeyCode","keyCode","ctrlKey","defaultPrevented","returnValue","modified","target","srcElement","relatedTarget","fromElement","toElement","c","charCode","keyChar","fromCharCode","ListenDisposable","n","_e","_n","_fn","addEventListener","isDisposed","AttachEventDisposable","attachEvent","LevelOneDisposable","createListener","eventName","createEventListener","disposables","CompositeDisposable","add","item","observableTimerDate","dueTime","scheduleWithAbsolute","observableTimerDateAndPeriod","period","d","normalizeTime","scheduleRecursiveWithAbsoluteAndState","self","now","observableTimerTimeSpan","scheduleWithRelative","observableTimerTimeSpanAndPeriod","schedulePeriodicWithState","observableDefer","observableDelayTimeSpan","active","cancelable","exception","q","running","materialize","timestamp","notification","shouldRun","kind","scheduleRecursiveWithRelative","recurseDueTime","shouldRecurse","shift","accept","max","observableDelayDate","sampleObservable","sampler","sampleSubscribe","atEnd","sourceSubscription","newValue","dispose","combineLatestSource","subject","resultSelector","next","values","hasValueAll","every","identity","res","isDone","objectTypes","function","freeExports","exports","nodeType","freeSelf","freeWindow","freeModule","module","moduleExports","freeGlobal","global","Rx","internals","config","Promise","helpers","noop","defaultNow","Date","defaultComparer","y","isEqual","defaultSubComparer","defaultError","defaultKeySerializer","isPromise","then","isFn","longStackSupport","EmptyError","message","name","ObjectDisposedError","ArgumentOutOfRangeError","NotSupportedError","NotImplementedError","notImplemented","notSupported","Symbol","iterator","Set","doneEnumerator","done","isIterable","isArrayLike","supportNodeClass","bindCallback","func","thisArg","argCount","arg","collection","funcClass","supportsArgsClass","propertyIsEnumerable","document","toLocaleString","valueOf","test","inherits","child","__","addProperties","obj","sources","idx","ln","prop","addRef","xs","r","getDisposable","Function","bind","that","bound","F","concat","forEach","T","k","O","kValue","boxedString","splitString","fun","thisp","map","filter","predicate","t","isArray","searchElement","Infinity","keys","hasDontEnumBug","isDisposable","CompositeDisposablePrototype","remove","shouldDispose","splice","currentDisposables","Disposable","action","disposableCreate","create","disposableEmpty","empty","checkDisposed","disposable","current","old","ScheduledItem","RefCountDisposable","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","state","comparer","invoke","invokeCore","compareTo","other","isCancelled","Scheduler","schedule","scheduleRelative","scheduleAbsolute","_schedule","_scheduleRelative","_scheduleAbsolute","invokeAction","schedulerProto","scheduleWithState","scheduleWithRelativeAndState","scheduleWithAbsoluteAndState","normalize","timeSpan","invokeRecImmediate","pair","innerAction","state2","scheduleWork","_","state3","isAdded","group","invokeRecDate","method","dueTime1","invokeRecDateRelative","invokeRecDateAbsolute","scheduleInnerRecursive","dt","scheduleRecursive","scheduleRecursiveWithState","scheduleRecursiveWithRelativeAndState","scheduleRecursiveWithAbsolute","schedulePeriodic","setInterval","id","clearInterval","scheduleMethod","clearMethod","immediateScheduler","immediate","scheduleNow","currentThread","runTrampoline","queue","si","currentScheduler","scheduleRequired","localTimer","SchedulePeriodicRecursive","tick","command","recurse","_period","_state","_action","_cancel","_scheduler","start","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","runTask","handle","currentlyRunning","task","tasksByHandle","postMessageSupported","postMessage","importScripts","isAsync","oldHandler","onmessage","onGlobalPostMessage","data","substring","MSG_PREFIX","nextHandle","reNative","RegExp","replace","setImmediate","process","nextTick","random","currentId","MessageChannel","channel","port1","port2","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","observableProto","timeoutScheduler","timeout","Notification","acceptObservable","_accept","_acceptObservable","observerOrOnNext","toObservable","notificationCreateOnNext","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","observerCreate","AnonymousObserver","AbstractObserver","__super__","completed","fail","_onNext","_onError","_onCompleted","Observable","makeSubscribe","oldOnError","_subscribe","isObservable","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","ObservableBase","fixSubscriber","subscriber","ado","sub","subscribeCore","AutoDetachObserver","FlatMapObservable","_wrapResult","i2","fromPromise","from","Enumerable","ConcatEnumerableObservable","currentItem","currentValue","observableFromPromise","CatchErrorObservable","lastException","catchError","catchErrorWhen","notificationHandler","exceptions","Subject","notifier","handled","notificationDisposable","outer","inner","exn","ex","RepeatEnumerable","v","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","enumerableOf","of","ScheduledObserver","isAcquired","hasFaulted","ensureActive","isOwner","work","ToArrayObservable","toArray","defer","observableFactory","observableThrow","EmptyObservable","EmptySink","scheduleItem","sink","run","EMPTY_OBSERVABLE","observableEmpty","FromObservable","iterable","mapper","FromSink","loopRecursive","list","pow","charAt","observableFrom","mapFn","observableFromArray","fromArray","NeverObservable","NEVER_OBSERVABLE","never","ofWithScheduler","PairsObservable","pairs","RangeObservable","rangeCount","RangeSink","range","RepeatObservable","JustObservable","JustSink","ThrowObservable","just","ThrowSink","_o","handlerOrSecond","observableCatch","items","combineLatest","j","subscriptions","sad","observableConcat","ConcatObservable","ConcatSink","concatAll","merge","MergeObservable","maxConcurrent","g","MergeObserver","activeCount","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","mergeAll","MergeAllObservable","MergeAllObserver","m","CompositeError","errors","innerErrors","mergeDelayError","setCompletion","innerSubscription","skipUntil","isOpen","left","rightSubscription","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","takeUntil","withLatestFrom","allValues","zip","queues","queuedValues","first","zipIterable","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","distinctUntilChanged","TapObservable","_oN","_oE","_oC","tap","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","IgnoreElementsObservable","ignoreElements","retry","retryCount","retryWhen","ScanObservable","scan","skipLast","startWith","takeLast","flatMapConcat","concatMap","MapObservable","innerMap","internalMap","select","selectorFn","pluck","flatMap","selectMany","flatMapLatest","SkipObservable","skipCount","skip","skipWhile","take","remaining","takeWhile","FilterObservable","innerPredicate","internalFilter","shouldYield","where","fromCallback","fromNodeCallback","removeEventListener","detachEvent","useNativeEvents","fromEvent","element","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","addHandler","removeHandler","innerHandler","FromPromiseObservable","promise","toPromise","promiseCtor","resolve","reject","startAsync","functionAsync","multicast","subjectOrSubjectSelector","connectable","connect","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","windowSize","ReplaySubject","shareReplay","hasSubscription","sourceObservable","connectableSubscription","shouldConnect","observableinterval","interval","timer","periodOrScheduler","getTime","delay","debounce","hasvalue","throttle","sample","throttleLatest","intervalOrSampler","schedulerMethod","createTimer","myId","original","switched","throttleFirst","windowDuration","duration","RangeError","lastOnNext","PausableObservable","conn","connection","pausable","pauser","controller","pause","resume","PausableBufferedObservable","drainQueue","previousShouldFire","shouldFire","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","request","numberOfItems","requestedCount","requestedDisposable","hasFailed","hasCompleted","disposeCurrentRequest","_processRequest","controlled","pipe","dest","onDrain","write","emit","_isStdio","end","transduce","transducer","transformForObserver","@@transducer/init","@@transducer/step","obs","input","@@transducer/result","xform","__subscribe","innerSubscribe","AutoDetachObserverPrototype","InnerSubscription","observers","hasError","hasObservers","os","AnonymousSubject","getValue","createRemovableDisposable","so","_trim","Pauser","define","amd"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
2
- (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(a,b){if(mb&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(qb)){for(var c=[],e=b;e;e=e.source)e.stack&&c.unshift(e.stack);c.unshift(a.stack);var f=c.join("\n"+qb+"\n");a.stack=d(f)}}function d(a){for(var b=a.split("\n"),c=[],d=0,g=b.length;g>d;d++){var h=b[d];e(h)||f(h)||!h||c.push(h)}return c.join("\n")}function e(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===ob&&d>=pb&&Ld>=d}function f(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function g(){if(mb)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=h(c);if(!d)return;return ob=d[0],d[1]}}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=[];if(!Zb(a))return b;Yb.nonEnumArgs&&a.length&&$b(a)&&(a=cc.call(a));var c=Yb.enumPrototypes&&"function"==typeof a,d=Yb.enumErrorProps&&(a===Tb||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(Yb.nonEnumShadows&&a!==Ub){var f=a.constructor,g=-1,h=Fb;if(a===(f&&f.prototype))var i=a===Vb?Pb:a===Tb?Kb:Qb.call(a),j=Xb[i];for(;++g<h;)e=Eb[g],j&&j[e]||!Rb.call(a,e)||b.push(e)}return b}function j(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function k(a,b){return j(a,b,i)}function l(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function m(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=Qb.call(a),h=Qb.call(b);if(g==Gb&&(g=Nb),h==Gb&&(h=Nb),g!=h)return!1;switch(g){case Ib:case Jb:return+a==+b;case Mb:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case Ob:case Pb:return a==String(b)}var i=g==Hb;if(!i){if(g!=Nb||!Yb.nodeClass&&(l(a)||l(b)))return!1;var j=!Yb.argsObject&&$b(a)?Object:a.constructor,n=!Yb.argsObject&&$b(b)?Object:b.constructor;if(!(j==n||Rb.call(a,"constructor")&&Rb.call(b,"constructor")||lb(j)&&j instanceof j&&lb(n)&&n instanceof n||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var o=c.length;o--;)if(c[o]==a)return d[o]==b;var p=0,q=!0;if(c.push(a),d.push(b),i){if(o=a.length,p=b.length,q=p==o)for(;p--;){var r=b[p];if(!(q=m(a[p],r,c,d)))break}}else k(b,function(b,e,f){return Rb.call(f,e)?(p++,q=Rb.call(a,e)&&m(a[e],b,c,d)):void 0}),q&&k(a,function(a,b,c){return Rb.call(c,b)?q=--p>-1:void 0});return c.pop(),d.pop(),q}function n(){try{return _b.apply(this,arguments)}catch(a){return bc.e=a,bc}}function o(a){if(!lb(a))throw new TypeError("fn must be a function");return _b=a,n}function p(a){throw a}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a,b){this.id=a,this.value=b}function t(a){this.observer=a,this.a=[],this.isStopped=!1}function u(){this._s=s}function v(){this._s=s,this._l=s.length,this._i=0}function w(a){this._a=a}function x(a){this._a=a,this._l=B(a),this._i=0}function y(a){return"number"==typeof a&&$.isFinite(a)}function z(b){var c,d=b[yb];if(!d&&"string"==typeof b)return c=new u(b),c[yb]();if(!d&&b.length!==a)return c=new w(b),c[yb]();if(!d)throw new TypeError("Object is not iterable");return b[yb]()}function A(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function B(a){var b=+a.length;return isNaN(b)?0:0!==b&&y(b)?(b=A(b)*Math.floor(Math.abs(b)),0>=b?0:b>$c?$c:b):b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return vc(a)||(a=zc),new ad(b,a)}function E(a,b){this.observer=a,this.parent=b}function F(a,b){this.observer=a,this.parent=b}function G(a,b){return new Dd(function(c){var d=new qc,e=new rc;return e.setDisposable(d),d.setDisposable(a.subscribe(function(a){c.onNext(a)},function(a){try{var d=b(a)}catch(f){return c.onError(f)}kb(d)&&(d=wd(d));var g=new qc;e.setDisposable(g),g.setDisposable(d.subscribe(c))},function(a){c.onCompleted(a)})),e},a)}function H(a,b){var c=this;return new Dd(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)}d.onNext(g)}else d.onCompleted()},function(a){d.onError(a)},function(){d.onCompleted()})},c)}function I(){return!1}function J(){return[]}function K(a,b,c){var d=Db(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return kb(e)&&(e=wd(e)),(Bb(e)||Ab(e))&&(e=_c(e)),e}).concatAll()}function L(a,b,c){this.observer=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}function M(a,b,c){var d=Db(b,c,3);return a.map(function(b,c){var e=d(b,c,a);return kb(e)&&(e=wd(e)),(Bb(e)||Ab(e))&&(e=_c(e)),e}).mergeAll()}function N(a,b,c){this.observer=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}function O(a){var b=function(){this.cancelBubble=!0},c=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(a||(a=$.event),!a.target)switch(a.target=a.target||a.srcElement,"mouseover"==a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=b,a.preventDefault=c),a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10==d?(d=0,a.keyCode=13):13==d||27==d?d=0:3==d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}return a}function P(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1),mc(function(){a.removeEventListener(b,c,!1)});if(a.attachEvent){var d=function(a){c(O(a))};return a.attachEvent("on"+b,d),mc(function(){a.detachEvent("on"+b,d)})}return a["on"+b]=c,mc(function(){a["on"+b]=null})}function Q(a,b,c){var d=new jc;if("[object NodeList]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(Q(a.item(e),b,c));else a&&d.add(P(a,b,c));return d}function R(a,b){return new Dd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function S(a,b,c){return new Dd(function(d){var e=a,f=uc(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function T(a,b){return new Dd(function(c){return b.scheduleWithRelative(uc(a),function(){c.onNext(0),c.onCompleted()})})}function U(a,b,c){return a===b?new Dd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):Vc(function(){return S(c.now()+a,b,c)})}function V(a,b,c){return new Dd(function(d){var e,f=!1,g=new rc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new qc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.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-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new jc(e,g)},a)}function W(a,b,c){return Vc(function(){return V(a,b-c.now(),c)})}function X(a,b){return new Dd(function(c){function d(){g&&(g=!1,c.onNext(f)),e&&c.onCompleted()}var e,f,g;return new jc(a.subscribe(function(a){g=!0,f=a},c.onError.bind(c),function(){e=!0}),b.subscribe(d,c.onError.bind(c),d))},a)}function Y(a,b,c){return new Dd(function(d){function e(a,b){j[b]=a;var e;if(g[b]=!0,h||(h=g.every(fb))){if(f)return void d.onError(f);try{e=c.apply(null,j)}catch(k){return void d.onError(k)}d.onNext(e)}i&&j[1]&&d.onCompleted()}var f,g=[!1,!1],h=!1,i=!1,j=new Array(2);return new jc(a.subscribe(function(a){e(a,0)},function(a){j[1]?d.onError(a):f=a},function(){i=!0,j[1]&&d.onCompleted()}),b.subscribe(function(a){e(a,1)},function(a){d.onError(a)},function(){i=!0,e(!0,1)}))},a)}var Z={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},$=Z[typeof window]&&window||this,_=Z[typeof exports]&&exports&&!exports.nodeType&&exports,ab=Z[typeof module]&&module&&!module.nodeType&&module,bb=ab&&ab.exports===_&&_,cb=Z[typeof global]&&global;!cb||cb.global!==cb&&cb.window!==cb||($=cb);var db={internals:{},config:{Promise:$.Promise},helpers:{}},eb=db.helpers.noop=function(){},fb=(db.helpers.notDefined=function(a){return"undefined"==typeof a},db.helpers.identity=function(a){return a}),gb=(db.helpers.pluck=function(a){return function(b){return b[a]}},db.helpers.just=function(a){return function(){return a}},db.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}()),hb=db.helpers.defaultComparer=function(a,b){return ac(a,b)},ib=db.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},jb=(db.helpers.defaultKeySerializer=function(a){return a.toString()},db.helpers.defaultError=function(a){throw a}),kb=db.helpers.isPromise=function(a){return!!a&&"function"==typeof a.then},lb=(db.helpers.asArray=function(){return Array.prototype.slice.call(arguments)},db.helpers.not=function(a){return!a},db.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Qb.call(a)}),a}());db.config.longStackSupport=!1;var mb=!1;try{throw new Error}catch(nb){mb=!!nb.stack}var ob,pb=g(),qb="From previous event:",rb=db.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};rb.prototype=Error.prototype;var sb=db.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};sb.prototype=Error.prototype;var tb=db.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};tb.prototype=Error.prototype;var ub=db.NotSupportedError=function(a){this.message=a||"This operation is not supported",Error.call(this)};ub.prototype=Error.prototype;var vb=db.NotImplementedError=function(a){this.message=a||"This operation is not implemented",Error.call(this)};vb.prototype=Error.prototype;var wb=db.helpers.notImplemented=function(){throw new vb},xb=db.helpers.notSupported=function(){throw new ub},yb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";$.Set&&"function"==typeof(new $.Set)["@@iterator"]&&(yb="@@iterator");var zb=db.doneEnumerator={done:!0,value:a},Ab=db.helpers.isIterable=function(b){return b[yb]!==a},Bb=db.helpers.isArrayLike=function(b){return b&&b.length!==a};db.helpers.iterator=yb;var Cb,Db=db.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Eb=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Fb=Eb.length,Gb="[object Arguments]",Hb="[object Array]",Ib="[object Boolean]",Jb="[object Date]",Kb="[object Error]",Lb="[object Function]",Mb="[object Number]",Nb="[object Object]",Ob="[object RegExp]",Pb="[object String]",Qb=Object.prototype.toString,Rb=Object.prototype.hasOwnProperty,Sb=Qb.call(arguments)==Gb,Tb=Error.prototype,Ub=Object.prototype,Vb=String.prototype,Wb=Ub.propertyIsEnumerable;try{Cb=!(Qb.call(document)==Nb&&!({toString:0}+""))}catch(nb){Cb=!0}var Xb={};Xb[Hb]=Xb[Jb]=Xb[Mb]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},Xb[Ib]=Xb[Pb]={constructor:!0,toString:!0,valueOf:!0},Xb[Kb]=Xb[Lb]=Xb[Ob]={constructor:!0,toString:!0},Xb[Nb]={constructor:!0};var Yb={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);Yb.enumErrorProps=Wb.call(Tb,"message")||Wb.call(Tb,"name"),Yb.enumPrototypes=Wb.call(a,"prototype"),Yb.nonEnumArgs=0!=c,Yb.nonEnumShadows=!/valueOf/.test(b)}(1);var Zb=db.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},$b=function(a){return a&&"object"==typeof a?Qb.call(a)==Gb:!1};Sb||($b=function(a){return a&&"object"==typeof a?Rb.call(a,"callee"):!1});{var _b,ac=db.internals.isEqual=function(a,b){return m(a,b,[],[])},bc={e:{}},cc=({}.hasOwnProperty,Array.prototype.slice),dc=this.inherits=db.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},ec=db.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};db.internals.addRef=function(a,b){return new Dd(function(c){return new jc(b.getDisposable(),a.subscribe(c))})}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=cc.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(cc.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(cc.call(arguments)))};return d}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var fc=Object("a"),gc="a"!=fc[0]||!(0 in fc);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=gc&&{}.toString.call(this)==Pb?this.split(""):b,d=c.length>>>0,e=arguments[1];if({}.toString.call(a)!=Lb)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=gc&&{}.toString.call(this)==Pb?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if({}.toString.call(a)!=Lb)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return{}.toString.call(a)==Hb}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!=d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;Fb>e;e++)a.call(c,Eb[e])&&f.push(Eb[e]);return f}}()),r.prototype.compareTo=function(a){var b=this.value.compareTo(a.value);return 0===b&&(b=this.id-a.id),b};var hc=db.internals.PriorityQueue=function(a){this.items=new Array(a),this.length=0},ic=hc.prototype;ic.isHigherPriority=function(a,b){return this.items[a].compareTo(this.items[b])<0},ic.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)}}},ic.heapify=function(a){if(+a||(a=0),!(a>=this.length||0>a)){var b=2*a+1,c=2*a+2,d=a;if(b<this.length&&this.isHigherPriority(b,d)&&(d=b),c<this.length&&this.isHigherPriority(c,d)&&(d=c),d!==a){var e=this.items[a];this.items[a]=this.items[d],this.items[d]=e,this.heapify(d)}}},ic.peek=function(){return this.items[0].value},ic.removeAt=function(b){this.items[b]=this.items[--this.length],this.items[this.length]=a,this.heapify()},ic.dequeue=function(){var a=this.peek();return this.removeAt(0),a},ic.enqueue=function(a){var b=this.length++;this.items[b]=new r(hc.count++,a),this.percolate(b)},ic.remove=function(a){for(var b=0;b<this.length;b++)if(this.items[b].value===a)return this.removeAt(b),!0;return!1},hc.count=0;var jc=db.CompositeDisposable=function(){var a,b,c=[];if(Array.isArray(arguments[0]))c=arguments[0],b=c.length;else for(b=arguments.length,c=new Array(b),a=0;b>a;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!oc(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},kc=jc.prototype;kc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},kc.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},kc.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var lc=db.Disposable=function(a){this.isDisposed=!1,this.action=a||eb};lc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var mc=lc.create=function(a){return new lc(a)},nc=lc.empty={dispose:eb},oc=lc.isDisposable=function(a){return a&&lb(a.dispose)},pc=lc.checkDisposed=function(a){if(a.isDisposed)throw new sb},qc=db.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};qc.prototype.getDisposable=function(){return this.current},qc.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},qc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var rc=db.SerialDisposable=function(){this.isDisposed=!1,this.current=null};rc.prototype.getDisposable=function(){return this.current},rc.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},rc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var sc=(db.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?nc:new a(this)},b}(),db.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||ib,this.disposable=new qc});sc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},sc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},sc.prototype.isCancelled=function(){return this.disposable.isDisposed},sc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var tc=db.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),nc}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=gb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),uc=tc.normalize,vc=tc.isScheduler;!function(a){function b(a,b){function c(b){e(b,function(b){var d=!1,e=!1,g=a.scheduleWithState(b,function(a,b){return d?f.remove(g):e=!0,c(b),nc});e||(f.add(g),d=!0)})}var d=b[0],e=b[1],f=new jc;return c(d),f}function c(a,b,c){function d(b){f(b,function(b,e){var f=!1,h=!1,i=a[c](b,e,function(a,b){return f?g.remove(i):h=!0,d(b),nc});h||(g.add(i),f=!0)})}var e=b[0],f=b[1],g=new jc;return d(e),g}function d(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,function(a,b){a(function(){b(a)})})},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,d)},a.scheduleRecursiveWithRelativeAndState=function(a,b,d){return this._scheduleRelative([a,d],b,function(a,b){return c(a,b,"scheduleWithRelativeAndState")})},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,d)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,d){return this._scheduleAbsolute([a,d],b,function(a,b){return c(a,b,"scheduleWithAbsoluteAndState")})}}(tc.prototype),function(){tc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},tc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof $.setInterval)throw new ub;b=uc(b);var d=a,e=$.setInterval(function(){d=c(d)},b);return mc(function(){$.clearInterval(e)})}}(tc.prototype);var wc,xc,yc=tc.immediate=function(){function a(a,b){return b(this,a)}return new tc(gb,a,xb,xb)}(),zc=tc.currentThread=function(){function a(){for(;c.length>0;){var a=c.dequeue();!a.isCancelled()&&a.invoke()}}function b(b,d){var e=new sc(this,b,d,this.now());if(c)c.enqueue(e);else{c=new hc(4),c.enqueue(e);var f=o(a)();if(c=null,f===bc)return p(f.e)}return e.disposable}var c,d=new tc(gb,b,xb,xb);return d.scheduleRequired=function(){return!c},d}(),Ac=(db.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 qc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=eb;if($.setTimeout)a=$.setTimeout,b=$.clearTimeout;else{if(!$.WScript)throw new ub;a=function(a,b){$.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),Bc=Ac.setTimeout,Cc=Ac.clearTimeout;!function(){function a(b){if(f)Bc(function(){a(b)},0);else{var c=e[b];if(c){f=!0;var d=o(c)();if(xc(b),f=!1,d===bc)return p(d.e)}}}function b(){if(!$.postMessage||$.importScripts)return!1;var a=!1,b=$.onmessage;return $.onmessage=function(){a=!0},$.postMessage("","*"),$.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,i.length)===i&&a(b.data.substring(i.length))}var d=1,e={},f=!1;xc=function(a){delete e[a]};var g=RegExp("^"+String(Qb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),h="function"==typeof(h=cb&&bb&&cb.setImmediate)&&!g.test(h)&&h;if(lb(h))wc=function(b){var c=d++;return e[c]=b,h(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))wc=function(b){var c=d++;return e[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var i="ms.rx.schedule"+Math.random();$.addEventListener?$.addEventListener("message",c,!1):$.attachEvent?$.attachEvent("onmessage",c):$.onmessage=c,wc=function(a){var b=d++;return e[b]=a,$.postMessage(i+currentId,"*"),b}}else if($.MessageChannel){var j=new $.MessageChannel;j.port1.onmessage=function(b){a(b.data)},wc=function(a){var b=d++;return e[b]=a,j.port2.postMessage(b),b}}else wc="document"in $&&"onreadystatechange"in $.document.createElement("script")?function(b){var c=$.document.createElement("script"),f=d++;return e[f]=b,c.onreadystatechange=function(){a(f),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},$.document.documentElement.appendChild(c),f}:function(b){var c=d++;return e[c]=b,Bc(function(){a(c)},0),c}}();var Dc=tc.timeout=tc["default"]=function(){function a(a,b){var c=this,d=new qc,e=wc(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new jc(d,mc(function(){xc(e)}))}function b(a,b,c){var d=this,e=tc.normalize(b),f=new qc;if(0===e)return d.scheduleWithState(a,c);var g=Bc(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new jc(f,mc(function(){Cc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new tc(gb,a,b,c)}(),Ec=db.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return vc(a)||(a=yc),new Dd(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Fc=Ec.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){return new Ec("N",d,null,a,b,c)}}(),Gc=Ec.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){return new Ec("E",null,d,a,b,c)}}(),Hc=Ec.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Ec("C",null,null,a,b,c)}}(),Ic=db.internals.Enumerator=function(a){this._next=a};Ic.prototype.next=function(){return this._next()},Ic.prototype[yb]=function(){return this};var Jc=db.internals.Enumerable=function(a){this._iterator=a};Jc.prototype[yb]=function(){return this._iterator()},Jc.prototype.concat=function(){var a=this;return new Dd(function(b){var c,d=a[yb](),e=new rc,f=yc.scheduleRecursive(function(a){if(!c){try{var f=d.next()}catch(g){return b.onError(g)}if(f.done)return b.onCompleted();var h=f.value;kb(h)&&(h=wd(h));var i=new qc;e.setDisposable(i),i.setDisposable(h.subscribe(function(a){b.onNext(a)},function(a){b.onError(a)},a))}});return new jc(e,f,mc(function(){c=!0}))})},Jc.prototype.catchError=function(){var a=this;return new Dd(function(b){var c,d=a[yb](),e=new rc,f=yc.scheduleRecursiveWithState(null,function(a,f){if(!c){try{var g=d.next()}catch(h){return observer.onError(h)}if(g.done)return void(null!==a?b.onError(a):b.onCompleted());var i=g.value;kb(i)&&(i=wd(i));var j=new qc;e.setDisposable(j),j.setDisposable(i.subscribe(function(a){b.onNext(a)},f,function(){b.onCompleted()}))}});return new jc(e,f,mc(function(){c=!0}))})},Jc.prototype.catchErrorWhen=function(a){var b=this;return new Dd(function(c){var d,e,f=new Gd,g=new Gd,h=a(f),i=h.subscribe(g),j=b[yb](),k=new rc,l=yc.scheduleRecursive(function(a){if(!d){try{var b=j.next()}catch(h){return c.onError(h)}if(b.done)return void(e?c.onError(e):c.onCompleted());var i=b.value;kb(i)&&(i=wd(i));var l=new qc,m=new qc;k.setDisposable(new jc(m,l)),l.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(g.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),f.onNext(b)},function(){c.onCompleted()}))}});return new jc(i,k,l,mc(function(){d=!0}))})};var Kc,Lc=Jc.repeat=function(a,b){return null==b&&(b=-1),new Jc(function(){var c=b;return new Ic(function(){return 0===c?zb:(c>0&&c--,{done:!1,value:a})})})},Mc=Jc.of=function(a,b,c){if(b)var d=Db(b,c,3);return new Jc(function(){var c=-1;return new Ic(function(){return++c<a.length?{done:!1,value:b?d(a[c],c,a):a[c]}:zb})})},Nc=db.Observer=function(){},Oc=Nc.create=function(a,b,c){return a||(a=eb),b||(b=jb),c||(c=eb),new Qc(a,b,c)},Pc=db.internals.AbstractObserver=function(a){function b(){this.isStopped=!1,a.call(this)}return dc(b,a),b.prototype.next=wb,b.prototype.error=wb,b.prototype.completed=wb,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}(Nc),Qc=db.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return dc(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}(Pc),Rc=db.Observable=function(){function a(a){if(db.config.longStackSupport&&mb){try{throw new Error}catch(b){this.stack=b.stack.substring(b.stack.indexOf("\n")+1)}var d=this;this._subscribe=function(b){var e=b.onError.bind(b);return b.onError=function(a){c(a,d),e(a)},a.call(d,b)}}else this._subscribe=a}return Kc=a.prototype,Kc.subscribe=Kc.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Oc(a,b,c))},Kc.subscribeOnNext=function(a,b){return this._subscribe(Oc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},Kc.subscribeOnError=function(a,b){return this._subscribe(Oc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},Kc.subscribeOnCompleted=function(a,b){return this._subscribe(Oc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},a}(),Sc=db.ObservableBase=function(a){function b(a){return a&&lb(a.dispose)?a:lb(a)?mc(a):nc}function c(a,c){var d=c[0],e=c[1],f=o(e.subscribeCore).call(e,d);return f!==bc||d.fail(bc.e)?void d.setDisposable(b(f)):p(bc.e)}function d(a){var b=new Ed(a),d=[b,this];return zc.scheduleRequired()?zc.scheduleWithState(d,c):c(null,d),b}function e(){a.call(this,d)}return dc(e,a),e.prototype.subscribeCore=wb,e}(Rc),Tc=db.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 rc}return dc(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 void(b.isAcquired=!1);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}(Pc),Uc=function(a){function b(b){this.source=b,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new t(a))},b}(Sc);t.prototype.onNext=function(a){this.isStopped||this.a.push(a)},t.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},t.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onNext(this.a),this.observer.onCompleted())},t.prototype.dispose=function(){this.isStopped=!0},t.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kc.toArray=function(){return new Uc(this)},Rc.create=Rc.createWithDisposable=function(a,b){return new Dd(a,b)};var Vc=Rc.defer=function(a){return new Dd(function(b){var c;try{c=a()}catch(d){return jd(d).subscribe(b)
3
- }return kb(c)&&(c=wd(c)),c.subscribe(b)})},Wc=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){b.onCompleted()}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState(this.observer,d)},b}(Sc),Xc=Rc.empty=function(a){return vc(a)||(a=yc),new Wc(a)},Yc=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new Zc(a,this);return b.run()},b}(Sc),Zc=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,b){try{var f=c.next()}catch(g){return d.onError(g)}if(f.done)return d.onCompleted();var h=f.value;if(e)try{h=e(h,a)}catch(g){return d.onError(g)}d.onNext(h),b(a+1)}var b=Object(this.parent.iterable),c=z(b),d=this.observer,e=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),$c=Math.pow(2,53)-1;u.prototype[yb]=function(){return new v(this._s)},v.prototype[yb]=function(){return this},v.prototype.next=function(){return this._i<this._l?{done:!1,value:this._s.charAt(this._i++)}:zb},w.prototype[yb]=function(){return new x(this._a)},x.prototype[yb]=function(){return this},x.prototype.next=function(){return this._i<this._l?{done:!1,value:this._a[this._i++]}:zb};var _c=Rc.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!lb(b))throw new Error("mapFn when provided must be a function");if(b)var e=Db(b,c,2);return vc(d)||(d=zc),new Yc(a,e,d)},ad=function(a){function b(b,c){this.args=b,this.scheduler=c,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new C(a,this);return b.run()},b}(Sc);C.prototype.run=function(){function a(a,e){d>a?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var bd=Rc.fromArray=function(a,b){return vc(b)||(b=zc),new ad(a,b)},cd=function(a){function b(){a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(){return nc},b}(Sc);Rc.never=function(){return new cd}}Rc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new ad(b,zc)},Rc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new ad(c,a)};var dd=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new E(a,this);return b.run()},b}(Sc);E.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Rc.pairs=function(a,b){return b||(b=zc),new dd(a,b)};var ed=function(a){function b(b,c,d){this.start=b,this.count=c,this.scheduler=d,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new fd(a,this);return b.run()},b}(Sc),fd=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.count,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Rc.range=function(a,b,c){return vc(c)||(c=zc),new ed(a,b,c)};var gd=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new F(a,this);return b.run()},b}(Sc);F.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Rc.repeat=function(a,b,c){return vc(c)||(c=zc),new gd(a,b,c)};var hd=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onNext(c),d.onCompleted()}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.value,this.observer],d)},b}(Sc),id=(Rc["return"]=Rc.just=Rc.returnValue=function(a,b){return vc(b)||(b=yc),new hd(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.observer=a,this.parent=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.parent.scheduler.scheduleWithState([this.parent.error,this.observer],d)},b}(Sc)),jd=Rc["throw"]=Rc.throwError=Rc.throwException=function(a,b){return vc(b)||(b=yc),new id(a,b)};Kc["catch"]=Kc.catchError=Kc.catchException=function(a){return"function"==typeof a?G(this,a):kd([this,a])};var kd=Rc.catchError=Rc["catch"]=Rc.catchException=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return Mc(a).catchError()};Kc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),ld.apply(this,b)};var ld=Rc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop();return Array.isArray(b[0])&&(b=b[0]),new Dd(function(a){function c(b){if(h[b]=!0,i||(i=h.every(fb))){try{var c=d.apply(null,k)}catch(e){return a.onError(e)}a.onNext(c)}else j.filter(function(a,c){return c!==b}).every(fb)&&a.onCompleted()}function e(b){j[b]=!0,j.every(fb)&&a.onCompleted()}for(var f=b.length,g=function(){return!1},h=q(f,g),i=!1,j=q(f,g),k=new Array(f),l=new Array(f),m=0;f>m;m++)!function(d){var f=b[d],g=new qc;kb(f)&&(f=wd(f)),g.setDisposable(f.subscribe(function(a){k[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),l[d]=g}(m);return new jc(l)},this)};Kc.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),md.apply(null,a)};var md=Rc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return Mc(a).concat()};Kc.concatAll=Kc.concatObservable=function(){return this.merge(1)};var nd=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new jc;return b.add(this.source.subscribe(new od(a,this.maxConcurrent,b))),b},b}(Sc),od=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new qc;this.g.add(c),kb(a)&&(a=wd(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount<this.max?(this.activeCount++,this.handleSubscribe(a)):this.q.push(a))},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,0===this.activeCount&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){this.isStopped=!0;var a=this.parent;a.g.remove(this.sad),a.q.length>0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kc.merge=function(a){return"number"!=typeof a?pd(this,a):new nd(this,a)};var pd=Rc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(vc(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=yc,b=0;d>b;b++)c.push(arguments[b]);else for(a=yc,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),D(a,c).mergeAll()},qd=function(a){function b(b){this.source=b,a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){var b=new jc,c=new qc;return b.add(c),c.setDisposable(this.source.subscribe(new rd(a,b))),b},b}(Sc),rd=function(){function a(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function b(a,b,c){this.parent=a,this.g=b,this.sad=c,this.isStopped=!1}return a.prototype.onNext=function(a){if(!this.isStopped){var c=new qc;this.g.add(c),kb(a)&&(a=wd(a)),c.setDisposable(a.subscribe(new b(this,this.g,c)))}},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Kc.mergeAll=Kc.mergeObservable=function(){return new qd(this)};var sd=db.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};sd.prototype=Error.prototype,Rc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=D(null,a);return new Dd(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new sd(g))}var c=new jc,e=new qc,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new qc;c.add(e),kb(d)&&(d=wd(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Kc.skipUntil=function(a){var b=this;return new Dd(function(c){var d=!1,e=new jc(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));kb(a)&&(a=wd(a));var f=new qc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)},Kc["switch"]=Kc.switchLatest=function(){var a=this;return new Dd(function(b){var c=!1,d=new rc,e=!1,f=0,g=a.subscribe(function(a){var g=new qc,h=++f;c=!0,d.setDisposable(g),kb(a)&&(a=wd(a)),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())}))},function(a){b.onError(a)},function(){e=!0,!c&&b.onCompleted()});return new jc(g,d)},a)},Kc.takeUntil=function(a){var b=this;return new Dd(function(c){return kb(a)&&(a=wd(a)),new jc(b.subscribe(c),a.subscribe(function(){c.onCompleted()},function(a){c.onError(a)},eb))},b)},Kc.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.pop(),e=this;if("undefined"==typeof e)throw new Error("Source observable not found for withLatestFrom().");if("function"!=typeof d)throw new Error("withLatestFrom() expects a resultSelector function.");return Array.isArray(b[0])&&(b=b[0]),new Dd(function(a){for(var c=function(){return!1},f=b.length,g=q(f,c),h=!1,i=new Array(f),j=new Array(f+1),k=0;f>k;k++)!function(c){var d=b[c],e=new qc;kb(d)&&(d=wd(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(fb)},a.onError.bind(a),function(){})),j[c]=e}(k);var l=new qc;return l.setDisposable(e.subscribe(function(b){var c,e=[b].concat(i);if(h){try{c=d.apply(null,e)}catch(f){return void a.onError(f)}a.onNext(c)}},a.onError.bind(a),function(){a.onCompleted()})),j[f]=l,new jc(j)},this)},Kc.zip=function(){if(Array.isArray(arguments[0]))return H.apply(this,arguments);for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=this,e=b.pop();return b.unshift(d),new Dd(function(a){function c(b){var c,f;if(h.every(function(a){return a.length>0})){try{f=h.map(function(a){return a.shift()}),c=e.apply(d,f)}catch(g){return void a.onError(g)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(fb)&&a.onCompleted()}function f(b){i[b]=!0,i.every(function(a){return a})&&a.onCompleted()}for(var g=b.length,h=q(g,J),i=q(g,I),j=new Array(g),k=0;g>k;k++)!function(d){var e=b[d],g=new qc;kb(e)&&(e=wd(e)),g.setDisposable(e.subscribe(function(a){h[d].push(a),c(d)},function(b){a.onError(b)},function(){f(d)})),j[d]=g}(k);return new jc(j)},d)},Rc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Rc.zipArray=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return new Dd(function(b){function c(a){if(f.every(function(a){return a.length>0})){var c=f.map(function(a){return a.shift()});b.onNext(c)}else if(g.filter(function(b,c){return c!==a}).every(fb))return void b.onCompleted()}function d(a){return g[a]=!0,g.every(fb)?void b.onCompleted():void 0}for(var e=a.length,f=q(e,function(){return[]}),g=q(e,function(){return!1}),h=new Array(e),i=0;e>i;i++)!function(e){h[e]=new qc,h[e].setDisposable(a[e].subscribe(function(a){f[e].push(a),c(e)},function(a){b.onError(a)},function(){d(e)}))}(i);return new jc(h)})},Kc.asObservable=function(){var a=this;return new Dd(function(b){return a.subscribe(b)},this)},Kc.dematerialize=function(){var a=this;return new Dd(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)},Kc.distinctUntilChanged=function(a,b){var c=this;return b||(b=hb),new Dd(function(d){var e,f=!1;return c.subscribe(function(c){var g=c;if(a)try{g=a(c)}catch(h){return void d.onError(h)}if(f)try{var i=b(e,g)}catch(h){return void d.onError(h)}f&&i||(f=!0,e=g,d.onNext(c))},function(a){d.onError(a)},function(){d.onCompleted()})},this)},Kc["do"]=Kc.tap=Kc.doAction=function(a,b,c){var d=this;return new Dd(function(e){var f=!a||lb(a)?Oc(a||eb,b||eb,c||eb):a;return d.subscribe(function(a){try{f.onNext(a)}catch(b){e.onError(b)}e.onNext(a)},function(a){try{f.onError(a)}catch(b){e.onError(b)}e.onError(a)},function(){try{f.onCompleted()}catch(a){e.onError(a)}e.onCompleted()})},this)},Kc.doOnNext=Kc.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kc.doOnError=Kc.tapOnError=function(a,b){return this.tap(eb,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Kc.doOnCompleted=Kc.tapOnCompleted=function(a,b){return this.tap(eb,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Kc["finally"]=Kc.ensure=function(a){var b=this;return new Dd(function(c){var d;try{d=b.subscribe(c)}catch(e){throw a(),e}return mc(function(){try{d.dispose()}catch(b){throw b}finally{a()}})},this)},Kc.finallyAction=function(a){return this.ensure(a)},Kc.ignoreElements=function(){var a=this;return new Dd(function(b){return a.subscribe(eb,function(a){b.onError(a)},function(){b.onCompleted()})},a)},Kc.materialize=function(){var a=this;return new Dd(function(b){return a.subscribe(function(a){b.onNext(Fc(a))},function(a){b.onNext(Gc(a)),b.onCompleted()},function(){b.onNext(Hc()),b.onCompleted()})},a)},Kc.repeat=function(a){return Lc(this,a).concat()},Kc.retry=function(a){return Lc(this,a).catchError()},Kc.retryWhen=function(a){return Lc(this).catchErrorWhen(a)},Kc.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 Dd(function(e){var f,g,h;return d.subscribe(function(d){!h&&(h=!0);try{f?g=b(g,d):(g=c?b(a,d):d,f=!0)}catch(i){return void e.onError(i)}e.onNext(g)},function(a){e.onError(a)},function(){!h&&c&&e.onNext(a),e.onCompleted()})},d)},Kc.skipLast=function(a){if(0>a)throw new tb;var b=this;return new Dd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kc.startWith=function(){var a,b=0;arguments.length&&vc(arguments[0])?(a=arguments[0],b=1):a=yc;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return Mc([bd(c,a),this]).concat()},Kc.takeLast=function(a){if(0>a)throw new tb;var b=this;return new Dd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Kc.selectConcat=Kc.concatMap=function(a,b,c){return lb(a)&&lb(b)?this.concatMap(function(c,d){var e=a(c,d);return kb(e)&&(e=wd(e)),(Bb(e)||Ab(e))&&(e=_c(e)),e.map(function(a,e){return b(c,a,d,e)})}):lb(a)?K(this,a,c):K(this,function(){return a})};var td=function(a){function b(b,c,d){this.source=b,this.selector=Db(c,d,3),a.call(this)}return dc(b,a),b.prototype.internalMap=function(a,c){var d=this;return new b(this.source,function(b,c,e){return a.call(this,d.selector(b,c,e),c,e)},c)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new L(a,this.selector,this))},b}(Sc);L.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.selector).call(this,a,this.i++,this.source);return b===bc?this.observer.onError(b.e):void this.observer.onNext(b)}},L.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},L.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},L.prototype.dispose=function(){this.isStopped=!0},L.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kc.map=Kc.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof td?this.internalMap(c,b):new td(this,c,b)},Kc.pluck=function(){var b=arguments,c=arguments.length;if(0===c)throw new Error("List of properties cannot be empty.");return this.map(function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e})},Kc.selectMany=Kc.flatMap=function(a,b,c){return lb(a)&&lb(b)?this.flatMap(function(c,d){var e=a(c,d);return kb(e)&&(e=wd(e)),(Bb(e)||Ab(e))&&(e=_c(e)),e.map(function(a,e){return b(c,a,d,e)})},c):lb(a)?M(this,a,c):M(this,function(){return a})},Kc.selectSwitch=Kc.flatMapLatest=Kc.switchMap=function(a,b){return this.select(a,b).switchLatest()},Kc.skip=function(a){if(0>a)throw new tb;var b=this;return new Dd(function(c){var d=a;return b.subscribe(function(a){0>=d?c.onNext(a):d--},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Kc.skipWhile=function(a,b){var c=this,d=Db(a,b,3);return new Dd(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Kc.take=function(a,b){if(0>a)throw new tb;if(0===a)return Xc(b);var c=this;return new Dd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0===d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Kc.takeWhile=function(a,b){var c=this,d=Db(a,b,3);return new Dd(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var ud=function(a){function b(b,c,d){this.source=b,this.predicate=Db(c,d,3),a.call(this)}return dc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new N(a,this.predicate,this))},b.prototype.internalFilter=function(a,c){var d=this;return new b(this.source,function(b,c,e){return d.predicate(b,c,e)&&a.call(this,b,c,e)},c)},b}(Sc);N.prototype.onNext=function(a){if(!this.isStopped){var b=o(this.predicate).call(this,a,this.i++,this.source);return b===bc?this.observer.onError(b.e):void(b&&this.observer.onNext(a))}},N.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.observer.onError(a))},N.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.observer.onCompleted())},N.prototype.dispose=function(){this.isStopped=!0},N.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},Kc.filter=Kc.where=function(a,b){return this instanceof ud?this.internalFilter(a,b):new ud(this,a,b)},Rc.fromCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dd(function(d){function f(){for(var a=arguments.length,e=new Array(a),f=0;a>f;f++)e[f]=arguments[f];if(c){try{e=c.apply(b,e)}catch(g){return d.onError(g)}d.onNext(e)}else e.length<=1?d.onNext.apply(d,e):d.onNext(e);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},Rc.fromNodeCallback=function(a,b,c){return function(){for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return new Dd(function(d){function f(a){if(a)return void d.onError(a);for(var e=arguments.length,f=[],g=1;e>g;g++)f[g-1]=arguments[g];if(c){try{f=c.apply(b,f)}catch(h){return d.onError(h)}d.onNext(f)}else f.length<=1?d.onNext.apply(d,f):d.onNext(f);d.onCompleted()}e.push(f),a.apply(b,e)}).publishLast().refCount()}},db.config.useNativeEvents=!1,Rc.fromEvent=function(a,b,c){return a.addListener?vd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):db.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Dd(function(d){return Q(a,b,function(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)})}).publish().refCount():vd(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var vd=Rc.fromEventPattern=function(a,b,c){return new Dd(function(d){function e(a){var b=a;if(c)try{b=c(arguments)}catch(e){return d.onError(e)}d.onNext(b)}var f=a(e);return mc(function(){b&&b(e,f)})}).publish().refCount()},wd=Rc.fromPromise=function(a){return Vc(function(){var b=new db.AsyncSubject;return a.then(function(a){b.onNext(a),b.onCompleted()},b.onError.bind(b)),b})};Kc.toPromise=function(a){if(a||(a=db.config.Promise),!a)throw new ub("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Rc.startAsync=function(a){var b;try{b=a()}catch(c){return jd(c)}return wd(b)},Kc.multicast=function(a,b){var c=this;return"function"==typeof a?new Dd(function(d){var e=c.multicast(a());return new jc(b(e).subscribe(d),e.connect())},c):new xd(c,a)},Kc.publish=function(a){return a&&lb(a)?this.multicast(function(){return new Gd},a):this.multicast(new Gd)},Kc.share=function(){return this.publish().refCount()},Kc.publishLast=function(a){return a&&lb(a)?this.multicast(function(){return new Hd},a):this.multicast(new Hd)},Kc.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new Jd(b)},a):this.multicast(new Jd(a))},Kc.shareValue=function(a){return this.publishValue(a).refCount()},Kc.replay=function(a,b,c,d){return a&&lb(a)?this.multicast(function(){return new Kd(b,c,d)},a):this.multicast(new Kd(b,c,d))},Kc.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var xd=db.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new jc(f.subscribe(c),mc(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return dc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Dd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Rc),yd=Rc.interval=function(a,b){return U(a,a,vc(b)?b:Dc)};Rc.timer=function(b,c,d){var e;return vc(d)||(d=Dc),c!==a&&"number"==typeof c?e=c:vc(c)&&(d=c),b instanceof Date&&e===a?R(b.getTime(),d):b instanceof Date&&e!==a?(e=c,S(b.getTime(),e,d)):e===a?T(b,d):U(b,e,d)}}Kc.delay=function(a,b){return vc(b)||(b=Dc),a instanceof Date?W(this,a.getTime(),b):V(this,a,b)},Kc.debounce=Kc.throttleWithTimeout=function(a,b){vc(b)||(b=Dc);var c=this;return new Dd(function(d){var e,f=new rc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new qc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new jc(i,f)},this)},Kc.throttle=function(a,b){return this.debounce(a,b)},Kc.timestamp=function(a){return vc(a)||(a=Dc),this.map(function(b){return{value:b,timestamp:a.now()}})},Kc.sample=Kc.throttleLatest=function(a,b){return vc(b)||(b=Dc),"number"==typeof a?X(this,yd(a,b)):X(this,a)},Kc.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=jd(new Error(b||"Timeout"))),vc(c)||(c=Dc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Dd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(kb(b)&&(b=wd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new qc,j=new rc,k=!1,l=new rc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new jc(j,l)},d)},Kc.throttleFirst=function(a,b){vc(b)||(b=Dc);var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Dd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var zd=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=nc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=nc)});return new jc(c,d,e)}function c(c,d){this.source=c,this.controller=new Gd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return dc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Rc);Kc.pausable=function(a){return new zd(this,a)};var Ad=function(b){function c(b){var c,d=[],e=Y(this.source,this.pauser.distinctUntilChanged().startWith(!1),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(e){if(c!==a&&e.shouldFire!=c){if(c=e.shouldFire,e.shouldFire)for(;d.length>0;)b.onNext(d.shift())}else c=e.shouldFire,e.shouldFire?b.onNext(e.data):d.push(e.data)},function(a){for(;d.length>0;)b.onNext(d.shift());b.onError(a)},function(){for(;d.length>0;)b.onNext(d.shift());b.onCompleted()});return e}function d(a,d){this.source=a,this.controller=new Gd,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return dc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Rc);Kc.pausableBuffered=function(a){return new Ad(this,a)};var Bd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new Cd(d,e),this.source=c.multicast(this.subject).refCount()}return dc(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Rc),Cd=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new Gd,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=nc,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||zc}return dc(c,a),ec(c.prototype,Nc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Ec.createOnCompleted()):this.subject.onCompleted()},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Ec.createOnError(a)):this.subject.onError(a)},onNext:function(a){var b=!1;0===this.requestedCount?this.enableQueue&&this.queue.push(Ec.createOnNext(a)):(-1!==this.requestedCount&&0===this.requestedCount--&&this.disposeCurrentRequest(),b=!0),b&&this.subject.onNext(a)},_processRequest:function(a){if(this.enableQueue){for(;this.queue.length>=a&&a>0||this.queue.length>0&&"N"!==this.queue[0].kind;){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return{numberOfItems:a,returnValue:0!==this.queue.length}}return{numberOfItems:a,returnValue:!1}},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=d.numberOfItems;d.returnValue||(b.requestedCount=e,b.requestedDisposable=mc(function(){b.requestedCount=0}))}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable.dispose(),this.requestedDisposable=nc}}),c}(Rc);Kc.controlled=function(a,b){return a&&vc(a)&&(b=a,a=!0),null==a&&(a=!0),new Bd(this,a,b)},Kc.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Kc.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Dd(function(d){var e=a(b(d));return c.subscribe(function(a){try{e["@@transducer/step"](d,a)}catch(b){d.onError(b)}},function(a){d.onError(a)},function(){e["@@transducer/result"](d)})},c)};var Dd=db.AnonymousObservable=function(a){function b(a){return a&&lb(a.dispose)?a:lb(a)?mc(a):nc}function c(a,c){var d=c[0],e=c[1],f=o(e)(d);return f!==bc||d.fail(bc.e)?void d.setDisposable(b(f)):p(bc.e)}function d(b,d){function e(a){var d=new Ed(a),e=[d,b];return zc.scheduleRequired()?zc.scheduleWithState(e,c):c(null,e),d}this.source=d,a.call(this,e)}return dc(d,a),d}(Rc),Ed=function(a){function b(b){a.call(this),this.observer=b,this.m=new qc}dc(b,a);var c=b.prototype;return c.next=function(a){var b=o(this.observer.onNext).call(this.observer,a);b===bc&&(this.dispose(),p(b.e))},c.error=function(a){var b=o(this.observer.onError).call(this.observer,a);this.dispose(),b===bc&&p(b.e)},c.completed=function(){var a=o(this.observer.onCompleted).call(this.observer);this.dispose(),a===bc&&p(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Pc),Fd=function(a,b){this.subject=a,this.observer=b};Fd.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 Gd=db.Subject=function(a){function c(a){return pc(this),this.isStopped?this.hasError?(a.onError(this.error),nc):(a.onCompleted(),nc):(this.observers.push(a),new Fd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return dc(d,a),ec(d.prototype,Nc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pc(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;
4
- for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pc(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new Id(a,b)},d}(Rc),Hd=db.AsyncSubject=function(a){function c(a){return pc(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),nc):(this.observers.push(a),new Fd(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return dc(d,a),ec(d.prototype,Nc,{hasObservers:function(){return pc(this),this.observers.length>0},onCompleted:function(){var a,c;if(pc(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(pc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){pc(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Rc),Id=db.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return dc(c,a),ec(c.prototype,Nc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Rc),Jd=db.BehaviorSubject=function(a){function c(a){return pc(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),nc):(this.observers.push(a),a.onNext(this.value),new Fd(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return dc(d,a),ec(d.prototype,Nc,{getValue:function(){if(pc(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(pc(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(pc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(pc(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Rc),Kd=db.ReplaySubject=function(a){function c(a,b){return mc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new Tc(this.scheduler,a),d=c(this,b);pc(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||zc,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return dc(e,a),ec(e.prototype,Nc.prototype,{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){if(pc(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(pc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(pc(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Rc);db.Pauser=function(a){function b(){a.call(this)}return dc(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(Gd),"function"==typeof define&&"object"==typeof define.amd&&define.amd?($.Rx=db,define(function(){return db})):_&&ab?bb?(ab.exports=db).Rx=db:_.Rx=db:$.Rx=db;var Ld=g()}).call(this);
2
+ (function(a){function b(a){for(var b=a.length,c=new Array(b),d=0;b>d;d++)c[d]=a[d];return c}function c(){try{return bb.apply(this,arguments)}catch(a){return tb.e=a,tb}}function d(a){if(!sb(a))throw new TypeError("fn must be a function");return bb=a,c}function e(a){throw a}function f(a,b){if(ub&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&-1===a.stack.indexOf(yb)){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var e=c.join("\n"+yb+"\n");a.stack=g(e)}}function g(a){for(var b=a.split("\n"),c=[],d=0,e=b.length;e>d;d++){var f=b[d];h(f)||i(f)||!f||c.push(f)}return c.join("\n")}function h(a){var b=k(a);if(!b)return!1;var c=b[0],d=b[1];return c===wb&&d>=xb&&ee>=d}function i(a){return-1!==a.indexOf("(module.js:")||-1!==a.indexOf("(node.js:")}function j(){if(ub)try{throw new Error}catch(a){var b=a.stack.split("\n"),c=b[0].indexOf("@")>0?b[1]:b[2],d=k(c);if(!d)return;return wb=d[0],d[1]}}function k(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function l(a){var b=[];if(!gc(a))return b;fc.nonEnumArgs&&a.length&&hc(a)&&(a=jc.call(a));var c=fc.enumPrototypes&&"function"==typeof a,d=fc.enumErrorProps&&(a===_b||a instanceof Error);for(var e in a)c&&"prototype"==e||d&&("message"==e||"name"==e)||b.push(e);if(fc.nonEnumShadows&&a!==ac){var f=a.constructor,g=-1,h=Nb;if(a===(f&&f.prototype))var i=a===bc?Xb:a===_b?Sb:Yb.call(a),j=ec[i];for(;++g<h;)e=Mb[g],j&&j[e]||!Zb.call(a,e)||b.push(e)}return b}function m(a,b,c){for(var d=-1,e=c(a),f=e.length;++d<f;){var g=e[d];if(b(a[g],g,a)===!1)break}return a}function n(a,b){return m(a,b,l)}function o(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function p(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;var e=typeof a,f=typeof b;if(a===a&&(null==a||null==b||"function"!=e&&"object"!=e&&"function"!=f&&"object"!=f))return!1;var g=Yb.call(a),h=Yb.call(b);if(g==Ob&&(g=Vb),h==Ob&&(h=Vb),g!=h)return!1;switch(g){case Qb:case Rb:return+a==+b;case Ub:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case Wb:case Xb:return a==String(b)}var i=g==Pb;if(!i){if(g!=Vb||!fc.nodeClass&&(o(a)||o(b)))return!1;var j=!fc.argsObject&&hc(a)?Object:a.constructor,k=!fc.argsObject&&hc(b)?Object:b.constructor;if(!(j==k||Zb.call(a,"constructor")&&Zb.call(b,"constructor")||sb(j)&&j instanceof j&&sb(k)&&k instanceof k||!("constructor"in a&&"constructor"in b)))return!1}c||(c=[]),d||(d=[]);for(var l=c.length;l--;)if(c[l]==a)return d[l]==b;var m=0,q=!0;if(c.push(a),d.push(b),i){if(l=a.length,m=b.length,q=m==l)for(;m--;){var r=b[m];if(!(q=p(a[m],r,c,d)))break}}else n(b,function(b,e,f){return Zb.call(f,e)?(m++,q=Zb.call(a,e)&&p(a[e],b,c,d)):void 0}),q&&n(a,function(a,b,c){return Zb.call(c,b)?q=--m>-1:void 0});return c.pop(),d.pop(),q}function q(a,b){for(var c=new Array(a),d=0;a>d;d++)c[d]=b();return c}function r(a){this._s=a}function s(a){this._s=a,this._l=a.length,this._i=0}function t(a){this._a=a}function u(a){this._a=a,this._l=y(a),this._i=0}function v(a){return"number"==typeof a&&jb.isFinite(a)}function w(b){var c,d=b[Gb];if(!d&&"string"==typeof b)return c=new r(b),c[Gb]();if(!d&&b.length!==a)return c=new t(b),c[Gb]();if(!d)throw new TypeError("Object is not iterable");return b[Gb]()}function x(a){var b=+a;return 0===b?b:isNaN(b)?b:0>b?-1:1}function y(a){var b=+a.length;return isNaN(b)?0:0!==b&&v(b)?(b=x(b)*Math.floor(Math.abs(b)),0>=b?0:b>id?id:b):b}function z(a,b){this.observer=a,this.parent=b}function A(a,b){return Ac(a)||(a=Ec),new kd(b,a)}function B(a,b){this.observer=a,this.parent=b}function C(a,b){this.observer=a,this.parent=b}function D(a,b){return new Yd(function(c){var d=new vc,e=new wc;return e.setDisposable(d),d.setDisposable(a.subscribe(new vd(c,e,b))),e},a)}function E(){return!1}function F(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function E(){return!1}function E(){return!1}function G(){return[]}function F(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function E(){return!1}function G(){return[]}function F(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return b}function H(a){return function(b){return a.subscribe(b)}}function I(a,b){this.o=a,this.accumulator=b.accumulator,this.hasSeed=b.hasSeed,this.seed=b.seed,this.hasAccumulation=!1,this.accumulation=null,this.hasValue=!1,this.isStopped=!1}function J(b,c){return function(d){for(var e=d,f=0;c>f;f++){var g=e[b[f]];if("undefined"==typeof g)return a;e=g}return e}}function K(a,b,c,d){var e=new ae;return d.push(L(e,b,c)),a.apply(b,d),e.asObservable()}function L(a,b,c){return function(){for(var e=arguments.length,f=new Array(e),g=0;e>g;g++)f[g]=arguments[g];if(sb(c)){if(f=d(c).apply(b,f),f===tb)return a.onError(f.e);a.onNext(f)}else a.onNext(f.length<=1?f[0]:f);a.onCompleted()}}function M(a,b,c,d){var e=new ae;return d.push(N(e,b,c)),a.apply(b,d),e.asObservable()}function N(a,b,c){return function(){var e=arguments[0];if(e)return a.onError(e);for(var f=arguments.length,g=[],h=1;f>h;h++)g[h-1]=arguments[h];if(sb(c)){var g=d(c).apply(b,g);if(g===tb)return a.onError(g.e);a.onNext(g)}else a.onNext(g.length<=1?g[0]:g);a.onCompleted()}}function O(a){return window.StaticNodeList?a instanceof window.StaticNodeList||a instanceof window.NodeList:"[object NodeList]"==Object.prototype.toString.call(a)}function P(a){var b=function(){this.cancelBubble=!0},c=function(){if(this.bubbledKeyCode=this.keyCode,this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0,this.returnValue=!1,this.modified=!0};if(a||(a=jb.event),!a.target)switch(a.target=a.target||a.srcElement,"mouseover"==a.type&&(a.relatedTarget=a.fromElement),"mouseout"==a.type&&(a.relatedTarget=a.toElement),a.stopPropagation||(a.stopPropagation=b,a.preventDefault=c),a.type){case"keypress":var d="charCode"in a?a.charCode:a.keyCode;10==d?(d=0,a.keyCode=13):13==d||27==d?d=0:3==d&&(d=99),a.charCode=d,a.keyChar=a.charCode?String.fromCharCode(a.charCode):""}return a}function Q(a,b,c){this._e=a,this._n=b,this._fn=c,this._e.addEventListener(this._n,this._fn,!1),this.isDisposed=!1}function R(a,b,c){this._e=a,this._n="on"+b,this._fn=function(a){c(P(a))},this._e.attachEvent(this._n,this._fn),this.isDisposed=!1}function S(a,b,c){this._e=a,this._n="on"+b,this._e[this._n]=c,this.isDisposed=!1}function T(a,b,c){return a.addEventListener?new Q(a,b,c):a.attachEvent?new R(a,b,c):S(a,b,c)}function U(a,b,c){var d=new oc;if(O(a)||"[object HTMLCollection]"===Object.prototype.toString.call(a))for(var e=0,f=a.length;f>e;e++)d.add(U(a.item(e),b,c));else a&&d.add(T(a,b,c));return d}function V(a,b){return new Yd(function(c){return b.scheduleWithAbsolute(a,function(){c.onNext(0),c.onCompleted()})})}function W(a,b,c){return new Yd(function(d){var e=a,f=zc(b);return c.scheduleRecursiveWithAbsoluteAndState(0,e,function(a,b){if(f>0){var g=c.now();e+=f,g>=e&&(e=g+f)}d.onNext(a),b(a+1,e)})})}function X(a,b){return new Yd(function(c){return b.scheduleWithRelative(zc(a),function(){c.onNext(0),c.onCompleted()})})}function Y(a,b,c){return a===b?new Yd(function(a){return c.schedulePeriodicWithState(0,b,function(b){return a.onNext(b),b+1})}):cd(function(){return W(c.now()+a,b,c)})}function Z(a,b,c){return new Yd(function(d){var e,f=!1,g=new wc,h=null,i=[],j=!1;return e=a.materialize().timestamp(c).subscribe(function(a){var e,k;"E"===a.value.kind?(i=[],i.push(a),h=a.value.exception,k=!j):(i.push({value:a.value,timestamp:a.timestamp+b}),k=!f,f=!0),k&&(null!==h?d.onError(h):(e=new vc,g.setDisposable(e),e.setDisposable(c.scheduleRecursiveWithRelative(b,function(a){var b,e,g,k;if(null===h){j=!0;do g=null,i.length>0&&i[0].timestamp-c.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-c.now())):f=!1,b=h,j=!1,null!==b?d.onError(b):k&&a(e)}}))))}),new oc(e,g)},a)}function $(a,b,c){return cd(function(){return Z(a,b-c.now(),c)})}function _(a,b){return new Yd(function(c){function d(){g&&(g=!1,c.onNext(e)),f&&c.onCompleted()}var e,f=!1,g=!1,h=new vc;return h.setDisposable(a.subscribe(function(a){g=!0,e=a},function(a){c.onError(a)},function(){f=!0,h.dispose()})),new oc(h,b.subscribe(d,function(a){c.onError(a)},d))},a)}function ab(a,b,c){return new Yd(function(e){function f(a,b){if(k[b]=a,h[b]=!0,i||(i=h.every(mb))){if(g)return e.onError(g);var f=d(c).apply(null,k);if(f===tb)return e.onError(f.e);e.onNext(f)}j&&k[1]&&e.onCompleted()}var g,h=[!1,!1],i=!1,j=!1,k=new Array(2);return new oc(a.subscribe(function(a){f(a,0)},function(a){k[1]?e.onError(a):g=a},function(){j=!0,k[1]&&e.onCompleted()}),b.subscribe(function(a){f(a,1)},function(a){e.onError(a)},function(){j=!0,f(!0,1)}))},a)}var bb,cb={"function":!0,object:!0},db=cb[typeof exports]&&exports&&!exports.nodeType&&exports,eb=cb[typeof self]&&self.Object&&self,fb=cb[typeof window]&&window&&window.Object&&window,gb=cb[typeof module]&&module&&!module.nodeType&&module,hb=gb&&gb.exports===db&&db,ib=db&&gb&&"object"==typeof global&&global&&global.Object&&global,jb=jb=ib||fb!==(this&&this.window)&&fb||eb||this,kb={internals:{},config:{Promise:jb.Promise},helpers:{}},lb=kb.helpers.noop=function(){},mb=kb.helpers.identity=function(a){return a},nb=kb.helpers.defaultNow=function(){return Date.now?Date.now:function(){return+new Date}}(),ob=kb.helpers.defaultComparer=function(a,b){return ic(a,b)},pb=kb.helpers.defaultSubComparer=function(a,b){return a>b?1:b>a?-1:0},qb=(kb.helpers.defaultKeySerializer=function(a){return a.toString()},kb.helpers.defaultError=function(a){throw a}),rb=kb.helpers.isPromise=function(a){return!!a&&"function"!=typeof a.subscribe&&"function"==typeof a.then},sb=kb.helpers.isFunction=function(){var a=function(a){return"function"==typeof a||!1};return a(/x/)&&(a=function(a){return"function"==typeof a&&"[object Function]"==Yb.call(a)}),a}(),tb={e:{}};kb.config.longStackSupport=!1;var ub=!1,vb=d(function(){throw new Error})();ub=!!vb.e&&!!vb.e.stack;var wb,xb=j(),yb="From previous event:",zb=kb.EmptyError=function(){this.message="Sequence contains no elements.",this.name="EmptyError",Error.call(this)};zb.prototype=Error.prototype;var Ab=kb.ObjectDisposedError=function(){this.message="Object has been disposed",this.name="ObjectDisposedError",Error.call(this)};Ab.prototype=Error.prototype;var Bb=kb.ArgumentOutOfRangeError=function(){this.message="Argument out of range",this.name="ArgumentOutOfRangeError",Error.call(this)};Bb.prototype=Error.prototype;var Cb=kb.NotSupportedError=function(a){this.message=a||"This operation is not supported",this.name="NotSupportedError",Error.call(this)};Cb.prototype=Error.prototype;var Db=kb.NotImplementedError=function(a){this.message=a||"This operation is not implemented",this.name="NotImplementedError",Error.call(this)};Db.prototype=Error.prototype;var Eb=kb.helpers.notImplemented=function(){throw new Db},Fb=kb.helpers.notSupported=function(){throw new Cb},Gb="function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_";jb.Set&&"function"==typeof(new jb.Set)["@@iterator"]&&(Gb="@@iterator");var Hb=kb.doneEnumerator={done:!0,value:a},Ib=kb.helpers.isIterable=function(b){return b[Gb]!==a},Jb=kb.helpers.isArrayLike=function(b){return b&&b.length!==a};kb.helpers.iterator=Gb;var Kb,Lb=kb.internals.bindCallback=function(a,b,c){if("undefined"==typeof b)return a;switch(c){case 0:return function(){return a.call(b)};case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}},Mb=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Nb=Mb.length,Ob="[object Arguments]",Pb="[object Array]",Qb="[object Boolean]",Rb="[object Date]",Sb="[object Error]",Tb="[object Function]",Ub="[object Number]",Vb="[object Object]",Wb="[object RegExp]",Xb="[object String]",Yb=Object.prototype.toString,Zb=Object.prototype.hasOwnProperty,$b=Yb.call(arguments)==Ob,_b=Error.prototype,ac=Object.prototype,bc=String.prototype,cc=ac.propertyIsEnumerable;try{Kb=!(Yb.call(document)==Vb&&!({toString:0}+""))}catch(dc){Kb=!0}var ec={};ec[Pb]=ec[Rb]=ec[Ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},ec[Qb]=ec[Xb]={constructor:!0,toString:!0,valueOf:!0},ec[Sb]=ec[Tb]=ec[Wb]={constructor:!0,toString:!0},ec[Vb]={constructor:!0};var fc={};!function(){var a=function(){this.x=1},b=[];a.prototype={valueOf:1,y:1};for(var c in new a)b.push(c);for(c in arguments);fc.enumErrorProps=cc.call(_b,"message")||cc.call(_b,"name"),fc.enumPrototypes=cc.call(a,"prototype"),fc.nonEnumArgs=0!=c,fc.nonEnumShadows=!/valueOf/.test(b)}(1);var gc=kb.internals.isObject=function(a){var b=typeof a;return a&&("function"==b||"object"==b)||!1},hc=function(a){return a&&"object"==typeof a?Yb.call(a)==Ob:!1};$b||(hc=function(a){return a&&"object"==typeof a?Zb.call(a,"callee"):!1});{var ic=kb.internals.isEqual=function(a,b){return p(a,b,[],[])},jc=({}.hasOwnProperty,Array.prototype.slice),kc=kb.internals.inherits=function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c},lc=kb.internals.addProperties=function(a){for(var b=[],c=1,d=arguments.length;d>c;c++)b.push(arguments[c]);for(var e=0,f=b.length;f>e;e++){var g=b[e];for(var h in g)a[h]=g[h]}};kb.internals.addRef=function(a,b){return new Yd(function(c){return new oc(b.getDisposable(),a.subscribe(c))})}}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=jc.call(arguments,1),d=function(){function e(){}if(this instanceof d){e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(jc.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(jc.call(arguments)))};return d}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){var c,d;if(null==this)throw new TypeError(" this is null or not defined");var e=Object(this),f=e.length>>>0;if("function"!=typeof a)throw new TypeError(a+" is not a function");for(arguments.length>1&&(c=b),d=0;f>d;){var g;d in e&&(g=e[d],a.call(c,g,d,e)),d++}});var mc=Object("a"),nc="a"!=mc[0]||!(0 in mc);Array.prototype.every||(Array.prototype.every=function(a){var b=Object(this),c=nc&&{}.toString.call(this)==Xb?this.split(""):b,d=c.length>>>0,e=arguments[1];if({}.toString.call(a)!=Tb)throw new TypeError(a+" is not a function");for(var f=0;d>f;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.map||(Array.prototype.map=function(a){var b=Object(this),c=nc&&{}.toString.call(this)==Xb?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if({}.toString.call(a)!=Tb)throw new TypeError(a+" is not a function");for(var g=0;d>g;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){for(var b,c=[],d=new Object(this),e=0,f=d.length>>>0;f>e;e++)b=d[e],e in d&&a.call(arguments[1],b,e,d)&&c.push(b);return c}),Array.isArray||(Array.isArray=function(a){return{}.toString.call(a)==Pb}),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!=d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1}),Object.prototype.propertyIsEnumerable||(Object.prototype.propertyIsEnumerable=function(a){for(var b in this)if(b===a)return!0;return!1}),Object.keys||(Object.keys=function(){"use strict";var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString");return function(c){if("object"!=typeof c&&("function"!=typeof c||null===c))throw new TypeError("Object.keys called on non-object");var d,e,f=[];for(d in c)a.call(c,d)&&f.push(d);if(b)for(e=0;Nb>e;e++)a.call(c,Mb[e])&&f.push(Mb[e]);return f}}());var oc=kb.CompositeDisposable=function(){var a,b,c=[];if(Array.isArray(arguments[0]))c=arguments[0],b=c.length;else for(b=arguments.length,c=new Array(b),a=0;b>a;a++)c[a]=arguments[a];for(a=0;b>a;a++)if(!tc(c[a]))throw new TypeError("Not a disposable");this.disposables=c,this.isDisposed=!1,this.length=c.length},pc=oc.prototype;pc.add=function(a){this.isDisposed?a.dispose():(this.disposables.push(a),this.length++)},pc.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},pc.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;for(var a=this.disposables.length,b=new Array(a),c=0;a>c;c++)b[c]=this.disposables[c];for(this.disposables=[],this.length=0,c=0;a>c;c++)b[c].dispose()}};var qc=kb.Disposable=function(a){this.isDisposed=!1,this.action=a||lb};qc.prototype.dispose=function(){this.isDisposed||(this.action(),this.isDisposed=!0)};var rc=qc.create=function(a){return new qc(a)},sc=qc.empty={dispose:lb},tc=qc.isDisposable=function(a){return a&&sb(a.dispose)},uc=qc.checkDisposed=function(a){if(a.isDisposed)throw new Ab},vc=kb.SingleAssignmentDisposable=function(){this.isDisposed=!1,this.current=null};vc.prototype.getDisposable=function(){return this.current},vc.prototype.setDisposable=function(a){if(this.current)throw new Error("Disposable has already been assigned");var b=this.isDisposed;!b&&(this.current=a),b&&a&&a.dispose()},vc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var wc=kb.SerialDisposable=function(){this.isDisposed=!1,this.current=null};wc.prototype.getDisposable=function(){return this.current},wc.prototype.setDisposable=function(a){var b=this.isDisposed;if(!b){var c=this.current;this.current=a}c&&c.dispose(),b&&a&&a.dispose()},wc.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var a=this.current;this.current=null}a&&a.dispose()};var xc=(kb.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?sc:new a(this)},b}(),kb.internals.ScheduledItem=function(a,b,c,d,e){this.scheduler=a,this.state=b,this.action=c,this.dueTime=d,this.comparer=e||pb,this.disposable=new vc});xc.prototype.invoke=function(){this.disposable.setDisposable(this.invokeCore())},xc.prototype.compareTo=function(a){return this.comparer(this.dueTime,a.dueTime)},xc.prototype.isCancelled=function(){return this.disposable.isDisposed},xc.prototype.invokeCore=function(){return this.action(this.scheduler,this.state)};var yc=kb.Scheduler=function(){function a(a,b,c,d){this.now=a,this._schedule=b,this._scheduleRelative=c,this._scheduleAbsolute=d}function b(a,b){return b(),sc}a.isScheduler=function(b){return b instanceof a};var c=a.prototype;return c.schedule=function(a){return this._schedule(a,b)},c.scheduleWithState=function(a,b){return this._schedule(a,b)},c.scheduleWithRelative=function(a,c){return this._scheduleRelative(c,a,b)},c.scheduleWithRelativeAndState=function(a,b,c){return this._scheduleRelative(a,b,c)},c.scheduleWithAbsolute=function(a,c){return this._scheduleAbsolute(c,a,b)},c.scheduleWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute(a,b,c)},a.now=nb,a.normalize=function(a){return 0>a&&(a=0),a},a}(),zc=yc.normalize,Ac=yc.isScheduler;!function(a){function b(a,b){function c(b){function d(a,b){return g?f.remove(i):h=!0,e(b,c),sc}var g=!1,h=!1,i=a.scheduleWithState(b,d);h||(f.add(i),g=!0)}var d=b[0],e=b[1],f=new oc;return e(d,c),f}function c(a,b,c){function d(b,e){function h(a,b){return i?g.remove(k):j=!0,f(b,d),sc}var i=!1,j=!1,k=a[c](b,e,h);j||(g.add(k),i=!0)}var e=b[0],f=b[1],g=new oc;return f(e,d),g}function d(a,b){return c(a,b,"scheduleWithRelativeAndState")}function e(a,b){return c(a,b,"scheduleWithAbsoluteAndState")}function f(a,b){a(function(c){b(a,c)})}a.scheduleRecursive=function(a){return this.scheduleRecursiveWithState(a,f)},a.scheduleRecursiveWithState=function(a,c){return this.scheduleWithState([a,c],b)},a.scheduleRecursiveWithRelative=function(a,b){return this.scheduleRecursiveWithRelativeAndState(b,a,f)},a.scheduleRecursiveWithRelativeAndState=function(a,b,c){return this._scheduleRelative([a,c],b,d)},a.scheduleRecursiveWithAbsolute=function(a,b){return this.scheduleRecursiveWithAbsoluteAndState(b,a,f)},a.scheduleRecursiveWithAbsoluteAndState=function(a,b,c){return this._scheduleAbsolute([a,c],b,e)}}(yc.prototype),function(){yc.prototype.schedulePeriodic=function(a,b){return this.schedulePeriodicWithState(null,a,b)},yc.prototype.schedulePeriodicWithState=function(a,b,c){if("undefined"==typeof jb.setInterval)throw new Cb;b=zc(b);var d=a,e=jb.setInterval(function(){d=c(d)},b);return rc(function(){jb.clearInterval(e)})}}(yc.prototype);var Bc,Cc,Dc=yc.immediate=function(){function a(a,b){return b(this,a)}return new yc(nb,a,Fb,Fb)}(),Ec=yc.currentThread=function(){function a(){for(;c.length>0;){var a=c.shift();!a.isCancelled()&&a.invoke()}}function b(b,f){var g=new xc(this,b,f,this.now());if(c)c.push(g);else{c=[g];var h=d(a)();if(c=null,h===tb)return e(h.e)}return g.disposable}var c,f=new yc(nb,b,Fb,Fb);return f.scheduleRequired=function(){return!c},f}(),Fc=(kb.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 vc;return this._cancel=b,b.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0,this._period,a.bind(this))),b},b}(),function(){var a,b=lb;if(jb.setTimeout)a=jb.setTimeout,b=jb.clearTimeout;else{if(!jb.WScript)throw new Cb;a=function(a,b){jb.WScript.Sleep(b),a()}}return{setTimeout:a,clearTimeout:b}}()),Gc=Fc.setTimeout,Hc=Fc.clearTimeout;!function(){function a(b){if(h)Gc(function(){a(b)},0);else{var c=g[b];if(c){h=!0;var f=d(c)();if(Cc(b),h=!1,f===tb)return e(f.e)}}}function b(){if(!jb.postMessage||jb.importScripts)return!1;var a=!1,b=jb.onmessage;return jb.onmessage=function(){a=!0},jb.postMessage("","*"),jb.onmessage=b,a}function c(b){"string"==typeof b.data&&b.data.substring(0,k.length)===k&&a(b.data.substring(k.length))}var f=1,g={},h=!1;Cc=function(a){delete g[a]};var i=RegExp("^"+String(Yb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),j="function"==typeof(j=ib&&hb&&ib.setImmediate)&&!i.test(j)&&j;if(sb(j))Bc=function(b){var c=f++;return g[c]=b,j(function(){a(c)}),c};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Bc=function(b){var c=f++;return g[c]=b,process.nextTick(function(){a(c)}),c};else if(b()){var k="ms.rx.schedule"+Math.random();jb.addEventListener?jb.addEventListener("message",c,!1):jb.attachEvent?jb.attachEvent("onmessage",c):jb.onmessage=c,Bc=function(a){var b=f++;return g[b]=a,jb.postMessage(k+currentId,"*"),b}}else if(jb.MessageChannel){var l=new jb.MessageChannel;l.port1.onmessage=function(b){a(b.data)},Bc=function(a){var b=f++;return g[b]=a,l.port2.postMessage(b),b}}else Bc="document"in jb&&"onreadystatechange"in jb.document.createElement("script")?function(b){var c=jb.document.createElement("script"),d=f++;return g[d]=b,c.onreadystatechange=function(){a(d),c.onreadystatechange=null,c.parentNode.removeChild(c),c=null},jb.document.documentElement.appendChild(c),d}:function(b){var c=f++;return g[c]=b,Gc(function(){a(c)},0),c}}();var Ic,Jc=yc.timeout=yc["default"]=function(){function a(a,b){var c=this,d=new vc,e=Bc(function(){!d.isDisposed&&d.setDisposable(b(c,a))});return new oc(d,rc(function(){Cc(e)}))}function b(a,b,c){var d=this,e=yc.normalize(b),f=new vc;if(0===e)return d.scheduleWithState(a,c);var g=Gc(function(){!f.isDisposed&&f.setDisposable(c(d,a))},e);return new oc(f,rc(function(){Hc(g)}))}function c(a,b,c){return this.scheduleWithRelativeAndState(a,b-this.now(),c)}return new yc(nb,a,b,c)}(),Kc=kb.Notification=function(){function a(a,b,c,d,e,f){this.kind=a,this.value=b,this.exception=c,this._accept=d,this._acceptObservable=e,this.toString=f}return a.prototype.accept=function(a,b,c){return a&&"object"==typeof a?this._acceptObservable(a):this._accept(a,b,c)},a.prototype.toObservable=function(a){var b=this;return Ac(a)||(a=Dc),new Yd(function(c){return a.scheduleWithState(b,function(a,b){b._acceptObservable(c),"N"===b.kind&&c.onCompleted()})})},a}(),Lc=Kc.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){return new Kc("N",d,null,a,b,c)}}(),Mc=Kc.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){return new Kc("E",null,d,a,b,c)}}(),Nc=Kc.createOnCompleted=function(){function a(a,b,c){return c()}function b(a){return a.onCompleted()}function c(){return"OnCompleted()"}return function(){return new Kc("C",null,null,a,b,c)}}(),Oc=kb.Observer=function(){},Pc=Oc.create=function(a,b,c){return a||(a=lb),b||(b=qb),c||(c=lb),new Rc(a,b,c)},Qc=kb.internals.AbstractObserver=function(a){function b(){this.isStopped=!1}return kc(b,a),b.prototype.next=Eb,b.prototype.error=Eb,b.prototype.completed=Eb,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}(Oc),Rc=kb.AnonymousObserver=function(a){function b(b,c,d){a.call(this),this._onNext=b,this._onError=c,this._onCompleted=d}return kc(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}(Qc),Sc=kb.Observable=function(){function a(a,b){return function(c){var d=c.onError;return c.onError=function(b){f(b,a),d.call(c,b)},b.call(a,c)}}function b(b){if(kb.config.longStackSupport&&ub){var c=d(e)(new Error).e;this.stack=c.stack.substring(c.stack.indexOf("\n")+1),this._subscribe=a(this,b)}else this._subscribe=b}return Ic=b.prototype,b.isObservable=function(a){return a&&sb(a.subscribe)},Ic.subscribe=Ic.forEach=function(a,b,c){return this._subscribe("object"==typeof a?a:Pc(a,b,c))},Ic.subscribeOnNext=function(a,b){return this._subscribe(Pc("undefined"!=typeof b?function(c){a.call(b,c)}:a))},Ic.subscribeOnError=function(a,b){return this._subscribe(Pc(null,"undefined"!=typeof b?function(c){a.call(b,c)}:a))},Ic.subscribeOnCompleted=function(a,b){return this._subscribe(Pc(null,null,"undefined"!=typeof b?function(){a.call(b)}:a))},b}(),Tc=kb.ObservableBase=function(a){function b(a){return a&&sb(a.dispose)?a:sb(a)?rc(a):sc}function c(a,c){var f=c[0],g=c[1],h=d(g.subscribeCore).call(g,f);return h!==tb||f.fail(tb.e)?void f.setDisposable(b(h)):e(tb.e)}function f(a){var b=new Zd(a),d=[b,this];return Ec.scheduleRequired()?Ec.scheduleWithState(d,c):c(null,d),b}function g(){a.call(this,f)}return kc(g,a),g.prototype.subscribeCore=Eb,g}(Sc),Uc=function(a){function b(b,c,d,e){this.resultSelector=kb.helpers.isFunction(d)?d:null,this.selector=kb.internals.bindCallback(kb.helpers.isFunction(c)?c:function(){return c},e,3),this.source=b,a.call(this)}function c(a,b,c,d){this.i=0,this.selector=b,this.resultSelector=c,this.source=d,this.isStopped=!1,this.o=a}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this.selector,this.resultSelector,this))},c.prototype._wrapResult=function(a,b,c){return this.resultSelector?a.map(function(a,d){return this.resultSelector(b,a,c,d)},this):a},c.prototype.onNext=function(a){if(!this.isStopped){var b=this.i++,c=d(this.selector)(a,b,this.source);if(c===tb)return this.o.onError(c.e);kb.helpers.isPromise(c)&&(c=kb.Observable.fromPromise(c)),(kb.helpers.isArrayLike(c)||kb.helpers.isIterable(c))&&(c=kb.Observable.from(c)),this.o.onNext(this._wrapResult(c,a,b))}},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},b}(Tc),Vc=kb.internals.Enumerable=function(){},Wc=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b,c){this.o=a,this.s=b,this.e=c,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){var b,e=new wc,f=Dc.scheduleRecursiveWithState(this.sources[Gb](),function(f,g){if(!b){var h=d(f.next).call(f);if(h===tb)return a.onError(h.e);if(h.done)return a.onCompleted();var i=h.value;rb(i)&&(i=Rd(i));var j=new vc;e.setDisposable(j),j.setDisposable(i.subscribe(new c(a,g,f)))}});return new oc(e,f,rc(function(){b=!0}))},c.prototype.onNext=function(a){this.isStopped||this.o.onNext(a)},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.s(this.e))},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Vc.prototype.concat=function(){return new Wc(this)};var Xc=function(a){function b(b){this.sources=b,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b,c=this.sources[Gb](),e=new wc,f=Dc.scheduleRecursiveWithState(null,function(f,g){if(!b){var h=d(c.next).call(c);if(h===tb)return a.onError(h.e);if(h.done)return null!==f?a.onError(f):a.onCompleted();var i=h.value;rb(i)&&(i=Rd(i));var j=new vc;e.setDisposable(j),j.setDisposable(i.subscribe(function(b){a.onNext(b)},g,function(){a.onCompleted()}))}});return new oc(e,f,rc(function(){b=!0}))},b}(Tc);Vc.prototype.catchError=function(){return new Xc(this)},Vc.prototype.catchErrorWhen=function(a){var b=this;return new Yd(function(c){var e,f,g=new _d,h=new _d,i=a(g),j=i.subscribe(h),k=b[Gb](),l=new wc,m=Dc.scheduleRecursive(function(a){if(!e){var b=d(k.next).call(k);if(b===tb)return c.onError(b.e);if(b.done)return void(f?c.onError(f):c.onCompleted());var i=b.value;rb(i)&&(i=Rd(i));var j=new vc,m=new vc;l.setDisposable(new oc(m,j)),j.setDisposable(i.subscribe(function(a){c.onNext(a)},function(b){m.setDisposable(h.subscribe(a,function(a){c.onError(a)},function(){c.onCompleted()})),g.onNext(b)},function(){c.onCompleted()}))}});return new oc(j,l,m,rc(function(){e=!0}))})};var Yc=function(a){function b(a,b){this.v=a,this.c=null==b?-1:b}function c(a){this.v=a.v,this.l=a.c}return kc(b,a),b.prototype[Gb]=function(){return new c(this)},c.prototype.next=function(){return 0===this.l?Hb:(this.l>0&&this.l--,{done:!1,value:this.v})},b}(Vc),Zc=Vc.repeat=function(a,b){return new Yc(a,b)},$c=function(a){function b(a,b,c){this.s=a,this.fn=b?Lb(b,c,3):null}function c(a){this.i=-1,this.s=a.s,this.l=this.s.length,this.fn=a.fn}return kc(b,a),b.prototype[Gb]=function(){return new c(this)},c.prototype.next=function(){return++this.i<this.l?{done:!1,value:this.fn?this.fn(this.s[this.i],this.i,this.s):this.s[this.i]}:Hb},b}(Vc),_c=Vc.of=function(a,b,c){return new $c(a,b,c)},ad=kb.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 wc}return kc(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;
3
+ 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;!this.hasFaulted&&this.queue.length>0&&(a=!this.isAcquired,this.isAcquired=!0),a&&this.disposable.setDisposable(this.scheduler.scheduleRecursiveWithState(this,function(a,b){var c;if(!(a.queue.length>0))return void(a.isAcquired=!1);c=a.queue.shift();var f=d(c)();return f===tb?(a.queue=[],a.hasFaulted=!0,e(f.e)):void b(a)}))},b.prototype.dispose=function(){a.prototype.dispose.call(this),this.disposable.dispose()},b}(Qc),bd=function(a){function b(b){this.source=b,a.call(this)}function c(a){this.o=a,this.a=[],this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a))},c.prototype.onNext=function(a){this.isStopped||this.a.push(a)},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onNext(this.a),this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic.toArray=function(){return new bd(this)},Sc.create=function(a,b){return new Yd(a,b)};var cd=Sc.defer=function(a){return new Yd(function(b){var c;try{c=a()}catch(d){return ud(d).subscribe(b)}return rb(c)&&(c=Rd(c)),c.subscribe(b)})},dd=function(a){function b(b){this.scheduler=b,a.call(this)}function c(a,b){this.observer=a,this.scheduler=b}function d(a,b){return b.onCompleted(),sc}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this.scheduler);return b.run()},c.prototype.run=function(){return this.scheduler.scheduleWithState(this.observer,d)},b}(Tc),ed=new dd(Dc),fd=Sc.empty=function(a){return Ac(a)||(a=Dc),a===Dc?ed:new dd(a)},gd=function(a){function b(b,c,d){this.iterable=b,this.mapper=c,this.scheduler=d,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new hd(a,this);return b.run()},b}(Tc),hd=function(){function a(a,b){this.o=a,this.parent=b}return a.prototype.run=function(){function a(a,b){var g=d(c.next).call(c);if(g===tb)return e.onError(g.e);if(g.done)return e.onCompleted();var h=g.value;return sb(f)&&(h=d(f)(h,a),h===tb)?e.onError(h.e):(e.onNext(h),void b(a+1))}var b=Object(this.parent.iterable),c=w(b),e=this.o,f=this.parent.mapper;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}(),id=Math.pow(2,53)-1;r.prototype[Gb]=function(){return new s(this._s)},s.prototype[Gb]=function(){return this},s.prototype.next=function(){return this._i<this._l?{done:!1,value:this._s.charAt(this._i++)}:Hb},t.prototype[Gb]=function(){return new u(this._a)},u.prototype[Gb]=function(){return this},u.prototype.next=function(){return this._i<this._l?{done:!1,value:this._a[this._i++]}:Hb};var jd=Sc.from=function(a,b,c,d){if(null==a)throw new Error("iterable cannot be null.");if(b&&!sb(b))throw new Error("mapFn when provided must be a function");if(b)var e=Lb(b,c,2);return Ac(d)||(d=Ec),new gd(a,e,d)},kd=function(a){function b(b,c){this.args=b,this.scheduler=c,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new z(a,this);return b.run()},b}(Tc);z.prototype.run=function(){function a(a,e){d>a?(b.onNext(c[a]),e(a+1)):b.onCompleted()}var b=this.observer,c=this.parent.args,d=c.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)};{var ld=Sc.fromArray=function(a,b){return Ac(b)||(b=Ec),new kd(a,b)},md=function(a){function b(){a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(){return sc},b}(Tc),nd=new md;Sc.never=function(){return nd}}Sc.of=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return new kd(b,Ec)},Sc.ofWithScheduler=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;d++)c[d-1]=arguments[d];return new kd(c,a)};var od=function(a){function b(b,c){this.obj=b,this.keys=Object.keys(b),this.scheduler=c,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new B(a,this);return b.run()},b}(Tc);B.prototype.run=function(){function a(a,f){if(e>a){var g=d[a];b.onNext([g,c[g]]),f(a+1)}else b.onCompleted()}var b=this.observer,c=this.parent.obj,d=this.parent.keys,e=d.length;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},Sc.pairs=function(a,b){return b||(b=Ec),new od(a,b)};var pd=function(a){function b(b,c,d){this.start=b,this.rangeCount=c,this.scheduler=d,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new qd(a,this);return b.run()},b}(Tc),qd=function(){function a(a,b){this.observer=a,this.parent=b}return a.prototype.run=function(){function a(a,e){c>a?(d.onNext(b+a),e(a+1)):d.onCompleted()}var b=this.parent.start,c=this.parent.rangeCount,d=this.observer;return this.parent.scheduler.scheduleRecursiveWithState(0,a)},a}();Sc.range=function(a,b,c){return Ac(c)||(c=Ec),new pd(a,b,c)};var rd=function(a){function b(b,c,d){this.value=b,this.repeatCount=null==c?-1:c,this.scheduler=d,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new C(a,this);return b.run()},b}(Tc);C.prototype.run=function(){function a(a,d){return(-1===a||a>0)&&(b.onNext(c),a>0&&a--),0===a?b.onCompleted():void d(a)}var b=this.observer,c=this.parent.value;return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount,a)},Sc.repeat=function(a,b,c){return Ac(c)||(c=Ec),new rd(a,b,c)};var sd=function(a){function b(b,c){this.value=b,this.scheduler=c,a.call(this)}function c(a,b,c){this.observer=a,this.value=b,this.scheduler=c}function d(a,b){var c=b[0],d=b[1];return d.onNext(c),d.onCompleted(),sc}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this.value,this.scheduler);return b.run()},c.prototype.run=function(){var a=[this.value,this.observer];return this.scheduler===Dc?d(null,a):this.scheduler.scheduleWithState(a,d)},b}(Tc),td=(Sc["return"]=Sc.just=function(a,b){return Ac(b)||(b=Dc),new sd(a,b)},function(a){function b(b,c){this.error=b,this.scheduler=c,a.call(this)}function c(a,b){this.o=a,this.p=b}function d(a,b){var c=b[0],d=b[1];d.onError(c)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new c(a,this);return b.run()},c.prototype.run=function(){return this.p.scheduler.scheduleWithState([this.p.error,this.o],d)},b}(Tc)),ud=Sc["throw"]=function(a,b){return Ac(b)||(b=Dc),new td(a,b)},vd=function(a){function b(b,c,d){this._o=b,this._s=c,this._fn=d,a.call(this)}return kc(b,a),b.prototype.next=function(a){this._o.onNext(a)},b.prototype.completed=function(){return this._o.onCompleted()},b.prototype.error=function(a){var b=d(this._fn)(a);if(b===tb)return this._o.onError(b.e);rb(b)&&(b=Rd(b));var c=new vc;this._s.setDisposable(c),c.setDisposable(b.subscribe(this._o))},b}(Qc);Ic["catch"]=function(a){return sb(a)?D(this,a):wd([this,a])};var wd=Sc["catch"]=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}return _c(a).catchError()};Ic.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];return Array.isArray(b[0])?b[0].unshift(this):b.unshift(this),xd.apply(this,b)};var xd=Sc.combineLatest=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=sb(b[a-1])?b.pop():F;return Array.isArray(b[0])&&(b=b[0]),new Yd(function(a){function c(b){if(g[b]=!0,h||(h=g.every(mb))){try{var c=d.apply(null,j)}catch(e){return a.onError(e)}a.onNext(c)}else i.filter(function(a,c){return c!==b}).every(mb)&&a.onCompleted()}function e(b){i[b]=!0,i.every(mb)&&a.onCompleted()}for(var f=b.length,g=q(f,E),h=!1,i=q(f,E),j=new Array(f),k=new Array(f),l=0;f>l;l++)!function(d){var f=b[d],g=new vc;rb(f)&&(f=Rd(f)),g.setDisposable(f.subscribe(function(a){j[d]=a,c(d)},function(b){a.onError(b)},function(){e(d)})),k[d]=g}(l);return new oc(k)},this)};Ic.concat=function(){for(var a=[],b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return a.unshift(this),zd.apply(null,a)};var yd=function(a){function b(b){this.sources=b,a.call(this)}function c(a,b){this.sources=a,this.o=b}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new c(this.sources,a);return b.run()},c.prototype.run=function(){var a,b=new wc,c=this.sources,d=c.length,e=this.o,f=Dc.scheduleRecursiveWithState(0,function(f,g){if(!a){if(f===d)return e.onCompleted();var h=c[f];rb(h)&&(h=Rd(h));var i=new vc;b.setDisposable(i),i.setDisposable(h.subscribe(function(a){e.onNext(a)},function(a){e.onError(a)},function(){g(f+1)}))}});return new oc(b,f,rc(function(){a=!0}))},b}(Tc),zd=Sc.concat=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{a=new Array(arguments.length);for(var b=0,c=arguments.length;c>b;b++)a[b]=arguments[b]}return new yd(a)};Ic.concatAll=function(){return this.merge(1)};var Ad=function(a){function b(b,c){this.source=b,this.maxConcurrent=c,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new oc;return b.add(this.source.subscribe(new Bd(a,this.maxConcurrent,b))),b},b}(Tc),Bd=function(){function a(a,b,c){this.o=a,this.max=b,this.g=c,this.done=!1,this.q=[],this.activeCount=0,this.isStopped=!1}function b(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return a.prototype.handleSubscribe=function(a){var c=new vc;this.g.add(c),rb(a)&&(a=Rd(a)),c.setDisposable(a.subscribe(new b(this,c)))},a.prototype.onNext=function(a){this.isStopped||(this.activeCount<this.max?(this.activeCount++,this.handleSubscribe(a)):this.q.push(a))},a.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},a.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,0===this.activeCount&&this.o.onCompleted())},a.prototype.dispose=function(){this.isStopped=!0},a.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},b.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},b.prototype.onCompleted=function(){if(!this.isStopped){this.isStopped=!0;var a=this.parent;a.g.remove(this.sad),a.q.length>0?a.handleSubscribe(a.q.shift()):(a.activeCount--,a.done&&0===a.activeCount&&a.o.onCompleted())}},b.prototype.dispose=function(){this.isStopped=!0},b.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},a}();Ic.merge=function(a){return"number"!=typeof a?Cd(this,a):new Ad(this,a)};var Cd=Sc.merge=function(){var a,b,c=[],d=arguments.length;if(arguments[0])if(Ac(arguments[0]))for(a=arguments[0],b=1;d>b;b++)c.push(arguments[b]);else for(a=Dc,b=0;d>b;b++)c.push(arguments[b]);else for(a=Dc,b=1;d>b;b++)c.push(arguments[b]);return Array.isArray(c[0])&&(c=c[0]),A(a,c).mergeAll()},Dd=function(a){function b(b){this.source=b,a.call(this)}function c(a,b){this.o=a,this.g=b,this.isStopped=!1,this.done=!1}function d(a,b){this.parent=a,this.sad=b,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new oc,d=new vc;return b.add(d),d.setDisposable(this.source.subscribe(new c(a,b))),b},c.prototype.onNext=function(a){if(!this.isStopped){var b=new vc;this.g.add(b),rb(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new d(this,b)))}},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.done=!0,1===this.g.length&&this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},d.prototype.onNext=function(a){this.isStopped||this.parent.o.onNext(a)},d.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.o.onError(a))},d.prototype.onCompleted=function(){if(!this.isStopped){var a=this.parent;this.isStopped=!0,a.g.remove(this.sad),a.done&&1===a.g.length&&a.o.onCompleted()}},d.prototype.dispose=function(){this.isStopped=!0},d.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},b}(Tc);Ic.mergeAll=function(){return new Dd(this)};var Ed=kb.CompositeError=function(a){this.name="NotImplementedError",this.innerErrors=a,this.message="This contains multiple errors. Check the innerErrors",Error.call(this)};Ed.prototype=Error.prototype,Sc.mergeDelayError=function(){var a;if(Array.isArray(arguments[0]))a=arguments[0];else{var b=arguments.length;a=new Array(b);for(var c=0;b>c;c++)a[c]=arguments[c]}var d=A(null,a);return new Yd(function(a){function b(){0===g.length?a.onCompleted():a.onError(1===g.length?g[0]:new Ed(g))}var c=new oc,e=new vc,f=!1,g=[];return c.add(e),e.setDisposable(d.subscribe(function(d){var e=new vc;c.add(e),rb(d)&&(d=Rd(d)),e.setDisposable(d.subscribe(function(b){a.onNext(b)},function(a){g.push(a),c.remove(e),f&&1===c.length&&b()},function(){c.remove(e),f&&1===c.length&&b()}))},function(a){g.push(a),f=!0,1===c.length&&b()},function(){f=!0,1===c.length&&b()})),c})},Ic.skipUntil=function(a){var b=this;return new Yd(function(c){var d=!1,e=new oc(b.subscribe(function(a){d&&c.onNext(a)},function(a){c.onError(a)},function(){d&&c.onCompleted()}));rb(a)&&(a=Rd(a));var f=new vc;return e.add(f),f.setDisposable(a.subscribe(function(){d=!0,f.dispose()},function(a){c.onError(a)},function(){f.dispose()})),e},b)};var Fd=function(a){function b(b){this.source=b,a.call(this)}function c(a,b){this.o=a,this.inner=b,this.stopped=!1,this.latest=0,this.hasLatest=!1,this.isStopped=!1}function d(a,b){this.parent=a,this.id=b,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){var b=new wc,d=this.source.subscribe(new c(a,b));return new oc(d,b)},c.prototype.onNext=function(a){if(!this.isStopped){var b=new vc,c=++this.latest;this.hasLatest=!0,this.inner.setDisposable(b),rb(a)&&(a=Rd(a)),b.setDisposable(a.subscribe(new d(this,c)))}},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.stopped=!0,!this.hasLatest&&this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},d.prototype.onNext=function(a){this.isStopped||this.parent.latest===this.id&&this.parent.o.onNext(a)},d.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.parent.latest===this.id&&this.parent.o.onError(a))},d.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.parent.latest===this.id&&(this.parent.hasLatest=!1,this.parent.isStopped&&this.parent.o.onCompleted()))},d.prototype.dispose=function(){this.isStopped=!0},d.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.parent.o.onError(a),!0)},b}(Tc);Ic["switch"]=Ic.switchLatest=function(){return new Fd(this)};var Gd=function(a){function b(b,c){this.source=b,this.other=rb(c)?Rd(c):c,a.call(this)}function c(a){this.o=a,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return new oc(this.source.subscribe(a),this.other.subscribe(new c(a)))},c.prototype.onNext=function(){this.isStopped||this.o.onCompleted()},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){!this.isStopped&&(this.isStopped=!0)},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic.takeUntil=function(a){return new Gd(this,a)},Ic.withLatestFrom=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var e=b.pop(),f=this;return Array.isArray(b[0])&&(b=b[0]),new Yd(function(a){for(var c=b.length,g=q(c,E),h=!1,i=new Array(c),j=new Array(c+1),k=0;c>k;k++)!function(c){var d=b[c],e=new vc;rb(d)&&(d=Rd(d)),e.setDisposable(d.subscribe(function(a){i[c]=a,g[c]=!0,h=g.every(mb)},function(b){a.onError(b)},lb)),j[c]=e}(k);var l=new vc;return l.setDisposable(f.subscribe(function(b){var c=[b].concat(i);if(h){var f=d(e).apply(null,c);return f===tb?a.onError(f.e):void a.onNext(f)}},function(b){a.onError(b)},function(){a.onCompleted()})),j[c]=l,new oc(j)},this)},Ic.zip=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var e=sb(b[a-1])?b.pop():F;Array.isArray(b[0])&&(b=b[0]);var f=this;return b.unshift(f),new Yd(function(a){for(var c=b.length,g=q(c,G),h=q(c,E),i=new Array(c),j=0;c>j;j++)!function(c){var j=b[c],k=new vc;rb(j)&&(j=Rd(j)),k.setDisposable(j.subscribe(function(b){if(g[c].push(b),g.every(function(a){return a.length>0})){var i=g.map(function(a){return a.shift()}),j=d(e).apply(f,i);if(j===tb)return a.onError(j.e);a.onNext(j)}else h.filter(function(a,b){return b!==c}).every(mb)&&a.onCompleted()},function(b){a.onError(b)},function(){h[c]=!0,h.every(mb)&&a.onCompleted()})),i[c]=k}(j);return new oc(i)},f)},Sc.zip=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var d=b.shift();return d.zip.apply(d,b)},Ic.zipIterable=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var a=arguments.length,b=new Array(a),c=0;a>c;c++)b[c]=arguments[c];var e=sb(b[a-1])?b.pop():F,f=this;return b.unshift(f),new Yd(function(a){for(var c=b.length,g=q(c,G),h=q(c,E),i=new Array(c),j=0;c>j;j++)!function(c){var j=b[c],k=new vc;(Jb(j)||Ib(j))&&(j=jd(j)),k.setDisposable(j.subscribe(function(b){if(g[c].push(b),g.every(function(a){return a.length>0})){var i=g.map(function(a){return a.shift()}),j=d(e).apply(f,i);if(j===tb)return a.onError(j.e);a.onNext(j)}else h.filter(function(a,b){return b!==c}).every(mb)&&a.onCompleted()},function(b){a.onError(b)},function(){h[c]=!0,h.every(mb)&&a.onCompleted()})),i[c]=k}(j);return new oc(i)},f)},Ic.asObservable=function(){return new Yd(H(this),this)},Ic.dematerialize=function(){var a=this;return new Yd(function(b){return a.subscribe(function(a){return a.accept(b)},function(a){b.onError(a)},function(){b.onCompleted()})},this)};var Hd=function(a){function b(b,c,d){this.source=b,this.keyFn=c,this.comparer=d,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new Id(a,this.keyFn,this.comparer))},b}(Tc),Id=function(a){function b(b,c,d){this.o=b,this.keyFn=c,this.comparer=d,this.hasCurrentKey=!1,this.currentKey=null,a.call(this)}return kc(b,a),b.prototype.next=function(a){var b,c=a;return sb(this.keyFn)&&(c=d(this.keyFn)(a),c===tb)?this.o.onError(c.e):this.hasCurrentKey&&(b=d(this.comparer)(this.currentKey,c),b===tb)?this.o.onError(b.e):void(this.hasCurrentKey&&b||(this.hasCurrentKey=!0,this.currentKey=c,this.o.onNext(a)))},b.prototype.error=function(a){this.o.onError(a)},b.prototype.completed=function(){this.o.onCompleted()},b}(Qc);Ic.distinctUntilChanged=function(a,b){return b||(b=ob),new Hd(this,a,b)};var Jd=function(a){function b(b,c,d,e){this.source=b,this._oN=c,this._oE=d,this._oC=e,a.call(this)}function c(a,b){this.o=a,this.t=!b._oN||sb(b._oN)?Pc(b._oN||lb,b._oE||lb,b._oC||lb):b._oN,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this))},c.prototype.onNext=function(a){if(!this.isStopped){var b=d(this.t.onNext).call(this.t,a);b===tb&&this.o.onError(b.e),this.o.onNext(a)}},c.prototype.onError=function(a){if(!this.isStopped){this.isStopped=!0;var b=d(this.t.onError).call(this.t,a);if(b===tb)return this.o.onError(b.e);this.o.onError(a)}},c.prototype.onCompleted=function(){if(!this.isStopped){this.isStopped=!0;var a=d(this.t.onCompleted).call(this.t);if(a===tb)return this.o.onError(a.e);this.o.onCompleted()}},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic["do"]=Ic.tap=Ic.doAction=function(a,b,c){return new Jd(this,a,b,c)},Ic.doOnNext=Ic.tapOnNext=function(a,b){return this.tap("undefined"!=typeof b?function(c){a.call(b,c)}:a)},Ic.doOnError=Ic.tapOnError=function(a,b){return this.tap(lb,"undefined"!=typeof b?function(c){a.call(b,c)}:a)},Ic.doOnCompleted=Ic.tapOnCompleted=function(a,b){return this.tap(lb,null,"undefined"!=typeof b?function(){a.call(b)}:a)},Ic["finally"]=function(a){var b=this;return new Yd(function(c){var f=d(b.subscribe).call(b,c);return f===tb?(a(),e(f.e)):rc(function(){var b=d(f.dispose).call(f);a(),b===tb&&e(b.e)})},this)};var Kd=function(a){function b(b){this.source=b,a.call(this)}function c(a){this.o=a,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a))},c.prototype.onNext=lb,c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.observer.onError(a),!0)},b}(Tc);Ic.ignoreElements=function(){return new Kd(this)},Ic.materialize=function(){var a=this;return new Yd(function(b){return a.subscribe(function(a){b.onNext(Lc(a))},function(a){b.onNext(Mc(a)),b.onCompleted()},function(){b.onNext(Nc()),b.onCompleted()})},a)},Ic.repeat=function(a){return Zc(this,a).concat()},Ic.retry=function(a){return Zc(this,a).catchError()},Ic.retryWhen=function(a){return Zc(this).catchErrorWhen(a)};var Ld=function(a){function b(b,c,d,e){this.source=b,this.accumulator=c,this.hasSeed=d,this.seed=e,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new I(a,this))},b}(Tc);I.prototype={onNext:function(a){return this.isStopped?void 0:(!this.hasValue&&(this.hasValue=!0),this.hasAccumulation?this.accumulation=d(this.accumulator)(this.accumulation,a):(this.accumulation=this.hasSeed?d(this.accumulator)(this.seed,a):a,this.hasAccumulation=!0),this.accumulation===tb?this.o.onError(this.accumulation.e):void this.o.onNext(this.accumulation))},onError:function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},onCompleted:function(){this.isStopped||(this.isStopped=!0,!this.hasValue&&this.hasSeed&&this.o.onNext(this.seed),this.o.onCompleted())},dispose:function(){this.isStopped=!0},fail:function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)}},Ic.scan=function(){var a,b=!1,c=arguments[0];return 2===arguments.length&&(b=!0,a=arguments[1]),new Ld(this,c,b,a)},Ic.skipLast=function(a){if(0>a)throw new Bb;var b=this;return new Yd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&c.onNext(d.shift())},function(a){c.onError(a)},function(){c.onCompleted()})},b)},Ic.startWith=function(){var a,b=0;arguments.length&&Ac(arguments[0])?(a=arguments[0],b=1):a=Dc;for(var c=[],d=b,e=arguments.length;e>d;d++)c.push(arguments[d]);return _c([ld(c,a),this]).concat()},Ic.takeLast=function(a){if(0>a)throw new Bb;var b=this;return new Yd(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){for(;d.length>0;)c.onNext(d.shift());c.onCompleted()})},b)},Ic.flatMapConcat=Ic.concatMap=function(a,b,c){return new Uc(this,a,b,c).merge(1)};var Md=function(a){function b(b,c,d){this.source=b,this.selector=Lb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return a.call(this,b.selector(c,d,e),d,e)}}function e(a,b,c){this.o=a,this.selector=b,this.source=c,this.i=0,this.isStopped=!1}return kc(b,a),b.prototype.internalMap=function(a,d){return new b(this.source,c(a,this),d)},b.prototype.subscribeCore=function(a){return this.source.subscribe(new e(a,this.selector,this))},e.prototype.onNext=function(a){if(!this.isStopped){var b=d(this.selector)(a,this.i++,this.source);return b===tb?this.o.onError(b.e):void this.o.onNext(b)}},e.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},e.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},e.prototype.dispose=function(){this.isStopped=!0},e.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic.map=Ic.select=function(a,b){var c="function"==typeof a?a:function(){return a};return this instanceof Md?this.internalMap(c,b):new Md(this,c,b)},Ic.pluck=function(){var a=arguments.length,b=new Array(a);if(0===a)throw new Error("List of properties cannot be empty.");for(var c=0;a>c;c++)b[c]=arguments[c];return this.map(J(b,a))},Ic.flatMap=Ic.selectMany=function(a,b,c){return new Uc(this,a,b,c).mergeAll()},kb.Observable.prototype.flatMapLatest=function(a,b,c){return new Uc(this,a,b,c).switchLatest()};var Nd=function(a){function b(b,c){this.source=b,this.skipCount=c,a.call(this)}function c(a,b){this.c=b,this.r=b,this.o=a,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new c(a,this.skipCount))},c.prototype.onNext=function(a){this.isStopped||(this.r<=0?this.o.onNext(a):this.r--)},c.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},c.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},c.prototype.dispose=function(){this.isStopped=!0},c.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic.skip=function(a){if(0>a)throw new Bb;return new Nd(this,a)},Ic.skipWhile=function(a,b){var c=this,d=Lb(a,b,3);return new Yd(function(a){var b=0,e=!1;return c.subscribe(function(f){if(!e)try{e=!d(f,b++,c)}catch(g){return void a.onError(g)}e&&a.onNext(f)},function(b){a.onError(b)},function(){a.onCompleted()})},c)},Ic.take=function(a,b){if(0>a)throw new Bb;if(0===a)return fd(b);var c=this;return new Yd(function(b){var d=a;return c.subscribe(function(a){d-->0&&(b.onNext(a),0>=d&&b.onCompleted())},function(a){b.onError(a)},function(){b.onCompleted()})},c)},Ic.takeWhile=function(a,b){var c=this,d=Lb(a,b,3);return new Yd(function(a){var b=0,e=!0;return c.subscribe(function(f){if(e){try{e=d(f,b++,c)}catch(g){return void a.onError(g)}e?a.onNext(f):a.onCompleted()}},function(b){a.onError(b)},function(){a.onCompleted()})},c)};var Od=function(a){function b(b,c,d){this.source=b,this.predicate=Lb(c,d,3),a.call(this)}function c(a,b){return function(c,d,e){return b.predicate(c,d,e)&&a.call(this,c,d,e)}}function e(a,b,c){this.o=a,this.predicate=b,this.source=c,this.i=0,this.isStopped=!1}return kc(b,a),b.prototype.subscribeCore=function(a){return this.source.subscribe(new e(a,this.predicate,this))},b.prototype.internalFilter=function(a,d){return new b(this.source,c(a,this),d)},e.prototype.onNext=function(a){if(!this.isStopped){var b=d(this.predicate)(a,this.i++,this.source);return b===tb?this.o.onError(b.e):void(b&&this.o.onNext(a))}},e.prototype.onError=function(a){this.isStopped||(this.isStopped=!0,this.o.onError(a))},e.prototype.onCompleted=function(){this.isStopped||(this.isStopped=!0,this.o.onCompleted())},e.prototype.dispose=function(){this.isStopped=!0},e.prototype.fail=function(a){return this.isStopped?!1:(this.isStopped=!0,this.o.onError(a),!0)},b}(Tc);Ic.filter=Ic.where=function(a,b){return this instanceof Od?this.internalFilter(a,b):new Od(this,a,b)},Sc.fromCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return K(a,b,c,e)}},Sc.fromNodeCallback=function(a,b,c){return function(){"undefined"==typeof b&&(b=this);for(var d=arguments.length,e=new Array(d),f=0;d>f;f++)e[f]=arguments[f];return M(a,b,c,e)}},Q.prototype.dispose=function(){this.isDisposed||(this._e.removeEventListener(this._n,this._fn,!1),this.isDisposed=!0)},R.prototype.dispose=function(){this.isDisposed||(this._e.detachEvent(this._n,this._fn),this.isDisposed=!0)},S.prototype.dispose=function(){this.isDisposed||(this._e[this._n]=null,this.isDisposed=!0)},kb.config.useNativeEvents=!1,Sc.fromEvent=function(a,b,c){return a.addListener?Pd(function(c){a.addListener(b,c)},function(c){a.removeListener(b,c)},c):kb.config.useNativeEvents||"function"!=typeof a.on||"function"!=typeof a.off?new Yd(function(e){return U(a,b,function(){var a=arguments[0];return sb(c)&&(a=d(c).apply(null,arguments),a===tb)?e.onError(a.e):void e.onNext(a)})}).publish().refCount():Pd(function(c){a.on(b,c)},function(c){a.off(b,c)},c)};var Pd=Sc.fromEventPattern=function(a,b,c,e){return Ac(e)||(e=Dc),new Yd(function(e){function f(){var a=arguments[0];return sb(c)&&(a=d(c).apply(null,arguments),a===tb)?e.onError(a.e):void e.onNext(a)}var g=a(f);return rc(function(){sb(b)&&b(f,g)})}).publish().refCount()},Qd=function(a){function b(b){this.p=b,a.call(this)}return kc(b,a),b.prototype.subscribeCore=function(a){return this.p.then(function(b){a.onNext(b),a.onCompleted()},function(b){a.onError(b)}),sc},b}(Tc),Rd=Sc.fromPromise=function(a){return new Qd(a)};Ic.toPromise=function(a){if(a||(a=kb.config.Promise),!a)throw new Cb("Promise type not provided nor in Rx.config.Promise");var b=this;return new a(function(a,c){var d,e=!1;b.subscribe(function(a){d=a,e=!0},c,function(){e&&a(d)})})},Sc.startAsync=function(a){var b;try{b=a()}catch(c){return ud(c)}return Rd(b)},Ic.multicast=function(a,b){var c=this;return"function"==typeof a?new Yd(function(d){var e=c.multicast(a());return new oc(b(e).subscribe(d),e.connect())},c):new Sd(c,a)},Ic.publish=function(a){return a&&sb(a)?this.multicast(function(){return new _d},a):this.multicast(new _d)},Ic.share=function(){return this.publish().refCount()},Ic.publishLast=function(a){return a&&sb(a)?this.multicast(function(){return new ae},a):this.multicast(new ae)},Ic.publishValue=function(a,b){return 2===arguments.length?this.multicast(function(){return new ce(b)},a):this.multicast(new ce(a))},Ic.shareValue=function(a){return this.publishValue(a).refCount()},Ic.replay=function(a,b,c,d){return a&&sb(a)?this.multicast(function(){return new de(b,c,d)},a):this.multicast(new de(b,c,d))},Ic.shareReplay=function(a,b,c){return this.replay(null,a,b,c).refCount()};{var Sd=kb.ConnectableObservable=function(a){function b(b,c){var d,e=!1,f=b.asObservable();this.connect=function(){return e||(e=!0,d=new oc(f.subscribe(c),rc(function(){e=!1}))),d},a.call(this,function(a){return c.subscribe(a)})}return kc(b,a),b.prototype.refCount=function(){var a,b=0,c=this;return new Yd(function(d){var e=1===++b,f=c.subscribe(d);return e&&(a=c.connect()),function(){f.dispose(),0===--b&&a.dispose()}})},b}(Sc),Td=Sc.interval=function(a,b){return Y(a,a,Ac(b)?b:Jc)};Sc.timer=function(b,c,d){var e;return Ac(d)||(d=Jc),null!=c&&"number"==typeof c?e=c:Ac(c)&&(d=c),b instanceof Date&&e===a?V(b.getTime(),d):b instanceof Date&&e!==a?W(b.getTime(),c,d):e===a?X(b,d):Y(b,e,d)}}Ic.delay=function(a,b){return Ac(b)||(b=Jc),a instanceof Date?$(this,a.getTime(),b):Z(this,a,b)},Ic.debounce=function(a,b){Ac(b)||(b=Jc);var c=this;return new Yd(function(d){var e,f=new wc,g=!1,h=0,i=c.subscribe(function(c){g=!0,e=c,h++;var i=h,j=new vc;f.setDisposable(j),j.setDisposable(b.scheduleWithRelative(a,function(){g&&h===i&&d.onNext(e),g=!1}))},function(a){f.dispose(),d.onError(a),g=!1,h++},function(){f.dispose(),g&&d.onNext(e),d.onCompleted(),g=!1,h++});return new oc(i,f)},this)},Ic.throttle=function(a,b){return this.debounce(a,b)},Ic.timestamp=function(a){return Ac(a)||(a=Jc),this.map(function(b){return{value:b,timestamp:a.now()}})},Ic.sample=Ic.throttleLatest=function(a,b){return Ac(b)||(b=Jc),"number"==typeof a?_(this,Td(a,b)):_(this,a)},Ic.timeout=function(a,b,c){(null==b||"string"==typeof b)&&(b=ud(new Error(b||"Timeout"))),Ac(c)||(c=Jc);var d=this,e=a instanceof Date?"scheduleWithAbsolute":"scheduleWithRelative";return new Yd(function(f){function g(){var d=h;l.setDisposable(c[e](a,function(){h===d&&(rb(b)&&(b=Rd(b)),j.setDisposable(b.subscribe(f)))}))}var h=0,i=new vc,j=new wc,k=!1,l=new wc;return j.setDisposable(i),g(),i.setDisposable(d.subscribe(function(a){k||(h++,f.onNext(a),g())},function(a){k||(h++,f.onError(a))},function(){k||(h++,f.onCompleted())})),new oc(j,l)},d)},Ic.throttleFirst=function(a,b){Ac(b)||(b=Jc);
4
+ var c=+a||0;if(0>=c)throw new RangeError("windowDuration cannot be less or equal zero.");var d=this;return new Yd(function(a){var e=0;return d.subscribe(function(d){var f=b.now();(0===e||f-e>=c)&&(e=f,a.onNext(d))},function(b){a.onError(b)},function(){a.onCompleted()})},d)};var Ud=function(a){function b(a){var b=this.source.publish(),c=b.subscribe(a),d=sc,e=this.pauser.distinctUntilChanged().subscribe(function(a){a?d=b.connect():(d.dispose(),d=sc)});return new oc(c,d,e)}function c(c,d){this.source=c,this.controller=new _d,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,a.call(this,b,c)}return kc(c,a),c.prototype.pause=function(){this.controller.onNext(!1)},c.prototype.resume=function(){this.controller.onNext(!0)},c}(Sc);Ic.pausable=function(a){return new Ud(this,a)};var Vd=function(b){function c(b){function c(){for(;e.length>0;)b.onNext(e.shift())}var d,e=[],f=ab(this.source,this.pauser.startWith(!1).distinctUntilChanged(),function(a,b){return{data:a,shouldFire:b}}).subscribe(function(f){d!==a&&f.shouldFire!=d?(d=f.shouldFire,f.shouldFire&&c()):(d=f.shouldFire,f.shouldFire?b.onNext(f.data):e.push(f.data))},function(a){c(),b.onError(a)},function(){c(),b.onCompleted()});return f}function d(a,d){this.source=a,this.controller=new _d,this.pauser=d&&d.subscribe?this.controller.merge(d):this.controller,b.call(this,c,a)}return kc(d,b),d.prototype.pause=function(){this.controller.onNext(!1)},d.prototype.resume=function(){this.controller.onNext(!0)},d}(Sc);Ic.pausableBuffered=function(a){return new Vd(this,a)};var Wd=function(a){function b(a){return this.source.subscribe(a)}function c(c,d,e){a.call(this,b,c),this.subject=new Xd(d,e),this.source=c.multicast(this.subject).refCount()}return kc(c,a),c.prototype.request=function(a){return this.subject.request(null==a?-1:a)},c}(Sc),Xd=function(a){function b(a){return this.subject.subscribe(a)}function c(c,d){null==c&&(c=!0),a.call(this,b),this.subject=new _d,this.enableQueue=c,this.queue=c?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=d||Ec}return kc(c,a),lc(c.prototype,Oc,{onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(Kc.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(a){this.hasFailed=!0,this.error=a,this.enableQueue&&0!==this.queue.length?this.queue.push(Kc.createOnError(a)):(this.subject.onError(a),this.disposeCurrentRequest())},onNext:function(a){this.requestedCount<=0?this.enableQueue&&this.queue.push(Kc.createOnNext(a)):(0===this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(a))},_processRequest:function(a){if(this.enableQueue)for(;this.queue.length>0&&(a>0||"N"!==this.queue[0].kind);){var b=this.queue.shift();b.accept(this.subject),"N"===b.kind?a--:(this.disposeCurrentRequest(),this.queue=[])}return a},request:function(a){this.disposeCurrentRequest();var b=this;return this.requestedDisposable=this.scheduler.scheduleWithState(a,function(a,c){var d=b._processRequest(c),e=b.hasCompleted||b.hasFailed;return!e&&d>0?(b.requestedCount=d,rc(function(){b.requestedCount=0})):void 0}),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),c}(Sc);Ic.controlled=function(a,b){return a&&Ac(a)&&(b=a,a=!0),null==a&&(a=!0),new Wd(this,a,b)},Ic.pipe=function(a){function b(){c.resume()}var c=this.pausableBuffered();return a.addListener("drain",b),c.subscribe(function(b){!a.write(String(b))&&c.pause()},function(b){a.emit("error",b)},function(){!a._isStdio&&a.end(),a.removeListener("drain",b)}),c.resume(),a},Ic.transduce=function(a){function b(a){return{"@@transducer/init":function(){return a},"@@transducer/step":function(a,b){return a.onNext(b)},"@@transducer/result":function(a){return a.onCompleted()}}}var c=this;return new Yd(function(e){var f=a(b(e));return c.subscribe(function(a){var b=d(f["@@transducer/step"]).call(f,e,a);b===tb&&e.onError(b.e)},function(a){e.onError(a)},function(){f["@@transducer/result"](e)})},c)};var Yd=kb.AnonymousObservable=function(a){function b(a){return a&&sb(a.dispose)?a:sb(a)?rc(a):sc}function c(a,c){var f=c[0],g=c[1],h=d(g.__subscribe).call(g,f);return h!==tb||f.fail(tb.e)?void f.setDisposable(b(h)):e(tb.e)}function f(a){var b=new Zd(a),d=[b,this];return Ec.scheduleRequired()?Ec.scheduleWithState(d,c):c(null,d),b}function g(b,c){this.source=c,this.__subscribe=b,a.call(this,f)}return kc(g,a),g}(Sc),Zd=function(a){function b(b){a.call(this),this.observer=b,this.m=new vc}kc(b,a);var c=b.prototype;return c.next=function(a){var b=d(this.observer.onNext).call(this.observer,a);b===tb&&(this.dispose(),e(b.e))},c.error=function(a){var b=d(this.observer.onError).call(this.observer,a);this.dispose(),b===tb&&e(b.e)},c.completed=function(){var a=d(this.observer.onCompleted).call(this.observer);this.dispose(),a===tb&&e(a.e)},c.setDisposable=function(a){this.m.setDisposable(a)},c.getDisposable=function(){return this.m.getDisposable()},c.dispose=function(){a.prototype.dispose.call(this),this.m.dispose()},b}(Qc),$d=function(a,b){this.subject=a,this.observer=b};$d.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 _d=kb.Subject=function(a){function c(a){return uc(this),this.isStopped?this.hasError?(a.onError(this.error),sc):(a.onCompleted(),sc):(this.observers.push(a),new $d(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return kc(d,a),lc(d.prototype,Oc.prototype,{hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(uc(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(uc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(uc(this),!this.isStopped)for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)},dispose:function(){this.isDisposed=!0,this.observers=null}}),d.create=function(a,b){return new be(a,b)},d}(Sc),ae=kb.AsyncSubject=function(a){function c(a){return uc(this),this.isStopped?(this.hasError?a.onError(this.error):this.hasValue?(a.onNext(this.value),a.onCompleted()):a.onCompleted(),sc):(this.observers.push(a),new $d(this,a))}function d(){a.call(this,c),this.isDisposed=!1,this.isStopped=!1,this.hasValue=!1,this.observers=[],this.hasError=!1}return kc(d,a),lc(d.prototype,Oc,{hasObservers:function(){return uc(this),this.observers.length>0},onCompleted:function(){var a,c;if(uc(this),!this.isStopped){this.isStopped=!0;var d=b(this.observers),c=d.length;if(this.hasValue)for(a=0;c>a;a++){var e=d[a];e.onNext(this.value),e.onCompleted()}else for(a=0;c>a;a++)d[a].onCompleted();this.observers.length=0}},onError:function(a){if(uc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){uc(this),this.isStopped||(this.value=a,this.hasValue=!0)},dispose:function(){this.isDisposed=!0,this.observers=null,this.exception=null,this.value=null}}),d}(Sc),be=kb.AnonymousSubject=function(a){function b(a){return this.observable.subscribe(a)}function c(c,d){this.observer=c,this.observable=d,a.call(this,b)}return kc(c,a),lc(c.prototype,Oc.prototype,{onCompleted:function(){this.observer.onCompleted()},onError:function(a){this.observer.onError(a)},onNext:function(a){this.observer.onNext(a)}}),c}(Sc),ce=kb.BehaviorSubject=function(a){function c(a){return uc(this),this.isStopped?(this.hasError?a.onError(this.error):a.onCompleted(),sc):(this.observers.push(a),a.onNext(this.value),new $d(this,a))}function d(b){a.call(this,c),this.value=b,this.observers=[],this.isDisposed=!1,this.isStopped=!1,this.hasError=!1}return kc(d,a),lc(d.prototype,Oc,{getValue:function(){if(uc(this),this.hasError)throw this.error;return this.value},hasObservers:function(){return this.observers.length>0},onCompleted:function(){if(uc(this),!this.isStopped){this.isStopped=!0;for(var a=0,c=b(this.observers),d=c.length;d>a;a++)c[a].onCompleted();this.observers.length=0}},onError:function(a){if(uc(this),!this.isStopped){this.isStopped=!0,this.hasError=!0,this.error=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onError(a);this.observers.length=0}},onNext:function(a){if(uc(this),!this.isStopped){this.value=a;for(var c=0,d=b(this.observers),e=d.length;e>c;c++)d[c].onNext(a)}},dispose:function(){this.isDisposed=!0,this.observers=null,this.value=null,this.exception=null}}),d}(Sc),de=kb.ReplaySubject=function(a){function c(a,b){return rc(function(){b.dispose(),!a.isDisposed&&a.observers.splice(a.observers.indexOf(b),1)})}function d(a){var b=new ad(this.scheduler,a),d=c(this,b);uc(this),this._trim(this.scheduler.now()),this.observers.push(b);for(var e=0,f=this.q.length;f>e;e++)b.onNext(this.q[e].value);return this.hasError?b.onError(this.error):this.isStopped&&b.onCompleted(),b.ensureActive(),d}function e(b,c,e){this.bufferSize=null==b?f:b,this.windowSize=null==c?f:c,this.scheduler=e||Ec,this.q=[],this.observers=[],this.isStopped=!1,this.isDisposed=!1,this.hasError=!1,this.error=null,a.call(this,d)}var f=Math.pow(2,53)-1;return kc(e,a),lc(e.prototype,Oc.prototype,{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){if(uc(this),!this.isStopped){var c=this.scheduler.now();this.q.push({interval:c,value:a}),this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onNext(a),g.ensureActive()}}},onError:function(a){if(uc(this),!this.isStopped){this.isStopped=!0,this.error=a,this.hasError=!0;var c=this.scheduler.now();this._trim(c);for(var d=0,e=b(this.observers),f=e.length;f>d;d++){var g=e[d];g.onError(a),g.ensureActive()}this.observers.length=0}},onCompleted:function(){if(uc(this),!this.isStopped){this.isStopped=!0;var a=this.scheduler.now();this._trim(a);for(var c=0,d=b(this.observers),e=d.length;e>c;c++){var f=d[c];f.onCompleted(),f.ensureActive()}this.observers.length=0}},dispose:function(){this.isDisposed=!0,this.observers=null}}),e}(Sc);kb.Pauser=function(a){function b(){a.call(this)}return kc(b,a),b.prototype.pause=function(){this.onNext(!1)},b.prototype.resume=function(){this.onNext(!0)},b}(_d),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(jb.Rx=kb,define(function(){return kb})):db&&gb?hb?(gb.exports=kb).Rx=kb:db.Rx=kb:jb.Rx=kb;var ee=j()}).call(this);
5
5
  //# sourceMappingURL=rx.lite.compat.map
@@ -1,48 +1,45 @@
1
1
  // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  ;(function (factory) {
4
- var objectTypes = {
5
- 'boolean': false,
6
- 'function': true,
7
- 'object': true,
8
- 'number': false,
9
- 'string': false,
10
- 'undefined': false
11
- };
4
+ var objectTypes = {
5
+ 'function': true,
6
+ 'object': true
7
+ };
12
8
 
13
- var root = (objectTypes[typeof window] && window) || this,
14
- freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
15
- freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
16
- moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
17
- freeGlobal = objectTypes[typeof global] && global;
9
+ var
10
+ freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
11
+ freeSelf = objectTypes[typeof self] && self.Object && self,
12
+ freeWindow = objectTypes[typeof window] && window && window.Object && window,
13
+ freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
14
+ moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
15
+ freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
18
16
 
19
- if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
20
- root = freeGlobal;
21
- }
17
+ var root = root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
22
18
 
23
- // Because of build optimizers
24
- if (typeof define === 'function' && define.amd) {
25
- define(['rx-lite-compat'], function (Rx, exports) {
26
- return factory(root, exports, Rx);
27
- });
28
- } else if (typeof module === 'object' && module && module.exports === freeExports) {
29
- module.exports = factory(root, module.exports, require('rx-lite-compat'));
30
- } else {
31
- root.Rx = factory(root, {}, root.Rx);
32
- }
19
+ // Because of build optimizers
20
+ if (typeof define === 'function' && define.amd) {
21
+ define(['./rx.lite.compat'], function (Rx, exports) {
22
+ return factory(root, exports, Rx);
23
+ });
24
+ } else if (typeof module === 'object' && module && module.exports === freeExports) {
25
+ module.exports = factory(root, module.exports, require('rx-lite-compat'));
26
+ } else {
27
+ root.Rx = factory(root, {}, root.Rx);
28
+ }
33
29
  }.call(this, function (root, exp, Rx, undefined) {
34
30
 
35
31
  // References
36
32
  var Observable = Rx.Observable,
37
33
  observableProto = Observable.prototype,
38
34
  observableNever = Observable.never,
39
- observableThrow = Observable.throwException,
35
+ observableThrow = Observable['throw'],
40
36
  AnonymousObservable = Rx.AnonymousObservable,
41
37
  AnonymousObserver = Rx.AnonymousObserver,
42
38
  notificationCreateOnNext = Rx.Notification.createOnNext,
43
39
  notificationCreateOnError = Rx.Notification.createOnError,
44
40
  notificationCreateOnCompleted = Rx.Notification.createOnCompleted,
45
41
  Observer = Rx.Observer,
42
+ observerCreate = Observer.create,
46
43
  Subject = Rx.Subject,
47
44
  internals = Rx.internals,
48
45
  helpers = Rx.helpers,
@@ -57,6 +54,7 @@
57
54
  addRef = Rx.internals.addRef,
58
55
  identity = helpers.identity,
59
56
  isPromise = helpers.isPromise,
57
+ isFunction = helpers.isFunction,
60
58
  inherits = internals.inherits,
61
59
  bindCallback = internals.bindCallback,
62
60
  noop = helpers.noop,
@@ -64,6 +62,25 @@
64
62
  observableFromPromise = Observable.fromPromise,
65
63
  ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError;
66
64
 
65
+ var errorObj = {e: {}};
66
+ var tryCatchTarget;
67
+ function tryCatcher() {
68
+ try {
69
+ return tryCatchTarget.apply(this, arguments);
70
+ } catch (e) {
71
+ errorObj.e = e;
72
+ return errorObj;
73
+ }
74
+ }
75
+ function tryCatch(fn) {
76
+ if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }
77
+ tryCatchTarget = fn;
78
+ return tryCatcher;
79
+ }
80
+ function thrower(e) {
81
+ throw e;
82
+ }
83
+
67
84
  function ScheduledDisposable(scheduler, disposable) {
68
85
  this.scheduler = scheduler;
69
86
  this.disposable = disposable;
@@ -294,16 +311,18 @@
294
311
  * @returns {Observable} An observable sequence whose lifetime controls the lifetime of the dependent resource object.
295
312
  */
296
313
  Observable.using = function (resourceFactory, observableFactory) {
297
- return new AnonymousObservable(function (observer) {
298
- var disposable = disposableEmpty, resource, source;
299
- try {
300
- resource = resourceFactory();
301
- resource && (disposable = resource);
302
- source = observableFactory(resource);
303
- } catch (exception) {
304
- return new CompositeDisposable(observableThrow(exception).subscribe(observer), disposable);
314
+ return new AnonymousObservable(function (o) {
315
+ var disposable = disposableEmpty;
316
+ var resource = tryCatch(resourceFactory)();
317
+ if (resource === errorObj) {
318
+ return new CompositeDisposable(observableThrow(resource.e).subscribe(o), disposable);
305
319
  }
306
- return new CompositeDisposable(source.subscribe(observer), disposable);
320
+ resource && (disposable = resource);
321
+ var source = tryCatch(observableFactory)(resource);
322
+ if (source === errorObj) {
323
+ return new CompositeDisposable(observableThrow(source.e).subscribe(o), disposable);
324
+ }
325
+ return new CompositeDisposable(source.subscribe(o), disposable);
307
326
  });
308
327
  };
309
328
 
@@ -336,64 +355,59 @@
336
355
  }
337
356
  }
338
357
 
339
- leftSubscription.setDisposable(leftSource.subscribe(function (left) {
340
- choiceL();
341
- if (choice === leftChoice) {
342
- observer.onNext(left);
343
- }
344
- }, function (err) {
345
- choiceL();
346
- if (choice === leftChoice) {
347
- observer.onError(err);
358
+ var leftSubscribe = observerCreate(
359
+ function (left) {
360
+ choiceL();
361
+ choice === leftChoice && observer.onNext(left);
362
+ },
363
+ function (e) {
364
+ choiceL();
365
+ choice === leftChoice && observer.onError(e);
366
+ },
367
+ function () {
368
+ choiceL();
369
+ choice === leftChoice && observer.onCompleted();
348
370
  }
349
- }, function () {
350
- choiceL();
351
- if (choice === leftChoice) {
352
- observer.onCompleted();
371
+ );
372
+ var rightSubscribe = observerCreate(
373
+ function (right) {
374
+ choiceR();
375
+ choice === rightChoice && observer.onNext(right);
376
+ },
377
+ function (e) {
378
+ choiceR();
379
+ choice === rightChoice && observer.onError(e);
380
+ },
381
+ function () {
382
+ choiceR();
383
+ choice === rightChoice && observer.onCompleted();
353
384
  }
354
- }));
385
+ );
355
386
 
356
- rightSubscription.setDisposable(rightSource.subscribe(function (right) {
357
- choiceR();
358
- if (choice === rightChoice) {
359
- observer.onNext(right);
360
- }
361
- }, function (err) {
362
- choiceR();
363
- if (choice === rightChoice) {
364
- observer.onError(err);
365
- }
366
- }, function () {
367
- choiceR();
368
- if (choice === rightChoice) {
369
- observer.onCompleted();
370
- }
371
- }));
387
+ leftSubscription.setDisposable(leftSource.subscribe(leftSubscribe));
388
+ rightSubscription.setDisposable(rightSource.subscribe(rightSubscribe));
372
389
 
373
390
  return new CompositeDisposable(leftSubscription, rightSubscription);
374
391
  });
375
392
  };
376
393
 
394
+ function amb(p, c) { return p.amb(c); }
395
+
377
396
  /**
378
397
  * Propagates the observable sequence or Promise that reacts first.
379
- *
380
- * @example
381
- * var = Rx.Observable.amb(xs, ys, zs);
382
398
  * @returns {Observable} An observable sequence that surfaces any of the given sequences, whichever reacted first.
383
399
  */
384
400
  Observable.amb = function () {
385
- var acc = observableNever(), items = [];
401
+ var acc = observableNever(), items;
386
402
  if (Array.isArray(arguments[0])) {
387
403
  items = arguments[0];
388
404
  } else {
389
- for(var i = 0, len = arguments.length; i < len; i++) { items.push(arguments[i]); }
390
- }
391
-
392
- function func(previous, current) {
393
- return previous.amb(current);
405
+ var len = arguments.length;
406
+ items = new Array(items);
407
+ for(var i = 0; i < len; i++) { items[i] = arguments[i]; }
394
408
  }
395
409
  for (var i = 0, len = items.length; i < len; i++) {
396
- acc = func(acc, items[i]);
410
+ acc = amb(acc, items[i]);
397
411
  }
398
412
  return acc;
399
413
  };
@@ -441,25 +455,20 @@
441
455
  });
442
456
  };
443
457
 
458
+ function toArray(x) { return x.toArray(); }
459
+ function notEmpty(x) { return x.length > 0; }
460
+
444
461
  /**
445
462
  * Projects each element of an observable sequence into zero or more buffers which are produced based on element count information.
446
- *
447
- * @example
448
- * var res = xs.bufferWithCount(10);
449
- * var res = xs.bufferWithCount(10, 1);
450
463
  * @param {Number} count Length of each buffer.
451
464
  * @param {Number} [skip] Number of elements to skip between creation of consecutive buffers. If not provided, defaults to the count.
452
465
  * @returns {Observable} An observable sequence of buffers.
453
466
  */
454
467
  observableProto.bufferWithCount = function (count, skip) {
455
- if (typeof skip !== 'number') {
456
- skip = count;
457
- }
458
- return this.windowWithCount(count, skip).selectMany(function (x) {
459
- return x.toArray();
460
- }).where(function (x) {
461
- return x.length > 0;
462
- });
468
+ typeof skip !== 'number' && (skip = count);
469
+ return this.windowWithCount(count, skip)
470
+ .flatMap(toArray)
471
+ .filter(notEmpty);
463
472
  };
464
473
 
465
474
  /**
@@ -617,5 +626,26 @@
617
626
  }, this);
618
627
  };
619
628
 
620
- return Rx;
629
+ /**
630
+ * Returns an observable sequence that shares a single subscription to the underlying sequence. This observable sequence
631
+ * can be resubscribed to, even if all prior subscriptions have ended. (unlike `.publish().refCount()`)
632
+ * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source.
633
+ */
634
+ observableProto.singleInstance = function() {
635
+ var source = this, hasObservable = false, observable;
636
+
637
+ function getObservable() {
638
+ if (!hasObservable) {
639
+ hasObservable = true;
640
+ observable = source.finally(function() { hasObservable = false; }).publish().refCount();
641
+ }
642
+ return observable;
643
+ };
644
+
645
+ return new AnonymousObservable(function(o) {
646
+ return getObservable().subscribe(o);
647
+ });
648
+ };
649
+
650
+ return Rx;
621
651
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"rx.lite.extras.compat.min.js","sources":["rx.lite.extras.compat.js"],"names":["factory","objectTypes","boolean","function","object","number","string","undefined","root","window","this","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","define","amd","Rx","require","call","exp","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","self","dispose","arrayIndexOfComparer","array","item","comparer","i","len","length","HashSet","set","Observable","observableProto","prototype","observableNever","never","observableThrow","throwException","AnonymousObservable","AnonymousObserver","notificationCreateOnNext","Notification","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","Subject","internals","helpers","ScheduledObserver","SerialDisposable","SingleAssignmentDisposable","CompositeDisposable","RefCountDisposable","disposableEmpty","Disposable","empty","immediateScheduler","Scheduler","immediate","addRef","defaultKeySerializer","isPromise","identity","inherits","bindCallback","isScheduler","noop","observableFromPromise","fromPromise","ArgumentOutOfRangeError","scheduleWithState","CheckedObserver","__super__","observer","_observer","_state","CheckedObserverPrototype","onNext","value","checkAccess","res","tryCatch","errorObj","thrower","e","onError","err","onCompleted","Error","ObserveOnObserver","cancel","_cancel","next","ensureActive","error","completed","checked","notifyOn","fromNotifier","handler","thisArg","handlerFunc","x","toNotifier","n","accept","asObserver","source","observeOn","subscribe","subscribeOn","m","d","setDisposable","schedule","generate","initialState","condition","iterate","resultSelector","currentThreadScheduler","o","first","scheduleRecursiveWithState","state","hasResult","result","using","resourceFactory","observableFactory","resource","exception","amb","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","left","right","func","previous","current","acc","items","Array","isArray","arguments","push","onErrorResumeNext","second","sources","pos","subscription","cancelable","scheduleRecursive","bind","bufferWithCount","count","skip","windowWithCount","selectMany","toArray","where","Infinity","Math","abs","createWindow","q","refCountDisposable","c","shift","takeLastBuffer","defaultIfEmpty","defaultValue","found","retValue","distinct","keySelector","defaultComparer","hashSet","key"],"mappings":"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"}
1
+ {"version":3,"file":"rx.lite.extras.compat.min.js","sources":["rx.lite.extras.compat.js"],"names":["factory","objectTypes","function","object","freeExports","exports","nodeType","freeSelf","self","Object","freeWindow","window","freeModule","module","freeGlobal","global","root","this","define","amd","Rx","require","call","exp","undefined","tryCatcher","tryCatchTarget","apply","arguments","e","errorObj","tryCatch","fn","isFunction","TypeError","thrower","ScheduledDisposable","scheduler","disposable","isDisposed","scheduleItem","s","dispose","amb","p","c","toArray","x","notEmpty","length","arrayIndexOfComparer","array","item","comparer","i","len","HashSet","set","Observable","observableProto","prototype","observableNever","never","observableThrow","AnonymousObservable","AnonymousObserver","notificationCreateOnNext","Notification","createOnNext","notificationCreateOnError","createOnError","notificationCreateOnCompleted","createOnCompleted","Observer","observerCreate","create","Subject","internals","helpers","ScheduledObserver","SerialDisposable","SingleAssignmentDisposable","CompositeDisposable","RefCountDisposable","disposableEmpty","Disposable","empty","immediateScheduler","Scheduler","immediate","addRef","defaultKeySerializer","isPromise","identity","inherits","bindCallback","isScheduler","noop","observableFromPromise","fromPromise","ArgumentOutOfRangeError","scheduleWithState","CheckedObserver","__super__","observer","_observer","_state","CheckedObserverPrototype","onNext","value","checkAccess","res","onError","err","onCompleted","Error","ObserveOnObserver","cancel","_cancel","next","ensureActive","error","completed","checked","notifyOn","fromNotifier","handler","thisArg","handlerFunc","toNotifier","n","accept","asObserver","source","observeOn","subscribe","subscribeOn","m","d","setDisposable","schedule","generate","initialState","condition","iterate","resultSelector","currentThreadScheduler","o","first","scheduleRecursiveWithState","state","hasResult","result","using","resourceFactory","observableFactory","resource","rightSource","leftSource","choiceL","choice","leftChoice","rightSubscription","choiceR","rightChoice","leftSubscription","leftSubscribe","left","rightSubscribe","right","items","acc","Array","isArray","onErrorResumeNext","second","sources","push","pos","subscription","cancelable","scheduleRecursive","current","bind","bufferWithCount","count","skip","windowWithCount","flatMap","filter","Infinity","Math","abs","createWindow","q","refCountDisposable","shift","takeLastBuffer","defaultIfEmpty","defaultValue","found","retValue","distinct","keySelector","defaultComparer","hashSet","key","singleInstance","getObservable","hasObservable","observable","finally","publish","refCount"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /* Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.*/
2
- (function(a){var b={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},c=b[typeof window]&&window||this,d=b[typeof exports]&&exports&&!exports.nodeType&&exports,e=b[typeof module]&&module&&!module.nodeType&&module,f=(e&&e.exports===d&&d,b[typeof global]&&global);!f||f.global!==f&&f.window!==f||(c=f),"function"==typeof define&&define.amd?define(["rx-lite-compat"],function(b,d){return a(c,d,b)}):"object"==typeof module&&module&&module.exports===d?module.exports=a(c,module.exports,require("rx-lite-compat")):c.Rx=a(c,{},c.Rx)}).call(this,function(a,b,c,d){function e(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function f(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function g(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function h(a){this.comparer=a,this.set=[]}var i=c.Observable,j=i.prototype,k=i.never,l=i.throwException,m=c.AnonymousObservable,n=c.AnonymousObserver,o=c.Notification.createOnNext,p=c.Notification.createOnError,q=c.Notification.createOnCompleted,r=c.Observer,s=c.Subject,t=c.internals,u=c.helpers,v=t.ScheduledObserver,w=c.SerialDisposable,x=c.SingleAssignmentDisposable,y=c.CompositeDisposable,z=c.RefCountDisposable,A=c.Disposable.empty,B=c.Scheduler.immediate,C=(u.defaultKeySerializer,c.internals.addRef),D=(u.identity,u.isPromise),E=t.inherits,F=t.bindCallback,G=(u.noop,c.Scheduler.isScheduler),H=i.fromPromise,I=c.ArgumentOutOfRangeError;e.prototype.dispose=function(){this.scheduler.scheduleWithState(this,f)};var J=function(a){function b(b){a.call(this),this._observer=b,this._state=0}E(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();var b=tryCatch(this._observer.onNext).call(this._observer,a);this._state=0,b===errorObj&&thrower(b.e)},c.onError=function(a){this.checkAccess();var b=tryCatch(this._observer.onError).call(this._observer,a);this._state=2,b===errorObj&&thrower(b.e)},c.onCompleted=function(){this.checkAccess();var a=tryCatch(this._observer.onCompleted).call(this._observer);this._state=2,a===errorObj&&thrower(a.e)},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(r),K=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return E(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(v);r.prototype.checked=function(){return new J(this)},r.notifyOn=function(a){return new K(a,this)},r.fromNotifier=function(a,b){var c=F(a,b,1);return new n(function(a){return c(o(a))},function(a){return c(p(a))},function(){return c(q())})},r.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},r.prototype.asObserver=function(){var a=this;return new n(function(b){a.onNext(b)},function(b){a.onError(b)},function(){a.onCompleted()})},j.observeOn=function(a){var b=this;return new m(function(c){return b.subscribe(new K(a,c))},b)},j.subscribeOn=function(a){var b=this;return new m(function(c){var d=new x,f=new w;return f.setDisposable(d),d.setDisposable(a.schedule(function(){f.setDisposable(new e(a,b.subscribe(c)))})),f},b)},i.generate=function(a,b,c,d,e){return G(e)||(e=currentThreadScheduler),new m(function(f){var g=!0;return e.scheduleRecursiveWithState(a,function(a,e){var h,i;try{g?g=!1:a=c(a),h=b(a),h&&(i=d(a))}catch(j){return f.onError(j)}h?(f.onNext(i),e(a)):f.onCompleted()})})},i.using=function(a,b){return new m(function(c){var d,e,f=A;try{d=a(),d&&(f=d),e=b(d)}catch(g){return new y(l(g).subscribe(c),f)}return new y(e.subscribe(c),f)})},j.amb=function(a){var b=this;return new m(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new x,j=new x;return D(a)&&(a=H(a)),i.setDisposable(b.subscribe(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()})),j.setDisposable(a.subscribe(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()})),new y(i,j)})},i.amb=function(){function a(a,b){return a.amb(b)}var b=k(),c=[];if(Array.isArray(arguments[0]))c=arguments[0];else for(var d=0,e=arguments.length;e>d;d++)c.push(arguments[d]);for(var d=0,e=c.length;e>d;d++)b=a(b,c[d]);return b},j.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return L([this,a])};var L=i.onErrorResumeNext=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new m(function(b){var c=0,d=new w,e=B.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],D(f)&&(f=H(f)),g=new x,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new y(d,e)})};return j.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).selectMany(function(a){return a.toArray()}).where(function(a){return a.length>0})},j.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new I;if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new I;return new m(function(d){function e(){var a=new s;i.push(a),d.onNext(C(a,g))}var f=new x,g=new z(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},j.takeLastBuffer=function(a){var b=this;return new m(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){c.onNext(d),c.onCompleted()})},b)},j.defaultIfEmpty=function(a){var b=this;return a===d&&(a=null),new m(function(c){var d=!1;return b.subscribe(function(a){d=!0,c.onNext(a)},function(a){c.onError(a)},function(){!d&&c.onNext(a),c.onCompleted()})},b)},h.prototype.push=function(a){var b=-1===g(this.set,a,this.comparer);return b&&this.set.push(a),b},j.distinct=function(a,b){var c=this;return b||(b=defaultComparer),new m(function(d){var e=new h(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},function(a){d.onError(a)},function(){d.onCompleted()})},this)},c});
2
+ (function(a){var b={"function":!0,object:!0},c=b[typeof exports]&&exports&&!exports.nodeType&&exports,d=b[typeof self]&&self.Object&&self,e=b[typeof window]&&window&&window.Object&&window,f=b[typeof module]&&module&&!module.nodeType&&module,g=(f&&f.exports===c&&c,c&&f&&"object"==typeof global&&global&&global.Object&&global),h=h=g||e!==(this&&this.window)&&e||d||this;"function"==typeof define&&define.amd?define(["./rx.lite.compat"],function(b,c){return a(h,c,b)}):"object"==typeof module&&module&&module.exports===c?module.exports=a(h,module.exports,require("rx-lite-compat")):h.Rx=a(h,{},h.Rx)}).call(this,function(a,b,c,d){function e(){try{return o.apply(this,arguments)}catch(a){return S.e=a,S}}function f(a){if(!M(a))throw new TypeError("fn must be a function");return o=a,e}function g(a){throw a}function h(a,b){this.scheduler=a,this.disposable=b,this.isDisposed=!1}function i(a,b){b.isDisposed||(b.isDisposed=!0,b.disposable.dispose())}function j(a,b){return a.amb(b)}function k(a){return a.toArray()}function l(a){return a.length>0}function m(a,b,c){for(var d=0,e=a.length;e>d;d++)if(c(a[d],b))return d;return-1}function n(a){this.comparer=a,this.set=[]}var o,p=c.Observable,q=p.prototype,r=p.never,s=p["throw"],t=c.AnonymousObservable,u=c.AnonymousObserver,v=c.Notification.createOnNext,w=c.Notification.createOnError,x=c.Notification.createOnCompleted,y=c.Observer,z=y.create,A=c.Subject,B=c.internals,C=c.helpers,D=B.ScheduledObserver,E=c.SerialDisposable,F=c.SingleAssignmentDisposable,G=c.CompositeDisposable,H=c.RefCountDisposable,I=c.Disposable.empty,J=c.Scheduler.immediate,K=(C.defaultKeySerializer,c.internals.addRef),L=(C.identity,C.isPromise),M=C.isFunction,N=B.inherits,O=B.bindCallback,P=(C.noop,c.Scheduler.isScheduler),Q=p.fromPromise,R=c.ArgumentOutOfRangeError,S={e:{}};h.prototype.dispose=function(){this.scheduler.scheduleWithState(this,i)};var T=function(a){function b(b){a.call(this),this._observer=b,this._state=0}N(b,a);var c=b.prototype;return c.onNext=function(a){this.checkAccess();var b=f(this._observer.onNext).call(this._observer,a);this._state=0,b===S&&g(b.e)},c.onError=function(a){this.checkAccess();var b=f(this._observer.onError).call(this._observer,a);this._state=2,b===S&&g(b.e)},c.onCompleted=function(){this.checkAccess();var a=f(this._observer.onCompleted).call(this._observer);this._state=2,a===S&&g(a.e)},c.checkAccess=function(){if(1===this._state)throw new Error("Re-entrancy detected");if(2===this._state)throw new Error("Observer completed");0===this._state&&(this._state=1)},b}(y),U=function(a){function b(b,c,d){a.call(this,b,c),this._cancel=d}return N(b,a),b.prototype.next=function(b){a.prototype.next.call(this,b),this.ensureActive()},b.prototype.error=function(b){a.prototype.error.call(this,b),this.ensureActive()},b.prototype.completed=function(){a.prototype.completed.call(this),this.ensureActive()},b.prototype.dispose=function(){a.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},b}(D);y.prototype.checked=function(){return new T(this)},y.notifyOn=function(a){return new U(a,this)},y.fromNotifier=function(a,b){var c=O(a,b,1);return new u(function(a){return c(v(a))},function(a){return c(w(a))},function(){return c(x())})},y.prototype.toNotifier=function(){var a=this;return function(b){return b.accept(a)}},y.prototype.asObserver=function(){var a=this;return new u(function(b){a.onNext(b)},function(b){a.onError(b)},function(){a.onCompleted()})},q.observeOn=function(a){var b=this;return new t(function(c){return b.subscribe(new U(a,c))},b)},q.subscribeOn=function(a){var b=this;return new t(function(c){var d=new F,e=new E;return e.setDisposable(d),d.setDisposable(a.schedule(function(){e.setDisposable(new h(a,b.subscribe(c)))})),e},b)},p.generate=function(a,b,c,d,e){return P(e)||(e=currentThreadScheduler),new t(function(f){var g=!0;return e.scheduleRecursiveWithState(a,function(a,e){var h,i;try{g?g=!1:a=c(a),h=b(a),h&&(i=d(a))}catch(j){return f.onError(j)}h?(f.onNext(i),e(a)):f.onCompleted()})})},p.using=function(a,b){return new t(function(c){var d=I,e=f(a)();if(e===S)return new G(s(e.e).subscribe(c),d);e&&(d=e);var g=f(b)(e);return g===S?new G(s(g.e).subscribe(c),d):new G(g.subscribe(c),d)})},q.amb=function(a){var b=this;return new t(function(c){function d(){f||(f=g,j.dispose())}function e(){f||(f=h,i.dispose())}var f,g="L",h="R",i=new F,j=new F;L(a)&&(a=Q(a));var k=z(function(a){d(),f===g&&c.onNext(a)},function(a){d(),f===g&&c.onError(a)},function(){d(),f===g&&c.onCompleted()}),l=z(function(a){e(),f===h&&c.onNext(a)},function(a){e(),f===h&&c.onError(a)},function(){e(),f===h&&c.onCompleted()});return i.setDisposable(b.subscribe(k)),j.setDisposable(a.subscribe(l)),new G(i,j)})},p.amb=function(){var a,b=r();if(Array.isArray(arguments[0]))a=arguments[0];else{var c=arguments.length;a=new Array(a);for(var d=0;c>d;d++)a[d]=arguments[d]}for(var d=0,c=a.length;c>d;d++)b=j(b,a[d]);return b},q.onErrorResumeNext=function(a){if(!a)throw new Error("Second observable is required");return V([this,a])};var V=p.onErrorResumeNext=function(){var a=[];if(Array.isArray(arguments[0]))a=arguments[0];else for(var b=0,c=arguments.length;c>b;b++)a.push(arguments[b]);return new t(function(b){var c=0,d=new E,e=J.scheduleRecursive(function(e){var f,g;c<a.length?(f=a[c++],L(f)&&(f=Q(f)),g=new F,d.setDisposable(g),g.setDisposable(f.subscribe(b.onNext.bind(b),e,e))):b.onCompleted()});return new G(d,e)})};return q.bufferWithCount=function(a,b){return"number"!=typeof b&&(b=a),this.windowWithCount(a,b).flatMap(k).filter(l)},q.windowWithCount=function(a,b){var c=this;if(+a||(a=0),1/0===Math.abs(a)&&(a=0),0>=a)throw new R;if(null==b&&(b=a),+b||(b=0),1/0===Math.abs(b)&&(b=0),0>=b)throw new R;return new t(function(d){function e(){var a=new A;i.push(a),d.onNext(K(a,g))}var f=new F,g=new H(f),h=0,i=[];return e(),f.setDisposable(c.subscribe(function(c){for(var d=0,f=i.length;f>d;d++)i[d].onNext(c);var g=h-a+1;g>=0&&g%b===0&&i.shift().onCompleted(),++h%b===0&&e()},function(a){for(;i.length>0;)i.shift().onError(a);d.onError(a)},function(){for(;i.length>0;)i.shift().onCompleted();d.onCompleted()})),g},c)},q.takeLastBuffer=function(a){var b=this;return new t(function(c){var d=[];return b.subscribe(function(b){d.push(b),d.length>a&&d.shift()},function(a){c.onError(a)},function(){c.onNext(d),c.onCompleted()})},b)},q.defaultIfEmpty=function(a){var b=this;return a===d&&(a=null),new t(function(c){var d=!1;return b.subscribe(function(a){d=!0,c.onNext(a)},function(a){c.onError(a)},function(){!d&&c.onNext(a),c.onCompleted()})},b)},n.prototype.push=function(a){var b=-1===m(this.set,a,this.comparer);return b&&this.set.push(a),b},q.distinct=function(a,b){var c=this;return b||(b=defaultComparer),new t(function(d){var e=new n(b);return c.subscribe(function(b){var c=b;if(a)try{c=a(b)}catch(f){return void d.onError(f)}e.push(c)&&d.onNext(b)},function(a){d.onError(a)},function(){d.onCompleted()})},this)},q.singleInstance=function(){function a(){return d||(d=!0,b=c.finally(function(){d=!1}).publish().refCount()),b}var b,c=this,d=!1;return new t(function(b){return a().subscribe(b)})},c});
3
3
  //# sourceMappingURL=rx.lite.extras.compat.map
@@ -1,48 +1,45 @@
1
1
  // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
2
2
 
3
3
  ;(function (factory) {
4
- var objectTypes = {
5
- 'boolean': false,
6
- 'function': true,
7
- 'object': true,
8
- 'number': false,
9
- 'string': false,
10
- 'undefined': false
11
- };
4
+ var objectTypes = {
5
+ 'function': true,
6
+ 'object': true
7
+ };
12
8
 
13
- var root = (objectTypes[typeof window] && window) || this,
14
- freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
15
- freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
16
- moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
17
- freeGlobal = objectTypes[typeof global] && global;
9
+ var
10
+ freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,
11
+ freeSelf = objectTypes[typeof self] && self.Object && self,
12
+ freeWindow = objectTypes[typeof window] && window && window.Object && window,
13
+ freeModule = objectTypes[typeof module] && module && !module.nodeType && module,
14
+ moduleExports = freeModule && freeModule.exports === freeExports && freeExports,
15
+ freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
18
16
 
19
- if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
20
- root = freeGlobal;
21
- }
17
+ var root = root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
22
18
 
23
- // Because of build optimizers
24
- if (typeof define === 'function' && define.amd) {
25
- define(['rx-lite'], function (Rx, exports) {
26
- return factory(root, exports, Rx);
27
- });
28
- } else if (typeof module === 'object' && module && module.exports === freeExports) {
29
- module.exports = factory(root, module.exports, require('rx-lite'));
30
- } else {
31
- root.Rx = factory(root, {}, root.Rx);
32
- }
19
+ // Because of build optimizers
20
+ if (typeof define === 'function' && define.amd) {
21
+ define(['./rx.lite'], function (Rx, exports) {
22
+ return factory(root, exports, Rx);
23
+ });
24
+ } else if (typeof module === 'object' && module && module.exports === freeExports) {
25
+ module.exports = factory(root, module.exports, require('rx-lite'));
26
+ } else {
27
+ root.Rx = factory(root, {}, root.Rx);
28
+ }
33
29
  }.call(this, function (root, exp, Rx, undefined) {
34
30
 
35
31
  // References
36
32
  var Observable = Rx.Observable,
37
33
  observableProto = Observable.prototype,
38
34
  observableNever = Observable.never,
39
- observableThrow = Observable.throwException,
35
+ observableThrow = Observable['throw'],
40
36
  AnonymousObservable = Rx.AnonymousObservable,
41
37
  AnonymousObserver = Rx.AnonymousObserver,
42
38
  notificationCreateOnNext = Rx.Notification.createOnNext,
43
39
  notificationCreateOnError = Rx.Notification.createOnError,
44
40
  notificationCreateOnCompleted = Rx.Notification.createOnCompleted,
45
41
  Observer = Rx.Observer,
42
+ observerCreate = Observer.create,
46
43
  Subject = Rx.Subject,
47
44
  internals = Rx.internals,
48
45
  helpers = Rx.helpers,
@@ -57,6 +54,7 @@
57
54
  addRef = Rx.internals.addRef,
58
55
  identity = helpers.identity,
59
56
  isPromise = helpers.isPromise,
57
+ isFunction = helpers.isFunction,
60
58
  inherits = internals.inherits,
61
59
  bindCallback = internals.bindCallback,
62
60
  noop = helpers.noop,
@@ -64,6 +62,25 @@
64
62
  observableFromPromise = Observable.fromPromise,
65
63
  ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError;
66
64
 
65
+ var errorObj = {e: {}};
66
+ var tryCatchTarget;
67
+ function tryCatcher() {
68
+ try {
69
+ return tryCatchTarget.apply(this, arguments);
70
+ } catch (e) {
71
+ errorObj.e = e;
72
+ return errorObj;
73
+ }
74
+ }
75
+ function tryCatch(fn) {
76
+ if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }
77
+ tryCatchTarget = fn;
78
+ return tryCatcher;
79
+ }
80
+ function thrower(e) {
81
+ throw e;
82
+ }
83
+
67
84
  function ScheduledDisposable(scheduler, disposable) {
68
85
  this.scheduler = scheduler;
69
86
  this.disposable = disposable;
@@ -294,16 +311,18 @@
294
311
  * @returns {Observable} An observable sequence whose lifetime controls the lifetime of the dependent resource object.
295
312
  */
296
313
  Observable.using = function (resourceFactory, observableFactory) {
297
- return new AnonymousObservable(function (observer) {
298
- var disposable = disposableEmpty, resource, source;
299
- try {
300
- resource = resourceFactory();
301
- resource && (disposable = resource);
302
- source = observableFactory(resource);
303
- } catch (exception) {
304
- return new CompositeDisposable(observableThrow(exception).subscribe(observer), disposable);
314
+ return new AnonymousObservable(function (o) {
315
+ var disposable = disposableEmpty;
316
+ var resource = tryCatch(resourceFactory)();
317
+ if (resource === errorObj) {
318
+ return new CompositeDisposable(observableThrow(resource.e).subscribe(o), disposable);
305
319
  }
306
- return new CompositeDisposable(source.subscribe(observer), disposable);
320
+ resource && (disposable = resource);
321
+ var source = tryCatch(observableFactory)(resource);
322
+ if (source === errorObj) {
323
+ return new CompositeDisposable(observableThrow(source.e).subscribe(o), disposable);
324
+ }
325
+ return new CompositeDisposable(source.subscribe(o), disposable);
307
326
  });
308
327
  };
309
328
 
@@ -336,64 +355,59 @@
336
355
  }
337
356
  }
338
357
 
339
- leftSubscription.setDisposable(leftSource.subscribe(function (left) {
340
- choiceL();
341
- if (choice === leftChoice) {
342
- observer.onNext(left);
343
- }
344
- }, function (err) {
345
- choiceL();
346
- if (choice === leftChoice) {
347
- observer.onError(err);
358
+ var leftSubscribe = observerCreate(
359
+ function (left) {
360
+ choiceL();
361
+ choice === leftChoice && observer.onNext(left);
362
+ },
363
+ function (e) {
364
+ choiceL();
365
+ choice === leftChoice && observer.onError(e);
366
+ },
367
+ function () {
368
+ choiceL();
369
+ choice === leftChoice && observer.onCompleted();
348
370
  }
349
- }, function () {
350
- choiceL();
351
- if (choice === leftChoice) {
352
- observer.onCompleted();
371
+ );
372
+ var rightSubscribe = observerCreate(
373
+ function (right) {
374
+ choiceR();
375
+ choice === rightChoice && observer.onNext(right);
376
+ },
377
+ function (e) {
378
+ choiceR();
379
+ choice === rightChoice && observer.onError(e);
380
+ },
381
+ function () {
382
+ choiceR();
383
+ choice === rightChoice && observer.onCompleted();
353
384
  }
354
- }));
385
+ );
355
386
 
356
- rightSubscription.setDisposable(rightSource.subscribe(function (right) {
357
- choiceR();
358
- if (choice === rightChoice) {
359
- observer.onNext(right);
360
- }
361
- }, function (err) {
362
- choiceR();
363
- if (choice === rightChoice) {
364
- observer.onError(err);
365
- }
366
- }, function () {
367
- choiceR();
368
- if (choice === rightChoice) {
369
- observer.onCompleted();
370
- }
371
- }));
387
+ leftSubscription.setDisposable(leftSource.subscribe(leftSubscribe));
388
+ rightSubscription.setDisposable(rightSource.subscribe(rightSubscribe));
372
389
 
373
390
  return new CompositeDisposable(leftSubscription, rightSubscription);
374
391
  });
375
392
  };
376
393
 
394
+ function amb(p, c) { return p.amb(c); }
395
+
377
396
  /**
378
397
  * Propagates the observable sequence or Promise that reacts first.
379
- *
380
- * @example
381
- * var = Rx.Observable.amb(xs, ys, zs);
382
398
  * @returns {Observable} An observable sequence that surfaces any of the given sequences, whichever reacted first.
383
399
  */
384
400
  Observable.amb = function () {
385
- var acc = observableNever(), items = [];
401
+ var acc = observableNever(), items;
386
402
  if (Array.isArray(arguments[0])) {
387
403
  items = arguments[0];
388
404
  } else {
389
- for(var i = 0, len = arguments.length; i < len; i++) { items.push(arguments[i]); }
390
- }
391
-
392
- function func(previous, current) {
393
- return previous.amb(current);
405
+ var len = arguments.length;
406
+ items = new Array(items);
407
+ for(var i = 0; i < len; i++) { items[i] = arguments[i]; }
394
408
  }
395
409
  for (var i = 0, len = items.length; i < len; i++) {
396
- acc = func(acc, items[i]);
410
+ acc = amb(acc, items[i]);
397
411
  }
398
412
  return acc;
399
413
  };
@@ -441,25 +455,20 @@
441
455
  });
442
456
  };
443
457
 
458
+ function toArray(x) { return x.toArray(); }
459
+ function notEmpty(x) { return x.length > 0; }
460
+
444
461
  /**
445
462
  * Projects each element of an observable sequence into zero or more buffers which are produced based on element count information.
446
- *
447
- * @example
448
- * var res = xs.bufferWithCount(10);
449
- * var res = xs.bufferWithCount(10, 1);
450
463
  * @param {Number} count Length of each buffer.
451
464
  * @param {Number} [skip] Number of elements to skip between creation of consecutive buffers. If not provided, defaults to the count.
452
465
  * @returns {Observable} An observable sequence of buffers.
453
466
  */
454
467
  observableProto.bufferWithCount = function (count, skip) {
455
- if (typeof skip !== 'number') {
456
- skip = count;
457
- }
458
- return this.windowWithCount(count, skip).selectMany(function (x) {
459
- return x.toArray();
460
- }).where(function (x) {
461
- return x.length > 0;
462
- });
468
+ typeof skip !== 'number' && (skip = count);
469
+ return this.windowWithCount(count, skip)
470
+ .flatMap(toArray)
471
+ .filter(notEmpty);
463
472
  };
464
473
 
465
474
  /**
@@ -617,5 +626,26 @@
617
626
  }, this);
618
627
  };
619
628
 
620
- return Rx;
629
+ /**
630
+ * Returns an observable sequence that shares a single subscription to the underlying sequence. This observable sequence
631
+ * can be resubscribed to, even if all prior subscriptions have ended. (unlike `.publish().refCount()`)
632
+ * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source.
633
+ */
634
+ observableProto.singleInstance = function() {
635
+ var source = this, hasObservable = false, observable;
636
+
637
+ function getObservable() {
638
+ if (!hasObservable) {
639
+ hasObservable = true;
640
+ observable = source.finally(function() { hasObservable = false; }).publish().refCount();
641
+ }
642
+ return observable;
643
+ };
644
+
645
+ return new AnonymousObservable(function(o) {
646
+ return getObservable().subscribe(o);
647
+ });
648
+ };
649
+
650
+ return Rx;
621
651
  }));