@techsee/techsee-media-service 18.6.0 → 19.0.0

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 (141) hide show
  1. package/lib/LocalStreamManager.d.ts +1 -0
  2. package/lib/LocalStreamManager.d.ts.map +1 -1
  3. package/lib/LocalStreamManager.js +320 -441
  4. package/lib/LocalStreamManager.js.map +1 -1
  5. package/lib/MediaConstants.d.ts +1 -0
  6. package/lib/MediaConstants.d.ts.map +1 -1
  7. package/lib/MediaConstants.js +53 -95
  8. package/lib/MediaConstants.js.map +1 -1
  9. package/lib/MediaContracts.d.ts +1 -0
  10. package/lib/MediaContracts.d.ts.map +1 -1
  11. package/lib/MediaContracts.js +2 -5
  12. package/lib/MediaContracts.js.map +1 -1
  13. package/lib/MediaPublisher.d.ts +1 -0
  14. package/lib/MediaPublisher.d.ts.map +1 -1
  15. package/lib/MediaPublisher.js +36 -49
  16. package/lib/MediaPublisher.js.map +1 -1
  17. package/lib/MediaServiceBase.d.ts +1 -0
  18. package/lib/MediaServiceBase.d.ts.map +1 -1
  19. package/lib/MediaServiceBase.js +687 -937
  20. package/lib/MediaServiceBase.js.map +1 -1
  21. package/lib/MediaSession/MediaServer.d.ts +1 -0
  22. package/lib/MediaSession/MediaServer.d.ts.map +1 -1
  23. package/lib/MediaSession/MediaServer.js +372 -517
  24. package/lib/MediaSession/MediaServer.js.map +1 -1
  25. package/lib/MediaSession/MediaSessionBase.d.ts +1 -0
  26. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  27. package/lib/MediaSession/MediaSessionBase.js +88 -127
  28. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  29. package/lib/MediaSession/SessionOpentok.d.ts +1 -0
  30. package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
  31. package/lib/MediaSession/SessionOpentok.js +357 -503
  32. package/lib/MediaSession/SessionOpentok.js.map +1 -1
  33. package/lib/MediaSession/SessionTurn.d.ts +1 -0
  34. package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
  35. package/lib/MediaSession/SessionTurn.js +431 -613
  36. package/lib/MediaSession/SessionTurn.js.map +1 -1
  37. package/lib/MediaSession/TurnConstants.d.ts +1 -0
  38. package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
  39. package/lib/MediaSession/TurnConstants.js +17 -32
  40. package/lib/MediaSession/TurnConstants.js.map +1 -1
  41. package/lib/MediaSubscriber.d.ts +1 -0
  42. package/lib/MediaSubscriber.d.ts.map +1 -1
  43. package/lib/MediaSubscriber.js +189 -245
  44. package/lib/MediaSubscriber.js.map +1 -1
  45. package/lib/MediaUtils/Compatibility.d.ts +1 -0
  46. package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
  47. package/lib/MediaUtils/Compatibility.js +129 -283
  48. package/lib/MediaUtils/Compatibility.js.map +1 -1
  49. package/lib/MediaUtils/MediaDomUtils.d.ts +1 -0
  50. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  51. package/lib/MediaUtils/MediaDomUtils.js +184 -252
  52. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  53. package/lib/MediaUtils/MediaTracer.d.ts +1 -0
  54. package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
  55. package/lib/MediaUtils/MediaTracer.js +3 -10
  56. package/lib/MediaUtils/MediaTracer.js.map +1 -1
  57. package/lib/MediaUtils/index.d.ts +1 -0
  58. package/lib/MediaUtils/index.d.ts.map +1 -1
  59. package/lib/MediaUtils/index.js +3 -13
  60. package/lib/MediaUtils/index.js.map +1 -1
  61. package/lib/MultiParty/DetectWebRtcService.d.ts +1 -0
  62. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
  63. package/lib/MultiParty/DetectWebRtcService.js +92 -241
  64. package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
  65. package/lib/MultiParty/MediaCapabilitiesService.d.ts +1 -0
  66. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -1
  67. package/lib/MultiParty/MediaCapabilitiesService.js +143 -312
  68. package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -1
  69. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +1 -0
  70. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -1
  71. package/lib/MultiParty/MediaCapabilitiesUtils.js +95 -277
  72. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -1
  73. package/lib/MultiParty/MediaTracer.d.ts +1 -0
  74. package/lib/MultiParty/MediaTracer.d.ts.map +1 -1
  75. package/lib/MultiParty/MediaTracer.js +3 -10
  76. package/lib/MultiParty/MediaTracer.js.map +1 -1
  77. package/lib/MultiParty/MultiPartyService.d.ts +1 -0
  78. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -1
  79. package/lib/MultiParty/MultiPartyService.js +24 -47
  80. package/lib/MultiParty/MultiPartyService.js.map +1 -1
  81. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +2 -1
  82. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -1
  83. package/lib/MultiParty/MultiPartyServiceFactory.js +7 -15
  84. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -1
  85. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +1 -0
  86. package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -1
  87. package/lib/MultiParty/MultipartyServiceEventTypes.js +11 -15
  88. package/lib/MultiParty/MultipartyServiceEventTypes.js.map +1 -1
  89. package/lib/MultiParty/index.d.ts +1 -0
  90. package/lib/MultiParty/index.d.ts.map +1 -1
  91. package/lib/MultiParty/index.js +15 -35
  92. package/lib/MultiParty/index.js.map +1 -1
  93. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +2 -1
  94. package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -1
  95. package/lib/MultiParty/opentok/OpentokMultiPartyService.js +457 -839
  96. package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -1
  97. package/lib/MultiParty/opentok/OpentokPublisher.d.ts +1 -0
  98. package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -1
  99. package/lib/MultiParty/opentok/OpentokPublisher.js +107 -269
  100. package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -1
  101. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +1 -0
  102. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -1
  103. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +34 -54
  104. package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -1
  105. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +1 -0
  106. package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -1
  107. package/lib/MultiParty/opentok/OpentokScreenPublisher.js +40 -77
  108. package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -1
  109. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +1 -0
  110. package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -1
  111. package/lib/MultiParty/opentok/OpentokSubscriber.js +20 -28
  112. package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -1
  113. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +1 -0
  114. package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -1
  115. package/lib/MultiParty/opentok/OpentokVideoPublisher.js +150 -355
  116. package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -1
  117. package/lib/MultiParty/opentok/trace.d.ts +1 -0
  118. package/lib/MultiParty/opentok/trace.d.ts.map +1 -1
  119. package/lib/MultiParty/opentok/trace.js +11 -24
  120. package/lib/MultiParty/opentok/trace.js.map +1 -1
  121. package/lib/MultiParty/types.d.ts +1 -0
  122. package/lib/MultiParty/types.d.ts.map +1 -1
  123. package/lib/MultiParty/types.js +2 -5
  124. package/lib/MultiParty/types.js.map +1 -1
  125. package/lib/MultiParty/utils.d.ts +1 -0
  126. package/lib/MultiParty/utils.d.ts.map +1 -1
  127. package/lib/MultiParty/utils.js +5 -15
  128. package/lib/MultiParty/utils.js.map +1 -1
  129. package/lib/TechseeMediaStream.d.ts +1 -0
  130. package/lib/TechseeMediaStream.d.ts.map +1 -1
  131. package/lib/TechseeMediaStream.js +53 -61
  132. package/lib/TechseeMediaStream.js.map +1 -1
  133. package/lib/qos/raw-qos.d.ts +29 -0
  134. package/lib/qos/raw-qos.d.ts.map +1 -0
  135. package/lib/qos/raw-qos.js +247 -382
  136. package/lib/qos/raw-qos.js.map +1 -1
  137. package/lib/webrtc-ie-shim.d.ts +4 -0
  138. package/lib/webrtc-ie-shim.d.ts.map +1 -0
  139. package/lib/webrtc-ie-shim.js +1999 -3454
  140. package/lib/webrtc-ie-shim.js.map +1 -1
  141. package/package.json +42 -45
