softphone-vendor-headsets 0.1.1-develop.3 → 0.1.2-develop.4

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.
Files changed (67) hide show
  1. package/README.md +4 -3
  2. package/dist/cjs/src/library/services/headset.d.ts +3 -1
  3. package/dist/cjs/src/library/services/headset.js +22 -6
  4. package/dist/cjs/src/library/services/headset.js.map +1 -1
  5. package/dist/cjs/src/library/services/headset.test.js +45 -9
  6. package/dist/cjs/src/library/services/headset.test.js.map +1 -1
  7. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +4 -1
  8. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +12 -2
  9. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -1
  10. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +9 -1
  11. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -1
  12. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.d.ts +2 -0
  13. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js +37 -16
  14. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -1
  15. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js +61 -9
  16. package/dist/cjs/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -1
  17. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +2 -0
  18. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js +10 -0
  19. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  20. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js +17 -0
  21. package/dist/cjs/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  22. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +1 -0
  23. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js +8 -0
  24. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -1
  25. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +26 -0
  26. package/dist/cjs/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  27. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.d.ts +1 -0
  28. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js +3 -0
  29. package/dist/cjs/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  30. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js +5 -0
  31. package/dist/cjs/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -1
  32. package/dist/cjs/src/library/types/consumed-headset-events.d.ts +2 -5
  33. package/dist/deploy-info.json +2 -2
  34. package/dist/es/src/library/services/headset.d.ts +3 -1
  35. package/dist/es/src/library/services/headset.js +22 -6
  36. package/dist/es/src/library/services/headset.js.map +1 -1
  37. package/dist/es/src/library/services/headset.test.js +45 -9
  38. package/dist/es/src/library/services/headset.test.js.map +1 -1
  39. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.d.ts +4 -1
  40. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js +12 -2
  41. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.js.map +1 -1
  42. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js +9 -1
  43. package/dist/es/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native.test.js.map +1 -1
  44. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.d.ts +2 -0
  45. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js +37 -16
  46. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.js.map +1 -1
  47. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js +61 -9
  48. package/dist/es/src/library/services/vendor-implementations/jabra/jabra.test.js.map +1 -1
  49. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.d.ts +2 -0
  50. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js +10 -0
  51. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.js.map +1 -1
  52. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js +17 -0
  53. package/dist/es/src/library/services/vendor-implementations/plantronics/plantronics.test.js.map +1 -1
  54. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.d.ts +1 -0
  55. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js +8 -0
  56. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.js.map +1 -1
  57. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js +26 -0
  58. package/dist/es/src/library/services/vendor-implementations/sennheiser/sennheiser.test.js.map +1 -1
  59. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.d.ts +1 -0
  60. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js +3 -0
  61. package/dist/es/src/library/services/vendor-implementations/vendor-implementation.js.map +1 -1
  62. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js +5 -0
  63. package/dist/es/src/library/services/vendor-implementations/vendor-implemntation.test.js.map +1 -1
  64. package/dist/es/src/library/types/consumed-headset-events.d.ts +2 -5
  65. package/dist/softhphone-vendor-headsets.js +4 -4
  66. package/dist/softhphone-vendor-headsets.js.map +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://SoftphoneVendorHeadsets/webpack/universalModuleDefinition","webpack://SoftphoneVendorHeadsets/webpack/bootstrap","webpack://SoftphoneVendorHeadsets/./node_modules/@gnaudio/jabra-js/browser-esm/index-697967ac.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/rxjs/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/./react-app/src/library/services/vendor-implementations/plantronics/plantronics-call-events.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/utils.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/util/lift.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.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/defaultIfEmpty.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/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/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/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","next","a","throw","done","then","apply","TypeError","has","set","setPrototypeOf","__proto__","Array","String","this","constructor","label","sent","trys","ops","return","iterator","pop","u","v","h","asyncIterator","f","stack","map","toString","join","errors","E","indexOf","splice","g","initialTeardown","closed","_parentage","_teardowns","unsubscribe","isArray","remove","add","_hasParent","_addParent","includes","_removeParent","EMPTY","_","b","y","O","arguments","w","N","C","isStopped","destination","I","T","_next","_error","complete","_complete","S","A","R","observable","D","H","reduce","L","_subscribe","lift","source","operator","subscribe","_trySubscribe","_deprecatedSyncErrorSubscribe","_syncErrorHack_isSubscribing","__syncError","forEach","P","pipe","toPromise","k","U","onFinalize","x","G","observers","hasError","thrownError","F","_throwIfClosed","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","M","_value","getValue","B","now","delegate","Date","W","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","K","schedule","j","scheduler","work","pending","state","id","recycleAsyncId","delay","requestAsyncId","setInterval","V","flush","clearInterval","Y","execute","_execute","actions","$","schedulerActionCtor","q","_active","_scheduled","z","J","X","Q","Z","tt","et","nt","rt","it","ot","st","at","getReader","read","releaseLock","ct","lt","ut","ht","dt","pt","catch","ft","vt","Et","gt","_t","bt","mt","yt","wt","Ot","defaultValue","Nt","isNaN","Ct","info","Tt","first","each","with","St","meta","lastValue","seen","At","It","Rt","Dt","Ht","Lt","Pt","kt","Ut","xt","Gt","Ft","Mt","Bt","Wt","Kt","Vt","Yt","jt","$t","qt","zt","every","some","Jt","Xt","Qt","Zt","ne","re","ie","se","ae","connector","resetOnError","resetOnComplete","resetOnRefCountZero","ce","ue","bufferSize","windowTime","refCount","le","he","de","pe","fe","super","ve","ERROR","JS_LIB","write","level","layer","Ee","WARNING","INFO","CHROME_EXTENSION","NATIVE_CONSOLE","SDK_USAGE_ERROR","FEATURE_NOT_SUPPORTED","DEVICE_ERROR","UNEXPECTED_ERROR","INIT_ERROR","ge","compare","itemRemoved","items","itemList","itemAdded","addItem","onDisconnect","removeItem","filter","equals","concat","sort","findIndex","_e","sdkVersion","consoleAppVersion","version","chromeExtensionVersion","process","platform","navigator","userAgent","be","deviceDetector","deviceAdded","deviceObservables","deviceRemoved","deviceList","_transport","_readyEvents","consoleAppEvent","_config","transportContext","context","logger","WeakMap","NODE","WEB_HID","CHROME_EXTENSION_WITH_WEB_HID_FALLBACK","me","ye","TransportChromeExtension","checkInstallation","ok","initHandler","WebHidTransport","we","log","Oe","Ne","config","messageShown","partnerKey","validateCrc","logWarning","appId","test","appName","warn","split","charCodeAt","RangeError","padStart","Ce","Te","Se","Ae","Ie","Re","De","MS_OC","CISCO","AVAYA","SIEMENS","ALCATEL","IBM","AASTRA","SKYPE","GENERIC","NORTEL","JABRA","NEC","SHORETEL","OTHER","He","gnpReadCommand","serialize","command","subCommand","deserialize","GN_PROTOCOL","DATA","Le","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","Pe","from","ke","fromCharCode","Ue","xe","Ge","DataView","buffer","getUint16","Fe","of","Me","Be","We","path","require","globalThis","global","self","Ke","Ve","Ye","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","je","transport","gnpLockAcquired","token","action","writeAction","INPUT","OUTPUT","FEATURE","ABSOLUTE","RELATIVE","$e","startsWith","qe","ze","usagePage","usage","Je","descriptor","transportId","input","inputReportsFilter","find","reportType","Qe","lengthMask","typeFromAttr","packetLengthFromAttr","Ze","gnpPacketHeaderLength","hasHeader","expectedPacketLength","gnpPacketMaxLength","hasFullPacket","tn","en","nn","rn","on","hidChannel","gnpLock","primaryAddress","lockQueue","packets","inputFilter","events","eventsFilter","nextSequenceNumber","appendData","getPacketAndReset","findDescriptor","processLockQueue","acquireGnpLock","reportSize","attrFromTypeAndPayloadLength","min","subarray","output","releaseGnpLock","doWithGnpLockHeld","readWithParams","getNextSequenceNumber","sn","parentGnpChannel","sendEvent","an","supportsGnpOverHid","cn","un","ln","isChild","hn","parentId","gnpAddress","dn","pn","fn","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","vn","parentConnectionId","En","gn","_n","deviceType","address","vid","pid","serialNumber","capabilities","connectionGnpAddress","bn","createConnection","parentConnection","connectionCreator","createChildGnpChannel","connectionEvents","attach","detach","connection","mn","yn","wn","On","createHidChannel","createRootGnpChannel","createAttachEvent","getTransportId","convertToReportType","valueType","convertToValueType","JSON","stringify","getMandatoryField","createDescriptor","assign","Nn","Cn","Tn","Sn","An","In","vendorId","productId","connectionAdded","connectionRemoved","connectionList","Rn","exceptionToUndefined","findConnectionById","currentConnections","Dn","deviceCollection","connectionExists","force","findDeviceByDeviceId","createDevice","isSameDevice","Hn","validateOrganizationKey","validateAppId","validateAppName","internal","testDeviceTransport","recorder","connect","Ln","deviceId","Pn","UsageReport","kn","Un","xn","Gn","Fn","Mn","Bn","Wn","Kn","Vn","Yn","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","jn","hid","requestDevice","filters","VENDOR_ID","BroadcastChannel","PAIRING_CHANNEL","postMessage","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","$n","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_PSEUDO_HOOK_SWITCH","GN_OUT_OF_RANGE","GN_REJECT_CALL","GN_TELEPHONY_CONT_SET","qn","isSoftphoneInFocus","lockHeld","cachedSignals","Map","Boolean","Xe","zn","device","deviceSignals","setup","checkHasDisconnected","checkCallLockNotHeld","tryTakeCallLock","checkCallLockHeld","releaseCallLock","STD_TELEPHONY","Jn","Qn","connectionCallLock","currentLocks","lockReleaseEvent","takeSingleCallLock","releaseSingleCallLock","acquired","Zn","callLockAcquiredResponse","tr","er","rr","nr","ir","softphoneInFocus","setFeatureReport","Xn","or","devComm","infocus","sr","ar","cr","ur","lr","hr","dr","pr","br","setSharedSoftphoneInfo","jabraDirectInstalled","supportsCallControl","HOLD_CURRENT","END_CURRENT","MUTED","UNMUTED","NO_ONGOING_CALLS","ON_HOLD","NOT_ON_HOLD","NO_INCOMING","AWAITING_RESPONSE","RESOLVING_RESPONSE","RESOLVING_RESPONSE_FROM_DEVICE","ACCEPTED","REJECTED","HeadsetEvents","VendorImplementation","eventEmitter","EventEmitter","keys","vendorName","selectedMicLabel","callInfo","hasOtherActiveCalls","conversationId","eventName","eventBody","emit","vendor","body","callback","debug","emitEvent","eventInfo","isMuted","holdRequested","toggle","headsetState","isConnected","isConnecting","currentVendor","InstallTrigger","chrome","plugins","namedItem","runtime","webstore","HTMLElement","safari","pushNotification","opr","addons","opera","StyleMedia","CSS","documentMode","ReflectOwnKeys","Reflect","ReflectApply","receiver","args","Function","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","extendStatics","__extends","__","__values","__read","__spreadArray","to","il","isFunction","createErrorClass","createImpl","ctorFunc","instance","UnsubscriptionError","_super","arrRemove","item","Subscription","e_1","_a","e_2","_b","_parentage_1","_parentage_1_1","e_1_1","_teardowns_1","_teardowns_1_1","teardown_1","execTeardown","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","_i","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","kind","errorContext","cb","isRoot","errorThrown","captureError","Subscriber","_this","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","SafeSubscriber","observerOrNext","context_1","wrapForErrorHandling","defaultErrorHandler","notification","subscriber","identity","pipeFromArray","fns","prev","Observable","isObserver","sink","promiseCtor","getPromiseCtor","subscription","operations","PlantronicsCallEvents","ObjectUnsubscribedError","Subject","subject","copy_1","copy_1_1","AnonymousSubject","SennheiserEvents","SennheiserEventTypes","PlantronicsService","_deviceInfo","callEventsTimerId","deviceStatusTimerId","lowerLabel","toLowerCase","searchVal","ProductName","deviceInfo","disableEventPolling","getCallEvents","pollForCallEvents","activePollingInterval","getDeviceStatus","pollForDeviceStatus","isDeviceAttached","connectedDeviceInterval","disconnectedDeviceInterval","endpoint","isRetry","_makeRequest","fetchJsonp","plantronicsInstance","_fetch","apiHost","Type_Name","status","changeConnectionStatus","disconnect","handled","_makeRequestTask","browserama","isFirefox","errorCode","disableRetry","_getActiveCalls","calls","isActive","result","Result","Calls","Source","pluginName","eventType","Action","code","callCorrespondingFunction","Err","Description","deviceAnsweredCall","deviceEndedCall","_checkIsActiveTask","deviceMuteChanged","deviceHoldStatusChanged","deviceEventLogs","isError","clearTimeouts","contactName","params","halfEncodedCallIdString","encodeURI","halfEncodedContactString","endCall","CallId","isCefHosted","_HostedContextFunctions","requestCefPromise","cmd","sCmd","cefQuery","persistent","onSuccess","obj","onFailure","SennheiserService","websocketConnected","Event","websocket","send","EstablishConnection","EventType","Request","SPName","SPIconImage","RedialSupport","OffHookSupport","MuteSupport","DNDOption","_sendMessage","socket","WebSocket","onopen","webSocketOnOpen","onclose","webSocketOnClose","onmessage","_handleMessage","wasClean","isFireFox","TerminateConnection","callId","round","callMappings","sennheiserCallId","MuteFromApp","UnmuteFromApp","Hold","Resume","CallID","_createCallMapping","IncomingCall","IncomingCallAccepted","OutgoingCall","CallEnded","ReturnCode","_handleError","SocketConnected","_registerSoftphone","SPLogin","SystemInformation","HeadsetConnected","HeadsetName","deviceName","headsetType","HeadsetType","HeadsetDisconnected","Notification","Ack","_handleAck","MuteFromHeadset","UnmuteFromHeadset","IncomingCallRejected","deviceRejectedCall","readyState","close","EmptyError","firstValueFrom","hasConfig","operate","hasLift","liftedSource","OperatorSubscriber","onNext","onComplete","onError","predicate","thisArg","take","defaultIfEmpty","hasValue","throwIfEmpty","errorFactory","defaultErrorFactory","hasDefaultValue","JabraNativeCommands","JabraService","devices","jabraSdk","initializeJabraSdk","activeDeviceId","size","setHold","setMute","callControl","headsetEventSubscription","signal","callLock","SignalType","offHook","ring","mute","hold","checkForCallLockError","isHeld","takeCallLock","resetState","deviceLabel","callControlFactory","createCallControlFactory","fetchDevicesTimeout","selectedDevice","isDeviceInList","project","waiter","requestWebHidPermissions","webHidPairing","createCallControl","_processEvents","RequestedBrowserTransport","sdk","CallControlFactory","ErrorType","JabraNativeEventNames","JabraNativeService","ringing","initData","assetURL","location","origin","pathname","handleCefEvent","supportsTerminationRequest","supportsUnifiedPreferences","register","cefSupportsJabra","supportsJabra","msg","isDeviceEvent","handleJabraDeviceAttached","isHeadsetEvent","handleJabraEvent","updateDevices","_processEvent","isOffhook","_sendCmd","Offhook","_setRinging","_getHeadsetIntoVanillaState","Mute","sendEventToDesktop","deviceID","Ring","ignoreNextOffhookEvent","_connectionInProgress","clear","func","timer","OffHook","_handleOffhookEvent","RejectCall","_handleMuteEvent","_handleHoldEvent","timeoutInMillis","timeoutError","timeoutPromise","race","createNew","HeadsetService","_headsetEvents$","headsetEvents$","plantronics","getInstance","jabraNative","jabra","sennheiser","implementation","subscribeToHeadsetEvents","impl","isSupported","newMicLabel","implementations","deviceLabelMatchesVendor","changeImplementation","selectedImplementation","implementationChanged","performActionIfConnected","incomingCall","outgoingCall","answerCall","endAllCalls","micLabel","actionName","perform","handleDeviceAnsweredCall","handleDeviceRejectedCall","handleDeviceEndedCall","handleDeviceMuteStatusChanged","handleDeviceHoldStatusChanged","handleDeviceLogs","deviceConnectionStatusChanged","handleDeviceConnectionStatusChanged","webHidPermissionRequested","handleWebHidPermissionRequested","deviceMuteStatusChanged","loggableEvent","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","array","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","val","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","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","res","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","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nfunction t(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 e(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 n(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\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */}var r=function(t,e){return(r=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)};function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function o(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 s(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 a(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 c(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 u(t,e){for(var n=0,r=e.length,i=t.length;n<r;n++,i++)t[i]=e[n];return t}function l(t){return this instanceof l?(this.v=t,this):new l(t)}function h(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||a(t,e)}))})}function a(t,e){try{(n=i[t](e)).value instanceof l?Promise.resolve(n.value.v).then(c,u):h(o[0][2],n)}catch(t){h(o[0][3],t)}var n}function c(t){a(\"next\",t)}function u(t){a(\"throw\",t)}function h(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function d(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=a(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 p(t){return\"function\"==typeof t}function f(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 v=f((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 E(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var g=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._teardowns=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=a(o),l=s.next();!l.done;l=s.next()){l.value.remove(this)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}else o.remove(this);var h=this.initialTeardown;if(p(h))try{h()}catch(t){i=t instanceof v?t.errors:[t]}var d=this._teardowns;if(d){this._teardowns=null;try{for(var f=a(d),E=f.next();!E.done;E=f.next()){var g=E.value;try{m(g)}catch(t){i=null!=i?i:[],t instanceof v?i=u(u([],c(i)),c(t.errors)):i.push(t)}}}catch(t){n={error:t}}finally{try{E&&!E.done&&(r=f.return)&&r.call(f)}finally{if(n)throw n.error}}}if(i)throw new v(i)}},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._teardowns=null!==(n=this._teardowns)&&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)&&E(e,t)},t.prototype.remove=function(e){var n=this._teardowns;n&&E(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),_=g.EMPTY;function b(t){return t instanceof g||t&&\"closed\"in t&&p(t.remove)&&p(t.add)&&p(t.unsubscribe)}function m(t){p(t)?t():t.unsubscribe()}var y={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},w=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return setTimeout.apply(void 0,u([],c(t)))};function O(t){w((function(){throw t}))}function N(){}var C=function(t){function e(e){var n=t.call(this)||this;return n.isStopped=!1,e?(n.destination=e,b(e)&&e.add(n)):n.destination=I,n}return i(e,t),e.create=function(t,e,n){return new T(t,e,n)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(g),T=function(t){function e(e,n,r){var i,o=t.call(this)||this;if(p(e))i=e;else if(e){var s;i=e.next,n=e.error,r=e.complete,o&&y.useDeprecatedNextContext?(s=Object.create(e)).unsubscribe=function(){return o.unsubscribe()}:s=e,i=null==i?void 0:i.bind(s),n=null==n?void 0:n.bind(s),r=null==r?void 0:r.bind(s)}return o.destination={next:i?S(i):N,error:S(null!=n?n:A),complete:r?S(r):N},o}return i(e,t),e}(C);function S(t,e){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{t.apply(void 0,u([],c(e)))}catch(t){O(t)}}}function A(t){throw t}var I={closed:!0,next:N,error:A,complete:N},R=\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\";function D(t){return t}function H(t){return 0===t.length?D:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)}}var L=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=(r=t)&&r instanceof C||function(t){return t&&p(t.next)&&p(t.error)&&p(t.complete)}(r)&&b(r)?t:new T(t,e,n),o=this.operator,s=this.source;return i.add(o?o.call(i,s):s?this._subscribe(i):this._trySubscribe(i)),i},t.prototype._deprecatedSyncErrorSubscribe=function(t){var e=t;e._syncErrorHack_isSubscribing=!0;var n=this.operator;if(n)t.add(n.call(t,this.source));else try{t.add(this._subscribe(t))}catch(t){e.__syncError=t}for(var r=e;r;){if(\"__syncError\"in r)try{throw r.__syncError}finally{t.unsubscribe()}r=r.destination}e._syncErrorHack_isSubscribing=!1},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=P(e))((function(e,r){var i;i=n.subscribe((function(e){try{t(e)}catch(t){r(t),null==i||i.unsubscribe()}}),r,e)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[R]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.length?H(t)(this):this},t.prototype.toPromise=function(t){var e=this;return new(t=P(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 P(t){var e;return null!==(e=null!=t?t:y.Promise)&&void 0!==e?e:Promise}function k(t){return function(e){if(function(t){return p(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\")}}var U=function(t){function e(e,n,r,i,o){var s=t.call(this,e)||this;return s.onFinalize=o,s._next=n?function(t){try{n(t)}catch(t){e.error(t)}}:t.prototype._next,s._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,s._complete=r?function(){try{r()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,s}return i(e,t),e.prototype.unsubscribe=function(){var e,n=this.closed;t.prototype.unsubscribe.call(this),!n&&(null===(e=this.onFinalize)||void 0===e||e.call(this))},e}(C),x=f((function(t){return function(){t(this),this.name=\"ObjectUnsubscribedError\",this.message=\"object unsubscribed\"}})),G=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return i(e,t),e.prototype.lift=function(t){var e=new F(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new x},e.prototype.next=function(t){var e,n;if(this._throwIfClosed(),!this.isStopped){var r=this.observers.slice();try{for(var i=a(r),o=i.next();!o.done;o=i.next()){o.value.next(t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}},e.prototype.error=function(t){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;for(var e=this.observers;e.length;)e.shift().error(t)}},e.prototype.complete=function(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;for(var t=this.observers;t.length;)t.shift().complete()}},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=null},Object.defineProperty(e.prototype,\"observed\",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,n=e.hasError,r=e.isStopped,i=e.observers;return n||r?_:(i.push(t),new g((function(){return E(i,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,i=e.isStopped;n?t.error(r):i&&t.complete()},e.prototype.asObservable=function(){var t=new L;return t.source=this,t},e.create=function(t,e){return new F(t,e)},e}(L),F=function(t){function e(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return i(e,t),e.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)},e.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)},e.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)},e.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:_},e}(G),M=function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}return i(e,t),Object.defineProperty(e.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(G),B={now:function(){return(B.delegate||Date).now()},delegate:void 0},W=function(t){function e(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=B);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 i(e,t),e.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)},e.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},e.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)}},e}(G),K=function(t){function e(e,n){return t.call(this)||this}return i(e,t),e.prototype.schedule=function(t,e){return this},e}(g),V=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return setInterval.apply(void 0,u([],c(t)))},Y=function(t){return clearInterval(t)},j=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return i(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),V(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return e;Y(e)},e.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))},e.prototype._execute=function(t,e){var n,r=!1;try{this.work(t)}catch(t){r=!0,n=!!t&&t||new Error(t)}if(r)return this.unsubscribe(),n},e.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,E(r,this),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(K),$=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=B.now,t}(),q=new(function(t){function e(e,n){void 0===n&&(n=$.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return i(e,t),e.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}}},e}($))(j),z=q,J=new L((function(t){return t.complete()}));function X(t,e){return new L((function(n){var r=0;return e.schedule((function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())}))}))}var Q=function(t){return t&&\"number\"==typeof t.length&&\"function\"!=typeof t};function Z(t){return p(null==t?void 0:t.then)}var tt=\"function\"==typeof Symbol&&Symbol.iterator?Symbol.iterator:\"@@iterator\";function et(t,e,n,r){void 0===r&&(r=0);var i=e.schedule((function(){try{n.call(this)}catch(e){t.error(e)}}),r);return t.add(i),i}function nt(t,e){if(!t)throw new Error(\"Iterable cannot be null\");return new L((function(n){var r=new g;return r.add(e.schedule((function(){var i=t[Symbol.asyncIterator]();r.add(e.schedule((function(){var t=this;i.next().then((function(e){e.done?n.complete():(n.next(e.value),t.schedule())}))})))}))),r}))}function rt(t){return p(t[R])}function it(t){return p(null==t?void 0:t[tt])}function ot(t){return Symbol.asyncIterator&&p(null==t?void 0:t[Symbol.asyncIterator])}function st(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.\")}function at(t){return h(this,arguments,(function(){var e,n,r;return s(this,(function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,l(e.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,l(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,l(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}function ct(t){return p(null==t?void 0:t.getReader)}function ut(t,e){if(null!=t){if(rt(t))return function(t,e){return new L((function(n){var r=new g;return r.add(e.schedule((function(){var i=t[R]();r.add(i.subscribe({next:function(t){r.add(e.schedule((function(){return n.next(t)})))},error:function(t){r.add(e.schedule((function(){return n.error(t)})))},complete:function(){r.add(e.schedule((function(){return n.complete()})))}}))}))),r}))}(t,e);if(Q(t))return X(t,e);if(Z(t))return function(t,e){return new L((function(n){return e.schedule((function(){return t.then((function(t){n.add(e.schedule((function(){n.next(t),n.add(e.schedule((function(){return n.complete()})))})))}),(function(t){n.add(e.schedule((function(){return n.error(t)})))}))}))}))}(t,e);if(ot(t))return nt(t,e);if(it(t))return function(t,e){return new L((function(n){var r;return n.add(e.schedule((function(){r=t[tt](),et(n,e,(function(){var t=r.next(),e=t.value;t.done?n.complete():(n.next(e),this.schedule())}))}))),function(){return p(null==r?void 0:r.return)&&r.return()}}))}(t,e);if(ct(t))return function(t,e){return nt(at(t),e)}(t,e)}throw st(t)}function lt(t,e){return e?ut(t,e):ht(t)}function ht(t){if(t instanceof L)return t;if(null!=t){if(rt(t))return r=t,new L((function(t){var e=r[R]();if(p(e.subscribe))return e.subscribe(t);throw new TypeError(\"Provided object does not correctly implement Symbol.observable\")}));if(Q(t))return dt(t);if(Z(t))return n=t,new L((function(t){n.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,O)}));if(ot(t))return pt(t);if(it(t))return e=t,new L((function(t){var n,r;try{for(var i=a(e),o=i.next();!o.done;o=i.next()){var s=o.value;if(t.next(s),t.closed)return}}catch(t){n={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()}));if(ct(t))return pt(at(t))}var e,n,r;throw st(t)}function dt(t){return new L((function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()}))}function pt(t){return new L((function(e){(function(t,e){var n,r,i,a;return o(this,void 0,void 0,(function(){var o,c;return s(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=d(t),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=s.sent(),i={error:c},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}}))}))})(t,e).catch((function(t){return e.error(t)}))}))}function ft(t,e){return e?X(t,e):dt(t)}function vt(t){return t&&p(t.schedule)}function Et(t){return t[t.length-1]}function gt(t){return p(Et(t))?t.pop():void 0}function _t(t){return vt(Et(t))?t.pop():void 0}function bt(t,e){return\"number\"==typeof Et(t)?t.pop():e}function mt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t);return n?X(t,n):ft(t)}function yt(t,e){var n=p(t)?t:function(){return t},r=function(t){return t.error(n())};return new L(e?function(t){return e.schedule(r,0,t)}:r)}var wt=f((function(t){return function(){t(this),this.name=\"EmptyError\",this.message=\"no elements in sequence\"}}));function Ot(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o=new T({next:function(t){r(t),o.unsubscribe()},error:i,complete:function(){n?r(e.defaultValue):i(new wt)}});t.subscribe(o)}))}function Nt(t){return t instanceof Date&&!isNaN(t)}var Ct=f((function(t){return function(e){void 0===e&&(e=null),t(this),this.message=\"Timeout has occurred\",this.name=\"TimeoutError\",this.info=e}}));function Tt(t,e){var n=Nt(t)?{first:t}:\"number\"==typeof t?{each:t}:t,r=n.first,i=n.each,o=n.with,s=void 0===o?St:o,a=n.scheduler,c=void 0===a?null!=e?e:q:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError(\"No timeout provided.\");return k((function(t,e){var n,o,a=null,u=0,h=function(t){o=et(e,c,(function(){n.unsubscribe(),ht(s({meta:l,lastValue:a,seen:u})).subscribe(e)}),t)};n=t.subscribe(new U(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}))),h(null!=r?\"number\"==typeof r?r:+r-c.now():i)}))}function St(t){throw new Ct(t)}function At(t,e){return k((function(n,r){var i=0;n.subscribe(new U(r,(function(n){r.next(t.call(e,n,i++))})))}))}function It(t,e,n){return void 0===n&&(n=1/0),p(e)?It((function(n,r){return At((function(t,i){return e(n,t,r,i)}))(ht(t(n,r)))}),n):(\"number\"==typeof e&&(n=e),k((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;ht(n(t,l++)).subscribe(new U(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?e.add(s.schedule((function(){return f(t)}))):f(t)};c.length&&u<r;)t();d()}catch(t){e.error(t)}})))};return t.subscribe(new U(e,p,(function(){h=!0,d()}))),function(){null==a||a()}}(e,r,t,n)})))}function Rt(t){return void 0===t&&(t=1/0),It(D,t)}function Dt(){return Rt(1)}function Ht(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Dt()(ft(t,_t(t)))}function Lt(t){return new L((function(e){ht(t()).subscribe(e)}))}function Pt(t,e,n){void 0===t&&(t=0),void 0===n&&(n=z);var r=-1;return null!=e&&(vt(e)?n=e:r=e),new L((function(e){var i=Nt(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 kt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t),r=bt(t,1/0),i=t;return i.length?1===i.length?ht(i[0]):Rt(r)(ft(i,n)):J}var Ut,xt,Gt,Ft,Mt,Bt,Wt=new L(N),Kt=Array.isArray;function Vt(t){return 1===t.length&&Kt(t[0])?t[0]:t}function Yt(t,e){return function(n,r){return!t.call(e,n,r)}}function jt(t,e){return k((function(n,r){var i=0;n.subscribe(new U(r,(function(n){return t.call(e,n,i++)&&r.next(n)})))}))}function $t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===(t=Vt(t)).length?ht(t[0]):new L(qt(t))}function qt(t){return function(e){for(var n=[],r=function(r){n.push(ht(t[r]).subscribe(new U(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 zt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=gt(t),r=Vt(t);return r.length?new L((function(t){var e=r.map((function(){return[]})),i=r.map((function(){return!1}));t.add((function(){e=i=null}));for(var o=function(o){ht(r[o]).subscribe(new U(t,(function(r){if(e[o].push(r),e.every((function(t){return t.length}))){var s=e.map((function(t){return t.shift()}));t.next(n?n.apply(void 0,u([],c(s))):s),e.some((function(t,e){return!t.length&&i[e]}))&&t.complete()}}),(function(){i[o]=!0,!e[o].length&&t.complete()})))},s=0;!t.closed&&s<r.length;s++)o(s);return function(){e=i=null}})):J}function Jt(t){return k((function(e,n){var r,i=null,o=!1;i=e.subscribe(new U(n,void 0,void 0,(function(s){r=ht(t(s,Jt(t)(e))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function Xt(t,e){return p(e)?It(t,e,1):It(t,1)}function Qt(t){return k((function(e,n){var r=!1;e.subscribe(new U(n,(function(t){r=!0,n.next(t)}),(function(){r||n.next(t),n.complete()})))}))}function Zt(t){return t<=0?function(){return J}:k((function(e,n){var r=0;e.subscribe(new U(n,(function(e){++r<=t&&(n.next(e),t<=r&&n.complete())})))}))}function te(t,e){return void 0===e&&(e=D),t=null!=t?t:ee,k((function(n,r){var i,o=!0;n.subscribe(new U(r,(function(n){var s=e(n);!o&&t(i,s)||(o=!1,i=s,r.next(n))})))}))}function ee(t,e){return t===e}function ne(t){return void 0===t&&(t=re),k((function(e,n){var r=!1;e.subscribe(new U(n,(function(t){r=!0,n.next(t)}),(function(){return r?n.complete():n.error(t())})))}))}function re(){return new wt}function ie(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?jt((function(e,n){return t(e,n,r)})):D,Zt(1),n?Qt(e):ne((function(){return new wt})))}}function oe(t){return t<=0?function(){return J}:k((function(e,n){var r=[];e.subscribe(new U(n,(function(e){r.push(e),t<r.length&&r.shift()}),(function(){var t,e;try{for(var i=a(r),o=i.next();!o.done;o=i.next()){var s=o.value;n.next(s)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}n.complete()}),void 0,(function(){r=null})))}))}function se(t){return k((function(e,n){var r,i,o=!1,s=function(){r=e.subscribe(new U(n,void 0,void 0,(function(e){i||(i=new G,t(i).subscribe(new U(n,(function(){return r?s():o=!0})))),i&&i.next(e)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function ae(t){void 0===t&&(t={});var e=t.connector,n=void 0===e?function(){return new G}: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=null,r=null,o=null,a=0,u=!1,l=!1,h=function(){null==r||r.unsubscribe(),r=null},d=function(){h(),e=o=null,u=l=!1},p=function(){var t=e;d(),null==t||t.unsubscribe()};return k((function(t,f){a++,l||u||h();var v=o=null!=o?o:n();f.add((function(){0!==--a||l||u||(r=ce(p,c))})),v.subscribe(f),e||(e=new T({next:function(t){return v.next(t)},error:function(t){l=!0,h(),r=ce(d,i,t),v.error(t)},complete:function(){u=!0,h(),r=ce(d,s),v.complete()}}),lt(t).subscribe(e))}))(t)}}function ce(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return!0===e?(t(),null):!1===e?null:e.apply(void 0,u([],c(n))).pipe(Zt(1)).subscribe((function(){return t()}))}function ue(t,e,n){var r,i,o,s=!1;return t&&\"object\"==typeof t?(o=null!==(r=t.bufferSize)&&void 0!==r?r:1/0,e=null!==(i=t.windowTime)&&void 0!==i?i:1/0,s=!!t.refCount,n=t.scheduler):o=null!=t?t:1/0,ae({connector:function(){return new W(o,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function le(t){return jt((function(e,n){return t<=n}))}function he(){return t=D,k((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(new U(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;ht(t(n,c)).subscribe(i=new U(r,(function(t){return r.next(e?e(n,t,c,s++):t)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}));var t,e}function de(t){return k((function(e,n){ht(t).subscribe(new U(n,(function(){return n.complete()}),N)),!n.closed&&e.subscribe(n)}))}function pe(t,e,n){var r=p(t)||e||n?{next:t,error:e,complete:n}:t;return r?k((function(t,e){t.subscribe(new U(e,(function(t){var n;null===(n=r.next)||void 0===n||n.call(r,t),e.next(t)}),(function(){var t;null===(t=r.complete)||void 0===t||t.call(r),e.complete()}),(function(t){var n;null===(n=r.error)||void 0===n||n.call(r,t),e.error(t)})))})):D}class fe extends Error{constructor(t,e){super(t),this.type=e,this.type=e,Object.setPrototypeOf(this,new.target.prototype)}}function ve(t,e,n=Ut.ERROR,r=xt.JS_LIB){e?null==e||e.write({level:n,layer:r,message:t}):e||n!==Ut.ERROR||console.error(t)}function Ee(t){return void 0!==t}!function(t){t.ERROR=\"error\",t.WARNING=\"warning\",t.INFO=\"info\"}(Ut||(Ut={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.NATIVE_CONSOLE=\"native-console\",t.JS_LIB=\"js-lib\"}(xt||(xt={})),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\"}(Gt||(Gt={}));class ge{constructor(t,e){this.compare=e,this.remove=new G,this.itemRemoved=this.remove,this.items=new M([]),this.itemList=this.items,this.itemAdded=t.pipe(At((t=>(this.addItem(t),t))),ae()),this.itemAdded.subscribe({next:t=>{t.onDisconnect.pipe(ie(),At((()=>this.removeItem(t.id))),jt(Ee)).subscribe((t=>this.remove.next(t)))},error:N}),this.itemRemoved.subscribe({error:N})}getValue(){return[...this.items.getValue()]}addItem(t){if(this.items.getValue().filter((e=>e.id.equals(t.id))).length>0)throw new fe(\"This item has already been added.\",Gt.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 fe(\"Item not found and therefore cannot be removed.\",Gt.UNEXPECTED_ERROR);const r=e.splice(n,1)[0];return this.items.next(e),r}}class _e{constructor(t,e){this.sdkVersion=\"4.1.0\",this.consoleAppVersion=t.pipe(ie((t=>\"ready\"===t.event)),At((t=>t.version)),Tt(1e3),ue(1),Jt((()=>mt(null)))),this.chromeExtensionVersion=t.pipe(ie((t=>\"chrome-extension-ready\"===t.event)),At((t=>t.version)),Tt(1e3),ue(1),Jt((()=>mt(null)))),zt(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}`,ve(r,e,Ut.INFO)}))}}class be{constructor(t,e,r){this.deviceDetector=t,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Ft.set(this,void 0),this._transport=e,this._readyEvents=e.consoleAppEvent.pipe(jt((t=>\"ready\"===t.event||\"chrome-extension-ready\"===t.event)),ue(2)),this._readyEvents.subscribe(),this._config=r,this.transportContext=e.context,n(this,Ft,new _e(this._readyEvents,null==r?void 0:r.logger),\"f\")}getVersion(){return e(this,Ft,\"f\").sdkVersion}getChromehostVersion(){return Ot(e(this,Ft,\"f\").consoleAppVersion)}getChromeExtensionVersion(){return Ot(e(this,Ft,\"f\").chromeExtensionVersion)}}Ft=new WeakMap,function(t){t.NODE=\"node\",t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\"}(Mt||(Mt={})),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\"}(Bt||(Bt={}));const me=\"Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!\";function ye(e,n=Bt.CHROME_EXTENSION,r){return t(this,void 0,void 0,(function*(){if(n!==Bt.WEB_HID){const t=yield import(\"./chrome-extension-transport-1b253c4b.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),i=yield t.TransportChromeExtension.checkInstallation();if(i.ok)return ve(\"Using Chrome extension for transport.\",e,Ut.INFO),new t.TransportChromeExtension(e,r);if(n===Bt.CHROME_EXTENSION)throw new fe(i.message,Gt.INIT_ERROR);n===Bt.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&ve(i.message,e,Ut.INFO)}return ve(\"Using WebHID for transport.\",e,Ut.INFO),function(e,n){return t(this,void 0,void 0,(function*(){const t=yield import(\"./init-handler-8a0a1ce2.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),r=yield import(\"./web-hid-transport-3d30e3bd.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),i=t.initHandler(e);return new r.WebHidTransport(i,e,n)}))}(e,r)}))}class we{constructor(t,e){this.log=t.consoleAppEvent.pipe(jt((t=>\"log\"===t.event)),At((t=>({message:t.message,level:t.level,layer:t.layer})))),this.log.subscribe((t=>ve(t.message,e,t.level,t.layer)))}}const Oe=[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 Ne{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 less 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 less than 100 characters.\",!1);/^[\\p{L}\\p{N}]+[\\p{L}\\p{N}\\u0020&-]*$/gu.test(this.config.appName)||this.logWarning(\"The appName is invalid. Name should consist of 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=Oe[e]^r<<8}return 65535&(0^r)}(n.join(\"-\")).toString(16).padStart(4,\"0\");return e===r}}var Ce,Te,Se,Ae,Ie,Re,De;!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\"}(Ce||(Ce={}));class He{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\"}(Te||(Te={})),function(t){t[t.DATA=1]=\"DATA\"}(Se||(Se={}));class Le{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\"}(Ae||(Ae={})),function(t){t[t.EVENT=0]=\"EVENT\",t[t.READ=1]=\"READ\",t[t.WRITE=2]=\"WRITE\",t[t.REPLY=3]=\"REPLY\"}(Ie||(Ie={})),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\"}(Re||(Re={})),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\"}(De||(De={}));const Pe={command:Re.DEVICE,subCommand:De.ATTACH_EVENT,serialize:t=>Uint8Array.from([5,0])};function ke(t){const e=t.payload,n=e[0],r=e.length-1;if(r!==n)throw new fe(`Invalid response. Expected length: ${n}, actual: ${r}`,Gt.DEVICE_ERROR);const i=e.slice(1);return String.fromCharCode(...Array.from(i))}class Ue{constructor(){var t;this.command=Re.IDENT,this.subCommand=De.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 fe(`Invalid response. Expected length: ${r}, actual: ${i}`,Gt.DEVICE_ERROR);const o=[];return n.slice(1).forEach((e=>{o.push(t(e))})),o})}}const xe={command:Re.IDENT,subCommand:De.NAME,deserialize:ke},Ge={command:Re.IDENT,subCommand:De.PID,deserialize:function(t){const e=t instanceof Le?t.payload:t;return new DataView(e.buffer).getUint16(0,!0)}};class Fe{constructor(){this.command=Re.CONFIG,this.subCommand=De.CONFIG_PREFERRED_SOFTPHONE,this.deserialize=t=>t.payload[0],this.serialize=t=>Uint8Array.of(t)}}class Me{constructor(){this.command=Re.IDENT,this.subCommand=De.TYPE,this.deserialize=t=>t.source}}const Be={command:Re.IDENT,subCommand:De.ID,deserialize:ke};\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function We(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 Ke,Ve,Ye=We((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)},b=function(t,e){for(var n=0;n<c;n++)t[n]&=e[n];return t},m=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)},w=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)},O=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(),b(this.state,this.mask),t=f(void 0!==t?t>>>0:4294967295*Math.random()>>>0),m(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);w(e,18),N(e,t),w(e,27);var n=p(t);w(n,59),b(e,this.mask);var r=v(n),i=p(e);return O(i,32-r),w(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,k=0,U=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?U.prototype=new Uint8Array(16):Buffer?U.prototype=Buffer.alloc(16):U.prototype=new Array(16),U.prototype.constructor=U,U.prototype.make=function(t){var e,n=this;if(1===t){var r=(new Date).getTime();r!==P?k=0:k++,P=r;var i,o=f(r);g(o,1e4),E(o,h(1,178,29,210,19,129,64,0)),k>0&&E(o,f(k)),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 U?arguments[1]:(new U).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},U.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},U.prototype.toString=function(t){return this.format(t)},U.prototype.toJSON=function(){return this.format(\"std\")},U.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},U.prototype.export=function(){for(var t=Array(16),e=0;e<16;e++)t[e]=this[e];return t},U.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},U.prototype.compare=function(t){if(\"object\"!=typeof t)throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");if(!(t instanceof U))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},U.prototype.equal=function(t){return 0===this.compare(t)},U.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},U.PCG=D,U}(),t.exports.default=t.exports}));class je{constructor(t){this.transport=t,this.gnpLockAcquired=t.consoleAppEvent.pipe(jt((t=>\"response-gnp-lock\"===t.event)),At((t=>t.token)),ue(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(t){const e=new Ye(4).toString(),n={action:\"request-gnp-lock\",id:t,token:e},r=this.gnpLockAcquired.pipe(ie((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\"}(Ke||(Ke={})),function(t){t.ABSOLUTE=\"absolute\",t.RELATIVE=\"relative\"}(Ve||(Ve={}));class $e{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 qe(t,e,n){const r=t.toString(16).padStart(4,\"0\"),i=e.toString(16).padStart(4,\"0\");return new $e(`${r}:${i}:${n}`)}class ze{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 ze(new $e(t),e.usagePage,e.usage,e.value)}}class Je{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)),Je.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 Ye(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(ie((t=>\"response-hid-feature\"===t.event&&t.token===n)),At((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 Xe(t){return e=>e.pipe(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=gt(t);return k((function(e,r){for(var i=t.length,o=new Array(i),s=t.map((function(){return!1})),a=!1,l=function(e){ht(t[e]).subscribe(new U(r,(function(t){o[e]=t,a||s[e]||(s[e]=!0,(a=s.every(D))&&(s=null))}),N))},h=0;h<i;h++)l(h);e.subscribe(new U(r,(function(t){if(a){var e=u([t],c(o));r.next(n?n.apply(void 0,u([],c(e))):e)}})))}))}(t),jt((([t,e])=>e)),At((([t,e])=>t)))}Je.inputReportsFilter=t=>t.pipe(jt((t=>\"hid-input\"===t.event)),At((t=>ze.deserialize(t.id,t))));class Qe{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 Le(e,n,i,o,s,c,r)}}Qe.lengthMask=63;class Ze{constructor(){this.data=[]}hasHeader(){return this.data.length>=Ze.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new fe(\"Unable to get expected packet length without a full header\",Gt.UNEXPECTED_ERROR);return Qe.packetLengthFromAttr(this.data[3])}appendData(t){this.hasHeader()&&this.expectedPacketLength()>Ze.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 fe(\"Trying to get packet but buffer is not complete\",Gt.UNEXPECTED_ERROR);const t=Qe.deserialize(Uint8Array.from(this.data));return this.data=[],t}}Ze.gnpPacketHeaderLength=6,Ze.gnpPacketMaxLength=63;const tn=()=>{};function en(t){return pe((e=>t()),(e=>t()),(()=>tn))}const nn=()=>{return t=t=>t.command===Re.NACK,e=t=>new fe(`Got NACK response. Reason: ${t.subCommand}`,Gt.DEVICE_ERROR),n=>n.pipe(At((n=>t(n)?yt(e(n)):mt(n))),he());var t,e},rn=t=>ie((e=>e.type===Ie.REPLY&&e.sequenceNumber===t.sequenceNumber&&e.destination===t.source&&e.source===t.destination));class on{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(on.inputFilter),this.events=this.packets.pipe(on.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return t=>{const e=t.pipe(jt((t=>t.usagePage===Te.GN_PROTOCOL&&t.usage===Se.DATA&&t.isArray()))),n=new Ze;return e.pipe(It((t=>{const e=t.value;if(n.appendData(e),n.hasFullPacket()){return mt(n.getPacketAndReset())}return Wt})),ae())}}static supportsGnpOverHid(t){return void 0!==t.findDescriptor(Te.GN_PROTOCOL,Se.DATA,Ke.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(Te.GN_PROTOCOL,Se.DATA,Ke.OUTPUT))||void 0===e?void 0:e.reportSize;if(!n)throw new fe(\"Cannot send GNP packets to this device.\",Gt.DEVICE_ERROR);const r=class{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}}.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(Te.GN_PROTOCOL,Se.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 Le(n,Ae.PC_ADDR,Ie.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 He(t,(t=>new Uint8Array));return this.readWithParams(r,null,e,n)}readWithParams(t,e,n=this.primaryAddress,r=2500){const i=new Le(n,Ae.PC_ADDR,Ie.READ,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new G;return this.doWithGnpLockHeld(((e,n,s)=>{n.pipe(rn(i),nn(),ie((t=>t.command===i.command&&t.subCommand===i.subCommand)),Tt(r),en(s),At((e=>t.deserialize(e)))).subscribe(o),e(i)})),o}write(t,e,n=this.primaryAddress,r=2500){const i=new Le(n,Ae.PC_ADDR,Ie.WRITE,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new G;return this.doWithGnpLockHeld(((t,e,n)=>{e.pipe(rn(i),nn(),ie((t=>t.command===Re.ACK)),Tt(r),en(n),At((()=>!0))).subscribe(o),t(i)})),o}}on.eventsFilter=t=>t.pipe(jt((t=>t.type===Ie.EVENT)));class sn{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 an(t,e,n,r){if(!on.supportsGnpOverHid(t))return yt((()=>new fe(\"Device does not support GNP commands.\",Gt.DEVICE_ERROR)));const i=mt(Ae.HS_BT_USB_ADDR,Ae.BASE_ADDR,Ae.CRADLE_ADDR,Ae.HS1_ADDR,Ae.HS_CRADLE_ADDR).pipe(At(((r,i)=>Lt((()=>{const o=new on(t,new je(e),n,r,i),s=new Me;return o.read(s,r,500).pipe(At((t=>o)),Jt((()=>J)))})))),Dt(),Zt(1),ne((()=>new fe(\"GNP probe failed.\",Gt.DEVICE_ERROR))));return $t(r.pipe(It((t=>yt((()=>new fe(\"Device was suddenly disconnected.\",Gt.DEVICE_ERROR)))))),i).pipe(ae())}function cn(t,e){return new sn(t,e)}class un{constructor(){this.primaryAddress=Ae.BASE_ADDR,this.events=Wt}subscribeToEvent(t,e){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}sendEvent(t,e,n){throw new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)}read(t,e,n){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}readWithParams(t,e,n,r){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}write(t,e,n,r){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}}class ln{constructor(t){this.transportId=t,this.isChild=!1}equals(t){return this.isChild===t.isChild&&this.transportId===t.transportId}toString(){return this.transportId}}class hn{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 dn,pn,fn;!function(t){t.NO_TRACKING=\"no-tracking\",t.TRACK_ERRORS=\"track-errors\",t.TRACK_USAGE=\"track-usage\",t.TRACK_ALL=\"track-all\"}(dn||(dn={})),function(t){t[t.BLUETOOTH=0]=\"BLUETOOTH\",t[t.INDIRECT=1]=\"INDIRECT\",t[t.USB=2]=\"USB\"}(pn||(pn={})),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\"}(fn||(fn={}));class vn{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:N})}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 vn(t,e,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const En=(t=3,e=500)=>n=>n.pipe(It(((n,r)=>{const i=r+1;return i>t?yt((()=>n)):Pt(i*i*e)})));function gn(t,e,n,r=1e3,i=3,o=100){return Lt((()=>t.read(e,n,r))).pipe(se(En(i,o)))}function _n(t,e,n){const{deviceType:r,address:i}=n;return{transportId:e.transportId,vid:e.vid,pid:gn(t,Ge,i),name:gn(t,xe,i),serialNumber:gn(t,Be,i),capabilities:e.capabilities,deviceType:r,connectionGnpAddress:i}}class bn{constructor(t,e,n=_n,r=vn.createConnection,i=cn){this.parentConnection=e,this.connectionCreator=r,this.createChildGnpChannel=i;const o=e.events.pipe(jt((t=>t.command===Re.DEVICE&&t.subCommand===De.ATTACH_EVENT)),At((t=>({deviceType:t.payload[0],address:t.payload[1]})))).pipe(At(n.bind(null,e,t)));this.connectionEvents=o.pipe(At((t=>{const n=$t(e.events.pipe(ie((e=>e.command===Re.DEVICE&&e.subCommand===De.DETACH_EVENT&&e.payload[1]===t.connectionGnpAddress)),At(N)),e.onDisconnect);return{attach:t,detach:n}})),It((t=>zt(mt(t.attach),this.createConnection(t.attach,t.detach)))),At((([t,e])=>({event:t,connection:e}))),de(e.onDisconnect)),e.sendEvent(Pe,[])}createConnection(t,e){const n=t.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new hn(this.parentConnection.id,n);return mt(this.connectionCreator(i,pn.INDIRECT,this.parentConnection.hidChannel,r,e,this.parentConnection.id))}}const mn={command:Re.IDENT,subCommand:De.TYPE,deserialize:t=>{const{payload:e}=t,n=e[0];if(n<1||n>=e.length)throw new fe(\"Cannot get device type.\",Gt.DEVICE_ERROR);return e[1]}};function yn(t,e,n,r=Ut.ERROR,i=xt.JS_LIB){ve(`${t} ${function(t){if(t instanceof fe){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)}`,n,r,i)}function wn(t){return new bn(t.event,t.connection).connectionEvents}class On{constructor(t,e,n=((t,e,n)=>new Je(t,e,n)),r=an,i=wn,o=vn.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)),At(On.createAttachEvent),Jt(((t,e)=>(yn(\"\",t,this.logger),e)))).pipe(At((t=>{const e=this.transport.consoleAppEvent.pipe(jt((t=>\"detach\"===t.event)),ie((e=>On.getTransportId(e)===t.transportId)),At(N),ue());return e.subscribe(),{attach:t,detach:e}})),It((t=>this.createConnection(t.attach,t.detach))),ae()),a=s.pipe(jt((t=>t.event.deviceType===fn.DONGLE)),jt((t=>on.supportsGnpOverHid(t.connection.hidChannel))),It((t=>i(t))));this.connectionEvents=kt(s,a).pipe(ae())}static convertToReportType(t){switch(t){case\"input\":return Ke.INPUT;case\"output\":return Ke.OUTPUT;case\"feature\":return Ke.FEATURE;default:throw new fe(`${t} is not a valid ReportType`,Gt.UNEXPECTED_ERROR)}}static convertToValueType(t){switch(t){case\"absolute\":return Ve.ABSOLUTE;case\"relative\":return Ve.RELATIVE;default:throw new fe(`${t} Not a valid ValueType`,Gt.UNEXPECTED_ERROR)}}static createDescriptor(t){return t.map((t=>({reportType:On.convertToReportType(t.reportType),usagePage:t.usagePage,usage:t.usage,valueType:On.convertToValueType(t.valueType),reportSize:t.reportSize})))}static getMandatoryField(t,e){const n=t[e];if(void 0===n)throw new fe(`JSON event lacks required field \"${e}: ${JSON.stringify(t)}`,Gt.UNEXPECTED_ERROR);return n}static getTransportId(t){return On.getMandatoryField(t,\"id\")}static createAttachEvent(t){return{transportId:On.getTransportId(t),vid:On.getMandatoryField(t,\"vid\"),pid:mt(On.getMandatoryField(t,\"pid\")),name:mt(On.getMandatoryField(t,\"name\")),serialNumber:mt(On.getMandatoryField(t,\"serialNumber\")),capabilities:On.createDescriptor(On.getMandatoryField(t,\"descriptor\"))}}createConnection(t,e,n=3,r=100){const{capabilities:i,transportId:o}=t,s=new ln(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,e).pipe(Jt(((t,e)=>(t.type&&t.type===Gt.DEVICE_ERROR&&this.transport.context===Mt.WEB_HID&&ve(\"Child devices are not yet supported when using WebHID.\",this.logger,Ut.WARNING,xt.JS_LIB),mt(new un)))),ae()),u=c.pipe(It((t=>t.read(mn))),se(En(n,r)),Jt((t=>mt(fn.ANY))));return zt(c,u).pipe(de(e),At((([n,r])=>({event:Object.assign(Object.assign({},t),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,pn.USB,a,n,e)}))))}}var Nn,Cn,Tn,Sn,An;class In{constructor(t,r,i,o,s,a){this.vendorId=t,this.productId=r,this.serialNumber=i,this.name=o,this.type=s,Cn.set(this,void 0),n(this,Cn,new ge(a,e(In,Nn,\"m\",Sn)),\"f\"),this.connectionAdded=e(this,Cn,\"f\").itemAdded,this.connectionRemoved=e(this,Cn,\"f\").itemRemoved,this.connectionList=e(this,Cn,\"f\").itemList,this.onDisconnect=e(this,Cn,\"f\").itemList.pipe(le(1),ie((t=>0===t.length)),At(N),ae())}get id(){return qe(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return e(this,Cn,\"f\").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,\"0\")}:${this.productId.toString(16).padStart(4,\"0\")}`}}Nn=In,Cn=new WeakMap,Sn=function(t,n){return e(In,Nn,\"f\",Tn).indexOf(t.type)-e(In,Nn,\"f\",Tn).indexOf(n.type)},Tn={value:[pn.USB,pn.INDIRECT,pn.BLUETOOTH]};class Rn{constructor(t){this.deviceObservables=new ge(t)}static exceptionToUndefined(t){try{return t()}catch(t){if(t instanceof fe)return;throw t}}connectionExists(t){return void 0!==Rn.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 fe(`Could not find connection with id ${t.toString()}`,Gt.UNEXPECTED_ERROR)}findDeviceByDeviceId(t){return this.deviceObservables.getValue().find((e=>e.id.startsWith(t)||t.startsWith(e.id)))}}class Dn{constructor(t,e){this.logger=e;const[n,r]=(i=t.pipe(jt((t=>!this.deviceCollection.connectionExists(t.connection.id))),Xt((t=>this.force(t)))),[jt(o=({event:t,pid:e,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(qe(t.event.vid,e,n)),s)(ht(i)),jt(Yt(o,s))(ht(i))]);var i,o,s;const a=n.pipe(At((t=>Dn.createDevice(t,r))));this.deviceCollection=new Rn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(t){const{name:e,pid:n,serialNumber:r}=t.event,i=t.connection.onDisconnect.pipe((o=yt((()=>new Error(`Connection with ID ${t.connection.id} disconnected`))),p(s)?Xt((function(){return o}),s):Xt((function(){return o}))));var o,s;return zt(e,n,r).pipe(At((([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?k((function(e,n){qt(u([e],c(t)))(n)})):D}(i),Jt((t=>(ve(`Failed to retrieve child connection information. Error: ${t}`,this.logger,Ut.WARNING,xt.JS_LIB),J))))}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=>Dn.isSameDevice(t,e))),At((t=>t.event.connection))),u=Ht(mt(n.connection),c);return new In(s,r,o,i,a,u)}static isSameDevice(t,e){const n=qe(t.event.event.vid,t.pid,t.serialNumber),r=qe(e.event.event.vid,e.pid,e.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(t,e){const n=new On(t,e);return new Dn(n.connectionEvents)}}function Hn(e){var n,r,i;return t(this,void 0,void 0,(function*(){const t=null==e?void 0:e.logger;ve(\"Jabra SDK JS starting up...\",t,Ut.INFO);const o=new Ne(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(r=null===(n=null==e?void 0:e.internal)||void 0===n?void 0:n.testDeviceTransport)&&void 0!==r?r:yield ye(t,null==e?void 0:e.transport,null===(i=null==e?void 0:e.internal)||void 0===i?void 0:i.recorder);new we(s,t);const a=Dn.create(s,t),c=new be(a,s,e);return yield s.connect(),c}))}class Ln{constructor(t,e,n,r){this.deviceId=t,this.usagePage=e,this.usage=n,this.value=r}}class Pn{constructor(t,e){this.token=t,this.value=e}}!function(t){t.UsageReport=class{constructor(t,e){this.usage=t,this.value=e}}}(An||(An={}));var kn,Un,xn,Gn,Fn,Mn,Bn,Wn,Kn,Vn,Yn=We((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 jn(){return t(this,void 0,void 0,(function*(){const{hid:t}=window.navigator;if(!t)throw new fe(\"WebHID not supported\",Gt.INIT_ERROR);yield t.requestDevice({filters:[{vendorId:kn.VENDOR_ID}]});new BroadcastChannel(kn.PAIRING_CHANNEL).postMessage(null)}))}!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.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\"}(Un||(Un={}));class $n{constructor(t,e,n){this.type=t,this.value=e,this.valueType=n}toString(){return void 0===Un[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Un[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\"}(xn||(xn={})),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\"}(Gn||(Gn={})),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\"}(Fn||(Fn={}));class qn{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(ae());return t.subscribe(),t}filter(){const t=this.hidChannel.input.pipe(jt((t=>t.usagePage===xn.GN_TELEPHONY&&!t.isArray())),It((t=>{const e=this.hidChannel.descriptor.find((e=>e.usagePage===t.usagePage&&e.usage===t.usage));return(null==e?void 0:e.valueType)?mt(Object.assign(Object.assign({},t),{valueType:e.valueType})):(yn(\"\",new fe(`Unable to find value-type in descriptor for UsagePage: ${t.usagePage} and Usage: ${t.usage}`,Gt.FEATURE_NOT_SUPPORTED),this.logger),J)})),jt((t=>{if(t.valueType===Ve.RELATIVE)return Boolean(t.value);return this.cachedSignals.get(t.usage)!==t.value})),pe((t=>{this.cachedSignals.set(t.usage,t.value)})),de(this.onDisconnect),ae()),e=[Un.HOOK_SWITCH,Un.REDIAL],n=t.pipe(Xe(this.isSoftphoneInFocus),jt((t=>e.includes(t.usage)&&!this.lockHeld.getValue())));return kt(t.pipe(jt((t=>this.lockHeld.getValue()))),n).pipe(At((t=>new $n(t.usage,0!==t.value,t.valueType))),Jt((t=>(ve(t.message,this.logger),J))))}}class zn{constructor(t,r,i,o,s,a){this.device=t,this.onDisconnect=i,Mn.set(this,void 0),Bn.set(this,new M(!1)),Wn.set(this,void 0),Kn.set(this,!1),this.deviceSignals=new G,n(this,Mn,o,\"f\"),e(this,Mn,\"f\").lockHeld.subscribe(e(this,Bn,\"f\")),n(this,Wn,r,\"f\"),this.onDisconnect.pipe(ie(),At((()=>!0))).subscribe((t=>{n(this,Kn,t,\"f\")}));const c=new qn(e(this,Wn,\"f\"),this.onDisconnect,s,e(this,Bn,\"f\"),a);this.deviceSignals=c.setup()}checkCallLockHeld(t){if(!e(this,Bn,\"f\").getValue())throw new fe(t,Gt.SDK_USAGE_ERROR)}checkCallLockNotHeld(t){if(e(this,Bn,\"f\").getValue())throw new fe(t,Gt.SDK_USAGE_ERROR)}checkHasDisconnected(){if(e(this,Kn,\"f\"))throw new fe(\"CallControl cannot be performed as the connection has disconnected.\",Gt.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld(\"Trying to take the call lock, but it is already held!\"),function(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 wt)}})}))}(e(this,Mn,\"f\").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld(\"Trying to release the call lock, but it is not held!\"),e(this,Mn,\"f\").releaseCallLock()}offHook(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"Calls can only be started and stopped when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.OFF_HOOK,Ke.OUTPUT);if(!n)throw new fe(`Device ${this.device.name} does not support any offHook functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}ring(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The ringer state can only be modified when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.RING,Ke.OUTPUT),r=e(this,Wn,\"f\").findDescriptor(xn.GN_TELEPHONY,Fn.RINGER,Ke.OUTPUT);if(!n&&!r)throw new fe(`Device ${this.device.name} does not support any ring functionality.`,Gt.FEATURE_NOT_SUPPORTED);if(n){const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}if(r){const n=t?1:0;e(this,Wn,\"f\").output(r.usagePage,r.usage,n)}}mute(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The mute state can only be modified when the call lock is held.\");let n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.MIC_MUTE,Ke.OUTPUT);if(n||(n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.MUTE,Ke.OUTPUT)),!n)throw new fe(`Device ${this.device.name} does not support any mute functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}hold(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The hold state can only be modified when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.HOLD,Ke.OUTPUT);if(!n)throw new fe(`Device ${this.device.name} does not support hold functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}}Mn=new WeakMap,Bn=new WeakMap,Wn=new WeakMap,Kn=new WeakMap,function(t){t[t.STD_TELEPHONY=0]=\"STD_TELEPHONY\",t[t.GN_TELEPHONY=1]=\"GN_TELEPHONY\"}(Vn||(Vn={}));const Jn={[Ce.SKYPE]:Vn.GN_TELEPHONY,[Ce.CISCO]:Vn.GN_TELEPHONY,[Ce.AVAYA]:Vn.GN_TELEPHONY,[Ce.SIEMENS]:Vn.GN_TELEPHONY,[Ce.IBM]:Vn.GN_TELEPHONY,[Ce.AASTRA]:Vn.GN_TELEPHONY,[Ce.JABRA]:Vn.GN_TELEPHONY,[Ce.NEC]:Vn.GN_TELEPHONY,[Ce.SHORETEL]:Vn.GN_TELEPHONY,[Ce.MS_OC]:Vn.STD_TELEPHONY,[Ce.ALCATEL]:Vn.STD_TELEPHONY,[Ce.OTHER]:Vn.STD_TELEPHONY,[Ce.NORTEL]:null,[Ce.GENERIC]:null};function Xn(t,e){const n=t.read(new Fe).pipe(At((t=>Jn[t]===e))),r=t.read(new Ue).pipe(At((t=>t.find((t=>Jn[t]===e))))).pipe(At((e=>e?t.write(new Fe,e):mt(!1))),he());return n.pipe((i=mt(!0),o=r,t=>t.pipe(At((t=>t?i:o)),he())));var i,o}class Qn{constructor(t,e,n){this.connectionCallLock=t,this.device=e,this.logger=n,this.lockHeld=new M(!1),this.currentLocks=new M([]),this.lockReleaseEvent=new G,this.lockReleaseEvent.subscribe((()=>this.lockHeld.next(!1)))}tryTakeCallLock(){const{currentConnections:t}=this.device,e=[],n=Lt((()=>lt(t).pipe(Xt((t=>this.takeSingleCallLock(t))),pe((t=>e.push(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)})):D,oe(1),n?Qt(e):ne((function(){return new wt})))}}(),Jt((t=>mt(\"\"))),At((n=>(this.currentLocks.next(e),e.length!==t.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0)))),ae());return n.subscribe((t=>{t&&(this.device.connectionAdded.pipe(de(this.lockReleaseEvent)).subscribe((t=>{this.takeSingleCallLock(t).pipe(At((t=>{this.currentLocks.getValue().push(t),this.currentLocks.next(this.currentLocks.getValue())})),se(En())).subscribe({error:t=>{ve(`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,Ut.WARNING,xt.JS_LIB)}})})),this.device.connectionRemoved.pipe(de(this.lockReleaseEvent)).subscribe((t=>this.releaseSingleCallLock(t.id.transportId))))})),n}takeSingleCallLock(t){return Lt((()=>this.connectionCallLock.tryTakeCallLock(t.id.transportId))).pipe(At((e=>e.acquired?mt(e.transportId):yt((()=>new fe(`Failed to acquire call lock on connection ${t.id.transportId}`,Gt.SDK_USAGE_ERROR))))),he())}releaseCallLock(){this.lockReleaseEvent.next();[...this.currentLocks.getValue()].forEach((t=>{try{this.releaseSingleCallLock(t)}catch(t){}})),this.currentLocks.next([])}releaseSingleCallLock(t){this.connectionCallLock.releaseCallLock(t);const e=this.currentLocks.getValue().findIndex((e=>e===t));if(e>-1){const t=this.currentLocks.getValue();t.splice(e,1),this.currentLocks.next(t)}0!==this.currentLocks.getValue().length&&0!==this.device.currentConnections.length||this.lockReleaseEvent.next()}}class Zn{constructor(t){this.transport=t,this.callLockAcquiredResponse=this.transport.consoleAppEvent.pipe(jt((t=>\"response-call-lock\"===t.event)),At((t=>({transportId:t.id,acquired:t.acquired}))))}tryTakeCallLock(t){const e={action:\"request-call-lock\",id:t};return this.transport.writeAction(e),this.callLockAcquiredResponse.pipe(ie((e=>e.transportId===t)))}releaseCallLock(t){const e={action:\"release-call-lock\",id:t};this.transport.writeAction(e)}}const tr=[{usagePage:xn.GN_LED,usage:Gn.OFF_HOOK,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.RING,reportType:Ke.OUTPUT},{usagePage:xn.GN_TELEPHONY,usage:Fn.RINGER,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.MIC_MUTE,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.MUTE,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.HOLD,reportType:Ke.OUTPUT}],er=[pn.USB,pn.INDIRECT,pn.BLUETOOTH];function nr(t,e){const{hidChannel:n}=t;return!!function(t){return tr.some((({usagePage:e,usage:n,reportType:r})=>t.findDescriptor(e,n,r)))}(n)&&(!on.supportsGnpOverHid(n)||e!==fn.DONGLE&&e!==fn.OTHER)}function rr(t){const{currentConnections:e,type:n}=t;var r;return(r=e,[...r].sort(((t,e)=>er.indexOf(t.type)-er.indexOf(e.type)))).find((t=>nr(t,n)))}function ir(t,e,n,r,i){const o=rr(t),{hidChannel:s,onDisconnect:a}=o,c=new Qn(new Zn(r),t,i);if(e)return mt(new zn(t,s,a,c,n.softphoneInFocus,i));if(r.context===Mt.WEB_HID)return mt(new zn(t,s,a,c,n.softphoneInFocus,i));return function(t,e){return t.findDescriptor(xn.GN_TELEPHONY,Fn.GN_TELEPHONY_CONT_SET,Ke.FEATURE)?Lt((()=>(t.setFeatureReport(xn.GN_TELEPHONY,Fn.GN_TELEPHONY_CONT_SET,1),mt(!0)))):e?Xn(e,Vn.GN_TELEPHONY):mt(!1)}(s,o).pipe(At((e=>new zn(t,s,a,c,n.softphoneInFocus,i))))}class or{constructor(t){this.devComm=t,this.softphoneInFocus=new L,this.softphoneInFocus=this.devComm.consoleAppEvent.pipe(jt((t=>\"softphone-in-focus\"===t.event)),At((t=>t.infocus)),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t);return k((function(e,r){(n?Ht(t,e,n):Ht(t,e)).subscribe(r)}))}(!1),ue(1)),this.softphoneInFocus.subscribe((()=>{}))}setSharedSoftphoneInfo(t){if(!(null==t?void 0:t.partnerKey)||!(null==t?void 0:t.appId))return void ve(\"Unable to register with Jabra Direct: partnerKey or appId missing in config\",null==t?void 0:t.logger,Ut.WARNING);const e=t.partnerKey+t.appId,n=new Ye(5,\"ns:OID\",e);let{appName:r}=t;if((!t.appName||t.appName.length<3)&&(ve(\"App name missing in config. Fall back to use appId as app name.\",null==t?void 0:t.logger,Ut.WARNING),r=t.appId),r.length>100)return void ve(\"Unable to register with Jabra Direct: appName must be below 100 characters.\",null==t?void 0:t.logger,Ut.WARNING);const i={action:\"set-softphone-info\",name:r,id:n.toString()};this.devComm.writeAction(i)}}var sr,ar,cr,ur,lr,hr,dr,pr,fr,vr,Er,gr,_r;class br{constructor(t){var r;sr.set(this,void 0),ar.set(this,void 0),cr.set(this,void 0),ur.set(this,void 0),n(this,ar,new or(t._transport),\"f\"),e(this,ar,\"f\").setSharedSoftphoneInfo(t._config),n(this,sr,t._transport,\"f\"),n(this,cr,null===(r=t._config)||void 0===r?void 0:r.logger,\"f\"),n(this,ur,t._readyEvents.pipe(ie((t=>\"ready\"===t.event)),At((t=>t.jabraDirectInstalled))),\"f\")}createCallControl(t){if(!this.supportsCallControl(t))return Promise.reject(new fe(`Device ${t.name} does not support call control.`,Gt.FEATURE_NOT_SUPPORTED));return Ot(e(this,ur,\"f\").pipe(It((n=>ir(t,n,e(this,ar,\"f\"),e(this,sr,\"f\"),e(this,cr,\"f\"))))))}supportsCallControl(t){return void 0!==rr(t)}}sr=new WeakMap,ar=new WeakMap,cr=new WeakMap,ur=new WeakMap,function(t){t.HOLD_CURRENT=\"hold-current\",t.END_CURRENT=\"end-current\"}(lr||(lr={})),function(t){t.MUTED=\"muted\",t.UNMUTED=\"unmuted\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(hr||(hr={})),function(t){t.ON_HOLD=\"on-hold\",t.NOT_ON_HOLD=\"not-on-hold\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(dr||(dr={})),function(t){t.NO_INCOMING=\"no-incoming\",t.AWAITING_RESPONSE=\"awaiting-response\",t.RESOLVING_RESPONSE=\"resolving-response\",t.RESOLVING_RESPONSE_FROM_DEVICE=\"resolving-response-from-device\",t.ACCEPTED=\"accepted\",t.REJECTED=\"rejected\"}(pr||(pr={}));class mr{constructor(t){this.state=t.value,t.subscribe((t=>{this.state=t}))}}class yr extends mr{constructor(t,e,n,r,i,o){super(t),this.commands=e,this.deviceSignals=n,this.enableFlash=r,this.onTeardown=i,this.logger=o}setupSignalListeners(){const e=this.extendedSignals.pipe(jt((t=>t.allowed))),n=this.extendedSignals.pipe(jt((t=>!t.allowed)));e.subscribe((t=>{ve(`Accepted signal: ${Un[t.type]} [${t.value}]`,null==this?void 0:this.logger,Ut.INFO)})),n.subscribe((t=>{ve(`Ignored signal: ${Un[t.type]} [${t.value}]`,null==this?void 0:this.logger,Ut.INFO)})),e.pipe(jt((t=>t.type===Un.HOOK_SWITCH))).subscribe((t=>{this.state.incomingCall!==pr.AWAITING_RESPONSE?!1===t.value&&this.state.ongoingCalls>0&&this.commands.hookHandler.endCall():this.commands.incomingCallHandler.acceptIncomingCall(lr.END_CURRENT,!0)})),e.pipe(jt((t=>t.type===Un.PHONE_MUTE))).subscribe((()=>{const t=this.state.muteState===hr.MUTED?hr.UNMUTED:hr.MUTED;this.commands.muteHandler.setMute(t)})),e.pipe(jt((t=>t.type===Un.FLASH))).subscribe((()=>t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)return void(yield this.commands.incomingCallHandler.acceptIncomingCall(lr.HOLD_CURRENT,!0));if(this.state.ongoingCalls>1)return void this.commands.swapHandler.swapCalls();const t=this.state.holdState===dr.ON_HOLD?dr.NOT_ON_HOLD:dr.ON_HOLD;this.commands.holdHandler.setHold(t)})))),e.pipe(jt((t=>t.type===Un.REJECT_CALL))).subscribe((()=>{this.state.incomingCall===pr.AWAITING_RESPONSE&&this.commands.incomingCallHandler.rejectIncomingCall()}))}get extendedSignals(){return this.deviceSignals.pipe(It((t=>{let e=!0;return t.type!==Un.FLASH||this.enableFlash||(e=!1),this.state.ignoreSignals&&(e=!1),mt(Object.assign(Object.assign({},t),{allowed:e}))})),de(this.onTeardown))}}class wr{constructor(t,r,i,o,s=!0){this.logger=o,fr.set(this,void 0),vr.set(this,void 0),Er.set(this,new G),gr.set(this,!0),this.device=t.device,this.onDisconnect=t.onDisconnect,this.muteState=i.muteState,n(this,fr,r,\"f\"),n(this,vr,(()=>i.unsubscribeState()),\"f\"),this.onDisconnect.pipe(ie()).subscribe((()=>this.teardown(!1)));new yr(i.internalState,r,t.deviceSignals,s,e(this,Er,\"f\"),o).setupSignalListeners()}endCall(){return e(this,fr,\"f\").hookHandler.endCall()}signalIncomingCall(){return this._checkActive(),e(this,fr,\"f\").incomingCallHandler.signalIncomingCall()}rejectIncomingCall(){this._checkActive(),e(this,fr,\"f\").incomingCallHandler.rejectIncomingCall()}mute(){this._checkActive(),e(this,fr,\"f\").muteHandler.setMute(hr.MUTED)}unmute(){this._checkActive(),e(this,fr,\"f\").muteHandler.setMute(hr.UNMUTED)}teardown(t=!0){this._checkActive(),n(this,gr,!1,\"f\"),e(this,vr,\"f\").call(this),e(this,Er,\"f\").next(void 0),t&&e(this,fr,\"f\").callLock.forceReleaseCallLock(),ve(\"Teardown complete! Create new Easy Call Control instance to continue usage.\",null==this?void 0:this.logger,Ut.INFO)}_setInitialState(t,n=!1,r=!1){return 0===t&&(n||r)&&ve(\"\\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,Ut.WARNING),e(this,fr,\"f\").deviceState.setInitialState(t,n,r)}_checkActive(){if(!e(this,gr,\"f\"))throw new fe(\"\\n Inactive instance. Either device disconnected or teardown was called.\\n Create new EasyCallControl instance to continue usage.\",Gt.SDK_USAGE_ERROR)}}fr=new WeakMap,vr=new WeakMap,Er=new WeakMap,gr=new WeakMap;class Or extends wr{constructor(t,e,r,i){super(t,e,r,i,!0),_r.set(this,void 0),this.ongoingCalls=r.ongoingCalls,this.holdState=r.holdState,this.swapRequest=r.swapEvents,n(this,_r,e,\"f\")}startCall(){return t(this,void 0,void 0,(function*(){return this._checkActive(),e(this,_r,\"f\").hookHandler.startCall()}))}acceptIncomingCall(t=lr.END_CURRENT){return this._checkActive(),e(this,_r,\"f\").incomingCallHandler.acceptIncomingCall(t)}hold(){return this._checkActive(),e(this,_r,\"f\").holdHandler.setHold(dr.ON_HOLD)}resume(){return this._checkActive(),e(this,_r,\"f\").holdHandler.setHold(dr.NOT_ON_HOLD)}}_r=new WeakMap;class Nr extends mr{constructor(t,e){super(e),this.callControl=t,this.hasLock=!1}takeCallLock(){return t(this,void 0,void 0,(function*(){if(!this.hasLock&&(this.hasLock=yield this.callControl.takeCallLock().catch((()=>{throw new fe(\"Bad state: device is locked by this application. Try to call endCall on the device or restart the app.\",Gt.UNEXPECTED_ERROR)})),!this.hasLock))throw new fe(\"Device used by another softphone. Only one application can use the device at a time.\",Gt.SDK_USAGE_ERROR)}))}releaseCallLock(){0===this.state.ongoingCalls&&(this.callControl.releaseCallLock(),this.hasLock=!1)}forceReleaseCallLock(){this.hasLock&&this.callControl.releaseCallLock()}}class Cr extends mr{constructor(t,e,n,r){super(r),this.hookHandler=t,this.holdHandler=e,this.muteHandler=n}setInitialState(e,n,r){return t(this,void 0,void 0,(function*(){if(0===e)return yield this.hookHandler.startCall(),void(yield this.hookHandler.endCall());for(let t=0;t<e;t+=1)yield this.hookHandler.startCall();const t=r?dr.ON_HOLD:dr.NOT_ON_HOLD;yield this.holdHandler.setHold(t);const i=n?hr.MUTED:hr.UNMUTED;this.muteHandler.setMute(i)}))}}function Tr(t=1e3){return new Promise((e=>{setTimeout((()=>{e()}),t)}))}class Sr extends mr{constructor(t,e){super(e),this.callControl=t,this.stateHandler=e}setHold(e){return t(this,void 0,void 0,(function*(){if(0===this.state.ongoingCalls)throw new fe(\"No active call to hold\",Gt.SDK_USAGE_ERROR);this.state.ongoingCalls>1&&e===dr.NOT_ON_HOLD?yield this.resumeWhileMultiple():(this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0,holdState:e})),this.callControl.offHook(e===dr.NOT_ON_HOLD),this.callControl.hold(e===dr.ON_HOLD),yield Tr(1e3),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!1})))}))}resumeWhileMultiple(){return t(this,void 0,void 0,(function*(){this.callControl.hold(!1),this.callControl.offHook(!0),this.callControl.hold(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD}))}))}}class Ar extends mr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.deviceSignals=r,this.logger=i,this.hookSwitchAckTimeoutMs=1500}startCall(){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)throw new fe(\"Cannot start a new call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall instead\",Gt.SDK_USAGE_ERROR);this.state.holdState===dr.ON_HOLD?this.startNewCallWhileOnHold():0===this.state.ongoingCalls?yield this.startFirstCall():this.startSubsequentCalls(),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls+1}))}))}endCall(){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)throw new fe(\"An incoming call is awaiting response. Please accept or reject the incoming call before ending.\",Gt.SDK_USAGE_ERROR);if(0===this.state.ongoingCalls)throw new fe(\"No calls in progress\",Gt.SDK_USAGE_ERROR);1===this.state.ongoingCalls?yield this.endLastCall():this.state.holdState===dr.ON_HOLD?this.endCallWhileOnHold():yield this.endCurrentCall()}))}startFirstCall(){return t(this,void 0,void 0,(function*(){yield this.callLock.takeCallLock(),yield this.offHookAndAwaitSignal(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD,muteState:hr.UNMUTED}))}))}startSubsequentCalls(){this.callControl.hold(!0)}startNewCallWhileOnHold(){this.callControl.hold(!1),this.callControl.offHook(!0),this.callControl.hold(!0),this.callControl.mute(!1),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD,muteState:hr.UNMUTED}))}endLastCall(){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NO_ONGOING_CALLS,muteState:hr.NO_ONGOING_CALLS,ongoingCalls:0})),this.callControl.mute(!1),yield this.offHookAndAwaitSignal(!1),this.callControl.hold(!1),this.callLock.releaseCallLock()}))}endCurrentCall(){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0,ongoingCalls:this.state.ongoingCalls-1})),this.callControl.offHook(!1),this.callControl.hold(!1),this.callControl.offHook(!0),1!==this.state.ongoingCalls&&this.callControl.hold(!0),yield Tr(1e3),this.callControl.mute(!1),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:hr.UNMUTED,ignoreSignals:!1}))}))}endCallWhileOnHold(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1}))}offHookAndAwaitSignal(e){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0}));const t=(n=()=>this.state.incomingCall===pr.RESOLVING_RESPONSE_FROM_DEVICE,r=mt(new $n(Un.HOOK_SWITCH,!0,Ve.ABSOLUTE)),i=this.deviceSignals.pipe(ie((t=>t.type===Un.HOOK_SWITCH)),Tt(this.hookSwitchAckTimeoutMs)),Lt((function(){return n()?r:i})));var n,r,i;this.callControl.offHook(e);try{yield Ot(t)}catch(t){ve(\"Synchronization mismatch - missing hook signal from device. State recovered.\",null==this?void 0:this.logger,Ut.INFO)}this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!1}))}))}}class Ir extends mr{constructor(t,e,n,r){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.hookHandler=r}signalIncomingCall(){return t(this,void 0,void 0,(function*(){return yield this.callLock.takeCallLock(),this.updateIncomingCallState(pr.AWAITING_RESPONSE),this.callControl.ring(!0),new Promise((t=>{var e,n;this.stateHandler.pipe((e=({incomingCall:t})=>t!==pr.NO_INCOMING,void 0===n&&(n=!1),k((function(t,r){var i=0;t.subscribe(new U(r,(function(t){var o=e(t,i++);(o||n)&&r.next(t),!o&&r.complete()})))}))),jt((({incomingCall:t})=>t===pr.ACCEPTED||t===pr.REJECTED))).subscribe((({incomingCall:e})=>{this.updateIncomingCallState(pr.NO_INCOMING),t(e===pr.ACCEPTED)}))}))}))}acceptIncomingCall(e,n=!1){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall!==pr.AWAITING_RESPONSE)throw new fe(\"No incoming calls\",Gt.SDK_USAGE_ERROR);const t=n?pr.RESOLVING_RESPONSE_FROM_DEVICE:pr.RESOLVING_RESPONSE;this.updateIncomingCallState(t),this.callControl.ring(!1),this.state.holdState===dr.ON_HOLD||0===this.state.ongoingCalls?yield this.hookHandler.startCall():e===lr.END_CURRENT?(yield this.hookHandler.endCall(),yield this.hookHandler.startCall()):e===lr.HOLD_CURRENT&&(yield this.hookHandler.startCall()),this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:pr.ACCEPTED,holdState:dr.NOT_ON_HOLD}))}))}rejectIncomingCall(){if(this.state.incomingCall!==pr.AWAITING_RESPONSE)throw new fe(\"No incoming calls\",Gt.SDK_USAGE_ERROR);this.callControl.ring(!1),this.updateIncomingCallState(pr.REJECTED),this.callLock.releaseCallLock()}updateIncomingCallState(t){this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:t}))}}class Rr extends mr{constructor(t,e){super(e),this.callControl=t,this.stateHandler=e}setMute(t){if(0===this.state.ongoingCalls)throw new fe(\"You cannot change mute state outside of a call.\",Gt.SDK_USAGE_ERROR);this.callControl.mute(t===hr.MUTED),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:t}))}}class Dr extends mr{constructor(t){super(t),this.stateHandler=t}swapCalls(){return t(this,void 0,void 0,(function*(){if(this.state.ongoingCalls<2)throw new fe(\"No calls to swap between. There should be minimum one current call and one call on hold.\",Gt.SDK_USAGE_ERROR);this.stateHandler.next(Object.assign(Object.assign({},this.state),{swapToggle:this.state.swapToggle?0:1}))}))}}class Hr{constructor(t,e,n){this.callLock=new Nr(t,e),this.hookHandler=new Ar(t,this.callLock,e,t.deviceSignals,n),this.muteHandler=new Rr(t,e),this.holdHandler=new Sr(t,e),this.incomingCallHandler=new Ir(t,this.callLock,e,this.hookHandler),this.swapHandler=new Dr(e),this.deviceState=new Cr(this.hookHandler,this.holdHandler,this.muteHandler,e)}}const Lr={ongoingCalls:0,muteState:hr.NO_ONGOING_CALLS,holdState:dr.NO_ONGOING_CALLS,incomingCall:pr.NO_INCOMING,ignoreSignals:!1,swapToggle:0};class Pr{constructor(){this.internalState=new M(Lr),this.onUnsubscribe=new G;const t=this.internalState.pipe(de(this.onUnsubscribe));this.ongoingCalls=t.pipe(At((t=>t.ongoingCalls)),te()),this.callActive=t.pipe(At((t=>0!==t.ongoingCalls)),te()),this.muteState=t.pipe(At((t=>t.muteState)),te()),this.holdState=t.pipe(At((t=>t.holdState)),te()),this.swapEvents=t.pipe(At((t=>t.swapToggle)),te(),At((()=>{})),le(1))}unsubscribeState(){this.onUnsubscribe.next(void 0)}}var kr,Ur,xr,Gr;class Fr extends wr{constructor(t,e,r,i){super(t,e,r,i,!1),kr.set(this,void 0),Ur.set(this,void 0),this.callActive=r.callActive,n(this,kr,r.internalState,\"f\"),n(this,Ur,e,\"f\")}startCall(){return t(this,void 0,void 0,(function*(){if(this._checkActive(),1===e(this,kr,\"f\").value.ongoingCalls)throw new fe(\"Please end the call before starting a new\",Gt.SDK_USAGE_ERROR);return e(this,Ur,\"f\").hookHandler.startCall()}))}acceptIncomingCall(){return this._checkActive(),e(this,Ur,\"f\").incomingCallHandler.acceptIncomingCall(lr.END_CURRENT)}}kr=new WeakMap,Ur=new WeakMap;class Mr{constructor(t){var e;xr.set(this,void 0),Gr.set(this,void 0),n(this,xr,new br(t),\"f\"),n(this,Gr,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createSingleCallControl(n,r){return t(this,void 0,void 0,(function*(){const t=yield e(this,xr,\"f\").createCallControl(n),i=new Pr,o=new Hr(t,i.internalState,e(this,Gr,\"f\")),s=new Fr(t,o,i,e(this,Gr,\"f\"));if(r){const t=r.callActive?1:0;yield s._setInitialState(t,r.muted)}return s}))}createMultiCallControl(n,r){return t(this,void 0,void 0,(function*(){const t=yield e(this,xr,\"f\").createCallControl(n),i=new Pr,o=new Hr(t,i.internalState,e(this,Gr,\"f\")),s=new Or(t,o,i,e(this,Gr,\"f\"));return r&&(yield s._setInitialState(r.ongoingCalls,r.muted,r.onHold)),s}))}supportsEasyCallControl(t){return e(this,xr,\"f\").supportsCallControl(t)}}xr=new WeakMap,Gr=new WeakMap;export{lr as A,br as C,$e as D,Gt as E,dr as H,An as I,fe as J,Ut as L,hr as M,U as O,Ke as R,G as S,Mt as T,Ve as V,Ln as W,t as _,It as a,Pt as b,Ht as c,q as d,Pn as e,Yn as f,kt as g,xt as h,L as i,kn as j,Un as k,ve as l,At as m,N as n,k as o,Bt as p,dn as q,pn as r,fn as s,Zt as t,Ye as u,Hn as v,jn as w,Mr as x};\n","import { VendorImplementation } from \"../services/vendor-implementations/vendor-implementation\";\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 deviceMuteChanged = 'deviceMuteChanged',\n deviceEventLogs = 'deviceEventLogs',\n}\n\ntype Events = {\n [HeadsetEvents.implementationChanged]: VendorImplementation;\n [HeadsetEvents.deviceHoldStatusChanged]: EventInfo;\n [HeadsetEvents.deviceMuteStatusChanged]: EventInfo;\n [HeadsetEvents.deviceAnsweredCall]: EventInfo;\n [HeadsetEvents.deviceEndedCall]: EventInfo\n [HeadsetEvents.deviceRejectedCall]: RejectCallEventInfo;\n [HeadsetEvents.loggableEvent]: EventInfo;\n [HeadsetEvents.webHidPermissionRequested]: { callback: any };\n [HeadsetEvents.deviceConnectionStatusChanged]: { currentVendor: VendorImplementation, isConnected: boolean, isConnecting: boolean};\n}\n\ntype EventInfo = {\n name: string;\n event: any;\n code?: string;\n isMuted?: boolean;\n holdRequested?: boolean;\n toggle?: boolean;\n conversationId?: string;\n};\n\ntype RejectCallEventInfo = {\n conversationId: string;\n}\n\nexport type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Events\n ? { event: T, payload: Events[T] }\n : never;","import DeviceInfo from '../../types/device-info';\nimport StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport { EmittedHeadsetEvents } from '../../types/emitted-headset-events';\nimport { CallInfo } from '../..';\n\ntype HeadsetEventName = keyof EmittedHeadsetEvents;\n\nexport interface ImplementationConfig {\n logger: any;\n vendorName?: 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(): 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): Promise<any> {\n return Promise.reject(new Error(`${this.vendorName} - answerCall() 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 /* eslint-enable */\n\n private emitEvent(eventName: HeadsetEventName, eventBody: any) {\n this.emit(eventName, { vendor: this, body: {...eventBody } })\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?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceAnsweredCall', eventInfo);\n }\n\n deviceRejectedCall(conversationId: string): void {\n this.emitEvent('deviceRejectedCall', conversationId);\n }\n\n deviceEndedCall(eventInfo?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceEndedCall', eventInfo);\n }\n\n deviceMuteChanged(isMuted: boolean, eventInfo?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceMuteChanged', { isMuted, ...eventInfo });\n }\n\n deviceHoldStatusChanged(holdRequested: boolean, eventInfo?: { name: string, code?: string | number, event?: any }, toggle?: boolean): void {\n this.emitEvent('deviceHoldStatusChanged', { holdRequested, ...eventInfo, toggle });\n }\n\n deviceEventLogs(eventInfo: { name: string, code?: string | number, event?: any }): 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","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):e.browserama=n()}(this,function(){\"use strict\";var e=\"undefined\"==typeof window,n=!1,i=!1,o=!1,r=!1,t=!1,d=!1,w=!1,u=!1,a=!1,m=!1;return e||(n=\"undefined\"!=typeof InstallTrigger,i=!!window.chrome,o=!(!window.chrome||!window.navigator||!window.navigator.plugins||!window.navigator.plugins.namedItem(\"Chrome PDF Plugin\")&&!window.chrome.runtime),r=i&&!window.chrome.webstore&&!window.chrome.runtime,t=0<Object.prototype.toString.call(window.HTMLElement).indexOf(\"Constructor\")||window.safari&&window.safari.pushNotification,d=!!window.opr&&!!window.opr.addons||!!window.opera,w=!!window.StyleMedia,u=i&&!!navigator.userAgent.match(/edg/i),a=(o||d)&&!!window.CSS,m=!(i||t||n||d||!document.documentMode)),{get isChrome(){return o},get isChromeOrChromium(){return i},get isChromium(){return r},get isFirefox(){return n},get isSafari(){return t},get isOpera(){return d},get isEdge(){return w},get isEdgeChromium(){return u},get isIE(){return m},get isBlink(){return a}}});\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 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 */\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 __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 (_) 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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: n === \"return\" } : 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\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._teardowns = 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 initialTeardown = this.initialTeardown;\n if (isFunction(initialTeardown)) {\n try {\n initialTeardown();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _teardowns = this._teardowns;\n if (_teardowns) {\n this._teardowns = null;\n try {\n for (var _teardowns_1 = __values(_teardowns), _teardowns_1_1 = _teardowns_1.next(); !_teardowns_1_1.done; _teardowns_1_1 = _teardowns_1.next()) {\n var teardown_1 = _teardowns_1_1.value;\n try {\n execTeardown(teardown_1);\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 (_teardowns_1_1 && !_teardowns_1_1.done && (_b = _teardowns_1.return)) _b.call(_teardowns_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 execTeardown(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._teardowns = (_a = this._teardowns) !== 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 _teardowns = this._teardowns;\n _teardowns && arrRemove(_teardowns, 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 execTeardown(teardown) {\n if (isFunction(teardown)) {\n teardown();\n }\n else {\n teardown.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 () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) || setTimeout).apply(void 0, __spreadArray([], __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, __read, __spreadArray } 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 SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var next;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n (next = observerOrNext.next, error = observerOrNext.error, complete = observerOrNext.complete);\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n }\n else {\n context_1 = observerOrNext;\n }\n next = next === null || next === void 0 ? void 0 : next.bind(context_1);\n error = error === null || error === void 0 ? void 0 : error.bind(context_1);\n complete = complete === null || complete === void 0 ? void 0 : complete.bind(context_1);\n }\n _this.destination = {\n next: next ? wrapForErrorHandling(next, _this) : noop,\n error: wrapForErrorHandling(error !== null && error !== void 0 ? error : defaultErrorHandler, _this),\n complete: complete ? wrapForErrorHandling(complete, _this) : noop,\n };\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction wrapForErrorHandling(handler, instance) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n handler.apply(void 0, __spreadArray([], __read(args)));\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(err);\n }\n else {\n reportUnhandledError(err);\n }\n }\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 subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();\n }\n }, reject, resolve);\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","export enum PlantronicsCallEvents {\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\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 { __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.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 var copy = _this.observers.slice();\n try {\n for (var copy_1 = __values(copy), copy_1_1 = copy_1.next(); !copy_1_1.done; copy_1_1 = copy_1.next()) {\n var observer = copy_1_1.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (copy_1_1 && !copy_1_1.done && (_a = copy_1.return)) _a.call(copy_1);\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 = 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 _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n return hasError || isStopped\n ? EMPTY_SUBSCRIPTION\n : (observers.push(subscriber), new Subscription(function () { return arrRemove(observers, subscriber); }));\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","export 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","export enum SennheiserEventTypes {\n Request = 'Request', // outgoing actions\n Notification = 'Notification', // typically actions from headset\n Ack = 'Acknowledgement',\n}\n","import fetchJsonp from 'fetch-jsonp';\nimport { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { PlantronicsCallEvents } from './plantronics-call-events';\nimport browserama from 'browserama';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../../types/call-info';\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 = 'genesys-cloud-headset-library';\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\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.config = config;\n this._deviceInfo = null;\n this.callEventsTimerId = null;\n this.deviceStatusTimerId = null;\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) {\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\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 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 => {\n const eventType = PlantronicsCallEvents[event.Action];\n\n if (!eventType) {\n return this.logger.info('Unknown call event from headset', { event });\n }\n\n const eventInfo = { name: eventType, code: event.Action, 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, code?: string, event?: any }): void {\n switch (eventInfo.name) {\n case 'AcceptCall':\n this.deviceAnsweredCall(eventInfo);\n break;\n case 'TerminateCall':\n this.deviceEndedCall(eventInfo);\n break;\n case 'CallEnded':\n this._checkIsActiveTask();\n break;\n case 'Mute':\n this.deviceMuteChanged(true, eventInfo);\n break;\n case 'Unmute':\n this.deviceMuteChanged(false, eventInfo);\n break;\n case 'HoldCall':\n this.deviceHoldStatusChanged(true, eventInfo);\n break;\n case 'ResumeCall':\n this.deviceHoldStatusChanged(false, eventInfo);\n break;\n default:\n this.logger.info('A headset event has occurred', eventInfo);\n this.deviceEventLogs(eventInfo);\n }\n }\n\n connect(): Promise<any> {\n !this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n this.pollForDeviceStatus();\n this.pollForCallEvents();\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 return this.logger.info('Currently active calls in the session');\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 disconnect(): Promise<any> {\n let promise;\n if (!this.isConnected) {\n promise = Promise.resolve();\n } else {\n promise = this._makeRequestTask(`/SessionManager/UnRegister?name=${this.pluginName}`);\n }\n\n return promise.then(() => {\n this.clearTimeouts();\n this._deviceInfo = null;\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.isActive = false;\n });\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 let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\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${encodeURI(params)}`);\n }\n\n outgoingCall({ conversationId, contactName }: CallInfo): Promise<any> {\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\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 return this._makeRequestTask(`/CallServices/OutgoingCall${encodeURI(params)}`);\n }\n\n answerCall(conversationId: string): Promise<any> {\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n this.isActive = true;\n return this._makeRequestTask(`/CallServices/AnswerCall${encodeURI(params)}`);\n }\n\n async endCall(conversationId: string): Promise<any> {\n let params = `?name=${this.pluginName}`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n const response = await this._makeRequestTask(`/CallServices/TerminateCall${encodeURI(params)}`);\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(call.CallId));\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 halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n const response = await this._makeRequestTask(\n `/CallServices/${value ? 'HoldCall' : 'ResumeCall'}${encodeURI(params)}`\n );\n\n return response;\n }\n}","/* 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 { SennheiserEvents } from './sennheiser-events';\nimport { SennheiserEventTypes } from './sennheiser-event-types';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../..';\nimport { SennheiserPayload } from './sennheiser-payload';\nimport * as utils from '../../../utils';\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 callMappings: any = {};\n\n websocket = null;\n deviceInfo: DeviceInfo = null;\n\n static getInstance(config: ImplementationConfig): SennheiserService {\n if (!SennheiserService.instance) {\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 _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.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 private _createCallMapping(conversationId: string) {\n const ID_LENGTH = 7;\n const callId = Math.round(Math.random() * Math.pow(10, ID_LENGTH)); // Generate random number\n\n this.callMappings = {\n [conversationId]: callId,\n [callId]: conversationId,\n };\n\n this.logger.info('Created callId mapping for sennheiser headset', {\n conversationId,\n sennheiserCallId: callId,\n });\n\n return callId;\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: this.callMappings[conversationId],\n });\n\n return Promise.resolve();\n }\n\n incomingCall(callInfo: CallInfo): Promise<void> {\n const { conversationId } = callInfo;\n const callId = this._createCallMapping(conversationId);\n\n this._sendMessage({\n Event: SennheiserEvents.IncomingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\n\n return Promise.resolve();\n }\n\n answerCall(conversationId: string): Promise<void> {\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallAccepted,\n EventType: SennheiserEventTypes.Request,\n CallID: this.callMappings[conversationId],\n });\n return Promise.resolve();\n }\n\n outgoingCall(callInfo: CallInfo): Promise<void> {\n const { conversationId } = callInfo;\n const callId = this._createCallMapping(conversationId);\n\n this._sendMessage({\n Event: SennheiserEvents.OutgoingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\n\n return Promise.resolve();\n }\n\n endCall(conversationId: string): Promise<void> {\n const callId = this.callMappings[conversationId];\n\n if (!callId) {\n this.logger.info('Failed to find sennheiser callId, assuming call was already ended');\n return Promise.resolve();\n }\n\n this._sendMessage({\n Event: SennheiserEvents.CallEnded,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\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 let conversationId: string;\n const callId: number = payload.CallID;\n if (callId) {\n conversationId = this.callMappings[callId];\n }\n\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});\n }\n\n break;\n case SennheiserEvents.Hold:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged(true, {name: payload.Event});\n break;\n case SennheiserEvents.Resume:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged(false, {name: payload.Event});\n break;\n case SennheiserEvents.MuteFromHeadset:\n this.deviceMuteChanged(true, {name: payload.Event});\n break;\n case SennheiserEvents.UnmuteFromHeadset:\n this.deviceMuteChanged(false, {name: payload.Event});\n break;\n case SennheiserEvents.CallEnded:\n // clean up mappings\n delete this.callMappings[callId];\n delete this.callMappings[conversationId];\n\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceEndedCall({name: payload.Event});\n }\n break;\n case SennheiserEvents.IncomingCallRejected:\n this.deviceRejectedCall(conversationId);\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}","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 { 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","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\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 var closed = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(new OperatorSubscriber(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 { OperatorSubscriber } 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(new OperatorSubscriber(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 { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(new OperatorSubscriber(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 { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } 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(new OperatorSubscriber(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","export enum JabraNativeCommands {\n Ring = 'ringer',\n Offhook = 'offhook',\n Mute = 'mute',\n Hold = 'hold',\n}\n","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\nimport DeviceInfo from \"../../../types/device-info\";\nimport {\n IApi,\n EasyCallControlFactory,\n CallControlFactory,\n IMultiCallControl,\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 } from \"rxjs\";\nimport { filter, first, map } 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 devices: Map<string, DeviceInfo>;\n activeDeviceId: string = null;\n isMuted = false;\n isHeld = false;\n version: string = null;\n _connectDeferred: any; // { resolve: Function, reject: Function }\n device = null;\n jabraSdk: Promise<IApi>;\n easyCallControlFactory: EasyCallControlFactory;\n callControlFactory: CallControlFactory;\n multiCallControl: IMultiCallControl;\n callControl: ICallControl;\n ongoingCalls = 0;\n callLock = false;\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n this.devices = new Map<string, DeviceInfo>();\n this.jabraSdk = this.initializeJabraSdk();\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 ['jabra'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n static getInstance(config: ImplementationConfig): JabraService {\n if (!JabraService.instance) {\n JabraService.instance = new JabraService(config);\n }\n\n return JabraService.instance;\n }\n\n get deviceInfo(): DeviceInfo {\n if (this.activeDeviceId === null || this.devices.size === 0) {\n return null;\n }\n\n return this.devices.get(this.activeDeviceId);\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 async _processEvents(callControl: ICallControl): Promise<void> {\n this.headsetEventSubscription = callControl.deviceSignals.subscribe((signal) => {\n if (!this.callLock) {\n this.logger.debug('Currently not in possession of the Call Lock; Cannot react to Device Actions');\n return;\n }\n\n switch (SignalType[signal.type]) {\n case 'HOOK_SWITCH':\n if (signal.value) {\n callControl.offHook(true);\n callControl.ring(false);\n this.deviceAnsweredCall({name: 'CallOffHook', code: signal.type});\n } else {\n callControl.mute(false);\n callControl.hold(false);\n callControl.offHook(false);\n this.deviceEndedCall({name: 'CallOnHook', code: signal.type});\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.callLock = false;\n }\n }\n break;\n case 'FLASH':\n case 'ALT_HOLD':\n this.isHeld = !this.isHeld;\n callControl.hold(this.isHeld);\n this.deviceHoldStatusChanged(this.isHeld, { name: this.isHeld ? 'OnHold' : 'ResumeCall', code: signal.type });\n break;\n case 'PHONE_MUTE':\n this.isMuted = !this.isMuted;\n callControl.mute(this.isMuted);\n this.deviceMuteChanged(this.isMuted, { name: this.isMuted ? 'CallMuted' : 'CallUnmuted', code: signal.type });\n break;\n case 'REJECT_CALL':\n callControl.offHook(false);\n callControl.ring(false);\n this.deviceRejectedCall(null);\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.callLock = false;\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 if (callInfo) {\n try {\n this.callLock = await this.callControl.takeCallLock();\n if (this.callLock) {\n this.callControl.ring(true);\n return Promise.resolve();\n }\n } catch ({message, type}) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callControl.ring(true);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n }\n\n async answerCall(): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.callControl.offHook(true);\n }\n\n async outgoingCall(): Promise<void> {\n try {\n this.callLock = await this.callControl.takeCallLock();\n if (this.callLock) {\n this.callControl.offHook(true);\n return Promise.resolve();\n }\n } catch({message, type}) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callControl.offHook(true);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n\n async endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n if (hasOtherActiveCalls) {\n return;\n }\n\n try {\n if (this.callLock) {\n this.callControl.offHook(false);\n } else {\n this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions')\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.callLock = false;\n this.resetState();\n }\n }\n\n async endAllCalls(): Promise<void> {\n try {\n if (this.callLock) {\n this.callControl.offHook(false);\n } else {\n this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions')\n }\n this.callControl.releaseCallLock();\n return;\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 this.resetState();\n }\n }\n\n isDeviceInList (device: IDevice, deviceLabel: string): boolean {\n return deviceLabel.includes(device?.name?.toLowerCase());\n }\n\n\n async connect(deviceLabel: string): Promise<void> {\n if (!this.isConnecting) {\n this.changeConnectionStatus({isConnected: this.isConnected, isConnecting: true});\n }\n const jabraSdk = await this.jabraSdk;\n this.callControlFactory = this.createCallControlFactory(jabraSdk);\n\n const fetchDevicesTimeout = setTimeout(async () => {\n const devices = await firstValueFrom(jabraSdk.deviceList);\n let selectedDevice = devices.find(device => this.isDeviceInList(device, deviceLabel));\n if (!selectedDevice) {\n try {\n selectedDevice = await new Promise((resolve, reject) => {\n const waiter = setTimeout(reject, 30000);\n this.requestWebHidPermissions(webHidPairing);\n\n jabraSdk.deviceList\n .pipe(\n map((devices: IDevice[]) => devices.find(device => this.isDeviceInList(device, deviceLabel))),\n filter(Boolean),\n first()\n ).subscribe((device) => {\n clearTimeout(waiter);\n resolve(device)\n });\n });\n } catch (e) {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error('The selected device was not granted WebHID permissions');\n return;\n }\n }\n this.callControl = await this.callControlFactory.createCallControl(selectedDevice);\n this._processEvents(this.callControl);\n if (this.isConnecting && !this.isConnected) {\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n clearTimeout(fetchDevicesTimeout);\n }, 1750);\n }\n\n async initializeJabraSdk(): Promise<IApi> {\n return await init({\n appId: 'softphone-vendor-headsets',\n appName: 'Softphone Headset Library',\n transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK\n });\n }\n\n createCallControlFactory (sdk: IApi): CallControlFactory {\n return new CallControlFactory(sdk);\n }\n\n checkForCallLockError(message: unknown, type: unknown): boolean {\n return (type as ErrorType === ErrorType.SDK_USAGE_ERROR && (message as string).includes('call lock'));\n }\n\n async disconnect(): Promise<void> {\n this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();\n (this.isConnected || this.isConnecting) && this.changeConnectionStatus({isConnected: false, isConnecting: false});\n }\n}","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","export const HeadsetEvent = 'JabraEvent';\nexport const DeviceEvent = 'JabraDeviceAttached';\n\ntype HeadsetEvent = typeof HeadsetEvent;\ntype DeviceEvent = typeof DeviceEvent;\n\nexport interface JabraHeadsetEvent {\n msg: HeadsetEvent;\n event: 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 { JabraNativeHeadsetState } from './jabra-native-heaset-state';\nimport { JabraNativeCommands } from './jabra-native-commands';\nimport { JabraHeadsetEvent, JabraDeviceEvent, JabraNativeEventNames, HeadsetEvent, DeviceEvent } from './jabra-native-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 _connectionInProgress: any; // { resolve: Function, reject: Function }\n cefSupportsJabra = true;\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 // register CEF\n const assetURL = window.location.origin + window.location.pathname;\n const initData = {\n assetURL,\n callback: this.handleCefEvent.bind(this),\n supportsTerminationRequest: true,\n supportsUnifiedPreferences: true\n };\n const data = (window as any)._HostedContextFunctions?.register(initData);\n this.cefSupportsJabra = data?.supportsJabra;\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.event, event.value);\n }\n\n private _handleOffhookEvent(isOffhook: boolean): void {\n // if is incoming\n if (isOffhook) {\n if (this.headsetState.ringing) {\n this.deviceAnsweredCall();\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 this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this._getHeadsetIntoVanillaState();\n this.deviceEndedCall();\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.deviceMuteChanged(isMuted);\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(!!isHeld);\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 setMute(value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Mute, value);\n return Promise.resolve();\n }\n\n setHold(conversationId: string, value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Hold, value);\n return Promise.resolve();\n }\n\n incomingCall(): Promise<void> {\n this._setRinging(true);\n return Promise.resolve();\n }\n\n answerCall(): Promise<void> {\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\n this._sendCmd(JabraNativeCommands.Offhook, true);\n return Promise.resolve();\n }\n\n outgoingCall(): Promise<void> {\n this._sendCmd(JabraNativeCommands.Offhook, true);\n return Promise.resolve();\n }\n\n endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this._setRinging(false);\n\n if (!hasOtherActiveCalls) {\n this._sendCmd(JabraNativeCommands.Offhook, false);\n }\n\n return Promise.resolve();\n }\n\n endAllCalls(): Promise<void> {\n this._setRinging(false);\n this._sendCmd(JabraNativeCommands.Offhook, false);\n return Promise.resolve();\n }\n\n async updateDevices(): Promise<void> {\n try {\n const data = (await requestCefPromise({ cmd: 'requestJabraDevices' })) as DeviceInfo[];\n\n if (this._connectionInProgress) {\n this._connectionInProgress.resolve();\n }\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(null);\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 { Observable, Subject } from 'rxjs';\nimport { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';\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 { ConsumedHeadsetEvents } from '../types/consumed-headset-events';\nimport { CallInfo } from '../types/call-info';\nimport { EventInfo, VendorConversationIdEvent, VendorEvent, HoldEventInfo, MutedEventInfo } from '../types/emitted-headset-events';\nimport { WebHidPermissionRequest } from '..';\nimport { HeadsetEvents } from '../types/consumed-headset-events';\n\nexport default class HeadsetService {\n private static instance: HeadsetService;\n\n plantronics: VendorImplementation;\n jabraNative: VendorImplementation;\n jabra: VendorImplementation;\n sennheiser: VendorImplementation;\n selectedImplementation: VendorImplementation;\n headsetEvents$: Observable<ConsumedHeadsetEvents>;\n\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 });\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\n [this.plantronics, this.jabra, this.jabraNative, this.sennheiser].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 ].filter((impl) => impl.isSupported());\n\n return implementations;\n }\n\n activeMicChange(newMicLabel: string): void {\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.selectedImplementation.disconnect();\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 this.selectedImplementation.disconnect();\n }\n\n this.selectedImplementation = implementation;\n\n if (implementation) {\n implementation.connect(deviceLabel);\n }\n\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: implementation});\n }\n\n incomingCall(callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n return this.performActionIfConnected('incomingCall', (implementation) => implementation.incomingCall(callInfo, hasOtherActiveCalls));\n }\n\n outgoingCall(callInfo: CallInfo): Promise<any> {\n return this.performActionIfConnected('outgoingCall', (implementation) => implementation.outgoingCall(callInfo));\n }\n\n answerCall(conversationId: string): Promise<any> {\n return this.performActionIfConnected('answerCall', (implementation) => implementation.answerCall(conversationId));\n }\n\n setMute(value: boolean): Promise<any> {\n return this.performActionIfConnected('setMute', (implementation) => implementation.setMute(value));\n }\n\n setHold(conversationId: string, value: boolean): Promise<any> {\n return this.performActionIfConnected('setHold', (implementation) => implementation.setHold(conversationId, value));\n }\n\n endCall(conversationId: string, hasOtherActiveCalls?: boolean): Promise<any> {\n return this.performActionIfConnected('endCall', (implementation) => implementation.endCall(conversationId, hasOtherActiveCalls));\n }\n\n endAllCalls(): Promise<any> {\n return this.performActionIfConnected('endAllCalls', (implementation) => 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 private performActionIfConnected (actionName: string, perform: (impl: VendorImplementation) => Promise<any>) {\n const impl = this.selectedImplementation;\n if (!impl || !impl.isConnected) {\n this.logger.info(`Headset: No vendor headset connected [${actionName}]`);\n return Promise.resolve();\n }\n\n return perform(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.deviceMuteChanged, 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 handleDeviceAnsweredCall(event: VendorEvent<EventInfo>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\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: VendorConversationIdEvent): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n this.logger.info('Headset: device rejected the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceRejectedCall, payload: { conversationId: event.body.conversationId }});\n }\n\n private handleDeviceEndedCall(event: VendorEvent<EventInfo>): void {\n this.logger.info('Headset: device ended the call');\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 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 this._headsetEvents$.next({ event: HeadsetEvents.deviceHoldStatusChanged, payload: { ...event.body }});\n }\n\n private handleDeviceConnectionStatusChanged(event: VendorEvent<any>): void {\n this._headsetEvents$.next({ event: HeadsetEvents.deviceConnectionStatusChanged, payload: { ...event.body }});\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/jabra-request';\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-697967ac.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/rxjs/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/./react-app/src/library/services/vendor-implementations/plantronics/plantronics-call-events.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/Subject.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser-events.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/sennheiser/sennheiser-event-types.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/plantronics/plantronics.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/utils.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/util/lift.js","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.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/defaultIfEmpty.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/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/jabra-native-commands.ts","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra.ts","webpack://SoftphoneVendorHeadsets/./node_modules/rxjs/dist/esm5/internal/operators/map.js","webpack://SoftphoneVendorHeadsets/./react-app/src/library/services/vendor-implementations/jabra/jabra-native/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/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","next","a","throw","done","then","apply","TypeError","has","set","setPrototypeOf","__proto__","Array","String","this","constructor","label","sent","trys","ops","return","iterator","pop","u","v","h","asyncIterator","f","stack","map","toString","join","errors","E","indexOf","splice","g","initialTeardown","closed","_parentage","_teardowns","unsubscribe","isArray","remove","add","_hasParent","_addParent","includes","_removeParent","EMPTY","_","b","y","O","arguments","w","N","C","isStopped","destination","I","T","_next","_error","complete","_complete","S","A","R","observable","D","H","reduce","L","_subscribe","lift","source","operator","subscribe","_trySubscribe","_deprecatedSyncErrorSubscribe","_syncErrorHack_isSubscribing","__syncError","forEach","P","pipe","toPromise","k","U","onFinalize","x","G","observers","hasError","thrownError","F","_throwIfClosed","configurable","_checkFinalizedStatuses","_innerSubscribe","asObservable","M","_value","getValue","B","now","delegate","Date","W","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","Math","max","_trimBuffer","K","schedule","j","scheduler","work","pending","state","id","recycleAsyncId","delay","requestAsyncId","setInterval","V","flush","clearInterval","Y","execute","_execute","actions","$","schedulerActionCtor","q","_active","_scheduled","z","J","X","Q","Z","tt","et","nt","rt","it","ot","st","at","getReader","read","releaseLock","ct","lt","ut","ht","dt","pt","catch","ft","vt","Et","gt","_t","bt","mt","yt","wt","Ot","defaultValue","Nt","isNaN","Ct","info","Tt","first","each","with","St","meta","lastValue","seen","At","It","Rt","Dt","Ht","Lt","Pt","kt","Ut","xt","Gt","Ft","Mt","Bt","Wt","Kt","Vt","Yt","jt","$t","qt","zt","every","some","Jt","Xt","Qt","Zt","ne","re","ie","se","ae","connector","resetOnError","resetOnComplete","resetOnRefCountZero","ce","ue","bufferSize","windowTime","refCount","le","he","de","pe","fe","super","ve","ERROR","JS_LIB","write","level","layer","Ee","WARNING","INFO","CHROME_EXTENSION","NATIVE_CONSOLE","SDK_USAGE_ERROR","FEATURE_NOT_SUPPORTED","DEVICE_ERROR","UNEXPECTED_ERROR","INIT_ERROR","ge","compare","itemRemoved","items","itemList","itemAdded","addItem","onDisconnect","removeItem","filter","equals","concat","sort","findIndex","_e","sdkVersion","consoleAppVersion","version","chromeExtensionVersion","process","platform","navigator","userAgent","be","deviceDetector","deviceAdded","deviceObservables","deviceRemoved","deviceList","_transport","_readyEvents","consoleAppEvent","_config","transportContext","context","logger","WeakMap","NODE","WEB_HID","CHROME_EXTENSION_WITH_WEB_HID_FALLBACK","me","ye","TransportChromeExtension","checkInstallation","ok","initHandler","WebHidTransport","we","log","Oe","Ne","config","messageShown","partnerKey","validateCrc","logWarning","appId","test","appName","warn","split","charCodeAt","RangeError","padStart","Ce","Te","Se","Ae","Ie","Re","De","MS_OC","CISCO","AVAYA","SIEMENS","ALCATEL","IBM","AASTRA","SKYPE","GENERIC","NORTEL","JABRA","NEC","SHORETEL","OTHER","He","gnpReadCommand","serialize","command","subCommand","deserialize","GN_PROTOCOL","DATA","Le","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","Pe","from","ke","fromCharCode","Ue","xe","Ge","DataView","buffer","getUint16","Fe","of","Me","Be","We","path","require","globalThis","global","self","Ke","Ve","Ye","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","je","transport","gnpLockAcquired","token","action","writeAction","INPUT","OUTPUT","FEATURE","ABSOLUTE","RELATIVE","$e","startsWith","qe","ze","usagePage","usage","Je","descriptor","transportId","input","inputReportsFilter","find","reportType","Qe","lengthMask","typeFromAttr","packetLengthFromAttr","Ze","gnpPacketHeaderLength","hasHeader","expectedPacketLength","gnpPacketMaxLength","hasFullPacket","tn","en","nn","rn","on","hidChannel","gnpLock","primaryAddress","lockQueue","packets","inputFilter","events","eventsFilter","nextSequenceNumber","appendData","getPacketAndReset","findDescriptor","processLockQueue","acquireGnpLock","reportSize","attrFromTypeAndPayloadLength","min","subarray","output","releaseGnpLock","doWithGnpLockHeld","readWithParams","getNextSequenceNumber","sn","parentGnpChannel","sendEvent","an","supportsGnpOverHid","cn","un","ln","isChild","hn","parentId","gnpAddress","dn","pn","fn","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","vn","parentConnectionId","En","gn","_n","deviceType","address","vid","pid","serialNumber","capabilities","connectionGnpAddress","bn","createConnection","parentConnection","connectionCreator","createChildGnpChannel","connectionEvents","attach","detach","connection","mn","yn","wn","On","createHidChannel","createRootGnpChannel","createAttachEvent","getTransportId","convertToReportType","valueType","convertToValueType","JSON","stringify","getMandatoryField","createDescriptor","assign","Nn","Cn","Tn","Sn","An","In","vendorId","productId","connectionAdded","connectionRemoved","connectionList","Rn","exceptionToUndefined","findConnectionById","currentConnections","Dn","deviceCollection","connectionExists","force","findDeviceByDeviceId","createDevice","isSameDevice","Hn","validateOrganizationKey","validateAppId","validateAppName","internal","testDeviceTransport","recorder","connect","Ln","deviceId","Pn","UsageReport","kn","Un","xn","Gn","Fn","Mn","Bn","Wn","Kn","Vn","Yn","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","jn","hid","requestDevice","filters","VENDOR_ID","BroadcastChannel","PAIRING_CHANNEL","postMessage","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","$n","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_PSEUDO_HOOK_SWITCH","GN_OUT_OF_RANGE","GN_REJECT_CALL","GN_TELEPHONY_CONT_SET","qn","isSoftphoneInFocus","lockHeld","cachedSignals","Map","Boolean","Xe","zn","device","deviceSignals","setup","checkHasDisconnected","checkCallLockNotHeld","tryTakeCallLock","checkCallLockHeld","releaseCallLock","STD_TELEPHONY","Jn","Qn","connectionCallLock","currentLocks","lockReleaseEvent","takeSingleCallLock","releaseSingleCallLock","acquired","Zn","callLockAcquiredResponse","tr","er","rr","nr","ir","softphoneInFocus","setFeatureReport","Xn","or","devComm","infocus","sr","ar","cr","ur","lr","hr","dr","pr","br","setSharedSoftphoneInfo","jabraDirectInstalled","supportsCallControl","HOLD_CURRENT","END_CURRENT","MUTED","UNMUTED","NO_ONGOING_CALLS","ON_HOLD","NOT_ON_HOLD","NO_INCOMING","AWAITING_RESPONSE","RESOLVING_RESPONSE","RESOLVING_RESPONSE_FROM_DEVICE","ACCEPTED","REJECTED","HeadsetEvents","VendorImplementation","eventEmitter","EventEmitter","keys","vendorName","selectedMicLabel","callInfo","hasOtherActiveCalls","conversationId","eventName","eventBody","emit","vendor","body","callback","debug","emitEvent","eventInfo","isMuted","holdRequested","toggle","headsetState","isConnected","isConnecting","currentVendor","InstallTrigger","chrome","plugins","namedItem","runtime","webstore","HTMLElement","safari","pushNotification","opr","addons","opera","StyleMedia","CSS","documentMode","ReflectOwnKeys","Reflect","ReflectApply","receiver","args","Function","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","extendStatics","__extends","__","__values","__read","__spreadArray","to","il","isFunction","createErrorClass","createImpl","ctorFunc","instance","UnsubscriptionError","_super","arrRemove","item","Subscription","e_1","_a","e_2","_b","_parentage_1","_parentage_1_1","e_1_1","_teardowns_1","_teardowns_1_1","teardown_1","execTeardown","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","onUnhandledError","onStoppedNotification","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","_i","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","kind","errorContext","cb","isRoot","errorThrown","captureError","Subscriber","_this","EMPTY_OBSERVER","handleStoppedNotification","nextNotification","SafeSubscriber","observerOrNext","context_1","wrapForErrorHandling","defaultErrorHandler","notification","subscriber","identity","pipeFromArray","fns","prev","Observable","isObserver","sink","promiseCtor","getPromiseCtor","subscription","operations","PlantronicsCallEvents","ObjectUnsubscribedError","Subject","subject","copy_1","copy_1_1","AnonymousSubject","SennheiserEvents","SennheiserEventTypes","PlantronicsService","_deviceInfo","callEventsTimerId","deviceStatusTimerId","incomingConversationId","lowerLabel","toLowerCase","searchVal","ProductName","deviceInfo","disableEventPolling","getCallEvents","pollForCallEvents","activePollingInterval","getDeviceStatus","pollForDeviceStatus","isDeviceAttached","connectedDeviceInterval","disconnectedDeviceInterval","endpoint","isRetry","_makeRequest","fetchJsonp","plantronicsInstance","_fetch","apiHost","Type_Name","status","changeConnectionStatus","disconnect","handled","_makeRequestTask","browserama","isFirefox","errorCode","disableRetry","_getActiveCalls","calls","isActive","result","Result","Calls","Source","pluginName","eventType","Action","code","callCorrespondingFunction","Err","Description","deviceAnsweredCall","deviceRejectedCall","deviceEndedCall","_checkIsActiveTask","deviceMuteChanged","deviceHoldStatusChanged","deviceEventLogs","isError","clearTimeouts","contactName","params","halfEncodedCallIdString","encodeURI","halfEncodedContactString","endCall","CallId","isCefHosted","_HostedContextFunctions","requestCefPromise","cmd","sCmd","cefQuery","persistent","onSuccess","obj","onFailure","SennheiserService","websocketConnected","Event","websocket","send","EstablishConnection","EventType","Request","SPName","SPIconImage","RedialSupport","OffHookSupport","MuteSupport","DNDOption","_sendMessage","socket","WebSocket","onopen","webSocketOnOpen","onclose","webSocketOnClose","onmessage","_handleMessage","wasClean","isFireFox","TerminateConnection","callId","round","callMappings","sennheiserCallId","MuteFromApp","UnmuteFromApp","Hold","Resume","CallID","_createCallMapping","IncomingCall","IncomingCallAccepted","IncomingCallRejected","OutgoingCall","CallEnded","ReturnCode","_handleError","SocketConnected","_registerSoftphone","SPLogin","SystemInformation","HeadsetConnected","HeadsetName","deviceName","headsetType","HeadsetType","HeadsetDisconnected","Notification","Ack","_handleAck","MuteFromHeadset","UnmuteFromHeadset","readyState","close","EmptyError","firstValueFrom","hasConfig","operate","hasLift","liftedSource","OperatorSubscriber","onNext","onComplete","onError","predicate","thisArg","take","defaultIfEmpty","hasValue","throwIfEmpty","errorFactory","defaultErrorFactory","hasDefaultValue","JabraNativeCommands","JabraService","devices","jabraSdk","initializeJabraSdk","activeDeviceId","size","setHold","setMute","callControl","headsetEventSubscription","signal","callLock","SignalType","offHook","ring","mute","hold","checkForCallLockError","isHeld","takeCallLock","resetState","deviceLabel","callControlFactory","createCallControlFactory","fetchDevicesTimeout","selectedDevice","isDeviceInList","project","waiter","requestWebHidPermissions","webHidPairing","createCallControl","_processEvents","RequestedBrowserTransport","sdk","CallControlFactory","ErrorType","JabraNativeEventNames","JabraNativeService","ringing","initData","assetURL","location","origin","pathname","handleCefEvent","supportsTerminationRequest","supportsUnifiedPreferences","register","cefSupportsJabra","supportsJabra","msg","isDeviceEvent","handleJabraDeviceAttached","isHeadsetEvent","handleJabraEvent","updateDevices","_processEvent","isOffhook","_sendCmd","Offhook","_setRinging","_getHeadsetIntoVanillaState","Mute","sendEventToDesktop","deviceID","Ring","ignoreNextOffhookEvent","_connectionInProgress","clear","func","timer","OffHook","_handleOffhookEvent","RejectCall","_handleMuteEvent","_handleHoldEvent","timeoutInMillis","timeoutError","timeoutPromise","race","createNew","HeadsetService","_headsetEvents$","headsetEvents$","plantronics","getInstance","jabraNative","jabra","sennheiser","implementation","subscribeToHeadsetEvents","impl","isSupported","newMicLabel","implementations","deviceLabelMatchesVendor","changeImplementation","selectedImplementation","handleDeviceConnectionStatusChanged","implementationChanged","performActionIfConnected","incomingCall","outgoingCall","answerCall","rejectCall","endAllCalls","micLabel","actionName","perform","handleDeviceAnsweredCall","handleDeviceRejectedCall","handleDeviceEndedCall","handleDeviceMuteStatusChanged","handleDeviceHoldStatusChanged","handleDeviceLogs","deviceConnectionStatusChanged","webHidPermissionRequested","handleWebHidPermissionRequested","deviceMuteStatusChanged","connectionStatus","loggableEvent","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","array","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","val","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","offset","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","res","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","/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nfunction t(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 e(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 n(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\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */}var r=function(t,e){return(r=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)};function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function o(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 s(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 a(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 c(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 u(t,e){for(var n=0,r=e.length,i=t.length;n<r;n++,i++)t[i]=e[n];return t}function l(t){return this instanceof l?(this.v=t,this):new l(t)}function h(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||a(t,e)}))})}function a(t,e){try{(n=i[t](e)).value instanceof l?Promise.resolve(n.value.v).then(c,u):h(o[0][2],n)}catch(t){h(o[0][3],t)}var n}function c(t){a(\"next\",t)}function u(t){a(\"throw\",t)}function h(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function d(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=a(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 p(t){return\"function\"==typeof t}function f(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 v=f((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 E(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var g=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._teardowns=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=a(o),l=s.next();!l.done;l=s.next()){l.value.remove(this)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}else o.remove(this);var h=this.initialTeardown;if(p(h))try{h()}catch(t){i=t instanceof v?t.errors:[t]}var d=this._teardowns;if(d){this._teardowns=null;try{for(var f=a(d),E=f.next();!E.done;E=f.next()){var g=E.value;try{m(g)}catch(t){i=null!=i?i:[],t instanceof v?i=u(u([],c(i)),c(t.errors)):i.push(t)}}}catch(t){n={error:t}}finally{try{E&&!E.done&&(r=f.return)&&r.call(f)}finally{if(n)throw n.error}}}if(i)throw new v(i)}},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._teardowns=null!==(n=this._teardowns)&&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)&&E(e,t)},t.prototype.remove=function(e){var n=this._teardowns;n&&E(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),_=g.EMPTY;function b(t){return t instanceof g||t&&\"closed\"in t&&p(t.remove)&&p(t.add)&&p(t.unsubscribe)}function m(t){p(t)?t():t.unsubscribe()}var y={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},w=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return setTimeout.apply(void 0,u([],c(t)))};function O(t){w((function(){throw t}))}function N(){}var C=function(t){function e(e){var n=t.call(this)||this;return n.isStopped=!1,e?(n.destination=e,b(e)&&e.add(n)):n.destination=I,n}return i(e,t),e.create=function(t,e,n){return new T(t,e,n)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(g),T=function(t){function e(e,n,r){var i,o=t.call(this)||this;if(p(e))i=e;else if(e){var s;i=e.next,n=e.error,r=e.complete,o&&y.useDeprecatedNextContext?(s=Object.create(e)).unsubscribe=function(){return o.unsubscribe()}:s=e,i=null==i?void 0:i.bind(s),n=null==n?void 0:n.bind(s),r=null==r?void 0:r.bind(s)}return o.destination={next:i?S(i):N,error:S(null!=n?n:A),complete:r?S(r):N},o}return i(e,t),e}(C);function S(t,e){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{t.apply(void 0,u([],c(e)))}catch(t){O(t)}}}function A(t){throw t}var I={closed:!0,next:N,error:A,complete:N},R=\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\";function D(t){return t}function H(t){return 0===t.length?D:1===t.length?t[0]:function(e){return t.reduce((function(t,e){return e(t)}),e)}}var L=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=(r=t)&&r instanceof C||function(t){return t&&p(t.next)&&p(t.error)&&p(t.complete)}(r)&&b(r)?t:new T(t,e,n),o=this.operator,s=this.source;return i.add(o?o.call(i,s):s?this._subscribe(i):this._trySubscribe(i)),i},t.prototype._deprecatedSyncErrorSubscribe=function(t){var e=t;e._syncErrorHack_isSubscribing=!0;var n=this.operator;if(n)t.add(n.call(t,this.source));else try{t.add(this._subscribe(t))}catch(t){e.__syncError=t}for(var r=e;r;){if(\"__syncError\"in r)try{throw r.__syncError}finally{t.unsubscribe()}r=r.destination}e._syncErrorHack_isSubscribing=!1},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=P(e))((function(e,r){var i;i=n.subscribe((function(e){try{t(e)}catch(t){r(t),null==i||i.unsubscribe()}}),r,e)}))},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[R]=function(){return this},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.length?H(t)(this):this},t.prototype.toPromise=function(t){var e=this;return new(t=P(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 P(t){var e;return null!==(e=null!=t?t:y.Promise)&&void 0!==e?e:Promise}function k(t){return function(e){if(function(t){return p(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\")}}var U=function(t){function e(e,n,r,i,o){var s=t.call(this,e)||this;return s.onFinalize=o,s._next=n?function(t){try{n(t)}catch(t){e.error(t)}}:t.prototype._next,s._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,s._complete=r?function(){try{r()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,s}return i(e,t),e.prototype.unsubscribe=function(){var e,n=this.closed;t.prototype.unsubscribe.call(this),!n&&(null===(e=this.onFinalize)||void 0===e||e.call(this))},e}(C),x=f((function(t){return function(){t(this),this.name=\"ObjectUnsubscribedError\",this.message=\"object unsubscribed\"}})),G=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return i(e,t),e.prototype.lift=function(t){var e=new F(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new x},e.prototype.next=function(t){var e,n;if(this._throwIfClosed(),!this.isStopped){var r=this.observers.slice();try{for(var i=a(r),o=i.next();!o.done;o=i.next()){o.value.next(t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}},e.prototype.error=function(t){if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;for(var e=this.observers;e.length;)e.shift().error(t)}},e.prototype.complete=function(){if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;for(var t=this.observers;t.length;)t.shift().complete()}},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=null},Object.defineProperty(e.prototype,\"observed\",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,n=e.hasError,r=e.isStopped,i=e.observers;return n||r?_:(i.push(t),new g((function(){return E(i,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,i=e.isStopped;n?t.error(r):i&&t.complete()},e.prototype.asObservable=function(){var t=new L;return t.source=this,t},e.create=function(t,e){return new F(t,e)},e}(L),F=function(t){function e(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return i(e,t),e.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)},e.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)},e.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)},e.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:_},e}(G),M=function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}return i(e,t),Object.defineProperty(e.prototype,\"value\",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(G),B={now:function(){return(B.delegate||Date).now()},delegate:void 0},W=function(t){function e(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=B);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 i(e,t),e.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)},e.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},e.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)}},e}(G),K=function(t){function e(e,n){return t.call(this)||this}return i(e,t),e.prototype.schedule=function(t,e){return this},e}(g),V=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return setInterval.apply(void 0,u([],c(t)))},Y=function(t){return clearInterval(t)},j=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return i(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),V(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return e;Y(e)},e.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))},e.prototype._execute=function(t,e){var n,r=!1;try{this.work(t)}catch(t){r=!0,n=!!t&&t||new Error(t)}if(r)return this.unsubscribe(),n},e.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,E(r,this),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(K),$=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=B.now,t}(),q=new(function(t){function e(e,n){void 0===n&&(n=$.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return i(e,t),e.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}}},e}($))(j),z=q,J=new L((function(t){return t.complete()}));function X(t,e){return new L((function(n){var r=0;return e.schedule((function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())}))}))}var Q=function(t){return t&&\"number\"==typeof t.length&&\"function\"!=typeof t};function Z(t){return p(null==t?void 0:t.then)}var tt=\"function\"==typeof Symbol&&Symbol.iterator?Symbol.iterator:\"@@iterator\";function et(t,e,n,r){void 0===r&&(r=0);var i=e.schedule((function(){try{n.call(this)}catch(e){t.error(e)}}),r);return t.add(i),i}function nt(t,e){if(!t)throw new Error(\"Iterable cannot be null\");return new L((function(n){var r=new g;return r.add(e.schedule((function(){var i=t[Symbol.asyncIterator]();r.add(e.schedule((function(){var t=this;i.next().then((function(e){e.done?n.complete():(n.next(e.value),t.schedule())}))})))}))),r}))}function rt(t){return p(t[R])}function it(t){return p(null==t?void 0:t[tt])}function ot(t){return Symbol.asyncIterator&&p(null==t?void 0:t[Symbol.asyncIterator])}function st(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.\")}function at(t){return h(this,arguments,(function(){var e,n,r;return s(this,(function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,l(e.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,l(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,l(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}}))}))}function ct(t){return p(null==t?void 0:t.getReader)}function ut(t,e){if(null!=t){if(rt(t))return function(t,e){return new L((function(n){var r=new g;return r.add(e.schedule((function(){var i=t[R]();r.add(i.subscribe({next:function(t){r.add(e.schedule((function(){return n.next(t)})))},error:function(t){r.add(e.schedule((function(){return n.error(t)})))},complete:function(){r.add(e.schedule((function(){return n.complete()})))}}))}))),r}))}(t,e);if(Q(t))return X(t,e);if(Z(t))return function(t,e){return new L((function(n){return e.schedule((function(){return t.then((function(t){n.add(e.schedule((function(){n.next(t),n.add(e.schedule((function(){return n.complete()})))})))}),(function(t){n.add(e.schedule((function(){return n.error(t)})))}))}))}))}(t,e);if(ot(t))return nt(t,e);if(it(t))return function(t,e){return new L((function(n){var r;return n.add(e.schedule((function(){r=t[tt](),et(n,e,(function(){var t=r.next(),e=t.value;t.done?n.complete():(n.next(e),this.schedule())}))}))),function(){return p(null==r?void 0:r.return)&&r.return()}}))}(t,e);if(ct(t))return function(t,e){return nt(at(t),e)}(t,e)}throw st(t)}function lt(t,e){return e?ut(t,e):ht(t)}function ht(t){if(t instanceof L)return t;if(null!=t){if(rt(t))return r=t,new L((function(t){var e=r[R]();if(p(e.subscribe))return e.subscribe(t);throw new TypeError(\"Provided object does not correctly implement Symbol.observable\")}));if(Q(t))return dt(t);if(Z(t))return n=t,new L((function(t){n.then((function(e){t.closed||(t.next(e),t.complete())}),(function(e){return t.error(e)})).then(null,O)}));if(ot(t))return pt(t);if(it(t))return e=t,new L((function(t){var n,r;try{for(var i=a(e),o=i.next();!o.done;o=i.next()){var s=o.value;if(t.next(s),t.closed)return}}catch(t){n={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()}));if(ct(t))return pt(at(t))}var e,n,r;throw st(t)}function dt(t){return new L((function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()}))}function pt(t){return new L((function(e){(function(t,e){var n,r,i,a;return o(this,void 0,void 0,(function(){var o,c;return s(this,(function(s){switch(s.label){case 0:s.trys.push([0,5,6,11]),n=d(t),s.label=1;case 1:return[4,n.next()];case 2:if((r=s.sent()).done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];s.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=s.sent(),i={error:c},[3,11];case 6:return s.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:s.sent(),s.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}}))}))})(t,e).catch((function(t){return e.error(t)}))}))}function ft(t,e){return e?X(t,e):dt(t)}function vt(t){return t&&p(t.schedule)}function Et(t){return t[t.length-1]}function gt(t){return p(Et(t))?t.pop():void 0}function _t(t){return vt(Et(t))?t.pop():void 0}function bt(t,e){return\"number\"==typeof Et(t)?t.pop():e}function mt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t);return n?X(t,n):ft(t)}function yt(t,e){var n=p(t)?t:function(){return t},r=function(t){return t.error(n())};return new L(e?function(t){return e.schedule(r,0,t)}:r)}var wt=f((function(t){return function(){t(this),this.name=\"EmptyError\",this.message=\"no elements in sequence\"}}));function Ot(t,e){var n=\"object\"==typeof e;return new Promise((function(r,i){var o=new T({next:function(t){r(t),o.unsubscribe()},error:i,complete:function(){n?r(e.defaultValue):i(new wt)}});t.subscribe(o)}))}function Nt(t){return t instanceof Date&&!isNaN(t)}var Ct=f((function(t){return function(e){void 0===e&&(e=null),t(this),this.message=\"Timeout has occurred\",this.name=\"TimeoutError\",this.info=e}}));function Tt(t,e){var n=Nt(t)?{first:t}:\"number\"==typeof t?{each:t}:t,r=n.first,i=n.each,o=n.with,s=void 0===o?St:o,a=n.scheduler,c=void 0===a?null!=e?e:q:a,u=n.meta,l=void 0===u?null:u;if(null==r&&null==i)throw new TypeError(\"No timeout provided.\");return k((function(t,e){var n,o,a=null,u=0,h=function(t){o=et(e,c,(function(){n.unsubscribe(),ht(s({meta:l,lastValue:a,seen:u})).subscribe(e)}),t)};n=t.subscribe(new U(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}))),h(null!=r?\"number\"==typeof r?r:+r-c.now():i)}))}function St(t){throw new Ct(t)}function At(t,e){return k((function(n,r){var i=0;n.subscribe(new U(r,(function(n){r.next(t.call(e,n,i++))})))}))}function It(t,e,n){return void 0===n&&(n=1/0),p(e)?It((function(n,r){return At((function(t,i){return e(n,t,r,i)}))(ht(t(n,r)))}),n):(\"number\"==typeof e&&(n=e),k((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;ht(n(t,l++)).subscribe(new U(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?e.add(s.schedule((function(){return f(t)}))):f(t)};c.length&&u<r;)t();d()}catch(t){e.error(t)}})))};return t.subscribe(new U(e,p,(function(){h=!0,d()}))),function(){null==a||a()}}(e,r,t,n)})))}function Rt(t){return void 0===t&&(t=1/0),It(D,t)}function Dt(){return Rt(1)}function Ht(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Dt()(ft(t,_t(t)))}function Lt(t){return new L((function(e){ht(t()).subscribe(e)}))}function Pt(t,e,n){void 0===t&&(t=0),void 0===n&&(n=z);var r=-1;return null!=e&&(vt(e)?n=e:r=e),new L((function(e){var i=Nt(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 kt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t),r=bt(t,1/0),i=t;return i.length?1===i.length?ht(i[0]):Rt(r)(ft(i,n)):J}var Ut,xt,Gt,Ft,Mt,Bt,Wt=new L(N),Kt=Array.isArray;function Vt(t){return 1===t.length&&Kt(t[0])?t[0]:t}function Yt(t,e){return function(n,r){return!t.call(e,n,r)}}function jt(t,e){return k((function(n,r){var i=0;n.subscribe(new U(r,(function(n){return t.call(e,n,i++)&&r.next(n)})))}))}function $t(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 1===(t=Vt(t)).length?ht(t[0]):new L(qt(t))}function qt(t){return function(e){for(var n=[],r=function(r){n.push(ht(t[r]).subscribe(new U(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 zt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=gt(t),r=Vt(t);return r.length?new L((function(t){var e=r.map((function(){return[]})),i=r.map((function(){return!1}));t.add((function(){e=i=null}));for(var o=function(o){ht(r[o]).subscribe(new U(t,(function(r){if(e[o].push(r),e.every((function(t){return t.length}))){var s=e.map((function(t){return t.shift()}));t.next(n?n.apply(void 0,u([],c(s))):s),e.some((function(t,e){return!t.length&&i[e]}))&&t.complete()}}),(function(){i[o]=!0,!e[o].length&&t.complete()})))},s=0;!t.closed&&s<r.length;s++)o(s);return function(){e=i=null}})):J}function Jt(t){return k((function(e,n){var r,i=null,o=!1;i=e.subscribe(new U(n,void 0,void 0,(function(s){r=ht(t(s,Jt(t)(e))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0}))),o&&(i.unsubscribe(),i=null,r.subscribe(n))}))}function Xt(t,e){return p(e)?It(t,e,1):It(t,1)}function Qt(t){return k((function(e,n){var r=!1;e.subscribe(new U(n,(function(t){r=!0,n.next(t)}),(function(){r||n.next(t),n.complete()})))}))}function Zt(t){return t<=0?function(){return J}:k((function(e,n){var r=0;e.subscribe(new U(n,(function(e){++r<=t&&(n.next(e),t<=r&&n.complete())})))}))}function te(t,e){return void 0===e&&(e=D),t=null!=t?t:ee,k((function(n,r){var i,o=!0;n.subscribe(new U(r,(function(n){var s=e(n);!o&&t(i,s)||(o=!1,i=s,r.next(n))})))}))}function ee(t,e){return t===e}function ne(t){return void 0===t&&(t=re),k((function(e,n){var r=!1;e.subscribe(new U(n,(function(t){r=!0,n.next(t)}),(function(){return r?n.complete():n.error(t())})))}))}function re(){return new wt}function ie(t,e){var n=arguments.length>=2;return function(r){return r.pipe(t?jt((function(e,n){return t(e,n,r)})):D,Zt(1),n?Qt(e):ne((function(){return new wt})))}}function oe(t){return t<=0?function(){return J}:k((function(e,n){var r=[];e.subscribe(new U(n,(function(e){r.push(e),t<r.length&&r.shift()}),(function(){var t,e;try{for(var i=a(r),o=i.next();!o.done;o=i.next()){var s=o.value;n.next(s)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}n.complete()}),void 0,(function(){r=null})))}))}function se(t){return k((function(e,n){var r,i,o=!1,s=function(){r=e.subscribe(new U(n,void 0,void 0,(function(e){i||(i=new G,t(i).subscribe(new U(n,(function(){return r?s():o=!0})))),i&&i.next(e)}))),o&&(r.unsubscribe(),r=null,o=!1,s())};s()}))}function ae(t){void 0===t&&(t={});var e=t.connector,n=void 0===e?function(){return new G}: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=null,r=null,o=null,a=0,u=!1,l=!1,h=function(){null==r||r.unsubscribe(),r=null},d=function(){h(),e=o=null,u=l=!1},p=function(){var t=e;d(),null==t||t.unsubscribe()};return k((function(t,f){a++,l||u||h();var v=o=null!=o?o:n();f.add((function(){0!==--a||l||u||(r=ce(p,c))})),v.subscribe(f),e||(e=new T({next:function(t){return v.next(t)},error:function(t){l=!0,h(),r=ce(d,i,t),v.error(t)},complete:function(){u=!0,h(),r=ce(d,s),v.complete()}}),lt(t).subscribe(e))}))(t)}}function ce(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return!0===e?(t(),null):!1===e?null:e.apply(void 0,u([],c(n))).pipe(Zt(1)).subscribe((function(){return t()}))}function ue(t,e,n){var r,i,o,s=!1;return t&&\"object\"==typeof t?(o=null!==(r=t.bufferSize)&&void 0!==r?r:1/0,e=null!==(i=t.windowTime)&&void 0!==i?i:1/0,s=!!t.refCount,n=t.scheduler):o=null!=t?t:1/0,ae({connector:function(){return new W(o,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:s})}function le(t){return jt((function(e,n){return t<=n}))}function he(){return t=D,k((function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(new U(r,(function(n){null==i||i.unsubscribe();var s=0,c=o++;ht(t(n,c)).subscribe(i=new U(r,(function(t){return r.next(e?e(n,t,c,s++):t)}),(function(){i=null,a()})))}),(function(){s=!0,a()})))}));var t,e}function de(t){return k((function(e,n){ht(t).subscribe(new U(n,(function(){return n.complete()}),N)),!n.closed&&e.subscribe(n)}))}function pe(t,e,n){var r=p(t)||e||n?{next:t,error:e,complete:n}:t;return r?k((function(t,e){t.subscribe(new U(e,(function(t){var n;null===(n=r.next)||void 0===n||n.call(r,t),e.next(t)}),(function(){var t;null===(t=r.complete)||void 0===t||t.call(r),e.complete()}),(function(t){var n;null===(n=r.error)||void 0===n||n.call(r,t),e.error(t)})))})):D}class fe extends Error{constructor(t,e){super(t),this.type=e,this.type=e,Object.setPrototypeOf(this,new.target.prototype)}}function ve(t,e,n=Ut.ERROR,r=xt.JS_LIB){e?null==e||e.write({level:n,layer:r,message:t}):e||n!==Ut.ERROR||console.error(t)}function Ee(t){return void 0!==t}!function(t){t.ERROR=\"error\",t.WARNING=\"warning\",t.INFO=\"info\"}(Ut||(Ut={})),function(t){t.CHROME_EXTENSION=\"chrome-extension\",t.NATIVE_CONSOLE=\"native-console\",t.JS_LIB=\"js-lib\"}(xt||(xt={})),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\"}(Gt||(Gt={}));class ge{constructor(t,e){this.compare=e,this.remove=new G,this.itemRemoved=this.remove,this.items=new M([]),this.itemList=this.items,this.itemAdded=t.pipe(At((t=>(this.addItem(t),t))),ae()),this.itemAdded.subscribe({next:t=>{t.onDisconnect.pipe(ie(),At((()=>this.removeItem(t.id))),jt(Ee)).subscribe((t=>this.remove.next(t)))},error:N}),this.itemRemoved.subscribe({error:N})}getValue(){return[...this.items.getValue()]}addItem(t){if(this.items.getValue().filter((e=>e.id.equals(t.id))).length>0)throw new fe(\"This item has already been added.\",Gt.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 fe(\"Item not found and therefore cannot be removed.\",Gt.UNEXPECTED_ERROR);const r=e.splice(n,1)[0];return this.items.next(e),r}}class _e{constructor(t,e){this.sdkVersion=\"4.1.0\",this.consoleAppVersion=t.pipe(ie((t=>\"ready\"===t.event)),At((t=>t.version)),Tt(1e3),ue(1),Jt((()=>mt(null)))),this.chromeExtensionVersion=t.pipe(ie((t=>\"chrome-extension-ready\"===t.event)),At((t=>t.version)),Tt(1e3),ue(1),Jt((()=>mt(null)))),zt(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}`,ve(r,e,Ut.INFO)}))}}class be{constructor(t,e,r){this.deviceDetector=t,this.deviceAdded=this.deviceDetector.deviceObservables.itemAdded,this.deviceRemoved=this.deviceDetector.deviceObservables.itemRemoved,this.deviceList=this.deviceDetector.deviceObservables.itemList,Ft.set(this,void 0),this._transport=e,this._readyEvents=e.consoleAppEvent.pipe(jt((t=>\"ready\"===t.event||\"chrome-extension-ready\"===t.event)),ue(2)),this._readyEvents.subscribe(),this._config=r,this.transportContext=e.context,n(this,Ft,new _e(this._readyEvents,null==r?void 0:r.logger),\"f\")}getVersion(){return e(this,Ft,\"f\").sdkVersion}getChromehostVersion(){return Ot(e(this,Ft,\"f\").consoleAppVersion)}getChromeExtensionVersion(){return Ot(e(this,Ft,\"f\").chromeExtensionVersion)}}Ft=new WeakMap,function(t){t.NODE=\"node\",t.CHROME_EXTENSION=\"chrome-extension\",t.WEB_HID=\"web-hid\"}(Mt||(Mt={})),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\"}(Bt||(Bt={}));const me=\"Failed to dynamically import file. Please contact a Jabra representative as we would love to learn about scenarios where this could happen!\";function ye(e,n=Bt.CHROME_EXTENSION,r){return t(this,void 0,void 0,(function*(){if(n!==Bt.WEB_HID){const t=yield import(\"./chrome-extension-transport-1b253c4b.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),i=yield t.TransportChromeExtension.checkInstallation();if(i.ok)return ve(\"Using Chrome extension for transport.\",e,Ut.INFO),new t.TransportChromeExtension(e,r);if(n===Bt.CHROME_EXTENSION)throw new fe(i.message,Gt.INIT_ERROR);n===Bt.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK&&ve(i.message,e,Ut.INFO)}return ve(\"Using WebHID for transport.\",e,Ut.INFO),function(e,n){return t(this,void 0,void 0,(function*(){const t=yield import(\"./init-handler-8a0a1ce2.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),r=yield import(\"./web-hid-transport-3d30e3bd.js\").catch((()=>{throw new fe(me,Gt.UNEXPECTED_ERROR)})),i=t.initHandler(e);return new r.WebHidTransport(i,e,n)}))}(e,r)}))}class we{constructor(t,e){this.log=t.consoleAppEvent.pipe(jt((t=>\"log\"===t.event)),At((t=>({message:t.message,level:t.level,layer:t.layer})))),this.log.subscribe((t=>ve(t.message,e,t.level,t.layer)))}}const Oe=[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 Ne{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 less 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 less than 100 characters.\",!1);/^[\\p{L}\\p{N}]+[\\p{L}\\p{N}\\u0020&-]*$/gu.test(this.config.appName)||this.logWarning(\"The appName is invalid. Name should consist of 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=Oe[e]^r<<8}return 65535&(0^r)}(n.join(\"-\")).toString(16).padStart(4,\"0\");return e===r}}var Ce,Te,Se,Ae,Ie,Re,De;!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\"}(Ce||(Ce={}));class He{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\"}(Te||(Te={})),function(t){t[t.DATA=1]=\"DATA\"}(Se||(Se={}));class Le{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\"}(Ae||(Ae={})),function(t){t[t.EVENT=0]=\"EVENT\",t[t.READ=1]=\"READ\",t[t.WRITE=2]=\"WRITE\",t[t.REPLY=3]=\"REPLY\"}(Ie||(Ie={})),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\"}(Re||(Re={})),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\"}(De||(De={}));const Pe={command:Re.DEVICE,subCommand:De.ATTACH_EVENT,serialize:t=>Uint8Array.from([5,0])};function ke(t){const e=t.payload,n=e[0],r=e.length-1;if(r!==n)throw new fe(`Invalid response. Expected length: ${n}, actual: ${r}`,Gt.DEVICE_ERROR);const i=e.slice(1);return String.fromCharCode(...Array.from(i))}class Ue{constructor(){var t;this.command=Re.IDENT,this.subCommand=De.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 fe(`Invalid response. Expected length: ${r}, actual: ${i}`,Gt.DEVICE_ERROR);const o=[];return n.slice(1).forEach((e=>{o.push(t(e))})),o})}}const xe={command:Re.IDENT,subCommand:De.NAME,deserialize:ke},Ge={command:Re.IDENT,subCommand:De.PID,deserialize:function(t){const e=t instanceof Le?t.payload:t;return new DataView(e.buffer).getUint16(0,!0)}};class Fe{constructor(){this.command=Re.CONFIG,this.subCommand=De.CONFIG_PREFERRED_SOFTPHONE,this.deserialize=t=>t.payload[0],this.serialize=t=>Uint8Array.of(t)}}class Me{constructor(){this.command=Re.IDENT,this.subCommand=De.TYPE,this.deserialize=t=>t.source}}const Be={command:Re.IDENT,subCommand:De.ID,deserialize:ke};\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function We(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 Ke,Ve,Ye=We((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)},b=function(t,e){for(var n=0;n<c;n++)t[n]&=e[n];return t},m=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)},w=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)},O=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(),b(this.state,this.mask),t=f(void 0!==t?t>>>0:4294967295*Math.random()>>>0),m(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);w(e,18),N(e,t),w(e,27);var n=p(t);w(n,59),b(e,this.mask);var r=v(n),i=p(e);return O(i,32-r),w(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,k=0,U=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?U.prototype=new Uint8Array(16):Buffer?U.prototype=Buffer.alloc(16):U.prototype=new Array(16),U.prototype.constructor=U,U.prototype.make=function(t){var e,n=this;if(1===t){var r=(new Date).getTime();r!==P?k=0:k++,P=r;var i,o=f(r);g(o,1e4),E(o,h(1,178,29,210,19,129,64,0)),k>0&&E(o,f(k)),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 U?arguments[1]:(new U).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},U.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},U.prototype.toString=function(t){return this.format(t)},U.prototype.toJSON=function(){return this.format(\"std\")},U.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},U.prototype.export=function(){for(var t=Array(16),e=0;e<16;e++)t[e]=this[e];return t},U.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},U.prototype.compare=function(t){if(\"object\"!=typeof t)throw new Error(\"UUID: compare: invalid argument (type UUID expected)\");if(!(t instanceof U))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},U.prototype.equal=function(t){return 0===this.compare(t)},U.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},U.PCG=D,U}(),t.exports.default=t.exports}));class je{constructor(t){this.transport=t,this.gnpLockAcquired=t.consoleAppEvent.pipe(jt((t=>\"response-gnp-lock\"===t.event)),At((t=>t.token)),ue(1)),this.gnpLockAcquired.subscribe()}acquireGnpLock(t){const e=new Ye(4).toString(),n={action:\"request-gnp-lock\",id:t,token:e},r=this.gnpLockAcquired.pipe(ie((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\"}(Ke||(Ke={})),function(t){t.ABSOLUTE=\"absolute\",t.RELATIVE=\"relative\"}(Ve||(Ve={}));class $e{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 qe(t,e,n){const r=t.toString(16).padStart(4,\"0\"),i=e.toString(16).padStart(4,\"0\");return new $e(`${r}:${i}:${n}`)}class ze{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 ze(new $e(t),e.usagePage,e.usage,e.value)}}class Je{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)),Je.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 Ye(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(ie((t=>\"response-hid-feature\"===t.event&&t.token===n)),At((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 Xe(t){return e=>e.pipe(function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=gt(t);return k((function(e,r){for(var i=t.length,o=new Array(i),s=t.map((function(){return!1})),a=!1,l=function(e){ht(t[e]).subscribe(new U(r,(function(t){o[e]=t,a||s[e]||(s[e]=!0,(a=s.every(D))&&(s=null))}),N))},h=0;h<i;h++)l(h);e.subscribe(new U(r,(function(t){if(a){var e=u([t],c(o));r.next(n?n.apply(void 0,u([],c(e))):e)}})))}))}(t),jt((([t,e])=>e)),At((([t,e])=>t)))}Je.inputReportsFilter=t=>t.pipe(jt((t=>\"hid-input\"===t.event)),At((t=>ze.deserialize(t.id,t))));class Qe{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 Le(e,n,i,o,s,c,r)}}Qe.lengthMask=63;class Ze{constructor(){this.data=[]}hasHeader(){return this.data.length>=Ze.gnpPacketHeaderLength}expectedPacketLength(){if(!this.hasHeader())throw new fe(\"Unable to get expected packet length without a full header\",Gt.UNEXPECTED_ERROR);return Qe.packetLengthFromAttr(this.data[3])}appendData(t){this.hasHeader()&&this.expectedPacketLength()>Ze.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 fe(\"Trying to get packet but buffer is not complete\",Gt.UNEXPECTED_ERROR);const t=Qe.deserialize(Uint8Array.from(this.data));return this.data=[],t}}Ze.gnpPacketHeaderLength=6,Ze.gnpPacketMaxLength=63;const tn=()=>{};function en(t){return pe((e=>t()),(e=>t()),(()=>tn))}const nn=()=>{return t=t=>t.command===Re.NACK,e=t=>new fe(`Got NACK response. Reason: ${t.subCommand}`,Gt.DEVICE_ERROR),n=>n.pipe(At((n=>t(n)?yt(e(n)):mt(n))),he());var t,e},rn=t=>ie((e=>e.type===Ie.REPLY&&e.sequenceNumber===t.sequenceNumber&&e.destination===t.source&&e.source===t.destination));class on{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(on.inputFilter),this.events=this.packets.pipe(on.eventsFilter),this.nextSequenceNumber=i}static get inputFilter(){return t=>{const e=t.pipe(jt((t=>t.usagePage===Te.GN_PROTOCOL&&t.usage===Se.DATA&&t.isArray()))),n=new Ze;return e.pipe(It((t=>{const e=t.value;if(n.appendData(e),n.hasFullPacket()){return mt(n.getPacketAndReset())}return Wt})),ae())}}static supportsGnpOverHid(t){return void 0!==t.findDescriptor(Te.GN_PROTOCOL,Se.DATA,Ke.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(Te.GN_PROTOCOL,Se.DATA,Ke.OUTPUT))||void 0===e?void 0:e.reportSize;if(!n)throw new fe(\"Cannot send GNP packets to this device.\",Gt.DEVICE_ERROR);const r=class{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}}.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(Te.GN_PROTOCOL,Se.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 Le(n,Ae.PC_ADDR,Ie.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 He(t,(t=>new Uint8Array));return this.readWithParams(r,null,e,n)}readWithParams(t,e,n=this.primaryAddress,r=2500){const i=new Le(n,Ae.PC_ADDR,Ie.READ,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new G;return this.doWithGnpLockHeld(((e,n,s)=>{n.pipe(rn(i),nn(),ie((t=>t.command===i.command&&t.subCommand===i.subCommand)),Tt(r),en(s),At((e=>t.deserialize(e)))).subscribe(o),e(i)})),o}write(t,e,n=this.primaryAddress,r=2500){const i=new Le(n,Ae.PC_ADDR,Ie.WRITE,t.command,t.subCommand,t.serialize(e),this.getNextSequenceNumber()),o=new G;return this.doWithGnpLockHeld(((t,e,n)=>{e.pipe(rn(i),nn(),ie((t=>t.command===Re.ACK)),Tt(r),en(n),At((()=>!0))).subscribe(o),t(i)})),o}}on.eventsFilter=t=>t.pipe(jt((t=>t.type===Ie.EVENT)));class sn{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 an(t,e,n,r){if(!on.supportsGnpOverHid(t))return yt((()=>new fe(\"Device does not support GNP commands.\",Gt.DEVICE_ERROR)));const i=mt(Ae.HS_BT_USB_ADDR,Ae.BASE_ADDR,Ae.CRADLE_ADDR,Ae.HS1_ADDR,Ae.HS_CRADLE_ADDR).pipe(At(((r,i)=>Lt((()=>{const o=new on(t,new je(e),n,r,i),s=new Me;return o.read(s,r,500).pipe(At((t=>o)),Jt((()=>J)))})))),Dt(),Zt(1),ne((()=>new fe(\"GNP probe failed.\",Gt.DEVICE_ERROR))));return $t(r.pipe(It((t=>yt((()=>new fe(\"Device was suddenly disconnected.\",Gt.DEVICE_ERROR)))))),i).pipe(ae())}function cn(t,e){return new sn(t,e)}class un{constructor(){this.primaryAddress=Ae.BASE_ADDR,this.events=Wt}subscribeToEvent(t,e){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}sendEvent(t,e,n){throw new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)}read(t,e,n){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}readWithParams(t,e,n,r){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}write(t,e,n,r){return yt((()=>new fe(\"This device does not support GNP commands.\",Gt.FEATURE_NOT_SUPPORTED)))}}class ln{constructor(t){this.transportId=t,this.isChild=!1}equals(t){return this.isChild===t.isChild&&this.transportId===t.transportId}toString(){return this.transportId}}class hn{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 dn,pn,fn;!function(t){t.NO_TRACKING=\"no-tracking\",t.TRACK_ERRORS=\"track-errors\",t.TRACK_USAGE=\"track-usage\",t.TRACK_ALL=\"track-all\"}(dn||(dn={})),function(t){t[t.BLUETOOTH=0]=\"BLUETOOTH\",t[t.INDIRECT=1]=\"INDIRECT\",t[t.USB=2]=\"USB\"}(pn||(pn={})),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\"}(fn||(fn={}));class vn{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:N})}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 vn(t,e,n,r.events,r.primaryAddress,s,a,c,u,i,o)}}const En=(t=3,e=500)=>n=>n.pipe(It(((n,r)=>{const i=r+1;return i>t?yt((()=>n)):Pt(i*i*e)})));function gn(t,e,n,r=1e3,i=3,o=100){return Lt((()=>t.read(e,n,r))).pipe(se(En(i,o)))}function _n(t,e,n){const{deviceType:r,address:i}=n;return{transportId:e.transportId,vid:e.vid,pid:gn(t,Ge,i),name:gn(t,xe,i),serialNumber:gn(t,Be,i),capabilities:e.capabilities,deviceType:r,connectionGnpAddress:i}}class bn{constructor(t,e,n=_n,r=vn.createConnection,i=cn){this.parentConnection=e,this.connectionCreator=r,this.createChildGnpChannel=i;const o=e.events.pipe(jt((t=>t.command===Re.DEVICE&&t.subCommand===De.ATTACH_EVENT)),At((t=>({deviceType:t.payload[0],address:t.payload[1]})))).pipe(At(n.bind(null,e,t)));this.connectionEvents=o.pipe(At((t=>{const n=$t(e.events.pipe(ie((e=>e.command===Re.DEVICE&&e.subCommand===De.DETACH_EVENT&&e.payload[1]===t.connectionGnpAddress)),At(N)),e.onDisconnect);return{attach:t,detach:n}})),It((t=>zt(mt(t.attach),this.createConnection(t.attach,t.detach)))),At((([t,e])=>({event:t,connection:e}))),de(e.onDisconnect)),e.sendEvent(Pe,[])}createConnection(t,e){const n=t.connectionGnpAddress,r=this.createChildGnpChannel(this.parentConnection,n),i=new hn(this.parentConnection.id,n);return mt(this.connectionCreator(i,pn.INDIRECT,this.parentConnection.hidChannel,r,e,this.parentConnection.id))}}const mn={command:Re.IDENT,subCommand:De.TYPE,deserialize:t=>{const{payload:e}=t,n=e[0];if(n<1||n>=e.length)throw new fe(\"Cannot get device type.\",Gt.DEVICE_ERROR);return e[1]}};function yn(t,e,n,r=Ut.ERROR,i=xt.JS_LIB){ve(`${t} ${function(t){if(t instanceof fe){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)}`,n,r,i)}function wn(t){return new bn(t.event,t.connection).connectionEvents}class On{constructor(t,e,n=((t,e,n)=>new Je(t,e,n)),r=an,i=wn,o=vn.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)),At(On.createAttachEvent),Jt(((t,e)=>(yn(\"\",t,this.logger),e)))).pipe(At((t=>{const e=this.transport.consoleAppEvent.pipe(jt((t=>\"detach\"===t.event)),ie((e=>On.getTransportId(e)===t.transportId)),At(N),ue());return e.subscribe(),{attach:t,detach:e}})),It((t=>this.createConnection(t.attach,t.detach))),ae()),a=s.pipe(jt((t=>t.event.deviceType===fn.DONGLE)),jt((t=>on.supportsGnpOverHid(t.connection.hidChannel))),It((t=>i(t))));this.connectionEvents=kt(s,a).pipe(ae())}static convertToReportType(t){switch(t){case\"input\":return Ke.INPUT;case\"output\":return Ke.OUTPUT;case\"feature\":return Ke.FEATURE;default:throw new fe(`${t} is not a valid ReportType`,Gt.UNEXPECTED_ERROR)}}static convertToValueType(t){switch(t){case\"absolute\":return Ve.ABSOLUTE;case\"relative\":return Ve.RELATIVE;default:throw new fe(`${t} Not a valid ValueType`,Gt.UNEXPECTED_ERROR)}}static createDescriptor(t){return t.map((t=>({reportType:On.convertToReportType(t.reportType),usagePage:t.usagePage,usage:t.usage,valueType:On.convertToValueType(t.valueType),reportSize:t.reportSize})))}static getMandatoryField(t,e){const n=t[e];if(void 0===n)throw new fe(`JSON event lacks required field \"${e}: ${JSON.stringify(t)}`,Gt.UNEXPECTED_ERROR);return n}static getTransportId(t){return On.getMandatoryField(t,\"id\")}static createAttachEvent(t){return{transportId:On.getTransportId(t),vid:On.getMandatoryField(t,\"vid\"),pid:mt(On.getMandatoryField(t,\"pid\")),name:mt(On.getMandatoryField(t,\"name\")),serialNumber:mt(On.getMandatoryField(t,\"serialNumber\")),capabilities:On.createDescriptor(On.getMandatoryField(t,\"descriptor\"))}}createConnection(t,e,n=3,r=100){const{capabilities:i,transportId:o}=t,s=new ln(o),a=this.createHidChannel(s,i,this.transport),c=this.createRootGnpChannel(a,this.transport,o,e).pipe(Jt(((t,e)=>(t.type&&t.type===Gt.DEVICE_ERROR&&this.transport.context===Mt.WEB_HID&&ve(\"Child devices are not yet supported when using WebHID.\",this.logger,Ut.WARNING,xt.JS_LIB),mt(new un)))),ae()),u=c.pipe(It((t=>t.read(mn))),se(En(n,r)),Jt((t=>mt(fn.ANY))));return zt(c,u).pipe(de(e),At((([n,r])=>({event:Object.assign(Object.assign({},t),{deviceType:r,connectionGnpAddress:n.primaryAddress}),connection:this.connectionCreator(s,pn.USB,a,n,e)}))))}}var Nn,Cn,Tn,Sn,An;class In{constructor(t,r,i,o,s,a){this.vendorId=t,this.productId=r,this.serialNumber=i,this.name=o,this.type=s,Cn.set(this,void 0),n(this,Cn,new ge(a,e(In,Nn,\"m\",Sn)),\"f\"),this.connectionAdded=e(this,Cn,\"f\").itemAdded,this.connectionRemoved=e(this,Cn,\"f\").itemRemoved,this.connectionList=e(this,Cn,\"f\").itemList,this.onDisconnect=e(this,Cn,\"f\").itemList.pipe(le(1),ie((t=>0===t.length)),At(N),ae())}get id(){return qe(this.vendorId,this.productId,this.serialNumber)}get currentConnections(){return e(this,Cn,\"f\").getValue()}get browserLabel(){return`${this.vendorId.toString(16).padStart(4,\"0\")}:${this.productId.toString(16).padStart(4,\"0\")}`}}Nn=In,Cn=new WeakMap,Sn=function(t,n){return e(In,Nn,\"f\",Tn).indexOf(t.type)-e(In,Nn,\"f\",Tn).indexOf(n.type)},Tn={value:[pn.USB,pn.INDIRECT,pn.BLUETOOTH]};class Rn{constructor(t){this.deviceObservables=new ge(t)}static exceptionToUndefined(t){try{return t()}catch(t){if(t instanceof fe)return;throw t}}connectionExists(t){return void 0!==Rn.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 fe(`Could not find connection with id ${t.toString()}`,Gt.UNEXPECTED_ERROR)}findDeviceByDeviceId(t){return this.deviceObservables.getValue().find((e=>e.id.startsWith(t)||t.startsWith(e.id)))}}class Dn{constructor(t,e){this.logger=e;const[n,r]=(i=t.pipe(jt((t=>!this.deviceCollection.connectionExists(t.connection.id))),Xt((t=>this.force(t)))),[jt(o=({event:t,pid:e,serialNumber:n})=>!this.deviceCollection.findDeviceByDeviceId(qe(t.event.vid,e,n)),s)(ht(i)),jt(Yt(o,s))(ht(i))]);var i,o,s;const a=n.pipe(At((t=>Dn.createDevice(t,r))));this.deviceCollection=new Rn(a),this.deviceObservables=this.deviceCollection.deviceObservables}force(t){const{name:e,pid:n,serialNumber:r}=t.event,i=t.connection.onDisconnect.pipe((o=yt((()=>new Error(`Connection with ID ${t.connection.id} disconnected`))),p(s)?Xt((function(){return o}),s):Xt((function(){return o}))));var o,s;return zt(e,n,r).pipe(At((([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?k((function(e,n){qt(u([e],c(t)))(n)})):D}(i),Jt((t=>(ve(`Failed to retrieve child connection information. Error: ${t}`,this.logger,Ut.WARNING,xt.JS_LIB),J))))}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=>Dn.isSameDevice(t,e))),At((t=>t.event.connection))),u=Ht(mt(n.connection),c);return new In(s,r,o,i,a,u)}static isSameDevice(t,e){const n=qe(t.event.event.vid,t.pid,t.serialNumber),r=qe(e.event.event.vid,e.pid,e.serialNumber);return n.startsWith(r)||r.startsWith(n)}static create(t,e){const n=new On(t,e);return new Dn(n.connectionEvents)}}function Hn(e){var n,r,i;return t(this,void 0,void 0,(function*(){const t=null==e?void 0:e.logger;ve(\"Jabra SDK JS starting up...\",t,Ut.INFO);const o=new Ne(e);o.validateOrganizationKey(),o.validateAppId(),o.validateAppName();const s=null!==(r=null===(n=null==e?void 0:e.internal)||void 0===n?void 0:n.testDeviceTransport)&&void 0!==r?r:yield ye(t,null==e?void 0:e.transport,null===(i=null==e?void 0:e.internal)||void 0===i?void 0:i.recorder);new we(s,t);const a=Dn.create(s,t),c=new be(a,s,e);return yield s.connect(),c}))}class Ln{constructor(t,e,n,r){this.deviceId=t,this.usagePage=e,this.usage=n,this.value=r}}class Pn{constructor(t,e){this.token=t,this.value=e}}!function(t){t.UsageReport=class{constructor(t,e){this.usage=t,this.value=e}}}(An||(An={}));var kn,Un,xn,Gn,Fn,Mn,Bn,Wn,Kn,Vn,Yn=We((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 jn(){return t(this,void 0,void 0,(function*(){const{hid:t}=window.navigator;if(!t)throw new fe(\"WebHID not supported\",Gt.INIT_ERROR);yield t.requestDevice({filters:[{vendorId:kn.VENDOR_ID}]});new BroadcastChannel(kn.PAIRING_CHANNEL).postMessage(null)}))}!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.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\"}(Un||(Un={}));class $n{constructor(t,e,n){this.type=t,this.value=e,this.valueType=n}toString(){return void 0===Un[this.type]?`Unknown signal: type: ${this.type}, value: ${this.value}, valueType: ${this.valueType}`:`Signal: type: ${Un[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\"}(xn||(xn={})),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\"}(Gn||(Gn={})),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\"}(Fn||(Fn={}));class qn{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(ae());return t.subscribe(),t}filter(){const t=this.hidChannel.input.pipe(jt((t=>t.usagePage===xn.GN_TELEPHONY&&!t.isArray())),It((t=>{const e=this.hidChannel.descriptor.find((e=>e.usagePage===t.usagePage&&e.usage===t.usage));return(null==e?void 0:e.valueType)?mt(Object.assign(Object.assign({},t),{valueType:e.valueType})):(yn(\"\",new fe(`Unable to find value-type in descriptor for UsagePage: ${t.usagePage} and Usage: ${t.usage}`,Gt.FEATURE_NOT_SUPPORTED),this.logger),J)})),jt((t=>{if(t.valueType===Ve.RELATIVE)return Boolean(t.value);return this.cachedSignals.get(t.usage)!==t.value})),pe((t=>{this.cachedSignals.set(t.usage,t.value)})),de(this.onDisconnect),ae()),e=[Un.HOOK_SWITCH,Un.REDIAL],n=t.pipe(Xe(this.isSoftphoneInFocus),jt((t=>e.includes(t.usage)&&!this.lockHeld.getValue())));return kt(t.pipe(jt((t=>this.lockHeld.getValue()))),n).pipe(At((t=>new $n(t.usage,0!==t.value,t.valueType))),Jt((t=>(ve(t.message,this.logger),J))))}}class zn{constructor(t,r,i,o,s,a){this.device=t,this.onDisconnect=i,Mn.set(this,void 0),Bn.set(this,new M(!1)),Wn.set(this,void 0),Kn.set(this,!1),this.deviceSignals=new G,n(this,Mn,o,\"f\"),e(this,Mn,\"f\").lockHeld.subscribe(e(this,Bn,\"f\")),n(this,Wn,r,\"f\"),this.onDisconnect.pipe(ie(),At((()=>!0))).subscribe((t=>{n(this,Kn,t,\"f\")}));const c=new qn(e(this,Wn,\"f\"),this.onDisconnect,s,e(this,Bn,\"f\"),a);this.deviceSignals=c.setup()}checkCallLockHeld(t){if(!e(this,Bn,\"f\").getValue())throw new fe(t,Gt.SDK_USAGE_ERROR)}checkCallLockNotHeld(t){if(e(this,Bn,\"f\").getValue())throw new fe(t,Gt.SDK_USAGE_ERROR)}checkHasDisconnected(){if(e(this,Kn,\"f\"))throw new fe(\"CallControl cannot be performed as the connection has disconnected.\",Gt.SDK_USAGE_ERROR)}takeCallLock(){return this.checkHasDisconnected(),this.checkCallLockNotHeld(\"Trying to take the call lock, but it is already held!\"),function(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 wt)}})}))}(e(this,Mn,\"f\").tryTakeCallLock())}releaseCallLock(){this.checkHasDisconnected(),this.checkCallLockHeld(\"Trying to release the call lock, but it is not held!\"),e(this,Mn,\"f\").releaseCallLock()}offHook(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"Calls can only be started and stopped when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.OFF_HOOK,Ke.OUTPUT);if(!n)throw new fe(`Device ${this.device.name} does not support any offHook functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}ring(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The ringer state can only be modified when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.RING,Ke.OUTPUT),r=e(this,Wn,\"f\").findDescriptor(xn.GN_TELEPHONY,Fn.RINGER,Ke.OUTPUT);if(!n&&!r)throw new fe(`Device ${this.device.name} does not support any ring functionality.`,Gt.FEATURE_NOT_SUPPORTED);if(n){const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}if(r){const n=t?1:0;e(this,Wn,\"f\").output(r.usagePage,r.usage,n)}}mute(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The mute state can only be modified when the call lock is held.\");let n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.MIC_MUTE,Ke.OUTPUT);if(n||(n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.MUTE,Ke.OUTPUT)),!n)throw new fe(`Device ${this.device.name} does not support any mute functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}hold(t){this.checkHasDisconnected(),this.checkCallLockHeld(\"The hold state can only be modified when the call lock is held.\");const n=e(this,Wn,\"f\").findDescriptor(xn.GN_LED,Gn.HOLD,Ke.OUTPUT);if(!n)throw new fe(`Device ${this.device.name} does not support hold functionality.`,Gt.FEATURE_NOT_SUPPORTED);const r=t?1:0;e(this,Wn,\"f\").output(n.usagePage,n.usage,r)}}Mn=new WeakMap,Bn=new WeakMap,Wn=new WeakMap,Kn=new WeakMap,function(t){t[t.STD_TELEPHONY=0]=\"STD_TELEPHONY\",t[t.GN_TELEPHONY=1]=\"GN_TELEPHONY\"}(Vn||(Vn={}));const Jn={[Ce.SKYPE]:Vn.GN_TELEPHONY,[Ce.CISCO]:Vn.GN_TELEPHONY,[Ce.AVAYA]:Vn.GN_TELEPHONY,[Ce.SIEMENS]:Vn.GN_TELEPHONY,[Ce.IBM]:Vn.GN_TELEPHONY,[Ce.AASTRA]:Vn.GN_TELEPHONY,[Ce.JABRA]:Vn.GN_TELEPHONY,[Ce.NEC]:Vn.GN_TELEPHONY,[Ce.SHORETEL]:Vn.GN_TELEPHONY,[Ce.MS_OC]:Vn.STD_TELEPHONY,[Ce.ALCATEL]:Vn.STD_TELEPHONY,[Ce.OTHER]:Vn.STD_TELEPHONY,[Ce.NORTEL]:null,[Ce.GENERIC]:null};function Xn(t,e){const n=t.read(new Fe).pipe(At((t=>Jn[t]===e))),r=t.read(new Ue).pipe(At((t=>t.find((t=>Jn[t]===e))))).pipe(At((e=>e?t.write(new Fe,e):mt(!1))),he());return n.pipe((i=mt(!0),o=r,t=>t.pipe(At((t=>t?i:o)),he())));var i,o}class Qn{constructor(t,e,n){this.connectionCallLock=t,this.device=e,this.logger=n,this.lockHeld=new M(!1),this.currentLocks=new M([]),this.lockReleaseEvent=new G,this.lockReleaseEvent.subscribe((()=>this.lockHeld.next(!1)))}tryTakeCallLock(){const{currentConnections:t}=this.device,e=[],n=Lt((()=>lt(t).pipe(Xt((t=>this.takeSingleCallLock(t))),pe((t=>e.push(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)})):D,oe(1),n?Qt(e):ne((function(){return new wt})))}}(),Jt((t=>mt(\"\"))),At((n=>(this.currentLocks.next(e),e.length!==t.length?(this.releaseCallLock(),!1):(this.lockHeld.next(!0),!0)))),ae());return n.subscribe((t=>{t&&(this.device.connectionAdded.pipe(de(this.lockReleaseEvent)).subscribe((t=>{this.takeSingleCallLock(t).pipe(At((t=>{this.currentLocks.getValue().push(t),this.currentLocks.next(this.currentLocks.getValue())})),se(En())).subscribe({error:t=>{ve(`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,Ut.WARNING,xt.JS_LIB)}})})),this.device.connectionRemoved.pipe(de(this.lockReleaseEvent)).subscribe((t=>this.releaseSingleCallLock(t.id.transportId))))})),n}takeSingleCallLock(t){return Lt((()=>this.connectionCallLock.tryTakeCallLock(t.id.transportId))).pipe(At((e=>e.acquired?mt(e.transportId):yt((()=>new fe(`Failed to acquire call lock on connection ${t.id.transportId}`,Gt.SDK_USAGE_ERROR))))),he())}releaseCallLock(){this.lockReleaseEvent.next();[...this.currentLocks.getValue()].forEach((t=>{try{this.releaseSingleCallLock(t)}catch(t){}})),this.currentLocks.next([])}releaseSingleCallLock(t){this.connectionCallLock.releaseCallLock(t);const e=this.currentLocks.getValue().findIndex((e=>e===t));if(e>-1){const t=this.currentLocks.getValue();t.splice(e,1),this.currentLocks.next(t)}0!==this.currentLocks.getValue().length&&0!==this.device.currentConnections.length||this.lockReleaseEvent.next()}}class Zn{constructor(t){this.transport=t,this.callLockAcquiredResponse=this.transport.consoleAppEvent.pipe(jt((t=>\"response-call-lock\"===t.event)),At((t=>({transportId:t.id,acquired:t.acquired}))))}tryTakeCallLock(t){const e={action:\"request-call-lock\",id:t};return this.transport.writeAction(e),this.callLockAcquiredResponse.pipe(ie((e=>e.transportId===t)))}releaseCallLock(t){const e={action:\"release-call-lock\",id:t};this.transport.writeAction(e)}}const tr=[{usagePage:xn.GN_LED,usage:Gn.OFF_HOOK,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.RING,reportType:Ke.OUTPUT},{usagePage:xn.GN_TELEPHONY,usage:Fn.RINGER,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.MIC_MUTE,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.MUTE,reportType:Ke.OUTPUT},{usagePage:xn.GN_LED,usage:Gn.HOLD,reportType:Ke.OUTPUT}],er=[pn.USB,pn.INDIRECT,pn.BLUETOOTH];function nr(t,e){const{hidChannel:n}=t;return!!function(t){return tr.some((({usagePage:e,usage:n,reportType:r})=>t.findDescriptor(e,n,r)))}(n)&&(!on.supportsGnpOverHid(n)||e!==fn.DONGLE&&e!==fn.OTHER)}function rr(t){const{currentConnections:e,type:n}=t;var r;return(r=e,[...r].sort(((t,e)=>er.indexOf(t.type)-er.indexOf(e.type)))).find((t=>nr(t,n)))}function ir(t,e,n,r,i){const o=rr(t),{hidChannel:s,onDisconnect:a}=o,c=new Qn(new Zn(r),t,i);if(e)return mt(new zn(t,s,a,c,n.softphoneInFocus,i));if(r.context===Mt.WEB_HID)return mt(new zn(t,s,a,c,n.softphoneInFocus,i));return function(t,e){return t.findDescriptor(xn.GN_TELEPHONY,Fn.GN_TELEPHONY_CONT_SET,Ke.FEATURE)?Lt((()=>(t.setFeatureReport(xn.GN_TELEPHONY,Fn.GN_TELEPHONY_CONT_SET,1),mt(!0)))):e?Xn(e,Vn.GN_TELEPHONY):mt(!1)}(s,o).pipe(At((e=>new zn(t,s,a,c,n.softphoneInFocus,i))))}class or{constructor(t){this.devComm=t,this.softphoneInFocus=new L,this.softphoneInFocus=this.devComm.consoleAppEvent.pipe(jt((t=>\"softphone-in-focus\"===t.event)),At((t=>t.infocus)),function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=_t(t);return k((function(e,r){(n?Ht(t,e,n):Ht(t,e)).subscribe(r)}))}(!1),ue(1)),this.softphoneInFocus.subscribe((()=>{}))}setSharedSoftphoneInfo(t){if(!(null==t?void 0:t.partnerKey)||!(null==t?void 0:t.appId))return void ve(\"Unable to register with Jabra Direct: partnerKey or appId missing in config\",null==t?void 0:t.logger,Ut.WARNING);const e=t.partnerKey+t.appId,n=new Ye(5,\"ns:OID\",e);let{appName:r}=t;if((!t.appName||t.appName.length<3)&&(ve(\"App name missing in config. Fall back to use appId as app name.\",null==t?void 0:t.logger,Ut.WARNING),r=t.appId),r.length>100)return void ve(\"Unable to register with Jabra Direct: appName must be below 100 characters.\",null==t?void 0:t.logger,Ut.WARNING);const i={action:\"set-softphone-info\",name:r,id:n.toString()};this.devComm.writeAction(i)}}var sr,ar,cr,ur,lr,hr,dr,pr,fr,vr,Er,gr,_r;class br{constructor(t){var r;sr.set(this,void 0),ar.set(this,void 0),cr.set(this,void 0),ur.set(this,void 0),n(this,ar,new or(t._transport),\"f\"),e(this,ar,\"f\").setSharedSoftphoneInfo(t._config),n(this,sr,t._transport,\"f\"),n(this,cr,null===(r=t._config)||void 0===r?void 0:r.logger,\"f\"),n(this,ur,t._readyEvents.pipe(ie((t=>\"ready\"===t.event)),At((t=>t.jabraDirectInstalled))),\"f\")}createCallControl(t){if(!this.supportsCallControl(t))return Promise.reject(new fe(`Device ${t.name} does not support call control.`,Gt.FEATURE_NOT_SUPPORTED));return Ot(e(this,ur,\"f\").pipe(It((n=>ir(t,n,e(this,ar,\"f\"),e(this,sr,\"f\"),e(this,cr,\"f\"))))))}supportsCallControl(t){return void 0!==rr(t)}}sr=new WeakMap,ar=new WeakMap,cr=new WeakMap,ur=new WeakMap,function(t){t.HOLD_CURRENT=\"hold-current\",t.END_CURRENT=\"end-current\"}(lr||(lr={})),function(t){t.MUTED=\"muted\",t.UNMUTED=\"unmuted\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(hr||(hr={})),function(t){t.ON_HOLD=\"on-hold\",t.NOT_ON_HOLD=\"not-on-hold\",t.NO_ONGOING_CALLS=\"no-ongoing-calls\"}(dr||(dr={})),function(t){t.NO_INCOMING=\"no-incoming\",t.AWAITING_RESPONSE=\"awaiting-response\",t.RESOLVING_RESPONSE=\"resolving-response\",t.RESOLVING_RESPONSE_FROM_DEVICE=\"resolving-response-from-device\",t.ACCEPTED=\"accepted\",t.REJECTED=\"rejected\"}(pr||(pr={}));class mr{constructor(t){this.state=t.value,t.subscribe((t=>{this.state=t}))}}class yr extends mr{constructor(t,e,n,r,i,o){super(t),this.commands=e,this.deviceSignals=n,this.enableFlash=r,this.onTeardown=i,this.logger=o}setupSignalListeners(){const e=this.extendedSignals.pipe(jt((t=>t.allowed))),n=this.extendedSignals.pipe(jt((t=>!t.allowed)));e.subscribe((t=>{ve(`Accepted signal: ${Un[t.type]} [${t.value}]`,null==this?void 0:this.logger,Ut.INFO)})),n.subscribe((t=>{ve(`Ignored signal: ${Un[t.type]} [${t.value}]`,null==this?void 0:this.logger,Ut.INFO)})),e.pipe(jt((t=>t.type===Un.HOOK_SWITCH))).subscribe((t=>{this.state.incomingCall!==pr.AWAITING_RESPONSE?!1===t.value&&this.state.ongoingCalls>0&&this.commands.hookHandler.endCall():this.commands.incomingCallHandler.acceptIncomingCall(lr.END_CURRENT,!0)})),e.pipe(jt((t=>t.type===Un.PHONE_MUTE))).subscribe((()=>{const t=this.state.muteState===hr.MUTED?hr.UNMUTED:hr.MUTED;this.commands.muteHandler.setMute(t)})),e.pipe(jt((t=>t.type===Un.FLASH))).subscribe((()=>t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)return void(yield this.commands.incomingCallHandler.acceptIncomingCall(lr.HOLD_CURRENT,!0));if(this.state.ongoingCalls>1)return void this.commands.swapHandler.swapCalls();const t=this.state.holdState===dr.ON_HOLD?dr.NOT_ON_HOLD:dr.ON_HOLD;this.commands.holdHandler.setHold(t)})))),e.pipe(jt((t=>t.type===Un.REJECT_CALL))).subscribe((()=>{this.state.incomingCall===pr.AWAITING_RESPONSE&&this.commands.incomingCallHandler.rejectIncomingCall()}))}get extendedSignals(){return this.deviceSignals.pipe(It((t=>{let e=!0;return t.type!==Un.FLASH||this.enableFlash||(e=!1),this.state.ignoreSignals&&(e=!1),mt(Object.assign(Object.assign({},t),{allowed:e}))})),de(this.onTeardown))}}class wr{constructor(t,r,i,o,s=!0){this.logger=o,fr.set(this,void 0),vr.set(this,void 0),Er.set(this,new G),gr.set(this,!0),this.device=t.device,this.onDisconnect=t.onDisconnect,this.muteState=i.muteState,n(this,fr,r,\"f\"),n(this,vr,(()=>i.unsubscribeState()),\"f\"),this.onDisconnect.pipe(ie()).subscribe((()=>this.teardown(!1)));new yr(i.internalState,r,t.deviceSignals,s,e(this,Er,\"f\"),o).setupSignalListeners()}endCall(){return e(this,fr,\"f\").hookHandler.endCall()}signalIncomingCall(){return this._checkActive(),e(this,fr,\"f\").incomingCallHandler.signalIncomingCall()}rejectIncomingCall(){this._checkActive(),e(this,fr,\"f\").incomingCallHandler.rejectIncomingCall()}mute(){this._checkActive(),e(this,fr,\"f\").muteHandler.setMute(hr.MUTED)}unmute(){this._checkActive(),e(this,fr,\"f\").muteHandler.setMute(hr.UNMUTED)}teardown(t=!0){this._checkActive(),n(this,gr,!1,\"f\"),e(this,vr,\"f\").call(this),e(this,Er,\"f\").next(void 0),t&&e(this,fr,\"f\").callLock.forceReleaseCallLock(),ve(\"Teardown complete! Create new Easy Call Control instance to continue usage.\",null==this?void 0:this.logger,Ut.INFO)}_setInitialState(t,n=!1,r=!1){return 0===t&&(n||r)&&ve(\"\\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,Ut.WARNING),e(this,fr,\"f\").deviceState.setInitialState(t,n,r)}_checkActive(){if(!e(this,gr,\"f\"))throw new fe(\"\\n Inactive instance. Either device disconnected or teardown was called.\\n Create new EasyCallControl instance to continue usage.\",Gt.SDK_USAGE_ERROR)}}fr=new WeakMap,vr=new WeakMap,Er=new WeakMap,gr=new WeakMap;class Or extends wr{constructor(t,e,r,i){super(t,e,r,i,!0),_r.set(this,void 0),this.ongoingCalls=r.ongoingCalls,this.holdState=r.holdState,this.swapRequest=r.swapEvents,n(this,_r,e,\"f\")}startCall(){return t(this,void 0,void 0,(function*(){return this._checkActive(),e(this,_r,\"f\").hookHandler.startCall()}))}acceptIncomingCall(t=lr.END_CURRENT){return this._checkActive(),e(this,_r,\"f\").incomingCallHandler.acceptIncomingCall(t)}hold(){return this._checkActive(),e(this,_r,\"f\").holdHandler.setHold(dr.ON_HOLD)}resume(){return this._checkActive(),e(this,_r,\"f\").holdHandler.setHold(dr.NOT_ON_HOLD)}}_r=new WeakMap;class Nr extends mr{constructor(t,e){super(e),this.callControl=t,this.hasLock=!1}takeCallLock(){return t(this,void 0,void 0,(function*(){if(!this.hasLock&&(this.hasLock=yield this.callControl.takeCallLock().catch((()=>{throw new fe(\"Bad state: device is locked by this application. Try to call endCall on the device or restart the app.\",Gt.UNEXPECTED_ERROR)})),!this.hasLock))throw new fe(\"Device used by another softphone. Only one application can use the device at a time.\",Gt.SDK_USAGE_ERROR)}))}releaseCallLock(){0===this.state.ongoingCalls&&(this.callControl.releaseCallLock(),this.hasLock=!1)}forceReleaseCallLock(){this.hasLock&&this.callControl.releaseCallLock()}}class Cr extends mr{constructor(t,e,n,r){super(r),this.hookHandler=t,this.holdHandler=e,this.muteHandler=n}setInitialState(e,n,r){return t(this,void 0,void 0,(function*(){if(0===e)return yield this.hookHandler.startCall(),void(yield this.hookHandler.endCall());for(let t=0;t<e;t+=1)yield this.hookHandler.startCall();const t=r?dr.ON_HOLD:dr.NOT_ON_HOLD;yield this.holdHandler.setHold(t);const i=n?hr.MUTED:hr.UNMUTED;this.muteHandler.setMute(i)}))}}function Tr(t=1e3){return new Promise((e=>{setTimeout((()=>{e()}),t)}))}class Sr extends mr{constructor(t,e){super(e),this.callControl=t,this.stateHandler=e}setHold(e){return t(this,void 0,void 0,(function*(){if(0===this.state.ongoingCalls)throw new fe(\"No active call to hold\",Gt.SDK_USAGE_ERROR);this.state.ongoingCalls>1&&e===dr.NOT_ON_HOLD?yield this.resumeWhileMultiple():(this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0,holdState:e})),this.callControl.offHook(e===dr.NOT_ON_HOLD),this.callControl.hold(e===dr.ON_HOLD),yield Tr(1e3),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!1})))}))}resumeWhileMultiple(){return t(this,void 0,void 0,(function*(){this.callControl.hold(!1),this.callControl.offHook(!0),this.callControl.hold(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD}))}))}}class Ar extends mr{constructor(t,e,n,r,i){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.deviceSignals=r,this.logger=i,this.hookSwitchAckTimeoutMs=1500}startCall(){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)throw new fe(\"Cannot start a new call while another call is incoming. If you wish to answer/accept the incoming call, please use acceptIncomingCall instead\",Gt.SDK_USAGE_ERROR);this.state.holdState===dr.ON_HOLD?this.startNewCallWhileOnHold():0===this.state.ongoingCalls?yield this.startFirstCall():this.startSubsequentCalls(),this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls+1}))}))}endCall(){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall===pr.AWAITING_RESPONSE)throw new fe(\"An incoming call is awaiting response. Please accept or reject the incoming call before ending.\",Gt.SDK_USAGE_ERROR);if(0===this.state.ongoingCalls)throw new fe(\"No calls in progress\",Gt.SDK_USAGE_ERROR);1===this.state.ongoingCalls?yield this.endLastCall():this.state.holdState===dr.ON_HOLD?this.endCallWhileOnHold():yield this.endCurrentCall()}))}startFirstCall(){return t(this,void 0,void 0,(function*(){yield this.callLock.takeCallLock(),yield this.offHookAndAwaitSignal(!0),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD,muteState:hr.UNMUTED}))}))}startSubsequentCalls(){this.callControl.hold(!0)}startNewCallWhileOnHold(){this.callControl.hold(!1),this.callControl.offHook(!0),this.callControl.hold(!0),this.callControl.mute(!1),this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NOT_ON_HOLD,muteState:hr.UNMUTED}))}endLastCall(){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{holdState:dr.NO_ONGOING_CALLS,muteState:hr.NO_ONGOING_CALLS,ongoingCalls:0})),this.callControl.mute(!1),yield this.offHookAndAwaitSignal(!1),this.callControl.hold(!1),this.callLock.releaseCallLock()}))}endCurrentCall(){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0,ongoingCalls:this.state.ongoingCalls-1})),this.callControl.offHook(!1),this.callControl.hold(!1),this.callControl.offHook(!0),1!==this.state.ongoingCalls&&this.callControl.hold(!0),yield Tr(1e3),this.callControl.mute(!1),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:hr.UNMUTED,ignoreSignals:!1}))}))}endCallWhileOnHold(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ongoingCalls:this.state.ongoingCalls-1}))}offHookAndAwaitSignal(e){return t(this,void 0,void 0,(function*(){this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!0}));const t=(n=()=>this.state.incomingCall===pr.RESOLVING_RESPONSE_FROM_DEVICE,r=mt(new $n(Un.HOOK_SWITCH,!0,Ve.ABSOLUTE)),i=this.deviceSignals.pipe(ie((t=>t.type===Un.HOOK_SWITCH)),Tt(this.hookSwitchAckTimeoutMs)),Lt((function(){return n()?r:i})));var n,r,i;this.callControl.offHook(e);try{yield Ot(t)}catch(t){ve(\"Synchronization mismatch - missing hook signal from device. State recovered.\",null==this?void 0:this.logger,Ut.INFO)}this.stateHandler.next(Object.assign(Object.assign({},this.state),{ignoreSignals:!1}))}))}}class Ir extends mr{constructor(t,e,n,r){super(n),this.callControl=t,this.callLock=e,this.stateHandler=n,this.hookHandler=r}signalIncomingCall(){return t(this,void 0,void 0,(function*(){return yield this.callLock.takeCallLock(),this.updateIncomingCallState(pr.AWAITING_RESPONSE),this.callControl.ring(!0),new Promise((t=>{var e,n;this.stateHandler.pipe((e=({incomingCall:t})=>t!==pr.NO_INCOMING,void 0===n&&(n=!1),k((function(t,r){var i=0;t.subscribe(new U(r,(function(t){var o=e(t,i++);(o||n)&&r.next(t),!o&&r.complete()})))}))),jt((({incomingCall:t})=>t===pr.ACCEPTED||t===pr.REJECTED))).subscribe((({incomingCall:e})=>{this.updateIncomingCallState(pr.NO_INCOMING),t(e===pr.ACCEPTED)}))}))}))}acceptIncomingCall(e,n=!1){return t(this,void 0,void 0,(function*(){if(this.state.incomingCall!==pr.AWAITING_RESPONSE)throw new fe(\"No incoming calls\",Gt.SDK_USAGE_ERROR);const t=n?pr.RESOLVING_RESPONSE_FROM_DEVICE:pr.RESOLVING_RESPONSE;this.updateIncomingCallState(t),this.callControl.ring(!1),this.state.holdState===dr.ON_HOLD||0===this.state.ongoingCalls?yield this.hookHandler.startCall():e===lr.END_CURRENT?(yield this.hookHandler.endCall(),yield this.hookHandler.startCall()):e===lr.HOLD_CURRENT&&(yield this.hookHandler.startCall()),this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:pr.ACCEPTED,holdState:dr.NOT_ON_HOLD}))}))}rejectIncomingCall(){if(this.state.incomingCall!==pr.AWAITING_RESPONSE)throw new fe(\"No incoming calls\",Gt.SDK_USAGE_ERROR);this.callControl.ring(!1),this.updateIncomingCallState(pr.REJECTED),this.callLock.releaseCallLock()}updateIncomingCallState(t){this.stateHandler.next(Object.assign(Object.assign({},this.state),{incomingCall:t}))}}class Rr extends mr{constructor(t,e){super(e),this.callControl=t,this.stateHandler=e}setMute(t){if(0===this.state.ongoingCalls)throw new fe(\"You cannot change mute state outside of a call.\",Gt.SDK_USAGE_ERROR);this.callControl.mute(t===hr.MUTED),this.stateHandler.next(Object.assign(Object.assign({},this.state),{muteState:t}))}}class Dr extends mr{constructor(t){super(t),this.stateHandler=t}swapCalls(){return t(this,void 0,void 0,(function*(){if(this.state.ongoingCalls<2)throw new fe(\"No calls to swap between. There should be minimum one current call and one call on hold.\",Gt.SDK_USAGE_ERROR);this.stateHandler.next(Object.assign(Object.assign({},this.state),{swapToggle:this.state.swapToggle?0:1}))}))}}class Hr{constructor(t,e,n){this.callLock=new Nr(t,e),this.hookHandler=new Ar(t,this.callLock,e,t.deviceSignals,n),this.muteHandler=new Rr(t,e),this.holdHandler=new Sr(t,e),this.incomingCallHandler=new Ir(t,this.callLock,e,this.hookHandler),this.swapHandler=new Dr(e),this.deviceState=new Cr(this.hookHandler,this.holdHandler,this.muteHandler,e)}}const Lr={ongoingCalls:0,muteState:hr.NO_ONGOING_CALLS,holdState:dr.NO_ONGOING_CALLS,incomingCall:pr.NO_INCOMING,ignoreSignals:!1,swapToggle:0};class Pr{constructor(){this.internalState=new M(Lr),this.onUnsubscribe=new G;const t=this.internalState.pipe(de(this.onUnsubscribe));this.ongoingCalls=t.pipe(At((t=>t.ongoingCalls)),te()),this.callActive=t.pipe(At((t=>0!==t.ongoingCalls)),te()),this.muteState=t.pipe(At((t=>t.muteState)),te()),this.holdState=t.pipe(At((t=>t.holdState)),te()),this.swapEvents=t.pipe(At((t=>t.swapToggle)),te(),At((()=>{})),le(1))}unsubscribeState(){this.onUnsubscribe.next(void 0)}}var kr,Ur,xr,Gr;class Fr extends wr{constructor(t,e,r,i){super(t,e,r,i,!1),kr.set(this,void 0),Ur.set(this,void 0),this.callActive=r.callActive,n(this,kr,r.internalState,\"f\"),n(this,Ur,e,\"f\")}startCall(){return t(this,void 0,void 0,(function*(){if(this._checkActive(),1===e(this,kr,\"f\").value.ongoingCalls)throw new fe(\"Please end the call before starting a new\",Gt.SDK_USAGE_ERROR);return e(this,Ur,\"f\").hookHandler.startCall()}))}acceptIncomingCall(){return this._checkActive(),e(this,Ur,\"f\").incomingCallHandler.acceptIncomingCall(lr.END_CURRENT)}}kr=new WeakMap,Ur=new WeakMap;class Mr{constructor(t){var e;xr.set(this,void 0),Gr.set(this,void 0),n(this,xr,new br(t),\"f\"),n(this,Gr,null===(e=t._config)||void 0===e?void 0:e.logger,\"f\")}createSingleCallControl(n,r){return t(this,void 0,void 0,(function*(){const t=yield e(this,xr,\"f\").createCallControl(n),i=new Pr,o=new Hr(t,i.internalState,e(this,Gr,\"f\")),s=new Fr(t,o,i,e(this,Gr,\"f\"));if(r){const t=r.callActive?1:0;yield s._setInitialState(t,r.muted)}return s}))}createMultiCallControl(n,r){return t(this,void 0,void 0,(function*(){const t=yield e(this,xr,\"f\").createCallControl(n),i=new Pr,o=new Hr(t,i.internalState,e(this,Gr,\"f\")),s=new Or(t,o,i,e(this,Gr,\"f\"));return r&&(yield s._setInitialState(r.ongoingCalls,r.muted,r.onHold)),s}))}supportsEasyCallControl(t){return e(this,xr,\"f\").supportsCallControl(t)}}xr=new WeakMap,Gr=new WeakMap;export{lr as A,br as C,$e as D,Gt as E,dr as H,An as I,fe as J,Ut as L,hr as M,U as O,Ke as R,G as S,Mt as T,Ve as V,Ln as W,t as _,It as a,Pt as b,Ht as c,q as d,Pn as e,Yn as f,kt as g,xt as h,L as i,kn as j,Un as k,ve as l,At as m,N as n,k as o,Bt as p,dn as q,pn as r,fn as s,Zt as t,Ye as u,Hn as v,jn as w,Mr as x};\n","import { VendorImplementation } from \"../services/vendor-implementations/vendor-implementation\";\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 deviceMuteChanged = 'deviceMuteChanged',\n deviceEventLogs = 'deviceEventLogs',\n}\n\ntype Events = {\n [HeadsetEvents.implementationChanged]: VendorImplementation;\n [HeadsetEvents.deviceHoldStatusChanged]: EventInfo;\n [HeadsetEvents.deviceMuteStatusChanged]: EventInfo;\n [HeadsetEvents.deviceAnsweredCall]: EventInfo;\n [HeadsetEvents.deviceEndedCall]: EventInfo\n [HeadsetEvents.deviceRejectedCall]: RejectCallEventInfo;\n [HeadsetEvents.loggableEvent]: EventInfo;\n [HeadsetEvents.webHidPermissionRequested]: { callback: any };\n [HeadsetEvents.deviceConnectionStatusChanged]: DeviceConnectionStatus;\n}\n\nexport type DeviceConnectionStatus = 'checking' | 'running' | 'notRunning' | 'noVendor';\n\ntype EventInfo = {\n name: string;\n event: any;\n code?: string;\n isMuted?: boolean;\n holdRequested?: boolean;\n toggle?: boolean;\n conversationId?: string;\n};\n\ntype RejectCallEventInfo = {\n conversationId: string;\n}\n\nexport type ConsumedHeadsetEvents<T = keyof Events> = T extends keyof Events\n ? { event: T, payload: Events[T] }\n : never;","import DeviceInfo from '../../types/device-info';\nimport StrictEventEmitter from 'strict-event-emitter-types';\nimport { EventEmitter } from 'events';\nimport { EmittedHeadsetEvents } from '../../types/emitted-headset-events';\nimport { CallInfo } from '../..';\n\ntype HeadsetEventName = keyof EmittedHeadsetEvents;\n\nexport interface ImplementationConfig {\n logger: any;\n vendorName?: 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(): 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): 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 /* eslint-enable */\n\n private emitEvent(eventName: HeadsetEventName, eventBody: any) {\n this.emit(eventName, { vendor: this, body: {...eventBody } })\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?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceAnsweredCall', eventInfo);\n }\n\n deviceRejectedCall(conversationId: string): void {\n this.emitEvent('deviceRejectedCall', conversationId);\n }\n\n deviceEndedCall(eventInfo?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceEndedCall', eventInfo);\n }\n\n deviceMuteChanged(isMuted: boolean, eventInfo?: { name: string, code?: string | number, event?: any }): void {\n this.emitEvent('deviceMuteChanged', { isMuted, ...eventInfo });\n }\n\n deviceHoldStatusChanged(holdRequested: boolean, eventInfo?: { name: string, code?: string | number, event?: any }, toggle?: boolean): void {\n this.emitEvent('deviceHoldStatusChanged', { holdRequested, ...eventInfo, toggle });\n }\n\n deviceEventLogs(eventInfo: { name: string, code?: string | number, event?: any }): 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","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):e.browserama=n()}(this,function(){\"use strict\";var e=\"undefined\"==typeof window,n=!1,i=!1,o=!1,r=!1,t=!1,d=!1,w=!1,u=!1,a=!1,m=!1;return e||(n=\"undefined\"!=typeof InstallTrigger,i=!!window.chrome,o=!(!window.chrome||!window.navigator||!window.navigator.plugins||!window.navigator.plugins.namedItem(\"Chrome PDF Plugin\")&&!window.chrome.runtime),r=i&&!window.chrome.webstore&&!window.chrome.runtime,t=0<Object.prototype.toString.call(window.HTMLElement).indexOf(\"Constructor\")||window.safari&&window.safari.pushNotification,d=!!window.opr&&!!window.opr.addons||!!window.opera,w=!!window.StyleMedia,u=i&&!!navigator.userAgent.match(/edg/i),a=(o||d)&&!!window.CSS,m=!(i||t||n||d||!document.documentMode)),{get isChrome(){return o},get isChromeOrChromium(){return i},get isChromium(){return r},get isFirefox(){return n},get isSafari(){return t},get isOpera(){return d},get isEdge(){return w},get isEdgeChromium(){return u},get isIE(){return m},get isBlink(){return a}}});\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 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 */\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 __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 (_) 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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\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: n === \"return\" } : 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\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._teardowns = 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 initialTeardown = this.initialTeardown;\n if (isFunction(initialTeardown)) {\n try {\n initialTeardown();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _teardowns = this._teardowns;\n if (_teardowns) {\n this._teardowns = null;\n try {\n for (var _teardowns_1 = __values(_teardowns), _teardowns_1_1 = _teardowns_1.next(); !_teardowns_1_1.done; _teardowns_1_1 = _teardowns_1.next()) {\n var teardown_1 = _teardowns_1_1.value;\n try {\n execTeardown(teardown_1);\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 (_teardowns_1_1 && !_teardowns_1_1.done && (_b = _teardowns_1.return)) _b.call(_teardowns_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 execTeardown(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._teardowns = (_a = this._teardowns) !== 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 _teardowns = this._teardowns;\n _teardowns && arrRemove(_teardowns, 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 execTeardown(teardown) {\n if (isFunction(teardown)) {\n teardown();\n }\n else {\n teardown.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 () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) || setTimeout).apply(void 0, __spreadArray([], __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, __read, __spreadArray } 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 SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var next;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n (next = observerOrNext.next, error = observerOrNext.error, complete = observerOrNext.complete);\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n }\n else {\n context_1 = observerOrNext;\n }\n next = next === null || next === void 0 ? void 0 : next.bind(context_1);\n error = error === null || error === void 0 ? void 0 : error.bind(context_1);\n complete = complete === null || complete === void 0 ? void 0 : complete.bind(context_1);\n }\n _this.destination = {\n next: next ? wrapForErrorHandling(next, _this) : noop,\n error: wrapForErrorHandling(error !== null && error !== void 0 ? error : defaultErrorHandler, _this),\n complete: complete ? wrapForErrorHandling(complete, _this) : noop,\n };\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction wrapForErrorHandling(handler, instance) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n handler.apply(void 0, __spreadArray([], __read(args)));\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(err);\n }\n else {\n reportUnhandledError(err);\n }\n }\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 subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription === null || subscription === void 0 ? void 0 : subscription.unsubscribe();\n }\n }, reject, resolve);\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","export enum PlantronicsCallEvents {\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\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 { __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.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 var copy = _this.observers.slice();\n try {\n for (var copy_1 = __values(copy), copy_1_1 = copy_1.next(); !copy_1_1.done; copy_1_1 = copy_1.next()) {\n var observer = copy_1_1.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (copy_1_1 && !copy_1_1.done && (_a = copy_1.return)) _a.call(copy_1);\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 = 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 _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n return hasError || isStopped\n ? EMPTY_SUBSCRIPTION\n : (observers.push(subscriber), new Subscription(function () { return arrRemove(observers, subscriber); }));\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","export 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","export enum SennheiserEventTypes {\n Request = 'Request', // outgoing actions\n Notification = 'Notification', // typically actions from headset\n Ack = 'Acknowledgement',\n}\n","import fetchJsonp from 'fetch-jsonp';\nimport { VendorImplementation, ImplementationConfig } from '../vendor-implementation';\nimport { PlantronicsCallEvents } from './plantronics-call-events';\nimport browserama from 'browserama';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../../types/call-info';\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 = 'genesys-cloud-headset-library';\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\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.config = config;\n this._deviceInfo = null;\n this.callEventsTimerId = null;\n this.deviceStatusTimerId = null;\n this.incomingConversationId = '';\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) {\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\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 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 => {\n const eventType = PlantronicsCallEvents[event.Action];\n\n if (!eventType) {\n return this.logger.info('Unknown call event from headset', { event });\n }\n\n const eventInfo = { name: eventType, code: event.Action, 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, code?: string, event?: any }): void {\n switch (eventInfo.name) {\n case 'AcceptCall':\n this.deviceAnsweredCall(eventInfo);\n break;\n case 'RejectCall':\n this.deviceRejectedCall(this.incomingConversationId);\n break;\n case 'TerminateCall':\n this.deviceEndedCall(eventInfo);\n break;\n case 'CallEnded':\n this._checkIsActiveTask();\n break;\n case 'Mute':\n this.deviceMuteChanged(true, eventInfo);\n break;\n case 'Unmute':\n this.deviceMuteChanged(false, eventInfo);\n break;\n case 'HoldCall':\n this.deviceHoldStatusChanged(true, eventInfo);\n break;\n case 'ResumeCall':\n this.deviceHoldStatusChanged(false, eventInfo);\n break;\n default:\n this.logger.info('A headset event has occurred', eventInfo);\n this.deviceEventLogs(eventInfo);\n }\n }\n\n connect(): Promise<any> {\n !this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: true });\n this.pollForDeviceStatus();\n this.pollForCallEvents();\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 return this.logger.info('Currently active calls in the session');\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 disconnect(): Promise<any> {\n let promise;\n if (!this.isConnected) {\n promise = Promise.resolve();\n } else {\n promise = this._makeRequestTask(`/SessionManager/UnRegister?name=${this.pluginName}`);\n }\n\n return promise.then(() => {\n this.clearTimeouts();\n this._deviceInfo = null;\n this.isConnected && this.changeConnectionStatus({ isConnected: false, isConnecting: this.isConnecting });\n this.isActive = false;\n });\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 this.incomingConversationId = conversationId;\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\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${encodeURI(params)}`);\n }\n\n outgoingCall({ conversationId, contactName }: CallInfo): Promise<any> {\n if (!conversationId) {\n throw new Error('Must provide conversationId');\n }\n let params = `?name=${this.pluginName}&tones=Unknown&route=ToHeadset`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\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 return this._makeRequestTask(`/CallServices/OutgoingCall${encodeURI(params)}`);\n }\n\n answerCall(conversationId: string): Promise<any> {\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n this.isActive = true;\n this.incomingConversationId = '';\n return this._makeRequestTask(`/CallServices/AnswerCall${encodeURI(params)}`);\n }\n\n rejectCall(conversationId: string): Promise<any> {\n this.incomingConversationId = '';\n return this.endCall(conversationId);\n }\n\n async endCall(conversationId: string): Promise<any> {\n let params = `?name=${this.pluginName}`;\n\n const halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n params += `&callID={${encodeURI(halfEncodedCallIdString)}}`;\n\n const response = await this._makeRequestTask(`/CallServices/TerminateCall${encodeURI(params)}`);\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(call.CallId));\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 halfEncodedCallIdString = `\"Id\":\"${conversationId}\"`;\n const params = `?name=${this.pluginName}&callID={${encodeURI(halfEncodedCallIdString)}}`;\n const response = await this._makeRequestTask(\n `/CallServices/${value ? 'HoldCall' : 'ResumeCall'}${encodeURI(params)}`\n );\n\n return response;\n }\n}","/* 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 { SennheiserEvents } from './sennheiser-events';\nimport { SennheiserEventTypes } from './sennheiser-event-types';\nimport DeviceInfo from '../../../types/device-info';\nimport { CallInfo } from '../../..';\nimport { SennheiserPayload } from './sennheiser-payload';\nimport * as utils from '../../../utils';\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 callMappings: any = {};\n\n websocket = null;\n deviceInfo: DeviceInfo = null;\n\n static getInstance(config: ImplementationConfig): SennheiserService {\n if (!SennheiserService.instance) {\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 _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.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 private _createCallMapping(conversationId: string) {\n const ID_LENGTH = 7;\n const callId = Math.round(Math.random() * Math.pow(10, ID_LENGTH)); // Generate random number\n\n this.callMappings = {\n [conversationId]: callId,\n [callId]: conversationId,\n };\n\n this.logger.info('Created callId mapping for sennheiser headset', {\n conversationId,\n sennheiserCallId: callId,\n });\n\n return callId;\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: this.callMappings[conversationId],\n });\n\n return Promise.resolve();\n }\n\n incomingCall(callInfo: CallInfo): Promise<void> {\n const { conversationId } = callInfo;\n const callId = this._createCallMapping(conversationId);\n\n this._sendMessage({\n Event: SennheiserEvents.IncomingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\n\n return Promise.resolve();\n }\n\n answerCall(conversationId: string): Promise<void> {\n this._sendMessage({\n Event: SennheiserEvents.IncomingCallAccepted,\n EventType: SennheiserEventTypes.Request,\n CallID: this.callMappings[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: this.callMappings[conversationId],\n })\n return Promise.resolve();\n }\n\n outgoingCall(callInfo: CallInfo): Promise<void> {\n const { conversationId } = callInfo;\n const callId = this._createCallMapping(conversationId);\n\n this._sendMessage({\n Event: SennheiserEvents.OutgoingCall,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\n\n return Promise.resolve();\n }\n\n endCall(conversationId: string): Promise<void> {\n const callId = this.callMappings[conversationId];\n\n if (!callId) {\n this.logger.info('Failed to find sennheiser callId, assuming call was already ended');\n return Promise.resolve();\n }\n\n this._sendMessage({\n Event: SennheiserEvents.CallEnded,\n EventType: SennheiserEventTypes.Request,\n CallID: callId,\n });\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 let conversationId: string;\n const callId: number = payload.CallID;\n if (callId) {\n conversationId = this.callMappings[callId];\n }\n\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});\n }\n\n break;\n case SennheiserEvents.Hold:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged(true, {name: payload.Event});\n break;\n case SennheiserEvents.Resume:\n if (payload.EventType === SennheiserEventTypes.Ack) {\n this._handleAck(payload);\n break;\n }\n this.deviceHoldStatusChanged(false, {name: payload.Event});\n break;\n case SennheiserEvents.MuteFromHeadset:\n this.deviceMuteChanged(true, {name: payload.Event});\n break;\n case SennheiserEvents.UnmuteFromHeadset:\n this.deviceMuteChanged(false, {name: payload.Event});\n break;\n case SennheiserEvents.CallEnded:\n // clean up mappings\n delete this.callMappings[callId];\n delete this.callMappings[conversationId];\n\n if (payload.EventType === SennheiserEventTypes.Notification) {\n this.deviceEndedCall({name: payload.Event});\n }\n break;\n case SennheiserEvents.IncomingCallRejected:\n this.deviceRejectedCall(conversationId);\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}","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 { 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","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\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 var closed = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(new OperatorSubscriber(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 { OperatorSubscriber } 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(new OperatorSubscriber(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 { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(new OperatorSubscriber(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 { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { OperatorSubscriber } 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(new OperatorSubscriber(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","export enum JabraNativeCommands {\n Ring = 'ringer',\n Offhook = 'offhook',\n Mute = 'mute',\n Hold = 'hold',\n}\n","import { VendorImplementation, ImplementationConfig } from \"../vendor-implementation\";\nimport DeviceInfo from \"../../../types/device-info\";\nimport {\n IApi,\n EasyCallControlFactory,\n CallControlFactory,\n IMultiCallControl,\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 } from \"rxjs\";\nimport { filter, first, map } 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 devices: Map<string, DeviceInfo>;\n activeDeviceId: string = null;\n isMuted = false;\n isHeld = false;\n version: string = null;\n _connectDeferred: any; // { resolve: Function, reject: Function }\n device = null;\n jabraSdk: Promise<IApi>;\n easyCallControlFactory: EasyCallControlFactory;\n callControlFactory: CallControlFactory;\n multiCallControl: IMultiCallControl;\n callControl: ICallControl;\n ongoingCalls = 0;\n callLock = false;\n incomingConversationId = ''\n\n private constructor(config: ImplementationConfig) {\n super(config);\n this.vendorName = 'Jabra';\n this.devices = new Map<string, DeviceInfo>();\n this.jabraSdk = this.initializeJabraSdk();\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 ['jabra'].some(searchVal => lowerLabel.includes(searchVal));\n }\n\n static getInstance(config: ImplementationConfig): JabraService {\n if (!JabraService.instance) {\n JabraService.instance = new JabraService(config);\n }\n\n return JabraService.instance;\n }\n\n get deviceInfo(): DeviceInfo {\n if (this.activeDeviceId === null || this.devices.size === 0) {\n return null;\n }\n\n return this.devices.get(this.activeDeviceId);\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 async _processEvents(callControl: ICallControl): Promise<void> {\n this.headsetEventSubscription = callControl.deviceSignals.subscribe(async (signal) => {\n if (!this.callLock) {\n this.logger.debug('Currently not in possession of the Call Lock; Cannot react to Device Actions');\n return;\n }\n\n switch (SignalType[signal.type]) {\n case 'HOOK_SWITCH':\n if (signal.value) {\n callControl.offHook(true);\n callControl.ring(false);\n this.deviceAnsweredCall({name: 'CallOffHook', code: signal.type});\n } else {\n callControl.mute(false);\n callControl.hold(false);\n callControl.offHook(false);\n this.deviceEndedCall({name: 'CallOnHook', code: signal.type});\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.callLock = false;\n }\n }\n break;\n case 'FLASH':\n case 'ALT_HOLD':\n this.isHeld = !this.isHeld;\n callControl.hold(this.isHeld);\n this.deviceHoldStatusChanged(this.isHeld, { name: this.isHeld ? 'OnHold' : 'ResumeCall', code: signal.type });\n break;\n case 'PHONE_MUTE':\n this.isMuted = !this.isMuted;\n callControl.mute(this.isMuted);\n this.deviceMuteChanged(this.isMuted, { name: this.isMuted ? 'CallMuted' : 'CallUnmuted', code: signal.type });\n break;\n case 'REJECT_CALL':\n callControl.ring(false);\n this.deviceRejectedCall(this.incomingConversationId);\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.callLock = false;\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 if (callInfo) {\n this.incomingConversationId = callInfo.conversationId;\n try {\n this.callLock = await this.callControl.takeCallLock();\n if (this.callLock) {\n this.callControl.ring(true);\n return Promise.resolve();\n }\n } catch ({message, type}) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callControl.ring(true);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n }\n\n async answerCall(): Promise<void> {\n if (!this.callLock) {\n return;\n }\n this.incomingConversationId = '';\n this.callControl.offHook(true);\n }\n\n async rejectCall(): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions');\n }\n this.callControl.ring(false);\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.incomingConversationId = ''\n this.callLock = false;\n this.resetState();\n }\n }\n\n async outgoingCall(): Promise<void> {\n try {\n this.callLock = await this.callControl.takeCallLock();\n if (this.callLock) {\n this.callControl.offHook(true);\n return Promise.resolve();\n }\n } catch({message, type}) {\n if (this.checkForCallLockError(message, type)) {\n this.logger.info(message);\n this.callControl.offHook(true);\n } else {\n this.logger.error(type, message);\n }\n }\n }\n\n async endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n if (hasOtherActiveCalls) {\n return;\n }\n\n try {\n if (!this.callLock) {\n return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions')\n }\n this.callControl.offHook(false);\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 this.resetState();\n }\n }\n\n async endAllCalls(): Promise<void> {\n try {\n if (!this.callLock) {\n return this.logger.info('Currently not in possession of the Call Lock; Cannot react to Device Actions')\n }\n this.callControl.offHook(false);\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 this.resetState();\n }\n }\n\n isDeviceInList (device: IDevice, deviceLabel: string): boolean {\n return deviceLabel.includes(device?.name?.toLowerCase());\n }\n\n\n async connect(deviceLabel: string): Promise<void> {\n if (!this.isConnecting) {\n this.changeConnectionStatus({isConnected: this.isConnected, isConnecting: true});\n }\n const jabraSdk = await this.jabraSdk;\n this.callControlFactory = this.createCallControlFactory(jabraSdk);\n\n const fetchDevicesTimeout = setTimeout(async () => {\n const devices = await firstValueFrom(jabraSdk.deviceList);\n let selectedDevice = devices.find(device => this.isDeviceInList(device, deviceLabel));\n if (!selectedDevice) {\n try {\n selectedDevice = await new Promise((resolve, reject) => {\n const waiter = setTimeout(reject, 30000);\n this.requestWebHidPermissions(webHidPairing);\n\n jabraSdk.deviceList\n .pipe(\n map((devices: IDevice[]) => devices.find(device => this.isDeviceInList(device, deviceLabel))),\n filter(Boolean),\n first()\n ).subscribe((device) => {\n clearTimeout(waiter);\n resolve(device)\n });\n });\n } catch (e) {\n this.isConnecting && this.changeConnectionStatus({ isConnected: this.isConnected, isConnecting: false });\n this.logger.error('The selected device was not granted WebHID permissions');\n return;\n }\n }\n this.callControl = await this.callControlFactory.createCallControl(selectedDevice);\n this._processEvents(this.callControl);\n if (this.isConnecting && !this.isConnected) {\n this.changeConnectionStatus({ isConnected: true, isConnecting: false });\n }\n clearTimeout(fetchDevicesTimeout);\n }, 2000);\n }\n\n async initializeJabraSdk(): Promise<IApi> {\n return await init({\n appId: 'softphone-vendor-headsets',\n appName: 'Softphone Headset Library',\n transport: RequestedBrowserTransport.CHROME_EXTENSION_WITH_WEB_HID_FALLBACK\n });\n }\n\n createCallControlFactory (sdk: IApi): CallControlFactory {\n return new CallControlFactory(sdk);\n }\n\n checkForCallLockError(message: unknown, type: unknown): boolean {\n return (type as ErrorType === ErrorType.SDK_USAGE_ERROR && (message as string).includes('call lock'));\n }\n\n async disconnect(): Promise<void> {\n this.headsetEventSubscription && this.headsetEventSubscription.unsubscribe();\n (this.isConnected || this.isConnecting) && this.changeConnectionStatus({isConnected: false, isConnecting: false});\n }\n}","import { operate } from '../util/lift';\nimport { OperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(new OperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","export const HeadsetEvent = 'JabraEvent';\nexport const DeviceEvent = 'JabraDeviceAttached';\n\ntype HeadsetEvent = typeof HeadsetEvent;\ntype DeviceEvent = typeof DeviceEvent;\n\nexport interface JabraHeadsetEvent {\n msg: HeadsetEvent;\n event: 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 { JabraNativeHeadsetState } from './jabra-native-heaset-state';\nimport { JabraNativeCommands } from './jabra-native-commands';\nimport { JabraHeadsetEvent, JabraDeviceEvent, JabraNativeEventNames, HeadsetEvent, DeviceEvent } from './jabra-native-types';\nimport { CallInfo } from '../../../../types/call-info';\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 _connectionInProgress: any; // { resolve: Function, reject: Function }\n cefSupportsJabra = true;\n incomingConversationId = ''\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 // register CEF\n const assetURL = window.location.origin + window.location.pathname;\n const initData = {\n assetURL,\n callback: this.handleCefEvent.bind(this),\n supportsTerminationRequest: true,\n supportsUnifiedPreferences: true\n };\n const data = (window as any)._HostedContextFunctions?.register(initData);\n this.cefSupportsJabra = data?.supportsJabra;\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.event, event.value);\n }\n\n private _handleOffhookEvent(isOffhook: boolean): void {\n // if is incoming\n if (isOffhook) {\n if (this.headsetState.ringing) {\n this.deviceAnsweredCall();\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 this._sendCmd(JabraNativeCommands.Offhook, isOffhook);\n this._getHeadsetIntoVanillaState();\n this.deviceEndedCall();\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.deviceMuteChanged(isMuted);\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(!!isHeld);\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 setMute(value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Mute, value);\n return Promise.resolve();\n }\n\n setHold(conversationId: string, value: boolean): Promise<void> {\n this._sendCmd(JabraNativeCommands.Hold, value);\n return Promise.resolve();\n }\n\n incomingCall(callInfo: CallInfo): Promise<void> {\n if (callInfo) {\n this.incomingConversationId = callInfo.conversationId;\n }\n this._setRinging(true);\n return Promise.resolve();\n }\n\n answerCall(): Promise<void> {\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.incomingConversationId = '';\n this._sendCmd(JabraNativeCommands.Offhook, true);\n return Promise.resolve();\n }\n\n rejectCall(): Promise<void> {\n this._setRinging(false);\n this.incomingConversationId = '';\n return Promise.resolve();\n }\n\n outgoingCall(): Promise<void> {\n this._sendCmd(JabraNativeCommands.Offhook, true);\n return Promise.resolve();\n }\n\n endCall(conversationId: string, hasOtherActiveCalls: boolean): Promise<void> {\n this._setRinging(false);\n\n if (!hasOtherActiveCalls) {\n this._sendCmd(JabraNativeCommands.Offhook, false);\n }\n\n return Promise.resolve();\n }\n\n endAllCalls(): Promise<void> {\n this._setRinging(false);\n this._sendCmd(JabraNativeCommands.Offhook, false);\n return Promise.resolve();\n }\n\n async updateDevices(): Promise<void> {\n try {\n const data = (await requestCefPromise({ cmd: 'requestJabraDevices' })) as DeviceInfo[];\n\n if (this._connectionInProgress) {\n this._connectionInProgress.resolve();\n }\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(this.incomingConversationId);\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 { Observable, Subject } from 'rxjs';\nimport { VendorImplementation, ImplementationConfig } from './vendor-implementations/vendor-implementation';\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 { CallInfo } from '../types/call-info';\nimport { EventInfo, VendorConversationIdEvent, VendorEvent, HoldEventInfo, MutedEventInfo } from '../types/emitted-headset-events';\nimport { WebHidPermissionRequest } from '..';\nimport { ConsumedHeadsetEvents, HeadsetEvents, DeviceConnectionStatus } from '../types/consumed-headset-events';\n\nexport default class HeadsetService {\n private static instance: HeadsetService;\n\n plantronics: VendorImplementation;\n jabraNative: VendorImplementation;\n jabra: VendorImplementation;\n sennheiser: VendorImplementation;\n selectedImplementation: VendorImplementation;\n headsetEvents$: Observable<ConsumedHeadsetEvents>;\n\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 });\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\n [this.plantronics, this.jabra, this.jabraNative, this.sennheiser].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 ].filter((impl) => impl.isSupported());\n\n return implementations;\n }\n\n activeMicChange(newMicLabel: string): void {\n const implementation = this.implementations.find((implementation) => implementation.deviceLabelMatchesVendor(newMicLabel));\n if (implementation) {\n this.changeImplementation(implementation, newMicLabel);\n } else {\n if (this.selectedImplementation) {\n this.selectedImplementation.disconnect();\n }\n this.selectedImplementation = null;\n this.handleDeviceConnectionStatusChanged();\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 await this.selectedImplementation.disconnect();\n }\n\n this.selectedImplementation = implementation;\n\n if (implementation) {\n await implementation.connect(deviceLabel);\n }\n\n this._headsetEvents$.next({ event: HeadsetEvents.implementationChanged, payload: implementation});\n }\n\n incomingCall(callInfo: CallInfo, hasOtherActiveCalls?: boolean): Promise<any> {\n return this.performActionIfConnected('incomingCall', (implementation) => implementation.incomingCall(callInfo, hasOtherActiveCalls));\n }\n\n outgoingCall(callInfo: CallInfo): Promise<any> {\n return this.performActionIfConnected('outgoingCall', (implementation) => implementation.outgoingCall(callInfo));\n }\n\n answerCall(conversationId: string): Promise<any> {\n return this.performActionIfConnected('answerCall', (implementation) => implementation.answerCall(conversationId));\n }\n\n rejectCall(conversationId: string): Promise<any> {\n return this.performActionIfConnected('rejectCall', (implementation) => implementation.rejectCall(conversationId));\n }\n\n setMute(value: boolean): Promise<any> {\n return this.performActionIfConnected('setMute', (implementation) => implementation.setMute(value));\n }\n\n setHold(conversationId: string, value: boolean): Promise<any> {\n return this.performActionIfConnected('setHold', (implementation) => implementation.setHold(conversationId, value));\n }\n\n endCall(conversationId: string, hasOtherActiveCalls?: boolean): Promise<any> {\n return this.performActionIfConnected('endCall', (implementation) => implementation.endCall(conversationId, hasOtherActiveCalls));\n }\n\n endAllCalls(): Promise<any> {\n return this.performActionIfConnected('endAllCalls', (implementation) => 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 private performActionIfConnected (actionName: string, perform: (impl: VendorImplementation) => Promise<any>) {\n const impl = this.selectedImplementation;\n if (!impl || !impl.isConnected) {\n this.logger.info(`Headset: No vendor headset connected [${actionName}]`);\n return Promise.resolve();\n }\n\n return perform(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.deviceMuteChanged, 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 handleDeviceAnsweredCall(event: VendorEvent<EventInfo>): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\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: VendorConversationIdEvent): void {\n if (event.vendor !== this.selectedImplementation) {\n return;\n }\n\n this.logger.info('Headset: device rejected the call');\n this._headsetEvents$.next({ event: HeadsetEvents.deviceRejectedCall, payload: { conversationId: event.body.conversationId }});\n }\n\n private handleDeviceEndedCall(event: VendorEvent<EventInfo>): void {\n this.logger.info('Headset: device ended the call');\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 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 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/jabra-request';\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":""}