softphone-vendor-headsets 2.5.6-develop.1 → 2.5.6-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/webpack/universalModuleDefinition","webpack://SoftphoneVendorHeadsets/webpack/bootstrap","webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/index-cacd1453.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/types/consumed-headset-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vendor-implementation.ts","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/browserama/out/browserama.min.js","webpack://SoftphoneVendorHeadsets/./node_modules/events/events.js","webpack://SoftphoneVendorHeadsets/(webpack)/buildin/global.js","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/fetch-jsonp/build/fetch-jsonp.js","webpack://SoftphoneVendorHeadsets/./node_modules/tslib/tslib.es6.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/config.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/utils.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/CyberAcoustics/CyberAcoustics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics-call-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Scheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/async.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/lift.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isPromise.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/timeout.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isDate.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/filter.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/empty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/take.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/first.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/yealink/yealink.ts","webpack://SoftphoneVendorHeadsets/./node_modules/@vbet/webhid-sdk/dist/index.es.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vbet/vbet.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/headset.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/index.ts","webpack://SoftphoneVendorHeadsets/./node_modules/process/browser.js","webpack://SoftphoneVendorHeadsets/./node_modules/buffer/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/base64-js/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/ieee754/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/isarray/index.js"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","0","__webpack_require__","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","oldJsonpFunction","slice","s","setPrototypeOf","__proto__","Array","TypeError","String","this","constructor","next","a","throw","done","then","apply","label","sent","trys","ops","return","iterator","pop","arguments","concat","v","asyncIterator","u","h","has","set","stack","f","map","toString","join","errors","indexOf","splice","E","initialTeardown","closed","_parentage","_finalizers","unsubscribe","isArray","remove","g","add","_hasParent","_addParent","includes","_removeParent","EMPTY","_","b","y","delegate","O","w","N","C","kind","T","S","isStopped","destination","P","D","L","_next","_error","complete","_complete","A","Function","I","R","partialObserver","H","U","observable","k","x","reduce","G","_subscribe","lift","source","operator","subscribe","_trySubscribe","forEach","F","pipe","toPromise","M","B","W","onFinalize","shouldUnsubscribe","K","Y","currentObservers","observers","hasError","thrownError","V","_throwIfClosed","from","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","j","_value","getValue","q","now","Date","$","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","z","schedule","Q","setInterval","clearInterval","J","scheduler","work","pending","state","id","recycleAsyncId","delay","requestAsyncId","flush","execute","_execute","actions","X","schedulerActionCtor","Z","_active","tt","et","nt","rt","it","ot","st","at","ct","ut","lt","ht","dt","pt","ft","getReader","read","releaseLock","vt","Et","gt","catch","_t","mt","bt","yt","wt","Ot","Nt","Ct","Tt","St","defaultValue","At","It","isNaN","Rt","info","Dt","first","each","with","Ht","meta","lastValue","seen","Lt","Pt","Ut","kt","xt","Gt","Ft","Mt","Bt","Wt","Kt","Yt","Vt","jt","qt","$t","zt","Qt","Jt","Xt","Zt","te","every","some","ee","ne","re","ie","ae","ce","ue","le","he","de","connector","resetOnError","resetOnComplete","resetOnRefCountZero","pe","fe","bufferSize","windowTime","refCount","ve","Ee","ge","_e","me","finalize","be","super","ye","ERROR","JS_LIB","write","level","layer","Oe","WARNING","INFO","CHROME_EXTENSION","NATIVE_CONSOLE","SDK_USAGE_ERROR","FEATURE_NOT_SUPPORTED","DEVICE_ERROR","UNEXPECTED_ERROR","INIT_ERROR","we","compare","itemRemoved","items","itemList","itemAdded","addItem","onDisconnect","removeItem","filter","equals","sort","findIndex","Ne","sdkVersion","consoleAppVersion","version","chromeExtensionVersion","process","platform","navigator","userAgent","Ce","deviceDetector","deviceAdded","deviceObservables","deviceRemoved","deviceList","_transport","_readyEvents","consoleAppEvent","_config","transportContext","context","logger","WeakMap","NODE","WEB_HID","CHROME_EXTENSION_WITH_WEB_HID_FALLBACK","Te","Se","TransportChromeExtension","checkInstallation","ok","initHandler","WebHidTransport","Ae","log","Ie","Re","config","messageShown","partnerKey","validateCrc","logWarning","appId","test","appName","warn","split","charCodeAt","RangeError","padStart","De","He","Le","Pe","Ue","ke","xe","Ge","MS_OC","CISCO","AVAYA","SIEMENS","ALCATEL","IBM","AASTRA","SKYPE","GENERIC","NORTEL","JABRA","NEC","SHORETEL","OTHER","Fe","gnpReadCommand","serialize","command","subCommand","deserialize","GN_PROTOCOL","DATA","Me","Uint8Array","payload","sequenceNumber","PC_ADDR","BASE_ADDR","HS1_ADDR","HS_BT_USB_ADDR","HS_CRADLE_ADDR","CRADLE_ADDR","EVENT","READ","WRITE","REPLY","IDENT","DFU","DEVICE","FWU","STATUS","CONFIG","NACK","ACK","CONFIG_PREFERRED_SOFTPHONE","ID","IDENT_GET_AVAILABLE_SOFTPHONES","TYPE","NAME","PID","ATTACH_EVENT","DETACH_EVENT","NO_ERROR_CODE","BAD_STATE","TRANSMIT_FAILED","ILLEGAL_ADDR","UNKNOWN_CMD","FILE_NOT_FOUND","INTERNAL_ERROR","REPLY_ERROR","ILLEGAL_PARAM","OUT_OF_SEQUENCE","NO_SPACE","ACCESS_DENIED","NO_MORE_DATA","UNKNOWN_SUB_CMD","Be","We","fromCharCode","Ke","Ye","Ve","DataView","buffer","getUint16","je","of","qe","$e","ze","path","require","globalThis","global","self","Qe","Je","Xe","toUpperCase","parseInt","substr","floor","trunc","ibits","obits","obigendian","ibigendian","mul","inc","mask","random","parse","make","Buffer","alloc","getTime","format","toJSON","nil","match","export","import","isFinite","equal","fold","pow","PCG","default","Ze","transport","gnpLockAcquired","token","action","writeAction","INPUT","OUTPUT","FEATURE","ABSOLUTE","RELATIVE","tn","startsWith","en","nn","usagePage","usage","rn","descriptor","transportId","input","inputReportsFilter","find","reportType","sn","lengthMask","typeFromAttr","packetLengthFromAttr","an","gnpPacketHeaderLength","hasHeader","expectedPacketLength","gnpPacketMaxLength","hasFullPacket","un","ln","hn","dn","pn","hidChannel","gnpLock","primaryAddress","lockQueue","packets","inputFilter","events","eventsFilter","nextSequenceNumber","appendData","getPacketAndReset","findDescriptor","processLockQueue","acquireGnpLock","reportSize","attrFromTypeAndPayloadLength","min","subarray","output","releaseGnpLock","doWithGnpLockHeld","readWithParams","getNextSequenceNumber","fn","parentGnpChannel","sendEvent","vn","supportsGnpOverHid","En","gn","_n","isChild","mn","parentId","gnpAddress","bn","yn","On","NO_TRACKING","TRACK_ERRORS","TRACK_USAGE","TRACK_ALL","BLUETOOTH","INDIRECT","USB","BASE","HEADSET","DESKSTAND","DONGLE","PC","EHS","SPEAKER_PHONE","INDICATOR","MOBILE","NONE","LOCAL","DISPLAY","HS_CRADLE","HS_CRADLE2","MOBILE_IAP","CRADLE","VIDEO","NOT_GN","ANY_GN","NOT_INIT","ANY","wn","parentConnectionId","Nn","Cn","Tn","deviceType","address","vid","pid","serialNumber","capabilities","connectionGnpAddress","Sn","createConnection","parentConnection","connectionCreator","createChildGnpChannel","connectionEvents","attach","detach","connection","An","In","Rn","Dn","createHidChannel","createRootGnpChannel","createAttachEvent","getTransportId","convertToReportType","valueType","convertToValueType","JSON","stringify","getMandatoryField","createDescriptor","assign","Hn","Ln","Pn","Un","kn","xn","vendorId","productId","connectionAdded","connectionRemoved","connectionList","Gn","exceptionToUndefined","findConnectionById","currentConnections","Fn","deviceCollection","connectionExists","force","findDeviceByDeviceId","createDevice","isSameDevice","Mn","validateOrganizationKey","validateAppId","validateAppName","internal","testDeviceTransport","recorder","connect","Bn","deviceId","Wn","UsageReport","Kn","Yn","Vn","jn","qn","$n","zn","Qn","Jn","Xn","Zn","ArrayBuffer","byteLength","_view","bigEndian","_scratch","_setBit","getBits","setBits","getBoolean","getInt8","getUint8","getInt16","getInt32","getUint32","getFloat32","setUint32","getFloat64","setBoolean","setInt8","setUint8","setInt16","setUint16","setInt32","setFloat32","setFloat64","getArrayBuffer","_index","_length","readUint8","decodeURIComponent","escape","_startIndex","ceil","readBits","writeBits","readBoolean","readInt8","readInt16","readUint16","readInt32","readUint32","readFloat32","readFloat64","writeBoolean","writeInt8","writeUint8","writeInt16","writeUint16","writeInt32","writeUint32","writeFloat32","writeFloat64","readASCIIString","readUTF8String","writeASCIIString","writeUTF8String","readBitStream","writeBitStream","bitsLeft","readArrayBuffer","writeArrayBuffer","BitView","BitStream","tr","hid","requestDevice","filters","VENDOR_ID","BroadcastChannel","PAIRING_CHANNEL","postMessage","HOOK_SWITCH","GN_PSEUDO_HOOK_SWITCH","FLASH","ALT_HOLD","REDIAL","ONLINE","PHONE_MUTE","SEND","SPEED_DIAL","VOICE_MAIL","ANSWER_ON_OFF","LINE_BUSY","RINGER","PHONE_KEY_0","PHONE_KEY_1","PHONE_KEY_2","PHONE_KEY_3","PHONE_KEY_4","PHONE_KEY_5","PHONE_KEY_6","PHONE_KEY_7","PHONE_KEY_8","PHONE_KEY_9","PHONE_KEY_STAR","PHONE_KEY_POUND","ALT_VOLUME_UP","ALT_VOLUME_DOWN","REJECT_CALL","er","BUTTON","CONSUMER","LED","TELEPHONY","GN_CONSUMER","GN_EXT_BUTTONS","GN_LED","GN_MISC","GN_TELEPHONY","MUTE","OFF_HOOK","RING","MESSAGE_WAIT","HOLD","MIC_MUTE","HID_OFFLINE","HID_SEND","HID_ALT_VOLUME_UP","HID_ALT_VOLUME_DOWN","GN_OUT_OF_RANGE","GN_REJECT_CALL","GN_TELEPHONY_CONT_SET","nr","isSoftphoneInFocus","lockHeld","cachedSignals","Map","Boolean","on","rr","device","deviceSignals","setup","checkHasDisconnected","checkCallLockNotHeld","tryTakeCallLock","checkCallLockHeld","releaseCallLock","STD_TELEPHONY","ir","sr","connectionCallLock","currentLocks","Set","lockReleaseEvent","takeSingleCallLock","delete","size","acquireLockOnNextConnectionEmit","releaseLockOnRemovedConnectionEmit","releaseSingleCallLock","acquired","clear","ar","cr","ur","hr","lr","dr","softphoneInFocus","setFeatureReport","or","pr","devComm","infocus","fr","vr","Er","gr","_r","mr","br","yr","Nr","jabraDirectInstalled","setSharedSoftphoneInfo","supportsCallControl","HOLD_CURRENT","END_CURRENT","MUTED","UNMUTED","NO_ONGOING_CALLS","ON_HOLD","NOT_ON_HOLD","NO_INCOMING","AWAITING_RESPONSE","RESOLVING_RESPONSE","ACCEPTED","REJECTED","HeadsetEvents","VendorImplementation","_ref","_this","_classCallCheck","_defineProperty","_callSuper","eventEmitter","EventEmitter","keys","vendorName","_inherits","selectedMicLabel","clearReason","callInfo","hasOtherActiveCalls","conversationId","autoAnswer","rejectCall","eventName","eventBody","emit","vendor","body","_objectSpread","callback","debug","emitEvent","eventInfo","headsetState","isConnected","isConnecting","currentVendor","InstallTrigger","chrome","webstore","runtime","HTMLElement","safari","pushNotification","opr","addons","opera","StyleMedia","CSS","documentMode","ReflectOwnKeys","Reflect","ReflectApply","receiver","args","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","Number","init","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","handler","flags","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","_addListener","prepend","existing","warning","newListener","unshift","warned","count","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","arr","ret","unwrapListeners","arrayClone","listenerCount","copy","addEventListener","wrapListener","arg","removeEventListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","index","spliceOne","off","removeAllListeners","rawListeners","eventNames","defaultOptions","generateCallbackFunction","clearFunction","functionName","removeScript","scriptId","getElementById","getElementsByTagName","removeChild","_url","options","url","jsonpCallback","timeoutId","callbackFunction","jsonpCallbackFunction","response","json","jsonpScript","nonce","referrerPolicy","crossorigin","extendStatics","__extends","__","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","result","__generator","verb","op","__values","__read","__spreadArray","to","pack","__await","__asyncGenerator","resume","fulfill","settle","__asyncValues","SuppressedError","isFunction","createErrorClass","createImpl","ctorFunc","instance","UnsubscriptionError","_super","arrRemove","item","Subscription","e_1","_a","e_2","_b","_parentage_1","_parentage_1_1","e_1_1","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","_i","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","errorContext","cb","isRoot","errorThrown","Subscriber","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","_bind","ConsumerObserver","handleUnhandledError","SafeSubscriber","observerOrNext","context_1","notification","subscriber","identity","pipeFromArray","fns","prev","Observable","isObserver","sink","promiseCtor","getPromiseCtor","operations","ObjectUnsubscribedError","Subject","subject","_c","AnonymousSubject","isCefHosted","_HostedContextFunctions","requestCefPromise","cmd","sCmd","cefQuery","persistent","onSuccess","obj","onFailure","_regeneratorRuntime","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","values","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","callInvokeWithMethodAndArg","method","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","charAt","stop","rval","finish","delegateYield","asyncGeneratorStep","gen","_throw","_asyncToGenerator","Constructor","_defineProperties","props","_toPropertyKey","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","valueOf","construct","_isNativeReflectConstruct","_setPrototypeOf","toPrimitive","_toPrimitive","hookswFlag","micMuteFlag","CyberAcousticsService","_VendorImplementation","_len","_key","headsetInputReportId","vendorInputReportId","subClass","superClass","protoProps","_deviceInfo","lowerLabel","toLowerCase","searchVal","_connect","_callee2","originalDeviceLabel","bConnectSuccess","devList","_this2","_context2","currentlDeviceLabel","changeConnectionStatus","getDevices","selectDevice","activeDevice","opened","open","handleDeviceConnect","HIDPermissionTimeout","requestWebHidPermissions","_callee","deviceFound","_context","deductProductId","connectFromHidPermissions","t0","_x","_connectFromHidPermissions","_callee3","_context3","_x2","_x3","reportID","reportId","handeledInputReportIds","byte0","wordCommand","formatHex","handleDeviceButtonPress","_handleDeviceConnect","_callee4","_context4","ProductName","productName","handleInputReport","numDeviceEventListeners","currentProductID","currentCallState","headsetOutputReportId","outputReportReportId","flagSupport","JLCommandSet","_this3","deviceLabel","_device$productName","_step","_iterator","_createForOfIteratorHelper","collections","collection","inputReports","inputReportReportId","outputReports","_disconnect","_callee5","_context5","ChangeCallState","isMuted","setMute","deviceMuteChanged","close","_incomingCall","_callee6","_context6","currentCallInfo","activeConversationId","ParseStateEvents","_x4","_outgoingCall","_callee7","_context7","_x5","_answerCall","_callee8","_context8","_x6","_x7","_rejectCall","_callee9","_context9","_endCall","_callee10","_context10","_x8","_x9","_endAllCalls","_callee11","_context11","_setMute","_callee12","_context12","UpdateDeviceStatus","_x10","_setHold","_callee13","_context13","isHolding","_x11","_x12","CAStateEvent","newstate","deviceStatus","deviceAnsweredCall","deviceEndedCall","deviceRejectedCall","flag","SendCommandToDevice","_SendCommandToDevice","_callee14","_context14","gCmdBuf","sendReport","_x13","_HidMockDeviceInit","_callee15","deviceLists","_context15","val","staticProps","PlantronicsCallEventCodes","PlantronicsService","pluginName","callEventsTimerId","deviceStatusTimerId","incomingConversationId","callId","round","callMappings","plantronicsCallId","_this$_deviceInfo","deviceInfo","disableEventPolling","getCallEvents","pollForCallEvents","activePollingInterval","getDeviceStatus","pollForDeviceStatus","isDeviceAttached","connectedDeviceInterval","disconnectedDeviceInterval","_makeRequestTask2","endpoint","isRetry","_makeRequest","fetchJsonp","_makeRequest2","plantronicsInstance","_this4","_fetch","apiHost","Type_Name","status","disconnect","handled","_makeRequestTask","browserama","isFirefox","errorCode","disableRetry","_checkIsActiveTask2","calls","_getActiveCalls","isActive","_getActiveCalls2","_result","_this5","Result","Calls","Source","_getCallEvents","_this6","eventType","Action","callCorrespondingFunction","_getDeviceStatus","_this7","Err","Description","CallId","Id","endCall","setHold","_checkIsActiveTask","deviceHoldStatusChanged","holdRequested","deviceEventLogs","_unregisterPlugin","_response$Err","_this8","unregisterPlugin","isError","clearTimeouts","contactName","_createCallMapping","params","halfEncodedCallIdString","encodeURI","halfEncodedContactString","incomingCall","_this9","createNew","SennheiserEvents","SennheiserEventTypes","SennheiserService","websocketConnected","ignoreAcknowledgement","Event","websocket","send","EstablishConnection","EventType","Request","SPName","SPIconImage","RedialSupport","OffHookSupport","MuteSupport","DNDOption","_sendMessage","socket","WebSocket","onopen","webSocketOnOpen","onclose","webSocketOnClose","onmessage","_handleMessage","wasClean","isFireFox","TerminateConnection","MuteFromApp","UnmuteFromApp","Hold","Resume","CallID","IncomingCall","IncomingCallAccepted","IncomingCallRejected","OutgoingCall","CallEnded","ReturnCode","_handleError","SocketConnected","_registerSoftphone","SPLogin","SystemInformation","HeadsetConnected","HeadsetName","deviceName","headsetType","HeadsetType","HeadsetDisconnected","Notification","Ack","_handleAck","MuteFromHeadset","UnmuteFromHeadset","readyState","EmptyError","firstValueFrom","hasConfig","intervalProvider","AsyncAction","_id","_scheduler","_delay","errorValue","errored","dateTimestampProvider","Scheduler","asyncScheduler","AsyncScheduler","SchedulerAction","operate","hasLift","liftedSource","innerFrom","isInteropObservable","obs","array","isAsyncIterable","fromAsyncIterable","isIterable","iterable","iterable_1","iterable_1_1","isReadableStreamLike","readableStream","reader","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","asyncIterable","asyncIterable_1","asyncIterable_1_1","createOperatorSubscriber","onNext","onComplete","onError","OperatorSubscriber","closed_1","TimeoutError","schedulerArg","_with","timeoutErrorFactory","_d","originalSourceSubscription","timerSubscription","startTimer","parentSubscription","repeat","scheduleSubscription","executeSchedule","defaultIfEmpty","hasValue","predicate","take","throwIfEmpty","errorFactory","defaultErrorFactory","hasDefaultValue","project","JabraService","_this$deviceInfo","callControl","headsetEventSubscription","signal","_message","_type","callLock","SignalType","pendingConversationId","offHook","ring","pendingConversationIsOutbound","code","mute","hold","_ref2","checkForCallLockError","isHeld","_ref3","takeCallLock","resetState","_ref6","_device$name","selectedDevice","jabraSdk","initializeJabraSdk","callControlFactory","createCallControlFactory","toLocaleLowerCase","deviceHasPermissions","getPreviouslyConnectedDevice","getDeviceFromWebhid","createCallControl","resetHeadsetState","_processEvents","attached","_deviceHasPermissions","allowedHIDDevices","_getPreviouslyConnectedDevice","waitForDevice","devices","isDeviceInList","_getDeviceFromWebhid","webHidPairing","_x14","_initializeJabraSdk","RequestedBrowserTransport","sdk","CallControlFactory","ErrorType","_resetHeadsetState","_callee16","_context16","JabraNativeCommands","JabraNativeEventNames","JabraNativeService","ringing","isHostedContextInitialized","setupNativeHandlers","waitForHostedContext","_Orgspan","Orgspan","serviceFor","isHosted","_Orgspan2","hostedContext","cefSupportsJabra","supportsJabra","handleJabraEvent","handleJabraDeviceAttached","activeDeviceId","msg","isDeviceEvent","isHeadsetEvent","updateDevices","_processEvent","isOffhook","_sendCmd","Offhook","_setRinging","_getHeadsetIntoVanillaState","Mute","sendEventToDesktop","deviceID","Ring","ignoreNextOffhookEvent","_updateDevices","func","timer","OffHook","_handleOffhookEvent","RejectCall","_handleMuteEvent","_handleHoldEvent","timeoutInMillis","timeoutError","timeoutPromise","race","allowArrayLike","minLen","_arrayLikeToArray","_unsupportedIterableToArray","normalCompletion","didErr","_e2","arr2","YealinkService","waiter","bFind","_device$productName2","_step2","_iterator2","processBtnPress","recCallState","changeFlag","callState","answerCall","isHold","sendOpToDevice","setValue","_setValue","_sendOpToDevice","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","PROGRAMMABLE_BUTTON","ToggleButton","ToggleSwitch","isAbsolute","inputEventInfos","inputEventObserverCallbacks","outputEventInfos","parseDeviceDescriptors","onInputReport","_this$inputEventObser","_this$inputEventObser2","_this$inputEventObser3","_this$inputEventObser4","_this$inputEventObser5","_this$inputEventObser6","_this$inputEventObser7","_this$inputEventObser8","offset","controlType","_close","parseInputReport","parseOutputReport","_step3","_iterator3","usages","reportCount","_step4","_iterator4","entries","_step4$value","_slicedToArray","_step5","_iterator5","_loop","_step6","_iterator6","_step7","_iterator7","_step7$value","_loop2","_s$_i","_s","_i2","setter","_this$inputEventInfos","supportInput","_this$outputEventInfo","_send","_i3","_iterator8","_step8","_loop3","_i5","_i4","_s2","_i6","_v","_u","setState","t1","t2","_step8$value","t4","_create","supportOutput","ACCEPT_CALL","END_CALL","MUTE_CALL","UNMUTE_CALL","_g","onHook","muteOn","muteOff","getState","_D","_iterator9","_step9","_M","VBetService","DeviceSignalType","dev","_dev","findDevice","webhidConsent","res","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","HeadsetService","_headsetEvents$","headsetEvents$","plantronics","getInstance","jabraNative","jabra","sennheiser","yealink","vbet","cyberAcoustics","implementation","subscribeToHeadsetEvents","impl","isSupported","headsetConversationStates","opts","expectExistingConversation","isDifferentState","micLabel","implementations","deviceLabelMatchesVendor","newMicLabel","changeReason","changeImplementation","selectedImplementation","clearSelectedImplementation","_changeImplementation","implementationChanged","getConnectedImpl","held","muted","outgoingCall","expectedStatePostAction","updateHeadsetState","_args5","removeTimer","setRemoveTimer","endAllCalls","resetHeadsetStateForCall","handleDeviceAnsweredCall","handleDeviceRejectedCall","handleDeviceEndedCall","deviceMuteStatusChanged","handleDeviceMuteStatusChanged","handleDeviceHoldStatusChanged","handleDeviceLogs","deviceConnectionStatusChanged","handleDeviceConnectionStatusChanged","webHidPermissionRequested","handleWebHidPermissionRequested","connectionStatus","loggableEvent","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","binding","cwd","chdir","dir","umask","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","byteOffset","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","fromString","isBuffer","checked","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","pos","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","_arr","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","abs","LN2"],"mappings":"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","file":"softhphone-vendor-headsets.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SoftphoneVendorHeadsets\"] = factory();\n\telse\n\t\troot[\"SoftphoneVendorHeadsets\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".softhphone-vendor-headsets.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpSoftphoneVendorHeadsets\"] = window[\"webpackJsonpSoftphoneVendorHeadsets\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n","var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}function n(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))}function r(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function i(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function o(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function s(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}function a(t){return this instanceof a?(this.v=t,this):new a(t)}function c(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,i=n.apply(t,e||[]),o=[];return r={},s(\"next\"),s(\"throw\"),s(\"return\"),r[Symbol.asyncIterator]=function(){return this},r;function s(t){i[t]&&(r[t]=function(e){return new Promise((function(n,r){o.push([t,e,n,r])>1||c(t,e)}))})}function c(t,e){try{(n=i[t](e)).value instanceof a?Promise.resolve(n.value.v).then(u,l):h(o[0][2],n)}catch(t){h(o[0][3],t)}var n}function u(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function h(t,e){t(e),o.shift(),o.length&&c(o[0][0],o[0][1])}}function u(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=i(t),e={},r(\"next\"),r(\"throw\"),r(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,i){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,i,(e=t[n](e)).done,e.value)}))}}}function l(t,e,n,r){if(\"a\"===n&&!r)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof e?t!==e||!r:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===n?r:\"a\"===n?r.call(t):r?r.value:e.get(t)}function h(t,e,n,r,i){if(\"m\"===r)throw new TypeError(\"Private method is not writable\");if(\"a\"===r&&!i)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof e?t!==e||!i:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}function d(t){return\"function\"==typeof t}function p(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var f=p((function(t){return function(e){t(this),this.message=e?e.length+\" errors occurred during unsubscription:\\n\"+e.map((function(t,e){return e+1+\") \"+t.toString()})).join(\"\\n \"):\"\",this.name=\"UnsubscriptionError\",this.errors=e}}));function v(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var E=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,a;if(!this.closed){this.closed=!0;var c=this._parentage;if(c)if(this._parentage=null,Array.isArray(c))try{for(var u=i(c),l=u.next();!l.done;l=u.next()){l.value.remove(this)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=u.return)&&e.call(u)}finally{if(t)throw t.error}}else c.remove(this);var h=this.initialTeardown;if(d(h))try{h()}catch(t){a=t instanceof f?t.errors:[t]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var v=i(p),E=v.next();!E.done;E=v.next()){var g=E.value;try{m(g)}catch(t){a=null!=a?a:[],t instanceof f?a=s(s([],o(a)),o(t.errors)):a.push(t)}}}catch(t){n={error:t}}finally{try{E&&!E.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}}if(a)throw new f(a)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)m(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&v(e,t)},t.prototype.remove=function(e){var n=this._finalizers;n&&v(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),g=E.EMPTY;function _(t){return t instanceof E||t&&\"closed\"in t&&d(t.remove)&&d(t.add)&&d(t.unsubscribe)}function m(t){d(t)?t():t.unsubscribe()}var b={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},y={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=y.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,s([t,e],o(n))):setTimeout.apply(void 0,s([t,e],o(n)))},clearTimeout:function(t){var e=y.delegate;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function O(t){y.setTimeout((function(){throw t}))}function w(){}var N=C(\"C\",void 0,void 0);function C(t,e,n){return{kind:t,value:e,error:n}}function T(t){t()}var S=function(t){function n(e){var n=t.call(this)||this;return n.isStopped=!1,e?(n.destination=e,_(e)&&e.add(n)):n.destination=P,n}return e(n,t),n.create=function(t,e,n){return new D(t,e,n)},n.prototype.next=function(t){this.isStopped?L(function(t){return C(\"N\",t,void 0)}(t),this):this._next(t)},n.prototype.error=function(t){this.isStopped?L(C(\"E\",void 0,t),this):(this.isStopped=!0,this._error(t))},n.prototype.complete=function(){this.isStopped?L(N,this):(this.isStopped=!0,this._complete())},n.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},n.prototype._next=function(t){this.destination.next(t)},n.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},n.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},n}(E),A=Function.prototype.bind;function I(t,e){return A.call(t,e)}var R=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var e=this.partialObserver;if(e.next)try{e.next(t)}catch(t){H(t)}},t.prototype.error=function(t){var e=this.partialObserver;if(e.error)try{e.error(t)}catch(t){H(t)}else H(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){H(t)}},t}(),D=function(t){function n(e,n,r){var i,o,s=t.call(this)||this;d(e)||!e?i={next:null!=e?e:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&b.useDeprecatedNextContext?((o=Object.create(e)).unsubscribe=function(){return s.unsubscribe()},i={next:e.next&&I(e.next,o),error:e.error&&I(e.error,o),complete:e.complete&&I(e.complete,o)}):i=e;return s.destination=new R(i),s}return e(n,t),n}(S);function H(t){O(t)}function L(t,e){var n=b.onStoppedNotification;n&&y.setTimeout((function(){return n(t,e)}))}var P={closed:!0,next:w,error:function(t){throw t},complete:w},U=\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\";function k(t){return t}function x(t){return 0===t.length?k:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)}}var G=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r,i=this,o=(r=t)&&r instanceof S||function(t){return t&&d(t.next)&&d(t.error)&&d(t.complete)}(r)&&_(r)?t:new D(t,e,n);return T((function(){var t=i,e=t.operator,n=t.source;o.add(e?e.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=F(e))((function(e,r){var i=new D({next:function(e){try{t(e)}catch(t){r(t),i.unsubscribe()}},error:r,complete:e});n.subscribe(i)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[U]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return x(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=F(t))((function(t,n){var r;e.subscribe((function(t){return r=t}),(function(t){return n(t)}),(function(){return t(r)}))}))},t.create=function(e){return new t(e)},t}();function F(t){var e;return null!==(e=null!=t?t:b.Promise)&&void 0!==e?e:Promise}function M(t){return function(e){if(function(t){return d(null==t?void 0:t.lift)}(e))return e.lift((function(e){try{return t(e,this)}catch(t){this.error(t)}}));throw new TypeError(\"Unable to lift unknown Observable type\")}}function B(t,e,n,r,i){return new W(t,e,n,r,i)}var W=function(t){function n(e,n,r,i,o,s){var a=t.call(this,e)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(t){try{n(t)}catch(t){e.error(t)}}:t.prototype._next,a._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,a._complete=r?function(){try{r()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,a}return e(n,t),n.prototype.unsubscribe=function(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;t.prototype.unsubscribe.call(this),!n&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}},n}(S),K=p((function(t){return function(){t(this),this.name=\"ObjectUnsubscribedError\",this.message=\"object unsubscribed\"}})),Y=function(t){function n(){var e=t.call(this)||this;return e.closed=!1,e.currentObservers=null,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return e(n,t),n.prototype.lift=function(t){var e=new V(this,this);return e.operator=t,e},n.prototype._throwIfClosed=function(){if(this.closed)throw new K},n.prototype.next=function(t){var e=this;T((function(){var n,r;if(e._throwIfClosed(),!e.isStopped){e.currentObservers||(e.currentObservers=Array.from(e.observers));try{for(var o=i(e.currentObservers),s=o.next();!s.done;s=o.next()){s.value.next(t)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},n.prototype.error=function(t){var e=this;T((function(){if(e._throwIfClosed(),!e.isStopped){e.hasError=e.isStopped=!0,e.thrownError=t;for(var n=e.observers;n.length;)n.shift().error(t)}}))},n.prototype.complete=function(){var t=this;T((function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var e=t.observers;e.length;)e.shift().complete()}}))},n.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(n.prototype,\"observed\",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),n.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},n.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},n.prototype._innerSubscribe=function(t){var e=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?g:(this.currentObservers=null,o.push(t),new E((function(){e.currentObservers=null,v(o,t)})))},n.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,i=e.isStopped;n?t.error(r):i&&t.complete()},n.prototype.asObservable=function(){var t=new G;return t.source=this,t},n.create=function(t,e){return new V(t,e)},n}(G),V=function(t){function n(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return e(n,t),n.prototype.next=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)},n.prototype.error=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)},n.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},n.prototype._subscribe=function(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:g},n}(Y),j=function(t){function n(e){var n=t.call(this)||this;return n._value=e,n}return e(n,t),Object.defineProperty(n.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),n.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},n.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},n.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},n}(Y),q={now:function(){return(q.delegate||Date).now()},delegate:void 0},$=function(t){function n(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=q);var i=t.call(this)||this;return i._bufferSize=e,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,e),i._windowTime=Math.max(1,n),i}return e(n,t),n.prototype.next=function(e){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(e),!o&&i.push(s.now()+a)),this._trimBuffer(),t.prototype.next.call(this,e)},n.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!t.closed;i+=n?1:2)t.next(r[i]);return this._checkFinalizedStatuses(t),e},n.prototype._trimBuffer=function(){var t=this,e=t._bufferSize,n=t._timestampProvider,r=t._buffer,i=t._infiniteTimeWindow,o=(i?1:2)*e;if(e<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},n}(Y),z=function(t){function n(e,n){return t.call(this)||this}return e(n,t),n.prototype.schedule=function(t,e){return this},n}(E),Q={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Q.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,s([t,e],o(n))):setInterval.apply(void 0,s([t,e],o(n)))},clearInterval:function(t){var e=Q.delegate;return((null==e?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},J=function(t){function n(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return e(n,t),n.prototype.schedule=function(t,e){var n;if(void 0===e&&(e=0),this.closed)return this;this.state=t;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,e)),this.pending=!0,this.delay=e,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,e),this},n.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),Q.setInterval(t.flush.bind(t,this),n)},n.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return e;null!=e&&Q.clearInterval(e)},n.prototype.execute=function(t,e){if(this.closed)return new Error(\"executing a cancelled action\");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},n.prototype._execute=function(t,e){var n,r=!1;try{this.work(t)}catch(t){r=!0,n=t||new Error(\"Scheduled action threw falsy error\")}if(r)return this.unsubscribe(),n},n.prototype.unsubscribe=function(){if(!this.closed){var e=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,v(r,this),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},n}(z),X=function(){function t(e,n){void 0===n&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(n,e)},t.now=q.now,t}(),Z=new(function(t){function n(e,n){void 0===n&&(n=X.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r}return e(n,t),n.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},n}(X))(J),tt=Z,et=new G((function(t){return t.complete()}));function nt(t){return t&&d(t.schedule)}function rt(t){return t[t.length-1]}function it(t){return d(rt(t))?t.pop():void 0}function ot(t){return nt(rt(t))?t.pop():void 0}function st(t,e){return\"number\"==typeof rt(t)?t.pop():e}var at=function(t){return t&&\"number\"==typeof t.length&&\"function\"!=typeof t};function ct(t){return d(null==t?void 0:t.then)}function ut(t){return d(t[U])}function lt(t){return Symbol.asyncIterator&&d(null==t?void 0:t[Symbol.asyncIterator])}function ht(t){return new TypeError(\"You provided \"+(null!==t&&\"object\"==typeof t?\"an invalid object\":\"'\"+t+\"'\")+\" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\")}var dt=\"function\"==typeof Symbol&&Symbol.iterator?Symbol.iterator:\"@@iterator\";function pt(t){return d(null==t?void 0:t[dt])}function ft(t){return c(this,arguments,(function(){var e,n,i;return r(this,(function(r){switch(r.label){case 0:e=t.getReader(),r.label=1;case 1:r.trys.push([1,,9,10]),r.label=2;case 2:return[4,a(e.read())];case 3:return n=r.sent(),i=n.value,n.done?[4,a(void 0)]:[3,5];case 4:return[2,r.sent()];case 5:return[4,a(i)];case 6:return[4,r.sent()];case 7:return r.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}function vt(t){return d(null==t?void 0:t.getReader)}function Et(t){if(t instanceof G)return t;if(null!=t){if(ut(t))return o=t,new G((function(t){var e=o[U]();if(d(e.subscribe))return e.subscribe(t);throw new TypeError(\"Provided object does not correctly implement Symbol.observable\")}));if(at(t))return r=t,new G((function(t){for(var e=0;e<r.length&&!t.closed;e++)t.next(r[e]);t.complete()}));if(ct(t))return n=t,new G((function(t){n.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,O)}));if(lt(t))return gt(t);if(pt(t))return e=t,new G((function(t){var n,r;try{for(var o=i(e),s=o.next();!s.done;s=o.next()){var a=s.value;if(t.next(a),t.closed)return}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}));if(vt(t))return gt(ft(t))}var e,n,r,o;throw ht(t)}function gt(t){return new G((function(e){(function(t,e){var i,o,s,a;return n(this,void 0,void 0,(function(){var n,c;return r(this,(function(r){switch(r.label){case 0:r.trys.push([0,5,6,11]),i=u(t),r.label=1;case 1:return[4,i.next()];case 2:if((o=r.sent()).done)return[3,4];if(n=o.value,e.next(n),e.closed)return[2];r.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=r.sent(),s={error:c},[3,11];case 6:return r.trys.push([6,,9,10]),o&&!o.done&&(a=i.return)?[4,a.call(i)]:[3,8];case 7:r.sent(),r.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}}))}))})(t,e).catch((function(t){return e.error(t)}))}))}function _t(t,e,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=e.schedule((function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()}),r);if(t.add(o),!i)return o}function mt(t,e){return void 0===e&&(e=0),M((function(n,r){n.subscribe(B(r,(function(n){return _t(r,t,(function(){return r.next(n)}),e)}),(function(){return _t(r,t,(function(){return r.complete()}),e)}),(function(n){return _t(r,t,(function(){return r.error(n)}),e)})))}))}function bt(t,e){return void 0===e&&(e=0),M((function(n,r){r.add(t.schedule((function(){return n.subscribe(r)}),e))}))}function yt(t,e){if(!t)throw new Error(\"Iterable cannot be null\");return new G((function(n){_t(n,e,(function(){var r=t[Symbol.asyncIterator]();_t(n,e,(function(){r.next().then((function(t){t.done?n.complete():n.next(t.value)}))}),0,!0)}))}))}function Ot(t,e){if(null!=t){if(ut(t))return function(t,e){return Et(t).pipe(bt(e),mt(e))}(t,e);if(at(t))return function(t,e){return new G((function(n){var r=0;return e.schedule((function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())}))}))}(t,e);if(ct(t))return function(t,e){return Et(t).pipe(bt(e),mt(e))}(t,e);if(lt(t))return yt(t,e);if(pt(t))return function(t,e){return new G((function(n){var r;return _t(n,e,(function(){r=t[dt](),_t(n,e,(function(){var t,e,i;try{e=(t=r.next()).value,i=t.done}catch(t){return void n.error(t)}i?n.complete():n.next(e)}),0,!0)})),function(){return d(null==r?void 0:r.return)&&r.return()}}))}(t,e);if(vt(t))return function(t,e){return yt(ft(t),e)}(t,e)}throw ht(t)}function wt(t,e){return e?Ot(t,e):Et(t)}function Nt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t);return wt(t,n)}function Ct(t,e){var n=d(t)?t:function(){return t},r=function(t){return t.error(n())};return new G(e?function(t){return e.schedule(r,0,t)}:r)}var Tt=p((function(t){return function(){t(this),this.name=\"EmptyError\",this.message=\"no elements in sequence\"}}));function St(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o,s=!1;t.subscribe({next:function(t){o=t,s=!0},error:i,complete:function(){s?r(o):n?r(e.defaultValue):i(new Tt)}})}))}function At(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o=new D({next:function(t){r(t),o.unsubscribe()},error:i,complete:function(){n?r(e.defaultValue):i(new Tt)}});t.subscribe(o)}))}function It(t){return t instanceof Date&&!isNaN(t)}var Rt=p((function(t){return function(e){void 0===e&&(e=null),t(this),this.message=\"Timeout has occurred\",this.name=\"TimeoutError\",this.info=e}}));function Dt(t,e){var n=It(t)?{first:t}:\"number\"==typeof t?{each:t}:t,r=n.first,i=n.each,o=n.with,s=void 0===o?Ht:o,a=n.scheduler,c=void 0===a?null!=e?e:Z:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError(\"No timeout provided.\");return M((function(t,e){var n,o,a=null,u=0,h=function(t){o=_t(e,c,(function(){try{n.unsubscribe(),Et(s({meta:l,lastValue:a,seen:u})).subscribe(e)}catch(t){e.error(t)}}),t)};n=t.subscribe(B(e,(function(t){null==o||o.unsubscribe(),u++,e.next(a=t),i>0&&h(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),a=null}))),!u&&h(null!=r?\"number\"==typeof r?r:+r-c.now():i)}))}function Ht(t){throw new Rt(t)}function Lt(t,e){return M((function(n,r){var i=0;n.subscribe(B(r,(function(n){r.next(t.call(e,n,i++))})))}))}function Pt(t,e,n){return void 0===n&&(n=1/0),d(e)?Pt((function(n,r){return Lt((function(t,i){return e(n,t,r,i)}))(Et(t(n,r)))}),n):(\"number\"==typeof e&&(n=e),M((function(e,r){return function(t,e,n,r,i,o,s,a){var c=[],u=0,l=0,h=!1,d=function(){!h||c.length||u||e.complete()},p=function(t){return u<r?f(t):c.push(t)},f=function(t){o&&e.next(t),u++;var a=!1;Et(n(t,l++)).subscribe(B(e,(function(t){null==i||i(t),o?p(t):e.next(t)}),(function(){a=!0}),void 0,(function(){if(a)try{u--;for(var t=function(){var t=c.shift();s?_t(e,s,(function(){return f(t)})):f(t)};c.length&&u<r;)t();d()}catch(t){e.error(t)}})))};return t.subscribe(B(e,p,(function(){h=!0,d()}))),function(){null==a||a()}}(e,r,t,n)})))}function Ut(t){return void 0===t&&(t=1/0),Pt(k,t)}function kt(){return Ut(1)}function xt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return kt()(wt(t,ot(t)))}function Gt(t){return new G((function(e){Et(t()).subscribe(e)}))}function Ft(t,e,n){void 0===t&&(t=0),void 0===n&&(n=tt);var r=-1;return null!=e&&(nt(e)?n=e:r=e),new G((function(e){var i=It(t)?+t-n.now():t;i<0&&(i=0);var o=0;return n.schedule((function(){e.closed||(e.next(o++),0<=r?this.schedule(void 0,r):e.complete())}),i)}))}function Mt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t),r=st(t,1/0),i=t;return i.length?1===i.length?Et(i[0]):Ut(r)(wt(i,n)):et}var Bt,Wt,Kt,Yt,Vt,jt,qt=new G(w),$t=Array.isArray;function zt(t){return 1===t.length&&$t(t[0])?t[0]:t}function Qt(t,e){return function(n,r){return!t.call(e,n,r)}}function Jt(t,e){return M((function(n,r){var i=0;n.subscribe(B(r,(function(n){return t.call(e,n,i++)&&r.next(n)})))}))}function Xt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===(t=zt(t)).length?Et(t[0]):new G(Zt(t))}function Zt(t){return function(e){for(var n=[],r=function(r){n.push(Et(t[r]).subscribe(B(e,(function(t){if(n){for(var i=0;i<n.length;i++)i!==r&&n[i].unsubscribe();n=null}e.next(t)}))))},i=0;n&&!e.closed&&i<t.length;i++)r(i)}}function te(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=it(t),r=zt(t);return r.length?new G((function(t){var e=r.map((function(){return[]})),i=r.map((function(){return!1}));t.add((function(){e=i=null}));for(var a=function(a){Et(r[a]).subscribe(B(t,(function(r){if(e[a].push(r),e.every((function(t){return t.length}))){var c=e.map((function(t){return t.shift()}));t.next(n?n.apply(void 0,s([],o(c))):c),e.some((function(t,e){return!t.length&&i[e]}))&&t.complete()}}),(function(){i[a]=!0,!e[a].length&&t.complete()})))},c=0;!t.closed&&c<r.length;c++)a(c);return function(){e=i=null}})):et}function ee(t){return M((function(e,n){var r,i=null,o=!1;i=e.subscribe(B(n,void 0,void 0,(function(s){r=Et(t(s,ee(t)(e))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function ne(t,e){return d(e)?Pt(t,e,1):Pt(t,1)}function re(t){return M((function(e,n){var r=!1;e.subscribe(B(n,(function(t){r=!0,n.next(t)}),(function(){r||n.next(t),n.complete()})))}))}function ie(t){return t<=0?function(){return et}:M((function(e,n){var r=0;e.subscribe(B(n,(function(e){++r<=t&&(n.next(e),t<=r&&n.complete())})))}))}function oe(t,e){return void 0===e&&(e=k),t=null!=t?t:se,M((function(n,r){var i,o=!0;n.subscribe(B(r,(function(n){var s=e(n);!o&&t(i,s)||(o=!1,i=s,r.next(n))})))}))}function se(t,e){return t===e}function ae(t){return void 0===t&&(t=ce),M((function(e,n){var r=!1;e.subscribe(B(n,(function(t){r=!0,n.next(t)}),(function(){return r?n.complete():n.error(t())})))}))}function ce(){return new Tt}function ue(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Jt((function(e,n){return t(e,n,r)})):k,ie(1),n?re(e):ae((function(){return new Tt})))}}function le(t){return t<=0?function(){return et}:M((function(e,n){var r=[];e.subscribe(B(n,(function(e){r.push(e),t<r.length&&r.shift()}),(function(){var t,e;try{for(var o=i(r),s=o.next();!s.done;s=o.next()){var a=s.value;n.next(a)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}n.complete()}),void 0,(function(){r=null})))}))}function he(t){return M((function(e,n){var r,i,o=!1,s=function(){r=e.subscribe(B(n,void 0,void 0,(function(e){i||(i=new Y,t(i).subscribe(B(n,(function(){return r?s():o=!0})))),i&&i.next(e)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function de(t){void 0===t&&(t={});var e=t.connector,n=void 0===e?function(){return new Y}:e,r=t.resetOnError,i=void 0===r||r,o=t.resetOnComplete,s=void 0===o||o,a=t.resetOnRefCountZero,c=void 0===a||a;return function(t){var e,r,o,a=0,u=!1,l=!1,h=function(){null==r||r.unsubscribe(),r=void 0},d=function(){h(),e=o=void 0,u=l=!1},p=function(){var t=e;d(),null==t||t.unsubscribe()};return M((function(t,f){a++,l||u||h();var v=o=null!=o?o:n();f.add((function(){0!==--a||l||u||(r=pe(p,c))})),v.subscribe(f),!e&&a>0&&(e=new D({next:function(t){return v.next(t)},error:function(t){l=!0,h(),r=pe(d,i,t),v.error(t)},complete:function(){u=!0,h(),r=pe(d,s),v.complete()}}),Et(t).subscribe(e))}))(t)}}function pe(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==e){if(!1!==e){var i=new D({next:function(){i.unsubscribe(),t()}});return e.apply(void 0,s([],o(n))).subscribe(i)}}else t()}function fe(t,e,n){var r,i,o,s,a=!1;return t&&\"object\"==typeof t?(r=t.bufferSize,s=void 0===r?1/0:r,i=t.windowTime,e=void 0===i?1/0:i,a=void 0!==(o=t.refCount)&&o,n=t.scheduler):s=null!=t?t:1/0,de({connector:function(){return new $(s,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function ve(t){return Jt((function(e,n){return t<=n}))}function Ee(t,e){return M((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(B(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;Et(t(n,c)).subscribe(i=B(r,(function(t){return r.next(e?e(n,t,c,s++):t)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}))}function ge(){return Ee(k)}function _e(t){return M((function(e,n){Et(t).subscribe(B(n,(function(){return n.complete()}),w)),!n.closed&&e.subscribe(n)}))}function me(t,e,n){var r=d(t)||e||n?{next:t,error:e,complete:n}:t;return r?M((function(t,e){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;t.subscribe(B(e,(function(t){var n;null===(n=r.next)||void 0===n||n.call(r,t),e.next(t)}),(function(){var t;i=!1,null===(t=r.complete)||void 0===t||t.call(r),e.complete()}),(function(t){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,t),e.error(t)}),(function(){var t,e;i&&(null===(t=r.unsubscribe)||void 0===t||t.call(r)),null===(e=r.finalize)||void 0===e||e.call(r)})))})):k}class be extends Error{constructor(t,e){super(t),this.type=e,this.type=e,Object.setPrototypeOf(this,new.target.prototype)}}function ye(t,e,n=Bt.ERROR,r=Wt.JS_LIB){e?null==e||e.write({level:n,layer:r,message:t}):e||n!==Bt.ERROR||console.error(t)}function Oe(t){return void 0!==t}!function(t){t.ERROR=\"error\",t.WARNING=\"warning\",t.INFO=\"info\"}(Bt||(Bt={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.NATIVE_CONSOLE=\"native-console\",t.JS_LIB=\"js-lib\"}(Wt||(Wt={})),function(t){t.SDK_USAGE_ERROR=\"sdk-usage-error\",t.FEATURE_NOT_SUPPORTED=\"feature-not-supported\",t.DEVICE_ERROR=\"device-error\",t.UNEXPECTED_ERROR=\"unexpected-error\",t.INIT_ERROR=\"init-error\"}(Kt||(Kt={}));class we{constructor(t,e){this.compare=e,this.remove=new Y,this.itemRemoved=this.remove,this.items=new j([]),this.itemList=this.items,this.itemAdded=t.pipe(Lt((t=>(this.addItem(t),t))),de()),this.itemAdded.subscribe({next:t=>{t.onDisconnect.pipe(ue(),Lt((()=>this.removeItem(t.id))),Jt(Oe)).subscribe((t=>this.remove.next(t)))},error:w}),this.itemRemoved.subscribe({error:w})}getValue(){return[...this.items.getValue()]}addItem(t){if(this.items.getValue().filter((e=>e.id.equals(t.id))).length>0)throw new be(\"This item has already been added.\",Kt.UNEXPECTED_ERROR);const e=this.items.getValue().concat([t]);e.sort(this.compare),this.items.next(e)}removeItem(t){const e=this.getValue(),n=e.findIndex((e=>e.id.equals(t)));if(-1===n)throw new be(\"Item not found and therefore cannot be removed.\",Kt.UNEXPECTED_ERROR);const r=e.splice(n,1)[0];return this.items.next(e),r}}class Ne{constructor(t,e){var n;this.sdkVersion=null!==(n=\"4.2.2\")?n:\"0.0.1-local\",this.consoleAppVersion=t.pipe(ue((t=>\"ready\"===t.event)),Lt((t=>t.version)),Dt(1e3),fe(1),ee((()=>Nt(null)))),this.chromeExtensionVersion=t.pipe(ue((t=>\"chrome-extension-ready\"===t.event)),Lt((t=>t.version)),Dt(1e3),fe(1),ee((()=>Nt(null)))),te(this.consoleAppVersion,this.chromeExtensionVersion).subscribe((t=>{const n=`sdkVersion: ${this.sdkVersion} | chromeHostVersion: ${t[0]}`;let r;r=\"undefined\"!=typeof process?`${n} | nodeVersion: ${process.version} | platform: ${process.platform}`:`${n} | chromeExtensionVersion: ${t[1]} | browserUserAgent: ${window.navigator.userAgent}`,ye(r,e,Bt.INFO)}))}}class Ce{constructor(t,e,n){this.deviceDetector=t,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Yt.set(this,void 0),this._transport=e,this._readyEvents=e.consoleAppEvent.pipe(Jt((t=>\"ready\"===t.event||\"chrome-extension-ready\"===t.event)),fe(2)),this._readyEvents.subscribe(),this._config=n,this.transportContext=e.context,h(this,Yt,new Ne(this._readyEvents,null==n?void 0:n.logger),\"f\")}getVersion(){return l(this,Yt,\"f\").sdkVersion}getChromehostVersion(){return At(l(this,Yt,\"f\").consoleAppVersion)}getChromeExtensionVersion(){return At(l(this,Yt,\"f\").chromeExtensionVersion)}}Yt=new WeakMap,function(t){t.NODE=\"node\",t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\"}(Vt||(Vt={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\",t.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK=\"chrome-extension-with-web-hid-fallback\"}(jt||(jt={}));const Te=\"Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!\";function Se(t,e=jt.CHROME_EXTENSION,r){return n(this,void 0,void 0,(function*(){if(e!==jt.WEB_HID){const n=yield import(\"./chrome-extension-transport-8660bed7.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),i=yield n.TransportChromeExtension.checkInstallation();if(i.ok)return ye(\"Using Chrome extension for transport.\",t,Bt.INFO),new n.TransportChromeExtension(t,r);if(e===jt.CHROME_EXTENSION)throw new be(i.message,Kt.INIT_ERROR);e===jt.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&ye(i.message,t,Bt.INFO)}return ye(\"Using WebHID for transport.\",t,Bt.INFO),function(t,e){return n(this,void 0,void 0,(function*(){const n=yield import(\"./init-handler-972643e3.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),r=yield import(\"./web-hid-transport-7efedbe2.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),i=n.initHandler(t);return new r.WebHidTransport(i,t,e)}))}(t,r)}))}class Ae{constructor(t,e){this.log=t.consoleAppEvent.pipe(Jt((t=>\"log\"===t.event)),Lt((t=>({message:t.message,level:t.level,layer:t.layer})))),this.log.subscribe((t=>ye(t.message,e,t.level,t.layer)))}}const Ie=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];class Re{constructor(t){this.config=t,this.messageShown=!1}validateOrganizationKey(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.partnerKey))return void this.logWarning(\"No partner key provided.\");this.validateCrc(this.config.partnerKey)||this.logWarning(\"Invalid partner key.\")}validateAppId(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.appId))return void this.logWarning(\"No app identifier provided.\");if(this.config.appId.length<3)return void this.logWarning(\"The appId should be minimum 3 characters.\",!1);if(this.config.appId.length>100)return void this.logWarning(\"The appId should be no longer than 100 characters.\",!1);/^[A-Za-z0-9\\-_]+$/.test(this.config.appId)||this.logWarning(\"The appId is invalid. Should consist of letters, numbers, underscores or dashes\",!1)}validateAppName(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.appName))return void this.logWarning(\"No app name provided. Will fallback to use appId as name.\",!1);if(!/^[\\x20-\\x7F]*$/.test(this.config.appName))return void this.logWarning(\"The app name can only contain ASCII characters\",!1);if(this.config.appName.length>100)return void this.logWarning(\"The app name should be no longer than 100 characters.\",!1);/^[A-Za-z0-9]+[A-Za-z0-9 &-]*$/g.test(this.config.appName)||this.logWarning(\"The appName is invalid. Name should consist of letters, numbers, spaces, ampersands and dashes. Name should not begin with spaces, ampersands or dashes.\",!1)}logWarning(t,e=!0){if(this.messageShown)return;this.messageShown=!0;e?console.warn(`\\n ${t}\\n \\n Add keys to the config object on initialization.\\n E.g. await init({\\n partnerKey: 'my-partner-key-from-developer-zone',\\n appId: 'my-self-chosen-app-id',\\n appName: 'My App Name'\\n });\\n\\n Please obtain a valid partner key from https://developer.jabra.com.\\n The key will ensure interoperability with other Jabra apps and services, and mitigate\\n some co-existence issues with other softphone applications.\\n\\n The package will continue to work without the keys, but we do not recommend production release\\n without it. Read more on the Developer Zone.\\n \\n `):console.warn(t)}validateCrc(t){const[e,...n]=t.split(\"-\"),r=function(t){let e,n,r=65535;for(n=0;n<t.length;n+=1){const i=t.charCodeAt(n);if(i>255)throw new RangeError;e=255&(i^r>>8),r=Ie[e]^r<<8}return 65535&(0^r)}(n.join(\"-\")).toString(16).padStart(4,\"0\");return e===r}}var De,He,Le,Pe,Ue,ke,xe,Ge;!function(t){t[t.MS_OC=0]=\"MS_OC\",t[t.CISCO=1]=\"CISCO\",t[t.AVAYA=2]=\"AVAYA\",t[t.SIEMENS=3]=\"SIEMENS\",t[t.ALCATEL=4]=\"ALCATEL\",t[t.IBM=5]=\"IBM\",t[t.AASTRA=6]=\"AASTRA\",t[t.SKYPE=7]=\"SKYPE\",t[t.GENERIC=8]=\"GENERIC\",t[t.NORTEL=9]=\"NORTEL\",t[t.JABRA=10]=\"JABRA\",t[t.NEC=11]=\"NEC\",t[t.SHORETEL=12]=\"SHORETEL\",t[t.OTHER=255]=\"OTHER\"}(De||(De={}));class Fe{constructor(t,e){this.gnpReadCommand=t,this.serialize=e,this.command=t.command,this.subCommand=t.subCommand}deserialize(t){return this.gnpReadCommand.deserialize(t)}}!function(t){t[t.GN_PROTOCOL=65280]=\"GN_PROTOCOL\"}(He||(He={})),function(t){t[t.DATA=1]=\"DATA\"}(Le||(Le={}));class Me{constructor(t,e,n,r,i,o=new Uint8Array,s=0){this.destination=t,this.source=e,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=s}}!function(t){t[t.PC_ADDR=0]=\"PC_ADDR\",t[t.BASE_ADDR=1]=\"BASE_ADDR\",t[t.HS1_ADDR=4]=\"HS1_ADDR\",t[t.HS_BT_USB_ADDR=8]=\"HS_BT_USB_ADDR\",t[t.HS_CRADLE_ADDR=10]=\"HS_CRADLE_ADDR\",t[t.CRADLE_ADDR=21]=\"CRADLE_ADDR\"}(Pe||(Pe={})),function(t){t[t.EVENT=0]=\"EVENT\",t[t.READ=1]=\"READ\",t[t.WRITE=2]=\"WRITE\",t[t.REPLY=3]=\"REPLY\"}(Ue||(Ue={})),function(t){t[t.IDENT=2]=\"IDENT\",t[t.DFU=7]=\"DFU\",t[t.DEVICE=13]=\"DEVICE\",t[t.FWU=15]=\"FWU\",t[t.STATUS=18]=\"STATUS\",t[t.CONFIG=19]=\"CONFIG\",t[t.NACK=254]=\"NACK\",t[t.ACK=255]=\"ACK\"}(ke||(ke={})),function(t){t[t.CONFIG_PREFERRED_SOFTPHONE=34]=\"CONFIG_PREFERRED_SOFTPHONE\",t[t.ID=1]=\"ID\",t[t.IDENT_GET_AVAILABLE_SOFTPHONES=16]=\"IDENT_GET_AVAILABLE_SOFTPHONES\",t[t.TYPE=2]=\"TYPE\",t[t.NAME=0]=\"NAME\",t[t.PID=17]=\"PID\",t[t.ATTACH_EVENT=1]=\"ATTACH_EVENT\",t[t.DETACH_EVENT=2]=\"DETACH_EVENT\"}(xe||(xe={})),function(t){t[t.NO_ERROR_CODE=0]=\"NO_ERROR_CODE\",t[t.BAD_STATE=243]=\"BAD_STATE\",t[t.TRANSMIT_FAILED=244]=\"TRANSMIT_FAILED\",t[t.ILLEGAL_ADDR=245]=\"ILLEGAL_ADDR\",t[t.UNKNOWN_CMD=246]=\"UNKNOWN_CMD\",t[t.FILE_NOT_FOUND=247]=\"FILE_NOT_FOUND\",t[t.INTERNAL_ERROR=248]=\"INTERNAL_ERROR\",t[t.REPLY_ERROR=249]=\"REPLY_ERROR\",t[t.ILLEGAL_PARAM=250]=\"ILLEGAL_PARAM\",t[t.OUT_OF_SEQUENCE=251]=\"OUT_OF_SEQUENCE\",t[t.NO_SPACE=252]=\"NO_SPACE\",t[t.ACCESS_DENIED=253]=\"ACCESS_DENIED\",t[t.NO_MORE_DATA=254]=\"NO_MORE_DATA\",t[t.UNKNOWN_SUB_CMD=255]=\"UNKNOWN_SUB_CMD\"}(Ge||(Ge={}));const Be={command:ke.DEVICE,subCommand:xe.ATTACH_EVENT,serialize:t=>Uint8Array.from([5,0])};function We(t){const e=t.payload,n=e[0],r=e.length-1;if(r!==n)throw new be(`Invalid response. Expected length: ${n}, actual: ${r}`,Kt.DEVICE_ERROR);const i=e.slice(1);return String.fromCharCode(...Array.from(i))}class Ke{constructor(){var t;this.command=ke.IDENT,this.subCommand=xe.IDENT_GET_AVAILABLE_SOFTPHONES,this.deserialize=(t=t=>t,e=>{const n=e.payload,r=n[0],i=n.length-1;if(i!==r)throw new be(`Invalid response. Expected length: ${r}, actual: ${i}`,Kt.DEVICE_ERROR);const o=[];return n.slice(1).forEach((e=>{o.push(t(e))})),o})}}const Ye={command:ke.IDENT,subCommand:xe.NAME,deserialize:We},Ve={command:ke.IDENT,subCommand:xe.PID,deserialize:function(t){const e=t instanceof Me?t.payload:t;return new DataView(e.buffer).getUint16(0,!0)}},je={command:ke.CONFIG,subCommand:xe.CONFIG_PREFERRED_SOFTPHONE,deserialize:t=>t.payload[0],serialize:t=>Uint8Array.of(t)},qe={command:ke.IDENT,subCommand:xe.TYPE,deserialize:t=>t.source},$e={command:ke.IDENT,subCommand:xe.ID,deserialize:We};\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function ze(t,e,n){return t(n={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&n.path)}},n.exports),n.exports}var Qe,Je,Xe=ze((function(t){\n/*!\n** Pure-UUID -- Pure JavaScript Based Universally Unique Identifier (UUID)\n** Copyright (c) 2004-2020 Dr. Ralf S. Engelschall <rse@engelschall.com>\n**\n** Permission is hereby granted, free of charge, to any person obtaining\n** a copy of this software and associated documentation files (the\n** \"Software\"), to deal in the Software without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Software, and to\n** permit persons to whom the Software is furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Software.\n**\n** THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\nt.exports=function(){var t=function(t,e,n,r,i,o){for(var s=function(t,e){var n=t.toString(16);return n.length<2&&(n=\"0\"+n),e&&(n=n.toUpperCase()),n},a=e;a<=n;a++)i[o++]=s(t[a],r);return i},e=function(t,e,n,r,i){for(var o=e;o<=n;o+=2)r[i++]=parseInt(t.substr(o,2),16)},n=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#\".split(\"\"),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],i=function(t,e){if(e%4!=0)throw new Error(\"z85_encode: invalid input length (multiple of 4 expected)\");for(var r=\"\",i=0,o=0;i<e;)if(o=256*o+t[i++],i%4==0){for(var s=52200625;s>=1;){var a=Math.floor(o/s)%85;r+=n[a],s/=85}o=0}return r},o=function(t,e){var n=t.length;if(n%5!=0)throw new Error(\"z85_decode: invalid input length (multiple of 5 expected)\");void 0===e&&(e=new Array(4*n/5));for(var i=0,o=0,s=0;i<n;){var a=t.charCodeAt(i++)-32;if(a<0||a>=r.length)break;if(s=85*s+r[a],i%5==0){for(var c=16777216;c>=1;)e[o++]=Math.trunc(s/c%256),c/=256;s=0}}return e},s=function(t,e){var n={ibits:8,obits:8,obigendian:!0};for(var r in e)void 0!==n[r]&&(n[r]=e[r]);for(var i,o,s,a=[],c=0,u=0,l=0,h=t.length;0===u&&(o=t.charCodeAt(c++)),i=o>>n.ibits-(u+8)&255,u=(u+8)%n.ibits,n.obigendian?0===l?s=i<<n.obits-8:s|=i<<n.obits-8-l:0===l?s=i:s|=i<<l,!(0==(l=(l+8)%n.obits)&&(a.push(s),c>=h)););return a},a=function(t,e){var n={ibits:32,ibigendian:!0};for(var r in e)void 0!==n[r]&&(n[r]=e[r]);var i=\"\",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var s=t.length,a=0;a<s;a++)for(var c=t[a]&o,u=0;u<n.ibits;u+=8)n.ibigendian?i+=String.fromCharCode(c>>n.ibits-8-u&255):i+=String.fromCharCode(c>>u&255);return i},c=8,u=8,l=256,h=function(t,e,n,r,i,o,s,a){return[a,s,o,i,r,n,e,t]},d=function(){return h(0,0,0,0,0,0,0,0)},p=function(t){return t.slice(0)},f=function(t){for(var e=d(),n=0;n<c;n++)e[n]=Math.floor(t%l),t/=l;return e},v=function(t){for(var e=0,n=c-1;n>=0;n--)e*=l,e+=t[n];return Math.floor(e)},E=function(t,e){for(var n=0,r=0;r<c;r++)n+=t[r]+e[r],t[r]=Math.floor(n%l),n=Math.floor(n/l);return n},g=function(t,e){for(var n=0,r=0;r<c;r++)n+=t[r]*e,t[r]=Math.floor(n%l),n=Math.floor(n/l);return n},_=function(t,e){var n,r,i,o=new Array(c+c);for(n=0;n<c+c;n++)o[n]=0;for(n=0;n<c;n++){for(i=0,r=0;r<c;r++)i+=t[n]*e[r]+o[n+r],o[n+r]=i%l,i/=l;for(;r<c+c-n;r++)i+=o[n+r],o[n+r]=i%l,i/=l}for(n=0;n<c;n++)t[n]=o[n];return o.slice(c,c)},m=function(t,e){for(var n=0;n<c;n++)t[n]&=e[n];return t},b=function(t,e){for(var n=0;n<c;n++)t[n]|=e[n];return t},y=function(t,e){var n=d();if(e%u!=0)throw new Error(\"ui64_rorn: only bit rotations supported with a multiple of digit bits\");for(var r=Math.floor(e/u),i=0;i<r;i++){for(var o=c-1-1;o>=0;o--)n[o+1]=n[o];for(n[0]=t[0],o=0;o<c-1;o++)t[o]=t[o+1];t[o]=0}return v(n)},O=function(t,e){if(e>c*u)throw new Error(\"ui64_ror: invalid number of bits to shift\");var n,r=new Array(c+c);for(n=0;n<c;n++)r[n+c]=t[n],r[n]=0;var i=Math.floor(e/u),o=e%u;for(n=i;n<c+c-1;n++)r[n-i]=(r[n]>>>o|r[n+1]<<u-o)&(1<<u)-1;for(r[c+c-1-i]=r[c+c-1]>>>o&(1<<u)-1,n=c+c-1-i+1;n<c+c;n++)r[n]=0;for(n=0;n<c;n++)t[n]=r[n+c];return r.slice(0,c)},w=function(t,e){if(e>c*u)throw new Error(\"ui64_rol: invalid number of bits to shift\");var n,r=new Array(c+c);for(n=0;n<c;n++)r[n+c]=0,r[n]=t[n];var i=Math.floor(e/u),o=e%u;for(n=c-1-i;n>0;n--)r[n+i]=(r[n]<<o|r[n-1]>>>u-o)&(1<<u)-1;for(r[0+i]=r[0]<<o&(1<<u)-1,n=0+i-1;n>=0;n--)r[n]=0;for(n=0;n<c;n++)t[n]=r[n];return r.slice(c,c)},N=function(t,e){for(var n=0;n<c;n++)t[n]^=e[n]},C=function(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n},T=function(t,e){return t<<e&4294967295|t>>>32-e&4294967295},S=function(t,e){function n(t,e,n,r){return t<20?e&n|~e&r:t<40?e^n^r:t<60?e&n|e&r|n&r:e^n^r}function r(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514}t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var i=Array(80),o=1732584193,s=-271733879,a=-1732584194,c=271733878,u=-1009589776,l=0;l<t.length;l+=16){for(var h=o,d=s,p=a,f=c,v=u,E=0;E<80;E++){i[E]=E<16?t[l+E]:T(i[E-3]^i[E-8]^i[E-14]^i[E-16],1);var g=C(C(T(o,5),n(E,s,a,c)),C(C(u,i[E]),r(E)));u=c,c=a,a=T(s,30),s=o,o=g}o=C(o,h),s=C(s,d),a=C(a,p),c=C(c,f),u=C(u,v)}return[o,s,a,c,u]},A=function(t){return a(S(s(t,{ibits:8,obits:32,obigendian:!0}),8*t.length),{ibits:32,ibigendian:!0})},I=function(t,e){function n(t,e,n,r,i,o){return C(T(C(C(e,t),C(r,o)),i),n)}function r(t,e,r,i,o,s,a){return n(e&r|~e&i,t,e,o,s,a)}function i(t,e,r,i,o,s,a){return n(e&i|r&~i,t,e,o,s,a)}function o(t,e,r,i,o,s,a){return n(e^r^i,t,e,o,s,a)}function s(t,e,r,i,o,s,a){return n(r^(e|~i),t,e,o,s,a)}t[e>>5]|=128<<e%32,t[14+(e+64>>>9<<4)]=e;for(var a=1732584193,c=-271733879,u=-1732584194,l=271733878,h=0;h<t.length;h+=16){var d=a,p=c,f=u,v=l;a=r(a,c,u,l,t[h+0],7,-680876936),l=r(l,a,c,u,t[h+1],12,-389564586),u=r(u,l,a,c,t[h+2],17,606105819),c=r(c,u,l,a,t[h+3],22,-1044525330),a=r(a,c,u,l,t[h+4],7,-176418897),l=r(l,a,c,u,t[h+5],12,1200080426),u=r(u,l,a,c,t[h+6],17,-1473231341),c=r(c,u,l,a,t[h+7],22,-45705983),a=r(a,c,u,l,t[h+8],7,1770035416),l=r(l,a,c,u,t[h+9],12,-1958414417),u=r(u,l,a,c,t[h+10],17,-42063),c=r(c,u,l,a,t[h+11],22,-1990404162),a=r(a,c,u,l,t[h+12],7,1804603682),l=r(l,a,c,u,t[h+13],12,-40341101),u=r(u,l,a,c,t[h+14],17,-1502002290),a=i(a,c=r(c,u,l,a,t[h+15],22,1236535329),u,l,t[h+1],5,-165796510),l=i(l,a,c,u,t[h+6],9,-1069501632),u=i(u,l,a,c,t[h+11],14,643717713),c=i(c,u,l,a,t[h+0],20,-373897302),a=i(a,c,u,l,t[h+5],5,-701558691),l=i(l,a,c,u,t[h+10],9,38016083),u=i(u,l,a,c,t[h+15],14,-660478335),c=i(c,u,l,a,t[h+4],20,-405537848),a=i(a,c,u,l,t[h+9],5,568446438),l=i(l,a,c,u,t[h+14],9,-1019803690),u=i(u,l,a,c,t[h+3],14,-187363961),c=i(c,u,l,a,t[h+8],20,1163531501),a=i(a,c,u,l,t[h+13],5,-1444681467),l=i(l,a,c,u,t[h+2],9,-51403784),u=i(u,l,a,c,t[h+7],14,1735328473),a=o(a,c=i(c,u,l,a,t[h+12],20,-1926607734),u,l,t[h+5],4,-378558),l=o(l,a,c,u,t[h+8],11,-2022574463),u=o(u,l,a,c,t[h+11],16,1839030562),c=o(c,u,l,a,t[h+14],23,-35309556),a=o(a,c,u,l,t[h+1],4,-1530992060),l=o(l,a,c,u,t[h+4],11,1272893353),u=o(u,l,a,c,t[h+7],16,-155497632),c=o(c,u,l,a,t[h+10],23,-1094730640),a=o(a,c,u,l,t[h+13],4,681279174),l=o(l,a,c,u,t[h+0],11,-358537222),u=o(u,l,a,c,t[h+3],16,-722521979),c=o(c,u,l,a,t[h+6],23,76029189),a=o(a,c,u,l,t[h+9],4,-640364487),l=o(l,a,c,u,t[h+12],11,-421815835),u=o(u,l,a,c,t[h+15],16,530742520),a=s(a,c=o(c,u,l,a,t[h+2],23,-995338651),u,l,t[h+0],6,-198630844),l=s(l,a,c,u,t[h+7],10,1126891415),u=s(u,l,a,c,t[h+14],15,-1416354905),c=s(c,u,l,a,t[h+5],21,-57434055),a=s(a,c,u,l,t[h+12],6,1700485571),l=s(l,a,c,u,t[h+3],10,-1894986606),u=s(u,l,a,c,t[h+10],15,-1051523),c=s(c,u,l,a,t[h+1],21,-2054922799),a=s(a,c,u,l,t[h+8],6,1873313359),l=s(l,a,c,u,t[h+15],10,-30611744),u=s(u,l,a,c,t[h+6],15,-1560198380),c=s(c,u,l,a,t[h+13],21,1309151649),a=s(a,c,u,l,t[h+4],6,-145523070),l=s(l,a,c,u,t[h+11],10,-1120210379),u=s(u,l,a,c,t[h+2],15,718787259),c=s(c,u,l,a,t[h+9],21,-343485551),a=C(a,d),c=C(c,p),u=C(u,f),l=C(l,v)}return[a,c,u,l]},R=function(t){return a(I(s(t,{ibits:8,obits:32,obigendian:!1}),8*t.length),{ibits:32,ibigendian:!1})},D=function(t){this.mul=h(88,81,244,45,76,149,127,45),this.inc=h(20,5,123,126,247,103,129,79),this.mask=h(0,0,0,0,255,255,255,255),this.state=p(this.inc),this.next(),m(this.state,this.mask),t=f(void 0!==t?t>>>0:4294967295*Math.random()>>>0),b(this.state,t),this.next()};D.prototype.next=function(){var t=p(this.state);_(this.state,this.mul),E(this.state,this.inc);var e=p(t);O(e,18),N(e,t),O(e,27);var n=p(t);O(n,59),m(e,this.mask);var r=v(n),i=p(e);return w(i,32-r),O(e,r),N(e,i),v(e)};var H=new D,L=function(t,e){for(var n=[],r=0;r<t;r++)n[r]=H.next()%e;return n},P=0,U=0,k=function(){if(1===arguments.length&&\"string\"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&\"number\"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error(\"UUID: constructor: invalid arguments\");for(var t=0;t<16;t++)this[t]=0}};return\"undefined\"!=typeof Uint8Array?k.prototype=new Uint8Array(16):Buffer?k.prototype=Buffer.alloc(16):k.prototype=new Array(16),k.prototype.constructor=k,k.prototype.make=function(t){var e,n=this;if(1===t){var r=(new Date).getTime();r!==P?U=0:U++,P=r;var i,o=f(r);g(o,1e4),E(o,h(1,178,29,210,19,129,64,0)),U>0&&E(o,f(U)),i=y(o,8),n[3]=255&i,i=y(o,8),n[2]=255&i,i=y(o,8),n[1]=255&i,i=y(o,8),n[0]=255&i,i=y(o,8),n[5]=255&i,i=y(o,8),n[4]=255&i,i=y(o,8),n[7]=255&i,i=y(o,8),n[6]=15&i;var s=L(2,255);n[8]=s[0],n[9]=s[1];var a=L(6,255);for(a[0]|=1,a[0]|=2,e=0;e<6;e++)n[10+e]=a[e]}else if(4===t){var c=L(16,255);for(e=0;e<16;e++)this[e]=c[e]}else{if(3!==t&&5!==t)throw new Error(\"UUID: make: invalid version\");var u=\"\",l=\"object\"==typeof arguments[1]&&arguments[1]instanceof k?arguments[1]:(new k).parse(arguments[1]);for(e=0;e<16;e++)u+=String.fromCharCode(l[e]);u+=arguments[2];var d=3===t?R(u):A(u);for(e=0;e<16;e++)n[e]=d.charCodeAt(e)}return n[6]&=15,n[6]|=t<<4,n[8]&=63,n[8]|=128,n},k.prototype.format=function(e){var n,r;return\"z85\"===e?n=i(this,16):\"b16\"===e?(r=Array(32),t(this,0,15,!0,r,0),n=r.join(\"\")):void 0!==e&&\"std\"!==e||(r=new Array(36),t(this,0,3,!1,r,0),r[8]=\"-\",t(this,4,5,!1,r,9),r[13]=\"-\",t(this,6,7,!1,r,14),r[18]=\"-\",t(this,8,9,!1,r,19),r[23]=\"-\",t(this,10,15,!1,r,24),n=r.join(\"\")),n},k.prototype.toString=function(t){return this.format(t)},k.prototype.toJSON=function(){return this.format(\"std\")},k.prototype.parse=function(t,n){if(\"string\"!=typeof t)throw new Error(\"UUID: parse: invalid argument (type string expected)\");if(\"z85\"===n)o(t,this);else if(\"b16\"===n)e(t,0,35,this,0);else if(void 0===n||\"std\"===n){var r={nil:\"00000000-0000-0000-0000-000000000000\",\"ns:DNS\":\"6ba7b810-9dad-11d1-80b4-00c04fd430c8\",\"ns:URL\":\"6ba7b811-9dad-11d1-80b4-00c04fd430c8\",\"ns:OID\":\"6ba7b812-9dad-11d1-80b4-00c04fd430c8\",\"ns:X500\":\"6ba7b814-9dad-11d1-80b4-00c04fd430c8\"};if(void 0!==r[t])t=r[t];else if(!t.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")');e(t,0,7,this,0),e(t,9,12,this,4),e(t,14,17,this,6),e(t,19,22,this,8),e(t,24,35,this,10)}return this},k.prototype.export=function(){for(var t=Array(16),e=0;e<16;e++)t[e]=this[e];return t},k.prototype.import=function(t){if(!(\"object\"==typeof t&&t instanceof Array))throw new Error(\"UUID: import: invalid argument (type Array expected)\");if(16!==t.length)throw new Error(\"UUID: import: invalid argument (Array of length 16 expected)\");for(var e=0;e<16;e++){if(\"number\"!=typeof t[e])throw new Error(\"UUID: import: invalid array element #\"+e+\" (type Number expected)\");if(!isFinite(t[e])||Math.floor(t[e])!==t[e])throw new Error(\"UUID: import: invalid array element #\"+e+\" (Number with integer value expected)\");if(!(t[e]>=0&&t[e]<=255))throw new Error(\"UUID: import: invalid array element #\"+e+\" (Number with integer value in range 0...255 expected)\");this[e]=t[e]}return this},k.prototype.compare=function(t){if(\"object\"!=typeof t)throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");if(!(t instanceof k))throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");for(var e=0;e<16;e++){if(this[e]<t[e])return-1;if(this[e]>t[e])return 1}return 0},k.prototype.equal=function(t){return 0===this.compare(t)},k.prototype.fold=function(t){if(void 0===t)throw new Error(\"UUID: fold: invalid argument (number of fold operations expected)\");if(t<1||t>4)throw new Error(\"UUID: fold: invalid argument (1-4 fold operations expected)\");for(var e=16/Math.pow(2,t),n=new Array(e),r=0;r<e;r++){for(var i=0,o=0;r+o<16;o+=e)i^=this[r+o];n[r]=i}return n},k.PCG=D,k}(),t.exports.default=t.exports}));class Ze{constructor(t){this.transport=t,this.gnpLockAcquired=t.consoleAppEvent.pipe(Jt((t=>\"response-gnp-lock\"===t.event)),Lt((t=>t.token)),fe(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(t){const e=new Xe(4).toString(),n={action:\"request-gnp-lock\",id:t,token:e},r=this.gnpLockAcquired.pipe(ue((t=>t===e)));return this.transport.writeAction(n),r}releaseGnpLock(t,e){const n={action:\"release-gnp-lock\",id:t,token:e};this.transport.writeAction(n)}}!function(t){t[t.INPUT=0]=\"INPUT\",t[t.OUTPUT=1]=\"OUTPUT\",t[t.FEATURE=2]=\"FEATURE\"}(Qe||(Qe={})),function(t){t.ABSOLUTE=\"absolute\",t.RELATIVE=\"relative\"}(Je||(Je={}));class tn{constructor(t){this.id=t}equals(t){return this.id===t.id}startsWith(t){return this.id.startsWith(t.id)}toString(){return this.id}}function en(t,e,n){const r=t.toString(16).padStart(4,\"0\"),i=e.toString(16).padStart(4,\"0\");return new tn(`${r}:${i}:${n}`)}class nn{constructor(t,e,n,r){this.id=t,this.usagePage=e,this.usage=n,this.value=r}isArray(){return Array.isArray(this.value)}static deserialize(t,e){return new nn(new tn(t),e.usagePage,e.usage,e.value)}}class rn{constructor(t,e,n){this.descriptor=e,this.transport=n,this.transportId=t.transportId,this.input=n.consoleAppEvent.pipe(Jt((t=>t.id===this.transportId)),rn.inputReportsFilter)}output(t,e,n){const r={action:\"hid-output\",id:this.transportId,usagePage:t,usage:e,value:n};this.transport.writeAction(r)}getFeatureReport(t,e){const n=new Xe(4).toString(),r={action:\"request-hid-feature\",id:this.transportId,token:n,usagePage:t,usage:e};return this.transport.writeAction(r),this.transport.consoleAppEvent.pipe(ue((t=>\"response-hid-feature\"===t.event&&t.token===n)),Lt((t=>t.value)))}setFeatureReport(t,e,n){const r={action:\"set-hid-feature\",id:this.transportId,usagePage:t,usage:e,value:n};this.transport.writeAction(r)}findDescriptor(t,e,n){return this.descriptor.find((r=>r.usagePage===t&&r.usage===e&&r.reportType===n))}}function on(t){return e=>e.pipe(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=it(t);return M((function(e,r){for(var i=t.length,a=new Array(i),c=t.map((function(){return!1})),u=!1,l=function(e){Et(t[e]).subscribe(B(r,(function(t){a[e]=t,u||c[e]||(c[e]=!0,(u=c.every(k))&&(c=null))}),w))},h=0;h<i;h++)l(h);e.subscribe(B(r,(function(t){if(u){var e=s([t],o(a));r.next(n?n.apply(void 0,s([],o(e))):e)}})))}))}(t),Jt((([t,e])=>e)),Lt((([t,e])=>t)))}rn.inputReportsFilter=t=>t.pipe(Jt((t=>\"hid-input\"===t.event)),Lt((t=>nn.deserialize(t.id,t))));class sn{static typeFromAttr(t){return t>>6}static packetLengthFromAttr(t){return t&this.lengthMask}static deserialize(t){const e=t[0],n=t[1],r=t[2],i=this.typeFromAttr(t[3]),o=t[4],s=t[5],a=this.packetLengthFromAttr(t[3]),c=t.slice(6,a);return new Me(e,n,i,o,s,c,r)}}sn.lengthMask=63;class an{constructor(){this.data=[]}hasHeader(){return this.data.length>=an.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new be(\"Unable to get expected packet length without a full header\",Kt.UNEXPECTED_ERROR);return sn.packetLengthFromAttr(this.data[3])}appendData(t){this.hasHeader()&&this.expectedPacketLength()>an.gnpPacketMaxLength&&(this.data=[]),this.data=this.data.concat(t)}hasFullPacket(){if(!this.hasHeader())return!1;const t=this.expectedPacketLength();return this.data.length>=t}getPacketAndReset(){if(!this.hasFullPacket())throw new be(\"Trying to get packet but buffer is not complete\",Kt.UNEXPECTED_ERROR);const t=sn.deserialize(Uint8Array.from(this.data));return this.data=[],t}}an.gnpPacketHeaderLength=6,an.gnpPacketMaxLength=63;class cn{static attrFromTypeAndPayloadLength(t,e){return(t<<6)+(e+6)}static serialize(t){const e=new Uint8Array(6);e[0]=t.destination,e[1]=t.source,e[2]=t.sequenceNumber,e[3]=this.attrFromTypeAndPayloadLength(t.type,t.payload.length),e[4]=t.command,e[5]=t.subCommand;const n=new Uint8Array(e.length+t.payload.length);return n.set(e),n.set(t.payload,e.length),n}}const un=()=>{};function ln(t){return me((e=>t()),(e=>t()),(()=>un))}const hn=()=>{return t=t=>t.command===ke.NACK,e=t=>{const e=t.subCommand in Ge?Ge[t.subCommand]:t.subCommand;return new be(`Got NACK response. Reason: ${e}`,Kt.DEVICE_ERROR)},n=>n.pipe(Lt((n=>t(n)?Ct(e(n)):Nt(n))),ge());var t,e},dn=t=>ue((e=>e.type===Ue.REPLY&&e.sequenceNumber===t.sequenceNumber&&e.destination===t.source&&e.source===t.destination));class pn{constructor(t,e,n,r,i=0){this.hidChannel=t,this.gnpLock=e,this.transportId=n,this.primaryAddress=r,this.lockQueue=[],this.packets=t.input.pipe(pn.inputFilter),this.events=this.packets.pipe(pn.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return t=>{const e=t.pipe(Jt((t=>t.usagePage===He.GN_PROTOCOL&&t.usage===Le.DATA&&t.isArray()))),n=new an;return e.pipe(Pt((t=>{const e=t.value;if(n.appendData(e),n.hasFullPacket()){return Nt(n.getPacketAndReset())}return qt})),de())}}static supportsGnpOverHid(t){return void 0!==t.findDescriptor(He.GN_PROTOCOL,Le.DATA,Qe.OUTPUT)}getNextSequenceNumber(){const t=this.nextSequenceNumber;return this.nextSequenceNumber=(this.nextSequenceNumber+1)%255,t}doWithGnpLockHeld(t){this.lockQueue.push(t),this.lockQueue.length>1||this.processLockQueue()}processLockQueue(){this.gnpLock.acquireGnpLock(this.transportId).subscribe((t=>{(0,this.lockQueue[0])((t=>{var e;const n=null===(e=this.hidChannel.findDescriptor(He.GN_PROTOCOL,Le.DATA,Qe.OUTPUT))||void 0===e?void 0:e.reportSize;if(!n)throw new be(\"Cannot send GNP packets to this device.\",Kt.DEVICE_ERROR);const r=cn.serialize(t);let i=0;do{const t=Math.min(r.length-i,n),e=r.subarray(i,i+t);i+=e.length,this.hidChannel.output(He.GN_PROTOCOL,Le.DATA,Array.from(e))}while(i<r.length)}),this.packets,(()=>{this.gnpLock.releaseGnpLock(this.transportId,t),this.lockQueue.splice(0,1),this.lockQueue.length>0&&this.processLockQueue()}))}))}sendEvent(t,e,n=this.primaryAddress){const r=new Me(n,Pe.PC_ADDR,Ue.EVENT,t.command,t.subCommand,t.serialize(e),0);this.doWithGnpLockHeld(((t,e,n)=>{t(r),n()}))}read(t,e=this.primaryAddress,n=2500){const r=new Fe(t,(t=>new Uint8Array));return this.readWithParams(r,null,e,n)}readWithParams(t,e,n=this.primaryAddress,r=2500){const i=new Me(n,Pe.PC_ADDR,Ue.READ,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new Y;return this.doWithGnpLockHeld(((e,n,s)=>{n.pipe(dn(i),hn(),ue((t=>t.command===i.command&&t.subCommand===i.subCommand)),Dt(r),ln(s),Lt((e=>t.deserialize(e)))).subscribe(o),e(i)})),o}write(t,e,n=this.primaryAddress,r=2500){const i=new Me(n,Pe.PC_ADDR,Ue.WRITE,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new Y;return this.doWithGnpLockHeld(((t,e,n)=>{e.pipe(dn(i),hn(),ue((t=>t.command===ke.ACK)),Dt(r),ln(n),Lt((()=>!0))).subscribe(o),t(i)})),o}}pn.eventsFilter=t=>t.pipe(Jt((t=>t.type===Ue.EVENT)));class fn{constructor(t,e){this.parentGnpChannel=t,this.primaryAddress=e,this.events=t.events.pipe(Jt((t=>t.source===this.primaryAddress)))}sendEvent(t,e,n){this.parentGnpChannel.sendEvent(t,e,this.primaryAddress)}read(t,e,n){return this.parentGnpChannel.read(t,this.primaryAddress,n)}readWithParams(t,e,n,r){return this.parentGnpChannel.readWithParams(t,e,this.primaryAddress,r)}write(t,e,n,r){return this.parentGnpChannel.write(t,e,this.primaryAddress,r)}}function vn(t,e,n,r){if(!pn.supportsGnpOverHid(t))return Ct((()=>new be(\"Device does not support GNP commands.\",Kt.DEVICE_ERROR)));const i=Nt(Pe.HS_BT_USB_ADDR,Pe.BASE_ADDR,Pe.CRADLE_ADDR,Pe.HS1_ADDR,Pe.HS_CRADLE_ADDR).pipe(Lt(((r,i)=>Gt((()=>{const o=new pn(t,new Ze(e),n,r,i);return o.read(qe,r,500).pipe(Lt((t=>o)),ee((()=>et)))})))),kt(),ie(1),ae((()=>new be(\"GNP probe failed.\",Kt.DEVICE_ERROR))));return Xt(r.pipe(Pt((t=>Ct((()=>new be(\"Device was suddenly disconnected.\",Kt.DEVICE_ERROR)))))),i).pipe(de())}function En(t,e){return new fn(t,e)}class gn{constructor(){this.primaryAddress=Pe.BASE_ADDR,this.events=qt}subscribeToEvent(t,e){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}sendEvent(t,e,n){throw new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)}read(t,e,n){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}readWithParams(t,e,n,r){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}write(t,e,n,r){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}}class _n{constructor(t){this.transportId=t,this.isChild=!1}equals(t){return this.isChild===t.isChild&&this.transportId===t.transportId}toString(){return this.transportId}}class mn{constructor(t,e){this.parentId=t,this.gnpAddress=e,this.isChild=!0,this.transportId=t.transportId}equals(t){if(this.isChild===t.isChild){const e=t;return this.parentId.equals(e.parentId)&&this.gnpAddress===e.gnpAddress}return!1}toString(){return`0x${t=this.gnpAddress,t.toString(16).padStart(2,\"0\").toUpperCase()}@${this.transportId}`;var t}}var bn,yn,On;!function(t){t.NO_TRACKING=\"no-tracking\",t.TRACK_ERRORS=\"track-errors\",t.TRACK_USAGE=\"track-usage\",t.TRACK_ALL=\"track-all\"}(bn||(bn={})),function(t){t[t.BLUETOOTH=0]=\"BLUETOOTH\",t[t.INDIRECT=1]=\"INDIRECT\",t[t.USB=2]=\"USB\"}(yn||(yn={})),function(t){t[t.BASE=0]=\"BASE\",t[t.HEADSET=1]=\"HEADSET\",t[t.DESKSTAND=2]=\"DESKSTAND\",t[t.OTHER=3]=\"OTHER\",t[t.DONGLE=4]=\"DONGLE\",t[t.PC=5]=\"PC\",t[t.EHS=6]=\"EHS\",t[t.USB=7]=\"USB\",t[t.SPEAKER_PHONE=8]=\"SPEAKER_PHONE\",t[t.INDICATOR=9]=\"INDICATOR\",t[t.MOBILE=10]=\"MOBILE\",t[t.NONE=11]=\"NONE\",t[t.LOCAL=12]=\"LOCAL\",t[t.DISPLAY=13]=\"DISPLAY\",t[t.HS_CRADLE=14]=\"HS_CRADLE\",t[t.HS_CRADLE2=15]=\"HS_CRADLE2\",t[t.MOBILE_IAP=16]=\"MOBILE_IAP\",t[t.CRADLE=17]=\"CRADLE\",t[t.VIDEO=18]=\"VIDEO\",t[t.NOT_GN=252]=\"NOT_GN\",t[t.ANY_GN=253]=\"ANY_GN\",t[t.NOT_INIT=254]=\"NOT_INIT\",t[t.ANY=255]=\"ANY\"}(On||(On={}));class wn{constructor(t,e,n,r,i,o,s,a,c,u,l){this.id=t,this.type=e,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=s,this.readWithParams=a,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:w})}static createConnection(t,e,n,r,i,o){const s=r.sendEvent.bind(r),a=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new wn(t,e,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const Nn=(t=3,e=500)=>n=>n.pipe(Pt(((n,r)=>{const i=r+1;return i>t?Ct((()=>n)):Ft(i*i*e)})));function Cn(t,e,n,r=1e3,i=3,o=100){return Gt((()=>t.read(e,n,r))).pipe(he(Nn(i,o)))}function Tn(t,e,n){const{deviceType:r,address:i}=n;return{transportId:e.transportId,vid:e.vid,pid:Cn(t,Ve,i),name:Cn(t,Ye,i),serialNumber:Cn(t,$e,i),capabilities:e.capabilities,deviceType:r,connectionGnpAddress:i}}class Sn{constructor(t,e,n=Tn,r=wn.createConnection,i=En){this.parentConnection=e,this.connectionCreator=r,this.createChildGnpChannel=i;const o=e.events.pipe(Jt((t=>t.command===ke.DEVICE&&t.subCommand===xe.ATTACH_EVENT)),Lt((t=>({deviceType:t.payload[0],address:t.payload[1]})))).pipe(Lt(n.bind(null,e,t)));this.connectionEvents=o.pipe(Lt((t=>{const n=Xt(e.events.pipe(ue((e=>e.command===ke.DEVICE&&e.subCommand===xe.DETACH_EVENT&&e.payload[1]===t.connectionGnpAddress)),Lt(w)),e.onDisconnect);return{attach:t,detach:n}})),Pt((t=>te(Nt(t.attach),this.createConnection(t.attach,t.detach)))),Lt((([t,e])=>({event:t,connection:e}))),_e(e.onDisconnect)),e.sendEvent(Be,[])}createConnection(t,e){const n=t.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new mn(this.parentConnection.id,n);return Nt(this.connectionCreator(i,yn.INDIRECT,this.parentConnection.hidChannel,r,e,this.parentConnection.id))}}const An={command:ke.IDENT,subCommand:xe.TYPE,deserialize:t=>{const{payload:e}=t,n=e[0];if(n<1||n>=e.length)throw new be(\"Cannot get device type.\",Kt.DEVICE_ERROR);return e[1]}};function In(t,e,n,r=Bt.ERROR,i=Wt.JS_LIB){const o=`${t} ${function(t){if(t instanceof be){const e=t;return`JabraError: ${e.message} (type: ${e.type})`}if(t instanceof Error){const e=t;return`Error: ${e.message} (name: ${e.name})`}return`Unknown error: ${t}`}(e)}`;ye(o,n,r,i)}function Rn(t){return new Sn(t.event,t.connection).connectionEvents}class Dn{constructor(t,e,n=((t,e,n)=>new rn(t,e,n)),r=vn,i=Rn,o=wn.createConnection){this.transport=t,this.logger=e,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const s=this.transport.consoleAppEvent.pipe(Jt((t=>\"attach\"===t.event)),Lt(Dn.createAttachEvent),ee(((t,e)=>(In(\"\",t,this.logger),e)))).pipe(Lt((t=>{const e=this.transport.consoleAppEvent.pipe(Jt((t=>\"detach\"===t.event)),ue((e=>Dn.getTransportId(e)===t.transportId)),Lt(w),fe());return e.subscribe(),{attach:t,detach:e}})),Pt((t=>this.createConnection(t.attach,t.detach))),de()),a=s.pipe(Jt((t=>t.event.deviceType===On.DONGLE)),Jt((t=>pn.supportsGnpOverHid(t.connection.hidChannel))),Pt((t=>i(t))));this.connectionEvents=Mt(s,a).pipe(de())}static convertToReportType(t){switch(t){case\"input\":return Qe.INPUT;case\"output\":return Qe.OUTPUT;case\"feature\":return Qe.FEATURE;default:throw new be(`${t} is not a valid ReportType`,Kt.UNEXPECTED_ERROR)}}static convertToValueType(t){switch(t){case\"absolute\":return Je.ABSOLUTE;case\"relative\":return Je.RELATIVE;default:throw new be(`${t} Not a valid ValueType`,Kt.UNEXPECTED_ERROR)}}static createDescriptor(t){return t.map((t=>({reportType:Dn.convertToReportType(t.reportType),usagePage:t.usagePage,usage:t.usage,valueType:Dn.convertToValueType(t.valueType),reportSize:t.reportSize})))}static getMandatoryField(t,e){const n=t[e];if(void 0===n)throw new be(`JSON event lacks required field \"${e}: ${JSON.stringify(t)}`,Kt.UNEXPECTED_ERROR);return n}static getTransportId(t){return Dn.getMandatoryField(t,\"id\")}static createAttachEvent(t){return{transportId:Dn.getTransportId(t),vid:Dn.getMandatoryField(t,\"vid\"),pid:Nt(Dn.getMandatoryField(t,\"pid\")),name:Nt(Dn.getMandatoryField(t,\"name\")),serialNumber:Nt(Dn.getMandatoryField(t,\"serialNumber\")),capabilities:Dn.createDescriptor(Dn.getMandatoryField(t,\"descriptor\"))}}createConnection(t,e,n=3,r=100){const{capabilities:i,transportId:o}=t,s=new _n(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,e).pipe(ee(((t,e)=>(t.type&&t.type===Kt.DEVICE_ERROR&&this.transport.context===Vt.WEB_HID&&ye(\"Child devices are not yet supported when using WebHID.\",this.logger,Bt.WARNING,Wt.JS_LIB),Nt(new gn)))),de()),u=c.pipe(Pt((t=>t.read(An))),he(Nn(n,r)),ee((t=>Nt(On.ANY))));return te(c,u).pipe(_e(e),Lt((([n,r])=>({event:Object.assign(Object.assign({},t),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,yn.USB,a,n,e)}))))}}var Hn,Ln,Pn,Un,kn;class xn{constructor(t,e,n,r,i,o){this.vendorId=t,this.productId=e,this.serialNumber=n,this.name=r,this.type=i,Ln.set(this,void 0),h(this,Ln,new we(o,l(xn,Hn,\"m\",Un)),\"f\"),this.connectionAdded=l(this,Ln,\"f\").itemAdded,this.connectionRemoved=l(this,Ln,\"f\").itemRemoved,this.connectionList=l(this,Ln,\"f\").itemList,this.onDisconnect=l(this,Ln,\"f\").itemList.pipe(ve(1),ue((t=>0===t.length)),Lt(w),de())}get id(){return en(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return l(this,Ln,\"f\").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,\"0\")}:${this.productId.toString(16).padStart(4,\"0\")}`}}Hn=xn,Ln=new WeakMap,Un=function(t,e){return l(xn,Hn,\"f\",Pn).indexOf(t.type)-l(xn,Hn,\"f\",Pn).indexOf(e.type)},Pn={value:[yn.USB,yn.INDIRECT,yn.BLUETOOTH]};class Gn{constructor(t){this.deviceObservables=new we(t)}static exceptionToUndefined(t){try{return t()}catch(t){if(t instanceof be)return;throw t}}connectionExists(t){return void 0!==Gn.exceptionToUndefined((()=>this.findConnectionById(t)))}findConnectionById(t){for(const e of this.deviceObservables.getValue())for(const n of e.currentConnections)if(n.id.equals(t))return n;throw new be(`Could not find connection with id ${t.toString()}`,Kt.UNEXPECTED_ERROR)}findDeviceByDeviceId(t){return this.deviceObservables.getValue().find((e=>e.id.startsWith(t)||t.startsWith(e.id)))}}class Fn{constructor(t,e){this.logger=e;const[n,r]=(i=t.pipe(Jt((t=>!this.deviceCollection.connectionExists(t.connection.id))),ne((t=>this.force(t)))),[Jt(o=({event:t,pid:e,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(en(t.event.vid,e,n)),s)(Et(i)),Jt(Qt(o,s))(Et(i))]);var i,o,s;const a=n.pipe(Lt((t=>Fn.createDevice(t,r))));this.deviceCollection=new Gn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(t){const{name:e,pid:n,serialNumber:r}=t.event,i=t.connection.onDisconnect.pipe((a=Ct((()=>new Error(`Connection with ID ${t.connection.id} disconnected`))),d(c)?ne((function(){return a}),c):ne((function(){return a}))));var a,c;return te(e,n,r).pipe(Lt((([e,n,r])=>({event:t,name:e,pid:n,serialNumber:r}))),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.length?M((function(e,n){Zt(s([e],o(t)))(n)})):k}(i),ee((t=>(ye(`Failed to retrieve child connection information. Error: ${t}`,this.logger,Bt.WARNING,Wt.JS_LIB),et))))}static createDevice(t,e){const{event:n,pid:r,name:i,serialNumber:o}=t,{vid:s,deviceType:a}=n.event,c=e.pipe(Jt((e=>Fn.isSameDevice(t,e))),Lt((t=>t.event.connection))),u=xt(Nt(n.connection),c);return new xn(s,r,o,i,a,u)}static isSameDevice(t,e){const n=en(t.event.event.vid,t.pid,t.serialNumber),r=en(e.event.event.vid,e.pid,e.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(t,e){const n=new Dn(t,e);return new Fn(n.connectionEvents)}}function Mn(t){var e,r,i;return n(this,void 0,void 0,(function*(){const n=null==t?void 0:t.logger;ye(\"Jabra SDK JS starting up...\",n,Bt.INFO);const o=new Re(t);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(r=null===(e=null==t?void 0:t.internal)||void 0===e?void 0:e.testDeviceTransport)&&void 0!==r?r:yield Se(n,null==t?void 0:t.transport,null===(i=null==t?void 0:t.internal)||void 0===i?void 0:i.recorder);new Ae(s,n);const a=Fn.create(s,n),c=new Ce(a,s,t);return yield s.connect(),c}))}class Bn{constructor(t,e,n,r){this.deviceId=t,this.usagePage=e,this.usage=n,this.value=r}}class Wn{constructor(t,e){this.token=t,this.value=e}}!function(t){t.UsageReport=class{constructor(t,e){this.usage=t,this.value=e}}}(kn||(kn={}));var Kn,Yn,Vn,jn,qn,$n,zn,Qn,Jn,Xn,Zn=ze((function(t){!function(e){var n=function(t,e,n){if(!(t instanceof ArrayBuffer||\"undefined\"!=typeof Buffer&&t instanceof Buffer))throw new Error(\"Must specify a valid ArrayBuffer or Buffer.\");e=e||0,n=n||t.byteLength||t.length,this._view=new Uint8Array(t.buffer||t,e,n),this.bigEndian=!1};n._scratch=new DataView(new ArrayBuffer(8)),Object.defineProperty(n.prototype,\"buffer\",{get:function(){return\"undefined\"!=typeof Buffer?Buffer.from(this._view.buffer):this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(n.prototype,\"byteLength\",{get:function(){return this._view.length},enumerable:!0,configurable:!1}),n.prototype._setBit=function(t,e){e?this._view[t>>3]|=1<<(7&t):this._view[t>>3]&=~(1<<(7&t))},n.prototype.getBits=function(t,e,n){var r=8*this._view.length-t;if(e>r)throw new Error(\"Cannot get \"+e+\" bit(s) from offset \"+t+\", \"+r+\" available\");for(var i=0,o=0;o<e;){var s=e-o,a=7&t,c=this._view[t>>3],u=Math.min(s,8-a);this.bigEndian?(i<<=u,i|=c>>8-u-a&~(255<<u)):i|=(c>>a&~(255<<u))<<o,t+=u,o+=u}return n?(32!==e&&i&1<<e-1&&(i|=-1^(1<<e)-1),i):i>>>0},n.prototype.setBits=function(t,e,n){var r=8*this._view.length-t;if(n>r)throw new Error(\"Cannot set \"+n+\" bit(s) from offset \"+t+\", \"+r+\" available\");for(var i=0;i<n;){var o,s,a,c=n-i,u=7&t,l=t>>3,h=Math.min(c,8-u);if(this.bigEndian){s=e>>n-i-h&(o=~(-1<<h));var d=8-u-h;a=~(o<<d),this._view[l]=this._view[l]&a|s<<d}else s=e&(o=~(255<<h)),e>>=h,a=~(o<<u),this._view[l]=this._view[l]&a|s<<u;t+=h,i+=h}},n.prototype.getBoolean=function(t){return 0!==this.getBits(t,1,!1)},n.prototype.getInt8=function(t){return this.getBits(t,8,!0)},n.prototype.getUint8=function(t){return this.getBits(t,8,!1)},n.prototype.getInt16=function(t){return this.getBits(t,16,!0)},n.prototype.getUint16=function(t){return this.getBits(t,16,!1)},n.prototype.getInt32=function(t){return this.getBits(t,32,!0)},n.prototype.getUint32=function(t){return this.getBits(t,32,!1)},n.prototype.getFloat32=function(t){return n._scratch.setUint32(0,this.getUint32(t)),n._scratch.getFloat32(0)},n.prototype.getFloat64=function(t){return n._scratch.setUint32(0,this.getUint32(t)),n._scratch.setUint32(4,this.getUint32(t+32)),n._scratch.getFloat64(0)},n.prototype.setBoolean=function(t,e){this.setBits(t,e?1:0,1)},n.prototype.setInt8=n.prototype.setUint8=function(t,e){this.setBits(t,e,8)},n.prototype.setInt16=n.prototype.setUint16=function(t,e){this.setBits(t,e,16)},n.prototype.setInt32=n.prototype.setUint32=function(t,e){this.setBits(t,e,32)},n.prototype.setFloat32=function(t,e){n._scratch.setFloat32(0,e),this.setBits(t,n._scratch.getUint32(0),32)},n.prototype.setFloat64=function(t,e){n._scratch.setFloat64(0,e),this.setBits(t,n._scratch.getUint32(0),32),this.setBits(t+32,n._scratch.getUint32(4),32)},n.prototype.getArrayBuffer=function(t,e){for(var n=new Uint8Array(e),r=0;r<e;r++)n[r]=this.getUint8(t+8*r);return n};var r=function(t,e){return function(){if(this._index+e>this._length)throw new Error(\"Trying to read past the end of the stream\");var n=this._view[t](this._index);return this._index+=e,n}},i=function(t,e){return function(n){this._view[t](this._index,n),this._index+=e}};function o(t,e,n){if(0===e)return\"\";var r=0,i=[],o=!0,s=!!e;for(e||(e=Math.floor((t._length-t._index)/8));r<e;){var a=t.readUint8();if(0===a&&(o=!1,!s))break;o&&i.push(a),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(t){return c}}var s=function(t,e,r){var i=t instanceof ArrayBuffer||\"undefined\"!=typeof Buffer&&t instanceof Buffer;if(!(t instanceof n||i))throw new Error(\"Must specify a valid BitView, ArrayBuffer or Buffer\");this._view=i?new n(t,e,r):t,this._index=0,this._startIndex=0,this._length=8*this._view.byteLength};Object.defineProperty(s.prototype,\"index\",{get:function(){return this._index-this._startIndex},set:function(t){this._index=t+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"length\",{get:function(){return this._length-this._startIndex},set:function(t){this._length=t+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"bitsLeft\",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"byteIndex\",{get:function(){return Math.ceil(this._index/8)},set:function(t){this._index=8*t},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"buffer\",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,\"view\",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,\"bigEndian\",{get:function(){return this._view.bigEndian},set:function(t){this._view.bigEndian=t},enumerable:!0,configurable:!1}),s.prototype.readBits=function(t,e){var n=this._view.getBits(this._index,t,e);return this._index+=t,n},s.prototype.writeBits=function(t,e){this._view.setBits(this._index,t,e),this._index+=e},s.prototype.readBoolean=r(\"getBoolean\",1),s.prototype.readInt8=r(\"getInt8\",8),s.prototype.readUint8=r(\"getUint8\",8),s.prototype.readInt16=r(\"getInt16\",16),s.prototype.readUint16=r(\"getUint16\",16),s.prototype.readInt32=r(\"getInt32\",32),s.prototype.readUint32=r(\"getUint32\",32),s.prototype.readFloat32=r(\"getFloat32\",32),s.prototype.readFloat64=r(\"getFloat64\",64),s.prototype.writeBoolean=i(\"setBoolean\",1),s.prototype.writeInt8=i(\"setInt8\",8),s.prototype.writeUint8=i(\"setUint8\",8),s.prototype.writeInt16=i(\"setInt16\",16),s.prototype.writeUint16=i(\"setUint16\",16),s.prototype.writeInt32=i(\"setInt32\",32),s.prototype.writeUint32=i(\"setUint32\",32),s.prototype.writeFloat32=i(\"setFloat32\",32),s.prototype.writeFloat64=i(\"setFloat64\",64),s.prototype.readASCIIString=function(t){return function(t,e){return o(t,e,!1)}(this,t)},s.prototype.readUTF8String=function(t){return function(t,e){return o(t,e,!0)}(this,t)},s.prototype.writeASCIIString=function(t,e){!function(t,e,n){for(var r=n||e.length+1,i=0;i<r;i++)t.writeUint8(i<e.length?e.charCodeAt(i):0)}(this,t,e)},s.prototype.writeUTF8String=function(t,e){!function(t,e,n){for(var r=function(t){var e,n,r=[];for(e=0;e<t.length;e++)(n=t.charCodeAt(e))<=127?r.push(n):n<=2047?(r.push(n>>6|192),r.push(63&n|128)):n<=65535?(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)):(r.push(n>>18|240),r.push(n>>12&63|128),r.push(n>>6&63|128),r.push(63&n|128));return r}(e),i=n||r.length+1,o=0;o<i;o++)t.writeUint8(o<r.length?r[o]:0)}(this,t,e)},s.prototype.readBitStream=function(t){var e=new s(this._view);return e._startIndex=this._index,e._index=this._index,e.length=t,this._index+=t,e},s.prototype.writeBitStream=function(t,e){var n;for(e||(e=t.bitsLeft);e>0;)n=Math.min(e,32),this.writeBits(t.readBits(n),n),e-=n},s.prototype.readArrayBuffer=function(t){var e=this._view.getArrayBuffer(this._index,t);return this._index+=8*t,e},s.prototype.writeArrayBuffer=function(t,e){this.writeBitStream(new s(t),8*e)},t.exports&&(t.exports={BitView:n,BitStream:s})}()}));function tr(){return n(this,void 0,void 0,(function*(){const{hid:t}=window.navigator;if(!t)throw new be(\"WebHID not supported\",Kt.INIT_ERROR);const e=yield t.requestDevice({filters:[{vendorId:Kn.VENDOR_ID}]});return new BroadcastChannel(Kn.PAIRING_CHANNEL).postMessage(null),e}))}!function(t){t[t.VENDOR_ID=2830]=\"VENDOR_ID\",t.PAIRING_CHANNEL=\"jabra-webhid-pairing-channel\"}(Kn||(Kn={})),function(t){t[t.HOOK_SWITCH=32]=\"HOOK_SWITCH\",t[t.GN_PSEUDO_HOOK_SWITCH=65531]=\"GN_PSEUDO_HOOK_SWITCH\",t[t.FLASH=33]=\"FLASH\",t[t.ALT_HOLD=35]=\"ALT_HOLD\",t[t.REDIAL=36]=\"REDIAL\",t[t.ONLINE=42]=\"ONLINE\",t[t.SPEAKER_PHONE=43]=\"SPEAKER_PHONE\",t[t.PHONE_MUTE=47]=\"PHONE_MUTE\",t[t.SEND=49]=\"SEND\",t[t.SPEED_DIAL=80]=\"SPEED_DIAL\",t[t.VOICE_MAIL=112]=\"VOICE_MAIL\",t[t.ANSWER_ON_OFF=116]=\"ANSWER_ON_OFF\",t[t.LINE_BUSY=151]=\"LINE_BUSY\",t[t.RINGER=158]=\"RINGER\",t[t.PHONE_KEY_0=176]=\"PHONE_KEY_0\",t[t.PHONE_KEY_1=177]=\"PHONE_KEY_1\",t[t.PHONE_KEY_2=178]=\"PHONE_KEY_2\",t[t.PHONE_KEY_3=179]=\"PHONE_KEY_3\",t[t.PHONE_KEY_4=180]=\"PHONE_KEY_4\",t[t.PHONE_KEY_5=181]=\"PHONE_KEY_5\",t[t.PHONE_KEY_6=182]=\"PHONE_KEY_6\",t[t.PHONE_KEY_7=183]=\"PHONE_KEY_7\",t[t.PHONE_KEY_8=184]=\"PHONE_KEY_8\",t[t.PHONE_KEY_9=185]=\"PHONE_KEY_9\",t[t.PHONE_KEY_STAR=186]=\"PHONE_KEY_STAR\",t[t.PHONE_KEY_POUND=187]=\"PHONE_KEY_POUND\",t[t.ALT_VOLUME_UP=233]=\"ALT_VOLUME_UP\",t[t.ALT_VOLUME_DOWN=234]=\"ALT_VOLUME_DOWN\",t[t.REJECT_CALL=65533]=\"REJECT_CALL\"}(Yn||(Yn={}));class er{constructor(t,e,n){this.type=t,this.value=e,this.valueType=n}toString(){return void 0===Yn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Yn[this.type]}, value: ${this.value}, valueType: ${this.valueType}`}}!function(t){t[t.BUTTON=9]=\"BUTTON\",t[t.CONSUMER=12]=\"CONSUMER\",t[t.LED=8]=\"LED\",t[t.TELEPHONY=11]=\"TELEPHONY\",t[t.GN_CONSUMER=65312]=\"GN_CONSUMER\",t[t.GN_EXT_BUTTONS=65360]=\"GN_EXT_BUTTONS\",t[t.GN_LED=65344]=\"GN_LED\",t[t.GN_MISC=65376]=\"GN_MISC\",t[t.GN_TELEPHONY=65328]=\"GN_TELEPHONY\"}(Vn||(Vn={})),function(t){t[t.MUTE=9]=\"MUTE\",t[t.OFF_HOOK=23]=\"OFF_HOOK\",t[t.RING=24]=\"RING\",t[t.MESSAGE_WAIT=25]=\"MESSAGE_WAIT\",t[t.HOLD=32]=\"HOLD\",t[t.MIC_MUTE=33]=\"MIC_MUTE\",t[t.ONLINE=42]=\"ONLINE\",t[t.HID_OFFLINE=43]=\"HID_OFFLINE\"}(jn||(jn={})),function(t){t[t.HOOK_SWITCH=32]=\"HOOK_SWITCH\",t[t.FLASH=33]=\"FLASH\",t[t.HOLD=35]=\"HOLD\",t[t.REDIAL=36]=\"REDIAL\",t[t.ONLINE=42]=\"ONLINE\",t[t.SPEAKER_PHONE=43]=\"SPEAKER_PHONE\",t[t.MUTE=47]=\"MUTE\",t[t.HID_SEND=49]=\"HID_SEND\",t[t.SPEED_DIAL=80]=\"SPEED_DIAL\",t[t.VOICE_MAIL=112]=\"VOICE_MAIL\",t[t.ANSWER_ON_OFF=116]=\"ANSWER_ON_OFF\",t[t.LINE_BUSY=151]=\"LINE_BUSY\",t[t.RINGER=158]=\"RINGER\",t[t.PHONE_KEY_0=176]=\"PHONE_KEY_0\",t[t.PHONE_KEY_1=177]=\"PHONE_KEY_1\",t[t.PHONE_KEY_2=178]=\"PHONE_KEY_2\",t[t.PHONE_KEY_3=179]=\"PHONE_KEY_3\",t[t.PHONE_KEY_4=180]=\"PHONE_KEY_4\",t[t.PHONE_KEY_5=181]=\"PHONE_KEY_5\",t[t.PHONE_KEY_6=182]=\"PHONE_KEY_6\",t[t.PHONE_KEY_7=183]=\"PHONE_KEY_7\",t[t.PHONE_KEY_8=184]=\"PHONE_KEY_8\",t[t.PHONE_KEY_9=185]=\"PHONE_KEY_9\",t[t.PHONE_KEY_STAR=186]=\"PHONE_KEY_STAR\",t[t.PHONE_KEY_POUND=187]=\"PHONE_KEY_POUND\",t[t.HID_ALT_VOLUME_UP=233]=\"HID_ALT_VOLUME_UP\",t[t.HID_ALT_VOLUME_DOWN=234]=\"HID_ALT_VOLUME_DOWN\",t[t.GN_PSEUDO_HOOK_SWITCH=65531]=\"GN_PSEUDO_HOOK_SWITCH\",t[t.GN_OUT_OF_RANGE=65532]=\"GN_OUT_OF_RANGE\",t[t.GN_REJECT_CALL=65533]=\"GN_REJECT_CALL\",t[t.GN_TELEPHONY_CONT_SET=65535]=\"GN_TELEPHONY_CONT_SET\"}(qn||(qn={}));class nr{constructor(t,e,n,r,i){this.hidChannel=t,this.onDisconnect=e,this.isSoftphoneInFocus=n,this.lockHeld=r,this.logger=i,this.cachedSignals=new Map}setup(){const t=this.filter().pipe(de());return t.subscribe(),t}filter(){const t=this.hidChannel.input.pipe(Jt((t=>t.usagePage===Vn.GN_TELEPHONY&&!t.isArray())),Pt((t=>{const e=this.hidChannel.findDescriptor(t.usagePage,t.usage,Qe.INPUT);return(null==e?void 0:e.valueType)?Nt(Object.assign(Object.assign({},t),{valueType:e.valueType})):(In(\"\",new be(`Unable to find value-type in descriptor for UsagePage: ${t.usagePage} and Usage: ${t.usage}`,Kt.FEATURE_NOT_SUPPORTED),this.logger),et)})),Jt((t=>{if(t.valueType===Je.RELATIVE)return Boolean(t.value);return this.cachedSignals.get(t.usage)!==t.value})),me((t=>{this.cachedSignals.set(t.usage,t.value)})),_e(this.onDisconnect),de()),e=[Yn.HOOK_SWITCH,Yn.REDIAL],n=t.pipe(on(this.isSoftphoneInFocus),Jt((t=>e.includes(t.usage)&&!this.lockHeld.getValue())));return Mt(t.pipe(Jt((t=>this.lockHeld.getValue()))),n).pipe(Lt((t=>new er(t.usage,0!==t.value,t.valueType))),ee((t=>(ye(t.message,this.logger),et))))}}class rr{constructor(t,e,n,r,i,o){this.device=t,this.onDisconnect=n,$n.set(this,void 0),zn.set(this,new j(!1)),Qn.set(this,void 0),Jn.set(this,!1),this.deviceSignals=new Y,h(this,$n,r,\"f\"),l(this,$n,\"f\").lockHeld.subscribe(l(this,zn,\"f\")),h(this,Qn,e,\"f\"),this.onDisconnect.pipe(ue(),Lt((()=>!0))).subscribe((t=>{h(this,Jn,t,\"f\")}));const s=new nr(l(this,Qn,\"f\"),this.onDisconnect,i,l(this,zn,\"f\"),o);this.deviceSignals=s.setup()}checkCallLockHeld(t){if(!l(this,zn,\"f\").getValue())throw new be(t,Kt.SDK_USAGE_ERROR)}checkCallLockNotHeld(t){if(l(this,zn,\"f\").getValue())throw new be(t,Kt.SDK_USAGE_ERROR)}checkHasDisconnected(){if(l(this,Jn,\"f\"))throw new be(\"CallControl cannot be performed as the connection has disconnected.\",Kt.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld(\"Trying to take the call lock, but it is already held!\"),St(l(this,$n,\"f\").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld(\"Trying to release the call lock, but it is not held!\"),l(this,$n,\"f\").releaseCallLock()}offHook(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"Calls can only be started and stopped when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.OFF_HOOK,Qe.OUTPUT);if(!e)throw new be(`Device ${this.device.name} does not support any offHook functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}ring(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The ringer state can only be modified when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.RING,Qe.OUTPUT),n=l(this,Qn,\"f\").findDescriptor(Vn.GN_TELEPHONY,qn.RINGER,Qe.OUTPUT);if(!e&&!n)throw new be(`Device ${this.device.name} does not support any ring functionality.`,Kt.FEATURE_NOT_SUPPORTED);if(n){const e=t?1:0;l(this,Qn,\"f\").output(n.usagePage,n.usage,e)}if(e){const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}}mute(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The mute state can only be modified when the call lock is held.\");let e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.MIC_MUTE,Qe.OUTPUT);if(e||(e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.MUTE,Qe.OUTPUT)),!e)throw new be(`Device ${this.device.name} does not support any mute functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}hold(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The hold state can only be modified when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.HOLD,Qe.OUTPUT);if(!e)throw new be(`Device ${this.device.name} does not support hold functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}}$n=new WeakMap,zn=new WeakMap,Qn=new WeakMap,Jn=new WeakMap,function(t){t[t.STD_TELEPHONY=0]=\"STD_TELEPHONY\",t[t.GN_TELEPHONY=1]=\"GN_TELEPHONY\"}(Xn||(Xn={}));const ir={[De.SKYPE]:Xn.GN_TELEPHONY,[De.CISCO]:Xn.GN_TELEPHONY,[De.AVAYA]:Xn.GN_TELEPHONY,[De.SIEMENS]:Xn.GN_TELEPHONY,[De.IBM]:Xn.GN_TELEPHONY,[De.AASTRA]:Xn.GN_TELEPHONY,[De.JABRA]:Xn.GN_TELEPHONY,[De.NEC]:Xn.GN_TELEPHONY,[De.SHORETEL]:Xn.GN_TELEPHONY,[De.MS_OC]:Xn.STD_TELEPHONY,[De.ALCATEL]:Xn.STD_TELEPHONY,[De.OTHER]:Xn.STD_TELEPHONY,[De.NORTEL]:null,[De.GENERIC]:null};function or(t,e){const n=t.read(je).pipe(Lt((t=>ir[t]===e))),r=t.read(new Ke).pipe(Lt((t=>t.find((t=>ir[t]===e))))).pipe(Lt((e=>e?t.write(je,e):Nt(!1))),ge());return n.pipe((i=Nt(!0),o=r,t=>t.pipe(Lt((t=>t?i:o)),ge())));var i,o}class sr{constructor(t,e,n){this.connectionCallLock=t,this.device=e,this.logger=n,this.lockHeld=new j(!1),this.currentLocks=new j(new Set),this.lockReleaseEvent=new Y}tryTakeCallLock(){const{currentConnections:t}=this.device,e=new Set,n=Gt((()=>wt(t).pipe(ne((t=>this.takeSingleCallLock(t).pipe(ee((t=>(In(\"DeviceCallLock:\",t,this.logger),Nt(\"\"))))))),me((t=>e.add(t)))))).pipe(function(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Jt((function(e,n){return t(e,n,r)})):k,le(1),n?re(e):ae((function(){return new Tt})))}}(),Lt((n=>(e.delete(\"\"),this.currentLocks.next(e),e.size!==t.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0)))),fe());return n.subscribe((t=>{t&&(this.acquireLockOnNextConnectionEmit(),this.releaseLockOnRemovedConnectionEmit())})),n}acquireLockOnNextConnectionEmit(){this.device.connectionAdded.pipe(_e(this.lockReleaseEvent)).subscribe((t=>{this.takeSingleCallLock(t).pipe(_e(this.lockReleaseEvent),Lt((t=>(this.currentLocks.getValue().add(t),this.currentLocks.next(this.currentLocks.getValue()),w))),he(Nn())).subscribe({error:t=>{ye(`Failed to acquire the call lock on a new connection.\\n Another softphone running an old SDK has most likely acquired this lock.\\n Full error: ${t}`,this.logger,Bt.WARNING,Wt.JS_LIB)}})}))}releaseLockOnRemovedConnectionEmit(){this.device.connectionRemoved.pipe(_e(this.lockReleaseEvent)).subscribe((t=>this.releaseSingleCallLock(t.id.transportId)))}takeSingleCallLock(t){return Gt((()=>this.connectionCallLock.tryTakeCallLock(t.id.transportId))).pipe(Lt((e=>e.acquired?Nt(e.transportId):Ct((()=>new be(`Failed to acquire call lock on connection ${t.id.transportId}`,Kt.SDK_USAGE_ERROR))))),ge())}releaseCallLock(){this.lockReleaseEvent.next();[...this.currentLocks.getValue()].forEach((t=>{this.releaseSingleCallLock(t)})),this.currentLocks.getValue().clear(),this.currentLocks.next(this.currentLocks.getValue())}releaseSingleCallLock(t){this.connectionCallLock.releaseCallLock(t),this.currentLocks.getValue().delete(t),this.currentLocks.next(this.currentLocks.getValue()),0!==this.currentLocks.getValue().size&&0!==this.device.currentConnections.length||(this.lockReleaseEvent.next(),this.lockHeld.next(!1))}}class ar{constructor(t){this.transport=t}tryTakeCallLock(t){const e={action:\"request-call-lock\",id:t};return this.transport.writeAction(e),this.transport.consoleAppEvent.pipe(Jt((e=>\"response-call-lock\"===e.event&&e.id===t)),Lt((t=>({transportId:t.id,acquired:t.acquired}))),ue())}releaseCallLock(t){const e={action:\"release-call-lock\",id:t};this.transport.writeAction(e)}}const cr=[{usagePage:Vn.GN_LED,usage:jn.OFF_HOOK,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.RING,reportType:Qe.OUTPUT},{usagePage:Vn.GN_TELEPHONY,usage:qn.RINGER,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.MIC_MUTE,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.MUTE,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.HOLD,reportType:Qe.OUTPUT}],ur=[yn.USB,yn.INDIRECT,yn.BLUETOOTH];function lr(t,e){const{hidChannel:n}=t;return!!function(t){return cr.some((({usagePage:e,usage:n,reportType:r})=>t.findDescriptor(e,n,r)))}(n)&&(!pn.supportsGnpOverHid(n)||e!==On.DONGLE&&e!==On.OTHER)}function hr(t){const{currentConnections:e,type:n}=t;var r;return(r=e,[...r].sort(((t,e)=>ur.indexOf(t.type)-ur.indexOf(e.type)))).find((t=>lr(t,n)))}function dr(t,e,n,r,i){const o=hr(t),{hidChannel:s,onDisconnect:a}=o,c=new sr(new ar(r),t,i);if(e)return Nt(new rr(t,s,a,c,n.softphoneInFocus,i));if(r.context===Vt.WEB_HID)return Nt(new rr(t,s,a,c,n.softphoneInFocus,i));return function(t,e){return t.findDescriptor(Vn.GN_TELEPHONY,qn.GN_TELEPHONY_CONT_SET,Qe.FEATURE)?Gt((()=>(t.setFeatureReport(Vn.GN_TELEPHONY,qn.GN_TELEPHONY_CONT_SET,1),Nt(!0)))):e?or(e,Xn.GN_TELEPHONY):Nt(!1)}(s,o).pipe(Lt((e=>new rr(t,s,a,c,n.softphoneInFocus,i))))}class pr{constructor(t,e){this.devComm=t,this.softphoneInFocus=new G,this.softphoneInFocus=e.pipe(ue(),Pt((t=>this.devComm.consoleAppEvent.pipe(Jt((t=>\"softphone-in-focus\"===t.event)),Lt((t=>t.infocus)),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t);return M((function(e,r){(n?xt(t,e,n):xt(t,e)).subscribe(r)}))}(!t),fe(1))))),this.softphoneInFocus.subscribe((()=>{}))}setSharedSoftphoneInfo(t){if(!(null==t?void 0:t.partnerKey)||!(null==t?void 0:t.appId))return void ye(\"Unable to register with Jabra Direct: partnerKey or appId missing in config\",null==t?void 0:t.logger,Bt.WARNING);const e=t.partnerKey+t.appId,n=new Xe(5,\"ns:OID\",e);let{appName:r}=t;if((!t.appName||t.appName.length<3)&&(ye(\"App name missing in config. Fall back to use appId as app name.\",null==t?void 0:t.logger,Bt.WARNING),r=t.appId),r.length>100)return void ye(\"Unable to register with Jabra Direct: appName must be below 100 characters.\",null==t?void 0:t.logger,Bt.WARNING);const i={action:\"set-softphone-info\",name:r,id:n.toString()};this.devComm.writeAction(i)}}var fr,vr,Er,gr,_r,mr,br,yr,Or,wr;class Nr{constructor(t){var e;fr.set(this,void 0),vr.set(this,void 0),Er.set(this,void 0),gr.set(this,void 0),h(this,gr,t._readyEvents.pipe(ue((t=>\"ready\"===t.event)),Lt((t=>t.jabraDirectInstalled))),\"f\"),h(this,vr,new pr(t._transport,l(this,gr,\"f\")),\"f\"),l(this,vr,\"f\").setSharedSoftphoneInfo(t._config),h(this,fr,t._transport,\"f\"),h(this,Er,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createCallControl(t){if(!this.supportsCallControl(t))return Promise.reject(new be(`Device ${t.name} does not support call control.`,Kt.FEATURE_NOT_SUPPORTED));return At(l(this,gr,\"f\").pipe(Pt((e=>dr(t,e,l(this,vr,\"f\"),l(this,fr,\"f\"),l(this,Er,\"f\"))))))}supportsCallControl(t){return void 0!==hr(t)}}fr=new WeakMap,vr=new WeakMap,Er=new WeakMap,gr=new WeakMap,function(t){t.HOLD_CURRENT=\"hold-current\",t.END_CURRENT=\"end-current\"}(_r||(_r={})),function(t){t.MUTED=\"muted\",t.UNMUTED=\"unmuted\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(mr||(mr={})),function(t){t.ON_HOLD=\"on-hold\",t.NOT_ON_HOLD=\"not-on-hold\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(br||(br={})),function(t){t.NO_INCOMING=\"no-incoming\",t.AWAITING_RESPONSE=\"awaiting-response\",t.RESOLVING_RESPONSE=\"resolving-response\",t.ACCEPTED=\"accepted\",t.REJECTED=\"rejected\"}(yr||(yr={}));class Cr{constructor(t){this.state=t.value,t.subscribe((t=>{this.state=t}))}}class Tr extends Cr{constructor(t,e,n,r,i){super(t),this.commands=e,this.deviceSignals=n,this.enableFlash=r,this.logger=i}setupSignalListeners(){const t=this.extendedSignals.pipe(de()),e=t.pipe(Jt((t=>t.allowed))),r=t.pipe(Jt((t=>!t.allowed)));e.subscribe((t=>{ye(`Accepted signal: ${Yn[t.type]} [${t.value}]`,null==this?void 0:this.logger,Bt.INFO)})),r.subscribe((t=>{ye(`Ignored signal: ${Yn[t.type]} [${t.value}]`,null==this?void 0:this.logger,Bt.INFO)})),e.pipe(Jt((t=>t.type===Yn.HOOK_SWITCH))).subscribe((t=>{t.value&&this.state.incomingCall===yr.AWAITING_RESPONSE?this.commands.incomingCallHandler.queueAcceptIncomingCall(_r.END_CURRENT,!0):(!1===t.value&&this.state.ongoingCalls>0&&this.commands.hookHandler.queueEndCall(!0),!0===t.value&&0===this.state.ongoingCalls&&this.commands.hookHandler.queueStartCall())})),e.pipe(Jt((t=>t.type===Yn.PHONE_MUTE))).subscribe((()=>{this.commands.muteHandler.queueToggleMute(!0)})),e.pipe(Jt((t=>t.type===Yn.FLASH))).subscribe((()=>n(this,void 0,void 0,(function*(){this.state.incomingCall!==yr.AWAITING_RESPONSE?this.state.ongoingCalls>1?this.commands.swapHandler.queueSwapCalls():this.commands.holdHandler.queueToggleHold():yield this.commands.incomingCallHandler.queueAcceptIncomingCall(_r.HOLD_CURRENT,!0)})))),e.pipe(Jt((t=>t.type===Yn.REJECT_CALL))).subscribe((()=>{this.state.incomingCall===yr.AWAITING_RESPONSE&&this.commands.incomingCallHandler.queueRejectIncomingCall()}))}get extendedSignals(){return this.deviceSignals.pipe(Pt((t=>{let e=!this.state.ignoreSignals.some((([e,n])=>t.type===e&&n===t.value));return t.type!==Yn.FLASH||this.enableFlash||(e=!1),Nt(Object.assign(Object.assign({},t),{allowed:e}))})),_e(this.commands.teardownHandler.onTeardown))}}class Sr{constructor(t,e,n,r,i,o,s=!0){this.logger=o,Or.set(this,void 0),this.device=t,this.onDisconnect=e,this.ringState=i.ringState,this.muteState=i.muteState,h(this,Or,r,\"f\"),this.onDisconnect.pipe(ue(),_e(l(this,Or,\"f\").teardownHandler.onTeardown)).subscribe((t=>this.teardown(!1)));new Tr(i.internalState,r,n,s,o).setupSignalListeners()}endCall(){return l(this,Or,\"f\").hookHandler.queueEndCall(!1)}signalIncomingCall(t=25e3){return l(this,Or,\"f\").incomingCallHandler.queueSignalIncomingCall(t)}rejectIncomingCall(){return l(this,Or,\"f\").incomingCallHandler.queueRejectIncomingCall()}mute(){return l(this,Or,\"f\").muteHandler.queueSetMute(mr.MUTED)}unmute(){return l(this,Or,\"f\").muteHandler.queueSetMute(mr.UNMUTED)}teardown(t=!0){l(this,Or,\"f\").teardownHandler.teardown(t)}_setInitialState(t,e=!1,n=!1){return 0===t&&(e||n)&&ye(\"\\n Unable to set initial state: muted or onHold cannot be true unless a call is started.\\n Set callActive to true for SingleCallControl, or ongoingCalls to 1 or more for MultiCallControl.\\n \",null==this?void 0:this.logger,Bt.WARNING),l(this,Or,\"f\").deviceState.setInitialState(t,e,n)}}Or=new WeakMap;class Ar extends Sr{constructor(t,e,n,r,i,o){super(t,e,n,r,i,o,!0),wr.set(this,void 0),this.ongoingCalls=i.ongoingCalls,this.holdState=i.holdState,this.swapRequest=i.swapEvents,h(this,wr,r,\"f\")}startCall(){return l(this,wr,\"f\").hookHandler.queueStartCall()}acceptIncomingCall(t=_r.END_CURRENT){return l(this,wr,\"f\").incomingCallHandler.queueAcceptIncomingCall(t,!1)}hold(){return l(this,wr,\"f\").holdHandler.queueSetHold(br.ON_HOLD)}resume(){return l(this,wr,\"f\").holdHandler.queueSetHold(br.NOT_ON_HOLD)}}wr=new WeakMap;class Ir extends Cr{constructor(t,e,n){super(e),this.callControl=t,this.logger=n,this.hasLock=!1}takeCallLock(){return n(this,void 0,void 0,(function*(){if(!this.hasLock){try{this.hasLock=yield this.callControl.takeCallLock()}catch(t){this.hasLock=!0,ye(t.message,null==this?void 0:this.logger,Bt.WARNING)}if(!this.hasLock)throw new be(\"Device used by another softphone. Only one application can use the device at a time.\",Kt.SDK_USAGE_ERROR)}}))}releaseCallLock(){0===this.state.ongoingCalls&&(this.callControl.releaseCallLock(),this.hasLock=!1)}forceReleaseCallLock(){this.hasLock&&this.callControl.releaseCallLock()}}class Rr{constructor(t){this.teardownHandler=t,this.queue=new Y,this.queue.pipe(ne((t=>n(this,void 0,void 0,(function*(){try{const e=yield t.command();t.callback(e)}catch(e){if(!(e instanceof be))throw e;t.errCallback(e)}})))),_e(this.teardownHandler.onTeardown)).subscribe()}pushToQueue(t){return new Promise(((e,n)=>{this.teardownHandler.checkActive();const r={command:t,callback:e,errCallback:n};this.queue.next(r)}))}}class Dr extends Cr{constructor(t,e,n,r){super(r),this.hookHandler=t,this.holdHandler=e,this.muteHandler=n}setInitialState(t,e,r){return n(this,void 0,void 0,(function*(){if(0===t)return yield this.hookHandler.queueStartCall(),void(yield this.hookHandler.queueEndCall(!1));for(let e=0;e<t;e+=1)yield this.hookHandler.queueStartCall();const n=e?mr.MUTED:mr.UNMUTED;yield this.muteHandler.queueSetMute(n);const i=r?br.ON_HOLD:br.NOT_ON_HOLD;yield this.holdHandler.queueSetHold(i)}))}}class Hr extends Cr{constructor(t,e,n,r){super(e),this.callControl=t,this.stateHandler=e,this.commandQueue=n,this.awaitSignals=r}queueSetHold(t){return this.commandQueue.pushToQueue((()=>this.setHold(t)))}queueToggleHold(){return this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){const t=this.state.holdState===br.ON_HOLD?br.NOT_ON_HOLD:br.ON_HOLD;this.setHold(t)}))))}setHold(t){return n(this,void 0,void 0,(function*(){if(0===this.state.ongoingCalls){const e=t===br.ON_HOLD?\"hold\":\"resume\";throw new be(`Cannot ${e} call as there are no calls in progress.`,Kt.SDK_USAGE_ERROR)}if(this.state.ongoingCalls>1&&t===br.NOT_ON_HOLD)return void(yield this.resumeWhileMultiple());this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:t}));const e=t===br.NOT_ON_HOLD,n=t===br.ON_HOLD,r=[[Yn.HOOK_SWITCH,e],[Yn.FLASH,!0]],i=this.awaitSignals.listen(r);n?(this.callControl.hold(n),this.callControl.offHook(e)):(this.callControl.offHook(e),this.callControl.hold(n)),yield St(i)}))}resumeWhileMultiple(){return n(this,void 0,void 0,(function*(){const t=this.awaitSignals.listen([[Yn.HOOK_SWITCH,!0]]);this.callControl.offHook(!0),this.callControl.hold(!1),this.callControl.hold(!0),yield St(t),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD}))}))}}class Lr extends Cr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.commandQueue=r,this.awaitSignals=i}queueStartCall(){return this.commandQueue.pushToQueue((()=>this.startCall()))}queueEndCall(t){return this.commandQueue.pushToQueue((()=>this.endCall(t)))}startCall(t=!1){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall===yr.AWAITING_RESPONSE)throw new be(\"Cannot start a new call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall/rejectIncomingCall instead.\",Kt.SDK_USAGE_ERROR);this.state.holdState===br.ON_HOLD?this.startNewCallWhileOnHold():0===this.state.ongoingCalls?yield this.startFirstCall(t):this.startSubsequentCalls(),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls+1}))}))}endCall(t){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall===yr.AWAITING_RESPONSE)throw new be(\"Cannot end a call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall/rejectIncomingCall instead.\",Kt.SDK_USAGE_ERROR);if(0===this.state.ongoingCalls)throw new be(\"Cannot end call as there are no calls in progress.\",Kt.SDK_USAGE_ERROR);1===this.state.ongoingCalls?yield this.endLastCall():this.state.holdState===br.ON_HOLD?this.endCallWhileOnHold():yield this.endCurrentCall(t)}))}startFirstCall(t){return n(this,void 0,void 0,(function*(){yield this.callLock.takeCallLock();const e=t?[]:[[Yn.HOOK_SWITCH,!0]],n=this.awaitSignals.listen(e);this.callControl.offHook(!0),yield St(n),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD,muteState:mr.UNMUTED}))}))}startSubsequentCalls(){this.callControl.hold(!0)}startNewCallWhileOnHold(){this.callControl.offHook(!0),this.callControl.hold(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD}))}endLastCall(){return n(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NO_ONGOING_CALLS,muteState:mr.NO_ONGOING_CALLS,ongoingCalls:0})),this.callControl.mute(!1),this.callControl.offHook(!1),this.callControl.hold(!1),this.callLock.releaseCallLock()}))}endCurrentCall(t){return n(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1})),yield this.sendHoldCallSignalAndWaitForAck(t),yield this.resumeNextCall(t)}))}sendHoldCallSignalAndWaitForAck(t){const e=t?[[Yn.HOOK_SWITCH,!1],[Yn.FLASH,!0]]:[[Yn.HOOK_SWITCH,!1]],n=St(this.awaitSignals.listen(e));return this.callControl.hold(!0),this.callControl.offHook(!1),n}resumeNextCall(t){const e=t?[[Yn.HOOK_SWITCH,!0],[Yn.FLASH,!0]]:[[Yn.HOOK_SWITCH,!0]],n=St(this.awaitSignals.listen(e));return this.callControl.offHook(!0),this.callControl.hold(1!==this.state.ongoingCalls),n}endCallWhileOnHold(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1}))}}class Pr extends Cr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.hookHandler=r,this.commandQueue=i}queueAcceptIncomingCall(t,e){return this.commandQueue.pushToQueue((()=>this.acceptIncomingCall(t,e)))}queueRejectIncomingCall(){return this.commandQueue.pushToQueue((()=>this.rejectIncomingCall()))}queueSignalIncomingCall(t=25e3){return new Promise(((e,r)=>{this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){(yield this.signalIncomingCall(t)).subscribe({next:t=>{e(t),this.updateIncomingCallState(yr.NO_INCOMING)},error:t=>{e(!1)},complete:()=>{e(!1)}})})))).catch((t=>r(t)))}))}signalIncomingCall(t){return n(this,void 0,void 0,(function*(){return yield this.callLock.takeCallLock(),this.updateIncomingCallState(yr.AWAITING_RESPONSE),this.callControl.ring(!0),this.stateHandler.pipe((e=({incomingCall:t})=>t!==yr.NO_INCOMING,void 0===n&&(n=!1),M((function(t,r){var i=0;t.subscribe(B(r,(function(t){var o=e(t,i++);(o||n)&&r.next(t),!o&&r.complete()})))}))),Jt((({incomingCall:t})=>t===yr.ACCEPTED||t===yr.REJECTED)),ue(),Dt(t),ee((t=>(this.rejectIncomingCall(),Nt(this.state)))),Lt((({incomingCall:t})=>t===yr.ACCEPTED)));var e,n}))}acceptIncomingCall(t,e){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall!==yr.AWAITING_RESPONSE)throw new be(\"Cannot accept as there are no incoming calls.\",Kt.SDK_USAGE_ERROR);this.updateIncomingCallState(yr.RESOLVING_RESPONSE),this.callControl.ring(!1),this.state.holdState===br.ON_HOLD||0===this.state.ongoingCalls?yield this.hookHandler.startCall(e):t===_r.END_CURRENT?(yield this.hookHandler.endCall(e),yield this.hookHandler.startCall(e)):t===_r.HOLD_CURRENT&&(yield this.hookHandler.startCall(e)),this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:yr.ACCEPTED,holdState:br.NOT_ON_HOLD}))}))}rejectIncomingCall(){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall!==yr.AWAITING_RESPONSE)throw new be(\"Cannot reject as there are no incoming calls.\",Kt.SDK_USAGE_ERROR);this.callControl.ring(!1),this.updateIncomingCallState(yr.REJECTED),this.callLock.releaseCallLock()}))}updateIncomingCallState(t){this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:t}))}}class Ur extends Cr{constructor(t,e,n){super(e),this.callControl=t,this.stateHandler=e,this.commandQueue=n}queueSetMute(t){return this.commandQueue.pushToQueue((()=>this.setMute(t,!1)))}queueToggleMute(t){return this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){const e=this.state.muteState===mr.MUTED?mr.UNMUTED:mr.MUTED;this.setMute(e,t)}))))}setMute(t,e){return n(this,void 0,void 0,(function*(){if(!e&&0===this.state.ongoingCalls)throw new be(\"You cannot change mute state outside of a call.\",Kt.SDK_USAGE_ERROR);if(!e&&this.state.holdState===br.ON_HOLD)throw new be(\"You cannot change mute state while on hold.\",Kt.SDK_USAGE_ERROR);this.callControl.mute(t===mr.MUTED),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:t}))}))}}class kr extends Cr{constructor(t,e){super(t),this.stateHandler=t,this.commandQueue=e}queueSwapCalls(){return this.commandQueue.pushToQueue((()=>this.swapCalls()))}swapCalls(){return n(this,void 0,void 0,(function*(){if(this.state.ongoingCalls<2)throw new be(\"No calls to swap between. There should be at least one current call and one call on hold.\",Kt.SDK_USAGE_ERROR);this.stateHandler.next(Object.assign(Object.assign({},this.state),{swapToggle:this.state.swapToggle?0:1}))}))}}class xr{constructor(t,e,n){this.stateHandler=t,this.callLock=e,this.logger=n,this.teardownState=new j(!1),this.onTeardown=this.teardownState.pipe(ve(1),Lt(w))}teardown(t=!0){if(this.teardownState.value)throw new be(\"Easy Call Control instance already torn down.\",Kt.SDK_USAGE_ERROR);this.stateHandler.unsubscribeState(),this.teardownState.next(!0),t&&this.callLock.forceReleaseCallLock(),ye(\"Teardown complete. Create new Easy Call Control instance to continue usage.\",null==this?void 0:this.logger,Bt.INFO)}checkActive(){if(this.teardownState.value)throw new be(\"\\n Inactive instance. Either device disconnected or teardown was called.\\n Create new EasyCallControl instance to continue usage.\",Kt.SDK_USAGE_ERROR)}}class Gr{constructor(t,e,n){this.deviceSignals=t,this.stateHandler=e,this.logger=n}listen(t){if(0===t.length)return Nt(void 0);this.stateHandler.next(Object.assign(Object.assign({},this.stateHandler.value),{ignoreSignals:t}));let e=0;return this.deviceSignals.pipe(Ee((n=>{const[r,i]=t[e];return n.type===r&&n.value===i?(ye(`Resolve awaited signal: ${Yn[r]} [${i}]`,null==this?void 0:this.logger,Bt.INFO),e+=1,Nt(n)):et})),ie(t.length),Dt(1e3),ee((()=>{const e=t.map((([t,e])=>`${Yn[t]}: ${e}`));return ye(`Missing signals for ${JSON.stringify(e)}. State recovered.`,null==this?void 0:this.logger,Bt.INFO),Nt(void 0)})),(n=()=>{this.stateHandler.next(Object.assign(Object.assign({},this.stateHandler.value),{ignoreSignals:[]}))},M((function(t,e){try{t.subscribe(e)}finally{e.add(n)}}))));var n}}class Fr{constructor(t,e,n,r){const i=new Ir(t,n.internalState,r);this.teardownHandler=new xr(n,i,r);const o=new Rr(this.teardownHandler),s=new Gr(e,n.internalState,r);this.hookHandler=new Lr(t,i,n.internalState,o,s),this.muteHandler=new Ur(t,n.internalState,o),this.holdHandler=new Hr(t,n.internalState,o,s),this.incomingCallHandler=new Pr(t,i,n.internalState,this.hookHandler,o),this.swapHandler=new kr(n.internalState,o),this.deviceState=new Dr(this.hookHandler,this.holdHandler,this.muteHandler,n.internalState)}}const Mr={ongoingCalls:0,muteState:mr.NO_ONGOING_CALLS,holdState:br.NO_ONGOING_CALLS,incomingCall:yr.NO_INCOMING,ignoreSignals:[],swapToggle:0};class Br{constructor(){this.internalState=new j(Mr),this.onUnsubscribe=new Y;const t=this.internalState.pipe(_e(this.onUnsubscribe));this.ongoingCalls=t.pipe(Lt((t=>t.ongoingCalls)),oe()),this.callActive=t.pipe(Lt((t=>0!==t.ongoingCalls)),oe()),this.ringState=t.pipe(Lt((t=>t.incomingCall===yr.AWAITING_RESPONSE||t.incomingCall===yr.RESOLVING_RESPONSE)),oe()),this.muteState=t.pipe(Lt((t=>t.muteState)),oe()),this.holdState=t.pipe(Lt((t=>t.holdState)),oe()),this.swapEvents=t.pipe(Lt((t=>t.swapToggle)),oe(),Lt((()=>{})),ve(1))}unsubscribeState(){this.onUnsubscribe.next(void 0),this.onUnsubscribe.complete(),this.internalState.complete()}}var Wr,Kr,Yr,Vr;class jr extends Sr{constructor(t,e,n,r,i,o){super(t,e,n,r,i,o,!1),Wr.set(this,void 0),Kr.set(this,void 0),this.callActive=i.callActive,h(this,Wr,i.internalState,\"f\"),h(this,Kr,r,\"f\")}startCall(){return n(this,void 0,void 0,(function*(){if(1===l(this,Wr,\"f\").value.ongoingCalls)throw new be(\"Please end the call before starting a new one.\",Kt.SDK_USAGE_ERROR);yield l(this,Kr,\"f\").hookHandler.queueStartCall()}))}acceptIncomingCall(){return l(this,Kr,\"f\").incomingCallHandler.queueAcceptIncomingCall(_r.END_CURRENT,!1)}}Wr=new WeakMap,Kr=new WeakMap;class qr{constructor(t){var e;Yr.set(this,void 0),Vr.set(this,void 0),h(this,Yr,new Nr(t),\"f\"),h(this,Vr,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createSingleCallControl(t,e){return n(this,void 0,void 0,(function*(){const n=yield this.getSharedDependencies(t),r=new jr(n.coreDevice,n.onDisconnect,n.deviceSignals,n.commands,n.stateHandler,l(this,Vr,\"f\"));if(e){const t=e.callActive?1:0;yield r._setInitialState(t,e.muted)}return r}))}createMultiCallControl(t,e){return n(this,void 0,void 0,(function*(){const n=yield this.getSharedDependencies(t),r=new Ar(n.coreDevice,n.onDisconnect,n.deviceSignals,n.commands,n.stateHandler,l(this,Vr,\"f\"));return e&&(yield r._setInitialState(e.ongoingCalls,e.muted,e.onHold)),r}))}supportsEasyCallControl(t){return l(this,Yr,\"f\").supportsCallControl(t)}getSharedDependencies(t){return n(this,void 0,void 0,(function*(){const e=yield l(this,Yr,\"f\").createCallControl(t),n=new Br,r=e.deviceSignals.pipe(de());return{commands:new Fr(e,r,n,l(this,Vr,\"f\")),stateHandler:n,deviceSignals:r,coreDevice:e.device,onDisconnect:e.onDisconnect}}))}}Yr=new WeakMap,Vr=new WeakMap;export{_r as A,Nr as C,tn as D,Kt as E,br as H,kn as I,be as J,Bt as L,mr as M,G as O,Qe as R,Y as S,Vt as T,Je as V,Bn as W,n as _,xt as a,Pt as b,B as c,Ft as d,Z as e,Wn as f,Zn as g,Kn as h,Mt as i,Wt as j,Yn as k,ye as l,Lt as m,w as n,M as o,jt as p,bn as q,yn as r,On as s,ie as t,Xe as u,Mn as v,tr as w,qr as x};\n","import { VendorImplementation } from \"../services/vendor-implementations/vendor-implementation\";\nimport { EventInfoWithConversationId, HoldEventInfo, MutedEventInfo, WebHidPermissionRequest } from \"./emitted-headset-events\";\n\nexport enum HeadsetEvents {\n implementationChanged = 'implementationChanged',\n deviceHoldStatusChanged = 'deviceHoldStatusChanged',\n deviceMuteStatusChanged = 'deviceMuteStatusChanged',\n deviceAnsweredCall = 'deviceAnsweredCall',\n deviceEndedCall = 'deviceEndedCall',\n deviceRejectedCall = 'deviceRejectedCall',\n loggableEvent = 'loggableEvent',\n webHidPermissionRequested = 'webHidPermissionRequested',\n deviceConnectionStatusChanged = 'deviceConnectionStatusChanged',\n deviceEventLogs = 'deviceEventLogs',\n}\n\ntype Events = {\n [HeadsetEvents.implementationChanged]: VendorImplementation;\n [HeadsetEvents.deviceHoldStatusChanged]: HoldEventInfo;\n [HeadsetEvents.deviceMuteStatusChanged]: MutedEventInfo;\n [HeadsetEvents.deviceAnsweredCall]: EventInfoWithConversationId;\n [HeadsetEvents.deviceEndedCall]: EventInfoWithConversationId\n [HeadsetEvents.deviceRejectedCall]: EventInfoWithConversationId;\n [HeadsetEvents.loggableEvent]: any;\n [HeadsetEvents.webHidPermissionRequested]: WebHidPermissionRequest;\n [HeadsetEvents.deviceConnectionStatusChanged]: DeviceConnectionStatus;\n}\n\nexport type DeviceConnectionStatus = 'checking' | 'running' | 'notRunning' | 'noVendor';\n\nexport type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Events\n ? { event: T, payload: Events[T] }\n : never;\n\nexport interface PartialInputReportEvent {\n reportId: number;\n data: DataView;\n}","import DeviceInfo from '../../types/device-info';\nimport StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport { EmittedHeadsetEvents, EventInfo, EventInfoWithConversationId, HoldEventInfo, MutedEventInfo } from '../../types/emitted-headset-events';\nimport { CallInfo } from '../..';\nimport { UpdateReasons } from '../../types/headset-states';\n\ntype HeadsetEventName = keyof EmittedHeadsetEvents;\n\nexport interface ImplementationConfig {\n logger: any;\n vendorName?: string;\n appName?: string;\n createNew?: boolean; // this should only be used for testing\n}\n\nexport abstract class VendorImplementation extends (EventEmitter as { new(): StrictEventEmitter<EventEmitter, EmittedHeadsetEvents> }) {\n // TODO: rename this to something more descriptive\n vendorName = 'Not Specified';\n isConnecting = false; // trying to connect with the headset controlling software, ex: plantronics hub\n isConnected = false; // represents a connection to the headset controlling software, ex: plantronics hub\n isMuted = false;\n errorCode: string = null;\n disableRetry = false;\n logger: any; // TODO: pass this in on creation?\n config: ImplementationConfig;\n\n constructor (config: ImplementationConfig) {\n super();\n const eventEmitter = new EventEmitter();\n Object.keys((eventEmitter as any).__proto__).forEach((name) => {\n this[name] = eventEmitter[name];\n });\n\n this.config = config;\n this.vendorName = config.vendorName;\n this.logger = config.logger;\n }\n\n get isDeviceAttached (): boolean {\n throw new Error(`${this.vendorName} - isDeviceAttatched getter not implemented`);\n }\n\n isSupported (): boolean {\n return true;\n }\n\n abstract get deviceInfo (): DeviceInfo;\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n deviceLabelMatchesVendor (label: string): boolean {\n throw new Error(`${this.vendorName} - deviceLabelMatchesVendor() not implemented`);\n }\n\n connect (selectedMicLabel?: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - connect() not implemented`));\n }\n\n disconnect (clearReason?: UpdateReasons): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - disconnect() not implemented`));\n }\n\n incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n // TODO: propagate this changed parameter (used to be callInfo, but there are several differents signatures in the implementing classes)\n return Promise.reject(new Error(`${this.vendorName} - incomingCall() not implemented`));\n }\n\n outgoingCall (callInfo: CallInfo): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - outgoingCall() not implemented`));\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - answerCall() not implemented`));\n }\n\n rejectCall (conversationId: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - rejectCall() not implemented`));\n }\n\n endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endCall() not implemented`));\n }\n\n endAllCalls (): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endAllCalls() not implemented`));\n }\n\n setMute (value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setMute() not implemented`));\n }\n\n setHold (conversationId: string, value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setHold() not implemented`));\n }\n\n resetHeadsetStateForCall (conversationId?: string): Promise<any> {\n return this.rejectCall(conversationId);\n }\n /* eslint-enable */\n\n private emitEvent (eventName: HeadsetEventName, eventBody: any) {\n this.emit(eventName, { vendor: this, body: { ...eventBody } });\n }\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n requestWebHidPermissions (callback: any): void {\n /* eslint-enable */\n this.logger.debug('Emitting premission request event');\n this.emitEvent('webHidPermissionRequested', { callback });\n }\n\n deviceAnsweredCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceAnsweredCall', eventInfo);\n }\n\n deviceRejectedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceRejectedCall', eventInfo);\n }\n\n deviceEndedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceEndedCall', eventInfo);\n }\n\n deviceMuteChanged (eventInfo: MutedEventInfo): void {\n this.emitEvent('deviceMuteStatusChanged', { ...eventInfo });\n }\n\n deviceHoldStatusChanged (eventInfo: HoldEventInfo): void {\n this.emitEvent('deviceHoldStatusChanged', { ...eventInfo });\n }\n\n deviceEventLogs (eventInfo: EventInfo): void {\n this.emitEvent('deviceEventLogs', eventInfo);\n }\n\n changeConnectionStatus (headsetState: {isConnected: boolean, isConnecting: boolean}): void {\n this.isConnected = headsetState.isConnected;\n this.isConnecting = headsetState.isConnecting;\n this.emitEvent('deviceConnectionStatusChanged', { currentVendor: this, ...headsetState });\n }\n\n /**\n * Try to deduct the product id based on the label.\n * Making the assumption that the label will end with (vendorid:productid).\n *\n * @param selectedMicLabel\n * @returns The product id if matched or null.\n */\n deductProductId (selectedMicLabel: string) : number {\n const match = selectedMicLabel?.match(/\\((\\w+):(\\w+)\\)$/);\n return match ? parseInt(match[2], 16) : null;\n }\n}\n","!function(e,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(r):e.browserama=r()}(this,function(){\"use strict\";var e=\"undefined\"==typeof window,r=!1,t=!1,o=!1,i=!1,n=!1,d=!1,u=!1,w=!1,s=!1,m=!1;return e||(r=\"undefined\"!=typeof InstallTrigger,t=!!window.chrome,o=!!window.chrome,i=t&&!window.chrome.webstore&&!window.chrome.runtime,n=0<Object.prototype.toString.call(window.HTMLElement).indexOf(\"Constructor\")||window.safari&&window.safari.pushNotification,d=!!window.opr&&!!window.opr.addons||!!window.opera,u=!!window.StyleMedia,w=t&&!!navigator.userAgent.match(/edg/i),s=(o||d)&&!!window.CSS,m=!(t||n||r||d||!document.documentMode)),{get isChrome(){return o},get isChromeOrChromium(){return t},get isChromium(){return i},get isFirefox(){return r},get isSafari(){return n},get isOpera(){return d},get isEdge(){return u},get isEdgeChromium(){return w},get isIE(){return m},get isBlink(){return s}}});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['exports', 'module'], factory);\n } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n factory(exports, module);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, mod);\n global.fetchJsonp = mod.exports;\n }\n})(this, function (exports, module) {\n 'use strict';\n\n var defaultOptions = {\n timeout: 5000,\n jsonpCallback: 'callback',\n jsonpCallbackFunction: null\n };\n\n function generateCallbackFunction() {\n return 'jsonp_' + Date.now() + '_' + Math.ceil(Math.random() * 100000);\n }\n\n function clearFunction(functionName) {\n // IE8 throws an exception when you try to delete a property on window\n // http://stackoverflow.com/a/1824228/751089\n try {\n delete window[functionName];\n } catch (e) {\n window[functionName] = undefined;\n }\n }\n\n function removeScript(scriptId) {\n var script = document.getElementById(scriptId);\n if (script) {\n document.getElementsByTagName('head')[0].removeChild(script);\n }\n }\n\n function fetchJsonp(_url) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // to avoid param reassign\n var url = _url;\n var timeout = options.timeout || defaultOptions.timeout;\n var jsonpCallback = options.jsonpCallback || defaultOptions.jsonpCallback;\n\n var timeoutId = undefined;\n\n return new Promise(function (resolve, reject) {\n var callbackFunction = options.jsonpCallbackFunction || generateCallbackFunction();\n var scriptId = jsonpCallback + '_' + callbackFunction;\n\n window[callbackFunction] = function (response) {\n resolve({\n ok: true,\n // keep consistent with fetch API\n json: function json() {\n return Promise.resolve(response);\n }\n });\n\n if (timeoutId) clearTimeout(timeoutId);\n\n removeScript(scriptId);\n\n clearFunction(callbackFunction);\n };\n\n // Check if the user set their own params, and if not add a ? to start a list of params\n url += url.indexOf('?') === -1 ? '?' : '&';\n\n var jsonpScript = document.createElement('script');\n jsonpScript.setAttribute('src', '' + url + jsonpCallback + '=' + callbackFunction);\n if (options.charset) {\n jsonpScript.setAttribute('charset', options.charset);\n }\n if (options.nonce) {\n jsonpScript.setAttribute('nonce', options.nonce);\n }\n if (options.referrerPolicy) {\n jsonpScript.setAttribute('referrerPolicy', options.referrerPolicy);\n }\n if (options.crossorigin) {\n jsonpScript.setAttribute('crossorigin', 'true');\n }\n jsonpScript.id = scriptId;\n document.getElementsByTagName('head')[0].appendChild(jsonpScript);\n\n timeoutId = setTimeout(function () {\n reject(new Error('JSONP request to ' + _url + ' timed out'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n window[callbackFunction] = function () {\n clearFunction(callbackFunction);\n };\n }, timeout);\n\n // Caught if got 404/500\n jsonpScript.onerror = function () {\n reject(new Error('JSONP request to ' + _url + ' failed'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n if (timeoutId) clearTimeout(timeoutId);\n };\n });\n }\n\n // export as global function\n /*\n let local;\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n local.fetchJsonp = fetchJsonp;\n */\n\n module.exports = fetchJsonp;\n});","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","/* istanbul ignore file */\n\nimport browserama from 'browserama';\n\nexport function isFirefox (): boolean {\n return browserama.isFireFox;\n}\n\n/**\n *\n * @param promise\n * @param timeoutInMillis\n *\n * Returns a promise that resolves if the passed in promise resolves before the timeout\n * time elapses. If the timeout elapses, then the returned promise rejects with a\n * message that the timeout time was exceeded.\n */\nexport function timedPromise (\n promise: Promise<any>,\n timeoutInMillis: number,\n timeoutError?: Error\n): Promise<any> {\n let timeoutId;\n const timeoutPromise: Promise<any> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n reject(timeoutError ? timeoutError : 'Timed out in ' + timeoutInMillis + 'ms');\n }, timeoutInMillis);\n }).then(result => {\n clearTimeout(timeoutId);\n return result;\n });\n\n return Promise.race([promise, timeoutPromise]);\n}\n\nexport function debounce (func: () => void, delay: number): any {\n let timer = null;\n\n return function () {\n clearTimeout(timer);\n\n timer = setTimeout(function () {\n func();\n }, delay);\n };\n}\n\nexport function isCefHosted (): boolean {\n return !!(window as any)._HostedContextFunctions;\n}\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nexport function requestCefPromise (cmd: any): Promise<any> {\n/* eslint-enable */\n return new Promise((resolve, reject) => {\n try {\n const sCmd = JSON.stringify(cmd);\n (window as any).cefQuery({\n request: sCmd,\n persistent: false,\n onSuccess: response => {\n try {\n const obj = JSON.parse(response);\n resolve(obj);\n } catch (e) {\n resolve({});\n }\n },\n onFailure: response => {\n reject(response);\n }\n });\n } catch (e) {\n console.error('Error requesting desktop promise', e);\n reject(e);\n }\n });\n}\n","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\nimport { CallInfo } from '../../..';\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\nimport { isCefHosted } from \"../../../utils\";\n\n\nlet hookswFlag = 0x01;\nlet micMuteFlag = 0x04;\nconst ringFlag = 0x08;\n\nconst defaultFlagSupport = 0x0F;\nconst muteButtonToggle = 0x13;\n\n// JLChip support\nconst JLmuteButtonToggle = 0x0203;\nconst JLFlagSupport = 0x0240;\nconst JLMicMuteFlag = 0x40;\nconst JLhookswFlag = 0x0200;\n\n// call states\nconst CALL_IDLE = 'callIdle';\nconst CALL_INCOMING = 'callIncoming';\nconst CALL_ANSWERING = 'callAnswering';\nconst CALL_REJECTING = 'callRejecting';\nconst CALL_ACTIVE = 'callActive';\nconst CALL_END = 'callEnd';\nconst CALL_OUTGOING = 'callOutgoing';\n\n// CAStateEvents\nconst ca_st_event_hooksw_on = 0;\nconst ca_st_event_answerConfirm = 1;\nconst ca_st_event_incomingCall = 2;\nconst ca_st_event_callEnd = 3;\nconst ca_st_event_hooksw_off = 5;\nconst ca_st_event_busy = 6;\nconst ca_st_event_call_answer = 7;\nconst ca_st_event_outgoingCall = 8;\n\n// CADeviceEvents\nconst ca_dev_event_hooksw_on = 0x01;\nconst ca_dev_event_hooksw_off = 0x00;\nconst ca_dev_event_busy = 0x02;\nconst ca_dev_event_ans_confirm = 0x02;\n\nconst PHONE_USAGE = 0x0001;\nconst HEADSET_USAGE = 0x0005;\nconst HEADSET_USAGE_PAGE = 0x000B;\n\nexport default class CyberAcousticsService extends VendorImplementation {\n private static instance: CyberAcousticsService;\n\n vendorName = 'CyberAcoustics';\n private activeConversationId: string;\n private _deviceInfo: DeviceInfo = null;\n activeDevice: any;\n\n private numDeviceEventListeners = 0;\n\n private currentProductID = null;\n private headsetOutputReportId = 3;\n private headsetInputReportId = 3;\n private vendorInputReportId = 4;\n\n private currentState = 0x00;\n private isHolding = false;\n private currentlDeviceLabel: string;\n\n private currentCallInfo: CallInfo;\n protected currentCallState = CALL_IDLE;\n private deviceStatus = 0;\n\n protected gCmdBuf = new Uint8Array( [0x00, 0x00]);\n\n private inputReportReportId = 0x03;\n private outputReportReportId = 0x03;\n\n private JLCommandSet = false;\n private callControlSuport = true;\n\n private flagSupport = defaultFlagSupport;\n private handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n static getInstance (config: ImplementationConfig): CyberAcousticsService {\n if (!CyberAcousticsService.instance) {\n CyberAcousticsService.instance = new CyberAcousticsService(config);\n }\n return CyberAcousticsService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n // called to check if the WebHID interface is supported\n isSupported (): boolean {\n const supported: boolean = (window.navigator as any).hid && !isCefHosted();\n return supported;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n this.logger.debug(\"CA: matchVendor\");\n const lowerLabel = label.toLowerCase();\n\n return ['ac-104enc', 'ac-204enc', 'ac-304','foundever',\n 'ca essential', 'ca-2890'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n // Connect: Attempt to connect to the device\n async connect (originalDeviceLabel: string): Promise<void> {\n //// DEBUG CODE ////\n // uncomment to test Forgetdevice with requestWebHidPermissions\n\n // const devicesListTest = await (window.navigator as any).hid.getDevices({\n // filters: [{ vendorId: 0x3391 },],\n // });\n // if(devicesListTest.length > 0){\n // const deviceTest = devicesListTest[0];\n // deviceTest.forget();\n // }\n\n //// END DEBUG CODE ////\n\n let bConnectSuccess = false;\n this.logger.debug(\"CA: Connect Attempt\");\n\n this.currentlDeviceLabel = originalDeviceLabel;\n this.logger.debug(`CA Device String = ${originalDeviceLabel}`);\n\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n\n // First try to see if this is a previously connected device- does not require\n // WebHID permission dialog\n const devList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n //SUCESSFUL connection!\n bConnectSuccess = true;\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- previously connected device\");\n }\n else{\n this.logger.debug(\"CA: Connect FAIL- Failed connect to previously connected device\");\n }\n }\n\n //// DEBUG CODE uncomment to test initial connect fail\n //this.activeDevice.close();\n //bConnectSuccess = false;\n ////\n\n if(!bConnectSuccess) {\n try{\n bConnectSuccess = await new Promise((resolve, reject) => {\n const HIDPermissionTimeout = setTimeout(reject, 30000);\n this.requestWebHidPermissions(async () => {\n this.logger.debug(\"Requesting web HID permissions\");\n const productId = this.deductProductId(originalDeviceLabel);\n\n const devList = await (window.navigator as any).hid.requestDevice({\n filters: [\n {\n vendorId: 0x3391,\n //vendorId: 0x046D,\n productId: productId || undefined\n },\n ],\n });\n clearTimeout(HIDPermissionTimeout);\n const deviceFound = await this.connectFromHidPermissions(devList, originalDeviceLabel);\n if(deviceFound){\n resolve(deviceFound);\n }\n else\n {\n reject();\n }\n console.debug(`CA: requestWebHidPermissions device found = ${ deviceFound } `);\n });\n });\n } catch (error) {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error('CA: WebHID permissions denied');\n return;\n }\n //\n }\n }\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n async connectFromHidPermissions (devList: any, originalDeviceLabel: string): Promise<boolean>\n /* eslint-enable */\n {\n\n this.activeDevice = null;\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n // SUCESSFUL connection!\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- from HIDWebPermission request \");\n return true;\n }\n else{\n this.logger.debug(\"CA: Connect FAIL requesting WebHID permissions\");\n return false;\n }\n }\n }\n\n // Called when the device sends an input report\n handleInputReport (event: PartialInputReportEvent): void {\n const reportID = event.reportId;\n // If reportId is not in the list, return immediately\n if (!this.handeledInputReportIds.includes(reportID)) {\n return;\n }\n\n const byte0 = event.data.getUint8(0);\n const byte1 = event.data.getUint8(1);\n\n ////this.logger.debug(`CA Received Input Report #${event.reportId}. byte0 = ${byte0}, byte1 = ${byte1}`);\n\n // Process device input\n const wordCommand = (byte1 << 8) + byte0;\n this.logger.debug(`CA received button press ${ this.formatHex(wordCommand) } reportID ${reportID} from Device`);\n this.handleDeviceButtonPress(wordCommand, reportID);\n }\n\n // called on sucessful connect to do initialization work\n async handleDeviceConnect (): Promise<void>\n {\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.handleInputReport = this.handleInputReport.bind(this);\n //\n this.activeDevice.addEventListener('inputreport', this.handleInputReport);\n this.numDeviceEventListeners++;\n console.debug(`Installed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n if(this.numDeviceEventListeners > 1 )\n {\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n this.logger.debug(`%c CA: *****WARNING ***** MULTIPLE EVENT LISTENERS ON DEVICE!!!`, 'color: red');\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n }\n\n this.currentProductID = this.activeDevice.productId;\n this.logger.debug(`Product ID: 0x${this.currentProductID.toString(16)}`);\n\n this.currentCallState = CALL_IDLE;\n\n // This could potentially change with different products, but for now this is\n // constant across all products.\n this.headsetOutputReportId = this.outputReportReportId;\n this.headsetInputReportId = this.outputReportReportId;\n this.vendorInputReportId = 4;\n\n this.handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n\n switch(this.currentProductID )\n {\n case 0x04: // BT1500\n this.flagSupport = JLFlagSupport;\n this.JLCommandSet = true;\n\n hookswFlag = JLhookswFlag;\n micMuteFlag = JLMicMuteFlag;\n break;\n\n case 0x18 : // ac-304\n this.flagSupport = 0x05;\n break;\n\n default:\n this.flagSupport = defaultFlagSupport;\n break;\n }\n\n this.logger.debug( `flagSupport = ${ this.formatHex(this.flagSupport) } `);\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n selectDevice (devList: PartialHIDDevice[], originalDeviceLabel : string): boolean {\n this.logger.debug(\"CA: SelectDevice\");\n\n const deviceLabel = originalDeviceLabel.toLowerCase();\n\n let deviceFound = false;\n devList.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n for (const collection of device.collections) {\n if ( (collection.usage === HEADSET_USAGE || collection.usage === PHONE_USAGE ) &&\n (collection.usagePage === HEADSET_USAGE_PAGE )) {\n this.activeDevice = device;\n deviceFound = true;\n if (collection.inputReports.length !== 0) {\n this.inputReportReportId = collection.inputReports[0].reportId;\n this.logger.debug(`CA inputReportReportId = ${this.inputReportReportId}`);\n }\n if (collection.outputReports.length !== 0) {\n this.outputReportReportId = collection.outputReports[0].reportId;\n this.logger.debug(`CA outputReportReportId = ${this.outputReportReportId}`);\n }\n break;\n }\n }\n }\n });\n return deviceFound;\n }\n\n async disconnect (): Promise<void> {\n if (this.activeDevice) {\n this.logger.debug(`CA: Disconnecting`);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n\n ////\n this.activeDevice.removeEventListener('inputreport', this.handleInputReport); \n this.numDeviceEventListeners--;\n console.debug(`Removed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n ////\n await this.activeDevice.close();\n this.logger.debug(`CA: Device closed`);\n this.activeDevice = null;\n this._deviceInfo = null;\n\n this.currentCallState = CALL_IDLE;\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: incomingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: outgoingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_outgoingCall);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n this.logger.debug(\"CA: Answer Call from UI\");\n this.activeConversationId = conversationId;\n if( autoAnswer)\n { // let the state machine know there is an incoming call\n this.logger.debug(\"CA: AutoAnswer\");\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n // answer call\n this.ParseStateEvents(ca_st_event_call_answer);\n }\n\n async rejectCall (): Promise<void> {\n this.logger.debug(\"CA: rejectCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this.logger.debug(\"CA: endCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async endAllCalls (): Promise<void> {\n this.logger.debug(\"CA: endAllCalls from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async setMute (value: boolean): Promise<void> {\n this.logger.debug(`CA: setMute. Value: ${value}`);\n\n // Set the global mute state- this is how Genesys keeps track of mute state.\n this.isMuted = value;\n // set the device state\n this.UpdateDeviceStatus (micMuteFlag, value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n this.logger.debug(`CA: setHold. Value: ${value}`);\n this.activeConversationId = conversationId;\n this.isHolding = value;\n }\n\n handleDeviceButtonPress (wordCommand: number, reportID: number): void {\n if (!this.activeDevice) {\n this.logger.error('do not have active device');\n return;\n }\n\n if(reportID === this.headsetInputReportId )\n {\n if( this.currentProductID === 0x18 ) //ac-304\n {\n\n switch (wordCommand)\n {\n\n case 0x1:\n case 0x05:\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // Don't do this- updateDeviceStatus instead\n // this.setMute(this.isMuted);\n\n this.UpdateDeviceStatus (micMuteFlag, this.isMuted);\n this.logger.debug(`CA: AC304 Mute update micMuteFlag = ${ this.formatHex(micMuteFlag) } this.isMuted = ${this.isMuted}`);\n\n break;\n }\n return;\n\n\n // This mode of operation will be enabled in a future firmware release\n // switch (wordCommand)\n // {\n // case 0x01: this.isMuted = false; break;\n // case 0x05: this.isMuted = true; break;\n // }\n\n // this.deviceMuteChanged({\n // isMuted: this.isMuted,\n // name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n // });\n\n // // send command back to device\n // this.setMute(this.isMuted);\n\n // return;\n }\n\n switch (wordCommand)\n {\n case JLmuteButtonToggle : // 0x0203\n case muteButtonToggle: // 0x13\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // send mute or unmute command back to device\n // this seems to help debounce button presses\n this.setMute(this.isMuted);\n\n break;\n\n // call rejected if call incoming\n case ca_dev_event_hooksw_off: //0x00\n this.ParseStateEvents(ca_st_event_hooksw_off);\n break;\n\n // Answer Incomming Call\n case ca_dev_event_hooksw_on : //0x01\n this.ParseStateEvents(ca_st_event_hooksw_on);\n break;\n\n // hang up\n case ca_dev_event_busy: //0x02\n this.ParseStateEvents(ca_st_event_busy);\n break;\n\n }\n }\n else if( reportID === this.vendorInputReportId)\n {\n switch (wordCommand)\n {\n case ca_dev_event_ans_confirm : //0x02\n this.ParseStateEvents(ca_st_event_answerConfirm);\n break;\n }\n }\n else\n {\n console.debug(`CA: Unhandeled input report #${reportID.toString(16)}`);\n }\n\n } // handleDeviceButtonPress\n\n\n // This is the main call control engine. State dependant events from the device\n // and/or the UI are handled here.\n ParseStateEvents (CAStateEvent: number): void\n {\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n switch(CAStateEvent)\n {\n case ca_st_event_incomingCall:\n this.ChangeCallState(CALL_INCOMING);\n break;\n\n case ca_st_event_outgoingCall:\n this.ChangeCallState(CALL_OUTGOING);\n break;\n\n }\n break;\n\n case CALL_INCOMING:\n switch(CAStateEvent)\n {\n // pickup\n case ca_st_event_hooksw_on: // call answer from Device\n case ca_st_event_call_answer: // call answer from UI\n this.ChangeCallState(CALL_ANSWERING);\n break;\n\n // reject\n case ca_st_event_hooksw_off: // call reject from Device\n case ca_st_event_callEnd: // call reject from UI\n this.ChangeCallState(CALL_REJECTING);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ANSWERING:\n switch(CAStateEvent)\n {\n case ca_st_event_answerConfirm:\n this.ChangeCallState(CALL_ACTIVE);\n break;\n\n case ca_st_event_callEnd:\n case ca_st_event_hooksw_off:\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ACTIVE:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_OUTGOING:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n } // switch callstate\n\n }\n\n // Events handled in the previous function may change the global call state.\n // This is handeled here. Entering a new state may require work to be done- this\n // is also handled here.\n ChangeCallState (newstate: string): void\n {\n this.logger.debug(`%cCA SETTING STATE: ${newstate}`, 'color: red');\n this.currentCallState = newstate;\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n this.deviceStatus = 0;\n break;\n\n case CALL_INCOMING:\n this.UpdateDeviceStatus(ringFlag, true);\n break;\n\n case CALL_OUTGOING:\n case CALL_ANSWERING:\n this.UpdateDeviceStatus(hookswFlag, true);\n // if call answered muted, unmute\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n break;\n\n case CALL_ACTIVE:\n this.UpdateDeviceStatus(ringFlag, false);\n\n this.deviceAnsweredCall({ name: 'CallOffHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_END:\n this.UpdateDeviceStatus(hookswFlag, false);\n this.deviceEndedCall({ name: 'CallOnHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_REJECTING:\n this.UpdateDeviceStatus(ringFlag, false);\n this.deviceRejectedCall({ name: 'CallRejected', conversationId: this.activeConversationId });\n break;\n }\n }\n\n // This will set/clear bits in the hardware as needed.\n UpdateDeviceStatus (flag: number, value: boolean): void\n {\n if(!(flag & this.flagSupport)) {\n console.debug(`CA: UpdateDeviceStatus called with unsupported flag ${flag.toString(16)}... returning`);\n return;\n }\n\n this.deviceStatus = value ? this.deviceStatus | flag : this.deviceStatus & ~flag;\n this.SendCommandToDevice(this.deviceStatus);\n }\n\n // ResetDeviceStatus ()\n // {\n // this.deviceStatus = 0x0000;\n // this.SendCommandToDevice(this.deviceStatus);\n // }\n\n // sends output report to device\n async SendCommandToDevice ( value: number): Promise<void> {\n if(this.JLCommandSet)\n {\n\n this.gCmdBuf[0] = value >> 8;\n this.gCmdBuf[1] = value & 0x00ff;\n\n }\n else\n {\n this.gCmdBuf[0] = value;\n }\n ////this.logger.debug(`CA: Command assembled: ${this.gCmdBuf[0].toString(16)}, ${this.gCmdBuf[1].toString(16)} `);\n ////this.logger.debug(`CA: reportID ${this.headsetOutputReportId.toString(16)} `);\n await this.activeDevice.sendReport(this.headsetOutputReportId, this.gCmdBuf );\n this.logger.debug(`CA: Sent Command to Device. Value: ${ this.formatHex(this.gCmdBuf[0])}, ${ this.formatHex(this.gCmdBuf[1])} `);\n\n this.gCmdBuf[0] = 0;\n this.gCmdBuf[1] = 0;\n }\n\n formatHex (value:number): string {\n return `0x${value.toString(16).padStart(2, '0')}`;\n }\n\n // Creates a mock device that is in scope for Jest tests that\n // require this.activeDevice to be valid\n async HidMockDeviceInit (): Promise<PartialHIDDevice>\n {\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.activeDevice = deviceLists[0];\n return this.activeDevice;\n }\n ////\n // Getter and Setter for currentCallState\n get _currentCallState (): string {\n return this.currentCallState;\n }\n\n set _currentCallState (s: string) {\n this.currentCallState = s;\n }\n // Getter and Setter for deviceStatus\n get _deviceStatus (): number {\n return this.deviceStatus;\n }\n\n set _deviceStatus (s: number) {\n this.deviceStatus = s;\n }\n\n // Getter for activeConversationId\n get _activeConversationId (): string {\n return this.activeConversationId;\n }\n\n // Getter for currentCallInfo\n get _currentCallInfo (): CallInfo {\n return this.currentCallInfo;\n }\n\n // Getter for isHolding\n get holdState (): boolean {\n return this.isHolding;\n }\n\n get _headsetInputReportId (): number {\n return this.headsetInputReportId;\n }\n\n get _vendorInputReportId (): number {\n return this.vendorInputReportId;\n }\n\n\n get _headsetOutputReportId (): number {\n return this.headsetOutputReportId;\n }\n\n\n get muteState (): boolean {\n return this.isMuted;\n }\n\n set muteState (s: boolean) {\n this.isMuted = s;\n }\n\n set _JLCommandSet (s: boolean) {\n this.JLCommandSet= s;\n }\n\n set _handeledInputReportIds (id: number) {\n this.handeledInputReportIds[0] = id;\n }\n\n set _flagSupport (val: number) {\n this.flagSupport = val;\n }\n\n set _currentProductID (val: number) {\n this.currentProductID = val;\n }\n\n} // End CA Vendor Implementation class\n","export enum PlantronicsCallEventCodes {\n Unknown = 0,\n AcceptCall = 1,\n TerminateCall = 2,\n HoldCall = 3,\n ResumeCall = 4,\n Flash = 5,\n CallInProgress = 6,\n CallRinging = 7,\n CallEnded = 8,\n TransferToHeadset = 9,\n TransferToSpeaker = 10,\n Mute = 11,\n Unmute = 12,\n MobileCallRinging = 13,\n MobileCallInProgress = 14,\n MobileCallEnded = 15,\n DOn = 16,\n DOff = 17,\n CallIdle = 18,\n Play = 19,\n Pause = 20,\n Stop = 21,\n DTMLKey = 22,\n RejectCall = 23,\n MakeCall = 24,\n Hook = 25,\n HookIdle = 26,\n HookDocked = 27,\n HookUndocked = 28,\n BaseEvent = 29,\n CallAnsweredAndEnded = 30,\n CallUnansweredAndEnded = 31,\n DeviceChange = 32,\n DeviceArrived = 33,\n DeviceRemoved = 34,\n}\n\nexport interface PlantronicsCallEvent {\n Action: PlantronicsCallEventCodes;\n CallId: {\n ConferenceId: number;\n Id: number;\n InConference: boolean;\n };\n CallSource: string;\n DeviceEvent: number;\n}\n\n// Don't need this, because CallEvents[code] will return the name\n// const reverseCallEvents: Dictionary;\n// for (const eventName of Object.keys(CallEvents)) {\n// const code = CallEvents[eventName];\n// reverseCallEvents[code] = eventName;\n// }\n\n// export function getEventName (code) {\n// return reverseCallEvents[code];\n// }\n","import fetchJsonp from 'fetch-jsonp';\nimport { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { PlantronicsCallEvent, PlantronicsCallEventCodes } from './plantronics-call-events';\nimport browserama from 'browserama';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../../types/call-info';\nimport { UpdateReasons } from '../../../types/headset-states';\n\nconst defaultAppName = 'genesys-cloud-headset-library';\n\n/**\n * TODO: This looks like a feasible way to implement the polling we need\n * https://makeitnew.io/polling-using-rxjs-8347d05e9104\n * */\nexport default class PlantronicsService extends VendorImplementation {\n private static instance: PlantronicsService;\n activePollingInterval = 2000;\n connectedDeviceInterval = 6000;\n disconnectedDeviceInterval = 2000;\n deviceIdRetryInterval = 2000;\n vendorName = 'Plantronics';\n pluginName: string;\n apiHost = 'https://127.0.0.1:32018/Spokes';\n isActive = false;\n disableEventPolling = false;\n config: ImplementationConfig;\n deviceStatusTimer = null;\n isRetry = false;\n _deviceInfo: DeviceInfo;\n callEventsTimerId: any;\n deviceStatusTimerId: any;\n incomingConversationId: string;\n callMappings: {[callIdOrConversationId in string|number]: string|number} = {};\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.config = config;\n this.pluginName = config.appName || defaultAppName;\n this._deviceInfo = null;\n this.callEventsTimerId = null;\n this.deviceStatusTimerId = null;\n this.incomingConversationId = null;\n }\n\n private _createCallMapping (conversationId: string): number {\n const ID_LENGTH = 8;\n const callId = Math.round(Math.random() * Math.pow(10, ID_LENGTH)); // Generate random number\n\n this.callMappings[conversationId] = callId;\n this.callMappings[callId] = conversationId;\n\n this.logger.info('Created callId mapping for plantronics headset', {\n conversationId,\n plantronicsCallId: callId,\n });\n\n return callId;\n }\n\n clearTimeouts (): void {\n clearTimeout(this.callEventsTimerId);\n clearTimeout(this.deviceStatusTimerId);\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n // includes vendor name or vendorId (chrome only)\n const lowerLabel = label.toLowerCase();\n return ['plantronics', 'plt', 'poly', '(047f:'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n static getInstance (config: ImplementationConfig): PlantronicsService {\n if (!PlantronicsService.instance || config.createNew) {\n PlantronicsService.instance = new PlantronicsService(config);\n }\n\n return PlantronicsService.instance;\n }\n\n get deviceName (): string | undefined {\n return this._deviceInfo?.ProductName;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n pollForCallEvents (): void {\n if (this.callEventsTimerId) {\n clearTimeout(this.callEventsTimerId);\n this.callEventsTimerId = null;\n }\n\n // if(this.isConnected && this.isActive && !this.disableEventPolling) {\n if(this.isConnected && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR CALL EVENTS ****');\n this.getCallEvents();\n }\n this.callEventsTimerId = setTimeout(() => {\n this.pollForCallEvents();\n }, this.activePollingInterval);\n }\n\n pollForDeviceStatus (): void {\n if (this.deviceStatusTimerId) {\n clearTimeout(this.deviceStatusTimerId);\n this.deviceStatusTimerId = null;\n }\n\n if (this.isConnected && !this.isConnecting && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR DEVICE STATUS ****');\n this.getDeviceStatus();\n }\n this.deviceStatusTimerId = setTimeout(() => {\n this.pollForDeviceStatus();\n }, this.isDeviceAttached ? this.connectedDeviceInterval : this.disconnectedDeviceInterval\n );\n }\n\n async _makeRequestTask (endpoint: string, isRetry?: boolean): Promise<any> {\n return await this._makeRequest(endpoint, isRetry);\n }\n\n _fetch (url: string): Promise<fetchJsonp.Response> {\n return fetchJsonp(url);\n }\n\n async _makeRequest (endpoint: string, isRetry: boolean | undefined): Promise<any> {\n const plantronicsInstance = PlantronicsService.instance;\n return this._fetch(`${this.apiHost}${endpoint}`)\n .then(response => {\n return response.json();\n })\n .then(response => {\n // we should just eat the response if we are not connected and not trying to connect\n if (!this.isConnected && !this.isConnecting) {\n return;\n }\n\n if (response.ok === false || response.Type_Name === 'Error') {\n if (response.status === 404) {\n if (isRetry) {\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.disconnect();\n const error = new Error(\n 'Headset: Failed connection to middleware. Headset features unavailable.'\n );\n (error as any).handled = true;\n this.logger.info(error);\n return Promise.reject(error);\n }\n return this._makeRequestTask(endpoint, true);\n }\n\n if (browserama.isFirefox) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n\n return Promise.reject(response);\n } else {\n if (!plantronicsInstance) {\n return Promise.reject(new Error('Application destroyed.'));\n }\n !this.isConnected && this.changeConnectionStatus({ isConnected: true, isConnecting: this.isConnecting });\n return response;\n }\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n async _checkIsActiveTask (): Promise<void> {\n const calls = await this._getActiveCalls();\n this.isActive = !!calls.length;\n }\n\n async _getActiveCalls (): Promise<any[]> {\n let result;\n try {\n const request = await this._makeRequestTask(`/CallServices/CallManagerState?`);\n result = request;\n } catch (e) {\n this.logger.info('Error making request for active calls', e);\n return [];\n }\n\n if (!Array.isArray(result?.Result?.Calls)) {\n return [];\n }\n return result.Result.Calls.filter(call => call.Source === this.pluginName);\n // return result?.Result?.Calls.filter(call => call.Source === this.pluginName);\n }\n\n async getCallEvents (): Promise<any> {\n let response;\n try {\n response = await this._makeRequestTask(`/CallServices/CallEvents?name=${this.pluginName}`);\n } catch (e) {\n this.logger.info('Error making request for call events', e);\n return;\n }\n if (response.Result) {\n response.Result.forEach((event: PlantronicsCallEvent) => {\n const eventType = PlantronicsCallEventCodes[event.Action];\n\n if (!eventType) {\n return this.logger.info('Unknown call event from headset', { event });\n }\n\n const eventInfo = { name: eventType, event };\n this.logger.debug('headset info', eventInfo);\n this.callCorrespondingFunction(eventInfo);\n });\n }\n }\n\n async getDeviceStatus (): Promise<void> {\n await this._makeRequestTask(`/DeviceServices/Info`)\n .then(response => {\n this._deviceInfo = response.Result;\n })\n .catch(err => {\n const noDevicesError = err.Err && err.Err.Description.includes('no supported devices');\n if (!noDevicesError) {\n this.logger.info('Error making request for device status', err);\n }\n });\n }\n\n callCorrespondingFunction (eventInfo: {name: string, event?: PlantronicsCallEvent }): void {\n const callId = eventInfo.event.CallId.Id;\n const conversationId = this.callMappings[callId] as string;\n\n switch (eventInfo.name) {\n case 'AcceptCall':\n this.deviceAnsweredCall({ ...eventInfo, conversationId });\n break;\n case 'RejectCall':\n this.endCall(conversationId);\n this.deviceRejectedCall({ name: eventInfo.name, conversationId: this.incomingConversationId });\n break;\n case 'TerminateCall':\n this.setMute(false);\n this.setHold(conversationId, false);\n this.deviceEndedCall({ ...eventInfo, conversationId });\n break;\n case 'CallEnded':\n delete this.callMappings[callId];\n delete this.callMappings[conversationId];\n this._checkIsActiveTask();\n break;\n case 'Mute':\n this.deviceMuteChanged({ isMuted: true, ...eventInfo, conversationId });\n break;\n case 'Unmute':\n this.deviceMuteChanged({ isMuted: false, ...eventInfo, conversationId });\n break;\n case 'HoldCall':\n this.deviceHoldStatusChanged({ holdRequested: true, ...eventInfo, conversationId });\n break;\n case 'ResumeCall':\n this.deviceHoldStatusChanged({ holdRequested: false, ...eventInfo, conversationId });\n break;\n default:\n this.logger.info('A headset event has occurred', { ...eventInfo, conversationId });\n this.deviceEventLogs({ ...eventInfo, conversationId });\n }\n }\n\n async unregisterPlugin (): Promise<any> {\n try {\n return await this._makeRequestTask(`/SessionManager/UnRegister?name=${this.pluginName}`);\n } catch (response: any) {\n if (response?.Err?.Description === 'Invalid plugin name') {\n return;\n }\n\n this.logger.error(response);\n }\n }\n\n async connect (): Promise<any> {\n !this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n this.pollForDeviceStatus();\n this.pollForCallEvents();\n await this.unregisterPlugin();\n return this._makeRequestTask(`/SessionManager/Register?name=${this.pluginName}`)\n .catch(response => {\n if (response.Err && response.Err.Description === 'Plugin exists') {\n return this.logger.debug('Plugin already exists', response);\n }\n\n return Promise.reject(response);\n })\n .then(() =>\n this._makeRequestTask(`/SessionManager/IsActive?name=${this.pluginName}&active=true`)\n )\n .catch(response => {\n if (response.Err && !response.isError) {\n return this.logger.debug('Is Active', response);\n }\n\n return Promise.reject(response);\n })\n .then(response => {\n if (response?.Result !== true) {\n return Promise.reject(response);\n }\n\n return this._makeRequestTask(`/UserPreference/SetDefaultSoftPhone?name=${this.pluginName}`);\n })\n .then(() => {\n this.getDeviceStatus();\n })\n .then(() => {\n return this._getActiveCalls();\n })\n .then(calls => {\n if (calls.length) {\n this.isActive = true;\n this.logger.warn('Plantronics headset should be in vanilla state but is reporting active call state.');\n } else {\n return this.getCallEvents();\n }\n })\n .catch(err => {\n if (!err?.handled) {\n return Promise.reject(err);\n }\n return this.logger.error('Unable to properly connect headset');\n })\n .finally(() => {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n });\n }\n\n async disconnect (clearReason?: UpdateReasons): Promise<any> {\n if (!this.isConnected) {\n return;\n }\n if (clearReason !== 'alternativeClient') {\n await this.unregisterPlugin();\n }\n this.clearTimeouts();\n this._deviceInfo = null;\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.isActive = false;\n }\n\n incomingCall (callInfo: CallInfo): Promise<any> {\n this.logger.info('Inside incomingCall of selected implementation (Plantronics/Poly)');\n const { conversationId, contactName } = callInfo;\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n this.incomingConversationId = conversationId;\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.logger.info('params of endpoint', params);\n\n this.isActive = true;\n return this._makeRequestTask(`/CallServices/IncomingCall${params}`);\n }\n\n async outgoingCall ({ conversationId, contactName }: CallInfo): Promise<any> {\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.isActive = true;\n await this._makeRequestTask(`/CallServices/OutgoingCall${params}`);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n if (autoAnswer) {\n await this.incomingCall({ conversationId });\n }\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n this.isActive = true;\n this.incomingConversationId = null;\n return this._makeRequestTask(`/CallServices/AnswerCall${params}`);\n }\n\n rejectCall (conversationId: string): Promise<any> {\n this.incomingConversationId = null;\n return this.endCall(conversationId);\n }\n\n async endCall (conversationId: string): Promise<any> {\n let params = `?name=${this.pluginName}`;\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n const response = await this._makeRequestTask(`/CallServices/TerminateCall${params}`);\n this.setMute(false);\n this.setHold(conversationId, false);\n await this.getCallEvents();\n this._checkIsActiveTask();\n return response;\n }\n\n async endAllCalls (): Promise<void> {\n const calls = await this._getActiveCalls();\n calls.forEach(call => this.endCall(this.callMappings[call.CallId] as string));\n }\n\n async setMute (value: boolean): Promise<any> {\n const response = await this._makeRequestTask(\n `/CallServices/MuteCall?name=${this.pluginName}&muted=${value}`\n );\n return response;\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n const response = await this._makeRequestTask(\n `/CallServices/${value ? 'HoldCall' : 'ResumeCall'}${params}`\n );\n\n return response;\n }\n}","export interface SennheiserPayload {\n CallID?: string;\n DNDOption?: 'Yes' | 'No';\n Event?: SennheiserEvents;\n EventType?: SennheiserEventTypes;\n HeadsetName?: string;\n HeadsetType?: string;\n MuteSupport?: 'Yes' | 'No';\n OffHookSupport?: 'Yes' | 'No';\n RedialSupport?: 'Yes' | 'No';\n ReturnCode?: number;\n SPName?: string;\n SPIconImage?: string;\n}\n\nexport enum SennheiserEvents {\n SocketConnected = 'SocketConnected',\n EstablishConnection = 'EstablishConnection',\n SPLogin = 'SPLoggedIn',\n SPLogout = 'SPLoggedOut',\n TerminateConnection = 'TerminateConnection',\n IncomingCall = 'IncomingCall',\n IncomingCallRejected = 'InCallRejected',\n IncomingCallAccepted = 'InCallAccepted',\n OutgoingCall = 'OutgoingCall',\n CallEnded = 'CallEnded',\n SystemInformation = 'SystemInformation',\n HeadsetConnected = 'HeadsetConnected',\n HeadsetDisconnected = 'HeadsetDisconnected',\n Hold = 'CallHold',\n Resume = 'HeldCallResumed',\n MuteFromApp = 'MuteHeadset',\n UnmuteFromApp = 'UnmuteHeadset',\n MuteFromHeadset = 'MuteSoftphone',\n UnmuteFromHeadset = 'UnmuteSoftphone',\n}\n\nexport enum SennheiserEventTypes {\n Request = 'Request', // outgoing actions\n Notification = 'Notification', // typically actions from headset\n Ack = 'Acknowledgement',\n}\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../..';\nimport * as utils from '../../../utils';\nimport { SennheiserPayload, SennheiserEvents, SennheiserEventTypes } from './types';\n\nconst websocketUri = 'wss://127.0.0.1:41088';\n\nexport default class SennheiserService extends VendorImplementation {\n private static instance: SennheiserService;\n\n connectTimeout = 5000;\n\n vendorName = 'Sennheiser';\n isActive = false;\n devices = null;\n activeDeviceId = null;\n websocketConnected = false;\n\n websocket = null;\n deviceInfo: DeviceInfo = null;\n ignoreAcknowledgement = false;\n\n static getInstance (config: ImplementationConfig): SennheiserService {\n if (!SennheiserService.instance || config.createNew) {\n SennheiserService.instance = new SennheiserService(config);\n }\n\n return SennheiserService.instance;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['senn', 'epos'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n get deviceName (): string {\n return this.deviceInfo && this.deviceInfo.ProductName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n this.ignoreAcknowledgement = true;\n return this.endCall(conversationId);\n }\n\n _handleError (payload: SennheiserPayload): void {\n this.logger.error('Non-zero return code from sennheiser', payload);\n }\n _handleAck (payload: SennheiserPayload): void {\n this.logger.debug(`Received Ack for ${payload.Event}`);\n }\n\n _sendMessage (payload: SennheiserPayload): void {\n this.logger.debug('sending sennheiser message', payload);\n this.websocket.send(JSON.stringify(payload));\n }\n\n _registerSoftphone (): void {\n const payload: SennheiserPayload = {\n Event: SennheiserEvents.EstablishConnection,\n EventType: SennheiserEventTypes.Request,\n SPName: 'Genesys Cloud Softphone',\n SPIconImage: 'SPImage.ico',\n RedialSupport: 'No',\n OffHookSupport: 'No',\n MuteSupport: 'Yes',\n DNDOption: 'No',\n };\n\n this._sendMessage(payload);\n }\n\n connect (): Promise<void> {\n this.ignoreAcknowledgement = false;\n !this.isConnecting && this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n const socket = new WebSocket(websocketUri);\n socket.onopen = this.webSocketOnOpen.bind(this);\n socket.onclose = this.webSocketOnClose.bind(this);\n socket.onmessage = this._handleMessage.bind(this);\n this.websocket = socket;\n\n return Promise.resolve();\n }\n\n webSocketOnOpen = (): void => {\n this.websocketConnected = true;\n this.logger.info('websocket open the sennheiser software');\n };\n\n webSocketOnClose (err: { code: number, reason: string, wasClean: boolean }): void {\n this.websocketConnected = false;\n if (!err.wasClean) {\n this.logger.error(err);\n }\n if (!this.isConnected) {\n this.logger.error(\n new Error('Failed to connect to sennheiser software. Make sure it is installed')\n );\n if (utils.isFirefox()) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n }\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n\n disconnect (): Promise<void> {\n if (!this.isConnected) {\n return Promise.resolve();\n }\n\n this._sendMessage({\n Event: SennheiserEvents.TerminateConnection,\n EventType: SennheiserEventTypes.Request,\n });\n\n return Promise.resolve();\n }\n\n setMute (value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.MuteFromApp : SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n return Promise.resolve();\n }\n\n setHold (conversationId: string, value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.Hold : SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n incomingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n this._sendMessage({\n Event: SennheiserEvents.IncomingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callInfo.conversationId,\n });\n\n return Promise.resolve();\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.incomingCall({ conversationId });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallAccepted,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n rejectCall (conversationId: string): Promise<void> {\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallRejected,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n outgoingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n const { conversationId } = callInfo;\n\n this._sendMessage({\n Event: SennheiserEvents.OutgoingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<void> {\n if (!hasOtherActiveCalls) {\n this._sendMessage({\n Event: SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request\n });\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n }\n this._sendMessage({\n Event: SennheiserEvents.CallEnded,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n endAllCalls (): Promise<void> {\n this.logger.warn('There is no functionality defined for SennheiserService.endAllCalls()');\n return Promise.resolve();\n }\n\n _handleMessage (message: { data: string }): void {\n let payload: SennheiserPayload;\n try {\n payload = JSON.parse(message.data);\n } catch (err) {\n this.logger.error(err);\n this.logger.error('Failed to parse sennheiser payload', { message });\n return;\n }\n this.logger.debug('incoming sennheiser message', payload);\n\n if (payload.ReturnCode) {\n this._handleError(payload);\n return;\n }\n\n const conversationId = payload.CallID;\n\n if (!this.ignoreAcknowledgement) {\n switch (payload.Event) {\n case SennheiserEvents.SocketConnected:\n this._registerSoftphone();\n break;\n case SennheiserEvents.EstablishConnection:\n this._sendMessage({\n Event: SennheiserEvents.SPLogin,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.SPLogin:\n if (!this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.SystemInformation,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.HeadsetConnected:\n if (payload.HeadsetName) {\n this.deviceInfo = {\n deviceName: payload.HeadsetName,\n headsetType: payload.HeadsetType,\n };\n }\n break;\n case SennheiserEvents.HeadsetDisconnected:\n if (payload.HeadsetName === this.deviceName) {\n this.deviceInfo = null;\n }\n\n break;\n case SennheiserEvents.IncomingCallAccepted:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceAnsweredCall({ name: payload.Event, conversationId });\n }\n\n break;\n case SennheiserEvents.Hold:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: true, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.Resume:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: false, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.MuteFromHeadset:\n this.deviceMuteChanged({ isMuted: true, name: payload.Event });\n break;\n case SennheiserEvents.UnmuteFromHeadset:\n this.deviceMuteChanged({ isMuted: false, name: payload.Event });\n break;\n case SennheiserEvents.CallEnded:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n this.deviceEndedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.IncomingCallRejected:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceRejectedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.TerminateConnection:\n if (this.websocket.readyState === 1) {\n this.websocket.close();\n }\n this.websocket = null;\n break;\n default:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n // this is mostly for testing purposes so we can confirm reciept of events we don't normally care about\n this._handleAck(payload);\n }\n break;\n }\n }\n }\n}","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport var TimeoutError = createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nexport function timeout(config, schedulerArg) {\n var _a = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=defaultIfEmpty.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () { return (hasValue ? subscriber.complete() : subscriber.error(errorFactory())); }));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); }));\n };\n}\n//# sourceMappingURL=first.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport {\n IApi,\n CallControlFactory,\n SignalType,\n ICallControl,\n ErrorType,\n init,\n RequestedBrowserTransport,\n webHidPairing,\n IDevice,\n} from '@gnaudio/jabra-js';\nimport { CallInfo } from '../../..';\nimport { Subscription, firstValueFrom, Observable, TimeoutError, EmptyError } from 'rxjs';\nimport { defaultIfEmpty, filter, first, map, timeout } from 'rxjs/operators';\nimport { isCefHosted } from '../../../utils';\n\nexport default class JabraService extends VendorImplementation {\n private static instance: JabraService;\n private headsetEventSubscription: Subscription;\n static connectTimeout = 5000;\n\n isActive = false;\n _deviceInfo: DeviceInfo;\n isMuted = false;\n isHeld = false;\n version: string = null;\n _connectDeferred: any; // { resolve: Function, reject: Function }\n jabraSdk: IApi;\n callControlFactory: CallControlFactory;\n callControl: ICallControl;\n ongoingCalls = 0;\n callLock = false;\n pendingConversationId: string;\n pendingConversationIsOutbound: boolean;\n activeConversationId: string;\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n if (['jabra'].some((searchVal) => lowerLabel.includes(searchVal))) {\n return true;\n }\n return false;\n }\n\n static getInstance (config: ImplementationConfig): JabraService {\n if (!JabraService.instance || config.createNew) {\n JabraService.instance = new JabraService(config);\n }\n\n return JabraService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get deviceName (): string {\n return this.deviceInfo?.deviceName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetState (): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n _processEvents (callControl: ICallControl): void {\n this.headsetEventSubscription = callControl.deviceSignals.subscribe(async (signal) => {\n if (!this.callLock) {\n this.logger.debug(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n return;\n }\n\n switch (signal.type) {\n case SignalType.HOOK_SWITCH:\n // do nothing when the end call button is pressed and we have an incoming call while we have an active call\n if (this.activeConversationId && this.pendingConversationId) {\n this.logger.info('ignoring hookswitch event because there is an active and incoming call');\n break;\n }\n\n if (signal.value) {\n callControl.offHook(true);\n callControl.ring(false);\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({\n name: 'CallOffHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n }\n } else {\n callControl.mute(false);\n callControl.hold(false);\n callControl.offHook(false);\n this.deviceEndedCall({\n name: 'CallOnHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n try {\n callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.activeConversationId = null;\n this.callLock = false;\n }\n }\n break;\n case SignalType.FLASH:\n case SignalType.ALT_HOLD:\n this.isHeld = !this.isHeld;\n callControl.hold(this.isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: this.isHeld,\n name: this.isHeld ? 'OnHold' : 'ResumeCall',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.PHONE_MUTE:\n this.isMuted = !this.isMuted;\n callControl.mute(this.isMuted);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.REJECT_CALL:\n callControl.ring(false);\n this.deviceRejectedCall({\n name: SignalType[signal.type],\n conversationId: this.pendingConversationId,\n });\n this.pendingConversationId = null;\n try {\n // we only want to release call controls if there isn't another call active\n if (!this.activeConversationId) {\n callControl.releaseCallLock();\n this.callLock = false;\n }\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n });\n }\n\n async setMute (value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isMuted = value;\n this.callControl.mute(value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isHeld = value;\n this.callControl.hold(value);\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.callControl.ring(true);\n }\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n }\n\n if (!this.callLock) {\n return;\n }\n\n this.callControl.ring(false);\n this.callControl.offHook(true);\n }\n\n async rejectCall (): Promise<void> {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.ring(false);\n this.pendingConversationId = null;\n if (!this.activeConversationId) {\n try {\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.pendingConversationId = null;\n this.callLock = false;\n }\n }\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this.callControl.offHook(true);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n if (hasOtherActiveCalls) {\n return;\n }\n\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = null;\n }\n\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n async endAllCalls (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.activeConversationId = null;\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n isDeviceInList (device: IDevice, deviceLabel: string): boolean {\n return deviceLabel.toLowerCase().includes(device?.name?.toLowerCase());\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (this.isConnecting) {\n return;\n }\n\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n if (!this.jabraSdk) {\n this.jabraSdk = await this.initializeJabraSdk();\n this.callControlFactory = this.createCallControlFactory(this.jabraSdk);\n }\n\n const deviceLabel = originalDeviceLabel.toLocaleLowerCase();\n\n this._deviceInfo = null;\n\n let selectedDevice;\n if (await this.deviceHasPermissions(deviceLabel)) {\n selectedDevice = await this.getPreviouslyConnectedDevice(deviceLabel);\n\n if (!selectedDevice) {\n console.warn('Unable to find appropriate device. Setting state to \"Not Running\" to allow a retry\"', deviceLabel);\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n return;\n }\n } else {\n try {\n selectedDevice = await this.getDeviceFromWebhid(deviceLabel);\n } catch (e) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n return;\n }\n }\n\n this.callControl = await this.callControlFactory.createCallControl(selectedDevice);\n await this.resetHeadsetState();\n this._processEvents(this.callControl);\n this._deviceInfo = {\n ProductName: selectedDevice.name,\n deviceName: selectedDevice.name,\n attached: true,\n deviceId: selectedDevice.id.toString(),\n };\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n async deviceHasPermissions (deviceLabel: string): Promise<boolean> {\n const allowedHIDDevices = await (window.navigator as any).hid.getDevices();\n let deviceFound = false;\n allowedHIDDevices.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n deviceFound = true;\n }\n });\n return deviceFound;\n }\n\n async getPreviouslyConnectedDevice (deviceLabel: string): Promise<IDevice> {\n const waitForDevice: Observable<IDevice> = this.jabraSdk.deviceList.pipe(\n defaultIfEmpty(null),\n first((devices: IDevice[]) => !!devices.length),\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n timeout(15000)\n );\n\n return firstValueFrom(waitForDevice).catch((err) => {\n if (err instanceof TimeoutError || err instanceof EmptyError) {\n return null;\n }\n\n return Promise.reject(err);\n });\n }\n\n async getDeviceFromWebhid (deviceLabel: string): Promise<IDevice> {\n this.requestWebHidPermissions(webHidPairing);\n\n return firstValueFrom(\n this.jabraSdk.deviceList.pipe(\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n first(),\n timeout(30000)\n )\n ).catch((err) => {\n if (err instanceof TimeoutError) {\n err = new Error('The selected device was not granted WebHID permissions');\n }\n this.logger.error(err);\n return Promise.reject(err);\n });\n }\n\n /* istanbul ignore next */\n async initializeJabraSdk (): Promise<IApi> {\n return init({\n appId: 'softphone-vendor-headsets',\n appName: 'Softphone Headset Library',\n transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK,\n });\n }\n\n /* istanbul ignore next */\n createCallControlFactory (sdk: IApi): CallControlFactory {\n return new CallControlFactory(sdk);\n }\n\n checkForCallLockError (message: unknown, type: unknown): boolean {\n return (\n (type as ErrorType) === ErrorType.SDK_USAGE_ERROR && (message as string).includes('call lock')\n );\n }\n\n async resetHeadsetState (): Promise<void> {\n if (!this.callControl) {\n return;\n }\n\n try {\n await this.callControl.takeCallLock();\n this.callControl.hold(false);\n this.callControl.mute(false);\n this.callControl.offHook(false);\n this.callControl.releaseCallLock();\n } catch (e) {\n this.logger.warn('Failed to takeCallLock in order to resetHeadsetState. Ignoring reset.');\n }\n }\n\n async disconnect (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.resetHeadsetState();\n this.callLock = false;\n if (this.activeConversationId) {\n this.activeConversationId = null;\n }\n this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();\n (this.isConnected || this.isConnecting) &&\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n}","export enum JabraNativeCommands {\n Ring = 'ringer',\n Offhook = 'offhook',\n Mute = 'mute',\n Hold = 'hold',\n}\n\nexport interface JabraNativeHeadsetState {\n ringing: boolean;\n offHook: boolean;\n}\n\nexport const HeadsetEvent = 'JabraEvent';\nexport const DeviceEvent = 'JabraDeviceAttached';\n\ntype HeadsetEvent = typeof HeadsetEvent;\ntype DeviceEvent = typeof DeviceEvent;\n\nexport interface JabraHeadsetEvent {\n msg: HeadsetEvent;\n eventName: JabraNativeEventNames;\n value?: any;\n hidInput: string;\n}\n\nexport interface JabraDeviceEvent {\n msg: DeviceEvent;\n attached: boolean;\n deviceId: number;\n deviceName: string;\n}\n\nexport enum JabraNativeEventNames {\n OffHook = 'OffHook',\n Mute = 'Mute',\n Hold = 'Flash',\n RejectCall = 'RejectCall',\n}\n","import { debounce, isCefHosted, requestCefPromise, timedPromise } from '../../../../utils';\nimport { VendorImplementation, ImplementationConfig } from '../../vendor-implementation';\nimport DeviceInfo from '../../../../types/device-info';\nimport { CallInfo } from '../../../../types/call-info';\nimport { JabraNativeHeadsetState, JabraHeadsetEvent, HeadsetEvent, JabraDeviceEvent, DeviceEvent, JabraNativeCommands, JabraNativeEventNames } from './types';\n\nconst connectTimeout = 5000;\nconst offHookThrottleTime = 500;\n\nexport default class JabraNativeService extends VendorImplementation {\n private static instance: JabraNativeService;\n\n isActive = false;\n devices: Map<string, DeviceInfo> = null;\n activeDeviceId: string = null;\n headsetState: JabraNativeHeadsetState = null;\n ignoreNextOffhookEvent = false;\n cefSupportsJabra = true;\n pendingConversationId: string;\n activeConversationId: string;\n pendingConversationIsOutbound: boolean;\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n this.headsetState = { ringing: false, offHook: false };\n this.devices = new Map<string, DeviceInfo>();\n\n if (isCefHosted()) {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers();\n } else {\n this.waitForHostedContext();\n }\n }\n }\n\n private isHostedContextInitialized (): boolean {\n return (window as any).Orgspan?.serviceFor('application').get('hostedContext').isHosted();\n }\n\n private waitForHostedContext () {\n setTimeout(() => {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers()\n } else {\n this.waitForHostedContext();\n }\n }, 500);\n }\n\n private setupNativeHandlers () {\n const hostedContext = (window as any).Orgspan?.serviceFor('application').get('hostedContext');\n this.cefSupportsJabra = hostedContext.supportsJabra();\n hostedContext.on('JabraEvent', this.handleJabraEvent.bind(this));\n hostedContext.on('JabraDeviceAttached', this.handleJabraDeviceAttached.bind(this));\n }\n\n static getInstance(config: ImplementationConfig): JabraNativeService {\n if (!JabraNativeService.instance || config.createNew) {\n JabraNativeService.instance = new JabraNativeService(config);\n }\n\n return JabraNativeService.instance;\n }\n\n get deviceInfo(): DeviceInfo {\n if (\n this.activeDeviceId === null ||\n this.devices === null ||\n (this.devices && !this.devices.size)\n ) {\n return null;\n }\n\n return this.devices.get(this.activeDeviceId);\n }\n\n get deviceName(): string {\n return this.deviceInfo && this.deviceInfo.deviceName;\n }\n\n get isDeviceAttached(): boolean {\n return !!this.deviceInfo;\n }\n\n private isHeadsetEvent (event: any): event is JabraHeadsetEvent {\n return event.msg === HeadsetEvent;\n }\n\n private isDeviceEvent (event: any): event is JabraDeviceEvent {\n return event.msg === DeviceEvent;\n }\n\n private handleCefEvent(event: any): void {\n if (!this.isConnected) {\n return;\n }\n\n if (this.isDeviceEvent(event)) {\n this.handleJabraDeviceAttached(event)\n } else if (this.isHeadsetEvent(event)) {\n this.handleJabraEvent(event);\n }\n }\n\n private handleJabraDeviceAttached(event: JabraDeviceEvent): void {\n this.logger.debug('handling jabra attach/detach event', event);\n this.updateDevices();\n }\n\n private handleJabraEvent(event: JabraHeadsetEvent): void {\n this.logger.debug(`Jabra event received`, event);\n this._processEvent(event.eventName, event.value);\n }\n\n private _handleOffhookEvent(isOffhook: boolean): void {\n // if is incoming\n if (isOffhook) {\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (this.headsetState.ringing) {\n\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({name: 'CallOffHook', conversationId: this.activeConversationId});\n }\n\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this._setRinging(false);\n }\n\n return;\n }\n\n if (this.activeConversationId) {\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this.deviceEndedCall({name: 'CallOnHook', conversationId: this.activeConversationId});\n }\n this._getHeadsetIntoVanillaState();\n this.activeConversationId = null;\n }\n\n private _handleMuteEvent(isMuted: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Mute, isMuted);\n this.isMuted = isMuted;\n this.deviceMuteChanged({\n isMuted: isMuted,\n name: isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId\n });\n }\n\n private _handleHoldEvent(isHeld: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Hold, !!isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: !!isHeld,\n name: !!isHeld ? 'OnHold' : 'ResumeCall',\n conversationId: this.activeConversationId\n });\n }\n\n private _getHeadsetIntoVanillaState(): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n private _sendCmd(cmd: JabraNativeCommands, value: boolean): void {\n const deviceId = this.activeDeviceId;\n this.logger.debug('Sending command to headset', { deviceId, cmd, value });\n\n (window as any)._HostedContextFunctions.sendEventToDesktop(\n 'jabraEvent',\n {\n deviceID: deviceId,\n event: cmd,\n value\n }\n );\n }\n\n private _setRinging(value: boolean): void {\n this._sendCmd(JabraNativeCommands.Ring, value);\n this.headsetState.ringing = value;\n }\n\n isSupported (): boolean {\n return isCefHosted() && this.cefSupportsJabra;\n }\n\n deviceLabelMatchesVendor(label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['jabra'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n async setMute(value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Mute, value);\n }\n\n async setHold(conversationId: string, value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Hold, value);\n }\n\n async incomingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n this._setRinging(true);\n }\n\n async answerCall(conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n }\n // HACK: for some reason the headset echos an offhook event even though it was the app that answered the call rather than the headset\n this.ignoreNextOffhookEvent = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async rejectCall(): Promise<void> {\n this._setRinging(false);\n this.pendingConversationId = null;\n }\n\n async outgoingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this._setRinging(false);\n\n if (!hasOtherActiveCalls) {\n this._sendCmd(JabraNativeCommands.Offhook, false);\n }\n this.activeConversationId = null;\n }\n\n async endAllCalls(): Promise<void> {\n this._setRinging(false);\n this._sendCmd(JabraNativeCommands.Offhook, false);\n this.activeConversationId = null;\n }\n\n async updateDevices(): Promise<void> {\n try {\n const data = (await requestCefPromise({ cmd: 'requestJabraDevices' })) as DeviceInfo[];\n\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n\n if (!data || !data.length) {\n this.devices.clear();\n this.activeDeviceId = null;\n\n this.logger.error(new Error('No attached jabra devices'));\n return;\n }\n\n this.logger.info('connected jabra devices', data);\n this.devices.clear();\n data.forEach(device => this.devices.set(device.deviceID, device));\n this.activeDeviceId = data[0].deviceID;\n\n // reset headset state\n this._setRinging(false);\n this.setMute(false);\n } catch (err) {\n this.logger.error('Failed to connect to jabra', err);\n this.disconnect();\n }\n }\n\n private _processEvent(eventName: any, value: any): void {\n switch (eventName) {\n case JabraNativeEventNames.OffHook:\n debounce(() => this._handleOffhookEvent(value), offHookThrottleTime)();\n break;\n\n case JabraNativeEventNames.RejectCall:\n this.deviceRejectedCall({name: JabraNativeEventNames.RejectCall, conversationId: this.pendingConversationId});\n break;\n\n case JabraNativeEventNames.Mute:\n this._handleMuteEvent(value);\n break;\n\n case JabraNativeEventNames.Hold:\n this._handleHoldEvent(value);\n break;\n }\n }\n\n connect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n return timedPromise(this.updateDevices(), connectTimeout).catch(err => {\n this.logger.error('Failed to connect to Jabra', err);\n });\n }\n\n disconnect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n\n return Promise.resolve();\n }\n}","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\r\nimport { CallInfo } from '../../..';\r\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\r\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\r\nimport { isCefHosted } from \"../../../utils\";\r\n\r\nconst offhookFlag = 0b1;\r\nconst muteFlag = 0b10;\r\nconst ringFlag = 0b100;\r\nconst holdFlag = 0b1000;\r\nconst recMuteFlag = 0b100;\r\nconst recReject = 0x40;\r\nconst HEADSET_USAGE = 0x0005;\r\nconst HEADSET_USAGE_PAGE = 0x000B;\r\nconst VENDOR_ID = 0x6993;\r\nconst HEADSET_REPORT_ID = 0x04;\r\n\r\nexport default class YealinkService extends VendorImplementation {\r\n private static instance: YealinkService;\r\n\r\n private pendingConversationId: string;\r\n private activeConversationId: string;\r\n\r\n private _deviceInfo: DeviceInfo = null;\r\n private activeDevice: any;\r\n\r\n private callState = 0;\r\n private recCallState = 0;\r\n\r\n private isHold = false;\r\n\r\n private inputReportReportId: null|number = null;\r\n vendorName = 'Yealink';\r\n\r\n static getInstance (config: ImplementationConfig): YealinkService {\r\n if (!YealinkService.instance) {\r\n YealinkService.instance = new YealinkService(config);\r\n }\r\n\r\n return YealinkService.instance;\r\n }\r\n\r\n get deviceInfo (): DeviceInfo {\r\n return this._deviceInfo;\r\n }\r\n\r\n isSupported (): boolean {\r\n return (window.navigator as any).hid && !isCefHosted();\r\n }\r\n\r\n deviceLabelMatchesVendor (label: string): boolean {\r\n const lowerLabel = label.toLowerCase();\r\n return ['yealink', '(6993:'].some(searchVal => lowerLabel.includes(searchVal));\r\n }\r\n\r\n async connect (originalDeviceLabel: string): Promise<void> {\r\n if (!this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\r\n }\r\n const deviceLabel = originalDeviceLabel.toLowerCase();\r\n\r\n const deviceList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n deviceList.forEach(device => {\r\n if (!this.activeDevice) {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE &&\r\n collection.usagePage === HEADSET_USAGE_PAGE) {\r\n this.activeDevice = device;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = HEADSET_REPORT_ID;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (!this.activeDevice) {\r\n try {\r\n this.activeDevice = await new Promise((resolve, reject) => {\r\n const waiter = setTimeout(reject, 30000);\r\n this.requestWebHidPermissions(async () => {\r\n const productId = this.deductProductId(originalDeviceLabel);\r\n const filters = [{ usage: HEADSET_USAGE, usagePage: HEADSET_USAGE_PAGE, vendorId: VENDOR_ID, productId: productId || undefined }];\r\n await (window.navigator as any).hid.requestDevice({ filters });\r\n clearTimeout(waiter);\r\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n let bFind = false;\r\n deviceLists.forEach(device => {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE\r\n && collection.usagePage === HEADSET_USAGE_PAGE) {\r\n bFind = true;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = HEADSET_REPORT_ID;\r\n }\r\n resolve(device);\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n if (!bFind) {\r\n reject();\r\n }\r\n });\r\n });\r\n } catch (error) {\r\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\r\n this.logger.error('The selected device was not granted WebHID permissions');\r\n return;\r\n }\r\n }\r\n\r\n if (!this.activeDevice.opened) {\r\n await this.activeDevice.open();\r\n }\r\n\r\n this.logger.debug(`get device reportId ${this.inputReportReportId}`);\r\n this.activeDevice.addEventListener('inputreport', (event: PartialInputReportEvent) => {\r\n if (event.reportId !== this.inputReportReportId) {\r\n return;\r\n }\r\n const value = event.data.getUint8(0);\r\n\r\n this.processBtnPress(value);\r\n });\r\n this._deviceInfo = {\r\n ProductName: this.activeDevice.productName,\r\n };\r\n\r\n if (this.isConnecting && !this.isConnected) {\r\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\r\n }\r\n }\r\n\r\n async disconnect (): Promise<void> {\r\n if (this.isConnected || this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\r\n }\r\n if (this.activeDevice) {\r\n this.activeDevice.close();\r\n this.activeDevice = null;\r\n this._deviceInfo = null;\r\n this.inputReportReportId = 0;\r\n }\r\n }\r\n\r\n processBtnPress (value: number): void {\r\n if (!this.activeDevice) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n this.logger.debug(`User pressed button ${value}. local ${this.recCallState}`);\r\n const changeFlag = value ^ this.recCallState;\r\n if (changeFlag === 0) {\r\n return;\r\n }\r\n if (value !== 0\r\n && (this.callState & (~muteFlag)) === 0) {\r\n this.logger.debug(`Not talking, ignore key`);\r\n return;\r\n }\r\n this.recCallState = value;\r\n if (changeFlag & offhookFlag) {\r\n if (value & offhookFlag) {\r\n this.answerCall();\r\n if (this.activeConversationId) {\r\n this.deviceAnsweredCall({\r\n name: 'OffHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n } else if (!this.isHold) {\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n if (this.activeConversationId) {\r\n this.deviceEndedCall({\r\n name: 'OnHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n this.activeConversationId = null;\r\n }\r\n } else if (changeFlag & recMuteFlag) {\r\n if (value & recMuteFlag) {\r\n this.setMute(!this.isMuted);\r\n this.deviceMuteChanged({\r\n isMuted: this.isMuted,\r\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & holdFlag) {\r\n if (value & holdFlag) {\r\n this.setHold(null, !this.isHold);\r\n this.deviceHoldStatusChanged({\r\n holdRequested: this.isHold,\r\n name: this.isHold ? 'OnHold' : 'ResumeCall',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & recReject) {\r\n if (value & recReject) {\r\n this.deviceRejectedCall({\r\n name: 'Reject',\r\n conversationId: this.pendingConversationId,\r\n });\r\n this.rejectCall();\r\n }\r\n }\r\n }\r\n\r\n async incomingCall (callInfo: CallInfo): Promise<void> {\r\n if (callInfo) {\r\n this.pendingConversationId = callInfo.conversationId;\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | ringFlag);\r\n }\r\n }\r\n\r\n async outgoingCall (callInfo: CallInfo): Promise<void> {\r\n this.pendingConversationId = callInfo.conversationId;\r\n this.sendOpToDevice(offhookFlag);\r\n }\r\n\r\n async answerCall (): Promise<void> {\r\n if (this.pendingConversationId) {\r\n this.activeConversationId = this.pendingConversationId;\r\n this.pendingConversationId = null;\r\n }\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | offhookFlag);\r\n }\r\n\r\n async rejectCall (): Promise<void> {\r\n this.pendingConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\r\n if (hasOtherActiveCalls) {\r\n return;\r\n }\r\n\r\n if (conversationId === this.activeConversationId) {\r\n this.activeConversationId = null;\r\n }\r\n // keep mute state\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endAllCalls (): Promise<void> {\r\n this.activeConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async setMute (value: boolean): Promise<void> {\r\n if (value) {\r\n this.sendOpToDevice(this.callState | muteFlag);\r\n } else {\r\n this.sendOpToDevice(this.callState & (~muteFlag));\r\n }\r\n }\r\n\r\n async setHold (conversationId: string, value: boolean): Promise<void> {\r\n if (value) {\r\n const setValue = this.callState & (~offhookFlag);\r\n this.sendOpToDevice(setValue | holdFlag);\r\n } else {\r\n const setValue = this.callState & (~holdFlag);\r\n this.sendOpToDevice(setValue | offhookFlag);\r\n }\r\n }\r\n\r\n async sendOpToDevice (value: number): Promise<void> {\r\n if (!this.activeDevice || this.inputReportReportId === 0) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n\r\n if (value & holdFlag) {\r\n this.isHold = true;\r\n } else {\r\n this.isHold = false;\r\n }\r\n\r\n if (value & muteFlag) {\r\n this.isMuted = true;\r\n } else {\r\n this.isMuted = false;\r\n }\r\n\r\n this.logger.debug(`send to dev ${value}`);\r\n this.callState = value;\r\n await this.activeDevice.sendReport(this.inputReportReportId, new Uint8Array([value]));\r\n }\r\n}","var O=Object.defineProperty,C=(e,t,r)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t,r)=>C(e,typeof t!=\"symbol\"?t+\"\":t,r),L=(e=>(e[e.LED=8]=\"LED\",e[e.TELEPHONY=11]=\"TELEPHONY\",e))(L||{}),T=(e=>(e[e.PROGRAMMABLE_BUTTON=7]=\"PROGRAMMABLE_BUTTON\",e[e.HOOK_SWITCH=32]=\"HOOK_SWITCH\",e[e.FLASH=33]=\"FLASH\",e[e.PHONE_MUTE=47]=\"PHONE_MUTE\",e))(T||{}),S=(e=>(e[e.MUTE=9]=\"MUTE\",e[e.OFF_HOOK=23]=\"OFF_HOOK\",e[e.RING=24]=\"RING\",e[e.HOLD=32]=\"HOLD\",e))(S||{}),A=(e=>(e[e.ToggleButton=0]=\"ToggleButton\",e[e.ToggleSwitch=1]=\"ToggleSwitch\",e))(A||{});function l(e){return e&65535}function E(e){return e>>>16}function R(e){return e.isAbsolute?1:0}const f={usage:5,usagePage:11},c=[32,47,7],k=e=>c.includes(e),v=[23,24,9],U=e=>v.includes(e);class h{constructor(t){this.device=t,d(this,\"inputEventInfos\"),d(this,\"inputEventObserverCallbacks\"),d(this,\"outputEventInfos\"),this.inputEventInfos=c.reduce((r,i)=>({...r,[i]:void 0}),{}),this.inputEventObserverCallbacks=c.reduce((r,i)=>({...r,[i]:[]}),{}),this.outputEventInfos=v.reduce((r,i)=>({...r,[i]:void 0}),{}),this.parseDeviceDescriptors(),this.device.addEventListener(\"inputreport\",r=>this.onInputReport(r))}static async create(t){return t.opened||await t.open(),new h(t)}onInputReport(t){const r=this.device.productId;if(r>=64&&r<=130&&t.reportId===5)switch(t.data.getUint8(0)){case 32:this.inputEventObserverCallbacks[32][0]?.(!0,1);break;case 8:this.inputEventObserverCallbacks[7][0](!0,1);break;case 0:this.inputEventObserverCallbacks[32][0]?.(!1,1);break;case 1:this.inputEventObserverCallbacks[47][0]?.(!1,1);break;case 5:this.inputEventObserverCallbacks[47][0]?.(!0,1);break}else for(const i of c){const s=this.inputEventInfos[i];if(s===void 0||t.reportId!==s.reportId)continue;const u=Math.trunc(s.offset/8),o=s.offset%8,n=(t.data.getUint8(u)&1<<o)!==0;for(const a of this.inputEventObserverCallbacks[i])a(n,s.controlType)}}async close(){this.device.opened&&await this.device.close()}parseDeviceDescriptors(){if(this.device.collections===void 0)throw new Error(\"Undefined device collection\");const t=this.device.collections.find(r=>r.usagePage===11);if(t===void 0)throw new Error(\"No telephony collection\");t.inputReports&&this.parseInputReport(t.inputReports),t.outputReports&&this.parseOutputReport(t.outputReports)}parseInputReport(t){for(const r of t){let i=0;if(!(r.items===void 0||r.reportId===void 0)){for(const s of r.items)if(!(s.usages===void 0||s.reportSize===void 0||s.reportCount===void 0||s.isAbsolute===void 0)){for(const[u,o]of s.usages.entries())if(E(o)===11||o===589831){const n=l(o);k(n)&&(this.inputEventInfos[n]={reportId:r.reportId,offset:i+u*s.reportSize,controlType:R(s)})}i+=s.reportCount*s.reportSize}}}}parseOutputReport(t){for(const r of t){if(r.items===void 0||r.reportId===void 0)continue;let i=0,s=[];for(const o of r.items){if(o.usages===void 0||o.reportSize===void 0||o.reportCount===void 0){s=[];break}for(const[n,a]of o.usages.entries())if(E(a)===8){const p=l(a);U(p)&&s.push([p,i+n*o.reportSize])}i+=o.reportCount*o.reportSize}const u=i;for(const[o,n]of s)this.outputEventInfos[o]={reportId:r.reportId,state:!1,offset:n,generator:()=>{const a=new Uint8Array(u/8);return{reportId:r.reportId,data:a}},setter:(a,p)=>{if(n>=0){const w=Math.trunc(n/8),I=n%8;p[w]|=(a?1:0)<<I}return p}}}}getControlType(t){if(this.supportInput(t))return this.inputEventInfos[t]?.controlType}supportInput(t){return this.inputEventInfos[t]!==void 0}supportOutput(t){return this.outputEventInfos[t]!==void 0}subscribe(t,r){this.inputEventObserverCallbacks[t].push(r)}unsubscribe(t){this.inputEventObserverCallbacks[t]=[]}setState(t,r){if(!this.device.opened)return;const i=this.outputEventInfos[t];i!==void 0&&(i.state=r)}getState(t){if(this.device.opened)return this.outputEventInfos[t]?.state}async send(t){if(!this.device.opened)return;const r=this.device.productId;if(r>=64&&r<=130){const i=t.get(24),s=t.get(23),u=t.get(9);i!==void 0&&(this.setState(24,i),await this.device.sendReport(6,new Uint8Array([i?1:0,0]))),s!==void 0&&(this.setState(23,s),await this.device.sendReport(6,new Uint8Array([s?2:0,0]))),u!==void 0&&(this.setState(9,u),await this.device.sendReport(6,new Uint8Array([u?4:5,0])))}else{const i=[];for(const[s,u]of t){const o=this.outputEventInfos[s];o!==void 0&&(i.find(n=>n.reportId===o?.reportId)===void 0&&i.push(o?.generator()),o.state=u)}for(const s of i){for(const u of v){const o=this.outputEventInfos[u];o===void 0||o.reportId!==s.reportId||!o.state||(s.data=o.setter(o.state,s.data))}await this.device.sendReport(s.reportId,s.data)}}}}const m=e=>{if(!e.supportInput(32))throw new Error(\"Device is missing hook switch support\");if(!e.supportInput(47))throw new Error(\"Device is missing mute switch support\")},y=e=>{if(!e.supportOutput(24))throw new Error(\"Device is missing ring support\");if(!e.supportOutput(23))throw new Error(\"Device is missing off/on hook support\");if(!e.supportOutput(9))throw new Error(\"Device is missing mute support\")};var b=(e=>(e[e.ACCEPT_CALL=0]=\"ACCEPT_CALL\",e[e.END_CALL=1]=\"END_CALL\",e[e.REJECT_CALL=2]=\"REJECT_CALL\",e[e.MUTE_CALL=3]=\"MUTE_CALL\",e[e.UNMUTE_CALL=4]=\"UNMUTE_CALL\",e))(b||{});async function g(e){const t=await h.create(e);return y(t),m(t),{productName:t.device.productName,ring(){return t.send(new Map([[24,!0]]))},onHook(){return t.send(new Map([[23,!1],[24,!1],[9,!1]]))},offHook(){return t.send(new Map([[23,!0],[24,!1],[9,!1]]))},muteOn(){return t.send(new Map([[23,!0],[24,!1],[9,!0]]))},muteOff(){return t.send(new Map([[23,!0],[24,!1],[9,!1]]))},subscribe(r){const i=(o,n)=>{if(n===0&&o){if(t.getState(24)){r(0);return}if(t.getState(23)){r(1);return}}if(n===1){if(o&&t.getState(24)){r(0);return}if(!o&&t.getState(23)){r(1);return}}},s=(o,n)=>{if(n===0&&o){r(t.getState(9)?4:3);return}if(n===1){if(o&&!t.getState(9)){r(3);return}if(!o&&t.getState(9)){r(4);return}}},u=(o,n)=>{o&&r(2)};t.subscribe(32,i),t.subscribe(47,s),t.subscribe(7,u)},unsubscribe(){t.unsubscribe(32),t.unsubscribe(47),t.unsubscribe(7)}}}async function D(e){const t=await window.navigator.hid.getDevices();for(const r of t)if(e.toLowerCase().includes(r.productName.toLowerCase()))return await g(r)}async function M(e){const t=(await window.navigator.hid.requestDevice({filters:[{vendorId:13323,productId:e.productId,...f}]})).find(r=>r.collections.find(i=>i.usage===f.usage&&i.usagePage===f.usagePage));if(!t)throw new Error(\"No requested device found\");return await g(t)}export{b as DeviceSignalType,D as findDevice,M as webhidConsent};\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { CallInfo } from '../../..';\nimport DeviceInfo from '../../../types/device-info';\nimport { isCefHosted } from '../../../utils';\nimport { webhidConsent, IDevice, DeviceSignalType, findDevice } from '@vbet/webhid-sdk';\n\nexport default class VBetService extends VendorImplementation {\n private static instance: VBetService;\n\n private activeConversationId: string;\n private pendingConversationId: string;\n\n private _deviceInfo: DeviceInfo | null = null;\n private activeDevice: IDevice | null = null;\n vendorName = 'VBet';\n\n static getInstance (config: ImplementationConfig): VBetService {\n if (!VBetService.instance) {\n VBetService.instance = new VBetService(config);\n }\n return VBetService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['vt', '340b'].some((searchVal) => lowerLabel.includes(searchVal));\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n try {\n const dev = await findDevice(originalDeviceLabel);\n if (dev) {\n this.activeDevice = dev;\n } else {\n const dev = await new Promise<IDevice>((resolve, reject) => {\n const productId = this.deductProductId(originalDeviceLabel);\n const waiter = setTimeout(()=>reject('The selected device was not granted WebHID permissions'), 30000);\n this.requestWebHidPermissions(() => {\n webhidConsent({\n productId: productId ? productId : undefined,\n })\n .then((res) => {\n resolve(res);\n clearTimeout(waiter);\n })\n .catch((err) => {\n reject(err);\n });\n });\n });\n this.activeDevice = dev;\n }\n } catch (error) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error(error);\n return;\n }\n\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.activeDevice.subscribe(this.processBtnPress);\n \n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n processBtnPress = (signal:DeviceSignalType):void => {\n switch (signal) {\n case DeviceSignalType.ACCEPT_CALL:\n if (this.pendingConversationId) {\n this.answerCall(this.pendingConversationId);\n this.deviceAnsweredCall({\n name: 'OffHook',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be answered');\n }\n break;\n case DeviceSignalType.END_CALL:\n if (this.activeConversationId) {\n const id = this.activeConversationId;\n this.endCall(id);\n this.deviceEndedCall({\n name: 'OnHook',\n conversationId: id,\n });\n } else {\n this.logger.error('No call to be terminated');\n }\n break;\n case DeviceSignalType.MUTE_CALL:\n case DeviceSignalType.UNMUTE_CALL:\n if (this.activeConversationId) {\n this.setMute(signal===DeviceSignalType.MUTE_CALL);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be muted');\n }\n break;\n case DeviceSignalType.REJECT_CALL:\n if (this.pendingConversationId) {\n this.rejectCall(this.pendingConversationId);\n this.deviceRejectedCall({\n name: 'Reject',\n conversationId: this.pendingConversationId,\n });\n } else {\n this.logger.error('No call to be rejected');\n }\n break;\n }\n }\n\n async disconnect (): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n this.activeDevice && this.activeDevice.unsubscribe();\n this.activeDevice = null;\n this._deviceInfo = null;\n this.isMuted = false;\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.activeDevice.ring();\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.activeConversationId = callInfo.conversationId;\n this.activeDevice.offHook();\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (this.pendingConversationId === conversationId || autoAnswer) {\n this.activeConversationId = conversationId;\n this.pendingConversationId = '';\n this.activeDevice.offHook();\n } else {\n this.logger.error('no call to be answered');\n }\n }\n\n async rejectCall (conversationId: string): Promise<void> {\n if (conversationId === this.pendingConversationId) {\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be rejected');\n }\n }\n\n async endCall (conversationId: string): Promise<void> {\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be ended');\n }\n }\n\n async endAllCalls (): Promise<void> {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n }\n\n async setMute (value: boolean): Promise<void> {\n this.isMuted = value;\n this.isMuted ? this.activeDevice.muteOn() : this.activeDevice.muteOff();\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';\nimport CyberAcousticsService from './vendor-implementations/CyberAcoustics/CyberAcoustics';\nimport PlantronicsService from './vendor-implementations/plantronics/plantronics';\nimport SennheiserService from './vendor-implementations/sennheiser/sennheiser';\nimport JabraService from './vendor-implementations/jabra/jabra';\nimport JabraNativeService from './vendor-implementations/jabra/jabra-native/jabra-native';\nimport YealinkService from './vendor-implementations/yealink/yealink';\nimport VBetService from './vendor-implementations/vbet/vbet';\nimport { CallInfo } from '../types/call-info';\nimport { VendorEvent, HoldEventInfo, MutedEventInfo, EventInfoWithConversationId } from '../types/emitted-headset-events';\nimport { WebHidPermissionRequest } from '..';\nimport { ConsumedHeadsetEvents, HeadsetEvents, DeviceConnectionStatus } from '../types/consumed-headset-events';\nimport { HeadsetState, HeadsetStateRecord, UpdateReasons } from '../types/headset-states';\n\ntype StateProps = Partial<HeadsetState>;\ntype StateCompareProps = { conversationId: string; state: StateProps };\n\nconst REMOVE_WAIT = 2000;\n\nexport default class HeadsetService {\n private static instance: HeadsetService;\n\n plantronics: VendorImplementation;\n jabraNative: VendorImplementation;\n jabra: VendorImplementation;\n sennheiser: VendorImplementation;\n yealink: VendorImplementation;\n vbet:VendorImplementation;\n cyberAcoustics: VendorImplementation;\n selectedImplementation: VendorImplementation;\n headsetEvents$: Observable<ConsumedHeadsetEvents>;\n\n private headsetConversationStates: { [conversationId: string]: HeadsetStateRecord } = {};\n private _headsetEvents$: Subject<ConsumedHeadsetEvents>;\n private logger: any;\n\n private constructor (config: ImplementationConfig) {\n this._headsetEvents$ = new Subject<ConsumedHeadsetEvents>();\n this.headsetEvents$ = this._headsetEvents$.asObservable();\n\n this.logger = config.logger || console;\n this.plantronics = PlantronicsService.getInstance({ logger: this.logger, appName: config.appName });\n this.jabraNative = JabraNativeService.getInstance({ logger: this.logger });\n this.jabra = JabraService.getInstance({ logger: this.logger });\n this.sennheiser = SennheiserService.getInstance({ logger: this.logger });\n this.yealink = YealinkService.getInstance({ logger: this.logger });\n this.vbet = VBetService.getInstance({ logger: this.logger });\n this.cyberAcoustics = CyberAcousticsService.getInstance({ logger: this.logger });\n\n [this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink, this.vbet, this.cyberAcoustics].forEach(implementation => this.subscribeToHeadsetEvents(implementation));\n }\n\n static getInstance (config: ImplementationConfig): HeadsetService {\n if (!HeadsetService.instance || config.createNew) {\n HeadsetService.instance = new HeadsetService(config);\n }\n\n return HeadsetService.instance;\n }\n\n get implementations (): VendorImplementation[] {\n const implementations = [\n this.sennheiser,\n this.plantronics,\n this.jabra,\n this.jabraNative,\n this.yealink,\n this.vbet,\n this.cyberAcoustics\n ].filter((impl) => impl.isSupported());\n\n return implementations;\n }\n\n private isDifferentState (props: StateCompareProps): boolean {\n const state = this.headsetConversationStates[props.conversationId];\n\n // different if there's no state or any of the provided state props don't match\n return !state || Object.entries(props.state).some(([key, value]) => state[key] !== value);\n }\n\n private updateHeadsetState (props: StateCompareProps, opts = { expectExistingConversation: true }): boolean {\n if (this.isDifferentState(props)) {\n const state = this.headsetConversationStates[props.conversationId];\n if (!state) {\n if (opts.expectExistingConversation) {\n this.logger.warn('updateHeadsetState has no existing state for provided conversationId.', { conversationId: props.conversationId });\n }\n return false;\n }\n Object.assign(state, props.state);\n return true;\n }\n\n return false;\n }\n\n deviceIsSupported (params: { micLabel: string }): boolean {\n if (!params.micLabel) {\n return false;\n }\n\n const implementation = this.implementations.find((implementation) => {\n return implementation.deviceLabelMatchesVendor(params.micLabel);\n });\n return !!implementation;\n }\n\n activeMicChange (newMicLabel: string, changeReason?: UpdateReasons): void {\n if (newMicLabel) {\n const implementation = this.implementations.find((implementation) => implementation.deviceLabelMatchesVendor(newMicLabel));\n if (implementation) {\n this.changeImplementation(implementation, newMicLabel);\n } else if (this.selectedImplementation) {\n this.clearSelectedImplementation(changeReason);\n }\n } else {\n this.clearSelectedImplementation(changeReason);\n }\n }\n\n async changeImplementation (implementation: VendorImplementation | null, deviceLabel: string): Promise<void> {\n if (implementation === this.selectedImplementation) {\n return;\n }\n\n if (this.selectedImplementation) {\n // remove headsetStates associated with implementation\n this.headsetConversationStates = {};\n\n await this.selectedImplementation.disconnect();\n }\n\n this.selectedImplementation = implementation;\n\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: implementation });\n\n if (implementation) {\n await implementation.connect(deviceLabel);\n }\n }\n\n async incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: false,\n ringing: true\n };\n\n return implementation.incomingCall(callInfo, hasOtherActiveCalls);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.outgoingCall(callInfo);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (!autoAnswer) {\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.answerCall(conversationId);\n }\n } else {\n this.headsetConversationStates[conversationId] = {\n conversationId: conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.answerCall(conversationId, autoAnswer);\n }\n }\n\n async rejectCall (conversationId: string, expectExistingConversation = true): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction }, { expectExistingConversation })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.rejectCall(conversationId);\n }\n }\n\n async setMute (value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== value)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = value);\n return implementation.setMute(value);\n }\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: value\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.setHold(conversationId, value);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.endCall(conversationId, hasOtherActiveCalls);\n }\n }\n\n async endAllCalls (): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n Object.values(this.headsetConversationStates).forEach((headsetState) => {\n if (!headsetState.removeTimer) {\n headsetState.removeTimer = this.setRemoveTimer(headsetState.conversationId);\n }\n });\n\n return implementation.endAllCalls();\n }\n\n retryConnection (micLabel: string): Promise<void> {\n if (!this.selectedImplementation) {\n return Promise.reject(new Error('No active headset implementation'));\n }\n\n return this.selectedImplementation.connect(micLabel);\n }\n\n connectionStatus (): DeviceConnectionStatus {\n if (this.selectedImplementation) {\n if (!this.selectedImplementation.isConnected && !this.selectedImplementation.isConnecting) {\n return 'notRunning';\n }\n return this.selectedImplementation.isConnected ? 'running' : 'checking';\n }\n return 'noVendor';\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (implementation) {\n return implementation.resetHeadsetStateForCall(conversationId);\n } else {\n this.logger.info('No active implementation, headset state does not require a reset');\n }\n }\n\n private getConnectedImpl (): VendorImplementation {\n const impl = this.selectedImplementation;\n if (!impl || !impl.isConnected) {\n return null;\n }\n\n return impl;\n }\n\n private subscribeToHeadsetEvents (implementation: VendorImplementation) {\n implementation.on(HeadsetEvents.deviceAnsweredCall, this.handleDeviceAnsweredCall.bind(this));\n implementation.on(HeadsetEvents.deviceRejectedCall, this.handleDeviceRejectedCall.bind(this));\n implementation.on(HeadsetEvents.deviceEndedCall, this.handleDeviceEndedCall.bind(this));\n implementation.on(HeadsetEvents.deviceMuteStatusChanged, this.handleDeviceMuteStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceHoldStatusChanged, this.handleDeviceHoldStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceEventLogs, this.handleDeviceLogs.bind(this));\n implementation.on(HeadsetEvents.deviceConnectionStatusChanged, this.handleDeviceConnectionStatusChanged.bind(this));\n implementation.on(HeadsetEvents.webHidPermissionRequested, this.handleWebHidPermissionRequested.bind(this));\n }\n\n private clearSelectedImplementation (clearReason?: UpdateReasons): void {\n if (!this.selectedImplementation) {\n return;\n }\n\n this.selectedImplementation.disconnect(clearReason);\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: null });\n this.selectedImplementation = null;\n this.handleDeviceConnectionStatusChanged();\n }\n\n private setRemoveTimer (conversationId) {\n return setTimeout(() => {\n // we are using the removeTimer to make sure this is actually slated for removal.\n // if we get a new incoming call for example, it will replace the current state which is slated for\n // removal and we don't want to remove it if it's a new/updated state\n if (this.headsetConversationStates[conversationId].removeTimer) {\n delete this.headsetConversationStates[conversationId];\n }\n }, REMOVE_WAIT);\n }\n\n private handleDeviceAnsweredCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n this.updateHeadsetState({ conversationId: event.body.conversationId, state: expectedStatePostAction });\n\n this.logger.info('Headset: device answered the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceAnsweredCall, payload: { ...event.body } });\n }\n\n private handleDeviceRejectedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n const conversationId = event.body.conversationId;\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this.logger.info('Headset: device rejected the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceRejectedCall, payload: { ...event.body } });\n }\n\n private handleDeviceEndedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n this.logger.info('Headset: device ended the call');\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n const conversationId = event.body.conversationId;\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceEndedCall, payload: { ...event.body } });\n }\n\n private handleDeviceMuteStatusChanged (event: VendorEvent<MutedEventInfo>): void {\n this.logger.info('Headset: device mute status changed: ', event.body.isMuted);\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== event.body.isMuted)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = event.body.isMuted);\n }\n this._headsetEvents$.next({ event: HeadsetEvents.deviceMuteStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceHoldStatusChanged (event: VendorEvent<HoldEventInfo>): void {\n this.logger.info('Headset: device hold status changed', event.body.holdRequested);\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: event.body.holdRequested\n };\n const conversationId = event.body.conversationId;\n this.updateHeadsetState({ conversationId, state: expectedStatePostAction });\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceHoldStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceConnectionStatusChanged (): void {\n this._headsetEvents$.next({ event: HeadsetEvents.deviceConnectionStatusChanged, payload: this.connectionStatus() });\n }\n\n private handleWebHidPermissionRequested (event: VendorEvent<WebHidPermissionRequest>): void {\n this.logger.debug('Requesting Webhid Permissions');\n this._headsetEvents$.next({ event: HeadsetEvents.webHidPermissionRequested, payload: { ...event.body } });\n }\n\n /* This function has no functional purpose in a real life example\n * It is here to help log all events in the call process at least for Plantronics\n */\n private handleDeviceLogs (eventInfo: VendorEvent<any>): void {\n this._headsetEvents$.next({ event: HeadsetEvents.loggableEvent, payload: { ...eventInfo.body } });\n }\n}","import HeadsetService from './services/headset';\nimport { VendorImplementation } from './services/vendor-implementations/vendor-implementation';\n\nexport * from './types/call-info';\nexport * from './types/consumed-headset-events';\nexport * from './types/device-info';\nexport * from './types/emitted-headset-events';\nexport * from './types/headset-states';\nexport { VendorImplementation };\nexport default HeadsetService;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://SoftphoneVendorHeadsets/webpack/universalModuleDefinition","webpack://SoftphoneVendorHeadsets/webpack/bootstrap","webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/index-cacd1453.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/types/consumed-headset-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vendor-implementation.ts","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/browserama/out/browserama.min.js","webpack://SoftphoneVendorHeadsets/./node_modules/events/events.js","webpack://SoftphoneVendorHeadsets/(webpack)/buildin/global.js","webpack://SoftphoneVendorHeadsets/./react-app/node_modules/fetch-jsonp/build/fetch-jsonp.js","webpack://SoftphoneVendorHeadsets/./node_modules/tslib/tslib.es6.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isFunction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscription.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/config.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/noop.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/NotificationFactories.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/errorContext.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/identity.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/pipe.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Observable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/utils.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/CyberAcoustics/CyberAcoustics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics-call-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Scheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/async.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/lift.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isPromise.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isIterable.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/timeout.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/isDate.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/filter.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/observable/empty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/take.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/first.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/yealink/yealink.ts","webpack://SoftphoneVendorHeadsets/./node_modules/@vbet/webhid-sdk/dist/index.es.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/vbet/vbet.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/headset.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/index.ts","webpack://SoftphoneVendorHeadsets/./node_modules/process/browser.js","webpack://SoftphoneVendorHeadsets/./node_modules/buffer/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/base64-js/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/ieee754/index.js","webpack://SoftphoneVendorHeadsets/./node_modules/isarray/index.js"],"names":["root","factory","exports","module","define","amd","window","webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","0","__webpack_require__","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","oldJsonpFunction","slice","s","setPrototypeOf","__proto__","Array","TypeError","String","this","constructor","next","a","throw","done","then","apply","label","sent","trys","ops","return","iterator","pop","arguments","concat","v","asyncIterator","u","h","has","set","stack","f","map","toString","join","errors","indexOf","splice","E","initialTeardown","closed","_parentage","_finalizers","unsubscribe","isArray","remove","g","add","_hasParent","_addParent","includes","_removeParent","EMPTY","_","b","y","delegate","O","w","N","C","kind","T","S","isStopped","destination","P","D","L","_next","_error","complete","_complete","A","Function","I","R","partialObserver","H","U","observable","k","x","reduce","G","_subscribe","lift","source","operator","subscribe","_trySubscribe","forEach","F","pipe","toPromise","M","B","W","onFinalize","shouldUnsubscribe","K","Y","currentObservers","observers","hasError","thrownError","V","_throwIfClosed","from","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","j","_value","getValue","q","now","Date","$","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","z","schedule","Q","setInterval","clearInterval","J","scheduler","work","pending","state","id","recycleAsyncId","delay","requestAsyncId","flush","execute","_execute","actions","X","schedulerActionCtor","Z","_active","tt","et","nt","rt","it","ot","st","at","ct","ut","lt","ht","dt","pt","ft","getReader","read","releaseLock","vt","Et","gt","catch","_t","mt","bt","yt","wt","Ot","Nt","Ct","Tt","St","defaultValue","At","It","isNaN","Rt","info","Dt","first","each","with","Ht","meta","lastValue","seen","Lt","Pt","Ut","kt","xt","Gt","Ft","Mt","Bt","Wt","Kt","Yt","Vt","jt","qt","$t","zt","Qt","Jt","Xt","Zt","te","every","some","ee","ne","re","ie","ae","ce","ue","le","he","de","connector","resetOnError","resetOnComplete","resetOnRefCountZero","pe","fe","bufferSize","windowTime","refCount","ve","Ee","ge","_e","me","finalize","be","super","ye","ERROR","JS_LIB","write","level","layer","Oe","WARNING","INFO","CHROME_EXTENSION","NATIVE_CONSOLE","SDK_USAGE_ERROR","FEATURE_NOT_SUPPORTED","DEVICE_ERROR","UNEXPECTED_ERROR","INIT_ERROR","we","compare","itemRemoved","items","itemList","itemAdded","addItem","onDisconnect","removeItem","filter","equals","sort","findIndex","Ne","sdkVersion","consoleAppVersion","version","chromeExtensionVersion","process","platform","navigator","userAgent","Ce","deviceDetector","deviceAdded","deviceObservables","deviceRemoved","deviceList","_transport","_readyEvents","consoleAppEvent","_config","transportContext","context","logger","WeakMap","NODE","WEB_HID","CHROME_EXTENSION_WITH_WEB_HID_FALLBACK","Te","Se","TransportChromeExtension","checkInstallation","ok","initHandler","WebHidTransport","Ae","log","Ie","Re","config","messageShown","partnerKey","validateCrc","logWarning","appId","test","appName","warn","split","charCodeAt","RangeError","padStart","De","He","Le","Pe","Ue","ke","xe","Ge","MS_OC","CISCO","AVAYA","SIEMENS","ALCATEL","IBM","AASTRA","SKYPE","GENERIC","NORTEL","JABRA","NEC","SHORETEL","OTHER","Fe","gnpReadCommand","serialize","command","subCommand","deserialize","GN_PROTOCOL","DATA","Me","Uint8Array","payload","sequenceNumber","PC_ADDR","BASE_ADDR","HS1_ADDR","HS_BT_USB_ADDR","HS_CRADLE_ADDR","CRADLE_ADDR","EVENT","READ","WRITE","REPLY","IDENT","DFU","DEVICE","FWU","STATUS","CONFIG","NACK","ACK","CONFIG_PREFERRED_SOFTPHONE","ID","IDENT_GET_AVAILABLE_SOFTPHONES","TYPE","NAME","PID","ATTACH_EVENT","DETACH_EVENT","NO_ERROR_CODE","BAD_STATE","TRANSMIT_FAILED","ILLEGAL_ADDR","UNKNOWN_CMD","FILE_NOT_FOUND","INTERNAL_ERROR","REPLY_ERROR","ILLEGAL_PARAM","OUT_OF_SEQUENCE","NO_SPACE","ACCESS_DENIED","NO_MORE_DATA","UNKNOWN_SUB_CMD","Be","We","fromCharCode","Ke","Ye","Ve","DataView","buffer","getUint16","je","of","qe","$e","ze","path","require","globalThis","global","self","Qe","Je","Xe","toUpperCase","parseInt","substr","floor","trunc","ibits","obits","obigendian","ibigendian","mul","inc","mask","random","parse","make","Buffer","alloc","getTime","format","toJSON","nil","match","export","import","isFinite","equal","fold","pow","PCG","default","Ze","transport","gnpLockAcquired","token","action","writeAction","INPUT","OUTPUT","FEATURE","ABSOLUTE","RELATIVE","tn","startsWith","en","nn","usagePage","usage","rn","descriptor","transportId","input","inputReportsFilter","find","reportType","sn","lengthMask","typeFromAttr","packetLengthFromAttr","an","gnpPacketHeaderLength","hasHeader","expectedPacketLength","gnpPacketMaxLength","hasFullPacket","un","ln","hn","dn","pn","hidChannel","gnpLock","primaryAddress","lockQueue","packets","inputFilter","events","eventsFilter","nextSequenceNumber","appendData","getPacketAndReset","findDescriptor","processLockQueue","acquireGnpLock","reportSize","attrFromTypeAndPayloadLength","min","subarray","output","releaseGnpLock","doWithGnpLockHeld","readWithParams","getNextSequenceNumber","fn","parentGnpChannel","sendEvent","vn","supportsGnpOverHid","En","gn","_n","isChild","mn","parentId","gnpAddress","bn","yn","On","NO_TRACKING","TRACK_ERRORS","TRACK_USAGE","TRACK_ALL","BLUETOOTH","INDIRECT","USB","BASE","HEADSET","DESKSTAND","DONGLE","PC","EHS","SPEAKER_PHONE","INDICATOR","MOBILE","NONE","LOCAL","DISPLAY","HS_CRADLE","HS_CRADLE2","MOBILE_IAP","CRADLE","VIDEO","NOT_GN","ANY_GN","NOT_INIT","ANY","wn","parentConnectionId","Nn","Cn","Tn","deviceType","address","vid","pid","serialNumber","capabilities","connectionGnpAddress","Sn","createConnection","parentConnection","connectionCreator","createChildGnpChannel","connectionEvents","attach","detach","connection","An","In","Rn","Dn","createHidChannel","createRootGnpChannel","createAttachEvent","getTransportId","convertToReportType","valueType","convertToValueType","JSON","stringify","getMandatoryField","createDescriptor","assign","Hn","Ln","Pn","Un","kn","xn","vendorId","productId","connectionAdded","connectionRemoved","connectionList","Gn","exceptionToUndefined","findConnectionById","currentConnections","Fn","deviceCollection","connectionExists","force","findDeviceByDeviceId","createDevice","isSameDevice","Mn","validateOrganizationKey","validateAppId","validateAppName","internal","testDeviceTransport","recorder","connect","Bn","deviceId","Wn","UsageReport","Kn","Yn","Vn","jn","qn","$n","zn","Qn","Jn","Xn","Zn","ArrayBuffer","byteLength","_view","bigEndian","_scratch","_setBit","getBits","setBits","getBoolean","getInt8","getUint8","getInt16","getInt32","getUint32","getFloat32","setUint32","getFloat64","setBoolean","setInt8","setUint8","setInt16","setUint16","setInt32","setFloat32","setFloat64","getArrayBuffer","_index","_length","readUint8","decodeURIComponent","escape","_startIndex","ceil","readBits","writeBits","readBoolean","readInt8","readInt16","readUint16","readInt32","readUint32","readFloat32","readFloat64","writeBoolean","writeInt8","writeUint8","writeInt16","writeUint16","writeInt32","writeUint32","writeFloat32","writeFloat64","readASCIIString","readUTF8String","writeASCIIString","writeUTF8String","readBitStream","writeBitStream","bitsLeft","readArrayBuffer","writeArrayBuffer","BitView","BitStream","tr","hid","requestDevice","filters","VENDOR_ID","BroadcastChannel","PAIRING_CHANNEL","postMessage","HOOK_SWITCH","GN_PSEUDO_HOOK_SWITCH","FLASH","ALT_HOLD","REDIAL","ONLINE","PHONE_MUTE","SEND","SPEED_DIAL","VOICE_MAIL","ANSWER_ON_OFF","LINE_BUSY","RINGER","PHONE_KEY_0","PHONE_KEY_1","PHONE_KEY_2","PHONE_KEY_3","PHONE_KEY_4","PHONE_KEY_5","PHONE_KEY_6","PHONE_KEY_7","PHONE_KEY_8","PHONE_KEY_9","PHONE_KEY_STAR","PHONE_KEY_POUND","ALT_VOLUME_UP","ALT_VOLUME_DOWN","REJECT_CALL","er","BUTTON","CONSUMER","LED","TELEPHONY","GN_CONSUMER","GN_EXT_BUTTONS","GN_LED","GN_MISC","GN_TELEPHONY","MUTE","OFF_HOOK","RING","MESSAGE_WAIT","HOLD","MIC_MUTE","HID_OFFLINE","HID_SEND","HID_ALT_VOLUME_UP","HID_ALT_VOLUME_DOWN","GN_OUT_OF_RANGE","GN_REJECT_CALL","GN_TELEPHONY_CONT_SET","nr","isSoftphoneInFocus","lockHeld","cachedSignals","Map","Boolean","on","rr","device","deviceSignals","setup","checkHasDisconnected","checkCallLockNotHeld","tryTakeCallLock","checkCallLockHeld","releaseCallLock","STD_TELEPHONY","ir","sr","connectionCallLock","currentLocks","Set","lockReleaseEvent","takeSingleCallLock","delete","size","acquireLockOnNextConnectionEmit","releaseLockOnRemovedConnectionEmit","releaseSingleCallLock","acquired","clear","ar","cr","ur","hr","lr","dr","softphoneInFocus","setFeatureReport","or","pr","devComm","infocus","fr","vr","Er","gr","_r","mr","br","yr","Nr","jabraDirectInstalled","setSharedSoftphoneInfo","supportsCallControl","HOLD_CURRENT","END_CURRENT","MUTED","UNMUTED","NO_ONGOING_CALLS","ON_HOLD","NOT_ON_HOLD","NO_INCOMING","AWAITING_RESPONSE","RESOLVING_RESPONSE","ACCEPTED","REJECTED","HeadsetEvents","VendorImplementation","_ref","_this","_classCallCheck","_defineProperty","_callSuper","eventEmitter","EventEmitter","keys","vendorName","_inherits","selectedMicLabel","clearReason","callInfo","hasOtherActiveCalls","conversationId","autoAnswer","rejectCall","eventName","eventBody","emit","vendor","body","_objectSpread","callback","debug","emitEvent","eventInfo","headsetState","isConnected","isConnecting","currentVendor","InstallTrigger","chrome","webstore","runtime","HTMLElement","safari","pushNotification","opr","addons","opera","StyleMedia","CSS","documentMode","ReflectOwnKeys","Reflect","ReflectApply","receiver","args","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","NumberIsNaN","Number","init","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","handler","flags","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","that","_addListener","prepend","existing","warning","newListener","unshift","warned","count","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","arr","ret","unwrapListeners","arrayClone","listenerCount","copy","addEventListener","wrapListener","arg","removeEventListener","getPrototypeOf","setMaxListeners","getMaxListeners","doError","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","index","spliceOne","off","removeAllListeners","rawListeners","eventNames","defaultOptions","generateCallbackFunction","clearFunction","functionName","removeScript","scriptId","getElementById","getElementsByTagName","removeChild","_url","options","url","jsonpCallback","timeoutId","callbackFunction","jsonpCallbackFunction","response","json","jsonpScript","nonce","referrerPolicy","crossorigin","extendStatics","__extends","__","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","result","__generator","verb","op","__values","__read","__spreadArray","to","pack","__await","__asyncGenerator","resume","fulfill","settle","__asyncValues","SuppressedError","isFunction","createErrorClass","createImpl","ctorFunc","instance","UnsubscriptionError","_super","arrRemove","item","Subscription","e_1","_a","e_2","_b","_parentage_1","_parentage_1_1","e_1_1","initialFinalizer","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","_i","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","errorContext","cb","isRoot","errorThrown","Subscriber","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","_bind","ConsumerObserver","handleUnhandledError","SafeSubscriber","observerOrNext","context_1","notification","subscriber","identity","pipeFromArray","fns","prev","Observable","isObserver","sink","promiseCtor","getPromiseCtor","operations","ObjectUnsubscribedError","Subject","subject","_c","AnonymousSubject","isCefHosted","_HostedContextFunctions","requestCefPromise","cmd","sCmd","cefQuery","persistent","onSuccess","obj","onFailure","_regeneratorRuntime","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","values","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","callInvokeWithMethodAndArg","method","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","awrap","async","reverse","charAt","stop","rval","finish","delegateYield","asyncGeneratorStep","gen","_throw","_asyncToGenerator","Constructor","_defineProperties","props","_toPropertyKey","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","valueOf","construct","_isNativeReflectConstruct","_setPrototypeOf","toPrimitive","_toPrimitive","hookswFlag","micMuteFlag","CyberAcousticsService","_VendorImplementation","_len","_key","headsetInputReportId","vendorInputReportId","subClass","superClass","protoProps","_deviceInfo","lowerLabel","toLowerCase","searchVal","_connect","_callee2","originalDeviceLabel","bConnectSuccess","devList","_this2","_context2","currentlDeviceLabel","changeConnectionStatus","getDevices","selectDevice","activeDevice","opened","open","handleDeviceConnect","HIDPermissionTimeout","requestWebHidPermissions","_callee","deviceFound","_context","deductProductId","connectFromHidPermissions","t0","_x","_connectFromHidPermissions","_callee3","_context3","_x2","_x3","reportID","reportId","handeledInputReportIds","byte0","wordCommand","formatHex","handleDeviceButtonPress","_handleDeviceConnect","_callee4","_context4","ProductName","productName","handleInputReport","numDeviceEventListeners","currentProductID","currentCallState","headsetOutputReportId","outputReportReportId","flagSupport","JLCommandSet","_this3","deviceLabel","_device$productName","_step","_iterator","_createForOfIteratorHelper","collections","collection","inputReports","inputReportReportId","outputReports","_disconnect","_callee5","_context5","ChangeCallState","isMuted","setMute","deviceMuteChanged","close","_incomingCall","_callee6","_context6","currentCallInfo","activeConversationId","ParseStateEvents","_x4","_outgoingCall","_callee7","_context7","_x5","_answerCall","_callee8","_context8","_x6","_x7","_rejectCall","_callee9","_context9","_endCall","_callee0","_context0","_x8","_x9","_endAllCalls","_callee1","_context1","_setMute","_callee10","_context10","UpdateDeviceStatus","_x0","_setHold","_callee11","_context11","isHolding","_x1","_x10","CAStateEvent","newstate","deviceStatus","deviceAnsweredCall","deviceEndedCall","deviceRejectedCall","flag","SendCommandToDevice","_SendCommandToDevice","_callee12","_context12","gCmdBuf","sendReport","_x11","_HidMockDeviceInit","_callee13","deviceLists","_context13","val","staticProps","PlantronicsCallEventCodes","PlantronicsService","pluginName","callEventsTimerId","deviceStatusTimerId","incomingConversationId","callId","round","callMappings","plantronicsCallId","_this$_deviceInfo","deviceInfo","disableEventPolling","getCallEvents","pollForCallEvents","activePollingInterval","getDeviceStatus","pollForDeviceStatus","isDeviceAttached","connectedDeviceInterval","disconnectedDeviceInterval","_makeRequestTask2","endpoint","isRetry","_makeRequest","fetchJsonp","_makeRequest2","plantronicsInstance","_this4","_fetch","apiHost","Type_Name","status","disconnect","handled","_makeRequestTask","browserama","isFirefox","errorCode","disableRetry","_checkIsActiveTask2","calls","_getActiveCalls","isActive","_getActiveCalls2","_result","_this5","Result","Calls","Source","_getCallEvents","_this6","eventType","Action","callCorrespondingFunction","_getDeviceStatus","_this7","Err","Description","CallId","Id","endCall","setHold","_checkIsActiveTask","deviceHoldStatusChanged","holdRequested","deviceEventLogs","_unregisterPlugin","_response$Err","_this8","unregisterPlugin","isError","clearTimeouts","contactName","_createCallMapping","params","halfEncodedCallIdString","encodeURI","halfEncodedContactString","incomingCall","_this9","createNew","SennheiserEvents","SennheiserEventTypes","SennheiserService","websocketConnected","ignoreAcknowledgement","Event","websocket","send","EstablishConnection","EventType","Request","SPName","SPIconImage","RedialSupport","OffHookSupport","MuteSupport","DNDOption","_sendMessage","socket","WebSocket","onopen","webSocketOnOpen","onclose","webSocketOnClose","onmessage","_handleMessage","wasClean","isFireFox","TerminateConnection","MuteFromApp","UnmuteFromApp","Hold","Resume","CallID","IncomingCall","IncomingCallAccepted","IncomingCallRejected","OutgoingCall","CallEnded","ReturnCode","_handleError","SocketConnected","_registerSoftphone","SPLogin","SystemInformation","HeadsetConnected","HeadsetName","deviceName","headsetType","HeadsetType","HeadsetDisconnected","Notification","Ack","_handleAck","MuteFromHeadset","UnmuteFromHeadset","readyState","EmptyError","firstValueFrom","hasConfig","intervalProvider","AsyncAction","_id","_scheduler","_delay","errorValue","errored","dateTimestampProvider","Scheduler","asyncScheduler","AsyncScheduler","SchedulerAction","operate","hasLift","liftedSource","innerFrom","isInteropObservable","obs","array","isAsyncIterable","fromAsyncIterable","isIterable","iterable","iterable_1","iterable_1_1","isReadableStreamLike","readableStream","reader","readableStreamLikeToAsyncGenerator","createInvalidObservableTypeError","asyncIterable","asyncIterable_1","asyncIterable_1_1","createOperatorSubscriber","onNext","onComplete","onError","OperatorSubscriber","closed_1","TimeoutError","schedulerArg","_with","timeoutErrorFactory","_d","originalSourceSubscription","timerSubscription","startTimer","parentSubscription","repeat","scheduleSubscription","executeSchedule","defaultIfEmpty","hasValue","predicate","take","throwIfEmpty","errorFactory","defaultErrorFactory","hasDefaultValue","project","JabraService","_this$deviceInfo","callControl","headsetEventSubscription","signal","_message","_type","callLock","SignalType","pendingConversationId","offHook","ring","pendingConversationIsOutbound","code","mute","hold","_ref2","checkForCallLockError","isHeld","_ref3","takeCallLock","resetState","_ref6","_device$name","selectedDevice","jabraSdk","initializeJabraSdk","callControlFactory","createCallControlFactory","toLocaleLowerCase","deviceHasPermissions","getPreviouslyConnectedDevice","getDeviceFromWebhid","createCallControl","resetHeadsetState","_processEvents","attached","_deviceHasPermissions","allowedHIDDevices","_getPreviouslyConnectedDevice","waitForDevice","devices","isDeviceInList","_getDeviceFromWebhid","webHidPairing","_x12","_initializeJabraSdk","RequestedBrowserTransport","sdk","CallControlFactory","ErrorType","_resetHeadsetState","_callee14","_context14","JabraNativeCommands","JabraNativeEventNames","JabraNativeService","ringing","isHostedContextInitialized","setupNativeHandlers","waitForHostedContext","_Orgspan","Orgspan","serviceFor","isHosted","_Orgspan2","hostedContext","cefSupportsJabra","supportsJabra","handleJabraEvent","handleJabraDeviceAttached","activeDeviceId","msg","isDeviceEvent","isHeadsetEvent","updateDevices","_processEvent","isOffhook","_sendCmd","Offhook","_setRinging","_getHeadsetIntoVanillaState","Mute","sendEventToDesktop","deviceID","Ring","ignoreNextOffhookEvent","_updateDevices","func","timer","OffHook","_handleOffhookEvent","RejectCall","_handleMuteEvent","_handleHoldEvent","timeoutInMillis","timeoutError","timeoutPromise","race","allowArrayLike","minLen","_arrayLikeToArray","_unsupportedIterableToArray","normalCompletion","didErr","_e2","arr2","YealinkService","waiter","bFind","_device$productName2","_step2","_iterator2","processBtnPress","recCallState","changeFlag","callState","answerCall","isHold","sendOpToDevice","setValue","_setValue","_sendOpToDevice","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","PROGRAMMABLE_BUTTON","ToggleButton","ToggleSwitch","isAbsolute","inputEventInfos","inputEventObserverCallbacks","outputEventInfos","parseDeviceDescriptors","onInputReport","_this$inputEventObser","_this$inputEventObser2","_this$inputEventObser3","_this$inputEventObser4","_this$inputEventObser5","_this$inputEventObser6","_this$inputEventObser7","_this$inputEventObser8","offset","controlType","_close","parseInputReport","parseOutputReport","_step3","_iterator3","usages","reportCount","_step4","_iterator4","entries","_step4$value","_slicedToArray","_step5","_iterator5","_loop","_step6","_iterator6","_step7","_iterator7","_step7$value","_loop2","_s$_i","_s","_i2","setter","_this$inputEventInfos","supportInput","_this$outputEventInfo","_send","_i3","_iterator8","_step8","_loop3","_i5","_i4","_s2","_i6","_v","_u","setState","t1","t2","_step8$value","t4","_create","supportOutput","ACCEPT_CALL","END_CALL","MUTE_CALL","UNMUTE_CALL","_g","onHook","muteOn","muteOff","getState","_D","_iterator9","_step9","_M","VBetService","DeviceSignalType","dev","_dev","findDevice","webhidConsent","res","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","HeadsetService","_headsetEvents$","headsetEvents$","plantronics","getInstance","jabraNative","jabra","sennheiser","yealink","vbet","cyberAcoustics","implementation","subscribeToHeadsetEvents","impl","isSupported","headsetConversationStates","opts","expectExistingConversation","isDifferentState","micLabel","implementations","deviceLabelMatchesVendor","newMicLabel","changeReason","changeImplementation","selectedImplementation","clearSelectedImplementation","_changeImplementation","implementationChanged","getConnectedImpl","held","muted","outgoingCall","expectedStatePostAction","updateHeadsetState","_args5","removeTimer","setRemoveTimer","endAllCalls","resetHeadsetStateForCall","handleDeviceAnsweredCall","handleDeviceRejectedCall","handleDeviceEndedCall","deviceMuteStatusChanged","handleDeviceMuteStatusChanged","handleDeviceHoldStatusChanged","handleDeviceLogs","deviceConnectionStatusChanged","handleDeviceConnectionStatusChanged","webHidPermissionRequested","handleWebHidPermissionRequested","connectionStatus","loggableEvent","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","nextTick","title","browser","env","argv","versions","binding","cwd","chdir","dir","umask","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","byteOffset","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","fromString","isBuffer","checked","fromObject","assertSize","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","foo","typedArraySupport","poolSize","_augment","species","fill","allocUnsafeSlow","_isBuffer","pos","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","_arr","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","dst","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","abs","LN2"],"mappings":"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","file":"softhphone-vendor-headsets.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"SoftphoneVendorHeadsets\"] = factory();\n\telse\n\t\troot[\"SoftphoneVendorHeadsets\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".softhphone-vendor-headsets.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonpSoftphoneVendorHeadsets\"] = window[\"webpackJsonpSoftphoneVendorHeadsets\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n","var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};function e(e,n){if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}function n(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))}function r(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function i(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function o(t,e){var n=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function s(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i<o;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}function a(t){return this instanceof a?(this.v=t,this):new a(t)}function c(t,e,n){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var r,i=n.apply(t,e||[]),o=[];return r={},s(\"next\"),s(\"throw\"),s(\"return\"),r[Symbol.asyncIterator]=function(){return this},r;function s(t){i[t]&&(r[t]=function(e){return new Promise((function(n,r){o.push([t,e,n,r])>1||c(t,e)}))})}function c(t,e){try{(n=i[t](e)).value instanceof a?Promise.resolve(n.value.v).then(u,l):h(o[0][2],n)}catch(t){h(o[0][3],t)}var n}function u(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function h(t,e){t(e),o.shift(),o.length&&c(o[0][0],o[0][1])}}function u(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=i(t),e={},r(\"next\"),r(\"throw\"),r(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,i){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,i,(e=t[n](e)).done,e.value)}))}}}function l(t,e,n,r){if(\"a\"===n&&!r)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof e?t!==e||!r:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===n?r:\"a\"===n?r.call(t):r?r.value:e.get(t)}function h(t,e,n,r,i){if(\"m\"===r)throw new TypeError(\"Private method is not writable\");if(\"a\"===r&&!i)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof e?t!==e||!i:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}function d(t){return\"function\"==typeof t}function p(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var f=p((function(t){return function(e){t(this),this.message=e?e.length+\" errors occurred during unsubscription:\\n\"+e.map((function(t,e){return e+1+\") \"+t.toString()})).join(\"\\n \"):\"\",this.name=\"UnsubscriptionError\",this.errors=e}}));function v(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var E=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,a;if(!this.closed){this.closed=!0;var c=this._parentage;if(c)if(this._parentage=null,Array.isArray(c))try{for(var u=i(c),l=u.next();!l.done;l=u.next()){l.value.remove(this)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=u.return)&&e.call(u)}finally{if(t)throw t.error}}else c.remove(this);var h=this.initialTeardown;if(d(h))try{h()}catch(t){a=t instanceof f?t.errors:[t]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var v=i(p),E=v.next();!E.done;E=v.next()){var g=E.value;try{m(g)}catch(t){a=null!=a?a:[],t instanceof f?a=s(s([],o(a)),o(t.errors)):a.push(t)}}}catch(t){n={error:t}}finally{try{E&&!E.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}}if(a)throw new f(a)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)m(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&v(e,t)},t.prototype.remove=function(e){var n=this._finalizers;n&&v(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),g=E.EMPTY;function _(t){return t instanceof E||t&&\"closed\"in t&&d(t.remove)&&d(t.add)&&d(t.unsubscribe)}function m(t){d(t)?t():t.unsubscribe()}var b={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},y={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=y.delegate;return(null==i?void 0:i.setTimeout)?i.setTimeout.apply(i,s([t,e],o(n))):setTimeout.apply(void 0,s([t,e],o(n)))},clearTimeout:function(t){var e=y.delegate;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function O(t){y.setTimeout((function(){throw t}))}function w(){}var N=C(\"C\",void 0,void 0);function C(t,e,n){return{kind:t,value:e,error:n}}function T(t){t()}var S=function(t){function n(e){var n=t.call(this)||this;return n.isStopped=!1,e?(n.destination=e,_(e)&&e.add(n)):n.destination=P,n}return e(n,t),n.create=function(t,e,n){return new D(t,e,n)},n.prototype.next=function(t){this.isStopped?L(function(t){return C(\"N\",t,void 0)}(t),this):this._next(t)},n.prototype.error=function(t){this.isStopped?L(C(\"E\",void 0,t),this):(this.isStopped=!0,this._error(t))},n.prototype.complete=function(){this.isStopped?L(N,this):(this.isStopped=!0,this._complete())},n.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},n.prototype._next=function(t){this.destination.next(t)},n.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},n.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},n}(E),A=Function.prototype.bind;function I(t,e){return A.call(t,e)}var R=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var e=this.partialObserver;if(e.next)try{e.next(t)}catch(t){H(t)}},t.prototype.error=function(t){var e=this.partialObserver;if(e.error)try{e.error(t)}catch(t){H(t)}else H(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(t){H(t)}},t}(),D=function(t){function n(e,n,r){var i,o,s=t.call(this)||this;d(e)||!e?i={next:null!=e?e:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:s&&b.useDeprecatedNextContext?((o=Object.create(e)).unsubscribe=function(){return s.unsubscribe()},i={next:e.next&&I(e.next,o),error:e.error&&I(e.error,o),complete:e.complete&&I(e.complete,o)}):i=e;return s.destination=new R(i),s}return e(n,t),n}(S);function H(t){O(t)}function L(t,e){var n=b.onStoppedNotification;n&&y.setTimeout((function(){return n(t,e)}))}var P={closed:!0,next:w,error:function(t){throw t},complete:w},U=\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\";function k(t){return t}function x(t){return 0===t.length?k:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)}}var G=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r,i=this,o=(r=t)&&r instanceof S||function(t){return t&&d(t.next)&&d(t.error)&&d(t.complete)}(r)&&_(r)?t:new D(t,e,n);return T((function(){var t=i,e=t.operator,n=t.source;o.add(e?e.call(o,n):n?i._subscribe(o):i._trySubscribe(o))})),o},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=F(e))((function(e,r){var i=new D({next:function(e){try{t(e)}catch(t){r(t),i.unsubscribe()}},error:r,complete:e});n.subscribe(i)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[U]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return x(t)(this)},t.prototype.toPromise=function(t){var e=this;return new(t=F(t))((function(t,n){var r;e.subscribe((function(t){return r=t}),(function(t){return n(t)}),(function(){return t(r)}))}))},t.create=function(e){return new t(e)},t}();function F(t){var e;return null!==(e=null!=t?t:b.Promise)&&void 0!==e?e:Promise}function M(t){return function(e){if(function(t){return d(null==t?void 0:t.lift)}(e))return e.lift((function(e){try{return t(e,this)}catch(t){this.error(t)}}));throw new TypeError(\"Unable to lift unknown Observable type\")}}function B(t,e,n,r,i){return new W(t,e,n,r,i)}var W=function(t){function n(e,n,r,i,o,s){var a=t.call(this,e)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(t){try{n(t)}catch(t){e.error(t)}}:t.prototype._next,a._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,a._complete=r?function(){try{r()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,a}return e(n,t),n.prototype.unsubscribe=function(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;t.prototype.unsubscribe.call(this),!n&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}},n}(S),K=p((function(t){return function(){t(this),this.name=\"ObjectUnsubscribedError\",this.message=\"object unsubscribed\"}})),Y=function(t){function n(){var e=t.call(this)||this;return e.closed=!1,e.currentObservers=null,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return e(n,t),n.prototype.lift=function(t){var e=new V(this,this);return e.operator=t,e},n.prototype._throwIfClosed=function(){if(this.closed)throw new K},n.prototype.next=function(t){var e=this;T((function(){var n,r;if(e._throwIfClosed(),!e.isStopped){e.currentObservers||(e.currentObservers=Array.from(e.observers));try{for(var o=i(e.currentObservers),s=o.next();!s.done;s=o.next()){s.value.next(t)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}}))},n.prototype.error=function(t){var e=this;T((function(){if(e._throwIfClosed(),!e.isStopped){e.hasError=e.isStopped=!0,e.thrownError=t;for(var n=e.observers;n.length;)n.shift().error(t)}}))},n.prototype.complete=function(){var t=this;T((function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var e=t.observers;e.length;)e.shift().complete()}}))},n.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(n.prototype,\"observed\",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),n.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},n.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},n.prototype._innerSubscribe=function(t){var e=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?g:(this.currentObservers=null,o.push(t),new E((function(){e.currentObservers=null,v(o,t)})))},n.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,i=e.isStopped;n?t.error(r):i&&t.complete()},n.prototype.asObservable=function(){var t=new G;return t.source=this,t},n.create=function(t,e){return new V(t,e)},n}(G),V=function(t){function n(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return e(n,t),n.prototype.next=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)},n.prototype.error=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)},n.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},n.prototype._subscribe=function(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:g},n}(Y),j=function(t){function n(e){var n=t.call(this)||this;return n._value=e,n}return e(n,t),Object.defineProperty(n.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),n.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},n.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},n.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},n}(Y),q={now:function(){return(q.delegate||Date).now()},delegate:void 0},$=function(t){function n(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=q);var i=t.call(this)||this;return i._bufferSize=e,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,e),i._windowTime=Math.max(1,n),i}return e(n,t),n.prototype.next=function(e){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(e),!o&&i.push(s.now()+a)),this._trimBuffer(),t.prototype.next.call(this,e)},n.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!t.closed;i+=n?1:2)t.next(r[i]);return this._checkFinalizedStatuses(t),e},n.prototype._trimBuffer=function(){var t=this,e=t._bufferSize,n=t._timestampProvider,r=t._buffer,i=t._infiniteTimeWindow,o=(i?1:2)*e;if(e<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},n}(Y),z=function(t){function n(e,n){return t.call(this)||this}return e(n,t),n.prototype.schedule=function(t,e){return this},n}(E),Q={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=Q.delegate;return(null==i?void 0:i.setInterval)?i.setInterval.apply(i,s([t,e],o(n))):setInterval.apply(void 0,s([t,e],o(n)))},clearInterval:function(t){var e=Q.delegate;return((null==e?void 0:e.clearInterval)||clearInterval)(t)},delegate:void 0},J=function(t){function n(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return e(n,t),n.prototype.schedule=function(t,e){var n;if(void 0===e&&(e=0),this.closed)return this;this.state=t;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,e)),this.pending=!0,this.delay=e,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,e),this},n.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),Q.setInterval(t.flush.bind(t,this),n)},n.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return e;null!=e&&Q.clearInterval(e)},n.prototype.execute=function(t,e){if(this.closed)return new Error(\"executing a cancelled action\");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},n.prototype._execute=function(t,e){var n,r=!1;try{this.work(t)}catch(t){r=!0,n=t||new Error(\"Scheduled action threw falsy error\")}if(r)return this.unsubscribe(),n},n.prototype.unsubscribe=function(){if(!this.closed){var e=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,v(r,this),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},n}(z),X=function(){function t(e,n){void 0===n&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(n,e)},t.now=q.now,t}(),Z=new(function(t){function n(e,n){void 0===n&&(n=X.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r}return e(n,t),n.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},n}(X))(J),tt=Z,et=new G((function(t){return t.complete()}));function nt(t){return t&&d(t.schedule)}function rt(t){return t[t.length-1]}function it(t){return d(rt(t))?t.pop():void 0}function ot(t){return nt(rt(t))?t.pop():void 0}function st(t,e){return\"number\"==typeof rt(t)?t.pop():e}var at=function(t){return t&&\"number\"==typeof t.length&&\"function\"!=typeof t};function ct(t){return d(null==t?void 0:t.then)}function ut(t){return d(t[U])}function lt(t){return Symbol.asyncIterator&&d(null==t?void 0:t[Symbol.asyncIterator])}function ht(t){return new TypeError(\"You provided \"+(null!==t&&\"object\"==typeof t?\"an invalid object\":\"'\"+t+\"'\")+\" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\")}var dt=\"function\"==typeof Symbol&&Symbol.iterator?Symbol.iterator:\"@@iterator\";function pt(t){return d(null==t?void 0:t[dt])}function ft(t){return c(this,arguments,(function(){var e,n,i;return r(this,(function(r){switch(r.label){case 0:e=t.getReader(),r.label=1;case 1:r.trys.push([1,,9,10]),r.label=2;case 2:return[4,a(e.read())];case 3:return n=r.sent(),i=n.value,n.done?[4,a(void 0)]:[3,5];case 4:return[2,r.sent()];case 5:return[4,a(i)];case 6:return[4,r.sent()];case 7:return r.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}function vt(t){return d(null==t?void 0:t.getReader)}function Et(t){if(t instanceof G)return t;if(null!=t){if(ut(t))return o=t,new G((function(t){var e=o[U]();if(d(e.subscribe))return e.subscribe(t);throw new TypeError(\"Provided object does not correctly implement Symbol.observable\")}));if(at(t))return r=t,new G((function(t){for(var e=0;e<r.length&&!t.closed;e++)t.next(r[e]);t.complete()}));if(ct(t))return n=t,new G((function(t){n.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,O)}));if(lt(t))return gt(t);if(pt(t))return e=t,new G((function(t){var n,r;try{for(var o=i(e),s=o.next();!s.done;s=o.next()){var a=s.value;if(t.next(a),t.closed)return}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.complete()}));if(vt(t))return gt(ft(t))}var e,n,r,o;throw ht(t)}function gt(t){return new G((function(e){(function(t,e){var i,o,s,a;return n(this,void 0,void 0,(function(){var n,c;return r(this,(function(r){switch(r.label){case 0:r.trys.push([0,5,6,11]),i=u(t),r.label=1;case 1:return[4,i.next()];case 2:if((o=r.sent()).done)return[3,4];if(n=o.value,e.next(n),e.closed)return[2];r.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=r.sent(),s={error:c},[3,11];case 6:return r.trys.push([6,,9,10]),o&&!o.done&&(a=i.return)?[4,a.call(i)]:[3,8];case 7:r.sent(),r.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}}))}))})(t,e).catch((function(t){return e.error(t)}))}))}function _t(t,e,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=e.schedule((function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()}),r);if(t.add(o),!i)return o}function mt(t,e){return void 0===e&&(e=0),M((function(n,r){n.subscribe(B(r,(function(n){return _t(r,t,(function(){return r.next(n)}),e)}),(function(){return _t(r,t,(function(){return r.complete()}),e)}),(function(n){return _t(r,t,(function(){return r.error(n)}),e)})))}))}function bt(t,e){return void 0===e&&(e=0),M((function(n,r){r.add(t.schedule((function(){return n.subscribe(r)}),e))}))}function yt(t,e){if(!t)throw new Error(\"Iterable cannot be null\");return new G((function(n){_t(n,e,(function(){var r=t[Symbol.asyncIterator]();_t(n,e,(function(){r.next().then((function(t){t.done?n.complete():n.next(t.value)}))}),0,!0)}))}))}function Ot(t,e){if(null!=t){if(ut(t))return function(t,e){return Et(t).pipe(bt(e),mt(e))}(t,e);if(at(t))return function(t,e){return new G((function(n){var r=0;return e.schedule((function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())}))}))}(t,e);if(ct(t))return function(t,e){return Et(t).pipe(bt(e),mt(e))}(t,e);if(lt(t))return yt(t,e);if(pt(t))return function(t,e){return new G((function(n){var r;return _t(n,e,(function(){r=t[dt](),_t(n,e,(function(){var t,e,i;try{e=(t=r.next()).value,i=t.done}catch(t){return void n.error(t)}i?n.complete():n.next(e)}),0,!0)})),function(){return d(null==r?void 0:r.return)&&r.return()}}))}(t,e);if(vt(t))return function(t,e){return yt(ft(t),e)}(t,e)}throw ht(t)}function wt(t,e){return e?Ot(t,e):Et(t)}function Nt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t);return wt(t,n)}function Ct(t,e){var n=d(t)?t:function(){return t},r=function(t){return t.error(n())};return new G(e?function(t){return e.schedule(r,0,t)}:r)}var Tt=p((function(t){return function(){t(this),this.name=\"EmptyError\",this.message=\"no elements in sequence\"}}));function St(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o,s=!1;t.subscribe({next:function(t){o=t,s=!0},error:i,complete:function(){s?r(o):n?r(e.defaultValue):i(new Tt)}})}))}function At(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o=new D({next:function(t){r(t),o.unsubscribe()},error:i,complete:function(){n?r(e.defaultValue):i(new Tt)}});t.subscribe(o)}))}function It(t){return t instanceof Date&&!isNaN(t)}var Rt=p((function(t){return function(e){void 0===e&&(e=null),t(this),this.message=\"Timeout has occurred\",this.name=\"TimeoutError\",this.info=e}}));function Dt(t,e){var n=It(t)?{first:t}:\"number\"==typeof t?{each:t}:t,r=n.first,i=n.each,o=n.with,s=void 0===o?Ht:o,a=n.scheduler,c=void 0===a?null!=e?e:Z:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError(\"No timeout provided.\");return M((function(t,e){var n,o,a=null,u=0,h=function(t){o=_t(e,c,(function(){try{n.unsubscribe(),Et(s({meta:l,lastValue:a,seen:u})).subscribe(e)}catch(t){e.error(t)}}),t)};n=t.subscribe(B(e,(function(t){null==o||o.unsubscribe(),u++,e.next(a=t),i>0&&h(i)}),void 0,void 0,(function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),a=null}))),!u&&h(null!=r?\"number\"==typeof r?r:+r-c.now():i)}))}function Ht(t){throw new Rt(t)}function Lt(t,e){return M((function(n,r){var i=0;n.subscribe(B(r,(function(n){r.next(t.call(e,n,i++))})))}))}function Pt(t,e,n){return void 0===n&&(n=1/0),d(e)?Pt((function(n,r){return Lt((function(t,i){return e(n,t,r,i)}))(Et(t(n,r)))}),n):(\"number\"==typeof e&&(n=e),M((function(e,r){return function(t,e,n,r,i,o,s,a){var c=[],u=0,l=0,h=!1,d=function(){!h||c.length||u||e.complete()},p=function(t){return u<r?f(t):c.push(t)},f=function(t){o&&e.next(t),u++;var a=!1;Et(n(t,l++)).subscribe(B(e,(function(t){null==i||i(t),o?p(t):e.next(t)}),(function(){a=!0}),void 0,(function(){if(a)try{u--;for(var t=function(){var t=c.shift();s?_t(e,s,(function(){return f(t)})):f(t)};c.length&&u<r;)t();d()}catch(t){e.error(t)}})))};return t.subscribe(B(e,p,(function(){h=!0,d()}))),function(){null==a||a()}}(e,r,t,n)})))}function Ut(t){return void 0===t&&(t=1/0),Pt(k,t)}function kt(){return Ut(1)}function xt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return kt()(wt(t,ot(t)))}function Gt(t){return new G((function(e){Et(t()).subscribe(e)}))}function Ft(t,e,n){void 0===t&&(t=0),void 0===n&&(n=tt);var r=-1;return null!=e&&(nt(e)?n=e:r=e),new G((function(e){var i=It(t)?+t-n.now():t;i<0&&(i=0);var o=0;return n.schedule((function(){e.closed||(e.next(o++),0<=r?this.schedule(void 0,r):e.complete())}),i)}))}function Mt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t),r=st(t,1/0),i=t;return i.length?1===i.length?Et(i[0]):Ut(r)(wt(i,n)):et}var Bt,Wt,Kt,Yt,Vt,jt,qt=new G(w),$t=Array.isArray;function zt(t){return 1===t.length&&$t(t[0])?t[0]:t}function Qt(t,e){return function(n,r){return!t.call(e,n,r)}}function Jt(t,e){return M((function(n,r){var i=0;n.subscribe(B(r,(function(n){return t.call(e,n,i++)&&r.next(n)})))}))}function Xt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===(t=zt(t)).length?Et(t[0]):new G(Zt(t))}function Zt(t){return function(e){for(var n=[],r=function(r){n.push(Et(t[r]).subscribe(B(e,(function(t){if(n){for(var i=0;i<n.length;i++)i!==r&&n[i].unsubscribe();n=null}e.next(t)}))))},i=0;n&&!e.closed&&i<t.length;i++)r(i)}}function te(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=it(t),r=zt(t);return r.length?new G((function(t){var e=r.map((function(){return[]})),i=r.map((function(){return!1}));t.add((function(){e=i=null}));for(var a=function(a){Et(r[a]).subscribe(B(t,(function(r){if(e[a].push(r),e.every((function(t){return t.length}))){var c=e.map((function(t){return t.shift()}));t.next(n?n.apply(void 0,s([],o(c))):c),e.some((function(t,e){return!t.length&&i[e]}))&&t.complete()}}),(function(){i[a]=!0,!e[a].length&&t.complete()})))},c=0;!t.closed&&c<r.length;c++)a(c);return function(){e=i=null}})):et}function ee(t){return M((function(e,n){var r,i=null,o=!1;i=e.subscribe(B(n,void 0,void 0,(function(s){r=Et(t(s,ee(t)(e))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function ne(t,e){return d(e)?Pt(t,e,1):Pt(t,1)}function re(t){return M((function(e,n){var r=!1;e.subscribe(B(n,(function(t){r=!0,n.next(t)}),(function(){r||n.next(t),n.complete()})))}))}function ie(t){return t<=0?function(){return et}:M((function(e,n){var r=0;e.subscribe(B(n,(function(e){++r<=t&&(n.next(e),t<=r&&n.complete())})))}))}function oe(t,e){return void 0===e&&(e=k),t=null!=t?t:se,M((function(n,r){var i,o=!0;n.subscribe(B(r,(function(n){var s=e(n);!o&&t(i,s)||(o=!1,i=s,r.next(n))})))}))}function se(t,e){return t===e}function ae(t){return void 0===t&&(t=ce),M((function(e,n){var r=!1;e.subscribe(B(n,(function(t){r=!0,n.next(t)}),(function(){return r?n.complete():n.error(t())})))}))}function ce(){return new Tt}function ue(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Jt((function(e,n){return t(e,n,r)})):k,ie(1),n?re(e):ae((function(){return new Tt})))}}function le(t){return t<=0?function(){return et}:M((function(e,n){var r=[];e.subscribe(B(n,(function(e){r.push(e),t<r.length&&r.shift()}),(function(){var t,e;try{for(var o=i(r),s=o.next();!s.done;s=o.next()){var a=s.value;n.next(a)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}n.complete()}),void 0,(function(){r=null})))}))}function he(t){return M((function(e,n){var r,i,o=!1,s=function(){r=e.subscribe(B(n,void 0,void 0,(function(e){i||(i=new Y,t(i).subscribe(B(n,(function(){return r?s():o=!0})))),i&&i.next(e)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function de(t){void 0===t&&(t={});var e=t.connector,n=void 0===e?function(){return new Y}:e,r=t.resetOnError,i=void 0===r||r,o=t.resetOnComplete,s=void 0===o||o,a=t.resetOnRefCountZero,c=void 0===a||a;return function(t){var e,r,o,a=0,u=!1,l=!1,h=function(){null==r||r.unsubscribe(),r=void 0},d=function(){h(),e=o=void 0,u=l=!1},p=function(){var t=e;d(),null==t||t.unsubscribe()};return M((function(t,f){a++,l||u||h();var v=o=null!=o?o:n();f.add((function(){0!==--a||l||u||(r=pe(p,c))})),v.subscribe(f),!e&&a>0&&(e=new D({next:function(t){return v.next(t)},error:function(t){l=!0,h(),r=pe(d,i,t),v.error(t)},complete:function(){u=!0,h(),r=pe(d,s),v.complete()}}),Et(t).subscribe(e))}))(t)}}function pe(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==e){if(!1!==e){var i=new D({next:function(){i.unsubscribe(),t()}});return e.apply(void 0,s([],o(n))).subscribe(i)}}else t()}function fe(t,e,n){var r,i,o,s,a=!1;return t&&\"object\"==typeof t?(r=t.bufferSize,s=void 0===r?1/0:r,i=t.windowTime,e=void 0===i?1/0:i,a=void 0!==(o=t.refCount)&&o,n=t.scheduler):s=null!=t?t:1/0,de({connector:function(){return new $(s,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function ve(t){return Jt((function(e,n){return t<=n}))}function Ee(t,e){return M((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(B(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;Et(t(n,c)).subscribe(i=B(r,(function(t){return r.next(e?e(n,t,c,s++):t)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}))}function ge(){return Ee(k)}function _e(t){return M((function(e,n){Et(t).subscribe(B(n,(function(){return n.complete()}),w)),!n.closed&&e.subscribe(n)}))}function me(t,e,n){var r=d(t)||e||n?{next:t,error:e,complete:n}:t;return r?M((function(t,e){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;t.subscribe(B(e,(function(t){var n;null===(n=r.next)||void 0===n||n.call(r,t),e.next(t)}),(function(){var t;i=!1,null===(t=r.complete)||void 0===t||t.call(r),e.complete()}),(function(t){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,t),e.error(t)}),(function(){var t,e;i&&(null===(t=r.unsubscribe)||void 0===t||t.call(r)),null===(e=r.finalize)||void 0===e||e.call(r)})))})):k}class be extends Error{constructor(t,e){super(t),this.type=e,this.type=e,Object.setPrototypeOf(this,new.target.prototype)}}function ye(t,e,n=Bt.ERROR,r=Wt.JS_LIB){e?null==e||e.write({level:n,layer:r,message:t}):e||n!==Bt.ERROR||console.error(t)}function Oe(t){return void 0!==t}!function(t){t.ERROR=\"error\",t.WARNING=\"warning\",t.INFO=\"info\"}(Bt||(Bt={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.NATIVE_CONSOLE=\"native-console\",t.JS_LIB=\"js-lib\"}(Wt||(Wt={})),function(t){t.SDK_USAGE_ERROR=\"sdk-usage-error\",t.FEATURE_NOT_SUPPORTED=\"feature-not-supported\",t.DEVICE_ERROR=\"device-error\",t.UNEXPECTED_ERROR=\"unexpected-error\",t.INIT_ERROR=\"init-error\"}(Kt||(Kt={}));class we{constructor(t,e){this.compare=e,this.remove=new Y,this.itemRemoved=this.remove,this.items=new j([]),this.itemList=this.items,this.itemAdded=t.pipe(Lt((t=>(this.addItem(t),t))),de()),this.itemAdded.subscribe({next:t=>{t.onDisconnect.pipe(ue(),Lt((()=>this.removeItem(t.id))),Jt(Oe)).subscribe((t=>this.remove.next(t)))},error:w}),this.itemRemoved.subscribe({error:w})}getValue(){return[...this.items.getValue()]}addItem(t){if(this.items.getValue().filter((e=>e.id.equals(t.id))).length>0)throw new be(\"This item has already been added.\",Kt.UNEXPECTED_ERROR);const e=this.items.getValue().concat([t]);e.sort(this.compare),this.items.next(e)}removeItem(t){const e=this.getValue(),n=e.findIndex((e=>e.id.equals(t)));if(-1===n)throw new be(\"Item not found and therefore cannot be removed.\",Kt.UNEXPECTED_ERROR);const r=e.splice(n,1)[0];return this.items.next(e),r}}class Ne{constructor(t,e){var n;this.sdkVersion=null!==(n=\"4.2.2\")?n:\"0.0.1-local\",this.consoleAppVersion=t.pipe(ue((t=>\"ready\"===t.event)),Lt((t=>t.version)),Dt(1e3),fe(1),ee((()=>Nt(null)))),this.chromeExtensionVersion=t.pipe(ue((t=>\"chrome-extension-ready\"===t.event)),Lt((t=>t.version)),Dt(1e3),fe(1),ee((()=>Nt(null)))),te(this.consoleAppVersion,this.chromeExtensionVersion).subscribe((t=>{const n=`sdkVersion: ${this.sdkVersion} | chromeHostVersion: ${t[0]}`;let r;r=\"undefined\"!=typeof process?`${n} | nodeVersion: ${process.version} | platform: ${process.platform}`:`${n} | chromeExtensionVersion: ${t[1]} | browserUserAgent: ${window.navigator.userAgent}`,ye(r,e,Bt.INFO)}))}}class Ce{constructor(t,e,n){this.deviceDetector=t,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Yt.set(this,void 0),this._transport=e,this._readyEvents=e.consoleAppEvent.pipe(Jt((t=>\"ready\"===t.event||\"chrome-extension-ready\"===t.event)),fe(2)),this._readyEvents.subscribe(),this._config=n,this.transportContext=e.context,h(this,Yt,new Ne(this._readyEvents,null==n?void 0:n.logger),\"f\")}getVersion(){return l(this,Yt,\"f\").sdkVersion}getChromehostVersion(){return At(l(this,Yt,\"f\").consoleAppVersion)}getChromeExtensionVersion(){return At(l(this,Yt,\"f\").chromeExtensionVersion)}}Yt=new WeakMap,function(t){t.NODE=\"node\",t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\"}(Vt||(Vt={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\",t.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK=\"chrome-extension-with-web-hid-fallback\"}(jt||(jt={}));const Te=\"Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!\";function Se(t,e=jt.CHROME_EXTENSION,r){return n(this,void 0,void 0,(function*(){if(e!==jt.WEB_HID){const n=yield import(\"./chrome-extension-transport-8660bed7.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),i=yield n.TransportChromeExtension.checkInstallation();if(i.ok)return ye(\"Using Chrome extension for transport.\",t,Bt.INFO),new n.TransportChromeExtension(t,r);if(e===jt.CHROME_EXTENSION)throw new be(i.message,Kt.INIT_ERROR);e===jt.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&ye(i.message,t,Bt.INFO)}return ye(\"Using WebHID for transport.\",t,Bt.INFO),function(t,e){return n(this,void 0,void 0,(function*(){const n=yield import(\"./init-handler-972643e3.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),r=yield import(\"./web-hid-transport-7efedbe2.js\").catch((()=>{throw new be(Te,Kt.UNEXPECTED_ERROR)})),i=n.initHandler(t);return new r.WebHidTransport(i,t,e)}))}(t,r)}))}class Ae{constructor(t,e){this.log=t.consoleAppEvent.pipe(Jt((t=>\"log\"===t.event)),Lt((t=>({message:t.message,level:t.level,layer:t.layer})))),this.log.subscribe((t=>ye(t.message,e,t.level,t.layer)))}}const Ie=[0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920];class Re{constructor(t){this.config=t,this.messageShown=!1}validateOrganizationKey(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.partnerKey))return void this.logWarning(\"No partner key provided.\");this.validateCrc(this.config.partnerKey)||this.logWarning(\"Invalid partner key.\")}validateAppId(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.appId))return void this.logWarning(\"No app identifier provided.\");if(this.config.appId.length<3)return void this.logWarning(\"The appId should be minimum 3 characters.\",!1);if(this.config.appId.length>100)return void this.logWarning(\"The appId should be no longer than 100 characters.\",!1);/^[A-Za-z0-9\\-_]+$/.test(this.config.appId)||this.logWarning(\"The appId is invalid. Should consist of letters, numbers, underscores or dashes\",!1)}validateAppName(){var t;if(!(null===(t=this.config)||void 0===t?void 0:t.appName))return void this.logWarning(\"No app name provided. Will fallback to use appId as name.\",!1);if(!/^[\\x20-\\x7F]*$/.test(this.config.appName))return void this.logWarning(\"The app name can only contain ASCII characters\",!1);if(this.config.appName.length>100)return void this.logWarning(\"The app name should be no longer than 100 characters.\",!1);/^[A-Za-z0-9]+[A-Za-z0-9 &-]*$/g.test(this.config.appName)||this.logWarning(\"The appName is invalid. Name should consist of letters, numbers, spaces, ampersands and dashes. Name should not begin with spaces, ampersands or dashes.\",!1)}logWarning(t,e=!0){if(this.messageShown)return;this.messageShown=!0;e?console.warn(`\\n ${t}\\n \\n Add keys to the config object on initialization.\\n E.g. await init({\\n partnerKey: 'my-partner-key-from-developer-zone',\\n appId: 'my-self-chosen-app-id',\\n appName: 'My App Name'\\n });\\n\\n Please obtain a valid partner key from https://developer.jabra.com.\\n The key will ensure interoperability with other Jabra apps and services, and mitigate\\n some co-existence issues with other softphone applications.\\n\\n The package will continue to work without the keys, but we do not recommend production release\\n without it. Read more on the Developer Zone.\\n \\n `):console.warn(t)}validateCrc(t){const[e,...n]=t.split(\"-\"),r=function(t){let e,n,r=65535;for(n=0;n<t.length;n+=1){const i=t.charCodeAt(n);if(i>255)throw new RangeError;e=255&(i^r>>8),r=Ie[e]^r<<8}return 65535&(0^r)}(n.join(\"-\")).toString(16).padStart(4,\"0\");return e===r}}var De,He,Le,Pe,Ue,ke,xe,Ge;!function(t){t[t.MS_OC=0]=\"MS_OC\",t[t.CISCO=1]=\"CISCO\",t[t.AVAYA=2]=\"AVAYA\",t[t.SIEMENS=3]=\"SIEMENS\",t[t.ALCATEL=4]=\"ALCATEL\",t[t.IBM=5]=\"IBM\",t[t.AASTRA=6]=\"AASTRA\",t[t.SKYPE=7]=\"SKYPE\",t[t.GENERIC=8]=\"GENERIC\",t[t.NORTEL=9]=\"NORTEL\",t[t.JABRA=10]=\"JABRA\",t[t.NEC=11]=\"NEC\",t[t.SHORETEL=12]=\"SHORETEL\",t[t.OTHER=255]=\"OTHER\"}(De||(De={}));class Fe{constructor(t,e){this.gnpReadCommand=t,this.serialize=e,this.command=t.command,this.subCommand=t.subCommand}deserialize(t){return this.gnpReadCommand.deserialize(t)}}!function(t){t[t.GN_PROTOCOL=65280]=\"GN_PROTOCOL\"}(He||(He={})),function(t){t[t.DATA=1]=\"DATA\"}(Le||(Le={}));class Me{constructor(t,e,n,r,i,o=new Uint8Array,s=0){this.destination=t,this.source=e,this.type=n,this.command=r,this.subCommand=i,this.payload=o,this.sequenceNumber=s}}!function(t){t[t.PC_ADDR=0]=\"PC_ADDR\",t[t.BASE_ADDR=1]=\"BASE_ADDR\",t[t.HS1_ADDR=4]=\"HS1_ADDR\",t[t.HS_BT_USB_ADDR=8]=\"HS_BT_USB_ADDR\",t[t.HS_CRADLE_ADDR=10]=\"HS_CRADLE_ADDR\",t[t.CRADLE_ADDR=21]=\"CRADLE_ADDR\"}(Pe||(Pe={})),function(t){t[t.EVENT=0]=\"EVENT\",t[t.READ=1]=\"READ\",t[t.WRITE=2]=\"WRITE\",t[t.REPLY=3]=\"REPLY\"}(Ue||(Ue={})),function(t){t[t.IDENT=2]=\"IDENT\",t[t.DFU=7]=\"DFU\",t[t.DEVICE=13]=\"DEVICE\",t[t.FWU=15]=\"FWU\",t[t.STATUS=18]=\"STATUS\",t[t.CONFIG=19]=\"CONFIG\",t[t.NACK=254]=\"NACK\",t[t.ACK=255]=\"ACK\"}(ke||(ke={})),function(t){t[t.CONFIG_PREFERRED_SOFTPHONE=34]=\"CONFIG_PREFERRED_SOFTPHONE\",t[t.ID=1]=\"ID\",t[t.IDENT_GET_AVAILABLE_SOFTPHONES=16]=\"IDENT_GET_AVAILABLE_SOFTPHONES\",t[t.TYPE=2]=\"TYPE\",t[t.NAME=0]=\"NAME\",t[t.PID=17]=\"PID\",t[t.ATTACH_EVENT=1]=\"ATTACH_EVENT\",t[t.DETACH_EVENT=2]=\"DETACH_EVENT\"}(xe||(xe={})),function(t){t[t.NO_ERROR_CODE=0]=\"NO_ERROR_CODE\",t[t.BAD_STATE=243]=\"BAD_STATE\",t[t.TRANSMIT_FAILED=244]=\"TRANSMIT_FAILED\",t[t.ILLEGAL_ADDR=245]=\"ILLEGAL_ADDR\",t[t.UNKNOWN_CMD=246]=\"UNKNOWN_CMD\",t[t.FILE_NOT_FOUND=247]=\"FILE_NOT_FOUND\",t[t.INTERNAL_ERROR=248]=\"INTERNAL_ERROR\",t[t.REPLY_ERROR=249]=\"REPLY_ERROR\",t[t.ILLEGAL_PARAM=250]=\"ILLEGAL_PARAM\",t[t.OUT_OF_SEQUENCE=251]=\"OUT_OF_SEQUENCE\",t[t.NO_SPACE=252]=\"NO_SPACE\",t[t.ACCESS_DENIED=253]=\"ACCESS_DENIED\",t[t.NO_MORE_DATA=254]=\"NO_MORE_DATA\",t[t.UNKNOWN_SUB_CMD=255]=\"UNKNOWN_SUB_CMD\"}(Ge||(Ge={}));const Be={command:ke.DEVICE,subCommand:xe.ATTACH_EVENT,serialize:t=>Uint8Array.from([5,0])};function We(t){const e=t.payload,n=e[0],r=e.length-1;if(r!==n)throw new be(`Invalid response. Expected length: ${n}, actual: ${r}`,Kt.DEVICE_ERROR);const i=e.slice(1);return String.fromCharCode(...Array.from(i))}class Ke{constructor(){var t;this.command=ke.IDENT,this.subCommand=xe.IDENT_GET_AVAILABLE_SOFTPHONES,this.deserialize=(t=t=>t,e=>{const n=e.payload,r=n[0],i=n.length-1;if(i!==r)throw new be(`Invalid response. Expected length: ${r}, actual: ${i}`,Kt.DEVICE_ERROR);const o=[];return n.slice(1).forEach((e=>{o.push(t(e))})),o})}}const Ye={command:ke.IDENT,subCommand:xe.NAME,deserialize:We},Ve={command:ke.IDENT,subCommand:xe.PID,deserialize:function(t){const e=t instanceof Me?t.payload:t;return new DataView(e.buffer).getUint16(0,!0)}},je={command:ke.CONFIG,subCommand:xe.CONFIG_PREFERRED_SOFTPHONE,deserialize:t=>t.payload[0],serialize:t=>Uint8Array.of(t)},qe={command:ke.IDENT,subCommand:xe.TYPE,deserialize:t=>t.source},$e={command:ke.IDENT,subCommand:xe.ID,deserialize:We};\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function ze(t,e,n){return t(n={path:e,exports:{},require:function(t,e){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==e&&n.path)}},n.exports),n.exports}var Qe,Je,Xe=ze((function(t){\n/*!\n** Pure-UUID -- Pure JavaScript Based Universally Unique Identifier (UUID)\n** Copyright (c) 2004-2020 Dr. Ralf S. Engelschall <rse@engelschall.com>\n**\n** Permission is hereby granted, free of charge, to any person obtaining\n** a copy of this software and associated documentation files (the\n** \"Software\"), to deal in the Software without restriction, including\n** without limitation the rights to use, copy, modify, merge, publish,\n** distribute, sublicense, and/or sell copies of the Software, and to\n** permit persons to whom the Software is furnished to do so, subject to\n** the following conditions:\n**\n** The above copyright notice and this permission notice shall be included\n** in all copies or substantial portions of the Software.\n**\n** THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\nt.exports=function(){var t=function(t,e,n,r,i,o){for(var s=function(t,e){var n=t.toString(16);return n.length<2&&(n=\"0\"+n),e&&(n=n.toUpperCase()),n},a=e;a<=n;a++)i[o++]=s(t[a],r);return i},e=function(t,e,n,r,i){for(var o=e;o<=n;o+=2)r[i++]=parseInt(t.substr(o,2),16)},n=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#\".split(\"\"),r=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],i=function(t,e){if(e%4!=0)throw new Error(\"z85_encode: invalid input length (multiple of 4 expected)\");for(var r=\"\",i=0,o=0;i<e;)if(o=256*o+t[i++],i%4==0){for(var s=52200625;s>=1;){var a=Math.floor(o/s)%85;r+=n[a],s/=85}o=0}return r},o=function(t,e){var n=t.length;if(n%5!=0)throw new Error(\"z85_decode: invalid input length (multiple of 5 expected)\");void 0===e&&(e=new Array(4*n/5));for(var i=0,o=0,s=0;i<n;){var a=t.charCodeAt(i++)-32;if(a<0||a>=r.length)break;if(s=85*s+r[a],i%5==0){for(var c=16777216;c>=1;)e[o++]=Math.trunc(s/c%256),c/=256;s=0}}return e},s=function(t,e){var n={ibits:8,obits:8,obigendian:!0};for(var r in e)void 0!==n[r]&&(n[r]=e[r]);for(var i,o,s,a=[],c=0,u=0,l=0,h=t.length;0===u&&(o=t.charCodeAt(c++)),i=o>>n.ibits-(u+8)&255,u=(u+8)%n.ibits,n.obigendian?0===l?s=i<<n.obits-8:s|=i<<n.obits-8-l:0===l?s=i:s|=i<<l,!(0==(l=(l+8)%n.obits)&&(a.push(s),c>=h)););return a},a=function(t,e){var n={ibits:32,ibigendian:!0};for(var r in e)void 0!==n[r]&&(n[r]=e[r]);var i=\"\",o=4294967295;n.ibits<32&&(o=(1<<n.ibits)-1);for(var s=t.length,a=0;a<s;a++)for(var c=t[a]&o,u=0;u<n.ibits;u+=8)n.ibigendian?i+=String.fromCharCode(c>>n.ibits-8-u&255):i+=String.fromCharCode(c>>u&255);return i},c=8,u=8,l=256,h=function(t,e,n,r,i,o,s,a){return[a,s,o,i,r,n,e,t]},d=function(){return h(0,0,0,0,0,0,0,0)},p=function(t){return t.slice(0)},f=function(t){for(var e=d(),n=0;n<c;n++)e[n]=Math.floor(t%l),t/=l;return e},v=function(t){for(var e=0,n=c-1;n>=0;n--)e*=l,e+=t[n];return Math.floor(e)},E=function(t,e){for(var n=0,r=0;r<c;r++)n+=t[r]+e[r],t[r]=Math.floor(n%l),n=Math.floor(n/l);return n},g=function(t,e){for(var n=0,r=0;r<c;r++)n+=t[r]*e,t[r]=Math.floor(n%l),n=Math.floor(n/l);return n},_=function(t,e){var n,r,i,o=new Array(c+c);for(n=0;n<c+c;n++)o[n]=0;for(n=0;n<c;n++){for(i=0,r=0;r<c;r++)i+=t[n]*e[r]+o[n+r],o[n+r]=i%l,i/=l;for(;r<c+c-n;r++)i+=o[n+r],o[n+r]=i%l,i/=l}for(n=0;n<c;n++)t[n]=o[n];return o.slice(c,c)},m=function(t,e){for(var n=0;n<c;n++)t[n]&=e[n];return t},b=function(t,e){for(var n=0;n<c;n++)t[n]|=e[n];return t},y=function(t,e){var n=d();if(e%u!=0)throw new Error(\"ui64_rorn: only bit rotations supported with a multiple of digit bits\");for(var r=Math.floor(e/u),i=0;i<r;i++){for(var o=c-1-1;o>=0;o--)n[o+1]=n[o];for(n[0]=t[0],o=0;o<c-1;o++)t[o]=t[o+1];t[o]=0}return v(n)},O=function(t,e){if(e>c*u)throw new Error(\"ui64_ror: invalid number of bits to shift\");var n,r=new Array(c+c);for(n=0;n<c;n++)r[n+c]=t[n],r[n]=0;var i=Math.floor(e/u),o=e%u;for(n=i;n<c+c-1;n++)r[n-i]=(r[n]>>>o|r[n+1]<<u-o)&(1<<u)-1;for(r[c+c-1-i]=r[c+c-1]>>>o&(1<<u)-1,n=c+c-1-i+1;n<c+c;n++)r[n]=0;for(n=0;n<c;n++)t[n]=r[n+c];return r.slice(0,c)},w=function(t,e){if(e>c*u)throw new Error(\"ui64_rol: invalid number of bits to shift\");var n,r=new Array(c+c);for(n=0;n<c;n++)r[n+c]=0,r[n]=t[n];var i=Math.floor(e/u),o=e%u;for(n=c-1-i;n>0;n--)r[n+i]=(r[n]<<o|r[n-1]>>>u-o)&(1<<u)-1;for(r[0+i]=r[0]<<o&(1<<u)-1,n=0+i-1;n>=0;n--)r[n]=0;for(n=0;n<c;n++)t[n]=r[n];return r.slice(c,c)},N=function(t,e){for(var n=0;n<c;n++)t[n]^=e[n]},C=function(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n},T=function(t,e){return t<<e&4294967295|t>>>32-e&4294967295},S=function(t,e){function n(t,e,n,r){return t<20?e&n|~e&r:t<40?e^n^r:t<60?e&n|e&r|n&r:e^n^r}function r(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514}t[e>>5]|=128<<24-e%32,t[15+(e+64>>9<<4)]=e;for(var i=Array(80),o=1732584193,s=-271733879,a=-1732584194,c=271733878,u=-1009589776,l=0;l<t.length;l+=16){for(var h=o,d=s,p=a,f=c,v=u,E=0;E<80;E++){i[E]=E<16?t[l+E]:T(i[E-3]^i[E-8]^i[E-14]^i[E-16],1);var g=C(C(T(o,5),n(E,s,a,c)),C(C(u,i[E]),r(E)));u=c,c=a,a=T(s,30),s=o,o=g}o=C(o,h),s=C(s,d),a=C(a,p),c=C(c,f),u=C(u,v)}return[o,s,a,c,u]},A=function(t){return a(S(s(t,{ibits:8,obits:32,obigendian:!0}),8*t.length),{ibits:32,ibigendian:!0})},I=function(t,e){function n(t,e,n,r,i,o){return C(T(C(C(e,t),C(r,o)),i),n)}function r(t,e,r,i,o,s,a){return n(e&r|~e&i,t,e,o,s,a)}function i(t,e,r,i,o,s,a){return n(e&i|r&~i,t,e,o,s,a)}function o(t,e,r,i,o,s,a){return n(e^r^i,t,e,o,s,a)}function s(t,e,r,i,o,s,a){return n(r^(e|~i),t,e,o,s,a)}t[e>>5]|=128<<e%32,t[14+(e+64>>>9<<4)]=e;for(var a=1732584193,c=-271733879,u=-1732584194,l=271733878,h=0;h<t.length;h+=16){var d=a,p=c,f=u,v=l;a=r(a,c,u,l,t[h+0],7,-680876936),l=r(l,a,c,u,t[h+1],12,-389564586),u=r(u,l,a,c,t[h+2],17,606105819),c=r(c,u,l,a,t[h+3],22,-1044525330),a=r(a,c,u,l,t[h+4],7,-176418897),l=r(l,a,c,u,t[h+5],12,1200080426),u=r(u,l,a,c,t[h+6],17,-1473231341),c=r(c,u,l,a,t[h+7],22,-45705983),a=r(a,c,u,l,t[h+8],7,1770035416),l=r(l,a,c,u,t[h+9],12,-1958414417),u=r(u,l,a,c,t[h+10],17,-42063),c=r(c,u,l,a,t[h+11],22,-1990404162),a=r(a,c,u,l,t[h+12],7,1804603682),l=r(l,a,c,u,t[h+13],12,-40341101),u=r(u,l,a,c,t[h+14],17,-1502002290),a=i(a,c=r(c,u,l,a,t[h+15],22,1236535329),u,l,t[h+1],5,-165796510),l=i(l,a,c,u,t[h+6],9,-1069501632),u=i(u,l,a,c,t[h+11],14,643717713),c=i(c,u,l,a,t[h+0],20,-373897302),a=i(a,c,u,l,t[h+5],5,-701558691),l=i(l,a,c,u,t[h+10],9,38016083),u=i(u,l,a,c,t[h+15],14,-660478335),c=i(c,u,l,a,t[h+4],20,-405537848),a=i(a,c,u,l,t[h+9],5,568446438),l=i(l,a,c,u,t[h+14],9,-1019803690),u=i(u,l,a,c,t[h+3],14,-187363961),c=i(c,u,l,a,t[h+8],20,1163531501),a=i(a,c,u,l,t[h+13],5,-1444681467),l=i(l,a,c,u,t[h+2],9,-51403784),u=i(u,l,a,c,t[h+7],14,1735328473),a=o(a,c=i(c,u,l,a,t[h+12],20,-1926607734),u,l,t[h+5],4,-378558),l=o(l,a,c,u,t[h+8],11,-2022574463),u=o(u,l,a,c,t[h+11],16,1839030562),c=o(c,u,l,a,t[h+14],23,-35309556),a=o(a,c,u,l,t[h+1],4,-1530992060),l=o(l,a,c,u,t[h+4],11,1272893353),u=o(u,l,a,c,t[h+7],16,-155497632),c=o(c,u,l,a,t[h+10],23,-1094730640),a=o(a,c,u,l,t[h+13],4,681279174),l=o(l,a,c,u,t[h+0],11,-358537222),u=o(u,l,a,c,t[h+3],16,-722521979),c=o(c,u,l,a,t[h+6],23,76029189),a=o(a,c,u,l,t[h+9],4,-640364487),l=o(l,a,c,u,t[h+12],11,-421815835),u=o(u,l,a,c,t[h+15],16,530742520),a=s(a,c=o(c,u,l,a,t[h+2],23,-995338651),u,l,t[h+0],6,-198630844),l=s(l,a,c,u,t[h+7],10,1126891415),u=s(u,l,a,c,t[h+14],15,-1416354905),c=s(c,u,l,a,t[h+5],21,-57434055),a=s(a,c,u,l,t[h+12],6,1700485571),l=s(l,a,c,u,t[h+3],10,-1894986606),u=s(u,l,a,c,t[h+10],15,-1051523),c=s(c,u,l,a,t[h+1],21,-2054922799),a=s(a,c,u,l,t[h+8],6,1873313359),l=s(l,a,c,u,t[h+15],10,-30611744),u=s(u,l,a,c,t[h+6],15,-1560198380),c=s(c,u,l,a,t[h+13],21,1309151649),a=s(a,c,u,l,t[h+4],6,-145523070),l=s(l,a,c,u,t[h+11],10,-1120210379),u=s(u,l,a,c,t[h+2],15,718787259),c=s(c,u,l,a,t[h+9],21,-343485551),a=C(a,d),c=C(c,p),u=C(u,f),l=C(l,v)}return[a,c,u,l]},R=function(t){return a(I(s(t,{ibits:8,obits:32,obigendian:!1}),8*t.length),{ibits:32,ibigendian:!1})},D=function(t){this.mul=h(88,81,244,45,76,149,127,45),this.inc=h(20,5,123,126,247,103,129,79),this.mask=h(0,0,0,0,255,255,255,255),this.state=p(this.inc),this.next(),m(this.state,this.mask),t=f(void 0!==t?t>>>0:4294967295*Math.random()>>>0),b(this.state,t),this.next()};D.prototype.next=function(){var t=p(this.state);_(this.state,this.mul),E(this.state,this.inc);var e=p(t);O(e,18),N(e,t),O(e,27);var n=p(t);O(n,59),m(e,this.mask);var r=v(n),i=p(e);return w(i,32-r),O(e,r),N(e,i),v(e)};var H=new D,L=function(t,e){for(var n=[],r=0;r<t;r++)n[r]=H.next()%e;return n},P=0,U=0,k=function(){if(1===arguments.length&&\"string\"==typeof arguments[0])this.parse.apply(this,arguments);else if(arguments.length>=1&&\"number\"==typeof arguments[0])this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error(\"UUID: constructor: invalid arguments\");for(var t=0;t<16;t++)this[t]=0}};return\"undefined\"!=typeof Uint8Array?k.prototype=new Uint8Array(16):Buffer?k.prototype=Buffer.alloc(16):k.prototype=new Array(16),k.prototype.constructor=k,k.prototype.make=function(t){var e,n=this;if(1===t){var r=(new Date).getTime();r!==P?U=0:U++,P=r;var i,o=f(r);g(o,1e4),E(o,h(1,178,29,210,19,129,64,0)),U>0&&E(o,f(U)),i=y(o,8),n[3]=255&i,i=y(o,8),n[2]=255&i,i=y(o,8),n[1]=255&i,i=y(o,8),n[0]=255&i,i=y(o,8),n[5]=255&i,i=y(o,8),n[4]=255&i,i=y(o,8),n[7]=255&i,i=y(o,8),n[6]=15&i;var s=L(2,255);n[8]=s[0],n[9]=s[1];var a=L(6,255);for(a[0]|=1,a[0]|=2,e=0;e<6;e++)n[10+e]=a[e]}else if(4===t){var c=L(16,255);for(e=0;e<16;e++)this[e]=c[e]}else{if(3!==t&&5!==t)throw new Error(\"UUID: make: invalid version\");var u=\"\",l=\"object\"==typeof arguments[1]&&arguments[1]instanceof k?arguments[1]:(new k).parse(arguments[1]);for(e=0;e<16;e++)u+=String.fromCharCode(l[e]);u+=arguments[2];var d=3===t?R(u):A(u);for(e=0;e<16;e++)n[e]=d.charCodeAt(e)}return n[6]&=15,n[6]|=t<<4,n[8]&=63,n[8]|=128,n},k.prototype.format=function(e){var n,r;return\"z85\"===e?n=i(this,16):\"b16\"===e?(r=Array(32),t(this,0,15,!0,r,0),n=r.join(\"\")):void 0!==e&&\"std\"!==e||(r=new Array(36),t(this,0,3,!1,r,0),r[8]=\"-\",t(this,4,5,!1,r,9),r[13]=\"-\",t(this,6,7,!1,r,14),r[18]=\"-\",t(this,8,9,!1,r,19),r[23]=\"-\",t(this,10,15,!1,r,24),n=r.join(\"\")),n},k.prototype.toString=function(t){return this.format(t)},k.prototype.toJSON=function(){return this.format(\"std\")},k.prototype.parse=function(t,n){if(\"string\"!=typeof t)throw new Error(\"UUID: parse: invalid argument (type string expected)\");if(\"z85\"===n)o(t,this);else if(\"b16\"===n)e(t,0,35,this,0);else if(void 0===n||\"std\"===n){var r={nil:\"00000000-0000-0000-0000-000000000000\",\"ns:DNS\":\"6ba7b810-9dad-11d1-80b4-00c04fd430c8\",\"ns:URL\":\"6ba7b811-9dad-11d1-80b4-00c04fd430c8\",\"ns:OID\":\"6ba7b812-9dad-11d1-80b4-00c04fd430c8\",\"ns:X500\":\"6ba7b814-9dad-11d1-80b4-00c04fd430c8\"};if(void 0!==r[t])t=r[t];else if(!t.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\")');e(t,0,7,this,0),e(t,9,12,this,4),e(t,14,17,this,6),e(t,19,22,this,8),e(t,24,35,this,10)}return this},k.prototype.export=function(){for(var t=Array(16),e=0;e<16;e++)t[e]=this[e];return t},k.prototype.import=function(t){if(!(\"object\"==typeof t&&t instanceof Array))throw new Error(\"UUID: import: invalid argument (type Array expected)\");if(16!==t.length)throw new Error(\"UUID: import: invalid argument (Array of length 16 expected)\");for(var e=0;e<16;e++){if(\"number\"!=typeof t[e])throw new Error(\"UUID: import: invalid array element #\"+e+\" (type Number expected)\");if(!isFinite(t[e])||Math.floor(t[e])!==t[e])throw new Error(\"UUID: import: invalid array element #\"+e+\" (Number with integer value expected)\");if(!(t[e]>=0&&t[e]<=255))throw new Error(\"UUID: import: invalid array element #\"+e+\" (Number with integer value in range 0...255 expected)\");this[e]=t[e]}return this},k.prototype.compare=function(t){if(\"object\"!=typeof t)throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");if(!(t instanceof k))throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");for(var e=0;e<16;e++){if(this[e]<t[e])return-1;if(this[e]>t[e])return 1}return 0},k.prototype.equal=function(t){return 0===this.compare(t)},k.prototype.fold=function(t){if(void 0===t)throw new Error(\"UUID: fold: invalid argument (number of fold operations expected)\");if(t<1||t>4)throw new Error(\"UUID: fold: invalid argument (1-4 fold operations expected)\");for(var e=16/Math.pow(2,t),n=new Array(e),r=0;r<e;r++){for(var i=0,o=0;r+o<16;o+=e)i^=this[r+o];n[r]=i}return n},k.PCG=D,k}(),t.exports.default=t.exports}));class Ze{constructor(t){this.transport=t,this.gnpLockAcquired=t.consoleAppEvent.pipe(Jt((t=>\"response-gnp-lock\"===t.event)),Lt((t=>t.token)),fe(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(t){const e=new Xe(4).toString(),n={action:\"request-gnp-lock\",id:t,token:e},r=this.gnpLockAcquired.pipe(ue((t=>t===e)));return this.transport.writeAction(n),r}releaseGnpLock(t,e){const n={action:\"release-gnp-lock\",id:t,token:e};this.transport.writeAction(n)}}!function(t){t[t.INPUT=0]=\"INPUT\",t[t.OUTPUT=1]=\"OUTPUT\",t[t.FEATURE=2]=\"FEATURE\"}(Qe||(Qe={})),function(t){t.ABSOLUTE=\"absolute\",t.RELATIVE=\"relative\"}(Je||(Je={}));class tn{constructor(t){this.id=t}equals(t){return this.id===t.id}startsWith(t){return this.id.startsWith(t.id)}toString(){return this.id}}function en(t,e,n){const r=t.toString(16).padStart(4,\"0\"),i=e.toString(16).padStart(4,\"0\");return new tn(`${r}:${i}:${n}`)}class nn{constructor(t,e,n,r){this.id=t,this.usagePage=e,this.usage=n,this.value=r}isArray(){return Array.isArray(this.value)}static deserialize(t,e){return new nn(new tn(t),e.usagePage,e.usage,e.value)}}class rn{constructor(t,e,n){this.descriptor=e,this.transport=n,this.transportId=t.transportId,this.input=n.consoleAppEvent.pipe(Jt((t=>t.id===this.transportId)),rn.inputReportsFilter)}output(t,e,n){const r={action:\"hid-output\",id:this.transportId,usagePage:t,usage:e,value:n};this.transport.writeAction(r)}getFeatureReport(t,e){const n=new Xe(4).toString(),r={action:\"request-hid-feature\",id:this.transportId,token:n,usagePage:t,usage:e};return this.transport.writeAction(r),this.transport.consoleAppEvent.pipe(ue((t=>\"response-hid-feature\"===t.event&&t.token===n)),Lt((t=>t.value)))}setFeatureReport(t,e,n){const r={action:\"set-hid-feature\",id:this.transportId,usagePage:t,usage:e,value:n};this.transport.writeAction(r)}findDescriptor(t,e,n){return this.descriptor.find((r=>r.usagePage===t&&r.usage===e&&r.reportType===n))}}function on(t){return e=>e.pipe(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=it(t);return M((function(e,r){for(var i=t.length,a=new Array(i),c=t.map((function(){return!1})),u=!1,l=function(e){Et(t[e]).subscribe(B(r,(function(t){a[e]=t,u||c[e]||(c[e]=!0,(u=c.every(k))&&(c=null))}),w))},h=0;h<i;h++)l(h);e.subscribe(B(r,(function(t){if(u){var e=s([t],o(a));r.next(n?n.apply(void 0,s([],o(e))):e)}})))}))}(t),Jt((([t,e])=>e)),Lt((([t,e])=>t)))}rn.inputReportsFilter=t=>t.pipe(Jt((t=>\"hid-input\"===t.event)),Lt((t=>nn.deserialize(t.id,t))));class sn{static typeFromAttr(t){return t>>6}static packetLengthFromAttr(t){return t&this.lengthMask}static deserialize(t){const e=t[0],n=t[1],r=t[2],i=this.typeFromAttr(t[3]),o=t[4],s=t[5],a=this.packetLengthFromAttr(t[3]),c=t.slice(6,a);return new Me(e,n,i,o,s,c,r)}}sn.lengthMask=63;class an{constructor(){this.data=[]}hasHeader(){return this.data.length>=an.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new be(\"Unable to get expected packet length without a full header\",Kt.UNEXPECTED_ERROR);return sn.packetLengthFromAttr(this.data[3])}appendData(t){this.hasHeader()&&this.expectedPacketLength()>an.gnpPacketMaxLength&&(this.data=[]),this.data=this.data.concat(t)}hasFullPacket(){if(!this.hasHeader())return!1;const t=this.expectedPacketLength();return this.data.length>=t}getPacketAndReset(){if(!this.hasFullPacket())throw new be(\"Trying to get packet but buffer is not complete\",Kt.UNEXPECTED_ERROR);const t=sn.deserialize(Uint8Array.from(this.data));return this.data=[],t}}an.gnpPacketHeaderLength=6,an.gnpPacketMaxLength=63;class cn{static attrFromTypeAndPayloadLength(t,e){return(t<<6)+(e+6)}static serialize(t){const e=new Uint8Array(6);e[0]=t.destination,e[1]=t.source,e[2]=t.sequenceNumber,e[3]=this.attrFromTypeAndPayloadLength(t.type,t.payload.length),e[4]=t.command,e[5]=t.subCommand;const n=new Uint8Array(e.length+t.payload.length);return n.set(e),n.set(t.payload,e.length),n}}const un=()=>{};function ln(t){return me((e=>t()),(e=>t()),(()=>un))}const hn=()=>{return t=t=>t.command===ke.NACK,e=t=>{const e=t.subCommand in Ge?Ge[t.subCommand]:t.subCommand;return new be(`Got NACK response. Reason: ${e}`,Kt.DEVICE_ERROR)},n=>n.pipe(Lt((n=>t(n)?Ct(e(n)):Nt(n))),ge());var t,e},dn=t=>ue((e=>e.type===Ue.REPLY&&e.sequenceNumber===t.sequenceNumber&&e.destination===t.source&&e.source===t.destination));class pn{constructor(t,e,n,r,i=0){this.hidChannel=t,this.gnpLock=e,this.transportId=n,this.primaryAddress=r,this.lockQueue=[],this.packets=t.input.pipe(pn.inputFilter),this.events=this.packets.pipe(pn.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return t=>{const e=t.pipe(Jt((t=>t.usagePage===He.GN_PROTOCOL&&t.usage===Le.DATA&&t.isArray()))),n=new an;return e.pipe(Pt((t=>{const e=t.value;if(n.appendData(e),n.hasFullPacket()){return Nt(n.getPacketAndReset())}return qt})),de())}}static supportsGnpOverHid(t){return void 0!==t.findDescriptor(He.GN_PROTOCOL,Le.DATA,Qe.OUTPUT)}getNextSequenceNumber(){const t=this.nextSequenceNumber;return this.nextSequenceNumber=(this.nextSequenceNumber+1)%255,t}doWithGnpLockHeld(t){this.lockQueue.push(t),this.lockQueue.length>1||this.processLockQueue()}processLockQueue(){this.gnpLock.acquireGnpLock(this.transportId).subscribe((t=>{(0,this.lockQueue[0])((t=>{var e;const n=null===(e=this.hidChannel.findDescriptor(He.GN_PROTOCOL,Le.DATA,Qe.OUTPUT))||void 0===e?void 0:e.reportSize;if(!n)throw new be(\"Cannot send GNP packets to this device.\",Kt.DEVICE_ERROR);const r=cn.serialize(t);let i=0;do{const t=Math.min(r.length-i,n),e=r.subarray(i,i+t);i+=e.length,this.hidChannel.output(He.GN_PROTOCOL,Le.DATA,Array.from(e))}while(i<r.length)}),this.packets,(()=>{this.gnpLock.releaseGnpLock(this.transportId,t),this.lockQueue.splice(0,1),this.lockQueue.length>0&&this.processLockQueue()}))}))}sendEvent(t,e,n=this.primaryAddress){const r=new Me(n,Pe.PC_ADDR,Ue.EVENT,t.command,t.subCommand,t.serialize(e),0);this.doWithGnpLockHeld(((t,e,n)=>{t(r),n()}))}read(t,e=this.primaryAddress,n=2500){const r=new Fe(t,(t=>new Uint8Array));return this.readWithParams(r,null,e,n)}readWithParams(t,e,n=this.primaryAddress,r=2500){const i=new Me(n,Pe.PC_ADDR,Ue.READ,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new Y;return this.doWithGnpLockHeld(((e,n,s)=>{n.pipe(dn(i),hn(),ue((t=>t.command===i.command&&t.subCommand===i.subCommand)),Dt(r),ln(s),Lt((e=>t.deserialize(e)))).subscribe(o),e(i)})),o}write(t,e,n=this.primaryAddress,r=2500){const i=new Me(n,Pe.PC_ADDR,Ue.WRITE,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new Y;return this.doWithGnpLockHeld(((t,e,n)=>{e.pipe(dn(i),hn(),ue((t=>t.command===ke.ACK)),Dt(r),ln(n),Lt((()=>!0))).subscribe(o),t(i)})),o}}pn.eventsFilter=t=>t.pipe(Jt((t=>t.type===Ue.EVENT)));class fn{constructor(t,e){this.parentGnpChannel=t,this.primaryAddress=e,this.events=t.events.pipe(Jt((t=>t.source===this.primaryAddress)))}sendEvent(t,e,n){this.parentGnpChannel.sendEvent(t,e,this.primaryAddress)}read(t,e,n){return this.parentGnpChannel.read(t,this.primaryAddress,n)}readWithParams(t,e,n,r){return this.parentGnpChannel.readWithParams(t,e,this.primaryAddress,r)}write(t,e,n,r){return this.parentGnpChannel.write(t,e,this.primaryAddress,r)}}function vn(t,e,n,r){if(!pn.supportsGnpOverHid(t))return Ct((()=>new be(\"Device does not support GNP commands.\",Kt.DEVICE_ERROR)));const i=Nt(Pe.HS_BT_USB_ADDR,Pe.BASE_ADDR,Pe.CRADLE_ADDR,Pe.HS1_ADDR,Pe.HS_CRADLE_ADDR).pipe(Lt(((r,i)=>Gt((()=>{const o=new pn(t,new Ze(e),n,r,i);return o.read(qe,r,500).pipe(Lt((t=>o)),ee((()=>et)))})))),kt(),ie(1),ae((()=>new be(\"GNP probe failed.\",Kt.DEVICE_ERROR))));return Xt(r.pipe(Pt((t=>Ct((()=>new be(\"Device was suddenly disconnected.\",Kt.DEVICE_ERROR)))))),i).pipe(de())}function En(t,e){return new fn(t,e)}class gn{constructor(){this.primaryAddress=Pe.BASE_ADDR,this.events=qt}subscribeToEvent(t,e){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}sendEvent(t,e,n){throw new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)}read(t,e,n){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}readWithParams(t,e,n,r){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}write(t,e,n,r){return Ct((()=>new be(\"This device does not support GNP commands.\",Kt.FEATURE_NOT_SUPPORTED)))}}class _n{constructor(t){this.transportId=t,this.isChild=!1}equals(t){return this.isChild===t.isChild&&this.transportId===t.transportId}toString(){return this.transportId}}class mn{constructor(t,e){this.parentId=t,this.gnpAddress=e,this.isChild=!0,this.transportId=t.transportId}equals(t){if(this.isChild===t.isChild){const e=t;return this.parentId.equals(e.parentId)&&this.gnpAddress===e.gnpAddress}return!1}toString(){return`0x${t=this.gnpAddress,t.toString(16).padStart(2,\"0\").toUpperCase()}@${this.transportId}`;var t}}var bn,yn,On;!function(t){t.NO_TRACKING=\"no-tracking\",t.TRACK_ERRORS=\"track-errors\",t.TRACK_USAGE=\"track-usage\",t.TRACK_ALL=\"track-all\"}(bn||(bn={})),function(t){t[t.BLUETOOTH=0]=\"BLUETOOTH\",t[t.INDIRECT=1]=\"INDIRECT\",t[t.USB=2]=\"USB\"}(yn||(yn={})),function(t){t[t.BASE=0]=\"BASE\",t[t.HEADSET=1]=\"HEADSET\",t[t.DESKSTAND=2]=\"DESKSTAND\",t[t.OTHER=3]=\"OTHER\",t[t.DONGLE=4]=\"DONGLE\",t[t.PC=5]=\"PC\",t[t.EHS=6]=\"EHS\",t[t.USB=7]=\"USB\",t[t.SPEAKER_PHONE=8]=\"SPEAKER_PHONE\",t[t.INDICATOR=9]=\"INDICATOR\",t[t.MOBILE=10]=\"MOBILE\",t[t.NONE=11]=\"NONE\",t[t.LOCAL=12]=\"LOCAL\",t[t.DISPLAY=13]=\"DISPLAY\",t[t.HS_CRADLE=14]=\"HS_CRADLE\",t[t.HS_CRADLE2=15]=\"HS_CRADLE2\",t[t.MOBILE_IAP=16]=\"MOBILE_IAP\",t[t.CRADLE=17]=\"CRADLE\",t[t.VIDEO=18]=\"VIDEO\",t[t.NOT_GN=252]=\"NOT_GN\",t[t.ANY_GN=253]=\"ANY_GN\",t[t.NOT_INIT=254]=\"NOT_INIT\",t[t.ANY=255]=\"ANY\"}(On||(On={}));class wn{constructor(t,e,n,r,i,o,s,a,c,u,l){this.id=t,this.type=e,this.hidChannel=n,this.events=r,this.primaryAddress=i,this.sendEvent=o,this.read=s,this.readWithParams=a,this.write=c,this.onDisconnect=u,this.parentConnectionId=l,this.onDisconnect.subscribe({error:w})}static createConnection(t,e,n,r,i,o){const s=r.sendEvent.bind(r),a=r.read.bind(r),c=r.readWithParams.bind(r),u=r.write.bind(r);return new wn(t,e,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const Nn=(t=3,e=500)=>n=>n.pipe(Pt(((n,r)=>{const i=r+1;return i>t?Ct((()=>n)):Ft(i*i*e)})));function Cn(t,e,n,r=1e3,i=3,o=100){return Gt((()=>t.read(e,n,r))).pipe(he(Nn(i,o)))}function Tn(t,e,n){const{deviceType:r,address:i}=n;return{transportId:e.transportId,vid:e.vid,pid:Cn(t,Ve,i),name:Cn(t,Ye,i),serialNumber:Cn(t,$e,i),capabilities:e.capabilities,deviceType:r,connectionGnpAddress:i}}class Sn{constructor(t,e,n=Tn,r=wn.createConnection,i=En){this.parentConnection=e,this.connectionCreator=r,this.createChildGnpChannel=i;const o=e.events.pipe(Jt((t=>t.command===ke.DEVICE&&t.subCommand===xe.ATTACH_EVENT)),Lt((t=>({deviceType:t.payload[0],address:t.payload[1]})))).pipe(Lt(n.bind(null,e,t)));this.connectionEvents=o.pipe(Lt((t=>{const n=Xt(e.events.pipe(ue((e=>e.command===ke.DEVICE&&e.subCommand===xe.DETACH_EVENT&&e.payload[1]===t.connectionGnpAddress)),Lt(w)),e.onDisconnect);return{attach:t,detach:n}})),Pt((t=>te(Nt(t.attach),this.createConnection(t.attach,t.detach)))),Lt((([t,e])=>({event:t,connection:e}))),_e(e.onDisconnect)),e.sendEvent(Be,[])}createConnection(t,e){const n=t.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new mn(this.parentConnection.id,n);return Nt(this.connectionCreator(i,yn.INDIRECT,this.parentConnection.hidChannel,r,e,this.parentConnection.id))}}const An={command:ke.IDENT,subCommand:xe.TYPE,deserialize:t=>{const{payload:e}=t,n=e[0];if(n<1||n>=e.length)throw new be(\"Cannot get device type.\",Kt.DEVICE_ERROR);return e[1]}};function In(t,e,n,r=Bt.ERROR,i=Wt.JS_LIB){const o=`${t} ${function(t){if(t instanceof be){const e=t;return`JabraError: ${e.message} (type: ${e.type})`}if(t instanceof Error){const e=t;return`Error: ${e.message} (name: ${e.name})`}return`Unknown error: ${t}`}(e)}`;ye(o,n,r,i)}function Rn(t){return new Sn(t.event,t.connection).connectionEvents}class Dn{constructor(t,e,n=((t,e,n)=>new rn(t,e,n)),r=vn,i=Rn,o=wn.createConnection){this.transport=t,this.logger=e,this.createHidChannel=n,this.createRootGnpChannel=r,this.connectionCreator=o;const s=this.transport.consoleAppEvent.pipe(Jt((t=>\"attach\"===t.event)),Lt(Dn.createAttachEvent),ee(((t,e)=>(In(\"\",t,this.logger),e)))).pipe(Lt((t=>{const e=this.transport.consoleAppEvent.pipe(Jt((t=>\"detach\"===t.event)),ue((e=>Dn.getTransportId(e)===t.transportId)),Lt(w),fe());return e.subscribe(),{attach:t,detach:e}})),Pt((t=>this.createConnection(t.attach,t.detach))),de()),a=s.pipe(Jt((t=>t.event.deviceType===On.DONGLE)),Jt((t=>pn.supportsGnpOverHid(t.connection.hidChannel))),Pt((t=>i(t))));this.connectionEvents=Mt(s,a).pipe(de())}static convertToReportType(t){switch(t){case\"input\":return Qe.INPUT;case\"output\":return Qe.OUTPUT;case\"feature\":return Qe.FEATURE;default:throw new be(`${t} is not a valid ReportType`,Kt.UNEXPECTED_ERROR)}}static convertToValueType(t){switch(t){case\"absolute\":return Je.ABSOLUTE;case\"relative\":return Je.RELATIVE;default:throw new be(`${t} Not a valid ValueType`,Kt.UNEXPECTED_ERROR)}}static createDescriptor(t){return t.map((t=>({reportType:Dn.convertToReportType(t.reportType),usagePage:t.usagePage,usage:t.usage,valueType:Dn.convertToValueType(t.valueType),reportSize:t.reportSize})))}static getMandatoryField(t,e){const n=t[e];if(void 0===n)throw new be(`JSON event lacks required field \"${e}: ${JSON.stringify(t)}`,Kt.UNEXPECTED_ERROR);return n}static getTransportId(t){return Dn.getMandatoryField(t,\"id\")}static createAttachEvent(t){return{transportId:Dn.getTransportId(t),vid:Dn.getMandatoryField(t,\"vid\"),pid:Nt(Dn.getMandatoryField(t,\"pid\")),name:Nt(Dn.getMandatoryField(t,\"name\")),serialNumber:Nt(Dn.getMandatoryField(t,\"serialNumber\")),capabilities:Dn.createDescriptor(Dn.getMandatoryField(t,\"descriptor\"))}}createConnection(t,e,n=3,r=100){const{capabilities:i,transportId:o}=t,s=new _n(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,e).pipe(ee(((t,e)=>(t.type&&t.type===Kt.DEVICE_ERROR&&this.transport.context===Vt.WEB_HID&&ye(\"Child devices are not yet supported when using WebHID.\",this.logger,Bt.WARNING,Wt.JS_LIB),Nt(new gn)))),de()),u=c.pipe(Pt((t=>t.read(An))),he(Nn(n,r)),ee((t=>Nt(On.ANY))));return te(c,u).pipe(_e(e),Lt((([n,r])=>({event:Object.assign(Object.assign({},t),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,yn.USB,a,n,e)}))))}}var Hn,Ln,Pn,Un,kn;class xn{constructor(t,e,n,r,i,o){this.vendorId=t,this.productId=e,this.serialNumber=n,this.name=r,this.type=i,Ln.set(this,void 0),h(this,Ln,new we(o,l(xn,Hn,\"m\",Un)),\"f\"),this.connectionAdded=l(this,Ln,\"f\").itemAdded,this.connectionRemoved=l(this,Ln,\"f\").itemRemoved,this.connectionList=l(this,Ln,\"f\").itemList,this.onDisconnect=l(this,Ln,\"f\").itemList.pipe(ve(1),ue((t=>0===t.length)),Lt(w),de())}get id(){return en(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return l(this,Ln,\"f\").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,\"0\")}:${this.productId.toString(16).padStart(4,\"0\")}`}}Hn=xn,Ln=new WeakMap,Un=function(t,e){return l(xn,Hn,\"f\",Pn).indexOf(t.type)-l(xn,Hn,\"f\",Pn).indexOf(e.type)},Pn={value:[yn.USB,yn.INDIRECT,yn.BLUETOOTH]};class Gn{constructor(t){this.deviceObservables=new we(t)}static exceptionToUndefined(t){try{return t()}catch(t){if(t instanceof be)return;throw t}}connectionExists(t){return void 0!==Gn.exceptionToUndefined((()=>this.findConnectionById(t)))}findConnectionById(t){for(const e of this.deviceObservables.getValue())for(const n of e.currentConnections)if(n.id.equals(t))return n;throw new be(`Could not find connection with id ${t.toString()}`,Kt.UNEXPECTED_ERROR)}findDeviceByDeviceId(t){return this.deviceObservables.getValue().find((e=>e.id.startsWith(t)||t.startsWith(e.id)))}}class Fn{constructor(t,e){this.logger=e;const[n,r]=(i=t.pipe(Jt((t=>!this.deviceCollection.connectionExists(t.connection.id))),ne((t=>this.force(t)))),[Jt(o=({event:t,pid:e,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(en(t.event.vid,e,n)),s)(Et(i)),Jt(Qt(o,s))(Et(i))]);var i,o,s;const a=n.pipe(Lt((t=>Fn.createDevice(t,r))));this.deviceCollection=new Gn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(t){const{name:e,pid:n,serialNumber:r}=t.event,i=t.connection.onDisconnect.pipe((a=Ct((()=>new Error(`Connection with ID ${t.connection.id} disconnected`))),d(c)?ne((function(){return a}),c):ne((function(){return a}))));var a,c;return te(e,n,r).pipe(Lt((([e,n,r])=>({event:t,name:e,pid:n,serialNumber:r}))),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.length?M((function(e,n){Zt(s([e],o(t)))(n)})):k}(i),ee((t=>(ye(`Failed to retrieve child connection information. Error: ${t}`,this.logger,Bt.WARNING,Wt.JS_LIB),et))))}static createDevice(t,e){const{event:n,pid:r,name:i,serialNumber:o}=t,{vid:s,deviceType:a}=n.event,c=e.pipe(Jt((e=>Fn.isSameDevice(t,e))),Lt((t=>t.event.connection))),u=xt(Nt(n.connection),c);return new xn(s,r,o,i,a,u)}static isSameDevice(t,e){const n=en(t.event.event.vid,t.pid,t.serialNumber),r=en(e.event.event.vid,e.pid,e.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(t,e){const n=new Dn(t,e);return new Fn(n.connectionEvents)}}function Mn(t){var e,r,i;return n(this,void 0,void 0,(function*(){const n=null==t?void 0:t.logger;ye(\"Jabra SDK JS starting up...\",n,Bt.INFO);const o=new Re(t);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(r=null===(e=null==t?void 0:t.internal)||void 0===e?void 0:e.testDeviceTransport)&&void 0!==r?r:yield Se(n,null==t?void 0:t.transport,null===(i=null==t?void 0:t.internal)||void 0===i?void 0:i.recorder);new Ae(s,n);const a=Fn.create(s,n),c=new Ce(a,s,t);return yield s.connect(),c}))}class Bn{constructor(t,e,n,r){this.deviceId=t,this.usagePage=e,this.usage=n,this.value=r}}class Wn{constructor(t,e){this.token=t,this.value=e}}!function(t){t.UsageReport=class{constructor(t,e){this.usage=t,this.value=e}}}(kn||(kn={}));var Kn,Yn,Vn,jn,qn,$n,zn,Qn,Jn,Xn,Zn=ze((function(t){!function(e){var n=function(t,e,n){if(!(t instanceof ArrayBuffer||\"undefined\"!=typeof Buffer&&t instanceof Buffer))throw new Error(\"Must specify a valid ArrayBuffer or Buffer.\");e=e||0,n=n||t.byteLength||t.length,this._view=new Uint8Array(t.buffer||t,e,n),this.bigEndian=!1};n._scratch=new DataView(new ArrayBuffer(8)),Object.defineProperty(n.prototype,\"buffer\",{get:function(){return\"undefined\"!=typeof Buffer?Buffer.from(this._view.buffer):this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(n.prototype,\"byteLength\",{get:function(){return this._view.length},enumerable:!0,configurable:!1}),n.prototype._setBit=function(t,e){e?this._view[t>>3]|=1<<(7&t):this._view[t>>3]&=~(1<<(7&t))},n.prototype.getBits=function(t,e,n){var r=8*this._view.length-t;if(e>r)throw new Error(\"Cannot get \"+e+\" bit(s) from offset \"+t+\", \"+r+\" available\");for(var i=0,o=0;o<e;){var s=e-o,a=7&t,c=this._view[t>>3],u=Math.min(s,8-a);this.bigEndian?(i<<=u,i|=c>>8-u-a&~(255<<u)):i|=(c>>a&~(255<<u))<<o,t+=u,o+=u}return n?(32!==e&&i&1<<e-1&&(i|=-1^(1<<e)-1),i):i>>>0},n.prototype.setBits=function(t,e,n){var r=8*this._view.length-t;if(n>r)throw new Error(\"Cannot set \"+n+\" bit(s) from offset \"+t+\", \"+r+\" available\");for(var i=0;i<n;){var o,s,a,c=n-i,u=7&t,l=t>>3,h=Math.min(c,8-u);if(this.bigEndian){s=e>>n-i-h&(o=~(-1<<h));var d=8-u-h;a=~(o<<d),this._view[l]=this._view[l]&a|s<<d}else s=e&(o=~(255<<h)),e>>=h,a=~(o<<u),this._view[l]=this._view[l]&a|s<<u;t+=h,i+=h}},n.prototype.getBoolean=function(t){return 0!==this.getBits(t,1,!1)},n.prototype.getInt8=function(t){return this.getBits(t,8,!0)},n.prototype.getUint8=function(t){return this.getBits(t,8,!1)},n.prototype.getInt16=function(t){return this.getBits(t,16,!0)},n.prototype.getUint16=function(t){return this.getBits(t,16,!1)},n.prototype.getInt32=function(t){return this.getBits(t,32,!0)},n.prototype.getUint32=function(t){return this.getBits(t,32,!1)},n.prototype.getFloat32=function(t){return n._scratch.setUint32(0,this.getUint32(t)),n._scratch.getFloat32(0)},n.prototype.getFloat64=function(t){return n._scratch.setUint32(0,this.getUint32(t)),n._scratch.setUint32(4,this.getUint32(t+32)),n._scratch.getFloat64(0)},n.prototype.setBoolean=function(t,e){this.setBits(t,e?1:0,1)},n.prototype.setInt8=n.prototype.setUint8=function(t,e){this.setBits(t,e,8)},n.prototype.setInt16=n.prototype.setUint16=function(t,e){this.setBits(t,e,16)},n.prototype.setInt32=n.prototype.setUint32=function(t,e){this.setBits(t,e,32)},n.prototype.setFloat32=function(t,e){n._scratch.setFloat32(0,e),this.setBits(t,n._scratch.getUint32(0),32)},n.prototype.setFloat64=function(t,e){n._scratch.setFloat64(0,e),this.setBits(t,n._scratch.getUint32(0),32),this.setBits(t+32,n._scratch.getUint32(4),32)},n.prototype.getArrayBuffer=function(t,e){for(var n=new Uint8Array(e),r=0;r<e;r++)n[r]=this.getUint8(t+8*r);return n};var r=function(t,e){return function(){if(this._index+e>this._length)throw new Error(\"Trying to read past the end of the stream\");var n=this._view[t](this._index);return this._index+=e,n}},i=function(t,e){return function(n){this._view[t](this._index,n),this._index+=e}};function o(t,e,n){if(0===e)return\"\";var r=0,i=[],o=!0,s=!!e;for(e||(e=Math.floor((t._length-t._index)/8));r<e;){var a=t.readUint8();if(0===a&&(o=!1,!s))break;o&&i.push(a),r++}var c=String.fromCharCode.apply(null,i);if(!n)return c;try{return decodeURIComponent(escape(c))}catch(t){return c}}var s=function(t,e,r){var i=t instanceof ArrayBuffer||\"undefined\"!=typeof Buffer&&t instanceof Buffer;if(!(t instanceof n||i))throw new Error(\"Must specify a valid BitView, ArrayBuffer or Buffer\");this._view=i?new n(t,e,r):t,this._index=0,this._startIndex=0,this._length=8*this._view.byteLength};Object.defineProperty(s.prototype,\"index\",{get:function(){return this._index-this._startIndex},set:function(t){this._index=t+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"length\",{get:function(){return this._length-this._startIndex},set:function(t){this._length=t+this._startIndex},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"bitsLeft\",{get:function(){return this._length-this._index},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"byteIndex\",{get:function(){return Math.ceil(this._index/8)},set:function(t){this._index=8*t},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,\"buffer\",{get:function(){return this._view.buffer},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,\"view\",{get:function(){return this._view},enumerable:!0,configurable:!1}),Object.defineProperty(s.prototype,\"bigEndian\",{get:function(){return this._view.bigEndian},set:function(t){this._view.bigEndian=t},enumerable:!0,configurable:!1}),s.prototype.readBits=function(t,e){var n=this._view.getBits(this._index,t,e);return this._index+=t,n},s.prototype.writeBits=function(t,e){this._view.setBits(this._index,t,e),this._index+=e},s.prototype.readBoolean=r(\"getBoolean\",1),s.prototype.readInt8=r(\"getInt8\",8),s.prototype.readUint8=r(\"getUint8\",8),s.prototype.readInt16=r(\"getInt16\",16),s.prototype.readUint16=r(\"getUint16\",16),s.prototype.readInt32=r(\"getInt32\",32),s.prototype.readUint32=r(\"getUint32\",32),s.prototype.readFloat32=r(\"getFloat32\",32),s.prototype.readFloat64=r(\"getFloat64\",64),s.prototype.writeBoolean=i(\"setBoolean\",1),s.prototype.writeInt8=i(\"setInt8\",8),s.prototype.writeUint8=i(\"setUint8\",8),s.prototype.writeInt16=i(\"setInt16\",16),s.prototype.writeUint16=i(\"setUint16\",16),s.prototype.writeInt32=i(\"setInt32\",32),s.prototype.writeUint32=i(\"setUint32\",32),s.prototype.writeFloat32=i(\"setFloat32\",32),s.prototype.writeFloat64=i(\"setFloat64\",64),s.prototype.readASCIIString=function(t){return function(t,e){return o(t,e,!1)}(this,t)},s.prototype.readUTF8String=function(t){return function(t,e){return o(t,e,!0)}(this,t)},s.prototype.writeASCIIString=function(t,e){!function(t,e,n){for(var r=n||e.length+1,i=0;i<r;i++)t.writeUint8(i<e.length?e.charCodeAt(i):0)}(this,t,e)},s.prototype.writeUTF8String=function(t,e){!function(t,e,n){for(var r=function(t){var e,n,r=[];for(e=0;e<t.length;e++)(n=t.charCodeAt(e))<=127?r.push(n):n<=2047?(r.push(n>>6|192),r.push(63&n|128)):n<=65535?(r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)):(r.push(n>>18|240),r.push(n>>12&63|128),r.push(n>>6&63|128),r.push(63&n|128));return r}(e),i=n||r.length+1,o=0;o<i;o++)t.writeUint8(o<r.length?r[o]:0)}(this,t,e)},s.prototype.readBitStream=function(t){var e=new s(this._view);return e._startIndex=this._index,e._index=this._index,e.length=t,this._index+=t,e},s.prototype.writeBitStream=function(t,e){var n;for(e||(e=t.bitsLeft);e>0;)n=Math.min(e,32),this.writeBits(t.readBits(n),n),e-=n},s.prototype.readArrayBuffer=function(t){var e=this._view.getArrayBuffer(this._index,t);return this._index+=8*t,e},s.prototype.writeArrayBuffer=function(t,e){this.writeBitStream(new s(t),8*e)},t.exports&&(t.exports={BitView:n,BitStream:s})}()}));function tr(){return n(this,void 0,void 0,(function*(){const{hid:t}=window.navigator;if(!t)throw new be(\"WebHID not supported\",Kt.INIT_ERROR);const e=yield t.requestDevice({filters:[{vendorId:Kn.VENDOR_ID}]});return new BroadcastChannel(Kn.PAIRING_CHANNEL).postMessage(null),e}))}!function(t){t[t.VENDOR_ID=2830]=\"VENDOR_ID\",t.PAIRING_CHANNEL=\"jabra-webhid-pairing-channel\"}(Kn||(Kn={})),function(t){t[t.HOOK_SWITCH=32]=\"HOOK_SWITCH\",t[t.GN_PSEUDO_HOOK_SWITCH=65531]=\"GN_PSEUDO_HOOK_SWITCH\",t[t.FLASH=33]=\"FLASH\",t[t.ALT_HOLD=35]=\"ALT_HOLD\",t[t.REDIAL=36]=\"REDIAL\",t[t.ONLINE=42]=\"ONLINE\",t[t.SPEAKER_PHONE=43]=\"SPEAKER_PHONE\",t[t.PHONE_MUTE=47]=\"PHONE_MUTE\",t[t.SEND=49]=\"SEND\",t[t.SPEED_DIAL=80]=\"SPEED_DIAL\",t[t.VOICE_MAIL=112]=\"VOICE_MAIL\",t[t.ANSWER_ON_OFF=116]=\"ANSWER_ON_OFF\",t[t.LINE_BUSY=151]=\"LINE_BUSY\",t[t.RINGER=158]=\"RINGER\",t[t.PHONE_KEY_0=176]=\"PHONE_KEY_0\",t[t.PHONE_KEY_1=177]=\"PHONE_KEY_1\",t[t.PHONE_KEY_2=178]=\"PHONE_KEY_2\",t[t.PHONE_KEY_3=179]=\"PHONE_KEY_3\",t[t.PHONE_KEY_4=180]=\"PHONE_KEY_4\",t[t.PHONE_KEY_5=181]=\"PHONE_KEY_5\",t[t.PHONE_KEY_6=182]=\"PHONE_KEY_6\",t[t.PHONE_KEY_7=183]=\"PHONE_KEY_7\",t[t.PHONE_KEY_8=184]=\"PHONE_KEY_8\",t[t.PHONE_KEY_9=185]=\"PHONE_KEY_9\",t[t.PHONE_KEY_STAR=186]=\"PHONE_KEY_STAR\",t[t.PHONE_KEY_POUND=187]=\"PHONE_KEY_POUND\",t[t.ALT_VOLUME_UP=233]=\"ALT_VOLUME_UP\",t[t.ALT_VOLUME_DOWN=234]=\"ALT_VOLUME_DOWN\",t[t.REJECT_CALL=65533]=\"REJECT_CALL\"}(Yn||(Yn={}));class er{constructor(t,e,n){this.type=t,this.value=e,this.valueType=n}toString(){return void 0===Yn[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Yn[this.type]}, value: ${this.value}, valueType: ${this.valueType}`}}!function(t){t[t.BUTTON=9]=\"BUTTON\",t[t.CONSUMER=12]=\"CONSUMER\",t[t.LED=8]=\"LED\",t[t.TELEPHONY=11]=\"TELEPHONY\",t[t.GN_CONSUMER=65312]=\"GN_CONSUMER\",t[t.GN_EXT_BUTTONS=65360]=\"GN_EXT_BUTTONS\",t[t.GN_LED=65344]=\"GN_LED\",t[t.GN_MISC=65376]=\"GN_MISC\",t[t.GN_TELEPHONY=65328]=\"GN_TELEPHONY\"}(Vn||(Vn={})),function(t){t[t.MUTE=9]=\"MUTE\",t[t.OFF_HOOK=23]=\"OFF_HOOK\",t[t.RING=24]=\"RING\",t[t.MESSAGE_WAIT=25]=\"MESSAGE_WAIT\",t[t.HOLD=32]=\"HOLD\",t[t.MIC_MUTE=33]=\"MIC_MUTE\",t[t.ONLINE=42]=\"ONLINE\",t[t.HID_OFFLINE=43]=\"HID_OFFLINE\"}(jn||(jn={})),function(t){t[t.HOOK_SWITCH=32]=\"HOOK_SWITCH\",t[t.FLASH=33]=\"FLASH\",t[t.HOLD=35]=\"HOLD\",t[t.REDIAL=36]=\"REDIAL\",t[t.ONLINE=42]=\"ONLINE\",t[t.SPEAKER_PHONE=43]=\"SPEAKER_PHONE\",t[t.MUTE=47]=\"MUTE\",t[t.HID_SEND=49]=\"HID_SEND\",t[t.SPEED_DIAL=80]=\"SPEED_DIAL\",t[t.VOICE_MAIL=112]=\"VOICE_MAIL\",t[t.ANSWER_ON_OFF=116]=\"ANSWER_ON_OFF\",t[t.LINE_BUSY=151]=\"LINE_BUSY\",t[t.RINGER=158]=\"RINGER\",t[t.PHONE_KEY_0=176]=\"PHONE_KEY_0\",t[t.PHONE_KEY_1=177]=\"PHONE_KEY_1\",t[t.PHONE_KEY_2=178]=\"PHONE_KEY_2\",t[t.PHONE_KEY_3=179]=\"PHONE_KEY_3\",t[t.PHONE_KEY_4=180]=\"PHONE_KEY_4\",t[t.PHONE_KEY_5=181]=\"PHONE_KEY_5\",t[t.PHONE_KEY_6=182]=\"PHONE_KEY_6\",t[t.PHONE_KEY_7=183]=\"PHONE_KEY_7\",t[t.PHONE_KEY_8=184]=\"PHONE_KEY_8\",t[t.PHONE_KEY_9=185]=\"PHONE_KEY_9\",t[t.PHONE_KEY_STAR=186]=\"PHONE_KEY_STAR\",t[t.PHONE_KEY_POUND=187]=\"PHONE_KEY_POUND\",t[t.HID_ALT_VOLUME_UP=233]=\"HID_ALT_VOLUME_UP\",t[t.HID_ALT_VOLUME_DOWN=234]=\"HID_ALT_VOLUME_DOWN\",t[t.GN_PSEUDO_HOOK_SWITCH=65531]=\"GN_PSEUDO_HOOK_SWITCH\",t[t.GN_OUT_OF_RANGE=65532]=\"GN_OUT_OF_RANGE\",t[t.GN_REJECT_CALL=65533]=\"GN_REJECT_CALL\",t[t.GN_TELEPHONY_CONT_SET=65535]=\"GN_TELEPHONY_CONT_SET\"}(qn||(qn={}));class nr{constructor(t,e,n,r,i){this.hidChannel=t,this.onDisconnect=e,this.isSoftphoneInFocus=n,this.lockHeld=r,this.logger=i,this.cachedSignals=new Map}setup(){const t=this.filter().pipe(de());return t.subscribe(),t}filter(){const t=this.hidChannel.input.pipe(Jt((t=>t.usagePage===Vn.GN_TELEPHONY&&!t.isArray())),Pt((t=>{const e=this.hidChannel.findDescriptor(t.usagePage,t.usage,Qe.INPUT);return(null==e?void 0:e.valueType)?Nt(Object.assign(Object.assign({},t),{valueType:e.valueType})):(In(\"\",new be(`Unable to find value-type in descriptor for UsagePage: ${t.usagePage} and Usage: ${t.usage}`,Kt.FEATURE_NOT_SUPPORTED),this.logger),et)})),Jt((t=>{if(t.valueType===Je.RELATIVE)return Boolean(t.value);return this.cachedSignals.get(t.usage)!==t.value})),me((t=>{this.cachedSignals.set(t.usage,t.value)})),_e(this.onDisconnect),de()),e=[Yn.HOOK_SWITCH,Yn.REDIAL],n=t.pipe(on(this.isSoftphoneInFocus),Jt((t=>e.includes(t.usage)&&!this.lockHeld.getValue())));return Mt(t.pipe(Jt((t=>this.lockHeld.getValue()))),n).pipe(Lt((t=>new er(t.usage,0!==t.value,t.valueType))),ee((t=>(ye(t.message,this.logger),et))))}}class rr{constructor(t,e,n,r,i,o){this.device=t,this.onDisconnect=n,$n.set(this,void 0),zn.set(this,new j(!1)),Qn.set(this,void 0),Jn.set(this,!1),this.deviceSignals=new Y,h(this,$n,r,\"f\"),l(this,$n,\"f\").lockHeld.subscribe(l(this,zn,\"f\")),h(this,Qn,e,\"f\"),this.onDisconnect.pipe(ue(),Lt((()=>!0))).subscribe((t=>{h(this,Jn,t,\"f\")}));const s=new nr(l(this,Qn,\"f\"),this.onDisconnect,i,l(this,zn,\"f\"),o);this.deviceSignals=s.setup()}checkCallLockHeld(t){if(!l(this,zn,\"f\").getValue())throw new be(t,Kt.SDK_USAGE_ERROR)}checkCallLockNotHeld(t){if(l(this,zn,\"f\").getValue())throw new be(t,Kt.SDK_USAGE_ERROR)}checkHasDisconnected(){if(l(this,Jn,\"f\"))throw new be(\"CallControl cannot be performed as the connection has disconnected.\",Kt.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld(\"Trying to take the call lock, but it is already held!\"),St(l(this,$n,\"f\").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld(\"Trying to release the call lock, but it is not held!\"),l(this,$n,\"f\").releaseCallLock()}offHook(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"Calls can only be started and stopped when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.OFF_HOOK,Qe.OUTPUT);if(!e)throw new be(`Device ${this.device.name} does not support any offHook functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}ring(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The ringer state can only be modified when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.RING,Qe.OUTPUT),n=l(this,Qn,\"f\").findDescriptor(Vn.GN_TELEPHONY,qn.RINGER,Qe.OUTPUT);if(!e&&!n)throw new be(`Device ${this.device.name} does not support any ring functionality.`,Kt.FEATURE_NOT_SUPPORTED);if(n){const e=t?1:0;l(this,Qn,\"f\").output(n.usagePage,n.usage,e)}if(e){const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}}mute(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The mute state can only be modified when the call lock is held.\");let e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.MIC_MUTE,Qe.OUTPUT);if(e||(e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.MUTE,Qe.OUTPUT)),!e)throw new be(`Device ${this.device.name} does not support any mute functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}hold(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The hold state can only be modified when the call lock is held.\");const e=l(this,Qn,\"f\").findDescriptor(Vn.GN_LED,jn.HOLD,Qe.OUTPUT);if(!e)throw new be(`Device ${this.device.name} does not support hold functionality.`,Kt.FEATURE_NOT_SUPPORTED);const n=t?1:0;l(this,Qn,\"f\").output(e.usagePage,e.usage,n)}}$n=new WeakMap,zn=new WeakMap,Qn=new WeakMap,Jn=new WeakMap,function(t){t[t.STD_TELEPHONY=0]=\"STD_TELEPHONY\",t[t.GN_TELEPHONY=1]=\"GN_TELEPHONY\"}(Xn||(Xn={}));const ir={[De.SKYPE]:Xn.GN_TELEPHONY,[De.CISCO]:Xn.GN_TELEPHONY,[De.AVAYA]:Xn.GN_TELEPHONY,[De.SIEMENS]:Xn.GN_TELEPHONY,[De.IBM]:Xn.GN_TELEPHONY,[De.AASTRA]:Xn.GN_TELEPHONY,[De.JABRA]:Xn.GN_TELEPHONY,[De.NEC]:Xn.GN_TELEPHONY,[De.SHORETEL]:Xn.GN_TELEPHONY,[De.MS_OC]:Xn.STD_TELEPHONY,[De.ALCATEL]:Xn.STD_TELEPHONY,[De.OTHER]:Xn.STD_TELEPHONY,[De.NORTEL]:null,[De.GENERIC]:null};function or(t,e){const n=t.read(je).pipe(Lt((t=>ir[t]===e))),r=t.read(new Ke).pipe(Lt((t=>t.find((t=>ir[t]===e))))).pipe(Lt((e=>e?t.write(je,e):Nt(!1))),ge());return n.pipe((i=Nt(!0),o=r,t=>t.pipe(Lt((t=>t?i:o)),ge())));var i,o}class sr{constructor(t,e,n){this.connectionCallLock=t,this.device=e,this.logger=n,this.lockHeld=new j(!1),this.currentLocks=new j(new Set),this.lockReleaseEvent=new Y}tryTakeCallLock(){const{currentConnections:t}=this.device,e=new Set,n=Gt((()=>wt(t).pipe(ne((t=>this.takeSingleCallLock(t).pipe(ee((t=>(In(\"DeviceCallLock:\",t,this.logger),Nt(\"\"))))))),me((t=>e.add(t)))))).pipe(function(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?Jt((function(e,n){return t(e,n,r)})):k,le(1),n?re(e):ae((function(){return new Tt})))}}(),Lt((n=>(e.delete(\"\"),this.currentLocks.next(e),e.size!==t.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0)))),fe());return n.subscribe((t=>{t&&(this.acquireLockOnNextConnectionEmit(),this.releaseLockOnRemovedConnectionEmit())})),n}acquireLockOnNextConnectionEmit(){this.device.connectionAdded.pipe(_e(this.lockReleaseEvent)).subscribe((t=>{this.takeSingleCallLock(t).pipe(_e(this.lockReleaseEvent),Lt((t=>(this.currentLocks.getValue().add(t),this.currentLocks.next(this.currentLocks.getValue()),w))),he(Nn())).subscribe({error:t=>{ye(`Failed to acquire the call lock on a new connection.\\n Another softphone running an old SDK has most likely acquired this lock.\\n Full error: ${t}`,this.logger,Bt.WARNING,Wt.JS_LIB)}})}))}releaseLockOnRemovedConnectionEmit(){this.device.connectionRemoved.pipe(_e(this.lockReleaseEvent)).subscribe((t=>this.releaseSingleCallLock(t.id.transportId)))}takeSingleCallLock(t){return Gt((()=>this.connectionCallLock.tryTakeCallLock(t.id.transportId))).pipe(Lt((e=>e.acquired?Nt(e.transportId):Ct((()=>new be(`Failed to acquire call lock on connection ${t.id.transportId}`,Kt.SDK_USAGE_ERROR))))),ge())}releaseCallLock(){this.lockReleaseEvent.next();[...this.currentLocks.getValue()].forEach((t=>{this.releaseSingleCallLock(t)})),this.currentLocks.getValue().clear(),this.currentLocks.next(this.currentLocks.getValue())}releaseSingleCallLock(t){this.connectionCallLock.releaseCallLock(t),this.currentLocks.getValue().delete(t),this.currentLocks.next(this.currentLocks.getValue()),0!==this.currentLocks.getValue().size&&0!==this.device.currentConnections.length||(this.lockReleaseEvent.next(),this.lockHeld.next(!1))}}class ar{constructor(t){this.transport=t}tryTakeCallLock(t){const e={action:\"request-call-lock\",id:t};return this.transport.writeAction(e),this.transport.consoleAppEvent.pipe(Jt((e=>\"response-call-lock\"===e.event&&e.id===t)),Lt((t=>({transportId:t.id,acquired:t.acquired}))),ue())}releaseCallLock(t){const e={action:\"release-call-lock\",id:t};this.transport.writeAction(e)}}const cr=[{usagePage:Vn.GN_LED,usage:jn.OFF_HOOK,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.RING,reportType:Qe.OUTPUT},{usagePage:Vn.GN_TELEPHONY,usage:qn.RINGER,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.MIC_MUTE,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.MUTE,reportType:Qe.OUTPUT},{usagePage:Vn.GN_LED,usage:jn.HOLD,reportType:Qe.OUTPUT}],ur=[yn.USB,yn.INDIRECT,yn.BLUETOOTH];function lr(t,e){const{hidChannel:n}=t;return!!function(t){return cr.some((({usagePage:e,usage:n,reportType:r})=>t.findDescriptor(e,n,r)))}(n)&&(!pn.supportsGnpOverHid(n)||e!==On.DONGLE&&e!==On.OTHER)}function hr(t){const{currentConnections:e,type:n}=t;var r;return(r=e,[...r].sort(((t,e)=>ur.indexOf(t.type)-ur.indexOf(e.type)))).find((t=>lr(t,n)))}function dr(t,e,n,r,i){const o=hr(t),{hidChannel:s,onDisconnect:a}=o,c=new sr(new ar(r),t,i);if(e)return Nt(new rr(t,s,a,c,n.softphoneInFocus,i));if(r.context===Vt.WEB_HID)return Nt(new rr(t,s,a,c,n.softphoneInFocus,i));return function(t,e){return t.findDescriptor(Vn.GN_TELEPHONY,qn.GN_TELEPHONY_CONT_SET,Qe.FEATURE)?Gt((()=>(t.setFeatureReport(Vn.GN_TELEPHONY,qn.GN_TELEPHONY_CONT_SET,1),Nt(!0)))):e?or(e,Xn.GN_TELEPHONY):Nt(!1)}(s,o).pipe(Lt((e=>new rr(t,s,a,c,n.softphoneInFocus,i))))}class pr{constructor(t,e){this.devComm=t,this.softphoneInFocus=new G,this.softphoneInFocus=e.pipe(ue(),Pt((t=>this.devComm.consoleAppEvent.pipe(Jt((t=>\"softphone-in-focus\"===t.event)),Lt((t=>t.infocus)),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=ot(t);return M((function(e,r){(n?xt(t,e,n):xt(t,e)).subscribe(r)}))}(!t),fe(1))))),this.softphoneInFocus.subscribe((()=>{}))}setSharedSoftphoneInfo(t){if(!(null==t?void 0:t.partnerKey)||!(null==t?void 0:t.appId))return void ye(\"Unable to register with Jabra Direct: partnerKey or appId missing in config\",null==t?void 0:t.logger,Bt.WARNING);const e=t.partnerKey+t.appId,n=new Xe(5,\"ns:OID\",e);let{appName:r}=t;if((!t.appName||t.appName.length<3)&&(ye(\"App name missing in config. Fall back to use appId as app name.\",null==t?void 0:t.logger,Bt.WARNING),r=t.appId),r.length>100)return void ye(\"Unable to register with Jabra Direct: appName must be below 100 characters.\",null==t?void 0:t.logger,Bt.WARNING);const i={action:\"set-softphone-info\",name:r,id:n.toString()};this.devComm.writeAction(i)}}var fr,vr,Er,gr,_r,mr,br,yr,Or,wr;class Nr{constructor(t){var e;fr.set(this,void 0),vr.set(this,void 0),Er.set(this,void 0),gr.set(this,void 0),h(this,gr,t._readyEvents.pipe(ue((t=>\"ready\"===t.event)),Lt((t=>t.jabraDirectInstalled))),\"f\"),h(this,vr,new pr(t._transport,l(this,gr,\"f\")),\"f\"),l(this,vr,\"f\").setSharedSoftphoneInfo(t._config),h(this,fr,t._transport,\"f\"),h(this,Er,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createCallControl(t){if(!this.supportsCallControl(t))return Promise.reject(new be(`Device ${t.name} does not support call control.`,Kt.FEATURE_NOT_SUPPORTED));return At(l(this,gr,\"f\").pipe(Pt((e=>dr(t,e,l(this,vr,\"f\"),l(this,fr,\"f\"),l(this,Er,\"f\"))))))}supportsCallControl(t){return void 0!==hr(t)}}fr=new WeakMap,vr=new WeakMap,Er=new WeakMap,gr=new WeakMap,function(t){t.HOLD_CURRENT=\"hold-current\",t.END_CURRENT=\"end-current\"}(_r||(_r={})),function(t){t.MUTED=\"muted\",t.UNMUTED=\"unmuted\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(mr||(mr={})),function(t){t.ON_HOLD=\"on-hold\",t.NOT_ON_HOLD=\"not-on-hold\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(br||(br={})),function(t){t.NO_INCOMING=\"no-incoming\",t.AWAITING_RESPONSE=\"awaiting-response\",t.RESOLVING_RESPONSE=\"resolving-response\",t.ACCEPTED=\"accepted\",t.REJECTED=\"rejected\"}(yr||(yr={}));class Cr{constructor(t){this.state=t.value,t.subscribe((t=>{this.state=t}))}}class Tr extends Cr{constructor(t,e,n,r,i){super(t),this.commands=e,this.deviceSignals=n,this.enableFlash=r,this.logger=i}setupSignalListeners(){const t=this.extendedSignals.pipe(de()),e=t.pipe(Jt((t=>t.allowed))),r=t.pipe(Jt((t=>!t.allowed)));e.subscribe((t=>{ye(`Accepted signal: ${Yn[t.type]} [${t.value}]`,null==this?void 0:this.logger,Bt.INFO)})),r.subscribe((t=>{ye(`Ignored signal: ${Yn[t.type]} [${t.value}]`,null==this?void 0:this.logger,Bt.INFO)})),e.pipe(Jt((t=>t.type===Yn.HOOK_SWITCH))).subscribe((t=>{t.value&&this.state.incomingCall===yr.AWAITING_RESPONSE?this.commands.incomingCallHandler.queueAcceptIncomingCall(_r.END_CURRENT,!0):(!1===t.value&&this.state.ongoingCalls>0&&this.commands.hookHandler.queueEndCall(!0),!0===t.value&&0===this.state.ongoingCalls&&this.commands.hookHandler.queueStartCall())})),e.pipe(Jt((t=>t.type===Yn.PHONE_MUTE))).subscribe((()=>{this.commands.muteHandler.queueToggleMute(!0)})),e.pipe(Jt((t=>t.type===Yn.FLASH))).subscribe((()=>n(this,void 0,void 0,(function*(){this.state.incomingCall!==yr.AWAITING_RESPONSE?this.state.ongoingCalls>1?this.commands.swapHandler.queueSwapCalls():this.commands.holdHandler.queueToggleHold():yield this.commands.incomingCallHandler.queueAcceptIncomingCall(_r.HOLD_CURRENT,!0)})))),e.pipe(Jt((t=>t.type===Yn.REJECT_CALL))).subscribe((()=>{this.state.incomingCall===yr.AWAITING_RESPONSE&&this.commands.incomingCallHandler.queueRejectIncomingCall()}))}get extendedSignals(){return this.deviceSignals.pipe(Pt((t=>{let e=!this.state.ignoreSignals.some((([e,n])=>t.type===e&&n===t.value));return t.type!==Yn.FLASH||this.enableFlash||(e=!1),Nt(Object.assign(Object.assign({},t),{allowed:e}))})),_e(this.commands.teardownHandler.onTeardown))}}class Sr{constructor(t,e,n,r,i,o,s=!0){this.logger=o,Or.set(this,void 0),this.device=t,this.onDisconnect=e,this.ringState=i.ringState,this.muteState=i.muteState,h(this,Or,r,\"f\"),this.onDisconnect.pipe(ue(),_e(l(this,Or,\"f\").teardownHandler.onTeardown)).subscribe((t=>this.teardown(!1)));new Tr(i.internalState,r,n,s,o).setupSignalListeners()}endCall(){return l(this,Or,\"f\").hookHandler.queueEndCall(!1)}signalIncomingCall(t=25e3){return l(this,Or,\"f\").incomingCallHandler.queueSignalIncomingCall(t)}rejectIncomingCall(){return l(this,Or,\"f\").incomingCallHandler.queueRejectIncomingCall()}mute(){return l(this,Or,\"f\").muteHandler.queueSetMute(mr.MUTED)}unmute(){return l(this,Or,\"f\").muteHandler.queueSetMute(mr.UNMUTED)}teardown(t=!0){l(this,Or,\"f\").teardownHandler.teardown(t)}_setInitialState(t,e=!1,n=!1){return 0===t&&(e||n)&&ye(\"\\n Unable to set initial state: muted or onHold cannot be true unless a call is started.\\n Set callActive to true for SingleCallControl, or ongoingCalls to 1 or more for MultiCallControl.\\n \",null==this?void 0:this.logger,Bt.WARNING),l(this,Or,\"f\").deviceState.setInitialState(t,e,n)}}Or=new WeakMap;class Ar extends Sr{constructor(t,e,n,r,i,o){super(t,e,n,r,i,o,!0),wr.set(this,void 0),this.ongoingCalls=i.ongoingCalls,this.holdState=i.holdState,this.swapRequest=i.swapEvents,h(this,wr,r,\"f\")}startCall(){return l(this,wr,\"f\").hookHandler.queueStartCall()}acceptIncomingCall(t=_r.END_CURRENT){return l(this,wr,\"f\").incomingCallHandler.queueAcceptIncomingCall(t,!1)}hold(){return l(this,wr,\"f\").holdHandler.queueSetHold(br.ON_HOLD)}resume(){return l(this,wr,\"f\").holdHandler.queueSetHold(br.NOT_ON_HOLD)}}wr=new WeakMap;class Ir extends Cr{constructor(t,e,n){super(e),this.callControl=t,this.logger=n,this.hasLock=!1}takeCallLock(){return n(this,void 0,void 0,(function*(){if(!this.hasLock){try{this.hasLock=yield this.callControl.takeCallLock()}catch(t){this.hasLock=!0,ye(t.message,null==this?void 0:this.logger,Bt.WARNING)}if(!this.hasLock)throw new be(\"Device used by another softphone. Only one application can use the device at a time.\",Kt.SDK_USAGE_ERROR)}}))}releaseCallLock(){0===this.state.ongoingCalls&&(this.callControl.releaseCallLock(),this.hasLock=!1)}forceReleaseCallLock(){this.hasLock&&this.callControl.releaseCallLock()}}class Rr{constructor(t){this.teardownHandler=t,this.queue=new Y,this.queue.pipe(ne((t=>n(this,void 0,void 0,(function*(){try{const e=yield t.command();t.callback(e)}catch(e){if(!(e instanceof be))throw e;t.errCallback(e)}})))),_e(this.teardownHandler.onTeardown)).subscribe()}pushToQueue(t){return new Promise(((e,n)=>{this.teardownHandler.checkActive();const r={command:t,callback:e,errCallback:n};this.queue.next(r)}))}}class Dr extends Cr{constructor(t,e,n,r){super(r),this.hookHandler=t,this.holdHandler=e,this.muteHandler=n}setInitialState(t,e,r){return n(this,void 0,void 0,(function*(){if(0===t)return yield this.hookHandler.queueStartCall(),void(yield this.hookHandler.queueEndCall(!1));for(let e=0;e<t;e+=1)yield this.hookHandler.queueStartCall();const n=e?mr.MUTED:mr.UNMUTED;yield this.muteHandler.queueSetMute(n);const i=r?br.ON_HOLD:br.NOT_ON_HOLD;yield this.holdHandler.queueSetHold(i)}))}}class Hr extends Cr{constructor(t,e,n,r){super(e),this.callControl=t,this.stateHandler=e,this.commandQueue=n,this.awaitSignals=r}queueSetHold(t){return this.commandQueue.pushToQueue((()=>this.setHold(t)))}queueToggleHold(){return this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){const t=this.state.holdState===br.ON_HOLD?br.NOT_ON_HOLD:br.ON_HOLD;this.setHold(t)}))))}setHold(t){return n(this,void 0,void 0,(function*(){if(0===this.state.ongoingCalls){const e=t===br.ON_HOLD?\"hold\":\"resume\";throw new be(`Cannot ${e} call as there are no calls in progress.`,Kt.SDK_USAGE_ERROR)}if(this.state.ongoingCalls>1&&t===br.NOT_ON_HOLD)return void(yield this.resumeWhileMultiple());this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:t}));const e=t===br.NOT_ON_HOLD,n=t===br.ON_HOLD,r=[[Yn.HOOK_SWITCH,e],[Yn.FLASH,!0]],i=this.awaitSignals.listen(r);n?(this.callControl.hold(n),this.callControl.offHook(e)):(this.callControl.offHook(e),this.callControl.hold(n)),yield St(i)}))}resumeWhileMultiple(){return n(this,void 0,void 0,(function*(){const t=this.awaitSignals.listen([[Yn.HOOK_SWITCH,!0]]);this.callControl.offHook(!0),this.callControl.hold(!1),this.callControl.hold(!0),yield St(t),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD}))}))}}class Lr extends Cr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.commandQueue=r,this.awaitSignals=i}queueStartCall(){return this.commandQueue.pushToQueue((()=>this.startCall()))}queueEndCall(t){return this.commandQueue.pushToQueue((()=>this.endCall(t)))}startCall(t=!1){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall===yr.AWAITING_RESPONSE)throw new be(\"Cannot start a new call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall/rejectIncomingCall instead.\",Kt.SDK_USAGE_ERROR);this.state.holdState===br.ON_HOLD?this.startNewCallWhileOnHold():0===this.state.ongoingCalls?yield this.startFirstCall(t):this.startSubsequentCalls(),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls+1}))}))}endCall(t){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall===yr.AWAITING_RESPONSE)throw new be(\"Cannot end a call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall/rejectIncomingCall instead.\",Kt.SDK_USAGE_ERROR);if(0===this.state.ongoingCalls)throw new be(\"Cannot end call as there are no calls in progress.\",Kt.SDK_USAGE_ERROR);1===this.state.ongoingCalls?yield this.endLastCall():this.state.holdState===br.ON_HOLD?this.endCallWhileOnHold():yield this.endCurrentCall(t)}))}startFirstCall(t){return n(this,void 0,void 0,(function*(){yield this.callLock.takeCallLock();const e=t?[]:[[Yn.HOOK_SWITCH,!0]],n=this.awaitSignals.listen(e);this.callControl.offHook(!0),yield St(n),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD,muteState:mr.UNMUTED}))}))}startSubsequentCalls(){this.callControl.hold(!0)}startNewCallWhileOnHold(){this.callControl.offHook(!0),this.callControl.hold(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NOT_ON_HOLD}))}endLastCall(){return n(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:br.NO_ONGOING_CALLS,muteState:mr.NO_ONGOING_CALLS,ongoingCalls:0})),this.callControl.mute(!1),this.callControl.offHook(!1),this.callControl.hold(!1),this.callLock.releaseCallLock()}))}endCurrentCall(t){return n(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1})),yield this.sendHoldCallSignalAndWaitForAck(t),yield this.resumeNextCall(t)}))}sendHoldCallSignalAndWaitForAck(t){const e=t?[[Yn.HOOK_SWITCH,!1],[Yn.FLASH,!0]]:[[Yn.HOOK_SWITCH,!1]],n=St(this.awaitSignals.listen(e));return this.callControl.hold(!0),this.callControl.offHook(!1),n}resumeNextCall(t){const e=t?[[Yn.HOOK_SWITCH,!0],[Yn.FLASH,!0]]:[[Yn.HOOK_SWITCH,!0]],n=St(this.awaitSignals.listen(e));return this.callControl.offHook(!0),this.callControl.hold(1!==this.state.ongoingCalls),n}endCallWhileOnHold(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1}))}}class Pr extends Cr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.hookHandler=r,this.commandQueue=i}queueAcceptIncomingCall(t,e){return this.commandQueue.pushToQueue((()=>this.acceptIncomingCall(t,e)))}queueRejectIncomingCall(){return this.commandQueue.pushToQueue((()=>this.rejectIncomingCall()))}queueSignalIncomingCall(t=25e3){return new Promise(((e,r)=>{this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){(yield this.signalIncomingCall(t)).subscribe({next:t=>{e(t),this.updateIncomingCallState(yr.NO_INCOMING)},error:t=>{e(!1)},complete:()=>{e(!1)}})})))).catch((t=>r(t)))}))}signalIncomingCall(t){return n(this,void 0,void 0,(function*(){return yield this.callLock.takeCallLock(),this.updateIncomingCallState(yr.AWAITING_RESPONSE),this.callControl.ring(!0),this.stateHandler.pipe((e=({incomingCall:t})=>t!==yr.NO_INCOMING,void 0===n&&(n=!1),M((function(t,r){var i=0;t.subscribe(B(r,(function(t){var o=e(t,i++);(o||n)&&r.next(t),!o&&r.complete()})))}))),Jt((({incomingCall:t})=>t===yr.ACCEPTED||t===yr.REJECTED)),ue(),Dt(t),ee((t=>(this.rejectIncomingCall(),Nt(this.state)))),Lt((({incomingCall:t})=>t===yr.ACCEPTED)));var e,n}))}acceptIncomingCall(t,e){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall!==yr.AWAITING_RESPONSE)throw new be(\"Cannot accept as there are no incoming calls.\",Kt.SDK_USAGE_ERROR);this.updateIncomingCallState(yr.RESOLVING_RESPONSE),this.callControl.ring(!1),this.state.holdState===br.ON_HOLD||0===this.state.ongoingCalls?yield this.hookHandler.startCall(e):t===_r.END_CURRENT?(yield this.hookHandler.endCall(e),yield this.hookHandler.startCall(e)):t===_r.HOLD_CURRENT&&(yield this.hookHandler.startCall(e)),this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:yr.ACCEPTED,holdState:br.NOT_ON_HOLD}))}))}rejectIncomingCall(){return n(this,void 0,void 0,(function*(){if(this.state.incomingCall!==yr.AWAITING_RESPONSE)throw new be(\"Cannot reject as there are no incoming calls.\",Kt.SDK_USAGE_ERROR);this.callControl.ring(!1),this.updateIncomingCallState(yr.REJECTED),this.callLock.releaseCallLock()}))}updateIncomingCallState(t){this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:t}))}}class Ur extends Cr{constructor(t,e,n){super(e),this.callControl=t,this.stateHandler=e,this.commandQueue=n}queueSetMute(t){return this.commandQueue.pushToQueue((()=>this.setMute(t,!1)))}queueToggleMute(t){return this.commandQueue.pushToQueue((()=>n(this,void 0,void 0,(function*(){const e=this.state.muteState===mr.MUTED?mr.UNMUTED:mr.MUTED;this.setMute(e,t)}))))}setMute(t,e){return n(this,void 0,void 0,(function*(){if(!e&&0===this.state.ongoingCalls)throw new be(\"You cannot change mute state outside of a call.\",Kt.SDK_USAGE_ERROR);if(!e&&this.state.holdState===br.ON_HOLD)throw new be(\"You cannot change mute state while on hold.\",Kt.SDK_USAGE_ERROR);this.callControl.mute(t===mr.MUTED),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:t}))}))}}class kr extends Cr{constructor(t,e){super(t),this.stateHandler=t,this.commandQueue=e}queueSwapCalls(){return this.commandQueue.pushToQueue((()=>this.swapCalls()))}swapCalls(){return n(this,void 0,void 0,(function*(){if(this.state.ongoingCalls<2)throw new be(\"No calls to swap between. There should be at least one current call and one call on hold.\",Kt.SDK_USAGE_ERROR);this.stateHandler.next(Object.assign(Object.assign({},this.state),{swapToggle:this.state.swapToggle?0:1}))}))}}class xr{constructor(t,e,n){this.stateHandler=t,this.callLock=e,this.logger=n,this.teardownState=new j(!1),this.onTeardown=this.teardownState.pipe(ve(1),Lt(w))}teardown(t=!0){if(this.teardownState.value)throw new be(\"Easy Call Control instance already torn down.\",Kt.SDK_USAGE_ERROR);this.stateHandler.unsubscribeState(),this.teardownState.next(!0),t&&this.callLock.forceReleaseCallLock(),ye(\"Teardown complete. Create new Easy Call Control instance to continue usage.\",null==this?void 0:this.logger,Bt.INFO)}checkActive(){if(this.teardownState.value)throw new be(\"\\n Inactive instance. Either device disconnected or teardown was called.\\n Create new EasyCallControl instance to continue usage.\",Kt.SDK_USAGE_ERROR)}}class Gr{constructor(t,e,n){this.deviceSignals=t,this.stateHandler=e,this.logger=n}listen(t){if(0===t.length)return Nt(void 0);this.stateHandler.next(Object.assign(Object.assign({},this.stateHandler.value),{ignoreSignals:t}));let e=0;return this.deviceSignals.pipe(Ee((n=>{const[r,i]=t[e];return n.type===r&&n.value===i?(ye(`Resolve awaited signal: ${Yn[r]} [${i}]`,null==this?void 0:this.logger,Bt.INFO),e+=1,Nt(n)):et})),ie(t.length),Dt(1e3),ee((()=>{const e=t.map((([t,e])=>`${Yn[t]}: ${e}`));return ye(`Missing signals for ${JSON.stringify(e)}. State recovered.`,null==this?void 0:this.logger,Bt.INFO),Nt(void 0)})),(n=()=>{this.stateHandler.next(Object.assign(Object.assign({},this.stateHandler.value),{ignoreSignals:[]}))},M((function(t,e){try{t.subscribe(e)}finally{e.add(n)}}))));var n}}class Fr{constructor(t,e,n,r){const i=new Ir(t,n.internalState,r);this.teardownHandler=new xr(n,i,r);const o=new Rr(this.teardownHandler),s=new Gr(e,n.internalState,r);this.hookHandler=new Lr(t,i,n.internalState,o,s),this.muteHandler=new Ur(t,n.internalState,o),this.holdHandler=new Hr(t,n.internalState,o,s),this.incomingCallHandler=new Pr(t,i,n.internalState,this.hookHandler,o),this.swapHandler=new kr(n.internalState,o),this.deviceState=new Dr(this.hookHandler,this.holdHandler,this.muteHandler,n.internalState)}}const Mr={ongoingCalls:0,muteState:mr.NO_ONGOING_CALLS,holdState:br.NO_ONGOING_CALLS,incomingCall:yr.NO_INCOMING,ignoreSignals:[],swapToggle:0};class Br{constructor(){this.internalState=new j(Mr),this.onUnsubscribe=new Y;const t=this.internalState.pipe(_e(this.onUnsubscribe));this.ongoingCalls=t.pipe(Lt((t=>t.ongoingCalls)),oe()),this.callActive=t.pipe(Lt((t=>0!==t.ongoingCalls)),oe()),this.ringState=t.pipe(Lt((t=>t.incomingCall===yr.AWAITING_RESPONSE||t.incomingCall===yr.RESOLVING_RESPONSE)),oe()),this.muteState=t.pipe(Lt((t=>t.muteState)),oe()),this.holdState=t.pipe(Lt((t=>t.holdState)),oe()),this.swapEvents=t.pipe(Lt((t=>t.swapToggle)),oe(),Lt((()=>{})),ve(1))}unsubscribeState(){this.onUnsubscribe.next(void 0),this.onUnsubscribe.complete(),this.internalState.complete()}}var Wr,Kr,Yr,Vr;class jr extends Sr{constructor(t,e,n,r,i,o){super(t,e,n,r,i,o,!1),Wr.set(this,void 0),Kr.set(this,void 0),this.callActive=i.callActive,h(this,Wr,i.internalState,\"f\"),h(this,Kr,r,\"f\")}startCall(){return n(this,void 0,void 0,(function*(){if(1===l(this,Wr,\"f\").value.ongoingCalls)throw new be(\"Please end the call before starting a new one.\",Kt.SDK_USAGE_ERROR);yield l(this,Kr,\"f\").hookHandler.queueStartCall()}))}acceptIncomingCall(){return l(this,Kr,\"f\").incomingCallHandler.queueAcceptIncomingCall(_r.END_CURRENT,!1)}}Wr=new WeakMap,Kr=new WeakMap;class qr{constructor(t){var e;Yr.set(this,void 0),Vr.set(this,void 0),h(this,Yr,new Nr(t),\"f\"),h(this,Vr,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createSingleCallControl(t,e){return n(this,void 0,void 0,(function*(){const n=yield this.getSharedDependencies(t),r=new jr(n.coreDevice,n.onDisconnect,n.deviceSignals,n.commands,n.stateHandler,l(this,Vr,\"f\"));if(e){const t=e.callActive?1:0;yield r._setInitialState(t,e.muted)}return r}))}createMultiCallControl(t,e){return n(this,void 0,void 0,(function*(){const n=yield this.getSharedDependencies(t),r=new Ar(n.coreDevice,n.onDisconnect,n.deviceSignals,n.commands,n.stateHandler,l(this,Vr,\"f\"));return e&&(yield r._setInitialState(e.ongoingCalls,e.muted,e.onHold)),r}))}supportsEasyCallControl(t){return l(this,Yr,\"f\").supportsCallControl(t)}getSharedDependencies(t){return n(this,void 0,void 0,(function*(){const e=yield l(this,Yr,\"f\").createCallControl(t),n=new Br,r=e.deviceSignals.pipe(de());return{commands:new Fr(e,r,n,l(this,Vr,\"f\")),stateHandler:n,deviceSignals:r,coreDevice:e.device,onDisconnect:e.onDisconnect}}))}}Yr=new WeakMap,Vr=new WeakMap;export{_r as A,Nr as C,tn as D,Kt as E,br as H,kn as I,be as J,Bt as L,mr as M,G as O,Qe as R,Y as S,Vt as T,Je as V,Bn as W,n as _,xt as a,Pt as b,B as c,Ft as d,Z as e,Wn as f,Zn as g,Kn as h,Mt as i,Wt as j,Yn as k,ye as l,Lt as m,w as n,M as o,jt as p,bn as q,yn as r,On as s,ie as t,Xe as u,Mn as v,tr as w,qr as x};\n","import { VendorImplementation } from \"../services/vendor-implementations/vendor-implementation\";\nimport { EventInfoWithConversationId, HoldEventInfo, MutedEventInfo, WebHidPermissionRequest } from \"./emitted-headset-events\";\n\nexport enum HeadsetEvents {\n implementationChanged = 'implementationChanged',\n deviceHoldStatusChanged = 'deviceHoldStatusChanged',\n deviceMuteStatusChanged = 'deviceMuteStatusChanged',\n deviceAnsweredCall = 'deviceAnsweredCall',\n deviceEndedCall = 'deviceEndedCall',\n deviceRejectedCall = 'deviceRejectedCall',\n loggableEvent = 'loggableEvent',\n webHidPermissionRequested = 'webHidPermissionRequested',\n deviceConnectionStatusChanged = 'deviceConnectionStatusChanged',\n deviceEventLogs = 'deviceEventLogs',\n}\n\ntype Events = {\n [HeadsetEvents.implementationChanged]: VendorImplementation;\n [HeadsetEvents.deviceHoldStatusChanged]: HoldEventInfo;\n [HeadsetEvents.deviceMuteStatusChanged]: MutedEventInfo;\n [HeadsetEvents.deviceAnsweredCall]: EventInfoWithConversationId;\n [HeadsetEvents.deviceEndedCall]: EventInfoWithConversationId\n [HeadsetEvents.deviceRejectedCall]: EventInfoWithConversationId;\n [HeadsetEvents.loggableEvent]: any;\n [HeadsetEvents.webHidPermissionRequested]: WebHidPermissionRequest;\n [HeadsetEvents.deviceConnectionStatusChanged]: DeviceConnectionStatus;\n}\n\nexport type DeviceConnectionStatus = 'checking' | 'running' | 'notRunning' | 'noVendor';\n\nexport type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Events\n ? { event: T, payload: Events[T] }\n : never;\n\nexport interface PartialInputReportEvent {\n reportId: number;\n data: DataView;\n}","import DeviceInfo from '../../types/device-info';\nimport StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport { EmittedHeadsetEvents, EventInfo, EventInfoWithConversationId, HoldEventInfo, MutedEventInfo } from '../../types/emitted-headset-events';\nimport { CallInfo } from '../..';\nimport { UpdateReasons } from '../../types/headset-states';\n\ntype HeadsetEventName = keyof EmittedHeadsetEvents;\n\nexport interface ImplementationConfig {\n logger: any;\n vendorName?: string;\n appName?: string;\n createNew?: boolean; // this should only be used for testing\n}\n\nexport abstract class VendorImplementation extends (EventEmitter as { new(): StrictEventEmitter<EventEmitter, EmittedHeadsetEvents> }) {\n // TODO: rename this to something more descriptive\n vendorName = 'Not Specified';\n isConnecting = false; // trying to connect with the headset controlling software, ex: plantronics hub\n isConnected = false; // represents a connection to the headset controlling software, ex: plantronics hub\n isMuted = false;\n errorCode: string = null;\n disableRetry = false;\n logger: any; // TODO: pass this in on creation?\n config: ImplementationConfig;\n\n constructor (config: ImplementationConfig) {\n super();\n const eventEmitter = new EventEmitter();\n Object.keys((eventEmitter as any).__proto__).forEach((name) => {\n this[name] = eventEmitter[name];\n });\n\n this.config = config;\n this.vendorName = config.vendorName;\n this.logger = config.logger;\n }\n\n get isDeviceAttached (): boolean {\n throw new Error(`${this.vendorName} - isDeviceAttatched getter not implemented`);\n }\n\n isSupported (): boolean {\n return true;\n }\n\n abstract get deviceInfo (): DeviceInfo;\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n deviceLabelMatchesVendor (label: string): boolean {\n throw new Error(`${this.vendorName} - deviceLabelMatchesVendor() not implemented`);\n }\n\n connect (selectedMicLabel?: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - connect() not implemented`));\n }\n\n disconnect (clearReason?: UpdateReasons): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - disconnect() not implemented`));\n }\n\n incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n // TODO: propagate this changed parameter (used to be callInfo, but there are several differents signatures in the implementing classes)\n return Promise.reject(new Error(`${this.vendorName} - incomingCall() not implemented`));\n }\n\n outgoingCall (callInfo: CallInfo): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - outgoingCall() not implemented`));\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - answerCall() not implemented`));\n }\n\n rejectCall (conversationId: string): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - rejectCall() not implemented`));\n }\n\n endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endCall() not implemented`));\n }\n\n endAllCalls (): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - endAllCalls() not implemented`));\n }\n\n setMute (value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setMute() not implemented`));\n }\n\n setHold (conversationId: string, value: boolean): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - setHold() not implemented`));\n }\n\n resetHeadsetStateForCall (conversationId?: string): Promise<any> {\n return this.rejectCall(conversationId);\n }\n /* eslint-enable */\n\n private emitEvent (eventName: HeadsetEventName, eventBody: any) {\n this.emit(eventName, { vendor: this, body: { ...eventBody } });\n }\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n requestWebHidPermissions (callback: any): void {\n /* eslint-enable */\n this.logger.debug('Emitting premission request event');\n this.emitEvent('webHidPermissionRequested', { callback });\n }\n\n deviceAnsweredCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceAnsweredCall', eventInfo);\n }\n\n deviceRejectedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceRejectedCall', eventInfo);\n }\n\n deviceEndedCall (eventInfo: EventInfoWithConversationId): void {\n this.emitEvent('deviceEndedCall', eventInfo);\n }\n\n deviceMuteChanged (eventInfo: MutedEventInfo): void {\n this.emitEvent('deviceMuteStatusChanged', { ...eventInfo });\n }\n\n deviceHoldStatusChanged (eventInfo: HoldEventInfo): void {\n this.emitEvent('deviceHoldStatusChanged', { ...eventInfo });\n }\n\n deviceEventLogs (eventInfo: EventInfo): void {\n this.emitEvent('deviceEventLogs', eventInfo);\n }\n\n changeConnectionStatus (headsetState: {isConnected: boolean, isConnecting: boolean}): void {\n this.isConnected = headsetState.isConnected;\n this.isConnecting = headsetState.isConnecting;\n this.emitEvent('deviceConnectionStatusChanged', { currentVendor: this, ...headsetState });\n }\n\n /**\n * Try to deduct the product id based on the label.\n * Making the assumption that the label will end with (vendorid:productid).\n *\n * @param selectedMicLabel\n * @returns The product id if matched or null.\n */\n deductProductId (selectedMicLabel: string) : number {\n const match = selectedMicLabel?.match(/\\((\\w+):(\\w+)\\)$/);\n return match ? parseInt(match[2], 16) : null;\n }\n}\n","!function(e,r){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(r):e.browserama=r()}(this,function(){\"use strict\";var e=\"undefined\"==typeof window,r=!1,t=!1,o=!1,i=!1,n=!1,d=!1,u=!1,w=!1,s=!1,m=!1;return e||(r=\"undefined\"!=typeof InstallTrigger,t=!!window.chrome,o=!!window.chrome,i=t&&!window.chrome.webstore&&!window.chrome.runtime,n=0<Object.prototype.toString.call(window.HTMLElement).indexOf(\"Constructor\")||window.safari&&window.safari.pushNotification,d=!!window.opr&&!!window.opr.addons||!!window.opera,u=!!window.StyleMedia,w=t&&!!navigator.userAgent.match(/edg/i),s=(o||d)&&!!window.CSS,m=!(t||n||r||d||!document.documentMode)),{get isChrome(){return o},get isChromeOrChromium(){return t},get isChromium(){return i},get isFirefox(){return r},get isSafari(){return n},get isOpera(){return d},get isEdge(){return u},get isEdgeChromium(){return w},get isIE(){return m},get isBlink(){return s}}});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['exports', 'module'], factory);\n } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {\n factory(exports, module);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, mod);\n global.fetchJsonp = mod.exports;\n }\n})(this, function (exports, module) {\n 'use strict';\n\n var defaultOptions = {\n timeout: 5000,\n jsonpCallback: 'callback',\n jsonpCallbackFunction: null\n };\n\n function generateCallbackFunction() {\n return 'jsonp_' + Date.now() + '_' + Math.ceil(Math.random() * 100000);\n }\n\n function clearFunction(functionName) {\n // IE8 throws an exception when you try to delete a property on window\n // http://stackoverflow.com/a/1824228/751089\n try {\n delete window[functionName];\n } catch (e) {\n window[functionName] = undefined;\n }\n }\n\n function removeScript(scriptId) {\n var script = document.getElementById(scriptId);\n if (script) {\n document.getElementsByTagName('head')[0].removeChild(script);\n }\n }\n\n function fetchJsonp(_url) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // to avoid param reassign\n var url = _url;\n var timeout = options.timeout || defaultOptions.timeout;\n var jsonpCallback = options.jsonpCallback || defaultOptions.jsonpCallback;\n\n var timeoutId = undefined;\n\n return new Promise(function (resolve, reject) {\n var callbackFunction = options.jsonpCallbackFunction || generateCallbackFunction();\n var scriptId = jsonpCallback + '_' + callbackFunction;\n\n window[callbackFunction] = function (response) {\n resolve({\n ok: true,\n // keep consistent with fetch API\n json: function json() {\n return Promise.resolve(response);\n }\n });\n\n if (timeoutId) clearTimeout(timeoutId);\n\n removeScript(scriptId);\n\n clearFunction(callbackFunction);\n };\n\n // Check if the user set their own params, and if not add a ? to start a list of params\n url += url.indexOf('?') === -1 ? '?' : '&';\n\n var jsonpScript = document.createElement('script');\n jsonpScript.setAttribute('src', '' + url + jsonpCallback + '=' + callbackFunction);\n if (options.charset) {\n jsonpScript.setAttribute('charset', options.charset);\n }\n if (options.nonce) {\n jsonpScript.setAttribute('nonce', options.nonce);\n }\n if (options.referrerPolicy) {\n jsonpScript.setAttribute('referrerPolicy', options.referrerPolicy);\n }\n if (options.crossorigin) {\n jsonpScript.setAttribute('crossorigin', 'true');\n }\n jsonpScript.id = scriptId;\n document.getElementsByTagName('head')[0].appendChild(jsonpScript);\n\n timeoutId = setTimeout(function () {\n reject(new Error('JSONP request to ' + _url + ' timed out'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n window[callbackFunction] = function () {\n clearFunction(callbackFunction);\n };\n }, timeout);\n\n // Caught if got 404/500\n jsonpScript.onerror = function () {\n reject(new Error('JSONP request to ' + _url + ' failed'));\n\n clearFunction(callbackFunction);\n removeScript(scriptId);\n if (timeoutId) clearTimeout(timeoutId);\n };\n });\n }\n\n // export as global function\n /*\n let local;\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n local.fetchJsonp = fetchJsonp;\n */\n\n module.exports = fetchJsonp;\n});","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export var COMPLETE_NOTIFICATION = (function () { return createNotification('C', undefined, undefined); })();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind: kind,\n value: value,\n error: error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","/* istanbul ignore file */\n\nimport browserama from 'browserama';\n\nexport function isFirefox (): boolean {\n return browserama.isFireFox;\n}\n\n/**\n *\n * @param promise\n * @param timeoutInMillis\n *\n * Returns a promise that resolves if the passed in promise resolves before the timeout\n * time elapses. If the timeout elapses, then the returned promise rejects with a\n * message that the timeout time was exceeded.\n */\nexport function timedPromise (\n promise: Promise<any>,\n timeoutInMillis: number,\n timeoutError?: Error\n): Promise<any> {\n let timeoutId;\n const timeoutPromise: Promise<any> = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n reject(timeoutError ? timeoutError : 'Timed out in ' + timeoutInMillis + 'ms');\n }, timeoutInMillis);\n }).then(result => {\n clearTimeout(timeoutId);\n return result;\n });\n\n return Promise.race([promise, timeoutPromise]);\n}\n\nexport function debounce (func: () => void, delay: number): any {\n let timer = null;\n\n return function () {\n clearTimeout(timer);\n\n timer = setTimeout(function () {\n func();\n }, delay);\n };\n}\n\nexport function isCefHosted (): boolean {\n return !!(window as any)._HostedContextFunctions;\n}\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nexport function requestCefPromise (cmd: any): Promise<any> {\n/* eslint-enable */\n return new Promise((resolve, reject) => {\n try {\n const sCmd = JSON.stringify(cmd);\n (window as any).cefQuery({\n request: sCmd,\n persistent: false,\n onSuccess: response => {\n try {\n const obj = JSON.parse(response);\n resolve(obj);\n } catch (e) {\n resolve({});\n }\n },\n onFailure: response => {\n reject(response);\n }\n });\n } catch (e) {\n console.error('Error requesting desktop promise', e);\n reject(e);\n }\n });\n}\n","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\nimport { CallInfo } from '../../..';\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\nimport { isCefHosted } from \"../../../utils\";\n\n\nlet hookswFlag = 0x01;\nlet micMuteFlag = 0x04;\nconst ringFlag = 0x08;\n\nconst defaultFlagSupport = 0x0F;\nconst muteButtonToggle = 0x13;\n\n// JLChip support\nconst JLmuteButtonToggle = 0x0203;\nconst JLFlagSupport = 0x0240;\nconst JLMicMuteFlag = 0x40;\nconst JLhookswFlag = 0x0200;\n\n// call states\nconst CALL_IDLE = 'callIdle';\nconst CALL_INCOMING = 'callIncoming';\nconst CALL_ANSWERING = 'callAnswering';\nconst CALL_REJECTING = 'callRejecting';\nconst CALL_ACTIVE = 'callActive';\nconst CALL_END = 'callEnd';\nconst CALL_OUTGOING = 'callOutgoing';\n\n// CAStateEvents\nconst ca_st_event_hooksw_on = 0;\nconst ca_st_event_answerConfirm = 1;\nconst ca_st_event_incomingCall = 2;\nconst ca_st_event_callEnd = 3;\nconst ca_st_event_hooksw_off = 5;\nconst ca_st_event_busy = 6;\nconst ca_st_event_call_answer = 7;\nconst ca_st_event_outgoingCall = 8;\n\n// CADeviceEvents\nconst ca_dev_event_hooksw_on = 0x01;\nconst ca_dev_event_hooksw_off = 0x00;\nconst ca_dev_event_busy = 0x02;\nconst ca_dev_event_ans_confirm = 0x02;\n\nconst PHONE_USAGE = 0x0001;\nconst HEADSET_USAGE = 0x0005;\nconst HEADSET_USAGE_PAGE = 0x000B;\n\nexport default class CyberAcousticsService extends VendorImplementation {\n private static instance: CyberAcousticsService;\n\n vendorName = 'CyberAcoustics';\n private activeConversationId: string;\n private _deviceInfo: DeviceInfo = null;\n activeDevice: any;\n\n private numDeviceEventListeners = 0;\n\n private currentProductID = null;\n private headsetOutputReportId = 3;\n private headsetInputReportId = 3;\n private vendorInputReportId = 4;\n\n private currentState = 0x00;\n private isHolding = false;\n private currentlDeviceLabel: string;\n\n private currentCallInfo: CallInfo;\n protected currentCallState = CALL_IDLE;\n private deviceStatus = 0;\n\n protected gCmdBuf = new Uint8Array( [0x00, 0x00]);\n\n private inputReportReportId = 0x03;\n private outputReportReportId = 0x03;\n\n private JLCommandSet = false;\n private callControlSuport = true;\n\n private flagSupport = defaultFlagSupport;\n private handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n static getInstance (config: ImplementationConfig): CyberAcousticsService {\n if (!CyberAcousticsService.instance) {\n CyberAcousticsService.instance = new CyberAcousticsService(config);\n }\n return CyberAcousticsService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n // called to check if the WebHID interface is supported\n isSupported (): boolean {\n const supported: boolean = (window.navigator as any).hid && !isCefHosted();\n return supported;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n this.logger.debug(\"CA: matchVendor\");\n const lowerLabel = label.toLowerCase();\n\n return ['ac-104enc', 'ac-204enc', 'ac-304','foundever',\n 'ca essential', 'ca-2890'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n // Connect: Attempt to connect to the device\n async connect (originalDeviceLabel: string): Promise<void> {\n //// DEBUG CODE ////\n // uncomment to test Forgetdevice with requestWebHidPermissions\n\n // const devicesListTest = await (window.navigator as any).hid.getDevices({\n // filters: [{ vendorId: 0x3391 },],\n // });\n // if(devicesListTest.length > 0){\n // const deviceTest = devicesListTest[0];\n // deviceTest.forget();\n // }\n\n //// END DEBUG CODE ////\n\n let bConnectSuccess = false;\n this.logger.debug(\"CA: Connect Attempt\");\n\n this.currentlDeviceLabel = originalDeviceLabel;\n this.logger.debug(`CA Device String = ${originalDeviceLabel}`);\n\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n\n // First try to see if this is a previously connected device- does not require\n // WebHID permission dialog\n const devList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n //SUCESSFUL connection!\n bConnectSuccess = true;\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- previously connected device\");\n }\n else{\n this.logger.debug(\"CA: Connect FAIL- Failed connect to previously connected device\");\n }\n }\n\n //// DEBUG CODE uncomment to test initial connect fail\n //this.activeDevice.close();\n //bConnectSuccess = false;\n ////\n\n if(!bConnectSuccess) {\n try{\n bConnectSuccess = await new Promise((resolve, reject) => {\n const HIDPermissionTimeout = setTimeout(reject, 30000);\n this.requestWebHidPermissions(async () => {\n this.logger.debug(\"Requesting web HID permissions\");\n const productId = this.deductProductId(originalDeviceLabel);\n\n const devList = await (window.navigator as any).hid.requestDevice({\n filters: [\n {\n vendorId: 0x3391,\n //vendorId: 0x046D,\n productId: productId || undefined\n },\n ],\n });\n clearTimeout(HIDPermissionTimeout);\n const deviceFound = await this.connectFromHidPermissions(devList, originalDeviceLabel);\n if(deviceFound){\n resolve(deviceFound);\n }\n else\n {\n reject();\n }\n console.debug(`CA: requestWebHidPermissions device found = ${ deviceFound } `);\n });\n });\n } catch (error) {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error('CA: WebHID permissions denied');\n return;\n }\n //\n }\n }\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n async connectFromHidPermissions (devList: any, originalDeviceLabel: string): Promise<boolean>\n /* eslint-enable */\n {\n\n this.activeDevice = null;\n this.selectDevice(devList, originalDeviceLabel);\n\n if(this.activeDevice) {\n // Open the device\n if (!this.activeDevice.opened) {\n await this.activeDevice.open();\n }\n if(this.activeDevice.opened) {\n // SUCESSFUL connection!\n this.handleDeviceConnect();\n this.logger.debug(\"CA: Connect SUCCESS- from HIDWebPermission request \");\n return true;\n }\n else{\n this.logger.debug(\"CA: Connect FAIL requesting WebHID permissions\");\n return false;\n }\n }\n }\n\n // Called when the device sends an input report\n handleInputReport (event: PartialInputReportEvent): void {\n const reportID = event.reportId;\n // If reportId is not in the list, return immediately\n if (!this.handeledInputReportIds.includes(reportID)) {\n return;\n }\n\n const byte0 = event.data.getUint8(0);\n const byte1 = event.data.getUint8(1);\n\n ////this.logger.debug(`CA Received Input Report #${event.reportId}. byte0 = ${byte0}, byte1 = ${byte1}`);\n\n // Process device input\n const wordCommand = (byte1 << 8) + byte0;\n this.logger.debug(`CA received button press ${ this.formatHex(wordCommand) } reportID ${reportID} from Device`);\n this.handleDeviceButtonPress(wordCommand, reportID);\n }\n\n // called on sucessful connect to do initialization work\n async handleDeviceConnect (): Promise<void>\n {\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.handleInputReport = this.handleInputReport.bind(this);\n //\n this.activeDevice.addEventListener('inputreport', this.handleInputReport);\n this.numDeviceEventListeners++;\n console.debug(`Installed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n if(this.numDeviceEventListeners > 1 )\n {\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n this.logger.debug(`%c CA: *****WARNING ***** MULTIPLE EVENT LISTENERS ON DEVICE!!!`, 'color: red');\n this.logger.debug(`%c CA: ********************************************************`, 'color: red');\n }\n\n this.currentProductID = this.activeDevice.productId;\n this.logger.debug(`Product ID: 0x${this.currentProductID.toString(16)}`);\n\n this.currentCallState = CALL_IDLE;\n\n // This could potentially change with different products, but for now this is\n // constant across all products.\n this.headsetOutputReportId = this.outputReportReportId;\n this.headsetInputReportId = this.outputReportReportId;\n this.vendorInputReportId = 4;\n\n this.handeledInputReportIds = [this.headsetInputReportId, this.vendorInputReportId];\n\n\n switch(this.currentProductID )\n {\n case 0x04: // BT1500\n this.flagSupport = JLFlagSupport;\n this.JLCommandSet = true;\n\n hookswFlag = JLhookswFlag;\n micMuteFlag = JLMicMuteFlag;\n break;\n\n case 0x18 : // ac-304\n this.flagSupport = 0x05;\n break;\n\n default:\n this.flagSupport = defaultFlagSupport;\n break;\n }\n\n this.logger.debug( `flagSupport = ${ this.formatHex(this.flagSupport) } `);\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n selectDevice (devList: PartialHIDDevice[], originalDeviceLabel : string): boolean {\n this.logger.debug(\"CA: SelectDevice\");\n\n const deviceLabel = originalDeviceLabel.toLowerCase();\n\n let deviceFound = false;\n devList.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n for (const collection of device.collections) {\n if ( (collection.usage === HEADSET_USAGE || collection.usage === PHONE_USAGE ) &&\n (collection.usagePage === HEADSET_USAGE_PAGE )) {\n this.activeDevice = device;\n deviceFound = true;\n if (collection.inputReports.length !== 0) {\n this.inputReportReportId = collection.inputReports[0].reportId;\n this.logger.debug(`CA inputReportReportId = ${this.inputReportReportId}`);\n }\n if (collection.outputReports.length !== 0) {\n this.outputReportReportId = collection.outputReports[0].reportId;\n this.logger.debug(`CA outputReportReportId = ${this.outputReportReportId}`);\n }\n break;\n }\n }\n }\n });\n return deviceFound;\n }\n\n async disconnect (): Promise<void> {\n if (this.activeDevice) {\n this.logger.debug(`CA: Disconnecting`);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n\n ////\n this.activeDevice.removeEventListener('inputreport', this.handleInputReport); \n this.numDeviceEventListeners--;\n console.debug(`Removed Device Input listener, num listeners = ${this.numDeviceEventListeners} `);\n ////\n await this.activeDevice.close();\n this.logger.debug(`CA: Device closed`);\n this.activeDevice = null;\n this._deviceInfo = null;\n\n this.currentCallState = CALL_IDLE;\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: incomingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.logger.debug(\"CA: outgoingCall\");\n this.currentCallInfo = callInfo;\n this.activeConversationId = callInfo.conversationId;\n this.ParseStateEvents(ca_st_event_outgoingCall);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n this.logger.debug(\"CA: Answer Call from UI\");\n this.activeConversationId = conversationId;\n if( autoAnswer)\n { // let the state machine know there is an incoming call\n this.logger.debug(\"CA: AutoAnswer\");\n this.ParseStateEvents(ca_st_event_incomingCall);\n }\n\n // answer call\n this.ParseStateEvents(ca_st_event_call_answer);\n }\n\n async rejectCall (): Promise<void> {\n this.logger.debug(\"CA: rejectCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this.logger.debug(\"CA: endCall from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async endAllCalls (): Promise<void> {\n this.logger.debug(\"CA: endAllCalls from UI\");\n this.ParseStateEvents( ca_st_event_callEnd);\n }\n\n async setMute (value: boolean): Promise<void> {\n this.logger.debug(`CA: setMute. Value: ${value}`);\n\n // Set the global mute state- this is how Genesys keeps track of mute state.\n this.isMuted = value;\n // set the device state\n this.UpdateDeviceStatus (micMuteFlag, value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n this.logger.debug(`CA: setHold. Value: ${value}`);\n this.activeConversationId = conversationId;\n this.isHolding = value;\n }\n\n handleDeviceButtonPress (wordCommand: number, reportID: number): void {\n if (!this.activeDevice) {\n this.logger.error('do not have active device');\n return;\n }\n\n if(reportID === this.headsetInputReportId )\n {\n if( this.currentProductID === 0x18 ) //ac-304\n {\n\n switch (wordCommand)\n {\n\n case 0x1:\n case 0x05:\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // Don't do this- updateDeviceStatus instead\n // this.setMute(this.isMuted);\n\n this.UpdateDeviceStatus (micMuteFlag, this.isMuted);\n this.logger.debug(`CA: AC304 Mute update micMuteFlag = ${ this.formatHex(micMuteFlag) } this.isMuted = ${this.isMuted}`);\n\n break;\n }\n return;\n\n\n // This mode of operation will be enabled in a future firmware release\n // switch (wordCommand)\n // {\n // case 0x01: this.isMuted = false; break;\n // case 0x05: this.isMuted = true; break;\n // }\n\n // this.deviceMuteChanged({\n // isMuted: this.isMuted,\n // name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n // });\n\n // // send command back to device\n // this.setMute(this.isMuted);\n\n // return;\n }\n\n switch (wordCommand)\n {\n case JLmuteButtonToggle : // 0x0203\n case muteButtonToggle: // 0x13\n this.isMuted = !this.isMuted;\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted'\n });\n\n // send mute or unmute command back to device\n // this seems to help debounce button presses\n this.setMute(this.isMuted);\n\n break;\n\n // call rejected if call incoming\n case ca_dev_event_hooksw_off: //0x00\n this.ParseStateEvents(ca_st_event_hooksw_off);\n break;\n\n // Answer Incomming Call\n case ca_dev_event_hooksw_on : //0x01\n this.ParseStateEvents(ca_st_event_hooksw_on);\n break;\n\n // hang up\n case ca_dev_event_busy: //0x02\n this.ParseStateEvents(ca_st_event_busy);\n break;\n\n }\n }\n else if( reportID === this.vendorInputReportId)\n {\n switch (wordCommand)\n {\n case ca_dev_event_ans_confirm : //0x02\n this.ParseStateEvents(ca_st_event_answerConfirm);\n break;\n }\n }\n else\n {\n console.debug(`CA: Unhandeled input report #${reportID.toString(16)}`);\n }\n\n } // handleDeviceButtonPress\n\n\n // This is the main call control engine. State dependant events from the device\n // and/or the UI are handled here.\n ParseStateEvents (CAStateEvent: number): void\n {\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n switch(CAStateEvent)\n {\n case ca_st_event_incomingCall:\n this.ChangeCallState(CALL_INCOMING);\n break;\n\n case ca_st_event_outgoingCall:\n this.ChangeCallState(CALL_OUTGOING);\n break;\n\n }\n break;\n\n case CALL_INCOMING:\n switch(CAStateEvent)\n {\n // pickup\n case ca_st_event_hooksw_on: // call answer from Device\n case ca_st_event_call_answer: // call answer from UI\n this.ChangeCallState(CALL_ANSWERING);\n break;\n\n // reject\n case ca_st_event_hooksw_off: // call reject from Device\n case ca_st_event_callEnd: // call reject from UI\n this.ChangeCallState(CALL_REJECTING);\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ANSWERING:\n switch(CAStateEvent)\n {\n case ca_st_event_answerConfirm:\n this.ChangeCallState(CALL_ACTIVE);\n break;\n\n case ca_st_event_callEnd:\n case ca_st_event_hooksw_off:\n this.ChangeCallState(CALL_END);\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_ACTIVE:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n case CALL_OUTGOING:\n switch(CAStateEvent)\n {\n case ca_st_event_callEnd:\n case ca_st_event_busy:\n this.ChangeCallState(CALL_END );\n this.ChangeCallState(CALL_IDLE);\n break;\n }\n break;\n\n } // switch callstate\n\n }\n\n // Events handled in the previous function may change the global call state.\n // This is handeled here. Entering a new state may require work to be done- this\n // is also handled here.\n ChangeCallState (newstate: string): void\n {\n this.logger.debug(`%cCA SETTING STATE: ${newstate}`, 'color: red');\n this.currentCallState = newstate;\n switch(this.currentCallState)\n {\n case CALL_IDLE:\n this.deviceStatus = 0;\n break;\n\n case CALL_INCOMING:\n this.UpdateDeviceStatus(ringFlag, true);\n break;\n\n case CALL_OUTGOING:\n case CALL_ANSWERING:\n this.UpdateDeviceStatus(hookswFlag, true);\n // if call answered muted, unmute\n if(this.isMuted)\n {\n this.setMute(false);\n this.deviceMuteChanged({\n isMuted: false,\n name: 'CallUnmuted'\n });\n }\n break;\n\n case CALL_ACTIVE:\n this.UpdateDeviceStatus(ringFlag, false);\n\n this.deviceAnsweredCall({ name: 'CallOffHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_END:\n this.UpdateDeviceStatus(hookswFlag, false);\n this.deviceEndedCall({ name: 'CallOnHook', conversationId: this.activeConversationId });\n break;\n\n case CALL_REJECTING:\n this.UpdateDeviceStatus(ringFlag, false);\n this.deviceRejectedCall({ name: 'CallRejected', conversationId: this.activeConversationId });\n break;\n }\n }\n\n // This will set/clear bits in the hardware as needed.\n UpdateDeviceStatus (flag: number, value: boolean): void\n {\n if(!(flag & this.flagSupport)) {\n console.debug(`CA: UpdateDeviceStatus called with unsupported flag ${flag.toString(16)}... returning`);\n return;\n }\n\n this.deviceStatus = value ? this.deviceStatus | flag : this.deviceStatus & ~flag;\n this.SendCommandToDevice(this.deviceStatus);\n }\n\n // ResetDeviceStatus ()\n // {\n // this.deviceStatus = 0x0000;\n // this.SendCommandToDevice(this.deviceStatus);\n // }\n\n // sends output report to device\n async SendCommandToDevice ( value: number): Promise<void> {\n if(this.JLCommandSet)\n {\n\n this.gCmdBuf[0] = value >> 8;\n this.gCmdBuf[1] = value & 0x00ff;\n\n }\n else\n {\n this.gCmdBuf[0] = value;\n }\n ////this.logger.debug(`CA: Command assembled: ${this.gCmdBuf[0].toString(16)}, ${this.gCmdBuf[1].toString(16)} `);\n ////this.logger.debug(`CA: reportID ${this.headsetOutputReportId.toString(16)} `);\n await this.activeDevice.sendReport(this.headsetOutputReportId, this.gCmdBuf );\n this.logger.debug(`CA: Sent Command to Device. Value: ${ this.formatHex(this.gCmdBuf[0])}, ${ this.formatHex(this.gCmdBuf[1])} `);\n\n this.gCmdBuf[0] = 0;\n this.gCmdBuf[1] = 0;\n }\n\n formatHex (value:number): string {\n return `0x${value.toString(16).padStart(2, '0')}`;\n }\n\n // Creates a mock device that is in scope for Jest tests that\n // require this.activeDevice to be valid\n async HidMockDeviceInit (): Promise<PartialHIDDevice>\n {\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\n this.activeDevice = deviceLists[0];\n return this.activeDevice;\n }\n ////\n // Getter and Setter for currentCallState\n get _currentCallState (): string {\n return this.currentCallState;\n }\n\n set _currentCallState (s: string) {\n this.currentCallState = s;\n }\n // Getter and Setter for deviceStatus\n get _deviceStatus (): number {\n return this.deviceStatus;\n }\n\n set _deviceStatus (s: number) {\n this.deviceStatus = s;\n }\n\n // Getter for activeConversationId\n get _activeConversationId (): string {\n return this.activeConversationId;\n }\n\n // Getter for currentCallInfo\n get _currentCallInfo (): CallInfo {\n return this.currentCallInfo;\n }\n\n // Getter for isHolding\n get holdState (): boolean {\n return this.isHolding;\n }\n\n get _headsetInputReportId (): number {\n return this.headsetInputReportId;\n }\n\n get _vendorInputReportId (): number {\n return this.vendorInputReportId;\n }\n\n\n get _headsetOutputReportId (): number {\n return this.headsetOutputReportId;\n }\n\n\n get muteState (): boolean {\n return this.isMuted;\n }\n\n set muteState (s: boolean) {\n this.isMuted = s;\n }\n\n set _JLCommandSet (s: boolean) {\n this.JLCommandSet= s;\n }\n\n set _handeledInputReportIds (id: number) {\n this.handeledInputReportIds[0] = id;\n }\n\n set _flagSupport (val: number) {\n this.flagSupport = val;\n }\n\n set _currentProductID (val: number) {\n this.currentProductID = val;\n }\n\n} // End CA Vendor Implementation class\n","export enum PlantronicsCallEventCodes {\n Unknown = 0,\n AcceptCall = 1,\n TerminateCall = 2,\n HoldCall = 3,\n ResumeCall = 4,\n Flash = 5,\n CallInProgress = 6,\n CallRinging = 7,\n CallEnded = 8,\n TransferToHeadset = 9,\n TransferToSpeaker = 10,\n Mute = 11,\n Unmute = 12,\n MobileCallRinging = 13,\n MobileCallInProgress = 14,\n MobileCallEnded = 15,\n DOn = 16,\n DOff = 17,\n CallIdle = 18,\n Play = 19,\n Pause = 20,\n Stop = 21,\n DTMLKey = 22,\n RejectCall = 23,\n MakeCall = 24,\n Hook = 25,\n HookIdle = 26,\n HookDocked = 27,\n HookUndocked = 28,\n BaseEvent = 29,\n CallAnsweredAndEnded = 30,\n CallUnansweredAndEnded = 31,\n DeviceChange = 32,\n DeviceArrived = 33,\n DeviceRemoved = 34,\n}\n\nexport interface PlantronicsCallEvent {\n Action: PlantronicsCallEventCodes;\n CallId: {\n ConferenceId: number;\n Id: number;\n InConference: boolean;\n };\n CallSource: string;\n DeviceEvent: number;\n}\n\n// Don't need this, because CallEvents[code] will return the name\n// const reverseCallEvents: Dictionary;\n// for (const eventName of Object.keys(CallEvents)) {\n// const code = CallEvents[eventName];\n// reverseCallEvents[code] = eventName;\n// }\n\n// export function getEventName (code) {\n// return reverseCallEvents[code];\n// }\n","import fetchJsonp from 'fetch-jsonp';\nimport { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { PlantronicsCallEvent, PlantronicsCallEventCodes } from './plantronics-call-events';\nimport browserama from 'browserama';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../../types/call-info';\nimport { UpdateReasons } from '../../../types/headset-states';\n\nconst defaultAppName = 'genesys-cloud-headset-library';\n\n/**\n * TODO: This looks like a feasible way to implement the polling we need\n * https://makeitnew.io/polling-using-rxjs-8347d05e9104\n * */\nexport default class PlantronicsService extends VendorImplementation {\n private static instance: PlantronicsService;\n activePollingInterval = 2000;\n connectedDeviceInterval = 6000;\n disconnectedDeviceInterval = 2000;\n deviceIdRetryInterval = 2000;\n vendorName = 'Plantronics';\n pluginName: string;\n apiHost = 'https://127.0.0.1:32018/Spokes';\n isActive = false;\n disableEventPolling = false;\n config: ImplementationConfig;\n deviceStatusTimer = null;\n isRetry = false;\n _deviceInfo: DeviceInfo;\n callEventsTimerId: any;\n deviceStatusTimerId: any;\n incomingConversationId: string;\n callMappings: {[callIdOrConversationId in string|number]: string|number} = {};\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.config = config;\n this.pluginName = config.appName || defaultAppName;\n this._deviceInfo = null;\n this.callEventsTimerId = null;\n this.deviceStatusTimerId = null;\n this.incomingConversationId = null;\n }\n\n private _createCallMapping (conversationId: string): number {\n const ID_LENGTH = 8;\n const callId = Math.round(Math.random() * Math.pow(10, ID_LENGTH)); // Generate random number\n\n this.callMappings[conversationId] = callId;\n this.callMappings[callId] = conversationId;\n\n this.logger.info('Created callId mapping for plantronics headset', {\n conversationId,\n plantronicsCallId: callId,\n });\n\n return callId;\n }\n\n clearTimeouts (): void {\n clearTimeout(this.callEventsTimerId);\n clearTimeout(this.deviceStatusTimerId);\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n // includes vendor name or vendorId (chrome only)\n const lowerLabel = label.toLowerCase();\n return ['plantronics', 'plt', 'poly', '(047f:'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n static getInstance (config: ImplementationConfig): PlantronicsService {\n if (!PlantronicsService.instance || config.createNew) {\n PlantronicsService.instance = new PlantronicsService(config);\n }\n\n return PlantronicsService.instance;\n }\n\n get deviceName (): string | undefined {\n return this._deviceInfo?.ProductName;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n pollForCallEvents (): void {\n if (this.callEventsTimerId) {\n clearTimeout(this.callEventsTimerId);\n this.callEventsTimerId = null;\n }\n\n // if(this.isConnected && this.isActive && !this.disableEventPolling) {\n if(this.isConnected && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR CALL EVENTS ****');\n this.getCallEvents();\n }\n this.callEventsTimerId = setTimeout(() => {\n this.pollForCallEvents();\n }, this.activePollingInterval);\n }\n\n pollForDeviceStatus (): void {\n if (this.deviceStatusTimerId) {\n clearTimeout(this.deviceStatusTimerId);\n this.deviceStatusTimerId = null;\n }\n\n if (this.isConnected && !this.isConnecting && !this.disableEventPolling) {\n this.logger.debug('**** POLLING FOR DEVICE STATUS ****');\n this.getDeviceStatus();\n }\n this.deviceStatusTimerId = setTimeout(() => {\n this.pollForDeviceStatus();\n }, this.isDeviceAttached ? this.connectedDeviceInterval : this.disconnectedDeviceInterval\n );\n }\n\n async _makeRequestTask (endpoint: string, isRetry?: boolean): Promise<any> {\n return await this._makeRequest(endpoint, isRetry);\n }\n\n _fetch (url: string): Promise<fetchJsonp.Response> {\n return fetchJsonp(url);\n }\n\n async _makeRequest (endpoint: string, isRetry: boolean | undefined): Promise<any> {\n const plantronicsInstance = PlantronicsService.instance;\n return this._fetch(`${this.apiHost}${endpoint}`)\n .then(response => {\n return response.json();\n })\n .then(response => {\n // we should just eat the response if we are not connected and not trying to connect\n if (!this.isConnected && !this.isConnecting) {\n return;\n }\n\n if (response.ok === false || response.Type_Name === 'Error') {\n if (response.status === 404) {\n if (isRetry) {\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.disconnect();\n const error = new Error(\n 'Headset: Failed connection to middleware. Headset features unavailable.'\n );\n (error as any).handled = true;\n this.logger.info(error);\n return Promise.reject(error);\n }\n return this._makeRequestTask(endpoint, true);\n }\n\n if (browserama.isFirefox) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n\n return Promise.reject(response);\n } else {\n if (!plantronicsInstance) {\n return Promise.reject(new Error('Application destroyed.'));\n }\n !this.isConnected && this.changeConnectionStatus({ isConnected: true, isConnecting: this.isConnecting });\n return response;\n }\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n async _checkIsActiveTask (): Promise<void> {\n const calls = await this._getActiveCalls();\n this.isActive = !!calls.length;\n }\n\n async _getActiveCalls (): Promise<any[]> {\n let result;\n try {\n const request = await this._makeRequestTask(`/CallServices/CallManagerState?`);\n result = request;\n } catch (e) {\n this.logger.info('Error making request for active calls', e);\n return [];\n }\n\n if (!Array.isArray(result?.Result?.Calls)) {\n return [];\n }\n return result.Result.Calls.filter(call => call.Source === this.pluginName);\n // return result?.Result?.Calls.filter(call => call.Source === this.pluginName);\n }\n\n async getCallEvents (): Promise<any> {\n let response;\n try {\n response = await this._makeRequestTask(`/CallServices/CallEvents?name=${this.pluginName}`);\n } catch (e) {\n this.logger.info('Error making request for call events', e);\n return;\n }\n if (response.Result) {\n response.Result.forEach((event: PlantronicsCallEvent) => {\n const eventType = PlantronicsCallEventCodes[event.Action];\n\n if (!eventType) {\n return this.logger.info('Unknown call event from headset', { event });\n }\n\n const eventInfo = { name: eventType, event };\n this.logger.debug('headset info', eventInfo);\n this.callCorrespondingFunction(eventInfo);\n });\n }\n }\n\n async getDeviceStatus (): Promise<void> {\n await this._makeRequestTask(`/DeviceServices/Info`)\n .then(response => {\n this._deviceInfo = response.Result;\n })\n .catch(err => {\n const noDevicesError = err.Err && err.Err.Description.includes('no supported devices');\n if (!noDevicesError) {\n this.logger.info('Error making request for device status', err);\n }\n });\n }\n\n callCorrespondingFunction (eventInfo: {name: string, event?: PlantronicsCallEvent }): void {\n const callId = eventInfo.event.CallId.Id;\n const conversationId = this.callMappings[callId] as string;\n\n switch (eventInfo.name) {\n case 'AcceptCall':\n this.deviceAnsweredCall({ ...eventInfo, conversationId });\n break;\n case 'RejectCall':\n this.endCall(conversationId);\n this.deviceRejectedCall({ name: eventInfo.name, conversationId: this.incomingConversationId });\n break;\n case 'TerminateCall':\n this.setMute(false);\n this.setHold(conversationId, false);\n this.deviceEndedCall({ ...eventInfo, conversationId });\n break;\n case 'CallEnded':\n delete this.callMappings[callId];\n delete this.callMappings[conversationId];\n this._checkIsActiveTask();\n break;\n case 'Mute':\n this.deviceMuteChanged({ isMuted: true, ...eventInfo, conversationId });\n break;\n case 'Unmute':\n this.deviceMuteChanged({ isMuted: false, ...eventInfo, conversationId });\n break;\n case 'HoldCall':\n this.deviceHoldStatusChanged({ holdRequested: true, ...eventInfo, conversationId });\n break;\n case 'ResumeCall':\n this.deviceHoldStatusChanged({ holdRequested: false, ...eventInfo, conversationId });\n break;\n default:\n this.logger.info('A headset event has occurred', { ...eventInfo, conversationId });\n this.deviceEventLogs({ ...eventInfo, conversationId });\n }\n }\n\n async unregisterPlugin (): Promise<any> {\n try {\n return await this._makeRequestTask(`/SessionManager/UnRegister?name=${this.pluginName}`);\n } catch (response: any) {\n if (response?.Err?.Description === 'Invalid plugin name') {\n return;\n }\n\n this.logger.error(response);\n }\n }\n\n async connect (): Promise<any> {\n !this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n this.pollForDeviceStatus();\n this.pollForCallEvents();\n await this.unregisterPlugin();\n return this._makeRequestTask(`/SessionManager/Register?name=${this.pluginName}`)\n .catch(response => {\n if (response.Err && response.Err.Description === 'Plugin exists') {\n return this.logger.debug('Plugin already exists', response);\n }\n\n return Promise.reject(response);\n })\n .then(() =>\n this._makeRequestTask(`/SessionManager/IsActive?name=${this.pluginName}&active=true`)\n )\n .catch(response => {\n if (response.Err && !response.isError) {\n return this.logger.debug('Is Active', response);\n }\n\n return Promise.reject(response);\n })\n .then(response => {\n if (response?.Result !== true) {\n return Promise.reject(response);\n }\n\n return this._makeRequestTask(`/UserPreference/SetDefaultSoftPhone?name=${this.pluginName}`);\n })\n .then(() => {\n this.getDeviceStatus();\n })\n .then(() => {\n return this._getActiveCalls();\n })\n .then(calls => {\n if (calls.length) {\n this.isActive = true;\n this.logger.warn('Plantronics headset should be in vanilla state but is reporting active call state.');\n } else {\n return this.getCallEvents();\n }\n })\n .catch(err => {\n if (!err?.handled) {\n return Promise.reject(err);\n }\n return this.logger.error('Unable to properly connect headset');\n })\n .finally(() => {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n });\n }\n\n async disconnect (clearReason?: UpdateReasons): Promise<any> {\n if (!this.isConnected) {\n return;\n }\n if (clearReason !== 'alternativeClient') {\n await this.unregisterPlugin();\n }\n this.clearTimeouts();\n this._deviceInfo = null;\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.isActive = false;\n }\n\n incomingCall (callInfo: CallInfo): Promise<any> {\n this.logger.info('Inside incomingCall of selected implementation (Plantronics/Poly)');\n const { conversationId, contactName } = callInfo;\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n this.incomingConversationId = conversationId;\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.logger.info('params of endpoint', params);\n\n this.isActive = true;\n return this._makeRequestTask(`/CallServices/IncomingCall${params}`);\n }\n\n async outgoingCall ({ conversationId, contactName }: CallInfo): Promise<any> {\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n\n // this is because plantronics only accepts numeric callIds, so we have to make one up\n const callId = this._createCallMapping(conversationId);\n\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n if (contactName) {\n const halfEncodedContactString = `\"Name\":\"${contactName}\"`;\n params += `&contact={${encodeURI(halfEncodedContactString)}}`;\n }\n\n this.isActive = true;\n await this._makeRequestTask(`/CallServices/OutgoingCall${params}`);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n if (autoAnswer) {\n await this.incomingCall({ conversationId });\n }\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n this.isActive = true;\n this.incomingConversationId = null;\n return this._makeRequestTask(`/CallServices/AnswerCall${params}`);\n }\n\n rejectCall (conversationId: string): Promise<any> {\n this.incomingConversationId = null;\n return this.endCall(conversationId);\n }\n\n async endCall (conversationId: string): Promise<any> {\n let params = `?name=${this.pluginName}`;\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n const response = await this._makeRequestTask(`/CallServices/TerminateCall${params}`);\n this.setMute(false);\n this.setHold(conversationId, false);\n await this.getCallEvents();\n this._checkIsActiveTask();\n return response;\n }\n\n async endAllCalls (): Promise<void> {\n const calls = await this._getActiveCalls();\n calls.forEach(call => this.endCall(this.callMappings[call.CallId] as string));\n }\n\n async setMute (value: boolean): Promise<any> {\n const response = await this._makeRequestTask(\n `/CallServices/MuteCall?name=${this.pluginName}&muted=${value}`\n );\n return response;\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const callId = this.callMappings[conversationId];\n const halfEncodedCallIdString = `\"Id\":\"${callId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n const response = await this._makeRequestTask(\n `/CallServices/${value ? 'HoldCall' : 'ResumeCall'}${params}`\n );\n\n return response;\n }\n}","export interface SennheiserPayload {\n CallID?: string;\n DNDOption?: 'Yes' | 'No';\n Event?: SennheiserEvents;\n EventType?: SennheiserEventTypes;\n HeadsetName?: string;\n HeadsetType?: string;\n MuteSupport?: 'Yes' | 'No';\n OffHookSupport?: 'Yes' | 'No';\n RedialSupport?: 'Yes' | 'No';\n ReturnCode?: number;\n SPName?: string;\n SPIconImage?: string;\n}\n\nexport enum SennheiserEvents {\n SocketConnected = 'SocketConnected',\n EstablishConnection = 'EstablishConnection',\n SPLogin = 'SPLoggedIn',\n SPLogout = 'SPLoggedOut',\n TerminateConnection = 'TerminateConnection',\n IncomingCall = 'IncomingCall',\n IncomingCallRejected = 'InCallRejected',\n IncomingCallAccepted = 'InCallAccepted',\n OutgoingCall = 'OutgoingCall',\n CallEnded = 'CallEnded',\n SystemInformation = 'SystemInformation',\n HeadsetConnected = 'HeadsetConnected',\n HeadsetDisconnected = 'HeadsetDisconnected',\n Hold = 'CallHold',\n Resume = 'HeldCallResumed',\n MuteFromApp = 'MuteHeadset',\n UnmuteFromApp = 'UnmuteHeadset',\n MuteFromHeadset = 'MuteSoftphone',\n UnmuteFromHeadset = 'UnmuteSoftphone',\n}\n\nexport enum SennheiserEventTypes {\n Request = 'Request', // outgoing actions\n Notification = 'Notification', // typically actions from headset\n Ack = 'Acknowledgement',\n}\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../..';\nimport * as utils from '../../../utils';\nimport { SennheiserPayload, SennheiserEvents, SennheiserEventTypes } from './types';\n\nconst websocketUri = 'wss://127.0.0.1:41088';\n\nexport default class SennheiserService extends VendorImplementation {\n private static instance: SennheiserService;\n\n connectTimeout = 5000;\n\n vendorName = 'Sennheiser';\n isActive = false;\n devices = null;\n activeDeviceId = null;\n websocketConnected = false;\n\n websocket = null;\n deviceInfo: DeviceInfo = null;\n ignoreAcknowledgement = false;\n\n static getInstance (config: ImplementationConfig): SennheiserService {\n if (!SennheiserService.instance || config.createNew) {\n SennheiserService.instance = new SennheiserService(config);\n }\n\n return SennheiserService.instance;\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['senn', 'epos'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n get deviceName (): string {\n return this.deviceInfo && this.deviceInfo.ProductName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n this.ignoreAcknowledgement = true;\n return this.endCall(conversationId);\n }\n\n _handleError (payload: SennheiserPayload): void {\n this.logger.error('Non-zero return code from sennheiser', payload);\n }\n _handleAck (payload: SennheiserPayload): void {\n this.logger.debug(`Received Ack for ${payload.Event}`);\n }\n\n _sendMessage (payload: SennheiserPayload): void {\n this.logger.debug('sending sennheiser message', payload);\n this.websocket.send(JSON.stringify(payload));\n }\n\n _registerSoftphone (): void {\n const payload: SennheiserPayload = {\n Event: SennheiserEvents.EstablishConnection,\n EventType: SennheiserEventTypes.Request,\n SPName: 'Genesys Cloud Softphone',\n SPIconImage: 'SPImage.ico',\n RedialSupport: 'No',\n OffHookSupport: 'No',\n MuteSupport: 'Yes',\n DNDOption: 'No',\n };\n\n this._sendMessage(payload);\n }\n\n connect (): Promise<void> {\n this.ignoreAcknowledgement = false;\n !this.isConnecting && this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n const socket = new WebSocket(websocketUri);\n socket.onopen = this.webSocketOnOpen.bind(this);\n socket.onclose = this.webSocketOnClose.bind(this);\n socket.onmessage = this._handleMessage.bind(this);\n this.websocket = socket;\n\n return Promise.resolve();\n }\n\n webSocketOnOpen = (): void => {\n this.websocketConnected = true;\n this.logger.info('websocket open the sennheiser software');\n };\n\n webSocketOnClose (err: { code: number, reason: string, wasClean: boolean }): void {\n this.websocketConnected = false;\n if (!err.wasClean) {\n this.logger.error(err);\n }\n if (!this.isConnected) {\n this.logger.error(\n new Error('Failed to connect to sennheiser software. Make sure it is installed')\n );\n if (utils.isFirefox()) {\n this.errorCode = 'browser';\n this.disableRetry = true;\n }\n }\n\n if (this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n\n disconnect (): Promise<void> {\n if (!this.isConnected) {\n return Promise.resolve();\n }\n\n this._sendMessage({\n Event: SennheiserEvents.TerminateConnection,\n EventType: SennheiserEventTypes.Request,\n });\n\n return Promise.resolve();\n }\n\n setMute (value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.MuteFromApp : SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n return Promise.resolve();\n }\n\n setHold (conversationId: string, value: boolean): Promise<void> {\n this._sendMessage({\n Event: value ? SennheiserEvents.Hold : SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n incomingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n this._sendMessage({\n Event: SennheiserEvents.IncomingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callInfo.conversationId,\n });\n\n return Promise.resolve();\n }\n\n answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.incomingCall({ conversationId });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallAccepted,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n rejectCall (conversationId: string): Promise<void> {\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallRejected,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n outgoingCall (callInfo: CallInfo): Promise<void> {\n this.ignoreAcknowledgement = false;\n const { conversationId } = callInfo;\n\n this._sendMessage({\n Event: SennheiserEvents.OutgoingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n\n return Promise.resolve();\n }\n\n endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<void> {\n if (!hasOtherActiveCalls) {\n this._sendMessage({\n Event: SennheiserEvents.Resume,\n EventType: SennheiserEventTypes.Request\n });\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n }\n this._sendMessage({\n Event: SennheiserEvents.CallEnded,\n EventType: SennheiserEventTypes.Request,\n CallID: conversationId,\n });\n return Promise.resolve();\n }\n\n endAllCalls (): Promise<void> {\n this.logger.warn('There is no functionality defined for SennheiserService.endAllCalls()');\n return Promise.resolve();\n }\n\n _handleMessage (message: { data: string }): void {\n let payload: SennheiserPayload;\n try {\n payload = JSON.parse(message.data);\n } catch (err) {\n this.logger.error(err);\n this.logger.error('Failed to parse sennheiser payload', { message });\n return;\n }\n this.logger.debug('incoming sennheiser message', payload);\n\n if (payload.ReturnCode) {\n this._handleError(payload);\n return;\n }\n\n const conversationId = payload.CallID;\n\n if (!this.ignoreAcknowledgement) {\n switch (payload.Event) {\n case SennheiserEvents.SocketConnected:\n this._registerSoftphone();\n break;\n case SennheiserEvents.EstablishConnection:\n this._sendMessage({\n Event: SennheiserEvents.SPLogin,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.SPLogin:\n if (!this.isConnected || this.isConnecting) {\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n this._sendMessage({\n Event: SennheiserEvents.SystemInformation,\n EventType: SennheiserEventTypes.Request,\n });\n break;\n case SennheiserEvents.HeadsetConnected:\n if (payload.HeadsetName) {\n this.deviceInfo = {\n deviceName: payload.HeadsetName,\n headsetType: payload.HeadsetType,\n };\n }\n break;\n case SennheiserEvents.HeadsetDisconnected:\n if (payload.HeadsetName === this.deviceName) {\n this.deviceInfo = null;\n }\n\n break;\n case SennheiserEvents.IncomingCallAccepted:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceAnsweredCall({ name: payload.Event, conversationId });\n }\n\n break;\n case SennheiserEvents.Hold:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: true, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.Resume:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged({ holdRequested: false, name: payload.Event, conversationId });\n break;\n case SennheiserEvents.MuteFromHeadset:\n this.deviceMuteChanged({ isMuted: true, name: payload.Event });\n break;\n case SennheiserEvents.UnmuteFromHeadset:\n this.deviceMuteChanged({ isMuted: false, name: payload.Event });\n break;\n case SennheiserEvents.CallEnded:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this._sendMessage({\n Event: SennheiserEvents.UnmuteFromApp,\n EventType: SennheiserEventTypes.Request,\n });\n this.deviceEndedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.IncomingCallRejected:\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceRejectedCall({ name: payload.Event, conversationId });\n }\n break;\n case SennheiserEvents.TerminateConnection:\n if (this.websocket.readyState === 1) {\n this.websocket.close();\n }\n this.websocket = null;\n break;\n default:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n // this is mostly for testing purposes so we can confirm reciept of events we don't normally care about\n this._handleAck(payload);\n }\n break;\n }\n }\n }\n}","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport var TimeoutError = createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nexport function timeout(config, schedulerArg) {\n var _a = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n//# sourceMappingURL=defaultIfEmpty.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () { return (hasValue ? subscriber.complete() : subscriber.error(errorFactory())); }));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); }));\n };\n}\n//# sourceMappingURL=first.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport DeviceInfo from '../../../types/device-info';\nimport {\n IApi,\n CallControlFactory,\n SignalType,\n ICallControl,\n ErrorType,\n init,\n RequestedBrowserTransport,\n webHidPairing,\n IDevice,\n} from '@gnaudio/jabra-js';\nimport { CallInfo } from '../../..';\nimport { Subscription, firstValueFrom, Observable, TimeoutError, EmptyError } from 'rxjs';\nimport { defaultIfEmpty, filter, first, map, timeout } from 'rxjs/operators';\nimport { isCefHosted } from '../../../utils';\n\nexport default class JabraService extends VendorImplementation {\n private static instance: JabraService;\n private headsetEventSubscription: Subscription;\n static connectTimeout = 5000;\n\n isActive = false;\n _deviceInfo: DeviceInfo;\n isMuted = false;\n isHeld = false;\n version: string = null;\n _connectDeferred: any; // { resolve: Function, reject: Function }\n jabraSdk: IApi;\n callControlFactory: CallControlFactory;\n callControl: ICallControl;\n ongoingCalls = 0;\n callLock = false;\n pendingConversationId: string;\n pendingConversationIsOutbound: boolean;\n activeConversationId: string;\n\n private constructor (config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n if (['jabra'].some((searchVal) => lowerLabel.includes(searchVal))) {\n return true;\n }\n return false;\n }\n\n static getInstance (config: ImplementationConfig): JabraService {\n if (!JabraService.instance || config.createNew) {\n JabraService.instance = new JabraService(config);\n }\n\n return JabraService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n get deviceName (): string {\n return this.deviceInfo?.deviceName;\n }\n\n get isDeviceAttached (): boolean {\n return !!this.deviceInfo;\n }\n\n resetState (): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n _processEvents (callControl: ICallControl): void {\n this.headsetEventSubscription = callControl.deviceSignals.subscribe(async (signal) => {\n if (!this.callLock) {\n this.logger.debug(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n return;\n }\n\n switch (signal.type) {\n case SignalType.HOOK_SWITCH:\n // do nothing when the end call button is pressed and we have an incoming call while we have an active call\n if (this.activeConversationId && this.pendingConversationId) {\n this.logger.info('ignoring hookswitch event because there is an active and incoming call');\n break;\n }\n\n if (signal.value) {\n callControl.offHook(true);\n callControl.ring(false);\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({\n name: 'CallOffHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n }\n } else {\n callControl.mute(false);\n callControl.hold(false);\n callControl.offHook(false);\n this.deviceEndedCall({\n name: 'CallOnHook',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n try {\n callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.activeConversationId = null;\n this.callLock = false;\n }\n }\n break;\n case SignalType.FLASH:\n case SignalType.ALT_HOLD:\n this.isHeld = !this.isHeld;\n callControl.hold(this.isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: this.isHeld,\n name: this.isHeld ? 'OnHold' : 'ResumeCall',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.PHONE_MUTE:\n this.isMuted = !this.isMuted;\n callControl.mute(this.isMuted);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n code: signal.type,\n conversationId: this.activeConversationId,\n });\n break;\n case SignalType.REJECT_CALL:\n callControl.ring(false);\n this.deviceRejectedCall({\n name: SignalType[signal.type],\n conversationId: this.pendingConversationId,\n });\n this.pendingConversationId = null;\n try {\n // we only want to release call controls if there isn't another call active\n if (!this.activeConversationId) {\n callControl.releaseCallLock();\n this.callLock = false;\n }\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n });\n }\n\n async setMute (value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isMuted = value;\n this.callControl.mute(value);\n }\n\n async setHold (conversationId: string, value: boolean): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.isHeld = value;\n this.callControl.hold(value);\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.callControl.ring(true);\n }\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n }\n\n if (!this.callLock) {\n return;\n }\n\n this.callControl.ring(false);\n this.callControl.offHook(true);\n }\n\n async rejectCall (): Promise<void> {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.ring(false);\n this.pendingConversationId = null;\n if (!this.activeConversationId) {\n try {\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.pendingConversationId = null;\n this.callLock = false;\n }\n }\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n try {\n this.callLock = await this.callControl.takeCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callLock = true;\n } else {\n this.logger.error(type, message);\n }\n }\n\n if (this.callLock) {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this.callControl.offHook(true);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n if (hasOtherActiveCalls) {\n return;\n }\n\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = null;\n }\n\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n async endAllCalls (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.activeConversationId = null;\n this.callControl.offHook(false);\n this.resetState();\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.callLock = false;\n }\n }\n\n isDeviceInList (device: IDevice, deviceLabel: string): boolean {\n return deviceLabel.toLowerCase().includes(device?.name?.toLowerCase());\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (this.isConnecting) {\n return;\n }\n\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n if (!this.jabraSdk) {\n this.jabraSdk = await this.initializeJabraSdk();\n this.callControlFactory = this.createCallControlFactory(this.jabraSdk);\n }\n\n const deviceLabel = originalDeviceLabel.toLocaleLowerCase();\n\n this._deviceInfo = null;\n\n let selectedDevice;\n if (await this.deviceHasPermissions(deviceLabel)) {\n selectedDevice = await this.getPreviouslyConnectedDevice(deviceLabel);\n\n if (!selectedDevice) {\n console.warn('Unable to find appropriate device. Setting state to \"Not Running\" to allow a retry\"', deviceLabel);\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n return;\n }\n } else {\n try {\n selectedDevice = await this.getDeviceFromWebhid(deviceLabel);\n } catch (e) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n return;\n }\n }\n\n this.callControl = await this.callControlFactory.createCallControl(selectedDevice);\n await this.resetHeadsetState();\n this._processEvents(this.callControl);\n this._deviceInfo = {\n ProductName: selectedDevice.name,\n deviceName: selectedDevice.name,\n attached: true,\n deviceId: selectedDevice.id.toString(),\n };\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n async deviceHasPermissions (deviceLabel: string): Promise<boolean> {\n const allowedHIDDevices = await (window.navigator as any).hid.getDevices();\n let deviceFound = false;\n allowedHIDDevices.forEach(device => {\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\n deviceFound = true;\n }\n });\n return deviceFound;\n }\n\n async getPreviouslyConnectedDevice (deviceLabel: string): Promise<IDevice> {\n const waitForDevice: Observable<IDevice> = this.jabraSdk.deviceList.pipe(\n defaultIfEmpty(null),\n first((devices: IDevice[]) => !!devices.length),\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n timeout(15000)\n );\n\n return firstValueFrom(waitForDevice).catch((err) => {\n if (err instanceof TimeoutError || err instanceof EmptyError) {\n return null;\n }\n\n return Promise.reject(err);\n });\n }\n\n async getDeviceFromWebhid (deviceLabel: string): Promise<IDevice> {\n this.requestWebHidPermissions(webHidPairing);\n\n return firstValueFrom(\n this.jabraSdk.deviceList.pipe(\n map((devices: IDevice[]) =>\n devices.find((device) => this.isDeviceInList(device, deviceLabel))\n ),\n filter((device) => !!device),\n first(),\n timeout(30000)\n )\n ).catch((err) => {\n if (err instanceof TimeoutError) {\n err = new Error('The selected device was not granted WebHID permissions');\n }\n this.logger.error(err);\n return Promise.reject(err);\n });\n }\n\n /* istanbul ignore next */\n async initializeJabraSdk (): Promise<IApi> {\n return init({\n appId: 'softphone-vendor-headsets',\n appName: 'Softphone Headset Library',\n transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK,\n });\n }\n\n /* istanbul ignore next */\n createCallControlFactory (sdk: IApi): CallControlFactory {\n return new CallControlFactory(sdk);\n }\n\n checkForCallLockError (message: unknown, type: unknown): boolean {\n return (\n (type as ErrorType) === ErrorType.SDK_USAGE_ERROR && (message as string).includes('call lock')\n );\n }\n\n async resetHeadsetState (): Promise<void> {\n if (!this.callControl) {\n return;\n }\n\n try {\n await this.callControl.takeCallLock();\n this.callControl.hold(false);\n this.callControl.mute(false);\n this.callControl.offHook(false);\n this.callControl.releaseCallLock();\n } catch (e) {\n this.logger.warn('Failed to takeCallLock in order to resetHeadsetState. Ignoring reset.');\n }\n }\n\n async disconnect (): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info(\n 'Currently not in possession of the Call Lock; Cannot react to Device Actions'\n );\n }\n this.callControl.releaseCallLock();\n } catch ({ message, type }) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n } else {\n this.logger.error(type, message);\n }\n } finally {\n this.resetHeadsetState();\n this.callLock = false;\n if (this.activeConversationId) {\n this.activeConversationId = null;\n }\n this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();\n (this.isConnected || this.isConnecting) &&\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n }\n }\n}","export enum JabraNativeCommands {\n Ring = 'ringer',\n Offhook = 'offhook',\n Mute = 'mute',\n Hold = 'hold',\n}\n\nexport interface JabraNativeHeadsetState {\n ringing: boolean;\n offHook: boolean;\n}\n\nexport const HeadsetEvent = 'JabraEvent';\nexport const DeviceEvent = 'JabraDeviceAttached';\n\ntype HeadsetEvent = typeof HeadsetEvent;\ntype DeviceEvent = typeof DeviceEvent;\n\nexport interface JabraHeadsetEvent {\n msg: HeadsetEvent;\n eventName: JabraNativeEventNames;\n value?: any;\n hidInput: string;\n}\n\nexport interface JabraDeviceEvent {\n msg: DeviceEvent;\n attached: boolean;\n deviceId: number;\n deviceName: string;\n}\n\nexport enum JabraNativeEventNames {\n OffHook = 'OffHook',\n Mute = 'Mute',\n Hold = 'Flash',\n RejectCall = 'RejectCall',\n}\n","import { debounce, isCefHosted, requestCefPromise, timedPromise } from '../../../../utils';\nimport { VendorImplementation, ImplementationConfig } from '../../vendor-implementation';\nimport DeviceInfo from '../../../../types/device-info';\nimport { CallInfo } from '../../../../types/call-info';\nimport { JabraNativeHeadsetState, JabraHeadsetEvent, HeadsetEvent, JabraDeviceEvent, DeviceEvent, JabraNativeCommands, JabraNativeEventNames } from './types';\n\nconst connectTimeout = 5000;\nconst offHookThrottleTime = 500;\n\nexport default class JabraNativeService extends VendorImplementation {\n private static instance: JabraNativeService;\n\n isActive = false;\n devices: Map<string, DeviceInfo> = null;\n activeDeviceId: string = null;\n headsetState: JabraNativeHeadsetState = null;\n ignoreNextOffhookEvent = false;\n cefSupportsJabra = true;\n pendingConversationId: string;\n activeConversationId: string;\n pendingConversationIsOutbound: boolean;\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n this.headsetState = { ringing: false, offHook: false };\n this.devices = new Map<string, DeviceInfo>();\n\n if (isCefHosted()) {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers();\n } else {\n this.waitForHostedContext();\n }\n }\n }\n\n private isHostedContextInitialized (): boolean {\n return (window as any).Orgspan?.serviceFor('application').get('hostedContext').isHosted();\n }\n\n private waitForHostedContext () {\n setTimeout(() => {\n if (this.isHostedContextInitialized()) {\n this.setupNativeHandlers()\n } else {\n this.waitForHostedContext();\n }\n }, 500);\n }\n\n private setupNativeHandlers () {\n const hostedContext = (window as any).Orgspan?.serviceFor('application').get('hostedContext');\n this.cefSupportsJabra = hostedContext.supportsJabra();\n hostedContext.on('JabraEvent', this.handleJabraEvent.bind(this));\n hostedContext.on('JabraDeviceAttached', this.handleJabraDeviceAttached.bind(this));\n }\n\n static getInstance(config: ImplementationConfig): JabraNativeService {\n if (!JabraNativeService.instance || config.createNew) {\n JabraNativeService.instance = new JabraNativeService(config);\n }\n\n return JabraNativeService.instance;\n }\n\n get deviceInfo(): DeviceInfo {\n if (\n this.activeDeviceId === null ||\n this.devices === null ||\n (this.devices && !this.devices.size)\n ) {\n return null;\n }\n\n return this.devices.get(this.activeDeviceId);\n }\n\n get deviceName(): string {\n return this.deviceInfo && this.deviceInfo.deviceName;\n }\n\n get isDeviceAttached(): boolean {\n return !!this.deviceInfo;\n }\n\n private isHeadsetEvent (event: any): event is JabraHeadsetEvent {\n return event.msg === HeadsetEvent;\n }\n\n private isDeviceEvent (event: any): event is JabraDeviceEvent {\n return event.msg === DeviceEvent;\n }\n\n private handleCefEvent(event: any): void {\n if (!this.isConnected) {\n return;\n }\n\n if (this.isDeviceEvent(event)) {\n this.handleJabraDeviceAttached(event)\n } else if (this.isHeadsetEvent(event)) {\n this.handleJabraEvent(event);\n }\n }\n\n private handleJabraDeviceAttached(event: JabraDeviceEvent): void {\n this.logger.debug('handling jabra attach/detach event', event);\n this.updateDevices();\n }\n\n private handleJabraEvent(event: JabraHeadsetEvent): void {\n this.logger.debug(`Jabra event received`, event);\n this._processEvent(event.eventName, event.value);\n }\n\n private _handleOffhookEvent(isOffhook: boolean): void {\n // if is incoming\n if (isOffhook) {\n this.activeConversationId = this.pendingConversationId;\n this.pendingConversationId = null;\n if (this.headsetState.ringing) {\n\n if (!this.pendingConversationIsOutbound) {\n this.deviceAnsweredCall({name: 'CallOffHook', conversationId: this.activeConversationId});\n }\n\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this._setRinging(false);\n }\n\n return;\n }\n\n if (this.activeConversationId) {\n this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this.deviceEndedCall({name: 'CallOnHook', conversationId: this.activeConversationId});\n }\n this._getHeadsetIntoVanillaState();\n this.activeConversationId = null;\n }\n\n private _handleMuteEvent(isMuted: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Mute, isMuted);\n this.isMuted = isMuted;\n this.deviceMuteChanged({\n isMuted: isMuted,\n name: isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId\n });\n }\n\n private _handleHoldEvent(isHeld: boolean): void {\n // jabra requires you to echo the event back in acknowledgement\n this._sendCmd(JabraNativeCommands.Hold, !!isHeld);\n this.deviceHoldStatusChanged({\n holdRequested: !!isHeld,\n name: !!isHeld ? 'OnHold' : 'ResumeCall',\n conversationId: this.activeConversationId\n });\n }\n\n private _getHeadsetIntoVanillaState(): void {\n this.setHold(null, false);\n this.setMute(false);\n }\n\n private _sendCmd(cmd: JabraNativeCommands, value: boolean): void {\n const deviceId = this.activeDeviceId;\n this.logger.debug('Sending command to headset', { deviceId, cmd, value });\n\n (window as any)._HostedContextFunctions.sendEventToDesktop(\n 'jabraEvent',\n {\n deviceID: deviceId,\n event: cmd,\n value\n }\n );\n }\n\n private _setRinging(value: boolean): void {\n this._sendCmd(JabraNativeCommands.Ring, value);\n this.headsetState.ringing = value;\n }\n\n isSupported (): boolean {\n return isCefHosted() && this.cefSupportsJabra;\n }\n\n deviceLabelMatchesVendor(label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['jabra'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n async setMute(value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Mute, value);\n }\n\n async setHold(conversationId: string, value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Hold, value);\n }\n\n async incomingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = false;\n this._setRinging(true);\n }\n\n async answerCall(conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (autoAnswer) {\n this.pendingConversationId = conversationId;\n }\n // HACK: for some reason the headset echos an offhook event even though it was the app that answered the call rather than the headset\n this.ignoreNextOffhookEvent = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async rejectCall(): Promise<void> {\n this._setRinging(false);\n this.pendingConversationId = null;\n }\n\n async outgoingCall(callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.pendingConversationIsOutbound = true;\n this._sendCmd(JabraNativeCommands.Offhook, true);\n }\n\n async endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this._setRinging(false);\n\n if (!hasOtherActiveCalls) {\n this._sendCmd(JabraNativeCommands.Offhook, false);\n }\n this.activeConversationId = null;\n }\n\n async endAllCalls(): Promise<void> {\n this._setRinging(false);\n this._sendCmd(JabraNativeCommands.Offhook, false);\n this.activeConversationId = null;\n }\n\n async updateDevices(): Promise<void> {\n try {\n const data = (await requestCefPromise({ cmd: 'requestJabraDevices' })) as DeviceInfo[];\n\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n\n if (!data || !data.length) {\n this.devices.clear();\n this.activeDeviceId = null;\n\n this.logger.error(new Error('No attached jabra devices'));\n return;\n }\n\n this.logger.info('connected jabra devices', data);\n this.devices.clear();\n data.forEach(device => this.devices.set(device.deviceID, device));\n this.activeDeviceId = data[0].deviceID;\n\n // reset headset state\n this._setRinging(false);\n this.setMute(false);\n } catch (err) {\n this.logger.error('Failed to connect to jabra', err);\n this.disconnect();\n }\n }\n\n private _processEvent(eventName: any, value: any): void {\n switch (eventName) {\n case JabraNativeEventNames.OffHook:\n debounce(() => this._handleOffhookEvent(value), offHookThrottleTime)();\n break;\n\n case JabraNativeEventNames.RejectCall:\n this.deviceRejectedCall({name: JabraNativeEventNames.RejectCall, conversationId: this.pendingConversationId});\n break;\n\n case JabraNativeEventNames.Mute:\n this._handleMuteEvent(value);\n break;\n\n case JabraNativeEventNames.Hold:\n this._handleHoldEvent(value);\n break;\n }\n }\n\n connect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: true });\n\n return timedPromise(this.updateDevices(), connectTimeout).catch(err => {\n this.logger.error('Failed to connect to Jabra', err);\n });\n }\n\n disconnect(): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n\n return Promise.resolve();\n }\n}","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\r\nimport { CallInfo } from '../../..';\r\nimport DeviceInfo, { PartialHIDDevice } from \"../../../types/device-info\";\r\nimport { PartialInputReportEvent } from '../../../types/consumed-headset-events';\r\nimport { isCefHosted } from \"../../../utils\";\r\n\r\nconst offhookFlag = 0b1;\r\nconst muteFlag = 0b10;\r\nconst ringFlag = 0b100;\r\nconst holdFlag = 0b1000;\r\nconst recMuteFlag = 0b100;\r\nconst recReject = 0x40;\r\nconst HEADSET_USAGE = 0x0005;\r\nconst HEADSET_USAGE_PAGE = 0x000B;\r\nconst VENDOR_ID = 0x6993;\r\nconst HEADSET_REPORT_ID = 0x04;\r\n\r\nexport default class YealinkService extends VendorImplementation {\r\n private static instance: YealinkService;\r\n\r\n private pendingConversationId: string;\r\n private activeConversationId: string;\r\n\r\n private _deviceInfo: DeviceInfo = null;\r\n private activeDevice: any;\r\n\r\n private callState = 0;\r\n private recCallState = 0;\r\n\r\n private isHold = false;\r\n\r\n private inputReportReportId: null|number = null;\r\n vendorName = 'Yealink';\r\n\r\n static getInstance (config: ImplementationConfig): YealinkService {\r\n if (!YealinkService.instance) {\r\n YealinkService.instance = new YealinkService(config);\r\n }\r\n\r\n return YealinkService.instance;\r\n }\r\n\r\n get deviceInfo (): DeviceInfo {\r\n return this._deviceInfo;\r\n }\r\n\r\n isSupported (): boolean {\r\n return (window.navigator as any).hid && !isCefHosted();\r\n }\r\n\r\n deviceLabelMatchesVendor (label: string): boolean {\r\n const lowerLabel = label.toLowerCase();\r\n return ['yealink', '(6993:'].some(searchVal => lowerLabel.includes(searchVal));\r\n }\r\n\r\n async connect (originalDeviceLabel: string): Promise<void> {\r\n if (!this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\r\n }\r\n const deviceLabel = originalDeviceLabel.toLowerCase();\r\n\r\n const deviceList: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n deviceList.forEach(device => {\r\n if (!this.activeDevice) {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE &&\r\n collection.usagePage === HEADSET_USAGE_PAGE) {\r\n this.activeDevice = device;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = HEADSET_REPORT_ID;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (!this.activeDevice) {\r\n try {\r\n this.activeDevice = await new Promise((resolve, reject) => {\r\n const waiter = setTimeout(reject, 30000);\r\n this.requestWebHidPermissions(async () => {\r\n const productId = this.deductProductId(originalDeviceLabel);\r\n const filters = [{ usage: HEADSET_USAGE, usagePage: HEADSET_USAGE_PAGE, vendorId: VENDOR_ID, productId: productId || undefined }];\r\n await (window.navigator as any).hid.requestDevice({ filters });\r\n clearTimeout(waiter);\r\n const deviceLists: PartialHIDDevice[] = await (window.navigator as any).hid.getDevices();\r\n let bFind = false;\r\n deviceLists.forEach(device => {\r\n if (deviceLabel.includes(device?.productName?.toLowerCase())) {\r\n for (const collection of device.collections) {\r\n if (collection.usage === HEADSET_USAGE\r\n && collection.usagePage === HEADSET_USAGE_PAGE) {\r\n bFind = true;\r\n if (collection.inputReports.length !== 0) {\r\n this.inputReportReportId = HEADSET_REPORT_ID;\r\n }\r\n resolve(device);\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n if (!bFind) {\r\n reject();\r\n }\r\n });\r\n });\r\n } catch (error) {\r\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\r\n this.logger.error('The selected device was not granted WebHID permissions');\r\n return;\r\n }\r\n }\r\n\r\n if (!this.activeDevice.opened) {\r\n await this.activeDevice.open();\r\n }\r\n\r\n this.logger.debug(`get device reportId ${this.inputReportReportId}`);\r\n this.activeDevice.addEventListener('inputreport', (event: PartialInputReportEvent) => {\r\n if (event.reportId !== this.inputReportReportId) {\r\n return;\r\n }\r\n const value = event.data.getUint8(0);\r\n\r\n this.processBtnPress(value);\r\n });\r\n this._deviceInfo = {\r\n ProductName: this.activeDevice.productName,\r\n };\r\n\r\n if (this.isConnecting && !this.isConnected) {\r\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\r\n }\r\n }\r\n\r\n async disconnect (): Promise<void> {\r\n if (this.isConnected || this.isConnecting) {\r\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\r\n }\r\n if (this.activeDevice) {\r\n this.activeDevice.close();\r\n this.activeDevice = null;\r\n this._deviceInfo = null;\r\n this.inputReportReportId = 0;\r\n }\r\n }\r\n\r\n processBtnPress (value: number): void {\r\n if (!this.activeDevice) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n this.logger.debug(`User pressed button ${value}. local ${this.recCallState}`);\r\n const changeFlag = value ^ this.recCallState;\r\n if (changeFlag === 0) {\r\n return;\r\n }\r\n if (value !== 0\r\n && (this.callState & (~muteFlag)) === 0) {\r\n this.logger.debug(`Not talking, ignore key`);\r\n return;\r\n }\r\n this.recCallState = value;\r\n if (changeFlag & offhookFlag) {\r\n if (value & offhookFlag) {\r\n this.answerCall();\r\n if (this.activeConversationId) {\r\n this.deviceAnsweredCall({\r\n name: 'OffHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n } else if (!this.isHold) {\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n if (this.activeConversationId) {\r\n this.deviceEndedCall({\r\n name: 'OnHook',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n else {\r\n this.logger.debug(`activeConversationId is empty`);\r\n }\r\n this.activeConversationId = null;\r\n }\r\n } else if (changeFlag & recMuteFlag) {\r\n if (value & recMuteFlag) {\r\n this.setMute(!this.isMuted);\r\n this.deviceMuteChanged({\r\n isMuted: this.isMuted,\r\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & holdFlag) {\r\n if (value & holdFlag) {\r\n this.setHold(null, !this.isHold);\r\n this.deviceHoldStatusChanged({\r\n holdRequested: this.isHold,\r\n name: this.isHold ? 'OnHold' : 'ResumeCall',\r\n conversationId: this.activeConversationId,\r\n });\r\n }\r\n } else if (changeFlag & recReject) {\r\n if (value & recReject) {\r\n this.deviceRejectedCall({\r\n name: 'Reject',\r\n conversationId: this.pendingConversationId,\r\n });\r\n this.rejectCall();\r\n }\r\n }\r\n }\r\n\r\n async incomingCall (callInfo: CallInfo): Promise<void> {\r\n if (callInfo) {\r\n this.pendingConversationId = callInfo.conversationId;\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | ringFlag);\r\n }\r\n }\r\n\r\n async outgoingCall (callInfo: CallInfo): Promise<void> {\r\n this.pendingConversationId = callInfo.conversationId;\r\n this.sendOpToDevice(offhookFlag);\r\n }\r\n\r\n async answerCall (): Promise<void> {\r\n if (this.pendingConversationId) {\r\n this.activeConversationId = this.pendingConversationId;\r\n this.pendingConversationId = null;\r\n }\r\n const val = this.isMuted ? muteFlag : 0;\r\n this.sendOpToDevice(val | offhookFlag);\r\n }\r\n\r\n async rejectCall (): Promise<void> {\r\n this.pendingConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endCall (conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\r\n if (hasOtherActiveCalls) {\r\n return;\r\n }\r\n\r\n if (conversationId === this.activeConversationId) {\r\n this.activeConversationId = null;\r\n }\r\n // keep mute state\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async endAllCalls (): Promise<void> {\r\n this.activeConversationId = null;\r\n this.sendOpToDevice(this.isMuted ? muteFlag : 0);\r\n }\r\n\r\n async setMute (value: boolean): Promise<void> {\r\n if (value) {\r\n this.sendOpToDevice(this.callState | muteFlag);\r\n } else {\r\n this.sendOpToDevice(this.callState & (~muteFlag));\r\n }\r\n }\r\n\r\n async setHold (conversationId: string, value: boolean): Promise<void> {\r\n if (value) {\r\n const setValue = this.callState & (~offhookFlag);\r\n this.sendOpToDevice(setValue | holdFlag);\r\n } else {\r\n const setValue = this.callState & (~holdFlag);\r\n this.sendOpToDevice(setValue | offhookFlag);\r\n }\r\n }\r\n\r\n async sendOpToDevice (value: number): Promise<void> {\r\n if (!this.activeDevice || this.inputReportReportId === 0) {\r\n this.logger.error('do not have active device');\r\n return;\r\n }\r\n\r\n if (value & holdFlag) {\r\n this.isHold = true;\r\n } else {\r\n this.isHold = false;\r\n }\r\n\r\n if (value & muteFlag) {\r\n this.isMuted = true;\r\n } else {\r\n this.isMuted = false;\r\n }\r\n\r\n this.logger.debug(`send to dev ${value}`);\r\n this.callState = value;\r\n await this.activeDevice.sendReport(this.inputReportReportId, new Uint8Array([value]));\r\n }\r\n}","var O=Object.defineProperty,C=(e,t,r)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,d=(e,t,r)=>C(e,typeof t!=\"symbol\"?t+\"\":t,r),L=(e=>(e[e.LED=8]=\"LED\",e[e.TELEPHONY=11]=\"TELEPHONY\",e))(L||{}),T=(e=>(e[e.PROGRAMMABLE_BUTTON=7]=\"PROGRAMMABLE_BUTTON\",e[e.HOOK_SWITCH=32]=\"HOOK_SWITCH\",e[e.FLASH=33]=\"FLASH\",e[e.PHONE_MUTE=47]=\"PHONE_MUTE\",e))(T||{}),S=(e=>(e[e.MUTE=9]=\"MUTE\",e[e.OFF_HOOK=23]=\"OFF_HOOK\",e[e.RING=24]=\"RING\",e[e.HOLD=32]=\"HOLD\",e))(S||{}),A=(e=>(e[e.ToggleButton=0]=\"ToggleButton\",e[e.ToggleSwitch=1]=\"ToggleSwitch\",e))(A||{});function l(e){return e&65535}function E(e){return e>>>16}function R(e){return e.isAbsolute?1:0}const f={usage:5,usagePage:11},c=[32,47,7],k=e=>c.includes(e),v=[23,24,9],U=e=>v.includes(e);class h{constructor(t){this.device=t,d(this,\"inputEventInfos\"),d(this,\"inputEventObserverCallbacks\"),d(this,\"outputEventInfos\"),this.inputEventInfos=c.reduce((r,i)=>({...r,[i]:void 0}),{}),this.inputEventObserverCallbacks=c.reduce((r,i)=>({...r,[i]:[]}),{}),this.outputEventInfos=v.reduce((r,i)=>({...r,[i]:void 0}),{}),this.parseDeviceDescriptors(),this.device.addEventListener(\"inputreport\",r=>this.onInputReport(r))}static async create(t){return t.opened||await t.open(),new h(t)}onInputReport(t){const r=this.device.productId;if(r>=64&&r<=130&&t.reportId===5)switch(t.data.getUint8(0)){case 32:this.inputEventObserverCallbacks[32][0]?.(!0,1);break;case 8:this.inputEventObserverCallbacks[7][0](!0,1);break;case 0:this.inputEventObserverCallbacks[32][0]?.(!1,1);break;case 1:this.inputEventObserverCallbacks[47][0]?.(!1,1);break;case 5:this.inputEventObserverCallbacks[47][0]?.(!0,1);break}else for(const i of c){const s=this.inputEventInfos[i];if(s===void 0||t.reportId!==s.reportId)continue;const u=Math.trunc(s.offset/8),o=s.offset%8,n=(t.data.getUint8(u)&1<<o)!==0;for(const a of this.inputEventObserverCallbacks[i])a(n,s.controlType)}}async close(){this.device.opened&&await this.device.close()}parseDeviceDescriptors(){if(this.device.collections===void 0)throw new Error(\"Undefined device collection\");const t=this.device.collections.find(r=>r.usagePage===11);if(t===void 0)throw new Error(\"No telephony collection\");t.inputReports&&this.parseInputReport(t.inputReports),t.outputReports&&this.parseOutputReport(t.outputReports)}parseInputReport(t){for(const r of t){let i=0;if(!(r.items===void 0||r.reportId===void 0)){for(const s of r.items)if(!(s.usages===void 0||s.reportSize===void 0||s.reportCount===void 0||s.isAbsolute===void 0)){for(const[u,o]of s.usages.entries())if(E(o)===11||o===589831){const n=l(o);k(n)&&(this.inputEventInfos[n]={reportId:r.reportId,offset:i+u*s.reportSize,controlType:R(s)})}i+=s.reportCount*s.reportSize}}}}parseOutputReport(t){for(const r of t){if(r.items===void 0||r.reportId===void 0)continue;let i=0,s=[];for(const o of r.items){if(o.usages===void 0||o.reportSize===void 0||o.reportCount===void 0){s=[];break}for(const[n,a]of o.usages.entries())if(E(a)===8){const p=l(a);U(p)&&s.push([p,i+n*o.reportSize])}i+=o.reportCount*o.reportSize}const u=i;for(const[o,n]of s)this.outputEventInfos[o]={reportId:r.reportId,state:!1,offset:n,generator:()=>{const a=new Uint8Array(u/8);return{reportId:r.reportId,data:a}},setter:(a,p)=>{if(n>=0){const w=Math.trunc(n/8),I=n%8;p[w]|=(a?1:0)<<I}return p}}}}getControlType(t){if(this.supportInput(t))return this.inputEventInfos[t]?.controlType}supportInput(t){return this.inputEventInfos[t]!==void 0}supportOutput(t){return this.outputEventInfos[t]!==void 0}subscribe(t,r){this.inputEventObserverCallbacks[t].push(r)}unsubscribe(t){this.inputEventObserverCallbacks[t]=[]}setState(t,r){if(!this.device.opened)return;const i=this.outputEventInfos[t];i!==void 0&&(i.state=r)}getState(t){if(this.device.opened)return this.outputEventInfos[t]?.state}async send(t){if(!this.device.opened)return;const r=this.device.productId;if(r>=64&&r<=130){const i=t.get(24),s=t.get(23),u=t.get(9);i!==void 0&&(this.setState(24,i),await this.device.sendReport(6,new Uint8Array([i?1:0,0]))),s!==void 0&&(this.setState(23,s),await this.device.sendReport(6,new Uint8Array([s?2:0,0]))),u!==void 0&&(this.setState(9,u),await this.device.sendReport(6,new Uint8Array([u?4:5,0])))}else{const i=[];for(const[s,u]of t){const o=this.outputEventInfos[s];o!==void 0&&(i.find(n=>n.reportId===o?.reportId)===void 0&&i.push(o?.generator()),o.state=u)}for(const s of i){for(const u of v){const o=this.outputEventInfos[u];o===void 0||o.reportId!==s.reportId||!o.state||(s.data=o.setter(o.state,s.data))}await this.device.sendReport(s.reportId,s.data)}}}}const m=e=>{if(!e.supportInput(32))throw new Error(\"Device is missing hook switch support\");if(!e.supportInput(47))throw new Error(\"Device is missing mute switch support\")},y=e=>{if(!e.supportOutput(24))throw new Error(\"Device is missing ring support\");if(!e.supportOutput(23))throw new Error(\"Device is missing off/on hook support\");if(!e.supportOutput(9))throw new Error(\"Device is missing mute support\")};var b=(e=>(e[e.ACCEPT_CALL=0]=\"ACCEPT_CALL\",e[e.END_CALL=1]=\"END_CALL\",e[e.REJECT_CALL=2]=\"REJECT_CALL\",e[e.MUTE_CALL=3]=\"MUTE_CALL\",e[e.UNMUTE_CALL=4]=\"UNMUTE_CALL\",e))(b||{});async function g(e){const t=await h.create(e);return y(t),m(t),{productName:t.device.productName,ring(){return t.send(new Map([[24,!0]]))},onHook(){return t.send(new Map([[23,!1],[24,!1],[9,!1]]))},offHook(){return t.send(new Map([[23,!0],[24,!1],[9,!1]]))},muteOn(){return t.send(new Map([[23,!0],[24,!1],[9,!0]]))},muteOff(){return t.send(new Map([[23,!0],[24,!1],[9,!1]]))},subscribe(r){const i=(o,n)=>{if(n===0&&o){if(t.getState(24)){r(0);return}if(t.getState(23)){r(1);return}}if(n===1){if(o&&t.getState(24)){r(0);return}if(!o&&t.getState(23)){r(1);return}}},s=(o,n)=>{if(n===0&&o){r(t.getState(9)?4:3);return}if(n===1){if(o&&!t.getState(9)){r(3);return}if(!o&&t.getState(9)){r(4);return}}},u=(o,n)=>{o&&r(2)};t.subscribe(32,i),t.subscribe(47,s),t.subscribe(7,u)},unsubscribe(){t.unsubscribe(32),t.unsubscribe(47),t.unsubscribe(7)}}}async function D(e){const t=await window.navigator.hid.getDevices();for(const r of t)if(e.toLowerCase().includes(r.productName.toLowerCase()))return await g(r)}async function M(e){const t=(await window.navigator.hid.requestDevice({filters:[{vendorId:13323,productId:e.productId,...f}]})).find(r=>r.collections.find(i=>i.usage===f.usage&&i.usagePage===f.usagePage));if(!t)throw new Error(\"No requested device found\");return await g(t)}export{b as DeviceSignalType,D as findDevice,M as webhidConsent};\n","import { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { CallInfo } from '../../..';\nimport DeviceInfo from '../../../types/device-info';\nimport { isCefHosted } from '../../../utils';\nimport { webhidConsent, IDevice, DeviceSignalType, findDevice } from '@vbet/webhid-sdk';\n\nexport default class VBetService extends VendorImplementation {\n private static instance: VBetService;\n\n private activeConversationId: string;\n private pendingConversationId: string;\n\n private _deviceInfo: DeviceInfo | null = null;\n private activeDevice: IDevice | null = null;\n vendorName = 'VBet';\n\n static getInstance (config: ImplementationConfig): VBetService {\n if (!VBetService.instance) {\n VBetService.instance = new VBetService(config);\n }\n return VBetService.instance;\n }\n\n get deviceInfo (): DeviceInfo {\n return this._deviceInfo;\n }\n\n isSupported (): boolean {\n return (window.navigator as any).hid && !isCefHosted();\n }\n\n deviceLabelMatchesVendor (label: string): boolean {\n const lowerLabel = label.toLowerCase();\n return ['vt', '340b'].some((searchVal) => lowerLabel.includes(searchVal));\n }\n\n async connect (originalDeviceLabel: string): Promise<void> {\n if (!this.isConnecting) {\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n }\n try {\n const dev = await findDevice(originalDeviceLabel);\n if (dev) {\n this.activeDevice = dev;\n } else {\n const dev = await new Promise<IDevice>((resolve, reject) => {\n const productId = this.deductProductId(originalDeviceLabel);\n const waiter = setTimeout(()=>reject('The selected device was not granted WebHID permissions'), 30000);\n this.requestWebHidPermissions(() => {\n webhidConsent({\n productId: productId ? productId : undefined,\n })\n .then((res) => {\n resolve(res);\n clearTimeout(waiter);\n })\n .catch((err) => {\n reject(err);\n });\n });\n });\n this.activeDevice = dev;\n }\n } catch (error) {\n this.isConnecting &&\n this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error(error);\n return;\n }\n\n this._deviceInfo = {\n ProductName: this.activeDevice.productName,\n };\n\n this.activeDevice.subscribe(this.processBtnPress);\n \n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n\n processBtnPress = (signal:DeviceSignalType):void => {\n switch (signal) {\n case DeviceSignalType.ACCEPT_CALL:\n if (this.pendingConversationId) {\n this.answerCall(this.pendingConversationId);\n this.deviceAnsweredCall({\n name: 'OffHook',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be answered');\n }\n break;\n case DeviceSignalType.END_CALL:\n if (this.activeConversationId) {\n const id = this.activeConversationId;\n this.endCall(id);\n this.deviceEndedCall({\n name: 'OnHook',\n conversationId: id,\n });\n } else {\n this.logger.error('No call to be terminated');\n }\n break;\n case DeviceSignalType.MUTE_CALL:\n case DeviceSignalType.UNMUTE_CALL:\n if (this.activeConversationId) {\n this.setMute(signal===DeviceSignalType.MUTE_CALL);\n this.deviceMuteChanged({\n isMuted: this.isMuted,\n name: this.isMuted ? 'CallMuted' : 'CallUnmuted',\n conversationId: this.activeConversationId,\n });\n } else {\n this.logger.error('No call to be muted');\n }\n break;\n case DeviceSignalType.REJECT_CALL:\n if (this.pendingConversationId) {\n this.rejectCall(this.pendingConversationId);\n this.deviceRejectedCall({\n name: 'Reject',\n conversationId: this.pendingConversationId,\n });\n } else {\n this.logger.error('No call to be rejected');\n }\n break;\n }\n }\n\n async disconnect (): Promise<void> {\n this.changeConnectionStatus({ isConnected: false, isConnecting: false });\n this.activeDevice && this.activeDevice.unsubscribe();\n this.activeDevice = null;\n this._deviceInfo = null;\n this.isMuted = false;\n }\n\n async incomingCall (callInfo: CallInfo): Promise<void> {\n this.pendingConversationId = callInfo.conversationId;\n this.activeDevice.ring();\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<void> {\n this.activeConversationId = callInfo.conversationId;\n this.activeDevice.offHook();\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<void> {\n if (this.pendingConversationId === conversationId || autoAnswer) {\n this.activeConversationId = conversationId;\n this.pendingConversationId = '';\n this.activeDevice.offHook();\n } else {\n this.logger.error('no call to be answered');\n }\n }\n\n async rejectCall (conversationId: string): Promise<void> {\n if (conversationId === this.pendingConversationId) {\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be rejected');\n }\n }\n\n async endCall (conversationId: string): Promise<void> {\n if (conversationId === this.activeConversationId) {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n } else {\n this.logger.error('no call to be ended');\n }\n }\n\n async endAllCalls (): Promise<void> {\n this.activeConversationId = '';\n this.pendingConversationId = '';\n this.activeDevice.onHook();\n }\n\n async setMute (value: boolean): Promise<void> {\n this.isMuted = value;\n this.isMuted ? this.activeDevice.muteOn() : this.activeDevice.muteOff();\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';\nimport CyberAcousticsService from './vendor-implementations/CyberAcoustics/CyberAcoustics';\nimport PlantronicsService from './vendor-implementations/plantronics/plantronics';\nimport SennheiserService from './vendor-implementations/sennheiser/sennheiser';\nimport JabraService from './vendor-implementations/jabra/jabra';\nimport JabraNativeService from './vendor-implementations/jabra/jabra-native/jabra-native';\nimport YealinkService from './vendor-implementations/yealink/yealink';\nimport VBetService from './vendor-implementations/vbet/vbet';\nimport { CallInfo } from '../types/call-info';\nimport { VendorEvent, HoldEventInfo, MutedEventInfo, EventInfoWithConversationId } from '../types/emitted-headset-events';\nimport { WebHidPermissionRequest } from '..';\nimport { ConsumedHeadsetEvents, HeadsetEvents, DeviceConnectionStatus } from '../types/consumed-headset-events';\nimport { HeadsetState, HeadsetStateRecord, UpdateReasons } from '../types/headset-states';\n\ntype StateProps = Partial<HeadsetState>;\ntype StateCompareProps = { conversationId: string; state: StateProps };\n\nconst REMOVE_WAIT = 2000;\n\nexport default class HeadsetService {\n private static instance: HeadsetService;\n\n plantronics: VendorImplementation;\n jabraNative: VendorImplementation;\n jabra: VendorImplementation;\n sennheiser: VendorImplementation;\n yealink: VendorImplementation;\n vbet:VendorImplementation;\n cyberAcoustics: VendorImplementation;\n selectedImplementation: VendorImplementation;\n headsetEvents$: Observable<ConsumedHeadsetEvents>;\n\n private headsetConversationStates: { [conversationId: string]: HeadsetStateRecord } = {};\n private _headsetEvents$: Subject<ConsumedHeadsetEvents>;\n private logger: any;\n\n private constructor (config: ImplementationConfig) {\n this._headsetEvents$ = new Subject<ConsumedHeadsetEvents>();\n this.headsetEvents$ = this._headsetEvents$.asObservable();\n\n this.logger = config.logger || console;\n this.plantronics = PlantronicsService.getInstance({ logger: this.logger, appName: config.appName });\n this.jabraNative = JabraNativeService.getInstance({ logger: this.logger });\n this.jabra = JabraService.getInstance({ logger: this.logger });\n this.sennheiser = SennheiserService.getInstance({ logger: this.logger });\n this.yealink = YealinkService.getInstance({ logger: this.logger });\n this.vbet = VBetService.getInstance({ logger: this.logger });\n this.cyberAcoustics = CyberAcousticsService.getInstance({ logger: this.logger });\n\n [this.plantronics, this.jabra, this.jabraNative, this.sennheiser, this.yealink, this.vbet, this.cyberAcoustics].forEach(implementation => this.subscribeToHeadsetEvents(implementation));\n }\n\n static getInstance (config: ImplementationConfig): HeadsetService {\n if (!HeadsetService.instance || config.createNew) {\n HeadsetService.instance = new HeadsetService(config);\n }\n\n return HeadsetService.instance;\n }\n\n get implementations (): VendorImplementation[] {\n const implementations = [\n this.sennheiser,\n this.plantronics,\n this.jabra,\n this.jabraNative,\n this.yealink,\n this.vbet,\n this.cyberAcoustics\n ].filter((impl) => impl.isSupported());\n\n return implementations;\n }\n\n private isDifferentState (props: StateCompareProps): boolean {\n const state = this.headsetConversationStates[props.conversationId];\n\n // different if there's no state or any of the provided state props don't match\n return !state || Object.entries(props.state).some(([key, value]) => state[key] !== value);\n }\n\n private updateHeadsetState (props: StateCompareProps, opts = { expectExistingConversation: true }): boolean {\n if (this.isDifferentState(props)) {\n const state = this.headsetConversationStates[props.conversationId];\n if (!state) {\n if (opts.expectExistingConversation) {\n this.logger.warn('updateHeadsetState has no existing state for provided conversationId.', { conversationId: props.conversationId });\n }\n return false;\n }\n Object.assign(state, props.state);\n return true;\n }\n\n return false;\n }\n\n deviceIsSupported (params: { micLabel: string }): boolean {\n if (!params.micLabel) {\n return false;\n }\n\n const implementation = this.implementations.find((implementation) => {\n return implementation.deviceLabelMatchesVendor(params.micLabel);\n });\n return !!implementation;\n }\n\n activeMicChange (newMicLabel: string, changeReason?: UpdateReasons): void {\n if (newMicLabel) {\n const implementation = this.implementations.find((implementation) => implementation.deviceLabelMatchesVendor(newMicLabel));\n if (implementation) {\n this.changeImplementation(implementation, newMicLabel);\n } else if (this.selectedImplementation) {\n this.clearSelectedImplementation(changeReason);\n }\n } else {\n this.clearSelectedImplementation(changeReason);\n }\n }\n\n async changeImplementation (implementation: VendorImplementation | null, deviceLabel: string): Promise<void> {\n if (implementation === this.selectedImplementation) {\n return;\n }\n\n if (this.selectedImplementation) {\n // remove headsetStates associated with implementation\n this.headsetConversationStates = {};\n\n await this.selectedImplementation.disconnect();\n }\n\n this.selectedImplementation = implementation;\n\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: implementation });\n\n if (implementation) {\n await implementation.connect(deviceLabel);\n }\n }\n\n async incomingCall (callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: false,\n ringing: true\n };\n\n return implementation.incomingCall(callInfo, hasOtherActiveCalls);\n }\n\n async outgoingCall (callInfo: CallInfo): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n this.headsetConversationStates[callInfo.conversationId] = {\n conversationId: callInfo.conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.outgoingCall(callInfo);\n }\n\n async answerCall (conversationId: string, autoAnswer?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (!autoAnswer) {\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.answerCall(conversationId);\n }\n } else {\n this.headsetConversationStates[conversationId] = {\n conversationId: conversationId,\n held: false,\n muted: false,\n offHook: true,\n ringing: false\n };\n\n return implementation.answerCall(conversationId, autoAnswer);\n }\n }\n\n async rejectCall (conversationId: string, expectExistingConversation = true): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction }, { expectExistingConversation })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.rejectCall(conversationId);\n }\n }\n\n async setMute (value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== value)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = value);\n return implementation.setMute(value);\n }\n }\n\n async setHold (conversationId: string, value: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: value\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n return implementation.setHold(conversationId, value);\n }\n }\n\n async endCall (conversationId: string, hasOtherActiveCalls?: boolean): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n return implementation.endCall(conversationId, hasOtherActiveCalls);\n }\n }\n\n async endAllCalls (): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (!implementation) {\n return;\n }\n\n Object.values(this.headsetConversationStates).forEach((headsetState) => {\n if (!headsetState.removeTimer) {\n headsetState.removeTimer = this.setRemoveTimer(headsetState.conversationId);\n }\n });\n\n return implementation.endAllCalls();\n }\n\n retryConnection (micLabel: string): Promise<void> {\n if (!this.selectedImplementation) {\n return Promise.reject(new Error('No active headset implementation'));\n }\n\n return this.selectedImplementation.connect(micLabel);\n }\n\n connectionStatus (): DeviceConnectionStatus {\n if (this.selectedImplementation) {\n if (!this.selectedImplementation.isConnected && !this.selectedImplementation.isConnecting) {\n return 'notRunning';\n }\n return this.selectedImplementation.isConnected ? 'running' : 'checking';\n }\n return 'noVendor';\n }\n\n resetHeadsetStateForCall (conversationId: string): Promise<any> {\n const implementation = this.getConnectedImpl();\n if (implementation) {\n return implementation.resetHeadsetStateForCall(conversationId);\n } else {\n this.logger.info('No active implementation, headset state does not require a reset');\n }\n }\n\n private getConnectedImpl (): VendorImplementation {\n const impl = this.selectedImplementation;\n if (!impl || !impl.isConnected) {\n return null;\n }\n\n return impl;\n }\n\n private subscribeToHeadsetEvents (implementation: VendorImplementation) {\n implementation.on(HeadsetEvents.deviceAnsweredCall, this.handleDeviceAnsweredCall.bind(this));\n implementation.on(HeadsetEvents.deviceRejectedCall, this.handleDeviceRejectedCall.bind(this));\n implementation.on(HeadsetEvents.deviceEndedCall, this.handleDeviceEndedCall.bind(this));\n implementation.on(HeadsetEvents.deviceMuteStatusChanged, this.handleDeviceMuteStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceHoldStatusChanged, this.handleDeviceHoldStatusChanged.bind(this));\n implementation.on(HeadsetEvents.deviceEventLogs, this.handleDeviceLogs.bind(this));\n implementation.on(HeadsetEvents.deviceConnectionStatusChanged, this.handleDeviceConnectionStatusChanged.bind(this));\n implementation.on(HeadsetEvents.webHidPermissionRequested, this.handleWebHidPermissionRequested.bind(this));\n }\n\n private clearSelectedImplementation (clearReason?: UpdateReasons): void {\n if (!this.selectedImplementation) {\n return;\n }\n\n this.selectedImplementation.disconnect(clearReason);\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: null });\n this.selectedImplementation = null;\n this.handleDeviceConnectionStatusChanged();\n }\n\n private setRemoveTimer (conversationId) {\n return setTimeout(() => {\n // we are using the removeTimer to make sure this is actually slated for removal.\n // if we get a new incoming call for example, it will replace the current state which is slated for\n // removal and we don't want to remove it if it's a new/updated state\n if (this.headsetConversationStates[conversationId].removeTimer) {\n delete this.headsetConversationStates[conversationId];\n }\n }, REMOVE_WAIT);\n }\n\n private handleDeviceAnsweredCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false,\n offHook: true\n };\n\n this.updateHeadsetState({ conversationId: event.body.conversationId, state: expectedStatePostAction });\n\n this.logger.info('Headset: device answered the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceAnsweredCall, payload: { ...event.body } });\n }\n\n private handleDeviceRejectedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n ringing: false\n };\n const conversationId = event.body.conversationId;\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this.logger.info('Headset: device rejected the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceRejectedCall, payload: { ...event.body } });\n }\n\n private handleDeviceEndedCall (event: VendorEvent<EventInfoWithConversationId>): void {\n this.logger.info('Headset: device ended the call');\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n offHook: false\n };\n\n const conversationId = event.body.conversationId;\n\n if (this.updateHeadsetState({ conversationId, state: expectedStatePostAction })) {\n const headsetState = this.headsetConversationStates[conversationId];\n headsetState.removeTimer = this.setRemoveTimer(conversationId);\n }\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceEndedCall, payload: { ...event.body } });\n }\n\n private handleDeviceMuteStatusChanged (event: VendorEvent<MutedEventInfo>): void {\n this.logger.info('Headset: device mute status changed: ', event.body.isMuted);\n if (Object.values(this.headsetConversationStates).some(headsetState => headsetState.muted !== event.body.isMuted)) {\n Object.values(this.headsetConversationStates).forEach(headsetState => headsetState.muted = event.body.isMuted);\n }\n this._headsetEvents$.next({ event: HeadsetEvents.deviceMuteStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceHoldStatusChanged (event: VendorEvent<HoldEventInfo>): void {\n this.logger.info('Headset: device hold status changed', event.body.holdRequested);\n\n const expectedStatePostAction: Partial<HeadsetState> = {\n held: event.body.holdRequested\n };\n const conversationId = event.body.conversationId;\n this.updateHeadsetState({ conversationId, state: expectedStatePostAction });\n\n this._headsetEvents$.next({ event: HeadsetEvents.deviceHoldStatusChanged, payload: { ...event.body } });\n }\n\n private handleDeviceConnectionStatusChanged (): void {\n this._headsetEvents$.next({ event: HeadsetEvents.deviceConnectionStatusChanged, payload: this.connectionStatus() });\n }\n\n private handleWebHidPermissionRequested (event: VendorEvent<WebHidPermissionRequest>): void {\n this.logger.debug('Requesting Webhid Permissions');\n this._headsetEvents$.next({ event: HeadsetEvents.webHidPermissionRequested, payload: { ...event.body } });\n }\n\n /* This function has no functional purpose in a real life example\n * It is here to help log all events in the call process at least for Plantronics\n */\n private handleDeviceLogs (eventInfo: VendorEvent<any>): void {\n this._headsetEvents$.next({ event: HeadsetEvents.loggableEvent, payload: { ...eventInfo.body } });\n }\n}","import HeadsetService from './services/headset';\nimport { VendorImplementation } from './services/vendor-implementations/vendor-implementation';\n\nexport * from './types/call-info';\nexport * from './types/consumed-headset-events';\nexport * from './types/device-info';\nexport * from './types/emitted-headset-events';\nexport * from './types/headset-states';\nexport { VendorImplementation };\nexport default HeadsetService;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}
|