@@ -1 +1 @@
1
- {"version":3,"sources":["MultiParty/opentok/OpentokMultiPartyService.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArrays","il","r","k","a","j","jl","defineProperty","exports","OpentokMultiPartyService","MediaTracer_1","require","MediaCapabilitiesService_1","MediaCapabilitiesUtils_1","MultiPartyService_1","MultipartyServiceEventTypes_1","OpentokVideoPublisher_1","OpentokScreenPublisher_1","OpentokSubscriber_1","utils_1","trace_1","MediaConstants_1","trace","getMediaTracer","_super","getParticipantId","_this","enableDesktopSharing","backgroundImageURI","DEFAULT_AVATAR_URI","subscriberList","setBackgroundImageURI","uri","connect","sessionSettings","credentials","session","OT","initSession","apiKey","sessionId","on","connectionCreatedHandler","connectionDestroyedHandler","streamCreatedHandler","streamDestroyedHandler","streamPropertyChangedHandler","sessionDisconnectedHandler","prepareVideoPublisherSettings","_a","initVideoPublisher","token","error","_b","_c","videoPublisher","destroy","off","undefined","traceError","emit","MultiPartyServiceEventTypes","connectFailed","meta","err","JSON","stringify","publish","get","isScreenSharingSupported","isScreenSharingCapabilitiesEnabled","screenPublisher","disconnect","err_1","getVideoFilter","clearVideoFilter","info","takeSnapshot","connectionId","videoType","VideoTypesEnum","CAMERA","ownConnectionId","getImgData","subscribers","find","subscriber","canStartWithAudio","canStartWithVideo","capabilitiesService","publisherOptions","checkAudioCapabilities","checkVideoCapabilities","MediaCapabilitiesService","getInstance","Error","participantId","videoPublisherOptions","settings","OpentokVideoPublisher","videoSettings","cameraEnabled","startWithAudioMuted","forwardPublisherEvents","checkIsMobile","checkScreenSharingCapability","res","supported","extensionRegistered","publisher","cameraSourceChanged","streamCreated","streamDestroyed","mediaDeviceAccessDenied","videoElementCreated","publishAudio","shouldMute","canPublishAudio","publishVideo","shouldPublishVideo","canPublishVideo","publishScreen","e_1","OpentokScreenPublisher","SCREEN","connection","switchCamera","reinitializeStreams","promises","shouldPublishScreen","map","forEach","unsubscribe","all","event","stream","hasAudio","hasVideo","videoDimensions","data","clientRole","decodeClientRole","maxParticipantsNumber","createSubscriber","isOwnConnection","mirror","filter","isSameStream","sameRole","connectionCreated","checkOwnConnection","connectionDestroyed","streamPropertyChanged","enumerable","configurable","stopScreenPublisher","MultiPartyService"],"mappings":"AAAA;;AACA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA6B,YAAY;EACrD,IAAIC,cAAa,GAAG,uBAAUC,CAAV,EAAaC,CAAb,EAAgB;IAChCF,cAAa,GAAGG,MAAM,CAACC,cAAP,IACX;MAAEC,SAAS,EAAE;IAAb,aAA6BC,KAA7B,IAAsC,UAAUL,CAAV,EAAaC,CAAb,EAAgB;MAAED,CAAC,CAACI,SAAF,GAAcH,CAAd;IAAkB,CAD/D,IAEZ,UAAUD,CAAV,EAAaC,CAAb,EAAgB;MAAE,KAAK,IAAIK,CAAT,IAAcL,CAAd;QAAiB,IAAIC,MAAM,CAACK,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCR,CAArC,EAAwCK,CAAxC,CAAJ,EAAgDN,CAAC,CAACM,CAAD,CAAD,GAAOL,CAAC,CAACK,CAAD,CAAR;MAAjE;IAA+E,CAFrG;;IAGA,OAAOP,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAApB;EACH,CALD;;EAMA,OAAO,UAAUD,CAAV,EAAaC,CAAb,EAAgB;IACnBF,cAAa,CAACC,CAAD,EAAIC,CAAJ,CAAb;;IACA,SAASS,EAAT,GAAc;MAAE,KAAKC,WAAL,GAAmBX,CAAnB;IAAuB;;IACvCA,CAAC,CAACO,SAAF,GAAcN,CAAC,KAAK,IAAN,GAAaC,MAAM,CAACU,MAAP,CAAcX,CAAd,CAAb,IAAiCS,EAAE,CAACH,SAAH,GAAeN,CAAC,CAACM,SAAjB,EAA4B,IAAIG,EAAJ,EAA7D,CAAd;EACH,CAJD;AAKH,CAZ2C,EAA5C;;AAaA,IAAIG,QAAQ,GAAI,UAAQ,SAAKA,QAAd,IAA2B,YAAY;EAClDA,QAAQ,GAAGX,MAAM,CAACY,MAAP,IAAiB,UAASC,CAAT,EAAY;IACpC,KAAK,IAAIC,CAAJ,EAAOC,CAAC,GAAG,CAAX,EAAcC,CAAC,GAAGC,SAAS,CAACC,MAAjC,EAAyCH,CAAC,GAAGC,CAA7C,EAAgDD,CAAC,EAAjD,EAAqD;MACjDD,CAAC,GAAGG,SAAS,CAACF,CAAD,CAAb;;MACA,KAAK,IAAIX,CAAT,IAAcU,CAAd;QAAiB,IAAId,MAAM,CAACK,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCO,CAArC,EAAwCV,CAAxC,CAAJ,EACbS,CAAC,CAACT,CAAD,CAAD,GAAOU,CAAC,CAACV,CAAD,CAAR;MADJ;IAEH;;IACD,OAAOS,CAAP;EACH,CAPD;;EAQA,OAAOF,QAAQ,CAACQ,KAAT,CAAe,IAAf,EAAqBF,SAArB,CAAP;AACH,CAVD;;AAWA,IAAIG,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;EACrF,SAASC,KAAT,CAAeC,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;MAAEA,OAAO,CAACD,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;IACvD,SAASC,SAAT,CAAmBJ,KAAnB,EAA0B;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAASC,QAAT,CAAkBR,KAAlB,EAAyB;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAASF,IAAT,CAAcI,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;IAAsF;;IAC9GH,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACL,KAAV,CAAgBE,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AASA,IAAIM,WAAW,GAAI,UAAQ,SAAKA,WAAd,IAA8B,UAAUjB,OAAV,EAAmBkB,IAAnB,EAAyB;EACrE,IAAIC,CAAC,GAAG;IAAEC,KAAK,EAAE,CAAT;IAAYC,IAAI,EAAE,gBAAW;MAAE,IAAI7B,CAAC,CAAC,CAAD,CAAD,GAAO,CAAX,EAAc,MAAMA,CAAC,CAAC,CAAD,CAAP;MAAY,OAAOA,CAAC,CAAC,CAAD,CAAR;IAAc,CAAvE;IAAyE8B,IAAI,EAAE,EAA/E;IAAmFC,GAAG,EAAE;EAAxF,CAAR;EAAA,IAAsGC,CAAtG;EAAA,IAAyGC,CAAzG;EAAA,IAA4GjC,CAA5G;EAAA,IAA+GkC,CAA/G;EACA,OAAOA,CAAC,GAAG;IAAEf,IAAI,EAAEgB,IAAI,CAAC,CAAD,CAAZ;IAAiB,SAASA,IAAI,CAAC,CAAD,CAA9B;IAAmC,UAAUA,IAAI,CAAC,CAAD;EAAjD,CAAJ,EAA4D,OAAOC,MAAP,KAAkB,UAAlB,KAAiCF,CAAC,CAACE,MAAM,CAACC,QAAR,CAAD,GAAqB,YAAW;IAAE,OAAO,IAAP;EAAc,CAAjF,CAA5D,EAAgJH,CAAvJ;;EACA,SAASC,IAAT,CAAchC,CAAd,EAAiB;IAAE,OAAO,UAAUmC,CAAV,EAAa;MAAE,OAAOpB,IAAI,CAAC,CAACf,CAAD,EAAImC,CAAJ,CAAD,CAAX;IAAsB,CAA5C;EAA+C;;EAClE,SAASpB,IAAT,CAAcqB,EAAd,EAAkB;IACd,IAAIP,CAAJ,EAAO,MAAM,IAAIQ,SAAJ,CAAc,iCAAd,CAAN;;IACP,OAAOb,CAAP;MAAU,IAAI;QACV,IAAIK,CAAC,GAAG,CAAJ,EAAOC,CAAC,KAAKjC,CAAC,GAAGuC,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAR,GAAYN,CAAC,CAAC,QAAD,CAAb,GAA0BM,EAAE,CAAC,CAAD,CAAF,GAAQN,CAAC,CAAC,OAAD,CAAD,KAAe,CAACjC,CAAC,GAAGiC,CAAC,CAAC,QAAD,CAAN,KAAqBjC,CAAC,CAACN,IAAF,CAAOuC,CAAP,CAArB,EAAgC,CAA/C,CAAR,GAA4DA,CAAC,CAACd,IAAjG,CAAD,IAA2G,CAAC,CAACnB,CAAC,GAAGA,CAAC,CAACN,IAAF,CAAOuC,CAAP,EAAUM,EAAE,CAAC,CAAD,CAAZ,CAAL,EAAuBhB,IAA9I,EAAoJ,OAAOvB,CAAP;QACpJ,IAAIiC,CAAC,GAAG,CAAJ,EAAOjC,CAAX,EAAcuC,EAAE,GAAG,CAACA,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAT,EAAYvC,CAAC,CAACa,KAAd,CAAL;;QACd,QAAQ0B,EAAE,CAAC,CAAD,CAAV;UACI,KAAK,CAAL;UAAQ,KAAK,CAAL;YAAQvC,CAAC,GAAGuC,EAAJ;YAAQ;;UACxB,KAAK,CAAL;YAAQZ,CAAC,CAACC,KAAF;YAAW,OAAO;cAAEf,KAAK,EAAE0B,EAAE,CAAC,CAAD,CAAX;cAAgBhB,IAAI,EAAE;YAAtB,CAAP;;UACnB,KAAK,CAAL;YAAQI,CAAC,CAACC,KAAF;YAAWK,CAAC,GAAGM,EAAE,CAAC,CAAD,CAAN;YAAWA,EAAE,GAAG,CAAC,CAAD,CAAL;YAAU;;UACxC,KAAK,CAAL;YAAQA,EAAE,GAAGZ,CAAC,CAACI,GAAF,CAAMU,GAAN,EAAL;;YAAkBd,CAAC,CAACG,IAAF,CAAOW,GAAP;;YAAc;;UACxC;YACI,IAAI,EAAEzC,CAAC,GAAG2B,CAAC,CAACG,IAAN,EAAY9B,CAAC,GAAGA,CAAC,CAACK,MAAF,GAAW,CAAX,IAAgBL,CAAC,CAACA,CAAC,CAACK,MAAF,GAAW,CAAZ,CAAnC,MAAuDkC,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAhF,CAAJ,EAAwF;cAAEZ,CAAC,GAAG,CAAJ;cAAO;YAAW;;YAC5G,IAAIY,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,KAAgB,CAACvC,CAAD,IAAOuC,EAAE,CAAC,CAAD,CAAF,GAAQvC,CAAC,CAAC,CAAD,CAAT,IAAgBuC,EAAE,CAAC,CAAD,CAAF,GAAQvC,CAAC,CAAC,CAAD,CAAhD,CAAJ,EAA2D;cAAE2B,CAAC,CAACC,KAAF,GAAUW,EAAE,CAAC,CAAD,CAAZ;cAAiB;YAAQ;;YACtF,IAAIA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeZ,CAAC,CAACC,KAAF,GAAU5B,CAAC,CAAC,CAAD,CAA9B,EAAmC;cAAE2B,CAAC,CAACC,KAAF,GAAU5B,CAAC,CAAC,CAAD,CAAX;cAAgBA,CAAC,GAAGuC,EAAJ;cAAQ;YAAQ;;YACrE,IAAIvC,CAAC,IAAI2B,CAAC,CAACC,KAAF,GAAU5B,CAAC,CAAC,CAAD,CAApB,EAAyB;cAAE2B,CAAC,CAACC,KAAF,GAAU5B,CAAC,CAAC,CAAD,CAAX;;cAAgB2B,CAAC,CAACI,GAAF,CAAMW,IAAN,CAAWH,EAAX;;cAAgB;YAAQ;;YACnE,IAAIvC,CAAC,CAAC,CAAD,CAAL,EAAU2B,CAAC,CAACI,GAAF,CAAMU,GAAN;;YACVd,CAAC,CAACG,IAAF,CAAOW,GAAP;;YAAc;QAXtB;;QAaAF,EAAE,GAAGb,IAAI,CAAChC,IAAL,CAAUc,OAAV,EAAmBmB,CAAnB,CAAL;MACH,CAjBS,CAiBR,OAAOP,CAAP,EAAU;QAAEmB,EAAE,GAAG,CAAC,CAAD,EAAInB,CAAJ,CAAL;QAAaa,CAAC,GAAG,CAAJ;MAAQ,CAjBzB,SAiBkC;QAAED,CAAC,GAAGhC,CAAC,GAAG,CAAR;MAAY;IAjB1D;;IAkBA,IAAIuC,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAZ,EAAe,MAAMA,EAAE,CAAC,CAAD,CAAR;IAAa,OAAO;MAAE1B,KAAK,EAAE0B,EAAE,CAAC,CAAD,CAAF,GAAQA,EAAE,CAAC,CAAD,CAAV,GAAgB,KAAK,CAA9B;MAAiChB,IAAI,EAAE;IAAvC,CAAP;EAC/B;AACJ,CA1BD;;AA2BA,IAAIoB,cAAc,GAAI,UAAQ,SAAKA,cAAd,IAAiC,YAAY;EAC9D,KAAK,IAAI1C,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAG,CAAf,EAAkB0C,EAAE,GAAGxC,SAAS,CAACC,MAAtC,EAA8CH,CAAC,GAAG0C,EAAlD,EAAsD1C,CAAC,EAAvD;IAA2DD,CAAC,IAAIG,SAAS,CAACF,CAAD,CAAT,CAAaG,MAAlB;EAA3D;;EACA,KAAK,IAAIwC,CAAC,GAAGvD,KAAK,CAACW,CAAD,CAAb,EAAkB6C,CAAC,GAAG,CAAtB,EAAyB5C,CAAC,GAAG,CAAlC,EAAqCA,CAAC,GAAG0C,EAAzC,EAA6C1C,CAAC,EAA9C;IACI,KAAK,IAAI6C,CAAC,GAAG3C,SAAS,CAACF,CAAD,CAAjB,EAAsB8C,CAAC,GAAG,CAA1B,EAA6BC,EAAE,GAAGF,CAAC,CAAC1C,MAAzC,EAAiD2C,CAAC,GAAGC,EAArD,EAAyDD,CAAC,IAAIF,CAAC,EAA/D;MACID,CAAC,CAACC,CAAD,CAAD,GAAOC,CAAC,CAACC,CAAD,CAAR;IADJ;EADJ;;EAGA,OAAOH,CAAP;AACH,CAND;;AAOA1D,MAAM,CAAC+D,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C;EAAEtC,KAAK,EAAE;AAAT,CAA7C;AACAsC,OAAO,CAACC,wBAAR,GAAmC,KAAK,CAAxC;;AACA,IAAIC,aAAa,GAAGC,OAAO,CAAC,gBAAD,CAA3B;;AACA,IAAIC,0BAA0B,GAAGD,OAAO,CAAC,6BAAD,CAAxC;;AACA,IAAIE,wBAAwB,GAAGF,OAAO,CAAC,2BAAD,CAAtC;;AACA,IAAIG,mBAAmB,GAAGH,OAAO,CAAC,sBAAD,CAAjC;;AACA,IAAII,6BAA6B,GAAGJ,OAAO,CAAC,gCAAD,CAA3C;;AACA,IAAIK,uBAAuB,GAAGL,OAAO,CAAC,yBAAD,CAArC;;AACA,IAAIM,wBAAwB,GAAGN,OAAO,CAAC,0BAAD,CAAtC;;AACA,IAAIO,mBAAmB,GAAGP,OAAO,CAAC,qBAAD,CAAjC;;AACA,IAAIQ,OAAO,GAAGR,OAAO,CAAC,UAAD,CAArB;;AACA,IAAIS,OAAO,GAAGT,OAAO,CAAC,SAAD,CAArB;;AACA,IAAIU,gBAAgB,GAAGV,OAAO,CAAC,sBAAD,CAA9B;;AACA,IAAIW,KAAK,GAAGZ,aAAa,CAACa,cAAd,CAA6B,YAA7B,CAAZ;;AACA,IAAId,wBAAwB;AAAG;AAAe,UAAUe,MAAV,EAAkB;EAC5DpF,SAAS,CAACqE,wBAAD,EAA2Be,MAA3B,CAAT;;EACA,SAASf,wBAAT,CAAkCgB,gBAAlC,EAAoD;IAChD,IAAIC,KAAK,GAAGF,MAAM,CAACzE,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;IACA2E,KAAK,CAACD,gBAAN,GAAyBA,gBAAzB;IACAC,KAAK,CAACC,oBAAN,GAA6B,KAA7B;IACAD,KAAK,CAACE,kBAAN,GAA2Bd,mBAAmB,CAACe,kBAA/C;IACAH,KAAK,CAACI,cAAN,GAAuB,EAAvB;;IACAJ,KAAK,CAACK,qBAAN,GAA8B,UAAUC,GAAV,EAAe;MACzCN,KAAK,CAACE,kBAAN,GAA2BI,GAAG,IAAIlB,mBAAmB,CAACe,kBAAtD;IACH,CAFD;;IAGAH,KAAK,CAACO,OAAN,GAAgB,UAAUC,eAAV,EAA2BC,WAA3B,EAAwC;MACpD,IAAI;QACAT,KAAK,CAACU,OAAN,GAAgBC,EAAE,CAACC,WAAH,CAAeH,WAAW,CAACI,MAA3B,EAAmCJ,WAAW,CAACK,SAA/C,CAAhB;;QACAd,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,mBAAjB,EAAsCf,KAAK,CAACgB,wBAA5C;;QACAhB,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,qBAAjB,EAAwCf,KAAK,CAACiB,0BAA9C;;QACAjB,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,eAAjB,EAAkCf,KAAK,CAACkB,oBAAxC;;QACAlB,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,iBAAjB,EAAoCf,KAAK,CAACmB,sBAA1C;;QACAnB,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,uBAAjB,EAA0Cf,KAAK,CAACoB,4BAAhD;;QACApB,KAAK,CAACU,OAAN,CAAcK,EAAd,CAAiB,qBAAjB,EAAwCf,KAAK,CAACqB,0BAA9C,EAPA,CAQA;;;QACArB,KAAK,CAACsB,6BAAN,GAAsCnE,IAAtC,CAA2C,YAAY;UACnD,IAAIoE,EAAJ;;UACAvB,KAAK,CAACwB,kBAAN,CAAyBhB,eAAzB;;UACA,CAACe,EAAE,GAAGvB,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAACU,OAA1D,MAAuE,IAAvE,IAA+Ea,EAAE,KAAK,KAAK,CAA3F,GAA+F,KAAK,CAApG,GAAwGA,EAAE,CAAChB,OAAH,CAAWE,WAAW,CAACgB,KAAvB,EAA8B,UAAUC,KAAV,EAAiB;YACnJ,IAAIH,EAAJ,EAAQI,EAAR,EAAYC,EAAZ;;YACA,IAAIF,KAAJ,EAAW;cACP,CAACH,EAAE,GAAGvB,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAAC6B,cAA1D,MAA8E,IAA9E,IAAsFN,EAAE,KAAK,KAAK,CAAlG,GAAsG,KAAK,CAA3G,GAA+GA,EAAE,CAACO,OAAH,EAA/G;cACA,CAACH,EAAE,GAAG3B,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCiB,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACI,GAAH,EAA1D;cACA/B,KAAK,CAACU,OAAN,GAAgBsB,SAAhB;cACAtC,OAAO,CAACuC,UAAR,CAAmBP,KAAnB;;cACA1B,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DC,aAArE,EAAoF;gBAChFC,IAAI,EAAE;kBAAEC,GAAG,EAAEC,IAAI,CAACC,SAAL,CAAed,KAAf;gBAAP;cAD0E,CAApF;;cAGA;YACH;;YACD,IAAI1B,KAAK,CAAC6B,cAAV,EAA0B;cACtB,CAACD,EAAE,GAAG5B,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCkB,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACa,OAAH,CAAWzC,KAAK,CAAC6B,cAAN,CAAqBa,GAArB,EAAX,EAAuChD,OAAO,CAACuC,UAA/C,CAA1D;YACH;;YACDjC,KAAK,CAAC2C,wBAAN,CAA+BnC,eAAe,CAACoC,kCAA/C,EAAmFzF,IAAnF,CAAwF,YAAY;cAChG,IAAIoE,EAAJ;;cACA,IAAIvB,KAAK,CAAC6C,eAAV,EAA2B;gBACvB,CAACtB,EAAE,GAAGvB,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCa,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACkB,OAAH,CAAWzC,KAAK,CAAC6C,eAAN,CAAsBH,GAAtB,EAAX,EAAwChD,OAAO,CAACuC,UAAhD,CAA1D;cACH;YACJ,CALD;UAMH,CArBuG,CAAxG;QAsBH,CAzBD;MA0BH,CAnCD,CAoCA,OAAOK,GAAP,EAAY;QACR1C,KAAK,CAAC8B,KAAN,CAAYa,IAAI,CAACC,SAAL,CAAeF,GAAf,CAAZ;;QACAtC,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DC,aAArE,EAAoF;UAChFC,IAAI,EAAE;YAAEC,GAAG,EAAEC,IAAI,CAACC,SAAL,CAAeF,GAAf;UAAP;QAD0E,CAApF;MAGH;IACJ,CA3CD;;IA4CAtC,KAAK,CAAC8C,UAAN,GAAmB,YAAY;MAAE,OAAO5G,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QACjF,IAAI+C,KAAJ;;QACA,IAAIxB,EAAJ,EAAQI,EAAR;;QACA,OAAOvE,WAAW,CAAC,IAAD,EAAO,UAAUwE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAACrE,KAAX;YACI,KAAK,CAAL;cACIqE,EAAE,CAACnE,IAAH,CAAQY,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;cACA,IAAI,EAAE,CAACkD,EAAE,GAAG,KAAKM,cAAX,MAA+B,IAA/B,IAAuCN,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACyB,cAArE,CAAJ,EAA0F,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;cAC1F,OAAO,CAAC;cAAE;cAAH,EAAe,CAACrB,EAAE,GAAG,KAAKE,cAAX,MAA+B,IAA/B,IAAuCF,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACsB,gBAAH,EAA/E,CAAP;;YACJ,KAAK,CAAL;cACIrB,EAAE,CAACpE,IAAH;;cACAoE,EAAE,CAACrE,KAAH,GAAW,CAAX;;YACJ,KAAK,CAAL;cACIqC,KAAK,CAACsD,IAAN,CAAW,4BAAX;;cACA,IAAI,KAAKxC,OAAT,EAAkB;gBACd,KAAKA,OAAL,CAAaoC,UAAb;gBACAlD,KAAK,CAACsD,IAAN,CAAW,sCAAX;cACH;;cACD,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;;YACJ,KAAK,CAAL;cACIH,KAAK,GAAGnB,EAAE,CAACpE,IAAH,EAAR;cACAoC,KAAK,CAAC8B,KAAN,CAAYa,IAAI,CAACC,SAAL,CAAeO,KAAf,CAAZ;cACA,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;;YACJ,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,CAAP;UAnBZ;QAqBH,CAtBiB,CAAlB;MAuBH,CA1BgD,CAAhB;IA0B5B,CA1BL;;IA2BA/C,KAAK,CAACmD,YAAN,GAAqB,UAAUC,YAAV,EAAwBC,SAAxB,EAAmC;MACpD,IAAI9B,EAAJ,EAAQI,EAAR,EAAYC,EAAZ;;MACA,IAAIyB,SAAS,KAAK,KAAK,CAAvB,EAA0B;QAAEA,SAAS,GAAG1D,gBAAgB,CAAC2D,cAAjB,CAAgCC,MAA5C;MAAqD;;MACjF,IAAI,CAACH,YAAL,EAAmB;QACf,OAAO,IAAP;MACH;;MACD,IAAIA,YAAY,KAAKpD,KAAK,CAACwD,eAA3B,EAA4C;QACxC,IAAIH,SAAS,KAAK1D,gBAAgB,CAAC2D,cAAjB,CAAgCC,MAAlD,EAA0D;UACtD,OAAO,CAAC,CAAChC,EAAE,GAAGvB,KAAK,CAAC6B,cAAZ,MAAgC,IAAhC,IAAwCN,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAACkC,UAAH,EAAlE,KAAsF,IAA7F;QACH;;QACD,OAAO,CAAC,CAAC9B,EAAE,GAAG3B,KAAK,CAAC6C,eAAZ,MAAiC,IAAjC,IAAyClB,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAAC8B,UAAH,EAAnE,KAAuF,IAA9F;MACH;;MACD,OAAQ,CAAC,CAAC7B,EAAE,GAAG5B,KAAK,CAAC0D,WAAN,CACVC,IADU,CACL,UAAU/H,CAAV,EAAa;QAAE,OAAOA,CAAC,CAACwH,YAAF,KAAmBA,YAAnB,IAAmCxH,CAAC,CAACyH,SAAF,KAAgBA,SAA1D;MAAsE,CADhF,CAAN,MAC6F,IAD7F,IACqGzB,EAAE,KAAK,KAAK,CADjH,GACqH,KAAK,CAD1H,GAC8HA,EAAE,CAACgC,UAAH,CAAcH,UAAd,EAD/H,KAC8J,IADtK;IAEH,CAdD;;IAeAzD,KAAK,CAACsB,6BAAN,GAAsC,YAAY;MAAE,OAAOpF,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QACpG,IAAI6D,iBAAJ,EAAuBC,iBAAvB,EAA0CC,mBAA1C,EAA+DC,gBAA/D;QACA,OAAO5G,WAAW,CAAC,IAAD,EAAO,UAAUmE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAAChE,KAAX;YACI,KAAK,CAAL;cACI,IAAI,CAAC,KAAKmD,OAAV,EAAmB;gBACf,OAAO,CAAC;gBAAE;gBAAH,CAAP;cACH;;cACD,OAAO,CAAC;cAAE;cAAH,EAAcvB,wBAAwB,CAAC8E,sBAAzB,EAAd,CAAP;;YACJ,KAAK,CAAL;cACIJ,iBAAiB,GAAGtC,EAAE,CAAC/D,IAAH,EAApB;cACA,OAAO,CAAC;cAAE;cAAH,EAAc2B,wBAAwB,CAAC+E,sBAAzB,EAAd,CAAP;;YACJ,KAAK,CAAL;cACIJ,iBAAiB,GAAGvC,EAAE,CAAC/D,IAAH,EAApB;cACA,OAAO,CAAC;cAAE;cAAH,EAAc0B,0BAA0B,CAACiF,wBAA3B,CAAoDC,WAApD,EAAd,CAAP;;YACJ,KAAK,CAAL;cACIL,mBAAmB,GAAGxC,EAAE,CAAC/D,IAAH,EAAtB;;cACA,IAAI,CAACqG,iBAAD,IAAsB,CAACC,iBAA3B,EAA8C;gBAC1C,MAAM,IAAIO,KAAJ,CAAU,iDAAV,CAAN;cACH;;cACDL,gBAAgB,GAAG;gBACf9D,kBAAkB,EAAE,KAAKA,kBADV;gBAEfoE,aAAa,EAAE,KAAKvE,gBAAL,CAAsB,KAAKyD,eAA3B,EAA4C7D,gBAAgB,CAAC2D,cAAjB,CAAgCC,MAA5E;cAFA,CAAnB;cAIA,KAAKgB,qBAAL,GAA6B;gBACzBP,gBAAgB,EAAEA,gBADO;gBAEzBH,iBAAiB,EAAEA,iBAFM;gBAGzBC,iBAAiB,EAAEA,iBAHM;gBAIzBC,mBAAmB,EAAEA;cAJI,CAA7B;cAMA,OAAO,CAAC;cAAE;cAAH,CAAP;UA3BR;QA6BH,CA9BiB,CAAlB;MA+BH,CAjCmE,CAAhB;IAiC/C,CAjCL;;IAkCA/D,KAAK,CAACwB,kBAAN,GAA2B,UAAUgD,QAAV,EAAoB;MAC3C,IAAIjD,EAAJ,EAAQI,EAAR;;MACA,IAAI,EAAE,CAAC,CAACJ,EAAE,GAAGvB,KAAK,CAACuE,qBAAZ,MAAuC,IAAvC,IAA+ChD,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACsC,iBAA5E,MAAmG,CAAClC,EAAE,GAAG3B,KAAK,CAACuE,qBAAZ,MAAuC,IAAvC,IAA+C5C,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACmC,iBAA9K,CAAF,CAAJ,EAAyM;QACrM,MAAM,IAAIO,KAAJ,CAAU,0BAAV,CAAN;MACH;;MACD,IAAI;QACArE,KAAK,CAAC6B,cAAN,GAAuB,IAAIvC,uBAAuB,CAACmF,qBAA5B,CAAkDhJ,QAAQ,CAACA,QAAQ,CAAC,EAAD,EAAK+I,QAAQ,CAACE,aAAd,CAAT,EAAuC;UAAEC,aAAa,EAAEH,QAAQ,CAACE,aAAT,CAAuBC,aAAvB,IAAwC3E,KAAK,CAACuE,qBAAN,CAA4BT,iBAArF;UAAwGc,mBAAmB,EAAEJ,QAAQ,CAACE,aAAT,CAAuBE,mBAAvB,IAA8C5E,KAAK,CAACuE,qBAAN,CAA4BV;QAAvM,CAAvC,CAA1D,EAA8T7D,KAAK,CAACuE,qBAAN,CAA4BP,gBAA1V,EAA4WhE,KAAK,CAACuE,qBAAN,CAA4BR,mBAAxY,CAAvB;;QACA/D,KAAK,CAAC6E,sBAAN,CAA6B7E,KAAK,CAAC6B,cAAnC;MACH,CAHD,CAIA,OAAOH,KAAP,EAAc;QACV9B,KAAK,CAAC8B,KAAN,CAAY,0BAAZ;MACH;IACJ,CAZD;;IAaA1B,KAAK,CAAC2C,wBAAN,GAAiC,UAAUC,kCAAV,EAA8C;MAAE,OAAO1G,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QACjI,IAAIA,KAAK,GAAG,IAAZ;;QACA,OAAO5C,WAAW,CAAC,IAAD,EAAO,UAAUmE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAAChE,KAAX;YACI,KAAK,CAAL;cACI,IAAI,EAAEqF,kCAAkC,IAAI,CAACzD,wBAAwB,CAAC2F,aAAzB,EAAzC,CAAJ,EAAwF,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;cACxF,OAAO,CAAC;cAAE;cAAH,EAAcnE,EAAE,CAACoE,4BAAH,CAAgC,UAAUC,GAAV,EAAe;gBAC5D,IAAI,CAACA,GAAG,CAACC,SAAL,IAAkBD,GAAG,CAACE,mBAAJ,KAA4B,KAAlD,EAAyD;kBACrD;kBACAtF,KAAK,CAAC8B,KAAN,CAAY,iCAAZ;kBACA1B,KAAK,CAACC,oBAAN,GAA6B,KAA7B;gBACH,CAJD,MAKK;kBACDD,KAAK,CAACC,oBAAN,GAA6B,IAA7B;gBACH;cACJ,CATgB,CAAd,CAAP;;YAUJ,KAAK,CAAL;cACIsB,EAAE,CAAC/D,IAAH;;cACA,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;;YACJ,KAAK,CAAL;cACI,KAAKyC,oBAAL,GAA4B,KAA5B;cACAsB,EAAE,CAAChE,KAAH,GAAW,CAAX;;YACJ,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,EAAeb,OAAO,CAACD,OAAR,CAAgB,KAAKwD,oBAArB,CAAf,CAAP;UAnBZ;QAqBH,CAtBiB,CAAlB;MAuBH,CAzBgG,CAAhB;IAyB5E,CAzBL;;IA0BAD,KAAK,CAAC6E,sBAAN,GAA+B,UAAUM,SAAV,EAAqB;MAChDA,SAAS,CAACpE,EAAV,CAAa,qBAAb,EAAoC,UAAUhE,CAAV,EAAa;QAAE,OAAOiD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DiD,mBAArE,EAA0FrI,CAA1F,CAAP;MAAsG,CAAzJ;MACAoI,SAAS,CAACpE,EAAV,CAAa,eAAb,EAA8B,UAAUhE,CAAV,EAAa;QAAE,OAAOiD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DkD,aAArE,EAAoFtI,CAApF,CAAP;MAAgG,CAA7I;MACAoI,SAAS,CAACpE,EAAV,CAAa,iBAAb,EAAgC,UAAUhE,CAAV,EAAa;QAAE,OAAOiD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DmD,eAArE,EAAsFvI,CAAtF,CAAP;MAAkG,CAAjJ;MACAoI,SAAS,CAACpE,EAAV,CAAa,yBAAb,EAAwC,UAAUhE,CAAV,EAAa;QACjD,OAAOiD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DoD,uBAArE,EAA8FxI,CAA9F,CAAP;MACH,CAFD;MAGAoI,SAAS,CAACpE,EAAV,CAAa,qBAAb,EAAoC,UAAUhE,CAAV,EAAa;QAAE,OAAOiD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DqD,mBAArE,EAA0FzI,CAA1F,CAAP;MAAsG,CAAzJ;IACH,CARD;;IASAiD,KAAK,CAACyF,YAAN,GAAqB,UAAUC,UAAV,EAAsB;MAAE,OAAOxJ,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QAC7F,IAAI2F,eAAJ;;QACA,IAAIpE,EAAJ;;QACA,OAAOnE,WAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAACpE,KAAX;YACI,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,EAAc4B,wBAAwB,CAAC8E,sBAAzB,EAAd,CAAP;;YACR,KAAK,CAAL;cACI0B,eAAe,GAAGhE,EAAE,CAACnE,IAAH,EAAlB;;cACA,IAAIkI,UAAU,IAAI,CAACC,eAAnB,EAAoC;gBAChC/F,KAAK,CAAC8B,KAAN,CAAY,yBAAZ;gBACA,OAAO,CAAC;gBAAE;gBAAH,CAAP;cACH;;cACD,CAACH,EAAE,GAAG,KAAKM,cAAX,MAA+B,IAA/B,IAAuCN,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACkE,YAAH,CAAgBC,UAAhB,CAAhE;cACA,OAAO,CAAC;cAAE;cAAH,CAAP;UATR;QAWH,CAZiB,CAAlB;MAaH,CAhB4D,CAAhB;IAgBxC,CAhBL;;IAiBA1F,KAAK,CAAC4F,YAAN,GAAqB,UAAUC,kBAAV,EAA8B;MAAE,OAAO3J,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QACrG,IAAI8F,eAAJ;;QACA,IAAIvE,EAAJ;;QACA,OAAOnE,WAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAACpE,KAAX;YACI,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,EAAc4B,wBAAwB,CAAC+E,sBAAzB,EAAd,CAAP;;YACR,KAAK,CAAL;cACI4B,eAAe,GAAGnE,EAAE,CAACnE,IAAH,EAAlB;;cACA,IAAIqI,kBAAkB,IAAI,CAACC,eAA3B,EAA4C;gBACxClG,KAAK,CAAC8B,KAAN,CAAY,yBAAZ;gBACA,OAAO,CAAC;gBAAE;gBAAH,CAAP;cACH;;cACD,CAACH,EAAE,GAAG,KAAKM,cAAX,MAA+B,IAA/B,IAAuCN,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACqE,YAAH,CAAgBC,kBAAhB,CAAhE;cACA,OAAO,CAAC;cAAE;cAAH,CAAP;UATR;QAWH,CAZiB,CAAlB;MAaH,CAhBoE,CAAhB;IAgBhD,CAhBL;;IAiBA7F,KAAK,CAAC+F,aAAN,GAAsB,YAAY;MAAE,OAAO7J,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QACpF,IAAIgE,gBAAJ,EAAsBD,mBAAtB,EAA2CiC,GAA3C;;QACA,IAAIhG,KAAK,GAAG,IAAZ;;QACA,OAAO5C,WAAW,CAAC,IAAD,EAAO,UAAUmE,EAAV,EAAc;UACnC,QAAQA,EAAE,CAAChE,KAAX;YACI,KAAK,CAAL;cACI,IAAI,CAAC,KAAK0C,oBAAV,EAAgC,OAAO,CAAC;cAAE;cAAH,EAAc,CAAd,CAAP;cAChC+D,gBAAgB,GAAG;gBACf9D,kBAAkB,EAAE,KAAKA;cADV,CAAnB;cAGA,OAAO,CAAC;cAAE;cAAH,EAAchB,0BAA0B,CAACiF,wBAA3B,CAAoDC,WAApD,EAAd,CAAP;;YACJ,KAAK,CAAL;cACIL,mBAAmB,GAAGxC,EAAE,CAAC/D,IAAH,EAAtB;cACA+D,EAAE,CAAChE,KAAH,GAAW,CAAX;;YACJ,KAAK,CAAL;cACIgE,EAAE,CAAC9D,IAAH,CAAQY,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;cACA,KAAKwE,eAAL,GAAuB,IAAItD,wBAAwB,CAAC0G,sBAA7B,CAAoDxK,QAAQ,CAACA,QAAQ,CAAC,EAAD,EAAKuI,gBAAL,CAAT,EAAiC;gBAAEM,aAAa,EAAE,KAAKvE,gBAAL,CAAsB,KAAKyD,eAA3B,EAA4C7D,gBAAgB,CAAC2D,cAAjB,CAAgC4C,MAA5E;cAAjB,CAAjC,CAA5D,EAAsMnC,mBAAtM,CAAvB;cACA,KAAKc,sBAAL,CAA4B,KAAKhC,eAAjC;cACA,OAAO,CAAC;cAAE;cAAH,EAAc,IAAInG,OAAJ,CAAY,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;gBACpD,IAAI4E,EAAJ,EAAQI,EAAR;;gBACA3B,KAAK,CAAC6C,eAAN,KAA0B,CAACtB,EAAE,GAAGvB,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCa,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAAC4E,UAAvF,MAAuG,CAACxE,EAAE,GAAG3B,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCiB,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACc,OAAH,CAAWzC,KAAK,CAAC6C,eAAN,CAAsBH,GAAtB,EAAX,EAAwC,UAAUJ,GAAV,EAAe;kBACpN,IAAIA,GAAJ,EAAS;oBACL1C,KAAK,CAAC8B,KAAN,CAAY,0BAAZ,EAAwCY,GAAxC;oBACA,OAAO3F,MAAM,CAAC2F,GAAD,CAAb;kBACH;;kBACD,OAAO7F,OAAO,EAAd;gBACH,CANgK,CAAjK;cAOH,CATgB,CAAd,CAAP;;YAUJ,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,EAAe8E,EAAE,CAAC/D,IAAH,EAAf,CAAP;;YACR,KAAK,CAAL;cACIwI,GAAG,GAAGzE,EAAE,CAAC/D,IAAH,EAAN;cACAoC,KAAK,CAAC8B,KAAN,CAAY,0BAAZ,EAAwCsE,GAAxC;cACA,OAAO,CAAC;cAAE;cAAH,EAAetJ,OAAO,CAACC,MAAR,CAAeqJ,GAAf,CAAf,CAAP;;YACJ,KAAK,CAAL;cAAQ,OAAO,CAAC;cAAE;cAAH,CAAP;UA7BZ;QA+BH,CAhCiB,CAAlB;MAiCH,CApCmD,CAAhB;IAoC/B,CApCL;;IAqCAhG,KAAK,CAACoG,YAAN,GAAqB,YAAY;MAAE,OAAOlK,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QAAE,IAAIuB,EAAJ;;QAAQ,OAAOnE,WAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;UACpI,OAAO,CAAC;UAAE;UAAH,EAAe,CAACJ,EAAE,GAAG,KAAKM,cAAX,MAA+B,IAA/B,IAAuCN,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAAC6E,YAAH,EAA/E,CAAP;QACH,CAFkH,CAAlB;MAE5F,CAF8C,CAAhB;IAE1B,CAFT;;IAGApG,KAAK,CAACqG,mBAAN,GAA4B,UAAU7B,QAAV,EAAoB;MAC5C,IAAIjD,EAAJ,EAAQI,EAAR,EAAYC,EAAZ;;MACA,IAAI0E,QAAQ,GAAG,EAAf;;MACA,IAAI,CAACtG,KAAK,CAACU,OAAX,EAAoB;QAChB,OAAOhE,OAAO,CAACD,OAAR,CAAgB,EAAhB,CAAP;MACH;;MACD,IAAI8J,mBAAmB,GAAG,CAAC,CAACvG,KAAK,CAAC6C,eAAlC;;MACA7C,KAAK,CAACI,cAAN,CAAqBoG,GAArB,CAAyB,UAAU5K,CAAV,EAAa;QAAE,OAAOA,CAAC,CAACgI,UAAT;MAAsB,CAA9D,EAAgE6C,OAAhE,CAAwE,CAAClF,EAAE,GAAGvB,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCa,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACmF,WAArI;;MACA1G,KAAK,CAACI,cAAN,GAAuB,EAAvB;MACA,CAACuB,EAAE,GAAG3B,KAAK,CAAC6B,cAAZ,MAAgC,IAAhC,IAAwCF,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAACG,OAAH,EAAjE;MACA,CAACF,EAAE,GAAG5B,KAAK,CAAC6C,eAAZ,MAAiC,IAAjC,IAAyCjB,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAACE,OAAH,EAAlE;;MACA9B,KAAK,CAACwB,kBAAN,CAAyBgD,QAAzB;;MACA,IAAI+B,mBAAJ,EAAyB;QACrBD,QAAQ,CAACjI,IAAT,CAAc2B,KAAK,CAAC+F,aAAN,EAAd;MACH;;MACD,OAAOrJ,OAAO,CAACiK,GAAR,CAAYL,QAAZ,CAAP;IACH,CAhBD;;IAiBAtG,KAAK,CAACkB,oBAAN,GAA6B,UAAU0F,KAAV,EAAiB;MAAE,OAAO1K,SAAS,CAAC8D,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;QAChG,IAAI6G,MAAJ,EAAYV,UAAZ,EAAwBW,QAAxB,EAAkCC,QAAlC,EAA4CC,eAA5C,EAA6D3D,SAA7D,EAAwED,YAAxE,EAAsF6D,IAAtF,EAA4F3C,aAA5F,EAA2G4C,UAA3G,EAAuHtD,UAAvH;QACA,OAAOxG,WAAW,CAAC,IAAD,EAAO,UAAUmE,EAAV,EAAc;UACnC3B,KAAK,CAACsD,IAAN,CAAW,sBAAX,EAAmC0D,KAAK,CAACC,MAAzC;UACAA,MAAM,GAAGD,KAAK,CAACC,MAAf;UACAV,UAAU,GAAGU,MAAM,CAACV,UAApB,EAAgCW,QAAQ,GAAGD,MAAM,CAACC,QAAlD,EAA4DC,QAAQ,GAAGF,MAAM,CAACE,QAA9E,EAAwFC,eAAe,GAAGH,MAAM,CAACG,eAAjH,EAAkI3D,SAAS,GAAGwD,MAAM,CAACxD,SAArJ;UACAD,YAAY,GAAG+C,UAAU,CAAC/C,YAA1B,EAAwC6D,IAAI,GAAGd,UAAU,CAACc,IAA1D;UACA3C,aAAa,GAAG,KAAKvE,gBAAL,CAAsBqD,YAAtB,EAAoCC,SAApC,CAAhB;UACA6D,UAAU,GAAGzH,OAAO,CAAC0H,gBAAR,CAAyBF,IAAzB,CAAb;;UACA,IAAI,KAAKzD,eAAL,IAAwBqD,MAAxB,IAAkCzD,YAAY,KAAK,KAAKI,eAA5D,EAA6E;YACzE,IAAI,KAAKpD,cAAL,CAAoBpE,MAApB,GAA6BoD,mBAAmB,CAACgI,qBAApB,GAA4C,CAA7E,EAAgF;cAC5ExD,UAAU,GAAGpE,mBAAmB,CAAC6H,gBAApB,CAAqC,KAAK3G,OAA1C,EAAmDmG,MAAnD,EAA2D,KAAK9G,gBAAL,CAAsBqD,YAAtB,EAAoCC,SAApC,CAA3D,EAA2G,KAAKnD,kBAAhH,CAAb;cACA,KAAKE,cAAL,CAAoB/B,IAApB,CAAyB;gBACrBuF,UAAU,EAAEA,UADS;gBAErBR,YAAY,EAAEA,YAFO;gBAGrB8D,UAAU,EAAEA,UAHS;gBAIrB7D,SAAS,EAAEA;cAJU,CAAzB;YAMH,CARD,MASK;cACDzD,KAAK,CAACsD,IAAN,CAAW,wFAAwF9D,mBAAmB,CAACgI,qBAAvH;YACH;UACJ;;UACD,KAAKlF,IAAL,CAAU7C,6BAA6B,CAAC8C,2BAA9B,CAA0DkD,aAApE,EAAmF;YAC/Ef,aAAa,EAAEA,aADgE;YAE/E4C,UAAU,EAAEA,UAFmE;YAG/E9D,YAAY,EAAEA,YAHiE;YAI/E2D,QAAQ,EAAEA,QAJqE;YAK/ED,QAAQ,EAAEA,QALqE;YAM/EQ,eAAe,EAAE,KAN8D;YAO/EC,MAAM,EAAE,KAPuE;YAQ/EP,eAAe,EAAEA,eAR8D;YAS/E3D,SAAS,EAAEA;UAToE,CAAnF;UAWA,OAAO,CAAC;UAAE;UAAH,CAAP;QACH,CAjCiB,CAAlB;MAkCH,CApC+D,CAAhB;IAoC3C,CApCL;;IAqCArD,KAAK,CAACmB,sBAAN,GAA+B,UAAUyF,KAAV,EAAiB;MAC5ChH,KAAK,CAACsD,IAAN,CAAW,wBAAX,EAAqC0D,KAArC;MACA,IAAIrF,EAAE,GAAGqF,KAAK,CAACC,MAAf;MAAA,IAAuBV,UAAU,GAAG5E,EAAE,CAAC4E,UAAvC;MAAA,IAAmD9C,SAAS,GAAG9B,EAAE,CAAC8B,SAAlE;MACA,IAAID,YAAY,GAAG+C,UAAU,CAAC/C,YAA9B;MACApD,KAAK,CAACI,cAAN,GAAuBJ,KAAK,CAACI,cAAN,CAAqBoH,MAArB,CAA4B,UAAU5D,UAAV,EAAsB;QAAE,OAAO,CAACnE,OAAO,CAACgI,YAAR,CAAqBhM,QAAQ,CAAC,EAAD,EAAKmI,UAAL,CAA7B,EAA+C;UAAER,YAAY,EAAEA,YAAhB;UAA8BC,SAAS,EAAEA;QAAzC,CAA/C,CAAR;MAA+G,CAAnK,CAAvB;;MACArD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DmD,eAArE,EAAsF;QAClFhB,aAAa,EAAEtE,KAAK,CAACD,gBAAN,CAAuBqD,YAAvB,EAAqCC,SAArC,CADmE;QAElFD,YAAY,EAAEA,YAFoE;QAGlFkE,eAAe,EAAE,KAHiE;QAIlFJ,UAAU,EAAEzH,OAAO,CAAC0H,gBAAR,CAAyBhB,UAAU,CAACc,IAApC,CAJsE;QAKlF5D,SAAS,EAAEA;MALuE,CAAtF;IAOH,CAZD;;IAaArD,KAAK,CAACgB,wBAAN,GAAiC,UAAU4F,KAAV,EAAiB;MAC9C,IAAIrF,EAAJ;;MACA3B,KAAK,CAACsD,IAAN,CAAW,0BAAX,EAAuC0D,KAAvC;MACA,IAAIT,UAAU,GAAGS,KAAK,CAACT,UAAvB;MACA,IAAI/C,YAAY,GAAG+C,UAAU,CAAC/C,YAA9B;MACA,IAAI8D,UAAU,GAAGzH,OAAO,CAAC0H,gBAAR,CAAyBhB,UAAU,CAACc,IAApC,CAAjB;;MACA,IAAI,CAACjH,KAAK,CAACwD,eAAP,IAA0B,CAAC2C,UAA/B,EAA2C;QACvC;MACH;MACD;AACZ;AACA;AACA;;;MACY,IAAIuB,QAAQ,GAAG1H,KAAK,CAACI,cAAN,CAAqBuD,IAArB,CAA0B,UAAUC,UAAV,EAAsB;QAAE,OAAOA,UAAU,CAACsD,UAAX,KAA0BA,UAAjC;MAA8C,CAAhG,CAAf;;MACA,IAAIQ,QAAJ,EAAc;QACV1H,KAAK,CAACI,cAAN,GAAuBJ,KAAK,CAACI,cAAN,CAAqBoH,MAArB,CAA4B,UAAU5D,UAAV,EAAsB;UAAE,OAAOA,UAAU,CAACsD,UAAX,KAA0BA,UAAjC;QAA8C,CAAlG,CAAvB;QACA,CAAC3F,EAAE,GAAGvB,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCa,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACmF,WAAH,CAAegB,QAAQ,CAAC9D,UAAxB,CAA1D;MACH;;MACD5D,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0DwF,iBAArE,EAAwF;QACpFT,UAAU,EAAEA,UADwE;QAEpF5C,aAAa,EAAEtE,KAAK,CAACD,gBAAN,CAAuBqD,YAAvB,CAFqE;QAGpFA,YAAY,EAAEA,YAHsE;QAIpFkE,eAAe,EAAEtH,KAAK,CAAC4H,kBAAN,CAAyBxE,YAAzB;MAJmE,CAAxF;IAMH,CAxBD;;IAyBApD,KAAK,CAACiB,0BAAN,GAAmC,UAAU2F,KAAV,EAAiB;MAChD,IAAIT,UAAU,GAAGS,KAAK,CAACT,UAAvB;MACA,IAAI/C,YAAY,GAAG+C,UAAU,CAAC/C,YAA9B;MACAxD,KAAK,CAACsD,IAAN,CAAW,4BAAX,EAAyC0D,KAAzC;;MACA5G,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0D0F,mBAArE,EAA0F;QACtFX,UAAU,EAAEzH,OAAO,CAAC0H,gBAAR,CAAyBhB,UAAU,CAACc,IAApC,CAD0E;QAEtF3C,aAAa,EAAEtE,KAAK,CAACD,gBAAN,CAAuBqD,YAAvB,CAFuE;QAGtFA,YAAY,EAAEA,YAHwE;QAItFkE,eAAe,EAAEtH,KAAK,CAAC4H,kBAAN,CAAyBxE,YAAzB;MAJqE,CAA1F;;MAMA,IAAIA,YAAY,KAAKpD,KAAK,CAACwD,eAAvB,IAA0C,CAACxD,KAAK,CAACwD,eAArD,EAAsE;QAClE;MACH;;MACDxD,KAAK,CAACU,OAAN,GAAgBsB,SAAhB;IACH,CAdD;;IAeAhC,KAAK,CAACoB,4BAAN,GAAqC,UAAUwF,KAAV,EAAiB;MAClDhH,KAAK,CAACsD,IAAN,CAAW,8BAAX,EAA2C0D,KAA3C;MACA,IAAIrF,EAAE,GAAGqF,KAAK,CAACC,MAAf;MAAA,IAAuBE,QAAQ,GAAGxF,EAAE,CAACwF,QAArC;MAAA,IAA+CD,QAAQ,GAAGvF,EAAE,CAACuF,QAA7D;MAAA,IAAuEX,UAAU,GAAG5E,EAAE,CAAC4E,UAAvF;MAAA,IAAmGa,eAAe,GAAGzF,EAAE,CAACyF,eAAxH;MAAA,IAAyI3D,SAAS,GAAG9B,EAAE,CAAC8B,SAAxJ;MACA,IAAID,YAAY,GAAG+C,UAAU,CAAC/C,YAA9B;;MACApD,KAAK,CAACkC,IAAN,CAAW7C,6BAA6B,CAAC8C,2BAA9B,CAA0D2F,qBAArE,EAA4F;QACxFf,QAAQ,EAAEA,QAD8E;QAExFD,QAAQ,EAAEA,QAF8E;QAGxFxC,aAAa,EAAEtE,KAAK,CAACD,gBAAN,CAAuBqD,YAAvB,EAAqCC,SAArC,CAHyE;QAIxFD,YAAY,EAAEA,YAJ0E;QAKxFkE,eAAe,EAAEtH,KAAK,CAAC4H,kBAAN,CAAyBxE,YAAzB,CALuE;QAMxF8D,UAAU,EAAEzH,OAAO,CAAC0H,gBAAR,CAAyBhB,UAAU,CAACc,IAApC,CAN4E;QAOxFD,eAAe,EAAEA,eAPuE;QAQxF3D,SAAS,EAAEA;MAR6E,CAA5F;IAUH,CAdD;;IAeArD,KAAK,CAACqB,0BAAN,GAAmC,UAAUuF,KAAV,EAAiB;MAChD,IAAIrF,EAAJ;;MACA,CAACA,EAAE,GAAGvB,KAAK,CAACU,OAAZ,MAAyB,IAAzB,IAAiCa,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACQ,GAAH,EAA1D;MACAnC,KAAK,CAACsD,IAAN,CAAW,4BAAX,EAAyC0D,KAAzC;IACH,CAJD;;IAKA5G,KAAK,CAAC4H,kBAAN,GAA2B,UAAUxE,YAAV,EAAwB;MAC/C,OAAOpD,KAAK,CAACwD,eAAN,KAA0BxB,SAA1B,IAAuChC,KAAK,CAACwD,eAAN,KAA0BJ,YAAxE;IACH,CAFD;;IAGA,OAAOpD,KAAP;EACH;;EACDlF,MAAM,CAAC+D,cAAP,CAAsBE,wBAAwB,CAAC5D,SAA/C,EAA0D,iBAA1D,EAA6E;IACzEuH,GAAG,EAAE,eAAY;MACb,IAAInB,EAAJ,EAAQI,EAAR;;MACA,OAAO,CAAC,CAACA,EAAE,GAAG,CAACJ,EAAE,GAAG,KAAKb,OAAX,MAAwB,IAAxB,IAAgCa,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAAC4E,UAAlE,MAAkF,IAAlF,IAA0FxE,EAAE,KAAK,KAAK,CAAtG,GAA0G,KAAK,CAA/G,GAAmHA,EAAE,CAACyB,YAAvH,KAAwI,EAA/I;IACH,CAJwE;IAKzE2E,UAAU,EAAE,KAL6D;IAMzEC,YAAY,EAAE;EAN2D,CAA7E;EAQAlN,MAAM,CAAC+D,cAAP,CAAsBE,wBAAwB,CAAC5D,SAA/C,EAA0D,aAA1D,EAAyE;IACrEuH,GAAG,EAAE,eAAY;MACb,OAAOpE,cAAc,CAAC,KAAK8B,cAAN,CAArB;IACH,CAHoE;IAIrE2H,UAAU,EAAE,KAJyD;IAKrEC,YAAY,EAAE;EALuD,CAAzE;;EAOAjJ,wBAAwB,CAAC5D,SAAzB,CAAmC8M,mBAAnC,GAAyD,YAAY;IACjE,IAAI1G,EAAJ;;IACA,OAAO,CAACA,EAAE,GAAG,KAAKsB,eAAX,MAAgC,IAAhC,IAAwCtB,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAACO,OAAH,EAAxE;EACH,CAHD;;EAIA,OAAO/C,wBAAP;AACH,CArZ6C,CAqZ5CK,mBAAmB,CAAC8I,iBArZwB,CAA9C;;AAsZApJ,OAAO,CAACC,wBAAR,GAAmCA,wBAAnC","file":"OpentokMultiPartyService.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpentokMultiPartyService = void 0;\nvar MediaTracer_1 = require(\"../MediaTracer\");\nvar MediaCapabilitiesService_1 = require(\"../MediaCapabilitiesService\");\nvar MediaCapabilitiesUtils_1 = require(\"../MediaCapabilitiesUtils\");\nvar MultiPartyService_1 = require(\"../MultiPartyService\");\nvar MultipartyServiceEventTypes_1 = require(\"../MultipartyServiceEventTypes\");\nvar OpentokVideoPublisher_1 = require(\"./OpentokVideoPublisher\");\nvar OpentokScreenPublisher_1 = require(\"./OpentokScreenPublisher\");\nvar OpentokSubscriber_1 = require(\"./OpentokSubscriber\");\nvar utils_1 = require(\"../utils\");\nvar trace_1 = require(\"./trace\");\nvar MediaConstants_1 = require(\"../../MediaConstants\");\nvar trace = MediaTracer_1.getMediaTracer('Multiparty');\nvar OpentokMultiPartyService = /** @class */ (function (_super) {\n __extends(OpentokMultiPartyService, _super);\n function OpentokMultiPartyService(getParticipantId) {\n var _this = _super.call(this) || this;\n _this.getParticipantId = getParticipantId;\n _this.enableDesktopSharing = false;\n _this.backgroundImageURI = MultiPartyService_1.DEFAULT_AVATAR_URI;\n _this.subscriberList = [];\n _this.setBackgroundImageURI = function (uri) {\n _this.backgroundImageURI = uri || MultiPartyService_1.DEFAULT_AVATAR_URI;\n };\n _this.connect = function (sessionSettings, credentials) {\n try {\n _this.session = OT.initSession(credentials.apiKey, credentials.sessionId);\n _this.session.on('connectionCreated', _this.connectionCreatedHandler);\n _this.session.on('connectionDestroyed', _this.connectionDestroyedHandler);\n _this.session.on('streamCreated', _this.streamCreatedHandler);\n _this.session.on('streamDestroyed', _this.streamDestroyedHandler);\n _this.session.on('streamPropertyChanged', _this.streamPropertyChangedHandler);\n _this.session.on('sessionDisconnected', _this.sessionDisconnectedHandler);\n //best practice\n _this.prepareVideoPublisherSettings().then(function () {\n var _a;\n _this.initVideoPublisher(sessionSettings);\n (_a = _this === null || _this === void 0 ? void 0 : _this.session) === null || _a === void 0 ? void 0 : _a.connect(credentials.token, function (error) {\n var _a, _b, _c;\n if (error) {\n (_a = _this === null || _this === void 0 ? void 0 : _this.videoPublisher) === null || _a === void 0 ? void 0 : _a.destroy();\n (_b = _this.session) === null || _b === void 0 ? void 0 : _b.off();\n _this.session = undefined;\n trace_1.traceError(error);\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.connectFailed, {\n meta: { err: JSON.stringify(error) }\n });\n return;\n }\n if (_this.videoPublisher) {\n (_c = _this.session) === null || _c === void 0 ? void 0 : _c.publish(_this.videoPublisher.get(), trace_1.traceError);\n }\n _this.isScreenSharingSupported(sessionSettings.isScreenSharingCapabilitiesEnabled).then(function () {\n var _a;\n if (_this.screenPublisher) {\n (_a = _this.session) === null || _a === void 0 ? void 0 : _a.publish(_this.screenPublisher.get(), trace_1.traceError);\n }\n });\n });\n });\n }\n catch (err) {\n trace.error(JSON.stringify(err));\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.connectFailed, {\n meta: { err: JSON.stringify(err) }\n });\n }\n };\n _this.disconnect = function () { return __awaiter(_this, void 0, void 0, function () {\n var err_1;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 3, , 4]);\n if (!((_a = this.videoPublisher) === null || _a === void 0 ? void 0 : _a.getVideoFilter)) return [3 /*break*/, 2];\n return [4 /*yield*/, ((_b = this.videoPublisher) === null || _b === void 0 ? void 0 : _b.clearVideoFilter())];\n case 1:\n _c.sent();\n _c.label = 2;\n case 2:\n trace.info('Disconnecting from session');\n if (this.session) {\n this.session.disconnect();\n trace.info('Disconnection from session completed');\n }\n return [3 /*break*/, 4];\n case 3:\n err_1 = _c.sent();\n trace.error(JSON.stringify(err_1));\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); };\n _this.takeSnapshot = function (connectionId, videoType) {\n var _a, _b, _c;\n if (videoType === void 0) { videoType = MediaConstants_1.VideoTypesEnum.CAMERA; }\n if (!connectionId) {\n return null;\n }\n if (connectionId === _this.ownConnectionId) {\n if (videoType === MediaConstants_1.VideoTypesEnum.CAMERA) {\n return ((_a = _this.videoPublisher) === null || _a === void 0 ? void 0 : _a.getImgData()) || null;\n }\n return ((_b = _this.screenPublisher) === null || _b === void 0 ? void 0 : _b.getImgData()) || null;\n }\n return (((_c = _this.subscribers\n .find(function (s) { return s.connectionId === connectionId && s.videoType === videoType; })) === null || _c === void 0 ? void 0 : _c.subscriber.getImgData()) || null);\n };\n _this.prepareVideoPublisherSettings = function () { return __awaiter(_this, void 0, void 0, function () {\n var canStartWithAudio, canStartWithVideo, capabilitiesService, publisherOptions;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.session) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, MediaCapabilitiesUtils_1.checkAudioCapabilities()];\n case 1:\n canStartWithAudio = _a.sent();\n return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 2:\n canStartWithVideo = _a.sent();\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance()];\n case 3:\n capabilitiesService = _a.sent();\n if (!canStartWithAudio && !canStartWithVideo) {\n throw new Error('Creating session requires initialized publisher');\n }\n publisherOptions = {\n backgroundImageURI: this.backgroundImageURI,\n participantId: this.getParticipantId(this.ownConnectionId, MediaConstants_1.VideoTypesEnum.CAMERA)\n };\n this.videoPublisherOptions = {\n publisherOptions: publisherOptions,\n canStartWithAudio: canStartWithAudio,\n canStartWithVideo: canStartWithVideo,\n capabilitiesService: capabilitiesService\n };\n return [2 /*return*/];\n }\n });\n }); };\n _this.initVideoPublisher = function (settings) {\n var _a, _b;\n if (!(((_a = _this.videoPublisherOptions) === null || _a === void 0 ? void 0 : _a.canStartWithAudio) && ((_b = _this.videoPublisherOptions) === null || _b === void 0 ? void 0 : _b.canStartWithVideo))) {\n throw new Error('could not init publisher');\n }\n try {\n _this.videoPublisher = new OpentokVideoPublisher_1.OpentokVideoPublisher(__assign(__assign({}, settings.videoSettings), { cameraEnabled: settings.videoSettings.cameraEnabled && _this.videoPublisherOptions.canStartWithVideo, startWithAudioMuted: settings.videoSettings.startWithAudioMuted && _this.videoPublisherOptions.canStartWithAudio }), _this.videoPublisherOptions.publisherOptions, _this.videoPublisherOptions.capabilitiesService);\n _this.forwardPublisherEvents(_this.videoPublisher);\n }\n catch (error) {\n trace.error('could not init publisher');\n }\n };\n _this.isScreenSharingSupported = function (isScreenSharingCapabilitiesEnabled) { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(isScreenSharingCapabilitiesEnabled && !MediaCapabilitiesUtils_1.checkIsMobile())) return [3 /*break*/, 2];\n return [4 /*yield*/, OT.checkScreenSharingCapability(function (res) {\n if (!res.supported || res.extensionRegistered === false) {\n // This browser does not support screen sharing.\n trace.error('no screen sharing support found');\n _this.enableDesktopSharing = false;\n }\n else {\n _this.enableDesktopSharing = true;\n }\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n this.enableDesktopSharing = false;\n _a.label = 3;\n case 3: return [2 /*return*/, Promise.resolve(this.enableDesktopSharing)];\n }\n });\n }); };\n _this.forwardPublisherEvents = function (publisher) {\n publisher.on('cameraSourceChanged', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.cameraSourceChanged, e); });\n publisher.on('streamCreated', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.streamCreated, e); });\n publisher.on('streamDestroyed', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.streamDestroyed, e); });\n publisher.on('mediaDeviceAccessDenied', function (e) {\n return _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.mediaDeviceAccessDenied, e);\n });\n publisher.on('videoElementCreated', function (e) { return _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.videoElementCreated, e); });\n };\n _this.publishAudio = function (shouldMute) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishAudio;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkAudioCapabilities()];\n case 1:\n canPublishAudio = _b.sent();\n if (shouldMute && !canPublishAudio) {\n trace.error('could not publish audio');\n return [2 /*return*/];\n }\n (_a = this.videoPublisher) === null || _a === void 0 ? void 0 : _a.publishAudio(shouldMute);\n return [2 /*return*/];\n }\n });\n }); };\n _this.publishVideo = function (shouldPublishVideo) { return __awaiter(_this, void 0, void 0, function () {\n var canPublishVideo;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, MediaCapabilitiesUtils_1.checkVideoCapabilities()];\n case 1:\n canPublishVideo = _b.sent();\n if (shouldPublishVideo && !canPublishVideo) {\n trace.error('could not publish video');\n return [2 /*return*/];\n }\n (_a = this.videoPublisher) === null || _a === void 0 ? void 0 : _a.publishVideo(shouldPublishVideo);\n return [2 /*return*/];\n }\n });\n }); };\n _this.publishScreen = function () { return __awaiter(_this, void 0, void 0, function () {\n var publisherOptions, capabilitiesService, e_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.enableDesktopSharing) return [3 /*break*/, 5];\n publisherOptions = {\n backgroundImageURI: this.backgroundImageURI\n };\n return [4 /*yield*/, MediaCapabilitiesService_1.MediaCapabilitiesService.getInstance()];\n case 1:\n capabilitiesService = _a.sent();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n this.screenPublisher = new OpentokScreenPublisher_1.OpentokScreenPublisher(__assign(__assign({}, publisherOptions), { participantId: this.getParticipantId(this.ownConnectionId, MediaConstants_1.VideoTypesEnum.SCREEN) }), capabilitiesService);\n this.forwardPublisherEvents(this.screenPublisher);\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n var _a, _b;\n _this.screenPublisher && ((_a = _this.session) === null || _a === void 0 ? void 0 : _a.connection) && ((_b = _this.session) === null || _b === void 0 ? void 0 : _b.publish(_this.screenPublisher.get(), function (err) {\n if (err) {\n trace.error('Failed to publish screen', err);\n return reject(err);\n }\n return resolve();\n }));\n })];\n case 3: return [2 /*return*/, _a.sent()];\n case 4:\n e_1 = _a.sent();\n trace.error('Failed to publish screen', e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 5: return [2 /*return*/];\n }\n });\n }); };\n _this.switchCamera = function () { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) {\n return [2 /*return*/, (_a = this.videoPublisher) === null || _a === void 0 ? void 0 : _a.switchCamera()];\n }); }); };\n _this.reinitializeStreams = function (settings) {\n var _a, _b, _c;\n var promises = [];\n if (!_this.session) {\n return Promise.resolve([]);\n }\n var shouldPublishScreen = !!_this.screenPublisher;\n _this.subscriberList.map(function (s) { return s.subscriber; }).forEach((_a = _this.session) === null || _a === void 0 ? void 0 : _a.unsubscribe);\n _this.subscriberList = [];\n (_b = _this.videoPublisher) === null || _b === void 0 ? void 0 : _b.destroy();\n (_c = _this.screenPublisher) === null || _c === void 0 ? void 0 : _c.destroy();\n _this.initVideoPublisher(settings);\n if (shouldPublishScreen) {\n promises.push(_this.publishScreen());\n }\n return Promise.all(promises);\n };\n _this.streamCreatedHandler = function (event) { return __awaiter(_this, void 0, void 0, function () {\n var stream, connection, hasAudio, hasVideo, videoDimensions, videoType, connectionId, data, participantId, clientRole, subscriber;\n return __generator(this, function (_a) {\n trace.info('streamCreatedHandler', event.stream);\n stream = event.stream;\n connection = stream.connection, hasAudio = stream.hasAudio, hasVideo = stream.hasVideo, videoDimensions = stream.videoDimensions, videoType = stream.videoType;\n connectionId = connection.connectionId, data = connection.data;\n participantId = this.getParticipantId(connectionId, videoType);\n clientRole = utils_1.decodeClientRole(data);\n if (this.ownConnectionId && stream && connectionId !== this.ownConnectionId) {\n if (this.subscriberList.length < MultiPartyService_1.maxParticipantsNumber - 1) {\n subscriber = OpentokSubscriber_1.createSubscriber(this.session, stream, this.getParticipantId(connectionId, videoType), this.backgroundImageURI);\n this.subscriberList.push({\n subscriber: subscriber,\n connectionId: connectionId,\n clientRole: clientRole,\n videoType: videoType\n });\n }\n else {\n trace.info(\"a new subscriber cannot be added, as the number of participants reached its limit: \" + MultiPartyService_1.maxParticipantsNumber);\n }\n }\n this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.streamCreated, {\n participantId: participantId,\n clientRole: clientRole,\n connectionId: connectionId,\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n isOwnConnection: false,\n mirror: false,\n videoDimensions: videoDimensions,\n videoType: videoType\n });\n return [2 /*return*/];\n });\n }); };\n _this.streamDestroyedHandler = function (event) {\n trace.info('streamDestroyedHandler', event);\n var _a = event.stream, connection = _a.connection, videoType = _a.videoType;\n var connectionId = connection.connectionId;\n _this.subscriberList = _this.subscriberList.filter(function (subscriber) { return !utils_1.isSameStream(__assign({}, subscriber), { connectionId: connectionId, videoType: videoType }); });\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.streamDestroyed, {\n participantId: _this.getParticipantId(connectionId, videoType),\n connectionId: connectionId,\n isOwnConnection: false,\n clientRole: utils_1.decodeClientRole(connection.data),\n videoType: videoType\n });\n };\n _this.connectionCreatedHandler = function (event) {\n var _a;\n trace.info('connectionCreatedHandler', event);\n var connection = event.connection;\n var connectionId = connection.connectionId;\n var clientRole = utils_1.decodeClientRole(connection.data);\n if (!_this.ownConnectionId || !connection) {\n return;\n }\n /*\n TODO: when we will support few connections with the same clientRole (example- multiple observers)\n we should pass as metadata in backend userId that we can distinguish between the connections in techsee-media-service-client\n */\n var sameRole = _this.subscriberList.find(function (subscriber) { return subscriber.clientRole === clientRole; });\n if (sameRole) {\n _this.subscriberList = _this.subscriberList.filter(function (subscriber) { return subscriber.clientRole !== clientRole; });\n (_a = _this.session) === null || _a === void 0 ? void 0 : _a.unsubscribe(sameRole.subscriber);\n }\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.connectionCreated, {\n clientRole: clientRole,\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId)\n });\n };\n _this.connectionDestroyedHandler = function (event) {\n var connection = event.connection;\n var connectionId = connection.connectionId;\n trace.info('connectionDestroyedHandler', event);\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.connectionDestroyed, {\n clientRole: utils_1.decodeClientRole(connection.data),\n participantId: _this.getParticipantId(connectionId),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId)\n });\n if (connectionId !== _this.ownConnectionId || !_this.ownConnectionId) {\n return;\n }\n _this.session = undefined;\n };\n _this.streamPropertyChangedHandler = function (event) {\n trace.info('streamPropertyChangedHandler', event);\n var _a = event.stream, hasVideo = _a.hasVideo, hasAudio = _a.hasAudio, connection = _a.connection, videoDimensions = _a.videoDimensions, videoType = _a.videoType;\n var connectionId = connection.connectionId;\n _this.emit(MultipartyServiceEventTypes_1.MultiPartyServiceEventTypes.streamPropertyChanged, {\n hasVideo: hasVideo,\n hasAudio: hasAudio,\n participantId: _this.getParticipantId(connectionId, videoType),\n connectionId: connectionId,\n isOwnConnection: _this.checkOwnConnection(connectionId),\n clientRole: utils_1.decodeClientRole(connection.data),\n videoDimensions: videoDimensions,\n videoType: videoType\n });\n };\n _this.sessionDisconnectedHandler = function (event) {\n var _a;\n (_a = _this.session) === null || _a === void 0 ? void 0 : _a.off();\n trace.info('sessionDisconnectedHandler', event);\n };\n _this.checkOwnConnection = function (connectionId) {\n return _this.ownConnectionId !== undefined && _this.ownConnectionId === connectionId;\n };\n return _this;\n }\n Object.defineProperty(OpentokMultiPartyService.prototype, \"ownConnectionId\", {\n get: function () {\n var _a, _b;\n return ((_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.connectionId) || '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OpentokMultiPartyService.prototype, \"subscribers\", {\n get: function () {\n return __spreadArrays(this.subscriberList);\n },\n enumerable: false,\n configurable: true\n });\n OpentokMultiPartyService.prototype.stopScreenPublisher = function () {\n var _a;\n return (_a = this.screenPublisher) === null || _a === void 0 ? void 0 : _a.destroy();\n };\n return OpentokMultiPartyService;\n}(MultiPartyService_1.MultiPartyService));\nexports.OpentokMultiPartyService = OpentokMultiPartyService;\n\n//# sourceMappingURL=OpentokMultiPartyService.js.map\n"]}
1
+ {"version":3,"file":"OpentokMultiPartyService.js","sourceRoot":"","sources":["../../../src/MultiParty/opentok/OpentokMultiPartyService.ts"],"names":[],"mappings":"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"}
@@ -31,3 +31,4 @@ export declare abstract class OpentokPublisher extends TypedEventEmitter<Publish
31
31
  getImgData: () => string | null;
32
32
  protected initializeEventHandlers: () => void;
33
33
  }
34
+ //# sourceMappingURL=OpentokPublisher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/MultiParty/opentok/OpentokPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AAExF,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAE3D,oBAAY,eAAe,GAAG,IAAI,CAC9B,8BAA8B,EAC9B,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAClH,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAChC,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,CAC7F,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,kBAAkB,CAAC;CAC5C;AAED,8BAAsB,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,iBAAiB;IAgBtG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB;IACnD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,iBAAiB;IAhBlE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAmB;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAUlE;IACF,SAAS,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACjD,SAAS,aACc,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,iBAAiB;IAK3D,GAAG,QAAO,GAAG,SAAS,CAA0B;IAEhD,OAAO,QAAO,IAAI,CAAoC;IACtD,gBAAgB,QAAO,QAAQ,IAAI,CAAC,CAA6C;IACjF,cAAc,QAAO,kBAAkB,CAA2C;IAElF,UAAU,QAAO,MAAM,GAAG,IAAI,CAA+C;IAEpF,SAAS,CAAC,uBAAuB,aAkC/B;CACL","file":"OpentokPublisher.d.ts","sourcesContent":["import {TypedEventEmitter} from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';\nimport {VideoFilterType} from '@techsee/techsee-common/lib/constants/account.constants';\nimport {MultipartyServiceEventTypesMap} from '../MultipartyServiceEventTypes';\nimport {MediaCapabilitiesService} from '../MediaCapabilitiesService';\nimport {traceInfo} from './trace';\nimport {\n createMediaAccessDeniedEvent,\n createStreamCreatedEvent,\n createStreamDestroyedEvent\n} from './OpentokPublisherEventMapper';\nimport {PublisherProperties, OpenTokVideoFilter} from '@opentok/client';\nimport {checkIsMobile} from '../MediaCapabilitiesUtils';\nimport {MultiPartyCameraTypes} from '../../MediaConstants';\n\nexport type PublisherEvents = Pick<\n MultipartyServiceEventTypesMap,\n 'videoElementCreated' | 'streamDestroyed' | 'streamCreated' | 'mediaDeviceAccessDenied' | 'cameraSourceChanged'\n>;\n\nexport interface OpentokPublisherOptions {\n participantId: string;\n backgroundImageURI: string;\n}\n\nexport type IMediaCapablities = Pick<\n MediaCapabilitiesService,\n 'frontCameraDeviceId' | 'backCameraDeviceId' | 'supportSwitchCamera' | 'updateDevicesList'\n>;\n\nexport interface IOpentokPublisher {\n get: () => OT.Publisher;\n destroy: () => void;\n getImgData: () => string | null;\n clearVideoFilter: () => void;\n getVideoFilter: () => OpenTokVideoFilter;\n}\n\nexport abstract class OpentokPublisher extends TypedEventEmitter<PublisherEvents> implements IOpentokPublisher {\n protected abstract currentPublisher: OT.Publisher;\n protected isMobile: boolean = checkIsMobile();\n protected readonly publisherProperties: Partial<PublisherProperties> = {\n insertMode: 'append',\n fitMode: 'cover',\n width: '100%',\n height: '100%',\n style: {\n buttonDisplayMode: 'off',\n archiveStatusDisplayMode: 'off',\n audioLevelDisplayMode: 'off'\n }\n };\n protected selectedCamera?: MultiPartyCameraTypes;\n protected constructor(\n protected readonly options: OpentokPublisherOptions,\n protected readonly mediaCapabilitiesService: IMediaCapablities\n ) {\n super();\n }\n\n public get = (): OT.Publisher => this.currentPublisher;\n\n public destroy = (): void => this.currentPublisher.destroy();\n public clearVideoFilter = (): Promise<void> => this.currentPublisher.clearVideoFilter();\n public getVideoFilter = (): OpenTokVideoFilter => this.currentPublisher.getVideoFilter();\n\n public getImgData = (): string | null => this.currentPublisher.getImgData() || null;\n\n protected initializeEventHandlers = () => {\n this.currentPublisher.on('videoElementCreated', (event: {element: HTMLVideoElement | HTMLObjectElement}) => {\n traceInfo('videoElementCreated', event);\n\n this.emit('videoElementCreated', event);\n });\n\n this.currentPublisher.on('streamCreated', async (event: {stream: OT.Stream}) => {\n traceInfo('publisher stream created', {\n event\n });\n const {hasAudio} = event.stream;\n const {participantId} = this.options;\n\n await this.mediaCapabilitiesService.updateDevicesList();\n\n this.emit(\n 'streamCreated',\n createStreamCreatedEvent(event.stream, this.options.participantId, this.isMobile, this.selectedCamera)\n );\n\n traceInfo('publisher stream created', {\n event,\n hasAudio,\n participantId\n });\n });\n\n this.currentPublisher.on('streamDestroyed', (event: {stream: OT.Stream}) => {\n traceInfo('Publisher stream destroyed', event);\n this.currentPublisher.off();\n\n this.emit('streamDestroyed', createStreamDestroyedEvent(event.stream, this.options.participantId));\n });\n };\n}\n"]}
1
+ {"version":3,"file":"OpentokPublisher.d.ts","sourceRoot":"","sources":["../../../src/MultiParty/opentok/OpentokPublisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AAExF,OAAO,EAAC,8BAA8B,EAAC,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAE3D,oBAAY,eAAe,GAAG,IAAI,CAC9B,8BAA8B,EAC9B,qBAAqB,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAClH,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAChC,wBAAwB,EACxB,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,mBAAmB,CAC7F,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,kBAAkB,CAAC;CAC5C;AAED,8BAAsB,gBAAiB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,iBAAiB;IAgBtG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB;IACnD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,iBAAiB;IAhBlE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC;IAClD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAmB;IAC9C,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAUlE;IACF,SAAS,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACjD,SAAS,aACc,OAAO,EAAE,uBAAuB,EAChC,wBAAwB,EAAE,iBAAiB;IAK3D,GAAG,QAAO,GAAG,SAAS,CAA0B;IAEhD,OAAO,QAAO,IAAI,CAAoC;IACtD,gBAAgB,QAAO,QAAQ,IAAI,CAAC,CAA6C;IACjF,cAAc,QAAO,kBAAkB,CAA2C;IAElF,UAAU,QAAO,MAAM,GAAG,IAAI,CAA+C;IAEpF,SAAS,CAAC,uBAAuB,aAkC/B;CACL"}
@@ -1,283 +1,121 @@
1
1
  "use strict";
2
-
3
- var __extends = void 0 && (void 0).__extends || function () {
4
- var _extendStatics = function extendStatics(d, b) {
5
- _extendStatics = Object.setPrototypeOf || {
6
- __proto__: []
7
- } instanceof Array && function (d, b) {
8
- d.__proto__ = b;
9
- } || function (d, b) {
10
- for (var p in b) {
11
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
12
- }
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
13
8
  };
14
-
15
- return _extendStatics(d, b);
16
- };
17
-
18
- return function (d, b) {
19
- _extendStatics(d, b);
20
-
21
- function __() {
22
- this.constructor = d;
23
- }
24
-
25
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
26
- };
27
- }();
28
-
29
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
30
- function adopt(value) {
31
- return value instanceof P ? value : new P(function (resolve) {
32
- resolve(value);
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33
24
  });
34
- }
35
-
36
- return new (P || (P = Promise))(function (resolve, reject) {
37
- function fulfilled(value) {
38
- try {
39
- step(generator.next(value));
40
- } catch (e) {
41
- reject(e);
42
- }
43
- }
44
-
45
- function rejected(value) {
46
- try {
47
- step(generator["throw"](value));
48
- } catch (e) {
49
- reject(e);
50
- }
51
- }
52
-
53
- function step(result) {
54
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
55
- }
56
-
57
- step((generator = generator.apply(thisArg, _arguments || [])).next());
58
- });
59
25
  };
60
-
61
- var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
62
- var _ = {
63
- label: 0,
64
- sent: function sent() {
65
- if (t[0] & 1) throw t[1];
66
- return t[1];
67
- },
68
- trys: [],
69
- ops: []
70
- },
71
- f,
72
- y,
73
- t,
74
- g;
75
- return g = {
76
- next: verb(0),
77
- "throw": verb(1),
78
- "return": verb(2)
79
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
80
- return this;
81
- }), g;
82
-
83
- function verb(n) {
84
- return function (v) {
85
- return step([n, v]);
86
- };
87
- }
88
-
89
- function step(op) {
90
- if (f) throw new TypeError("Generator is already executing.");
91
-
92
- while (_) {
93
- try {
94
- 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;
95
- if (y = 0, t) op = [op[0] & 2, t.value];
96
-
97
- switch (op[0]) {
98
- case 0:
99
- case 1:
100
- t = op;
101
- break;
102
-
103
- case 4:
104
- _.label++;
105
- return {
106
- value: op[1],
107
- done: false
108
- };
109
-
110
- case 5:
111
- _.label++;
112
- y = op[1];
113
- op = [0];
114
- continue;
115
-
116
- case 7:
117
- op = _.ops.pop();
118
-
119
- _.trys.pop();
120
-
121
- continue;
122
-
123
- default:
124
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
125
- _ = 0;
126
- continue;
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
127
47
  }
128
-
129
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
130
- _.label = op[1];
131
- break;
132
- }
133
-
134
- if (op[0] === 6 && _.label < t[1]) {
135
- _.label = t[1];
136
- t = op;
137
- break;
138
- }
139
-
140
- if (t && _.label < t[2]) {
141
- _.label = t[2];
142
-
143
- _.ops.push(op);
144
-
145
- break;
146
- }
147
-
148
- if (t[2]) _.ops.pop();
149
-
150
- _.trys.pop();
151
-
152
- continue;
153
- }
154
-
155
- op = body.call(thisArg, _);
156
- } catch (e) {
157
- op = [6, e];
158
- y = 0;
159
- } finally {
160
- f = t = 0;
161
- }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
162
51
  }
163
-
164
- if (op[0] & 5) throw op[1];
165
- return {
166
- value: op[0] ? op[1] : void 0,
167
- done: true
168
- };
169
- }
170
52
  };
171
-
172
- Object.defineProperty(exports, "__esModule", {
173
- value: true
174
- });
53
+ Object.defineProperty(exports, "__esModule", { value: true });
175
54
  exports.OpentokPublisher = void 0;
176
-
177
55
  var TypedEventEmitter_1 = require("@techsee/techsee-common/lib/helpers/TypedEventEmitter");
178
-
179
56
  var trace_1 = require("./trace");
180
-
181
57
  var OpentokPublisherEventMapper_1 = require("./OpentokPublisherEventMapper");
182
-
183
58
  var MediaCapabilitiesUtils_1 = require("../MediaCapabilitiesUtils");
184
-
185
- var OpentokPublisher =
186
- /** @class */
187
- function (_super) {
188
- __extends(OpentokPublisher, _super);
189
-
190
- function OpentokPublisher(options, mediaCapabilitiesService) {
191
- var _this = _super.call(this) || this;
192
-
193
- _this.options = options;
194
- _this.mediaCapabilitiesService = mediaCapabilitiesService;
195
- _this.isMobile = MediaCapabilitiesUtils_1.checkIsMobile();
196
- _this.publisherProperties = {
197
- insertMode: 'append',
198
- fitMode: 'cover',
199
- width: '100%',
200
- height: '100%',
201
- style: {
202
- buttonDisplayMode: 'off',
203
- archiveStatusDisplayMode: 'off',
204
- audioLevelDisplayMode: 'off'
205
- }
206
- };
207
-
208
- _this.get = function () {
209
- return _this.currentPublisher;
210
- };
211
-
212
- _this.destroy = function () {
213
- return _this.currentPublisher.destroy();
214
- };
215
-
216
- _this.clearVideoFilter = function () {
217
- return _this.currentPublisher.clearVideoFilter();
218
- };
219
-
220
- _this.getVideoFilter = function () {
221
- return _this.currentPublisher.getVideoFilter();
222
- };
223
-
224
- _this.getImgData = function () {
225
- return _this.currentPublisher.getImgData() || null;
226
- };
227
-
228
- _this.initializeEventHandlers = function () {
229
- _this.currentPublisher.on('videoElementCreated', function (event) {
230
- trace_1.traceInfo('videoElementCreated', event);
231
-
232
- _this.emit('videoElementCreated', event);
233
- });
234
-
235
- _this.currentPublisher.on('streamCreated', function (event) {
236
- return __awaiter(_this, void 0, void 0, function () {
237
- var hasAudio, participantId;
238
- return __generator(this, function (_a) {
239
- switch (_a.label) {
240
- case 0:
241
- trace_1.traceInfo('publisher stream created', {
242
- event: event
243
- });
244
- hasAudio = event.stream.hasAudio;
245
- participantId = this.options.participantId;
246
- return [4
247
- /*yield*/
248
- , this.mediaCapabilitiesService.updateDevicesList()];
249
-
250
- case 1:
251
- _a.sent();
252
-
253
- this.emit('streamCreated', OpentokPublisherEventMapper_1.createStreamCreatedEvent(event.stream, this.options.participantId, this.isMobile, this.selectedCamera));
254
- trace_1.traceInfo('publisher stream created', {
255
- event: event,
256
- hasAudio: hasAudio,
257
- participantId: participantId
258
- });
259
- return [2
260
- /*return*/
261
- ];
59
+ var OpentokPublisher = (function (_super) {
60
+ __extends(OpentokPublisher, _super);
61
+ function OpentokPublisher(options, mediaCapabilitiesService) {
62
+ var _this = _super.call(this) || this;
63
+ _this.options = options;
64
+ _this.mediaCapabilitiesService = mediaCapabilitiesService;
65
+ _this.isMobile = (0, MediaCapabilitiesUtils_1.checkIsMobile)();
66
+ _this.publisherProperties = {
67
+ insertMode: 'append',
68
+ fitMode: 'cover',
69
+ width: '100%',
70
+ height: '100%',
71
+ style: {
72
+ buttonDisplayMode: 'off',
73
+ archiveStatusDisplayMode: 'off',
74
+ audioLevelDisplayMode: 'off'
262
75
  }
263
- });
264
- });
265
- });
266
-
267
- _this.currentPublisher.on('streamDestroyed', function (event) {
268
- trace_1.traceInfo('Publisher stream destroyed', event);
269
-
270
- _this.currentPublisher.off();
271
-
272
- _this.emit('streamDestroyed', OpentokPublisherEventMapper_1.createStreamDestroyedEvent(event.stream, _this.options.participantId));
273
- });
274
- };
275
-
276
- return _this;
277
- }
278
-
279
- return OpentokPublisher;
280
- }(TypedEventEmitter_1.TypedEventEmitter);
281
-
76
+ };
77
+ _this.get = function () { return _this.currentPublisher; };
78
+ _this.destroy = function () { return _this.currentPublisher.destroy(); };
79
+ _this.clearVideoFilter = function () { return _this.currentPublisher.clearVideoFilter(); };
80
+ _this.getVideoFilter = function () { return _this.currentPublisher.getVideoFilter(); };
81
+ _this.getImgData = function () { return _this.currentPublisher.getImgData() || null; };
82
+ _this.initializeEventHandlers = function () {
83
+ _this.currentPublisher.on('videoElementCreated', function (event) {
84
+ (0, trace_1.traceInfo)('videoElementCreated', event);
85
+ _this.emit('videoElementCreated', event);
86
+ });
87
+ _this.currentPublisher.on('streamCreated', function (event) { return __awaiter(_this, void 0, void 0, function () {
88
+ var hasAudio, participantId;
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0:
92
+ (0, trace_1.traceInfo)('publisher stream created', {
93
+ event: event
94
+ });
95
+ hasAudio = event.stream.hasAudio;
96
+ participantId = this.options.participantId;
97
+ return [4, this.mediaCapabilitiesService.updateDevicesList()];
98
+ case 1:
99
+ _a.sent();
100
+ this.emit('streamCreated', (0, OpentokPublisherEventMapper_1.createStreamCreatedEvent)(event.stream, this.options.participantId, this.isMobile, this.selectedCamera));
101
+ (0, trace_1.traceInfo)('publisher stream created', {
102
+ event: event,
103
+ hasAudio: hasAudio,
104
+ participantId: participantId
105
+ });
106
+ return [2];
107
+ }
108
+ });
109
+ }); });
110
+ _this.currentPublisher.on('streamDestroyed', function (event) {
111
+ (0, trace_1.traceInfo)('Publisher stream destroyed', event);
112
+ _this.currentPublisher.off();
113
+ _this.emit('streamDestroyed', (0, OpentokPublisherEventMapper_1.createStreamDestroyedEvent)(event.stream, _this.options.participantId));
114
+ });
115
+ };
116
+ return _this;
117
+ }
118
+ return OpentokPublisher;
119
+ }(TypedEventEmitter_1.TypedEventEmitter));
282
120
  exports.OpentokPublisher = OpentokPublisher;
283
- //# sourceMappingURL=OpentokPublisher.js.map
121
+ //# sourceMappingURL=OpentokPublisher.js.map