@frankieone/one-sdk 0.4.2-rc.6 → 0.5.0-alpha

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 (35) hide show
  1. package/dist/commit.txt +1 -1
  2. package/dist/esm/modules/biometrics/wrappers/OcrLabs/Liveness.d.ts +12 -0
  3. package/dist/esm/modules/biometrics/wrappers/OcrLabs/Liveness.js +2 -0
  4. package/dist/esm/modules/biometrics/wrappers/OcrLabs/Liveness.js.map +1 -0
  5. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.d.ts +1 -0
  6. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js +2 -1
  7. package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js.map +1 -1
  8. package/dist/esm/modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.min.umd.d.ts +3 -0
  9. package/dist/esm/modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.min.umd.js +13077 -0
  10. package/dist/esm/modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.min.umd.js.map +1 -0
  11. package/dist/esm/modules/common/modules/eventHub.d.ts +2 -1
  12. package/dist/esm/modules/common/modules/eventHub.js +4 -0
  13. package/dist/esm/modules/common/modules/eventHub.js.map +1 -1
  14. package/dist/esm/modules/common/shared/models/TelemetryEvent.d.ts +6 -3
  15. package/dist/esm/modules/common/shared/models/TelemetryEvent.js +0 -1
  16. package/dist/esm/modules/common/shared/models/TelemetryEvent.js.map +1 -1
  17. package/dist/esm/modules/index.d.ts +2 -2
  18. package/dist/esm/modules/index.js +3 -2
  19. package/dist/esm/modules/index.js.map +1 -1
  20. package/dist/esm/modules/meta.json +1 -1
  21. package/dist/esm/modules/sdk/initialisation/configurationParser.js +1 -0
  22. package/dist/esm/modules/sdk/initialisation/configurationParser.js.map +1 -1
  23. package/dist/esm/modules/sdk/initialisation/sharedDependencies.js +53 -37
  24. package/dist/esm/modules/sdk/initialisation/sharedDependencies.js.map +1 -1
  25. package/dist/esm/modules/sdk/types/components.d.ts +3 -3
  26. package/dist/esm/modules/sdk/types/configuration.d.ts +1 -0
  27. package/dist/umd/biometrics-ocrlabs.js +2 -1
  28. package/dist/umd/biometrics-ocrlabs.js.LICENSE.txt +8 -0
  29. package/dist/umd/biometrics-ocrlabs.js.map +1 -1
  30. package/dist/umd/oneSdk.umd.js +1 -1
  31. package/dist/umd/oneSdk.umd.js.map +1 -1
  32. package/package.json +1 -2
  33. package/dist/umd/727.js +0 -3
  34. package/dist/umd/727.js.LICENSE.txt +0 -377
  35. package/dist/umd/727.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"biometrics-ocrlabs.js","mappings":"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","sources":["webpack://OneSdk/./modules/biometrics/wrappers/OcrLabs/index.ts"],"sourcesContent":["import Liveness from \"liveness\";\nimport { OneSDKError } from \"../../../common/errors/OneSDKError\";\n\nimport { IDVClient, Status } from \"../../../frankie-client/clients/IDVClient\";\nimport { VendorContext, VendorOptions, VendorWrapper } from \"../../types\";\n\ntype DetectActions = \"face\" | \"smile\";\n\ntype SessionData = {\n session_id: string;\n tx_id: string;\n};\n\ntype OverlayColours = \"white\" | \"green\" | \"red\";\n\nconst createOverlay = (strokeColour: OverlayColours): HTMLImageElement => {\n const imageElement = document.createElement(\"img\");\n imageElement.style.objectFit = \"cover\";\n imageElement.style.height = \"100%\";\n imageElement.style.width = \"100%\";\n imageElement.style.position = \"relative\";\n imageElement.style.zIndex = \"1\";\n\n switch (strokeColour) {\n case \"green\": {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjMTRmZmMwIiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n break;\n }\n case \"red\": {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjZmY0NzQ3IiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n break;\n }\n case \"white\":\n default: {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n }\n }\n\n return imageElement;\n};\n\nexport const wrapper: VendorWrapper = {\n vendor: \"ocrlabs\",\n async initialise(options: VendorOptions): Promise<VendorContext> {\n // prematurely mount our ui to the dom before sdk session initialisation.\n mountUserInterface(options);\n\n return {\n vendor: \"ocrlabs\",\n };\n },\n};\n\nconst mountUserInterface = (options: VendorOptions): HTMLVideoElement => {\n const { mountElement: originalElement } = options;\n\n const mountElement = originalElement.cloneNode(true) as unknown as HTMLElement;\n originalElement.parentNode.replaceChild(mountElement, originalElement);\n\n mountElement.id = \"onesdk_idv_container\";\n mountElement.style.height = \"100%\";\n mountElement.style.minHeight = \"50px\";\n mountElement.style.width = \"100%\";\n mountElement.style.position = \"absolute\";\n mountElement.style.top = \"0\";\n mountElement.style.left = \"0\";\n mountElement.style.overflow = \"hidden\";\n mountElement.style.backgroundColor = \"#000\";\n\n const loader = document.createElement(\"div\");\n loader.id = \"onesdk_idv_loader\";\n loader.style.position = \"absolute\";\n loader.style.top = \"20px\";\n loader.style.left = \"50%\";\n loader.style.transform = \"translate(-50%, 0)\";\n loader.style.color = \"#fff\";\n loader.style.fontFamily = '\"Helvetica Neue\", Helvetica, Arial, sans-serif';\n loader.style.fontSize = \"24px\";\n loader.innerText = \"Loading...\";\n mountElement.appendChild(loader);\n\n const videoElement = document.createElement(\"video\");\n videoElement.id = \"onesdk_idv_video\";\n videoElement.autoplay = true;\n videoElement.muted = true;\n videoElement.style.position = \"absolute\";\n videoElement.style.top = \"0\";\n videoElement.style.left = \"0\";\n videoElement.playsInline = true;\n videoElement.style.height = \"100%\";\n videoElement.style.width = \"100%\";\n videoElement.style.display = \"none\";\n videoElement.style.zIndex = \"1\";\n videoElement.style.objectFit = \"cover\";\n mountElement.appendChild(videoElement);\n\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = \"onesdk_idv_overlay\";\n overlayContainer.style.position = \"absolute\";\n overlayContainer.style.top = \"0\";\n overlayContainer.style.left = \"0\";\n overlayContainer.style.height = \"100%\";\n overlayContainer.style.width = \"100%\";\n overlayContainer.style.display = \"none\";\n overlayContainer.style.zIndex = \"2\";\n overlayContainer.appendChild(createOverlay(\"white\"));\n mountElement.appendChild(overlayContainer);\n\n const instructions = document.createElement(\"div\");\n instructions.id = \"onesdk_idv_instructions\";\n instructions.style.position = \"absolute\";\n instructions.style.bottom = \"20px\";\n instructions.style.left = \"50%\";\n instructions.style.transform = \"translate(-50%, 0)\";\n instructions.style.color = \"#fff\";\n instructions.style.fontFamily = '\"Helvetica Neue\", Helvetica, Arial, sans-serif';\n instructions.style.fontSize = \"24px\";\n instructions.style.zIndex = \"3\";\n mountElement.appendChild(instructions);\n\n loadOcrLabs(options);\n\n return videoElement;\n};\n\n// reset to the original container dom element and close the ocrlabs session.\nconst cleanup = async (options: VendorOptions): Promise<void> => {\n const { eventHub, mountElement } = options;\n\n const cloneElement = document.getElementById(\"onesdk_idv_container\");\n cloneElement && cloneElement.parentNode.replaceChild(mountElement, cloneElement);\n\n try {\n await Liveness.close();\n eventHub.emit(\"session_closed\");\n } catch (error) {\n const { message } = error;\n eventHub.emit(\n \"error\",\n new OneSDKError(\"Error from vendor SDK 'OcrLabs'\", {\n message,\n })\n );\n }\n};\n\nconst loadOcrLabs = async (options: VendorOptions): Promise<void> => {\n const idvClient = new IDVClient(options.frankieClient);\n const { eventHub, recipe } = options;\n\n // fetch session data for ocrlabs initialisation.\n const { token: session_id } = await idvClient.getToken();\n\n const sessionData: SessionData = {\n session_id,\n tx_id: recipe.biometrics.provider.tx_id,\n };\n eventHub.emit(\"session_data_generated\", {\n session: sessionData,\n });\n\n // initialise ocrlabs session, then run liveness checks.\n const videoElement = document.getElementById(\"onesdk_idv_video\") as unknown as HTMLVideoElement;\n const loader = document.getElementById(\"onesdk_idv_loader\");\n const overlayContainer = document.getElementById(\"onesdk_idv_overlay\");\n\n // handle process errors such as network issues.\n /* istanbul ignore next */\n Liveness.observer.on(\"error\", (error) => {\n const { message } = error;\n eventHub.emit(\"error\", new OneSDKError(\"Error from vendor SDK 'OcrLabs'\", { message }));\n cleanup(options);\n });\n\n // initialise ocrlabs session.\n try {\n await Liveness.createSession(\"wss://engine.au.v3.liveness.idkit.io\", {\n videoElement,\n auth: sessionData,\n });\n\n // update ui and broadcast event in case the consumer is providing their own initialisation ui.\n loader.remove();\n videoElement.style.display = \"block\";\n overlayContainer.style.display = \"block\";\n eventHub.emit(\"ready\");\n\n runLivenessChecks(options, idvClient);\n } catch (error) {\n eventHub.emit(\"session_data_failed_loading\", {\n code: error.code || null,\n message: error.message,\n });\n cleanup(options);\n }\n};\n\nconst runLivenessChecks = async (options: VendorOptions, idvClient: IDVClient) => {\n const {\n eventHub,\n recipe: {\n biometrics: { is_synchronous: isSynchronous },\n },\n } = options;\n const overlayContainer = document.getElementById(\"onesdk_idv_overlay\");\n const instructions = document.getElementById(\"onesdk_idv_instructions\");\n\n overlayContainer.style.display = \"block\";\n instructions.style.display = \"block\";\n\n // manage the timing of ui changes during each detection step.\n const handleDetection = async (type: DetectActions, instructionCopy: string) => {\n const MIN_INSTRUCTION_DISPLAY_TIME = Liveness.delay || 2000;\n\n const detection = async (resolve, reject) => {\n instructions.innerText = instructionCopy;\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"white\"));\n\n try {\n await Liveness.detect(type, {\n retry: true,\n timeout: 7500,\n });\n\n instructions.innerText = \"Thanks!\";\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"green\"));\n\n setTimeout(() => {\n resolve(true);\n }, MIN_INSTRUCTION_DISPLAY_TIME);\n } catch (error) {\n instructions.innerText = \"Something went wrong\";\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"red\"));\n eventHub.emit(\"detection_failed\", {\n message: error && error.message ? error.message : null,\n });\n\n setTimeout(() => {\n cleanup(options);\n resolve(false);\n }, MIN_INSTRUCTION_DISPLAY_TIME);\n }\n };\n\n return new Promise(detection);\n };\n\n await handleDetection(\"face\", \"Position your face within the frame\");\n await handleDetection(\"smile\", \"Please give us a BIG Smile!\");\n\n eventHub.emit(\"detection_complete\");\n\n try {\n await cleanup(options);\n const { checkStatus } = await idvClient.initProcess({ isSynchronous: !!isSynchronous });\n\n switch (checkStatus) {\n case Status.PROVIDER_OFFLINE: {\n eventHub.emit(\n \"error\",\n new OneSDKError(\n \"Error initialising liveness check with OCRLabs. The service doesn't appear to be available.\",\n { checkStatus }\n )\n );\n cleanup(options);\n break;\n }\n case Status.WAITING_SELFIE_UPLOAD: {\n eventHub.emit(\n \"error\",\n new OneSDKError(\n \"Error initialising liveness check with OCRLabs. You might need to run the 'ocr' component before running 'biometrics'.\",\n { checkStatus }\n )\n );\n cleanup(options);\n break;\n }\n default: {\n eventHub.emit(isSynchronous ? \"results\" : \"processing\", {\n checkStatus,\n });\n }\n }\n } catch (error) {\n const { message } = error;\n eventHub.emit(\"error\", new OneSDKError(\"Error calling initProcess\", { message }));\n }\n\n cleanup(options);\n};\n"],"names":["createOverlay","strokeColour","imageElement","document","createElement","style","objectFit","height","width","position","zIndex","src","wrapper","vendor","initialise","options","mountUserInterface","mountElement","originalElement","cloneNode","parentNode","replaceChild","id","minHeight","top","left","overflow","backgroundColor","loader","transform","color","fontFamily","fontSize","innerText","appendChild","videoElement","autoplay","muted","playsInline","display","overlayContainer","instructions","bottom","loadOcrLabs","cleanup","eventHub","cloneElement","getElementById","emit","error","message","idvClient","frankieClient","recipe","token","session_id","getToken","sessionData","tx_id","biometrics","provider","session","auth","remove","runLivenessChecks","code","is_synchronous","isSynchronous","handleDetection","type","instructionCopy","MIN_INSTRUCTION_DISPLAY_TIME","Promise","resolve","reject","removeChild","firstChild","retry","timeout","setTimeout","checkStatus","initProcess"],"sourceRoot":""}
1
+ {"version":3,"file":"biometrics-ocrlabs.js","mappings":"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AX,MAAOzX,GAAI,CACf,EACCC,EAAEyX,KAAO,WACR,IAAI1X,EACJ,IACEA,EAAIC,EAAEsX,QAAQI,QAAQ,QACX,CAAX,MAAO3X,GAAI,CAEb,OADCA,QAAK,IAAWI,GAAK,QAASA,IAAMJ,EAAII,EAAEwX,IAAIC,OACxC7X,CACT,EACCC,EAAEgX,UAAY,WACb,QACE,oBAAsB/W,SACtBA,OAAO4X,SACN,aAAe5X,OAAO4X,QAAQhR,OAAQ5G,OAAO4X,QAAQC,UAItD,oBAAsBC,YACtBA,UAAUC,YACVD,UAAUC,UAAU3R,cAAc4R,MAAM,4BAIvC,oBAAsBC,UACrBA,SAASC,iBACTD,SAASC,gBAAgBC,OACzBF,SAASC,gBAAgBC,MAAMC,kBAChC,oBAAsBpY,QACrBA,OAAOkC,UACNlC,OAAOkC,QAAQmW,SAAYrY,OAAOkC,QAAQoW,WAAatY,OAAOkC,QAAQqW,QACxE,oBAAsBT,WACrBA,UAAUC,WACVD,UAAUC,UAAU3R,cAAc4R,MAAM,mBACxCQ,SAASzS,OAAO0S,GAAI,KAAO,IAC5B,oBAAsBX,WACrBA,UAAUC,WACVD,UAAUC,UAAU3R,cAAc4R,MAAM,sBAE9C,EACCjY,EAAEsX,QAAU,WACX,IACE,OAAOqB,YACI,CAAX,MAAO5Y,GAAI,CACd,CAJY,GAKZC,EAAE4Y,QAAU,MACX,IAAI7Y,GAAI,EACR,MAAO,KACLA,IACIA,GAAI,EACNoC,QAAQE,KACN,yIACA,CAEP,EATY,GAUZrC,EAAE6Y,OAAS,CACV,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,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D,CAACA,EAAG,CAACf,EAAG,kBACR,CAAC,qBACD,CAACe,EAAG,CAACf,EAAG,gBACR,CAAC,0BACD,CAACe,EAAG,CAACf,EAAG,YACR,CAAC,sBACD,CAACe,EAAG,CAACf,EAAG,YACR,CAAC,qBACD,CAACe,EAAG,CAACf,EAAG,gBACR,CAAC,2BACD,CAACe,EAAG,CAACf,EAAG,iBACR,CAAC,sBACD,CAACe,EAAG,CAACf,EAAG,YACR,CAAC,iCACD,CAAC,CAACA,EAAG,gBACL,CAAC,gDACD,CAAC,CAACA,EAAG,OAAQ,cAAee,GAC5B,CAAC,+BACD,CAAC,CAACf,EAAG,KAAM,KAAMe,GACjB,CACE,gCACA,iDACA,0DAEF,CAACf,EAAGe,GACJ,CAAC,2BAA4B,gBAC7B,CAACf,GACD,CAAC,+DACD,CAAC,CAACA,EAAG,YAAae,GAClB,CAAC,4BAA6B,4BAA6B,wCAC3D,CAACf,EAAGe,GACJ,CAAC,gCACD,CAACA,EAAG,CAACf,EAAG,QACR,CAAC,oCACD,CAACe,EAAG,CAACf,EAAG,oBACR,CAAC,+BACD,CAAC,CAACA,EAAG,kBAAmBe,GACxB,CAAC,2DACD,CAACA,EAAG,CAACf,EAAG,oBACR,CAAC,+DACD,CAACA,EAAGe,GACJ,CAAC,8CACD,CAACA,EAAG,CAACf,EAAG,kBACR,CAAC,iDACD,CAACe,EAAGf,GACJ,CAAC,gDACD,CACEA,EACA,CACEe,EACAqH,EACA,CACE,MAAO,KACP,IAAK,KACL,IAAK,KACL,MAAO,OACP,QAAS,OACT,QAAS,OACT,QAAS,OACT,IAAK,OAIX,CAAC,8BACD,CAACpI,EAAGe,GACJ,CAAC,wCACD,CAAC,CAACf,EAAG,YAAae,GAClB,CAAC,uCACD,CAACA,EAAG,CAACf,EAAG,oBACR,CACE,6BACA,cACA,mGACA,+FACA,wBACA,2CACA,wHACA,wBAEF,CAACA,EAAGe,IAENggC,IAAK,CACH,CAAC,iDACD,CAAC,CAAC,eAAgB,UAClB,CAAC,gBACD,CAAC,CAAC,eAAgBr5B,IAClB,CAAC,0BACD,CAAC,CAAC,eAAgB,SACl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","sources":["webpack://OneSdk/./modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.min.umd.js","webpack://OneSdk/./modules/biometrics/wrappers/OcrLabs/index.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n!(function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module\n ? (module.exports = t())\n : \"function\" == typeof define && define.amd\n ? define(\"Liveness\", [], t)\n : \"object\" == typeof exports\n ? (exports.Liveness = t())\n : (e.Liveness = t());\n})(window, function () {\n return (function (e) {\n var t = {};\n function r(i) {\n if (t[i]) return t[i].exports;\n var s = (t[i] = { i: i, l: !1, exports: {} });\n return e[i].call(s.exports, s, s.exports, r), (s.l = !0), s.exports;\n }\n return (\n (r.m = e),\n (r.c = t),\n (r.d = function (e, t, i) {\n r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i });\n }),\n (r.r = function (e) {\n \"undefined\" != typeof Symbol &&\n Symbol.toStringTag &&\n Object.defineProperty(e, Symbol.toStringTag, { value: \"Module\" }),\n Object.defineProperty(e, \"__esModule\", { value: !0 });\n }),\n (r.t = function (e, t) {\n if ((1 & t && (e = r(e)), 8 & t)) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var i = Object.create(null);\n if ((r.r(i), Object.defineProperty(i, \"default\", { enumerable: !0, value: e }), 2 & t && \"string\" != typeof e))\n for (var s in e)\n r.d(\n i,\n s,\n function (t) {\n return e[t];\n }.bind(null, s)\n );\n return i;\n }),\n (r.n = function (e) {\n var t =\n e && e.__esModule\n ? function () {\n return e.default;\n }\n : function () {\n return e;\n };\n return r.d(t, \"a\", t), t;\n }),\n (r.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }),\n (r.p = \"\"),\n r((r.s = 33))\n );\n })([\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__importDefault) ||\n function (e) {\n return e && e.__esModule ? e : { default: e };\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Logger = void 0);\n const s = i(r(20)),\n n = \"mediasoup-client\";\n t.Logger = class {\n constructor(e) {\n e\n ? ((this._debug = (0, s.default)(`${n}:${e}`)),\n (this._warn = (0, s.default)(`${n}:WARN:${e}`)),\n (this._error = (0, s.default)(`${n}:ERROR:${e}`)))\n : ((this._debug = (0, s.default)(n)),\n (this._warn = (0, s.default)(n + \":WARN\")),\n (this._error = (0, s.default)(n + \":ERROR\"))),\n (this._debug.log = console.info.bind(console)),\n (this._warn.log = console.warn.bind(console)),\n (this._error.log = console.error.bind(console));\n }\n get debug() {\n return this._debug;\n }\n get warn() {\n return this._warn;\n }\n get error() {\n return this._error;\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.generateRandomNumber = t.clone = void 0),\n (t.clone = function (e, t) {\n return void 0 === e ? t : JSON.parse(JSON.stringify(e));\n }),\n (t.generateRandomNumber = function () {\n return Math.round(1e7 * Math.random());\n });\n },\n function (e, t) {\n function r(e) {\n if (e)\n return (function (e) {\n for (var t in r.prototype) e[t] = r.prototype[t];\n return e;\n })(e);\n }\n (t.Emitter = r),\n (r.prototype.on = r.prototype.addEventListener =\n function (e, t) {\n return (\n (this._callbacks = this._callbacks || {}),\n (this._callbacks[\"$\" + e] = this._callbacks[\"$\" + e] || []).push(t),\n this\n );\n }),\n (r.prototype.once = function (e, t) {\n function r() {\n this.off(e, r), t.apply(this, arguments);\n }\n return (r.fn = t), this.on(e, r), this;\n }),\n (r.prototype.off =\n r.prototype.removeListener =\n r.prototype.removeAllListeners =\n r.prototype.removeEventListener =\n function (e, t) {\n if (((this._callbacks = this._callbacks || {}), 0 == arguments.length))\n return (this._callbacks = {}), this;\n var r,\n i = this._callbacks[\"$\" + e];\n if (!i) return this;\n if (1 == arguments.length) return delete this._callbacks[\"$\" + e], this;\n for (var s = 0; s < i.length; s++)\n if ((r = i[s]) === t || r.fn === t) {\n i.splice(s, 1);\n break;\n }\n return 0 === i.length && delete this._callbacks[\"$\" + e], this;\n }),\n (r.prototype.emit = function (e) {\n this._callbacks = this._callbacks || {};\n for (var t = new Array(arguments.length - 1), r = this._callbacks[\"$\" + e], i = 1; i < arguments.length; i++)\n t[i - 1] = arguments[i];\n if (r) {\n i = 0;\n for (var s = (r = r.slice(0)).length; i < s; ++i) r[i].apply(this, t);\n }\n return this;\n }),\n (r.prototype.emitReserved = r.prototype.emit),\n (r.prototype.listeners = function (e) {\n return (this._callbacks = this._callbacks || {}), this._callbacks[\"$\" + e] || [];\n }),\n (r.prototype.hasListeners = function (e) {\n return !!this.listeners(e).length;\n });\n },\n function (e, t, r) {\n \"use strict\";\n t.a = \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : Function(\"return this\")();\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.canReceive =\n t.canSend =\n t.generateProbatorRtpParameters =\n t.reduceCodecs =\n t.getSendingRemoteRtpParameters =\n t.getSendingRtpParameters =\n t.getRecvRtpCapabilities =\n t.getExtendedRtpCapabilities =\n t.validateSctpStreamParameters =\n t.validateSctpParameters =\n t.validateNumSctpStreams =\n t.validateSctpCapabilities =\n t.validateRtcpParameters =\n t.validateRtpEncodingParameters =\n t.validateRtpHeaderExtensionParameters =\n t.validateRtpCodecParameters =\n t.validateRtpParameters =\n t.validateRtpHeaderExtension =\n t.validateRtcpFeedback =\n t.validateRtpCodecCapability =\n t.validateRtpCapabilities =\n void 0);\n const a = n(r(41)),\n o = n(r(1));\n function c(e) {\n const t = new RegExp(\"^(audio|video)/(.+)\", \"i\");\n if (\"object\" != typeof e) throw new TypeError(\"codec is not an object\");\n if (!e.mimeType || \"string\" != typeof e.mimeType) throw new TypeError(\"missing codec.mimeType\");\n const r = t.exec(e.mimeType);\n if (!r) throw new TypeError(\"invalid codec.mimeType\");\n if (((e.kind = r[1].toLowerCase()), e.preferredPayloadType && \"number\" != typeof e.preferredPayloadType))\n throw new TypeError(\"invalid codec.preferredPayloadType\");\n if (\"number\" != typeof e.clockRate) throw new TypeError(\"missing codec.clockRate\");\n \"audio\" === e.kind ? \"number\" != typeof e.channels && (e.channels = 1) : delete e.channels,\n (e.parameters && \"object\" == typeof e.parameters) || (e.parameters = {});\n for (const t of Object.keys(e.parameters)) {\n let r = e.parameters[t];\n if ((void 0 === r && ((e.parameters[t] = \"\"), (r = \"\")), \"string\" != typeof r && \"number\" != typeof r))\n throw new TypeError(`invalid codec parameter [key:${t}s, value:${r}]`);\n if (\"apt\" === t && \"number\" != typeof r) throw new TypeError(\"invalid codec apt parameter\");\n }\n (e.rtcpFeedback && Array.isArray(e.rtcpFeedback)) || (e.rtcpFeedback = []);\n for (const t of e.rtcpFeedback) d(t);\n }\n function d(e) {\n if (\"object\" != typeof e) throw new TypeError(\"fb is not an object\");\n if (!e.type || \"string\" != typeof e.type) throw new TypeError(\"missing fb.type\");\n (e.parameter && \"string\" == typeof e.parameter) || (e.parameter = \"\");\n }\n function p(e) {\n if (\"object\" != typeof e) throw new TypeError(\"ext is not an object\");\n if (\"audio\" !== e.kind && \"video\" !== e.kind) throw new TypeError(\"invalid ext.kind\");\n if (!e.uri || \"string\" != typeof e.uri) throw new TypeError(\"missing ext.uri\");\n if (\"number\" != typeof e.preferredId) throw new TypeError(\"missing ext.preferredId\");\n if (e.preferredEncrypt && \"boolean\" != typeof e.preferredEncrypt)\n throw new TypeError(\"invalid ext.preferredEncrypt\");\n if ((e.preferredEncrypt || (e.preferredEncrypt = !1), e.direction && \"string\" != typeof e.direction))\n throw new TypeError(\"invalid ext.direction\");\n e.direction || (e.direction = \"sendrecv\");\n }\n function l(e) {\n if (\"object\" != typeof e) throw new TypeError(\"params is not an object\");\n if (e.mid && \"string\" != typeof e.mid) throw new TypeError(\"params.mid is not a string\");\n if (!Array.isArray(e.codecs)) throw new TypeError(\"missing params.codecs\");\n for (const t of e.codecs) h(t);\n if (e.headerExtensions && !Array.isArray(e.headerExtensions))\n throw new TypeError(\"params.headerExtensions is not an array\");\n e.headerExtensions || (e.headerExtensions = []);\n for (const t of e.headerExtensions) u(t);\n if (e.encodings && !Array.isArray(e.encodings)) throw new TypeError(\"params.encodings is not an array\");\n e.encodings || (e.encodings = []);\n for (const t of e.encodings) f(t);\n if (e.rtcp && \"object\" != typeof e.rtcp) throw new TypeError(\"params.rtcp is not an object\");\n e.rtcp || (e.rtcp = {}), m(e.rtcp);\n }\n function h(e) {\n const t = new RegExp(\"^(audio|video)/(.+)\", \"i\");\n if (\"object\" != typeof e) throw new TypeError(\"codec is not an object\");\n if (!e.mimeType || \"string\" != typeof e.mimeType) throw new TypeError(\"missing codec.mimeType\");\n const r = t.exec(e.mimeType);\n if (!r) throw new TypeError(\"invalid codec.mimeType\");\n if (\"number\" != typeof e.payloadType) throw new TypeError(\"missing codec.payloadType\");\n if (\"number\" != typeof e.clockRate) throw new TypeError(\"missing codec.clockRate\");\n \"audio\" === r[1].toLowerCase() ? \"number\" != typeof e.channels && (e.channels = 1) : delete e.channels,\n (e.parameters && \"object\" == typeof e.parameters) || (e.parameters = {});\n for (const t of Object.keys(e.parameters)) {\n let r = e.parameters[t];\n if ((void 0 === r && ((e.parameters[t] = \"\"), (r = \"\")), \"string\" != typeof r && \"number\" != typeof r))\n throw new TypeError(`invalid codec parameter [key:${t}s, value:${r}]`);\n if (\"apt\" === t && \"number\" != typeof r) throw new TypeError(\"invalid codec apt parameter\");\n }\n (e.rtcpFeedback && Array.isArray(e.rtcpFeedback)) || (e.rtcpFeedback = []);\n for (const t of e.rtcpFeedback) d(t);\n }\n function u(e) {\n if (\"object\" != typeof e) throw new TypeError(\"ext is not an object\");\n if (!e.uri || \"string\" != typeof e.uri) throw new TypeError(\"missing ext.uri\");\n if (\"number\" != typeof e.id) throw new TypeError(\"missing ext.id\");\n if (e.encrypt && \"boolean\" != typeof e.encrypt) throw new TypeError(\"invalid ext.encrypt\");\n e.encrypt || (e.encrypt = !1), (e.parameters && \"object\" == typeof e.parameters) || (e.parameters = {});\n for (const t of Object.keys(e.parameters)) {\n let r = e.parameters[t];\n if ((void 0 === r && ((e.parameters[t] = \"\"), (r = \"\")), \"string\" != typeof r && \"number\" != typeof r))\n throw new TypeError(\"invalid header extension parameter\");\n }\n }\n function f(e) {\n if (\"object\" != typeof e) throw new TypeError(\"encoding is not an object\");\n if (e.ssrc && \"number\" != typeof e.ssrc) throw new TypeError(\"invalid encoding.ssrc\");\n if (e.rid && \"string\" != typeof e.rid) throw new TypeError(\"invalid encoding.rid\");\n if (e.rtx && \"object\" != typeof e.rtx) throw new TypeError(\"invalid encoding.rtx\");\n if (e.rtx && \"number\" != typeof e.rtx.ssrc) throw new TypeError(\"missing encoding.rtx.ssrc\");\n if (\n ((e.dtx && \"boolean\" == typeof e.dtx) || (e.dtx = !1),\n e.scalabilityMode && \"string\" != typeof e.scalabilityMode)\n )\n throw new TypeError(\"invalid encoding.scalabilityMode\");\n }\n function m(e) {\n if (\"object\" != typeof e) throw new TypeError(\"rtcp is not an object\");\n if (e.cname && \"string\" != typeof e.cname) throw new TypeError(\"invalid rtcp.cname\");\n (e.reducedSize && \"boolean\" == typeof e.reducedSize) || (e.reducedSize = !0);\n }\n function g(e) {\n if (\"object\" != typeof e) throw new TypeError(\"numStreams is not an object\");\n if (\"number\" != typeof e.OS) throw new TypeError(\"missing numStreams.OS\");\n if (\"number\" != typeof e.MIS) throw new TypeError(\"missing numStreams.MIS\");\n }\n function _(e) {\n return !!e && /.+\\/rtx$/i.test(e.mimeType);\n }\n function b(e, t, { strict: r = !1, modify: i = !1 } = {}) {\n const s = e.mimeType.toLowerCase();\n if (s !== t.mimeType.toLowerCase()) return !1;\n if (e.clockRate !== t.clockRate) return !1;\n if (e.channels !== t.channels) return !1;\n switch (s) {\n case \"video/h264\":\n if (r) {\n if ((e.parameters[\"packetization-mode\"] || 0) !== (t.parameters[\"packetization-mode\"] || 0)) return !1;\n if (!a.isSameProfile(e.parameters, t.parameters)) return !1;\n let r;\n try {\n r = a.generateProfileLevelIdForAnswer(e.parameters, t.parameters);\n } catch (e) {\n return !1;\n }\n i &&\n (r\n ? ((e.parameters[\"profile-level-id\"] = r), (t.parameters[\"profile-level-id\"] = r))\n : (delete e.parameters[\"profile-level-id\"], delete t.parameters[\"profile-level-id\"]));\n }\n break;\n case \"video/vp9\":\n if (r) {\n if ((e.parameters[\"profile-id\"] || 0) !== (t.parameters[\"profile-id\"] || 0)) return !1;\n }\n }\n return !0;\n }\n function v(e, t) {\n return (!e.kind || !t.kind || e.kind === t.kind) && e.uri === t.uri;\n }\n function y(e, t) {\n const r = [];\n for (const i of e.rtcpFeedback || []) {\n const e = (t.rtcpFeedback || []).find(\n (e) => e.type === i.type && (e.parameter === i.parameter || (!e.parameter && !i.parameter))\n );\n e && r.push(e);\n }\n return r;\n }\n (t.validateRtpCapabilities = function (e) {\n if (\"object\" != typeof e) throw new TypeError(\"caps is not an object\");\n if (e.codecs && !Array.isArray(e.codecs)) throw new TypeError(\"caps.codecs is not an array\");\n e.codecs || (e.codecs = []);\n for (const t of e.codecs) c(t);\n if (e.headerExtensions && !Array.isArray(e.headerExtensions))\n throw new TypeError(\"caps.headerExtensions is not an array\");\n e.headerExtensions || (e.headerExtensions = []);\n for (const t of e.headerExtensions) p(t);\n }),\n (t.validateRtpCodecCapability = c),\n (t.validateRtcpFeedback = d),\n (t.validateRtpHeaderExtension = p),\n (t.validateRtpParameters = l),\n (t.validateRtpCodecParameters = h),\n (t.validateRtpHeaderExtensionParameters = u),\n (t.validateRtpEncodingParameters = f),\n (t.validateRtcpParameters = m),\n (t.validateSctpCapabilities = function (e) {\n if (\"object\" != typeof e) throw new TypeError(\"caps is not an object\");\n if (!e.numStreams || \"object\" != typeof e.numStreams) throw new TypeError(\"missing caps.numStreams\");\n g(e.numStreams);\n }),\n (t.validateNumSctpStreams = g),\n (t.validateSctpParameters = function (e) {\n if (\"object\" != typeof e) throw new TypeError(\"params is not an object\");\n if (\"number\" != typeof e.port) throw new TypeError(\"missing params.port\");\n if (\"number\" != typeof e.OS) throw new TypeError(\"missing params.OS\");\n if (\"number\" != typeof e.MIS) throw new TypeError(\"missing params.MIS\");\n if (\"number\" != typeof e.maxMessageSize) throw new TypeError(\"missing params.maxMessageSize\");\n }),\n (t.validateSctpStreamParameters = function (e) {\n if (\"object\" != typeof e) throw new TypeError(\"params is not an object\");\n if (\"number\" != typeof e.streamId) throw new TypeError(\"missing params.streamId\");\n let t = !1;\n if (\n (\"boolean\" == typeof e.ordered ? (t = !0) : (e.ordered = !0),\n e.maxPacketLifeTime && \"number\" != typeof e.maxPacketLifeTime)\n )\n throw new TypeError(\"invalid params.maxPacketLifeTime\");\n if (e.maxRetransmits && \"number\" != typeof e.maxRetransmits)\n throw new TypeError(\"invalid params.maxRetransmits\");\n if (e.maxPacketLifeTime && e.maxRetransmits)\n throw new TypeError(\"cannot provide both maxPacketLifeTime and maxRetransmits\");\n if (t && e.ordered && (e.maxPacketLifeTime || e.maxRetransmits))\n throw new TypeError(\"cannot be ordered with maxPacketLifeTime or maxRetransmits\");\n if (\n (t || (!e.maxPacketLifeTime && !e.maxRetransmits) || (e.ordered = !1),\n e.label && \"string\" != typeof e.label)\n )\n throw new TypeError(\"invalid params.label\");\n if (e.protocol && \"string\" != typeof e.protocol) throw new TypeError(\"invalid params.protocol\");\n }),\n (t.getExtendedRtpCapabilities = function (e, t) {\n const r = { codecs: [], headerExtensions: [] };\n for (const i of t.codecs || []) {\n if (_(i)) continue;\n const t = (e.codecs || []).find((e) => b(e, i, { strict: !0, modify: !0 }));\n if (!t) continue;\n const s = {\n mimeType: t.mimeType,\n kind: t.kind,\n clockRate: t.clockRate,\n channels: t.channels,\n localPayloadType: t.preferredPayloadType,\n localRtxPayloadType: void 0,\n remotePayloadType: i.preferredPayloadType,\n remoteRtxPayloadType: void 0,\n localParameters: t.parameters,\n remoteParameters: i.parameters,\n rtcpFeedback: y(t, i),\n };\n r.codecs.push(s);\n }\n for (const i of r.codecs) {\n const r = e.codecs.find((e) => _(e) && e.parameters.apt === i.localPayloadType),\n s = t.codecs.find((e) => _(e) && e.parameters.apt === i.remotePayloadType);\n r &&\n s &&\n ((i.localRtxPayloadType = r.preferredPayloadType), (i.remoteRtxPayloadType = s.preferredPayloadType));\n }\n for (const i of t.headerExtensions) {\n const t = e.headerExtensions.find((e) => v(e, i));\n if (!t) continue;\n const s = {\n kind: i.kind,\n uri: i.uri,\n sendId: t.preferredId,\n recvId: i.preferredId,\n encrypt: t.preferredEncrypt,\n direction: \"sendrecv\",\n };\n switch (i.direction) {\n case \"sendrecv\":\n s.direction = \"sendrecv\";\n break;\n case \"recvonly\":\n s.direction = \"sendonly\";\n break;\n case \"sendonly\":\n s.direction = \"recvonly\";\n break;\n case \"inactive\":\n s.direction = \"inactive\";\n }\n r.headerExtensions.push(s);\n }\n return r;\n }),\n (t.getRecvRtpCapabilities = function (e) {\n const t = { codecs: [], headerExtensions: [] };\n for (const r of e.codecs) {\n const e = {\n mimeType: r.mimeType,\n kind: r.kind,\n preferredPayloadType: r.remotePayloadType,\n clockRate: r.clockRate,\n channels: r.channels,\n parameters: r.localParameters,\n rtcpFeedback: r.rtcpFeedback,\n };\n if ((t.codecs.push(e), !r.remoteRtxPayloadType)) continue;\n const i = {\n mimeType: r.kind + \"/rtx\",\n kind: r.kind,\n preferredPayloadType: r.remoteRtxPayloadType,\n clockRate: r.clockRate,\n parameters: { apt: r.remotePayloadType },\n rtcpFeedback: [],\n };\n t.codecs.push(i);\n }\n for (const r of e.headerExtensions) {\n if (\"sendrecv\" !== r.direction && \"recvonly\" !== r.direction) continue;\n const e = {\n kind: r.kind,\n uri: r.uri,\n preferredId: r.recvId,\n preferredEncrypt: r.encrypt,\n direction: r.direction,\n };\n t.headerExtensions.push(e);\n }\n return t;\n }),\n (t.getSendingRtpParameters = function (e, t) {\n const r = { mid: void 0, codecs: [], headerExtensions: [], encodings: [], rtcp: {} };\n for (const i of t.codecs) {\n if (i.kind !== e) continue;\n const t = {\n mimeType: i.mimeType,\n payloadType: i.localPayloadType,\n clockRate: i.clockRate,\n channels: i.channels,\n parameters: i.localParameters,\n rtcpFeedback: i.rtcpFeedback,\n };\n if ((r.codecs.push(t), i.localRtxPayloadType)) {\n const e = {\n mimeType: i.kind + \"/rtx\",\n payloadType: i.localRtxPayloadType,\n clockRate: i.clockRate,\n parameters: { apt: i.localPayloadType },\n rtcpFeedback: [],\n };\n r.codecs.push(e);\n }\n }\n for (const i of t.headerExtensions) {\n if ((i.kind && i.kind !== e) || (\"sendrecv\" !== i.direction && \"sendonly\" !== i.direction)) continue;\n const t = { uri: i.uri, id: i.sendId, encrypt: i.encrypt, parameters: {} };\n r.headerExtensions.push(t);\n }\n return r;\n }),\n (t.getSendingRemoteRtpParameters = function (e, t) {\n const r = { mid: void 0, codecs: [], headerExtensions: [], encodings: [], rtcp: {} };\n for (const i of t.codecs) {\n if (i.kind !== e) continue;\n const t = {\n mimeType: i.mimeType,\n payloadType: i.localPayloadType,\n clockRate: i.clockRate,\n channels: i.channels,\n parameters: i.remoteParameters,\n rtcpFeedback: i.rtcpFeedback,\n };\n if ((r.codecs.push(t), i.localRtxPayloadType)) {\n const e = {\n mimeType: i.kind + \"/rtx\",\n payloadType: i.localRtxPayloadType,\n clockRate: i.clockRate,\n parameters: { apt: i.localPayloadType },\n rtcpFeedback: [],\n };\n r.codecs.push(e);\n }\n }\n for (const i of t.headerExtensions) {\n if ((i.kind && i.kind !== e) || (\"sendrecv\" !== i.direction && \"sendonly\" !== i.direction)) continue;\n const t = { uri: i.uri, id: i.sendId, encrypt: i.encrypt, parameters: {} };\n r.headerExtensions.push(t);\n }\n if (\n r.headerExtensions.some(\n (e) => \"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\" === e.uri\n )\n )\n for (const e of r.codecs) e.rtcpFeedback = (e.rtcpFeedback || []).filter((e) => \"goog-remb\" !== e.type);\n else if (\n r.headerExtensions.some((e) => \"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\" === e.uri)\n )\n for (const e of r.codecs) e.rtcpFeedback = (e.rtcpFeedback || []).filter((e) => \"transport-cc\" !== e.type);\n else\n for (const e of r.codecs)\n e.rtcpFeedback = (e.rtcpFeedback || []).filter(\n (e) => \"transport-cc\" !== e.type && \"goog-remb\" !== e.type\n );\n return r;\n }),\n (t.reduceCodecs = function (e, t) {\n const r = [];\n if (t) {\n for (let i = 0; i < e.length; ++i)\n if (b(e[i], t)) {\n r.push(e[i]), _(e[i + 1]) && r.push(e[i + 1]);\n break;\n }\n if (0 === r.length) throw new TypeError(\"no matching codec found\");\n } else r.push(e[0]), _(e[1]) && r.push(e[1]);\n return r;\n }),\n (t.generateProbatorRtpParameters = function (e) {\n l((e = o.clone(e, {})));\n const t = {\n mid: \"probator\",\n codecs: [],\n headerExtensions: [],\n encodings: [{ ssrc: 1234 }],\n rtcp: { cname: \"probator\" },\n };\n return (\n t.codecs.push(e.codecs[0]), (t.codecs[0].payloadType = 127), (t.headerExtensions = e.headerExtensions), t\n );\n }),\n (t.canSend = function (e, t) {\n return t.codecs.some((t) => t.kind === e);\n }),\n (t.canReceive = function (e, t) {\n if ((l(e), 0 === e.codecs.length)) return !1;\n const r = e.codecs[0];\n return t.codecs.some((e) => e.remotePayloadType === r.payloadType);\n });\n },\n function (e, t, r) {\n \"use strict\";\n r.d(t, \"b\", function () {\n return s;\n }),\n r.d(t, \"a\", function () {\n return o;\n });\n var i = r(3);\n function s(e, ...t) {\n return t.reduce((t, r) => (e.hasOwnProperty(r) && (t[r] = e[r]), t), {});\n }\n const n = setTimeout,\n a = clearTimeout;\n function o(e, t) {\n t.useNativeTimers\n ? ((e.setTimeoutFn = n.bind(i.a)), (e.clearTimeoutFn = a.bind(i.a)))\n : ((e.setTimeoutFn = setTimeout.bind(i.a)), (e.clearTimeoutFn = clearTimeout.bind(i.a)));\n }\n },\n function (e, t, r) {\n \"use strict\";\n r.d(t, \"c\", function () {\n return s;\n }),\n r.d(t, \"a\", function () {\n return n;\n }),\n r.d(t, \"d\", function () {\n return a;\n }),\n r.d(t, \"b\", function () {\n return o;\n });\n var i = r(3);\n const s =\n \"function\" == typeof Promise && \"function\" == typeof Promise.resolve\n ? (e) => Promise.resolve().then(e)\n : (e, t) => t(e, 0),\n n = i.a.WebSocket || i.a.MozWebSocket,\n a = !0,\n o = \"arraybuffer\";\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.InvalidStateError = t.UnsupportedError = void 0);\n class i extends Error {\n constructor(e) {\n super(e),\n (this.name = \"UnsupportedError\"),\n Error.hasOwnProperty(\"captureStackTrace\")\n ? Error.captureStackTrace(this, i)\n : (this.stack = new Error(e).stack);\n }\n }\n t.UnsupportedError = i;\n class s extends Error {\n constructor(e) {\n super(e),\n (this.name = \"InvalidStateError\"),\n Error.hasOwnProperty(\"captureStackTrace\")\n ? Error.captureStackTrace(this, s)\n : (this.stack = new Error(e).stack);\n }\n }\n t.InvalidStateError = s;\n },\n function (e, t, r) {\n var i = r(44),\n s = r(45);\n (t.write = s),\n (t.parse = i.parse),\n (t.parseParams = i.parseParams),\n (t.parseFmtpConfig = i.parseFmtpConfig),\n (t.parsePayloads = i.parsePayloads),\n (t.parseRemoteCandidates = i.parseRemoteCandidates),\n (t.parseImageAttributes = i.parseImageAttributes),\n (t.parseSimulcastStreamList = i.parseSimulcastStreamList);\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.HandlerInterface = void 0);\n const i = r(13);\n class s extends i.EnhancedEventEmitter {\n constructor() {\n super();\n }\n }\n t.HandlerInterface = s;\n },\n function (e, t, r) {\n \"use strict\";\n r.d(t, \"e\", function () {\n return y;\n }),\n r.d(t, \"c\", function () {\n return d;\n }),\n r.d(t, \"d\", function () {\n return b;\n }),\n r.d(t, \"a\", function () {\n return g;\n }),\n r.d(t, \"b\", function () {\n return v;\n });\n const i = Object.create(null);\n (i.open = \"0\"),\n (i.close = \"1\"),\n (i.ping = \"2\"),\n (i.pong = \"3\"),\n (i.message = \"4\"),\n (i.upgrade = \"5\"),\n (i.noop = \"6\");\n const s = Object.create(null);\n Object.keys(i).forEach((e) => {\n s[i[e]] = e;\n });\n const n = { type: \"error\", data: \"parser error\" },\n a =\n \"function\" == typeof Blob ||\n (\"undefined\" != typeof Blob && \"[object BlobConstructor]\" === Object.prototype.toString.call(Blob)),\n o = \"function\" == typeof ArrayBuffer,\n c = (e, t) => {\n const r = new FileReader();\n return (\n (r.onload = function () {\n const e = r.result.split(\",\")[1];\n t(\"b\" + e);\n }),\n r.readAsDataURL(e)\n );\n };\n for (\n var d = ({ type: e, data: t }, r, s) => {\n return a && t instanceof Blob\n ? r\n ? s(t)\n : c(t, s)\n : o &&\n (t instanceof ArrayBuffer ||\n ((n = t),\n \"function\" == typeof ArrayBuffer.isView\n ? ArrayBuffer.isView(n)\n : n && n.buffer instanceof ArrayBuffer))\n ? r\n ? s(t)\n : c(new Blob([t]), s)\n : s(i[e] + (t || \"\"));\n var n;\n },\n p = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\n l = \"undefined\" == typeof Uint8Array ? [] : new Uint8Array(256),\n h = 0;\n h < p.length;\n h++\n )\n l[p.charCodeAt(h)] = h;\n const u = \"function\" == typeof ArrayBuffer,\n f = (e, t) => {\n if (u) {\n const r = (function (e) {\n var t,\n r,\n i,\n s,\n n,\n a = 0.75 * e.length,\n o = e.length,\n c = 0;\n \"=\" === e[e.length - 1] && (a--, \"=\" === e[e.length - 2] && a--);\n var d = new ArrayBuffer(a),\n p = new Uint8Array(d);\n for (t = 0; t < o; t += 4)\n (r = l[e.charCodeAt(t)]),\n (i = l[e.charCodeAt(t + 1)]),\n (s = l[e.charCodeAt(t + 2)]),\n (n = l[e.charCodeAt(t + 3)]),\n (p[c++] = (r << 2) | (i >> 4)),\n (p[c++] = ((15 & i) << 4) | (s >> 2)),\n (p[c++] = ((3 & s) << 6) | (63 & n));\n return d;\n })(e);\n return m(r, t);\n }\n return { base64: !0, data: e };\n },\n m = (e, t) => {\n switch (t) {\n case \"blob\":\n return e instanceof ArrayBuffer ? new Blob([e]) : e;\n case \"arraybuffer\":\n default:\n return e;\n }\n };\n var g = (e, t) => {\n if (\"string\" != typeof e) return { type: \"message\", data: m(e, t) };\n const r = e.charAt(0);\n if (\"b\" === r) return { type: \"message\", data: f(e.substring(1), t) };\n return s[r] ? (e.length > 1 ? { type: s[r], data: e.substring(1) } : { type: s[r] }) : n;\n };\n const _ = String.fromCharCode(30),\n b = (e, t) => {\n const r = e.length,\n i = new Array(r);\n let s = 0;\n e.forEach((e, n) => {\n d(e, !1, (e) => {\n (i[n] = e), ++s === r && t(i.join(_));\n });\n });\n },\n v = (e, t) => {\n const r = e.split(_),\n i = [];\n for (let e = 0; e < r.length; e++) {\n const s = g(r[e], t);\n if ((i.push(s), \"error\" === s.type)) break;\n }\n return i;\n },\n y = 4;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.applyCodecParameters = t.getCname = t.extractDtlsParameters = t.extractRtpCapabilities = void 0);\n const a = n(r(8));\n (t.extractRtpCapabilities = function ({ sdpObject: e }) {\n const t = new Map(),\n r = [];\n let i = !1,\n s = !1;\n for (const n of e.media) {\n const e = n.type;\n switch (e) {\n case \"audio\":\n if (i) continue;\n i = !0;\n break;\n case \"video\":\n if (s) continue;\n s = !0;\n break;\n default:\n continue;\n }\n for (const r of n.rtp) {\n const i = {\n kind: e,\n mimeType: `${e}/${r.codec}`,\n preferredPayloadType: r.payload,\n clockRate: r.rate,\n channels: r.encoding,\n parameters: {},\n rtcpFeedback: [],\n };\n t.set(i.preferredPayloadType, i);\n }\n for (const e of n.fmtp || []) {\n const r = a.parseParams(e.config),\n i = t.get(e.payload);\n i &&\n (r && r.hasOwnProperty(\"profile-level-id\") && (r[\"profile-level-id\"] = String(r[\"profile-level-id\"])),\n (i.parameters = r));\n }\n for (const e of n.rtcpFb || []) {\n const r = t.get(e.payload);\n if (!r) continue;\n const i = { type: e.type, parameter: e.subtype };\n i.parameter || delete i.parameter, r.rtcpFeedback.push(i);\n }\n for (const t of n.ext || []) {\n if (t[\"encrypt-uri\"]) continue;\n const i = { kind: e, uri: t.uri, preferredId: t.value };\n r.push(i);\n }\n }\n return { codecs: Array.from(t.values()), headerExtensions: r };\n }),\n (t.extractDtlsParameters = function ({ sdpObject: e }) {\n const t = (e.media || []).find((e) => e.iceUfrag && 0 !== e.port);\n if (!t) throw new Error(\"no active media section found\");\n const r = t.fingerprint || e.fingerprint;\n let i;\n switch (t.setup) {\n case \"active\":\n i = \"client\";\n break;\n case \"passive\":\n i = \"server\";\n break;\n case \"actpass\":\n i = \"auto\";\n }\n return { role: i, fingerprints: [{ algorithm: r.type, value: r.hash }] };\n }),\n (t.getCname = function ({ offerMediaObject: e }) {\n const t = (e.ssrcs || []).find((e) => \"cname\" === e.attribute);\n return t ? t.value : \"\";\n }),\n (t.applyCodecParameters = function ({ offerRtpParameters: e, answerMediaObject: t }) {\n for (const r of e.codecs) {\n const e = r.mimeType.toLowerCase();\n if (\"audio/opus\" !== e) continue;\n if (!(t.rtp || []).find((e) => e.payload === r.payloadType)) continue;\n t.fmtp = t.fmtp || [];\n let i = t.fmtp.find((e) => e.payload === r.payloadType);\n i || ((i = { payload: r.payloadType, config: \"\" }), t.fmtp.push(i));\n const s = a.parseParams(i.config);\n switch (e) {\n case \"audio/opus\": {\n const e = r.parameters[\"sprop-stereo\"];\n void 0 !== e && (s.stereo = e ? 1 : 0);\n break;\n }\n }\n i.config = \"\";\n for (const e of Object.keys(s)) i.config && (i.config += \";\"), (i.config += `${e}=${s[e]}`);\n }\n });\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.RemoteSdp = void 0);\n const a = n(r(8)),\n o = r(0),\n c = r(46),\n d = new o.Logger(\"RemoteSdp\");\n t.RemoteSdp = class {\n constructor({\n iceParameters: e,\n iceCandidates: t,\n dtlsParameters: r,\n sctpParameters: i,\n plainRtpParameters: s,\n planB: n = !1,\n }) {\n if (\n ((this._mediaSections = []),\n (this._midToIndex = new Map()),\n (this._iceParameters = e),\n (this._iceCandidates = t),\n (this._dtlsParameters = r),\n (this._sctpParameters = i),\n (this._plainRtpParameters = s),\n (this._planB = n),\n (this._sdpObject = {\n version: 0,\n origin: {\n address: \"0.0.0.0\",\n ipVer: 4,\n netType: \"IN\",\n sessionId: 1e4,\n sessionVersion: 0,\n username: \"mediasoup-client\",\n },\n name: \"-\",\n timing: { start: 0, stop: 0 },\n media: [],\n }),\n e && e.iceLite && (this._sdpObject.icelite = \"ice-lite\"),\n r)\n ) {\n this._sdpObject.msidSemantic = { semantic: \"WMS\", token: \"*\" };\n const e = this._dtlsParameters.fingerprints.length;\n (this._sdpObject.fingerprint = {\n type: r.fingerprints[e - 1].algorithm,\n hash: r.fingerprints[e - 1].value,\n }),\n (this._sdpObject.groups = [{ type: \"BUNDLE\", mids: \"\" }]);\n }\n s && ((this._sdpObject.origin.address = s.ip), (this._sdpObject.origin.ipVer = s.ipVersion));\n }\n updateIceParameters(e) {\n d.debug(\"updateIceParameters() [iceParameters:%o]\", e),\n (this._iceParameters = e),\n (this._sdpObject.icelite = e.iceLite ? \"ice-lite\" : void 0);\n for (const t of this._mediaSections) t.setIceParameters(e);\n }\n updateDtlsRole(e) {\n d.debug(\"updateDtlsRole() [role:%s]\", e), (this._dtlsParameters.role = e);\n for (const t of this._mediaSections) t.setDtlsRole(e);\n }\n getNextMediaSectionIdx() {\n for (let e = 0; e < this._mediaSections.length; ++e) {\n const t = this._mediaSections[e];\n if (t.closed) return { idx: e, reuseMid: t.mid };\n }\n return { idx: this._mediaSections.length };\n }\n send({\n offerMediaObject: e,\n reuseMid: t,\n offerRtpParameters: r,\n answerRtpParameters: i,\n codecOptions: s,\n extmapAllowMixed: n = !1,\n }) {\n const a = new c.AnswerMediaSection({\n iceParameters: this._iceParameters,\n iceCandidates: this._iceCandidates,\n dtlsParameters: this._dtlsParameters,\n plainRtpParameters: this._plainRtpParameters,\n planB: this._planB,\n offerMediaObject: e,\n offerRtpParameters: r,\n answerRtpParameters: i,\n codecOptions: s,\n extmapAllowMixed: n,\n });\n t\n ? this._replaceMediaSection(a, t)\n : this._midToIndex.has(a.mid)\n ? this._replaceMediaSection(a)\n : this._addMediaSection(a);\n }\n receive({ mid: e, kind: t, offerRtpParameters: r, streamId: i, trackId: s }) {\n const n = this._midToIndex.get(e);\n let a;\n if ((void 0 !== n && (a = this._mediaSections[n]), a))\n a.planBReceive({ offerRtpParameters: r, streamId: i, trackId: s }), this._replaceMediaSection(a);\n else {\n a = new c.OfferMediaSection({\n iceParameters: this._iceParameters,\n iceCandidates: this._iceCandidates,\n dtlsParameters: this._dtlsParameters,\n plainRtpParameters: this._plainRtpParameters,\n planB: this._planB,\n mid: e,\n kind: t,\n offerRtpParameters: r,\n streamId: i,\n trackId: s,\n });\n const n = this._mediaSections.find((e) => e.closed);\n n ? this._replaceMediaSection(a, n.mid) : this._addMediaSection(a);\n }\n }\n disableMediaSection(e) {\n const t = this._midToIndex.get(e);\n if (void 0 === t) throw new Error(`no media section found with mid '${e}'`);\n this._mediaSections[t].disable();\n }\n closeMediaSection(e) {\n const t = this._midToIndex.get(e);\n if (void 0 === t) throw new Error(`no media section found with mid '${e}'`);\n const r = this._mediaSections[t];\n if (e === this._firstMid)\n return (\n d.debug(\"closeMediaSection() | cannot close first media section, disabling it instead [mid:%s]\", e),\n void this.disableMediaSection(e)\n );\n r.close(), this._regenerateBundleMids();\n }\n planBStopReceiving({ mid: e, offerRtpParameters: t }) {\n const r = this._midToIndex.get(e);\n if (void 0 === r) throw new Error(`no media section found with mid '${e}'`);\n const i = this._mediaSections[r];\n i.planBStopReceiving({ offerRtpParameters: t }), this._replaceMediaSection(i);\n }\n sendSctpAssociation({ offerMediaObject: e }) {\n const t = new c.AnswerMediaSection({\n iceParameters: this._iceParameters,\n iceCandidates: this._iceCandidates,\n dtlsParameters: this._dtlsParameters,\n sctpParameters: this._sctpParameters,\n plainRtpParameters: this._plainRtpParameters,\n offerMediaObject: e,\n });\n this._addMediaSection(t);\n }\n receiveSctpAssociation({ oldDataChannelSpec: e = !1 } = {}) {\n const t = new c.OfferMediaSection({\n iceParameters: this._iceParameters,\n iceCandidates: this._iceCandidates,\n dtlsParameters: this._dtlsParameters,\n sctpParameters: this._sctpParameters,\n plainRtpParameters: this._plainRtpParameters,\n mid: \"datachannel\",\n kind: \"application\",\n oldDataChannelSpec: e,\n });\n this._addMediaSection(t);\n }\n getSdp() {\n return this._sdpObject.origin.sessionVersion++, a.write(this._sdpObject);\n }\n _addMediaSection(e) {\n this._firstMid || (this._firstMid = e.mid),\n this._mediaSections.push(e),\n this._midToIndex.set(e.mid, this._mediaSections.length - 1),\n this._sdpObject.media.push(e.getObject()),\n this._regenerateBundleMids();\n }\n _replaceMediaSection(e, t) {\n if (\"string\" == typeof t) {\n const r = this._midToIndex.get(t);\n if (void 0 === r) throw new Error(`no media section found for reuseMid '${t}'`);\n const i = this._mediaSections[r];\n (this._mediaSections[r] = e),\n this._midToIndex.delete(i.mid),\n this._midToIndex.set(e.mid, r),\n (this._sdpObject.media[r] = e.getObject()),\n this._regenerateBundleMids();\n } else {\n const t = this._midToIndex.get(e.mid);\n if (void 0 === t) throw new Error(`no media section found with mid '${e.mid}'`);\n (this._mediaSections[t] = e), (this._sdpObject.media[t] = e.getObject());\n }\n }\n _regenerateBundleMids() {\n this._dtlsParameters &&\n (this._sdpObject.groups[0].mids = this._mediaSections\n .filter((e) => !e.closed)\n .map((e) => e.mid)\n .join(\" \"));\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.EnhancedEventEmitter = void 0);\n const i = r(22),\n s = new (r(0).Logger)(\"EnhancedEventEmitter\");\n class n extends i.EventEmitter {\n constructor() {\n super(), this.setMaxListeners(1 / 0);\n }\n safeEmit(e, ...t) {\n const r = this.listenerCount(e);\n try {\n return this.emit(e, ...t);\n } catch (t) {\n return s.error(\"safeEmit() | event listener threw an error [event:%s]:%o\", e, t), Boolean(r);\n }\n }\n async safeEmitAsPromise(e, ...t) {\n return new Promise((r, i) => {\n try {\n this.emit(e, ...t, r, i);\n } catch (t) {\n s.error(\"safeEmitAsPromise() | event listener threw an error [event:%s]:%o\", e, t), i(t);\n }\n });\n }\n }\n t.EnhancedEventEmitter = n;\n },\n function (e, t, r) {\n \"use strict\";\n r.d(t, \"a\", function () {\n return a;\n });\n var i = r(10),\n s = r(2),\n n = r(5);\n class a extends s.Emitter {\n constructor(e) {\n super(),\n (this.writable = !1),\n Object(n.a)(this, e),\n (this.opts = e),\n (this.query = e.query),\n (this.readyState = \"\"),\n (this.socket = e.socket);\n }\n onError(e, t) {\n const r = new Error(e);\n return (r.type = \"TransportError\"), (r.description = t), super.emit(\"error\", r), this;\n }\n open() {\n return (\n (\"closed\" !== this.readyState && \"\" !== this.readyState) || ((this.readyState = \"opening\"), this.doOpen()),\n this\n );\n }\n close() {\n return (\n (\"opening\" !== this.readyState && \"open\" !== this.readyState) || (this.doClose(), this.onClose()), this\n );\n }\n send(e) {\n \"open\" === this.readyState && this.write(e);\n }\n onOpen() {\n (this.readyState = \"open\"), (this.writable = !0), super.emit(\"open\");\n }\n onData(e) {\n const t = Object(i.a)(e, this.socket.binaryType);\n this.onPacket(t);\n }\n onPacket(e) {\n super.emit(\"packet\", e);\n }\n onClose() {\n (this.readyState = \"closed\"), super.emit(\"close\");\n }\n }\n },\n function (e, t) {\n (t.encode = function (e) {\n var t = \"\";\n for (var r in e)\n e.hasOwnProperty(r) &&\n (t.length && (t += \"&\"), (t += encodeURIComponent(r) + \"=\" + encodeURIComponent(e[r])));\n return t;\n }),\n (t.decode = function (e) {\n for (var t = {}, r = e.split(\"&\"), i = 0, s = r.length; i < s; i++) {\n var n = r[i].split(\"=\");\n t[decodeURIComponent(n[0])] = decodeURIComponent(n[1]);\n }\n return t;\n });\n },\n function (e, t) {\n var r =\n /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,\n i = [\n \"source\",\n \"protocol\",\n \"authority\",\n \"userInfo\",\n \"user\",\n \"password\",\n \"host\",\n \"port\",\n \"relative\",\n \"path\",\n \"directory\",\n \"file\",\n \"query\",\n \"anchor\",\n ];\n e.exports = function (e) {\n var t = e,\n s = e.indexOf(\"[\"),\n n = e.indexOf(\"]\");\n -1 != s && -1 != n && (e = e.substring(0, s) + e.substring(s, n).replace(/:/g, \";\") + e.substring(n, e.length));\n for (var a, o, c = r.exec(e || \"\"), d = {}, p = 14; p--; ) d[i[p]] = c[p] || \"\";\n return (\n -1 != s &&\n -1 != n &&\n ((d.source = t),\n (d.host = d.host.substring(1, d.host.length - 1).replace(/;/g, \":\")),\n (d.authority = d.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\")),\n (d.ipv6uri = !0)),\n (d.pathNames = (function (e, t) {\n var r = t.replace(/\\/{2,9}/g, \"/\").split(\"/\");\n (\"/\" != t.substr(0, 1) && 0 !== t.length) || r.splice(0, 1);\n \"/\" == t.substr(t.length - 1, 1) && r.splice(r.length - 1, 1);\n return r;\n })(0, d.path)),\n (d.queryKey =\n ((a = d.query),\n (o = {}),\n a.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function (e, t, r) {\n t && (o[t] = r);\n }),\n o)),\n d\n );\n };\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.addLegacySimulcast = t.getRtpEncodings = void 0),\n (t.getRtpEncodings = function ({ offerMediaObject: e }) {\n const t = new Set();\n for (const r of e.ssrcs || []) {\n const e = r.id;\n t.add(e);\n }\n if (0 === t.size) throw new Error(\"no a=ssrc lines found\");\n const r = new Map();\n for (const i of e.ssrcGroups || []) {\n if (\"FID\" !== i.semantics) continue;\n let [e, s] = i.ssrcs.split(/\\s+/);\n (e = Number(e)), (s = Number(s)), t.has(e) && (t.delete(e), t.delete(s), r.set(e, s));\n }\n for (const e of t) r.set(e, null);\n const i = [];\n for (const [e, t] of r) {\n const r = { ssrc: e };\n t && (r.rtx = { ssrc: t }), i.push(r);\n }\n return i;\n }),\n (t.addLegacySimulcast = function ({ offerMediaObject: e, numStreams: t }) {\n if (t <= 1) throw new TypeError(\"numStreams must be greater than 1\");\n const r = (e.ssrcs || []).find((e) => \"msid\" === e.attribute);\n if (!r) throw new Error(\"a=ssrc line with msid information not found\");\n const [i, s] = r.value.split(\" \"),\n n = r.id;\n let a;\n (e.ssrcGroups || []).some((e) => {\n if (\"FID\" !== e.semantics) return !1;\n const t = e.ssrcs.split(/\\s+/);\n return Number(t[0]) === n && ((a = Number(t[1])), !0);\n });\n const o = e.ssrcs.find((e) => \"cname\" === e.attribute);\n if (!o) throw new Error(\"a=ssrc line with cname information not found\");\n const c = o.value,\n d = [],\n p = [];\n for (let e = 0; e < t; ++e) d.push(n + e), a && p.push(a + e);\n (e.ssrcGroups = []), (e.ssrcs = []), e.ssrcGroups.push({ semantics: \"SIM\", ssrcs: d.join(\" \") });\n for (let t = 0; t < d.length; ++t) {\n const r = d[t];\n e.ssrcs.push({ id: r, attribute: \"cname\", value: c }),\n e.ssrcs.push({ id: r, attribute: \"msid\", value: `${i} ${s}` });\n }\n for (let t = 0; t < p.length; ++t) {\n const r = d[t],\n n = p[t];\n e.ssrcs.push({ id: n, attribute: \"cname\", value: c }),\n e.ssrcs.push({ id: n, attribute: \"msid\", value: `${i} ${s}` }),\n e.ssrcGroups.push({ semantics: \"FID\", ssrcs: `${r} ${n}` });\n }\n });\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.addLegacySimulcast = t.getRtpEncodings = void 0),\n (t.getRtpEncodings = function ({ offerMediaObject: e, track: t }) {\n let r;\n const i = new Set();\n for (const s of e.ssrcs || []) {\n if (\"msid\" !== s.attribute) continue;\n if (s.value.split(\" \")[1] === t.id) {\n const e = s.id;\n i.add(e), r || (r = e);\n }\n }\n if (0 === i.size) throw new Error(`a=ssrc line with msid information not found [track.id:${t.id}]`);\n const s = new Map();\n for (const t of e.ssrcGroups || []) {\n if (\"FID\" !== t.semantics) continue;\n let [e, r] = t.ssrcs.split(/\\s+/);\n (e = Number(e)), (r = Number(r)), i.has(e) && (i.delete(e), i.delete(r), s.set(e, r));\n }\n for (const e of i) s.set(e, null);\n const n = [];\n for (const [e, t] of s) {\n const r = { ssrc: e };\n t && (r.rtx = { ssrc: t }), n.push(r);\n }\n return n;\n }),\n (t.addLegacySimulcast = function ({ offerMediaObject: e, track: t, numStreams: r }) {\n if (r <= 1) throw new TypeError(\"numStreams must be greater than 1\");\n let i, s, n;\n if (\n !(e.ssrcs || []).find((e) => {\n if (\"msid\" !== e.attribute) return !1;\n return e.value.split(\" \")[1] === t.id && ((i = e.id), (n = e.value.split(\" \")[0]), !0);\n })\n )\n throw new Error(`a=ssrc line with msid information not found [track.id:${t.id}]`);\n (e.ssrcGroups || []).some((e) => {\n if (\"FID\" !== e.semantics) return !1;\n const t = e.ssrcs.split(/\\s+/);\n return Number(t[0]) === i && ((s = Number(t[1])), !0);\n });\n const a = e.ssrcs.find((e) => \"cname\" === e.attribute && e.id === i);\n if (!a) throw new Error(`a=ssrc line with cname information not found [track.id:${t.id}]`);\n const o = a.value,\n c = [],\n d = [];\n for (let e = 0; e < r; ++e) c.push(i + e), s && d.push(s + e);\n (e.ssrcGroups = e.ssrcGroups || []),\n (e.ssrcs = e.ssrcs || []),\n e.ssrcGroups.push({ semantics: \"SIM\", ssrcs: c.join(\" \") });\n for (let r = 0; r < c.length; ++r) {\n const i = c[r];\n e.ssrcs.push({ id: i, attribute: \"cname\", value: o }),\n e.ssrcs.push({ id: i, attribute: \"msid\", value: `${n} ${t.id}` });\n }\n for (let r = 0; r < d.length; ++r) {\n const i = c[r],\n s = d[r];\n e.ssrcs.push({ id: s, attribute: \"cname\", value: o }),\n e.ssrcs.push({ id: s, attribute: \"msid\", value: `${n} ${t.id}` }),\n e.ssrcGroups.push({ semantics: \"FID\", ssrcs: `${i} ${s}` });\n }\n });\n },\n function (e, t, r) {\n \"use strict\";\n var i,\n s = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"),\n n = {},\n a = 0,\n o = 0;\n function c(e) {\n var t = \"\";\n do {\n (t = s[e % 64] + t), (e = Math.floor(e / 64));\n } while (e > 0);\n return t;\n }\n function d() {\n var e = c(+new Date());\n return e !== i ? ((a = 0), (i = e)) : e + \".\" + c(a++);\n }\n for (; o < 64; o++) n[s[o]] = o;\n (d.encode = c),\n (d.decode = function (e) {\n var t = 0;\n for (o = 0; o < e.length; o++) t = 64 * t + n[e.charAt(o)];\n return t;\n }),\n (e.exports = d);\n },\n function (e, t, r) {\n (function (i) {\n (t.formatArgs = function (t) {\n if (\n ((t[0] =\n (this.useColors ? \"%c\" : \"\") +\n this.namespace +\n (this.useColors ? \" %c\" : \" \") +\n t[0] +\n (this.useColors ? \"%c \" : \" \") +\n \"+\" +\n e.exports.humanize(this.diff)),\n !this.useColors)\n )\n return;\n const r = \"color: \" + this.color;\n t.splice(1, 0, r, \"color: inherit\");\n let i = 0,\n s = 0;\n t[0].replace(/%[a-zA-Z%]/g, (e) => {\n \"%%\" !== e && (i++, \"%c\" === e && (s = i));\n }),\n t.splice(s, 0, r);\n }),\n (t.save = function (e) {\n try {\n e ? t.storage.setItem(\"debug\", e) : t.storage.removeItem(\"debug\");\n } catch (e) {}\n }),\n (t.load = function () {\n let e;\n try {\n e = t.storage.getItem(\"debug\");\n } catch (e) {}\n !e && void 0 !== i && \"env\" in i && (e = i.env.DEBUG);\n return e;\n }),\n (t.useColors = function () {\n if (\n \"undefined\" != typeof window &&\n window.process &&\n (\"renderer\" === window.process.type || window.process.__nwjs)\n )\n return !0;\n if (\n \"undefined\" != typeof navigator &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)\n )\n return !1;\n return (\n (\"undefined\" != typeof document &&\n document.documentElement &&\n document.documentElement.style &&\n document.documentElement.style.WebkitAppearance) ||\n (\"undefined\" != typeof window &&\n window.console &&\n (window.console.firebug || (window.console.exception && window.console.table))) ||\n (\"undefined\" != typeof navigator &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) &&\n parseInt(RegExp.$1, 10) >= 31) ||\n (\"undefined\" != typeof navigator &&\n navigator.userAgent &&\n navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/))\n );\n }),\n (t.storage = (function () {\n try {\n return localStorage;\n } catch (e) {}\n })()),\n (t.destroy = (() => {\n let e = !1;\n return () => {\n e ||\n ((e = !0),\n console.warn(\n \"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"\n ));\n };\n })()),\n (t.colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\",\n ]),\n (t.log = console.debug || console.log || (() => {})),\n (e.exports = r(38)(t));\n const { formatters: s } = e.exports;\n s.j = function (e) {\n try {\n return JSON.stringify(e);\n } catch (e) {\n return \"[UnexpectedJSONParseError]: \" + e.message;\n }\n };\n }.call(this, r(37)));\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.parse = void 0);\n const i = new RegExp(\"^[LS]([1-9]\\\\d{0,1})T([1-9]\\\\d{0,1})\");\n t.parse = function (e) {\n const t = i.exec(e || \"\");\n return t\n ? { spatialLayers: Number(t[1]), temporalLayers: Number(t[2]) }\n : { spatialLayers: 1, temporalLayers: 1 };\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i,\n s = \"object\" == typeof Reflect ? Reflect : null,\n n =\n s && \"function\" == typeof s.apply\n ? s.apply\n : function (e, t, r) {\n return Function.prototype.apply.call(e, t, r);\n };\n i =\n s && \"function\" == typeof s.ownKeys\n ? s.ownKeys\n : Object.getOwnPropertySymbols\n ? function (e) {\n return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));\n }\n : function (e) {\n return Object.getOwnPropertyNames(e);\n };\n var a =\n Number.isNaN ||\n function (e) {\n return e != e;\n };\n function o() {\n o.init.call(this);\n }\n (e.exports = o),\n (e.exports.once = function (e, t) {\n return new Promise(function (r, i) {\n function s(r) {\n e.removeListener(t, n), i(r);\n }\n function n() {\n \"function\" == typeof e.removeListener && e.removeListener(\"error\", s), r([].slice.call(arguments));\n }\n _(e, t, n, { once: !0 }),\n \"error\" !== t &&\n (function (e, t, r) {\n \"function\" == typeof e.on && _(e, \"error\", t, r);\n })(e, s, { once: !0 });\n });\n }),\n (o.EventEmitter = o),\n (o.prototype._events = void 0),\n (o.prototype._eventsCount = 0),\n (o.prototype._maxListeners = void 0);\n var c = 10;\n function d(e) {\n if (\"function\" != typeof e)\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof e);\n }\n function p(e) {\n return void 0 === e._maxListeners ? o.defaultMaxListeners : e._maxListeners;\n }\n function l(e, t, r, i) {\n var s, n, a, o;\n if (\n (d(r),\n void 0 === (n = e._events)\n ? ((n = e._events = Object.create(null)), (e._eventsCount = 0))\n : (void 0 !== n.newListener && (e.emit(\"newListener\", t, r.listener ? r.listener : r), (n = e._events)),\n (a = n[t])),\n void 0 === a)\n )\n (a = n[t] = r), ++e._eventsCount;\n else if (\n (\"function\" == typeof a ? (a = n[t] = i ? [r, a] : [a, r]) : i ? a.unshift(r) : a.push(r),\n (s = p(e)) > 0 && a.length > s && !a.warned)\n ) {\n a.warned = !0;\n var c = new Error(\n \"Possible EventEmitter memory leak detected. \" +\n a.length +\n \" \" +\n String(t) +\n \" listeners added. Use emitter.setMaxListeners() to increase limit\"\n );\n (c.name = \"MaxListenersExceededWarning\"),\n (c.emitter = e),\n (c.type = t),\n (c.count = a.length),\n (o = c),\n console && console.warn && console.warn(o);\n }\n return e;\n }\n function h() {\n if (!this.fired)\n return (\n this.target.removeListener(this.type, this.wrapFn),\n (this.fired = !0),\n 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments)\n );\n }\n function u(e, t, r) {\n var i = { fired: !1, wrapFn: void 0, target: e, type: t, listener: r },\n s = h.bind(i);\n return (s.listener = r), (i.wrapFn = s), s;\n }\n function f(e, t, r) {\n var i = e._events;\n if (void 0 === i) return [];\n var s = i[t];\n return void 0 === s\n ? []\n : \"function\" == typeof s\n ? r\n ? [s.listener || s]\n : [s]\n : r\n ? (function (e) {\n for (var t = new Array(e.length), r = 0; r < t.length; ++r) t[r] = e[r].listener || e[r];\n return t;\n })(s)\n : g(s, s.length);\n }\n function m(e) {\n var t = this._events;\n if (void 0 !== t) {\n var r = t[e];\n if (\"function\" == typeof r) return 1;\n if (void 0 !== r) return r.length;\n }\n return 0;\n }\n function g(e, t) {\n for (var r = new Array(t), i = 0; i < t; ++i) r[i] = e[i];\n return r;\n }\n function _(e, t, r, i) {\n if (\"function\" == typeof e.on) i.once ? e.once(t, r) : e.on(t, r);\n else {\n if (\"function\" != typeof e.addEventListener)\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof e);\n e.addEventListener(t, function s(n) {\n i.once && e.removeEventListener(t, s), r(n);\n });\n }\n }\n Object.defineProperty(o, \"defaultMaxListeners\", {\n enumerable: !0,\n get: function () {\n return c;\n },\n set: function (e) {\n if (\"number\" != typeof e || e < 0 || a(e))\n throw new RangeError(\n 'The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' +\n e +\n \".\"\n );\n c = e;\n },\n }),\n (o.init = function () {\n (void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events) ||\n ((this._events = Object.create(null)), (this._eventsCount = 0)),\n (this._maxListeners = this._maxListeners || void 0);\n }),\n (o.prototype.setMaxListeners = function (e) {\n if (\"number\" != typeof e || e < 0 || a(e))\n throw new RangeError(\n 'The value of \"n\" is out of range. It must be a non-negative number. Received ' + e + \".\"\n );\n return (this._maxListeners = e), this;\n }),\n (o.prototype.getMaxListeners = function () {\n return p(this);\n }),\n (o.prototype.emit = function (e) {\n for (var t = [], r = 1; r < arguments.length; r++) t.push(arguments[r]);\n var i = \"error\" === e,\n s = this._events;\n if (void 0 !== s) i = i && void 0 === s.error;\n else if (!i) return !1;\n if (i) {\n var a;\n if ((t.length > 0 && (a = t[0]), a instanceof Error)) throw a;\n var o = new Error(\"Unhandled error.\" + (a ? \" (\" + a.message + \")\" : \"\"));\n throw ((o.context = a), o);\n }\n var c = s[e];\n if (void 0 === c) return !1;\n if (\"function\" == typeof c) n(c, this, t);\n else {\n var d = c.length,\n p = g(c, d);\n for (r = 0; r < d; ++r) n(p[r], this, t);\n }\n return !0;\n }),\n (o.prototype.addListener = function (e, t) {\n return l(this, e, t, !1);\n }),\n (o.prototype.on = o.prototype.addListener),\n (o.prototype.prependListener = function (e, t) {\n return l(this, e, t, !0);\n }),\n (o.prototype.once = function (e, t) {\n return d(t), this.on(e, u(this, e, t)), this;\n }),\n (o.prototype.prependOnceListener = function (e, t) {\n return d(t), this.prependListener(e, u(this, e, t)), this;\n }),\n (o.prototype.removeListener = function (e, t) {\n var r, i, s, n, a;\n if ((d(t), void 0 === (i = this._events))) return this;\n if (void 0 === (r = i[e])) return this;\n if (r === t || r.listener === t)\n 0 == --this._eventsCount\n ? (this._events = Object.create(null))\n : (delete i[e], i.removeListener && this.emit(\"removeListener\", e, r.listener || t));\n else if (\"function\" != typeof r) {\n for (s = -1, n = r.length - 1; n >= 0; n--)\n if (r[n] === t || r[n].listener === t) {\n (a = r[n].listener), (s = n);\n break;\n }\n if (s < 0) return this;\n 0 === s\n ? r.shift()\n : (function (e, t) {\n for (; t + 1 < e.length; t++) e[t] = e[t + 1];\n e.pop();\n })(r, s),\n 1 === r.length && (i[e] = r[0]),\n void 0 !== i.removeListener && this.emit(\"removeListener\", e, a || t);\n }\n return this;\n }),\n (o.prototype.off = o.prototype.removeListener),\n (o.prototype.removeAllListeners = function (e) {\n var t, r, i;\n if (void 0 === (r = this._events)) return this;\n if (void 0 === r.removeListener)\n return (\n 0 === arguments.length\n ? ((this._events = Object.create(null)), (this._eventsCount = 0))\n : void 0 !== r[e] && (0 == --this._eventsCount ? (this._events = Object.create(null)) : delete r[e]),\n this\n );\n if (0 === arguments.length) {\n var s,\n n = Object.keys(r);\n for (i = 0; i < n.length; ++i) \"removeListener\" !== (s = n[i]) && this.removeAllListeners(s);\n return (\n this.removeAllListeners(\"removeListener\"),\n (this._events = Object.create(null)),\n (this._eventsCount = 0),\n this\n );\n }\n if (\"function\" == typeof (t = r[e])) this.removeListener(e, t);\n else if (void 0 !== t) for (i = t.length - 1; i >= 0; i--) this.removeListener(e, t[i]);\n return this;\n }),\n (o.prototype.listeners = function (e) {\n return f(this, e, !0);\n }),\n (o.prototype.rawListeners = function (e) {\n return f(this, e, !1);\n }),\n (o.listenerCount = function (e, t) {\n return \"function\" == typeof e.listenerCount ? e.listenerCount(t) : m.call(e, t);\n }),\n (o.prototype.listenerCount = m),\n (o.prototype.eventNames = function () {\n return this._eventsCount > 0 ? i(this._events) : [];\n });\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n },\n a =\n (this && this.__importDefault) ||\n function (e) {\n return e && e.__esModule ? e : { default: e };\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Device = t.detectDevice = void 0);\n const o = a(r(40)),\n c = r(0),\n d = r(13),\n p = r(7),\n l = n(r(1)),\n h = n(r(4)),\n u = r(24),\n f = r(43),\n m = r(47),\n g = r(48),\n _ = r(49),\n b = r(50),\n v = r(51),\n y = r(52),\n w = r(53),\n S = r(55),\n R = new c.Logger(\"Device\");\n function P() {\n if (\"object\" == typeof navigator && \"ReactNative\" === navigator.product)\n return \"undefined\" == typeof RTCPeerConnection\n ? void R.warn(\"this._detectDevice() | unsupported ReactNative without RTCPeerConnection\")\n : (R.debug(\"this._detectDevice() | ReactNative handler chosen\"), \"ReactNative\");\n if (\"object\" != typeof navigator || \"string\" != typeof navigator.userAgent)\n R.warn(\"this._detectDevice() | unknown device\");\n else {\n const e = navigator.userAgent,\n t = o.default.getParser(e),\n r = t.getEngine();\n if (t.satisfies({ chrome: \">=74\", chromium: \">=74\", \"microsoft edge\": \">=88\" })) return \"Chrome74\";\n if (t.satisfies({ chrome: \">=70\", chromium: \">=70\" })) return \"Chrome70\";\n if (t.satisfies({ chrome: \">=67\", chromium: \">=67\" })) return \"Chrome67\";\n if (t.satisfies({ chrome: \">=55\", chromium: \">=55\" })) return \"Chrome55\";\n if (t.satisfies({ firefox: \">=60\" })) return \"Firefox60\";\n if (t.satisfies({ ios: { OS: \">=14.3\", firefox: \">=30.0\" } })) return \"Safari12\";\n if (\n t.satisfies({ safari: \">=12.0\" }) &&\n \"undefined\" != typeof RTCRtpTransceiver &&\n RTCRtpTransceiver.prototype.hasOwnProperty(\"currentDirection\")\n )\n return \"Safari12\";\n if (t.satisfies({ safari: \">=11\" })) return \"Safari11\";\n if (t.satisfies({ \"microsoft edge\": \">=11\" }) && t.satisfies({ \"microsoft edge\": \"<=18\" })) return \"Edge11\";\n if (r.name && \"blink\" === r.name.toLowerCase()) {\n const t = e.match(/(?:(?:Chrome|Chromium))[ /](\\w+)/i);\n if (t) {\n const e = Number(t[1]);\n return e >= 74 ? \"Chrome74\" : e >= 70 ? \"Chrome70\" : e >= 67 ? \"Chrome67\" : \"Chrome55\";\n }\n return \"Chrome74\";\n }\n R.warn(\n \"this._detectDevice() | browser not supported [name:%s, version:%s]\",\n t.getBrowserName(),\n t.getBrowserVersion()\n );\n }\n }\n t.detectDevice = P;\n t.Device = class {\n constructor({ handlerName: e, handlerFactory: t, Handler: r } = {}) {\n if (((this._loaded = !1), (this._observer = new d.EnhancedEventEmitter()), R.debug(\"constructor()\"), r)) {\n if (\n (R.warn(\"constructor() | Handler option is DEPRECATED, use handlerName or handlerFactory instead\"),\n \"string\" != typeof r)\n )\n throw new TypeError(\"non string Handler option no longer supported, use handlerFactory instead\");\n e = r;\n }\n if (e && t) throw new TypeError(\"just one of handlerName or handlerInterface can be given\");\n if (t) this._handlerFactory = t;\n else {\n if (e) R.debug(\"constructor() | handler given: %s\", e);\n else {\n if (!(e = P())) throw new p.UnsupportedError(\"device not supported\");\n R.debug(\"constructor() | detected handler: %s\", e);\n }\n switch (e) {\n case \"Chrome74\":\n this._handlerFactory = f.Chrome74.createFactory();\n break;\n case \"Chrome70\":\n this._handlerFactory = m.Chrome70.createFactory();\n break;\n case \"Chrome67\":\n this._handlerFactory = g.Chrome67.createFactory();\n break;\n case \"Chrome55\":\n this._handlerFactory = _.Chrome55.createFactory();\n break;\n case \"Firefox60\":\n this._handlerFactory = b.Firefox60.createFactory();\n break;\n case \"Safari12\":\n this._handlerFactory = v.Safari12.createFactory();\n break;\n case \"Safari11\":\n this._handlerFactory = y.Safari11.createFactory();\n break;\n case \"Edge11\":\n this._handlerFactory = w.Edge11.createFactory();\n break;\n case \"ReactNative\":\n this._handlerFactory = S.ReactNative.createFactory();\n break;\n default:\n throw new TypeError(`unknown handlerName \"${e}\"`);\n }\n }\n const i = this._handlerFactory();\n (this._handlerName = i.name),\n i.close(),\n (this._extendedRtpCapabilities = void 0),\n (this._recvRtpCapabilities = void 0),\n (this._canProduceByKind = { audio: !1, video: !1 }),\n (this._sctpCapabilities = void 0);\n }\n get handlerName() {\n return this._handlerName;\n }\n get loaded() {\n return this._loaded;\n }\n get rtpCapabilities() {\n if (!this._loaded) throw new p.InvalidStateError(\"not loaded\");\n return this._recvRtpCapabilities;\n }\n get sctpCapabilities() {\n if (!this._loaded) throw new p.InvalidStateError(\"not loaded\");\n return this._sctpCapabilities;\n }\n get observer() {\n return this._observer;\n }\n async load({ routerRtpCapabilities: e }) {\n let t;\n R.debug(\"load() [routerRtpCapabilities:%o]\", e), (e = l.clone(e, void 0));\n try {\n if (this._loaded) throw new p.InvalidStateError(\"already loaded\");\n h.validateRtpCapabilities(e), (t = this._handlerFactory());\n const r = await t.getNativeRtpCapabilities();\n R.debug(\"load() | got native RTP capabilities:%o\", r),\n h.validateRtpCapabilities(r),\n (this._extendedRtpCapabilities = h.getExtendedRtpCapabilities(r, e)),\n R.debug(\"load() | got extended RTP capabilities:%o\", this._extendedRtpCapabilities),\n (this._canProduceByKind.audio = h.canSend(\"audio\", this._extendedRtpCapabilities)),\n (this._canProduceByKind.video = h.canSend(\"video\", this._extendedRtpCapabilities)),\n (this._recvRtpCapabilities = h.getRecvRtpCapabilities(this._extendedRtpCapabilities)),\n h.validateRtpCapabilities(this._recvRtpCapabilities),\n R.debug(\"load() | got receiving RTP capabilities:%o\", this._recvRtpCapabilities),\n (this._sctpCapabilities = await t.getNativeSctpCapabilities()),\n R.debug(\"load() | got native SCTP capabilities:%o\", this._sctpCapabilities),\n h.validateSctpCapabilities(this._sctpCapabilities),\n R.debug(\"load() succeeded\"),\n (this._loaded = !0),\n t.close();\n } catch (e) {\n throw (t && t.close(), e);\n }\n }\n canProduce(e) {\n if (!this._loaded) throw new p.InvalidStateError(\"not loaded\");\n if (\"audio\" !== e && \"video\" !== e) throw new TypeError(`invalid kind \"${e}\"`);\n return this._canProduceByKind[e];\n }\n createSendTransport({\n id: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n appData: d = {},\n }) {\n return (\n R.debug(\"createSendTransport()\"),\n this._createTransport({\n direction: \"send\",\n id: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n appData: d,\n })\n );\n }\n createRecvTransport({\n id: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n appData: d = {},\n }) {\n return (\n R.debug(\"createRecvTransport()\"),\n this._createTransport({\n direction: \"recv\",\n id: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n appData: d,\n })\n );\n }\n _createTransport({\n direction: e,\n id: t,\n iceParameters: r,\n iceCandidates: i,\n dtlsParameters: s,\n sctpParameters: n,\n iceServers: a,\n iceTransportPolicy: o,\n additionalSettings: c,\n proprietaryConstraints: d,\n appData: l = {},\n }) {\n if (!this._loaded) throw new p.InvalidStateError(\"not loaded\");\n if (\"string\" != typeof t) throw new TypeError(\"missing id\");\n if (\"object\" != typeof r) throw new TypeError(\"missing iceParameters\");\n if (!Array.isArray(i)) throw new TypeError(\"missing iceCandidates\");\n if (\"object\" != typeof s) throw new TypeError(\"missing dtlsParameters\");\n if (n && \"object\" != typeof n) throw new TypeError(\"wrong sctpParameters\");\n if (l && \"object\" != typeof l) throw new TypeError(\"if given, appData must be an object\");\n const h = new u.Transport({\n direction: e,\n id: t,\n iceParameters: r,\n iceCandidates: i,\n dtlsParameters: s,\n sctpParameters: n,\n iceServers: a,\n iceTransportPolicy: o,\n additionalSettings: c,\n proprietaryConstraints: d,\n appData: l,\n handlerFactory: this._handlerFactory,\n extendedRtpCapabilities: this._extendedRtpCapabilities,\n canProduceByKind: this._canProduceByKind,\n });\n return this._observer.safeEmit(\"newtransport\", h), h;\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Transport = void 0);\n const a = r(42),\n o = r(0),\n c = r(13),\n d = r(7),\n p = n(r(1)),\n l = n(r(4)),\n h = r(25),\n u = r(26),\n f = r(27),\n m = r(28);\n class g {\n constructor(e) {\n (this.consumerOptions = e),\n (this.promise = new Promise((e, t) => {\n (this.resolve = e), (this.reject = t);\n }));\n }\n }\n const _ = new o.Logger(\"Transport\");\n class b extends c.EnhancedEventEmitter {\n constructor({\n direction: e,\n id: t,\n iceParameters: r,\n iceCandidates: i,\n dtlsParameters: s,\n sctpParameters: n,\n iceServers: o,\n iceTransportPolicy: l,\n additionalSettings: h,\n proprietaryConstraints: u,\n appData: f,\n handlerFactory: m,\n extendedRtpCapabilities: g,\n canProduceByKind: b,\n }) {\n super(),\n (this._closed = !1),\n (this._connectionState = \"new\"),\n (this._producers = new Map()),\n (this._consumers = new Map()),\n (this._dataProducers = new Map()),\n (this._dataConsumers = new Map()),\n (this._probatorConsumerCreated = !1),\n (this._awaitQueue = new a.AwaitQueue({ ClosedErrorClass: d.InvalidStateError })),\n (this._pendingConsumerTasks = []),\n (this._consumerCreationInProgress = !1),\n (this._pendingPauseConsumers = new Map()),\n (this._consumerPauseInProgress = !1),\n (this._pendingResumeConsumers = new Map()),\n (this._consumerResumeInProgress = !1),\n (this._observer = new c.EnhancedEventEmitter()),\n _.debug(\"constructor() [id:%s, direction:%s]\", t, e),\n (this._id = t),\n (this._direction = e),\n (this._extendedRtpCapabilities = g),\n (this._canProduceByKind = b),\n (this._maxSctpMessageSize = n ? n.maxMessageSize : null),\n delete (h = p.clone(h, {})).iceServers,\n delete h.iceTransportPolicy,\n delete h.bundlePolicy,\n delete h.rtcpMuxPolicy,\n delete h.sdpSemantics,\n (this._handler = m()),\n this._handler.run({\n direction: e,\n iceParameters: r,\n iceCandidates: i,\n dtlsParameters: s,\n sctpParameters: n,\n iceServers: o,\n iceTransportPolicy: l,\n additionalSettings: h,\n proprietaryConstraints: u,\n extendedRtpCapabilities: g,\n }),\n (this._appData = f),\n this._handleHandler();\n }\n get id() {\n return this._id;\n }\n get closed() {\n return this._closed;\n }\n get direction() {\n return this._direction;\n }\n get handler() {\n return this._handler;\n }\n get connectionState() {\n return this._connectionState;\n }\n get appData() {\n return this._appData;\n }\n set appData(e) {\n throw new Error(\"cannot override appData object\");\n }\n get observer() {\n return this._observer;\n }\n close() {\n if (!this._closed) {\n _.debug(\"close()\"), (this._closed = !0), this._awaitQueue.close(), this._handler.close();\n for (const e of this._producers.values()) e.transportClosed();\n this._producers.clear();\n for (const e of this._consumers.values()) e.transportClosed();\n this._consumers.clear();\n for (const e of this._dataProducers.values()) e.transportClosed();\n this._dataProducers.clear();\n for (const e of this._dataConsumers.values()) e.transportClosed();\n this._dataConsumers.clear(), this._observer.safeEmit(\"close\");\n }\n }\n async getStats() {\n if (this._closed) throw new d.InvalidStateError(\"closed\");\n return this._handler.getTransportStats();\n }\n async restartIce({ iceParameters: e }) {\n if ((_.debug(\"restartIce()\"), this._closed)) throw new d.InvalidStateError(\"closed\");\n if (!e) throw new TypeError(\"missing iceParameters\");\n return this._awaitQueue.push(async () => this._handler.restartIce(e), \"transport.restartIce()\");\n }\n async updateIceServers({ iceServers: e } = {}) {\n if ((_.debug(\"updateIceServers()\"), this._closed)) throw new d.InvalidStateError(\"closed\");\n if (!Array.isArray(e)) throw new TypeError(\"missing iceServers\");\n return this._awaitQueue.push(async () => this._handler.updateIceServers(e), \"transport.updateIceServers()\");\n }\n async produce({\n track: e,\n encodings: t,\n codecOptions: r,\n codec: i,\n stopTracks: s = !0,\n disableTrackOnPause: n = !0,\n zeroRtpOnPause: a = !1,\n appData: o = {},\n } = {}) {\n if ((_.debug(\"produce() [track:%o]\", e), !e)) throw new TypeError(\"missing track\");\n if (\"send\" !== this._direction) throw new d.UnsupportedError(\"not a sending Transport\");\n if (!this._canProduceByKind[e.kind]) throw new d.UnsupportedError(\"cannot produce \" + e.kind);\n if (\"ended\" === e.readyState) throw new d.InvalidStateError(\"track ended\");\n if (0 === this.listenerCount(\"connect\") && \"new\" === this._connectionState)\n throw new TypeError('no \"connect\" listener set into this transport');\n if (0 === this.listenerCount(\"produce\")) throw new TypeError('no \"produce\" listener set into this transport');\n if (o && \"object\" != typeof o) throw new TypeError(\"if given, appData must be an object\");\n return this._awaitQueue\n .push(async () => {\n let c;\n if (t && !Array.isArray(t)) throw TypeError(\"encodings must be an array\");\n t && 0 === t.length\n ? (c = void 0)\n : t &&\n (c = t.map((e) => {\n const t = { active: !0 };\n return (\n !1 === e.active && (t.active = !1),\n \"boolean\" == typeof e.dtx && (t.dtx = e.dtx),\n \"string\" == typeof e.scalabilityMode && (t.scalabilityMode = e.scalabilityMode),\n \"number\" == typeof e.scaleResolutionDownBy && (t.scaleResolutionDownBy = e.scaleResolutionDownBy),\n \"number\" == typeof e.maxBitrate && (t.maxBitrate = e.maxBitrate),\n \"number\" == typeof e.maxFramerate && (t.maxFramerate = e.maxFramerate),\n \"boolean\" == typeof e.adaptivePtime && (t.adaptivePtime = e.adaptivePtime),\n \"string\" == typeof e.priority && (t.priority = e.priority),\n \"string\" == typeof e.networkPriority && (t.networkPriority = e.networkPriority),\n t\n );\n }));\n const {\n localId: d,\n rtpParameters: p,\n rtpSender: u,\n } = await this._handler.send({ track: e, encodings: c, codecOptions: r, codec: i });\n try {\n l.validateRtpParameters(p);\n const { id: t } = await this.safeEmitAsPromise(\"produce\", {\n kind: e.kind,\n rtpParameters: p,\n appData: o,\n }),\n r = new h.Producer({\n id: t,\n localId: d,\n rtpSender: u,\n track: e,\n rtpParameters: p,\n stopTracks: s,\n disableTrackOnPause: n,\n zeroRtpOnPause: a,\n appData: o,\n });\n return (\n this._producers.set(r.id, r), this._handleProducer(r), this._observer.safeEmit(\"newproducer\", r), r\n );\n } catch (e) {\n throw (this._handler.stopSending(d).catch(() => {}), e);\n }\n }, \"transport.produce()\")\n .catch((t) => {\n if (s)\n try {\n e.stop();\n } catch (e) {}\n throw t;\n });\n }\n async consume({ id: e, producerId: t, kind: r, rtpParameters: i, appData: s = {} }) {\n if ((_.debug(\"consume()\"), (i = p.clone(i, void 0)), this._closed)) throw new d.InvalidStateError(\"closed\");\n if (\"recv\" !== this._direction) throw new d.UnsupportedError(\"not a receiving Transport\");\n if (\"string\" != typeof e) throw new TypeError(\"missing id\");\n if (\"string\" != typeof t) throw new TypeError(\"missing producerId\");\n if (\"audio\" !== r && \"video\" !== r) throw new TypeError(`invalid kind '${r}'`);\n if (0 === this.listenerCount(\"connect\") && \"new\" === this._connectionState)\n throw new TypeError('no \"connect\" listener set into this transport');\n if (s && \"object\" != typeof s) throw new TypeError(\"if given, appData must be an object\");\n if (!l.canReceive(i, this._extendedRtpCapabilities))\n throw new d.UnsupportedError(\"cannot consume this Producer\");\n const n = new g({ id: e, producerId: t, kind: r, rtpParameters: i, appData: s });\n return (\n this._pendingConsumerTasks.push(n),\n !1 === this._consumerCreationInProgress && this._createPendingConsumers(),\n n.promise\n );\n }\n async produceData({\n ordered: e = !0,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n label: i = \"\",\n protocol: s = \"\",\n appData: n = {},\n } = {}) {\n if ((_.debug(\"produceData()\"), \"send\" !== this._direction))\n throw new d.UnsupportedError(\"not a sending Transport\");\n if (!this._maxSctpMessageSize) throw new d.UnsupportedError(\"SCTP not enabled by remote Transport\");\n if (0 === this.listenerCount(\"connect\") && \"new\" === this._connectionState)\n throw new TypeError('no \"connect\" listener set into this transport');\n if (0 === this.listenerCount(\"producedata\"))\n throw new TypeError('no \"producedata\" listener set into this transport');\n if (n && \"object\" != typeof n) throw new TypeError(\"if given, appData must be an object\");\n return (\n (t || r) && (e = !1),\n this._awaitQueue.push(async () => {\n const { dataChannel: a, sctpStreamParameters: o } = await this._handler.sendDataChannel({\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n label: i,\n protocol: s,\n });\n l.validateSctpStreamParameters(o);\n const { id: c } = await this.safeEmitAsPromise(\"producedata\", {\n sctpStreamParameters: o,\n label: i,\n protocol: s,\n appData: n,\n }),\n d = new f.DataProducer({ id: c, dataChannel: a, sctpStreamParameters: o, appData: n });\n return (\n this._dataProducers.set(d.id, d),\n this._handleDataProducer(d),\n this._observer.safeEmit(\"newdataproducer\", d),\n d\n );\n }, \"transport.produceData()\")\n );\n }\n async consumeData({\n id: e,\n dataProducerId: t,\n sctpStreamParameters: r,\n label: i = \"\",\n protocol: s = \"\",\n appData: n = {},\n }) {\n if ((_.debug(\"consumeData()\"), (r = p.clone(r, void 0)), this._closed))\n throw new d.InvalidStateError(\"closed\");\n if (\"recv\" !== this._direction) throw new d.UnsupportedError(\"not a receiving Transport\");\n if (!this._maxSctpMessageSize) throw new d.UnsupportedError(\"SCTP not enabled by remote Transport\");\n if (\"string\" != typeof e) throw new TypeError(\"missing id\");\n if (\"string\" != typeof t) throw new TypeError(\"missing dataProducerId\");\n if (0 === this.listenerCount(\"connect\") && \"new\" === this._connectionState)\n throw new TypeError('no \"connect\" listener set into this transport');\n if (n && \"object\" != typeof n) throw new TypeError(\"if given, appData must be an object\");\n return (\n l.validateSctpStreamParameters(r),\n this._awaitQueue.push(async () => {\n const { dataChannel: a } = await this._handler.receiveDataChannel({\n sctpStreamParameters: r,\n label: i,\n protocol: s,\n }),\n o = new m.DataConsumer({\n id: e,\n dataProducerId: t,\n dataChannel: a,\n sctpStreamParameters: r,\n appData: n,\n });\n return (\n this._dataConsumers.set(o.id, o),\n this._handleDataConsumer(o),\n this._observer.safeEmit(\"newdataconsumer\", o),\n o\n );\n }, \"transport.consumeData()\")\n );\n }\n async _createPendingConsumers() {\n this._awaitQueue\n .push(async () => {\n this._consumerCreationInProgress = !0;\n const e = [...this._pendingConsumerTasks];\n this._pendingConsumerTasks = [];\n let t = void 0;\n const r = [];\n for (const t of e) {\n const { id: e, kind: i, rtpParameters: s } = t.consumerOptions;\n r.push({ trackId: e, kind: i, rtpParameters: s });\n }\n try {\n const i = await this._handler.receive(r);\n for (let r = 0; r < i.length; r++) {\n const s = e[r],\n n = i[r],\n { id: a, producerId: o, kind: c, rtpParameters: d, appData: p } = s.consumerOptions,\n { localId: l, rtpReceiver: h, track: f } = n,\n m = new u.Consumer({\n id: a,\n localId: l,\n producerId: o,\n rtpReceiver: h,\n track: f,\n rtpParameters: d,\n appData: p,\n });\n this._consumers.set(m.id, m),\n this._handleConsumer(m),\n this._probatorConsumerCreated || t || \"video\" !== c || (t = m),\n this._observer.safeEmit(\"newconsumer\", m),\n s.resolve(m);\n }\n } catch (t) {\n for (const r of e) r.reject(t);\n }\n if (t)\n try {\n const e = l.generateProbatorRtpParameters(t.rtpParameters);\n await this._handler.receive([{ trackId: \"probator\", kind: \"video\", rtpParameters: e }]),\n _.debug(\"_createPendingConsumers() | Consumer for RTP probation created\"),\n (this._probatorConsumerCreated = !0);\n } catch (e) {\n _.error(\"_createPendingConsumers() | failed to create Consumer for RTP probation:%o\", e);\n }\n this._consumerCreationInProgress = !1;\n }, \"transport._createPendingConsumers()\")\n .then(() => {\n this._pendingConsumerTasks.length > 0 && this._createPendingConsumers();\n })\n .catch(() => {});\n }\n _pausePendingConsumers() {\n this._awaitQueue\n .push(async () => {\n this._consumerPauseInProgress = !0;\n const e = Array.from(this._pendingPauseConsumers.values());\n this._pendingPauseConsumers.clear(), await this._handler.pauseReceiving(e.map((e) => e.localId));\n }, \"consumer @pause event\")\n .catch(() => {})\n .finally(() => {\n (this._consumerPauseInProgress = !1),\n this._pendingPauseConsumers.size > 0 && this._pausePendingConsumers();\n });\n }\n _resumePendingConsumers() {\n this._awaitQueue\n .push(async () => {\n this._consumerResumeInProgress = !0;\n const e = Array.from(this._pendingResumeConsumers.values());\n this._pendingResumeConsumers.clear(), await this._handler.resumeReceiving(e.map((e) => e.localId));\n }, \"consumer @resume event\")\n .catch(() => {})\n .finally(() => {\n (this._consumerResumeInProgress = !1),\n this._pendingResumeConsumers.size > 0 && this._resumePendingConsumers();\n });\n }\n _handleHandler() {\n const e = this._handler;\n e.on(\"@connect\", ({ dtlsParameters: e }, t, r) => {\n this._closed ? r(new d.InvalidStateError(\"closed\")) : this.safeEmit(\"connect\", { dtlsParameters: e }, t, r);\n }),\n e.on(\"@connectionstatechange\", (e) => {\n e !== this._connectionState &&\n (_.debug(\"connection state changed to %s\", e),\n (this._connectionState = e),\n this._closed || this.safeEmit(\"connectionstatechange\", e));\n });\n }\n _handleProducer(e) {\n e.on(\"@close\", () => {\n this._producers.delete(e.id),\n this._closed ||\n this._awaitQueue\n .push(async () => this._handler.stopSending(e.localId), \"producer @close event\")\n .catch((e) => _.warn(\"producer.close() failed:%o\", e));\n }),\n e.on(\"@replacetrack\", (t, r, i) => {\n this._awaitQueue\n .push(async () => this._handler.replaceTrack(e.localId, t), \"producer @replacetrack event\")\n .then(r)\n .catch(i);\n }),\n e.on(\"@setmaxspatiallayer\", (t, r, i) => {\n this._awaitQueue\n .push(async () => this._handler.setMaxSpatialLayer(e.localId, t), \"producer @setmaxspatiallayer event\")\n .then(r)\n .catch(i);\n }),\n e.on(\"@setrtpencodingparameters\", (t, r, i) => {\n this._awaitQueue\n .push(\n async () => this._handler.setRtpEncodingParameters(e.localId, t),\n \"producer @setrtpencodingparameters event\"\n )\n .then(r)\n .catch(i);\n }),\n e.on(\"@getstats\", (t, r) => {\n if (this._closed) return r(new d.InvalidStateError(\"closed\"));\n this._handler.getSenderStats(e.localId).then(t).catch(r);\n });\n }\n _handleConsumer(e) {\n e.on(\"@close\", () => {\n this._consumers.delete(e.id),\n this._pendingPauseConsumers.delete(e.id),\n this._pendingResumeConsumers.delete(e.id),\n this._closed ||\n this._awaitQueue\n .push(async () => this._handler.stopReceiving(e.localId), \"consumer @close event\")\n .catch(() => {});\n }),\n e.on(\"@pause\", () => {\n this._pendingResumeConsumers.has(e.id) && this._pendingResumeConsumers.delete(e.id),\n this._pendingPauseConsumers.set(e.id, e),\n !1 === this._consumerPauseInProgress && this._pausePendingConsumers();\n }),\n e.on(\"@resume\", () => {\n this._pendingPauseConsumers.has(e.id) && this._pendingPauseConsumers.delete(e.id),\n this._pendingResumeConsumers.set(e.id, e),\n !1 === this._consumerResumeInProgress && this._resumePendingConsumers();\n }),\n e.on(\"@getstats\", (t, r) => {\n if (this._closed) return r(new d.InvalidStateError(\"closed\"));\n this._handler.getReceiverStats(e.localId).then(t).catch(r);\n });\n }\n _handleDataProducer(e) {\n e.on(\"@close\", () => {\n this._dataProducers.delete(e.id);\n });\n }\n _handleDataConsumer(e) {\n e.on(\"@close\", () => {\n this._dataConsumers.delete(e.id);\n });\n }\n }\n t.Transport = b;\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Producer = void 0);\n const i = r(0),\n s = r(13),\n n = r(7),\n a = new i.Logger(\"Producer\");\n class o extends s.EnhancedEventEmitter {\n constructor({\n id: e,\n localId: t,\n rtpSender: r,\n track: i,\n rtpParameters: n,\n stopTracks: o,\n disableTrackOnPause: c,\n zeroRtpOnPause: d,\n appData: p,\n }) {\n super(),\n (this._closed = !1),\n (this._observer = new s.EnhancedEventEmitter()),\n a.debug(\"constructor()\"),\n (this._id = e),\n (this._localId = t),\n (this._rtpSender = r),\n (this._track = i),\n (this._kind = i.kind),\n (this._rtpParameters = n),\n (this._paused = !!c && !i.enabled),\n (this._maxSpatialLayer = void 0),\n (this._stopTracks = o),\n (this._disableTrackOnPause = c),\n (this._zeroRtpOnPause = d),\n (this._appData = p),\n (this._onTrackEnded = this._onTrackEnded.bind(this)),\n this._handleTrack();\n }\n get id() {\n return this._id;\n }\n get localId() {\n return this._localId;\n }\n get closed() {\n return this._closed;\n }\n get kind() {\n return this._kind;\n }\n get rtpSender() {\n return this._rtpSender;\n }\n get track() {\n return this._track;\n }\n get rtpParameters() {\n return this._rtpParameters;\n }\n get paused() {\n return this._paused;\n }\n get maxSpatialLayer() {\n return this._maxSpatialLayer;\n }\n get appData() {\n return this._appData;\n }\n set appData(e) {\n throw new Error(\"cannot override appData object\");\n }\n get observer() {\n return this._observer;\n }\n close() {\n this._closed ||\n (a.debug(\"close()\"),\n (this._closed = !0),\n this._destroyTrack(),\n this.emit(\"@close\"),\n this._observer.safeEmit(\"close\"));\n }\n transportClosed() {\n this._closed ||\n (a.debug(\"transportClosed()\"),\n (this._closed = !0),\n this._destroyTrack(),\n this.safeEmit(\"transportclose\"),\n this._observer.safeEmit(\"close\"));\n }\n async getStats() {\n if (this._closed) throw new n.InvalidStateError(\"closed\");\n return this.safeEmitAsPromise(\"@getstats\");\n }\n pause() {\n a.debug(\"pause()\"),\n this._closed\n ? a.error(\"pause() | Producer closed\")\n : ((this._paused = !0),\n this._track && this._disableTrackOnPause && (this._track.enabled = !1),\n this._zeroRtpOnPause && this.safeEmitAsPromise(\"@replacetrack\", null).catch(() => {}),\n this._observer.safeEmit(\"pause\"));\n }\n resume() {\n a.debug(\"resume()\"),\n this._closed\n ? a.error(\"resume() | Producer closed\")\n : ((this._paused = !1),\n this._track && this._disableTrackOnPause && (this._track.enabled = !0),\n this._zeroRtpOnPause && this.safeEmitAsPromise(\"@replacetrack\", this._track).catch(() => {}),\n this._observer.safeEmit(\"resume\"));\n }\n async replaceTrack({ track: e }) {\n if ((a.debug(\"replaceTrack() [track:%o]\", e), this._closed)) {\n if (e && this._stopTracks)\n try {\n e.stop();\n } catch (e) {}\n throw new n.InvalidStateError(\"closed\");\n }\n if (e && \"ended\" === e.readyState) throw new n.InvalidStateError(\"track ended\");\n e !== this._track\n ? ((this._zeroRtpOnPause && this._paused) || (await this.safeEmitAsPromise(\"@replacetrack\", e)),\n this._destroyTrack(),\n (this._track = e),\n this._track &&\n this._disableTrackOnPause &&\n (this._paused ? this._paused && (this._track.enabled = !1) : (this._track.enabled = !0)),\n this._handleTrack())\n : a.debug(\"replaceTrack() | same track, ignored\");\n }\n async setMaxSpatialLayer(e) {\n if (this._closed) throw new n.InvalidStateError(\"closed\");\n if (\"video\" !== this._kind) throw new n.UnsupportedError(\"not a video Producer\");\n if (\"number\" != typeof e) throw new TypeError(\"invalid spatialLayer\");\n e !== this._maxSpatialLayer &&\n (await this.safeEmitAsPromise(\"@setmaxspatiallayer\", e), (this._maxSpatialLayer = e));\n }\n async setRtpEncodingParameters(e) {\n if (this._closed) throw new n.InvalidStateError(\"closed\");\n if (\"object\" != typeof e) throw new TypeError(\"invalid params\");\n await this.safeEmitAsPromise(\"@setrtpencodingparameters\", e);\n }\n _onTrackEnded() {\n a.debug('track \"ended\" event'), this.safeEmit(\"trackended\"), this._observer.safeEmit(\"trackended\");\n }\n _handleTrack() {\n this._track && this._track.addEventListener(\"ended\", this._onTrackEnded);\n }\n _destroyTrack() {\n if (this._track)\n try {\n this._track.removeEventListener(\"ended\", this._onTrackEnded), this._stopTracks && this._track.stop();\n } catch (e) {}\n }\n }\n t.Producer = o;\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Consumer = void 0);\n const i = r(0),\n s = r(13),\n n = r(7),\n a = new i.Logger(\"Consumer\");\n class o extends s.EnhancedEventEmitter {\n constructor({ id: e, localId: t, producerId: r, rtpReceiver: i, track: n, rtpParameters: o, appData: c }) {\n super(),\n (this._closed = !1),\n (this._observer = new s.EnhancedEventEmitter()),\n a.debug(\"constructor()\"),\n (this._id = e),\n (this._localId = t),\n (this._producerId = r),\n (this._rtpReceiver = i),\n (this._track = n),\n (this._rtpParameters = o),\n (this._paused = !n.enabled),\n (this._appData = c),\n (this._onTrackEnded = this._onTrackEnded.bind(this)),\n this._handleTrack();\n }\n get id() {\n return this._id;\n }\n get localId() {\n return this._localId;\n }\n get producerId() {\n return this._producerId;\n }\n get closed() {\n return this._closed;\n }\n get kind() {\n return this._track.kind;\n }\n get rtpReceiver() {\n return this._rtpReceiver;\n }\n get track() {\n return this._track;\n }\n get rtpParameters() {\n return this._rtpParameters;\n }\n get paused() {\n return this._paused;\n }\n get appData() {\n return this._appData;\n }\n set appData(e) {\n throw new Error(\"cannot override appData object\");\n }\n get observer() {\n return this._observer;\n }\n close() {\n this._closed ||\n (a.debug(\"close()\"),\n (this._closed = !0),\n this._destroyTrack(),\n this.emit(\"@close\"),\n this._observer.safeEmit(\"close\"));\n }\n transportClosed() {\n this._closed ||\n (a.debug(\"transportClosed()\"),\n (this._closed = !0),\n this._destroyTrack(),\n this.safeEmit(\"transportclose\"),\n this._observer.safeEmit(\"close\"));\n }\n async getStats() {\n if (this._closed) throw new n.InvalidStateError(\"closed\");\n return this.safeEmitAsPromise(\"@getstats\");\n }\n pause() {\n a.debug(\"pause()\"),\n this._closed\n ? a.error(\"pause() | Consumer closed\")\n : ((this._paused = !0),\n (this._track.enabled = !1),\n this.emit(\"@pause\"),\n this._observer.safeEmit(\"pause\"));\n }\n resume() {\n a.debug(\"resume()\"),\n this._closed\n ? a.error(\"resume() | Consumer closed\")\n : ((this._paused = !1),\n (this._track.enabled = !0),\n this.emit(\"@resume\"),\n this._observer.safeEmit(\"resume\"));\n }\n _onTrackEnded() {\n a.debug('track \"ended\" event'), this.safeEmit(\"trackended\"), this._observer.safeEmit(\"trackended\");\n }\n _handleTrack() {\n this._track.addEventListener(\"ended\", this._onTrackEnded);\n }\n _destroyTrack() {\n try {\n this._track.removeEventListener(\"ended\", this._onTrackEnded), this._track.stop();\n } catch (e) {}\n }\n }\n t.Consumer = o;\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.DataProducer = void 0);\n const i = r(0),\n s = r(13),\n n = r(7),\n a = new i.Logger(\"DataProducer\");\n class o extends s.EnhancedEventEmitter {\n constructor({ id: e, dataChannel: t, sctpStreamParameters: r, appData: i }) {\n super(),\n (this._closed = !1),\n (this._observer = new s.EnhancedEventEmitter()),\n a.debug(\"constructor()\"),\n (this._id = e),\n (this._dataChannel = t),\n (this._sctpStreamParameters = r),\n (this._appData = i),\n this._handleDataChannel();\n }\n get id() {\n return this._id;\n }\n get closed() {\n return this._closed;\n }\n get sctpStreamParameters() {\n return this._sctpStreamParameters;\n }\n get readyState() {\n return this._dataChannel.readyState;\n }\n get label() {\n return this._dataChannel.label;\n }\n get protocol() {\n return this._dataChannel.protocol;\n }\n get bufferedAmount() {\n return this._dataChannel.bufferedAmount;\n }\n get bufferedAmountLowThreshold() {\n return this._dataChannel.bufferedAmountLowThreshold;\n }\n set bufferedAmountLowThreshold(e) {\n this._dataChannel.bufferedAmountLowThreshold = e;\n }\n get appData() {\n return this._appData;\n }\n set appData(e) {\n throw new Error(\"cannot override appData object\");\n }\n get observer() {\n return this._observer;\n }\n close() {\n this._closed ||\n (a.debug(\"close()\"),\n (this._closed = !0),\n this._dataChannel.close(),\n this.emit(\"@close\"),\n this._observer.safeEmit(\"close\"));\n }\n transportClosed() {\n this._closed ||\n (a.debug(\"transportClosed()\"),\n (this._closed = !0),\n this._dataChannel.close(),\n this.safeEmit(\"transportclose\"),\n this._observer.safeEmit(\"close\"));\n }\n send(e) {\n if ((a.debug(\"send()\"), this._closed)) throw new n.InvalidStateError(\"closed\");\n this._dataChannel.send(e);\n }\n _handleDataChannel() {\n this._dataChannel.addEventListener(\"open\", () => {\n this._closed || (a.debug('DataChannel \"open\" event'), this.safeEmit(\"open\"));\n }),\n this._dataChannel.addEventListener(\"error\", (e) => {\n if (this._closed) return;\n let { error: t } = e;\n t || (t = new Error(\"unknown DataChannel error\")),\n \"sctp-failure\" === t.errorDetail\n ? a.error(\"DataChannel SCTP error [sctpCauseCode:%s]: %s\", t.sctpCauseCode, t.message)\n : a.error('DataChannel \"error\" event: %o', t),\n this.safeEmit(\"error\", t);\n }),\n this._dataChannel.addEventListener(\"close\", () => {\n this._closed ||\n (a.warn('DataChannel \"close\" event'), (this._closed = !0), this.emit(\"@close\"), this.safeEmit(\"close\"));\n }),\n this._dataChannel.addEventListener(\"message\", () => {\n this._closed || a.warn('DataChannel \"message\" event in a DataProducer, message discarded');\n }),\n this._dataChannel.addEventListener(\"bufferedamountlow\", () => {\n this._closed || this.safeEmit(\"bufferedamountlow\");\n });\n }\n }\n t.DataProducer = o;\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.DataConsumer = void 0);\n const i = r(0),\n s = r(13),\n n = new i.Logger(\"DataConsumer\");\n class a extends s.EnhancedEventEmitter {\n constructor({ id: e, dataProducerId: t, dataChannel: r, sctpStreamParameters: i, appData: a }) {\n super(),\n (this._closed = !1),\n (this._observer = new s.EnhancedEventEmitter()),\n n.debug(\"constructor()\"),\n (this._id = e),\n (this._dataProducerId = t),\n (this._dataChannel = r),\n (this._sctpStreamParameters = i),\n (this._appData = a),\n this._handleDataChannel();\n }\n get id() {\n return this._id;\n }\n get dataProducerId() {\n return this._dataProducerId;\n }\n get closed() {\n return this._closed;\n }\n get sctpStreamParameters() {\n return this._sctpStreamParameters;\n }\n get readyState() {\n return this._dataChannel.readyState;\n }\n get label() {\n return this._dataChannel.label;\n }\n get protocol() {\n return this._dataChannel.protocol;\n }\n get binaryType() {\n return this._dataChannel.binaryType;\n }\n set binaryType(e) {\n this._dataChannel.binaryType = e;\n }\n get appData() {\n return this._appData;\n }\n set appData(e) {\n throw new Error(\"cannot override appData object\");\n }\n get observer() {\n return this._observer;\n }\n close() {\n this._closed ||\n (n.debug(\"close()\"),\n (this._closed = !0),\n this._dataChannel.close(),\n this.emit(\"@close\"),\n this._observer.safeEmit(\"close\"));\n }\n transportClosed() {\n this._closed ||\n (n.debug(\"transportClosed()\"),\n (this._closed = !0),\n this._dataChannel.close(),\n this.safeEmit(\"transportclose\"),\n this._observer.safeEmit(\"close\"));\n }\n _handleDataChannel() {\n this._dataChannel.addEventListener(\"open\", () => {\n this._closed || (n.debug('DataChannel \"open\" event'), this.safeEmit(\"open\"));\n }),\n this._dataChannel.addEventListener(\"error\", (e) => {\n if (this._closed) return;\n let { error: t } = e;\n t || (t = new Error(\"unknown DataChannel error\")),\n \"sctp-failure\" === t.errorDetail\n ? n.error(\"DataChannel SCTP error [sctpCauseCode:%s]: %s\", t.sctpCauseCode, t.message)\n : n.error('DataChannel \"error\" event: %o', t),\n this.safeEmit(\"error\", t);\n }),\n this._dataChannel.addEventListener(\"close\", () => {\n this._closed ||\n (n.warn('DataChannel \"close\" event'), (this._closed = !0), this.emit(\"@close\"), this.safeEmit(\"close\"));\n }),\n this._dataChannel.addEventListener(\"message\", (e) => {\n this._closed || this.safeEmit(\"message\", e.data);\n });\n }\n }\n t.DataConsumer = a;\n },\n function (e, t) {\n var r = (e.exports = {\n v: [{ name: \"version\", reg: /^(\\d*)$/ }],\n o: [\n {\n name: \"origin\",\n reg: /^(\\S*) (\\d*) (\\d*) (\\S*) IP(\\d) (\\S*)/,\n names: [\"username\", \"sessionId\", \"sessionVersion\", \"netType\", \"ipVer\", \"address\"],\n format: \"%s %s %d %s IP%d %s\",\n },\n ],\n s: [{ name: \"name\" }],\n i: [{ name: \"description\" }],\n u: [{ name: \"uri\" }],\n e: [{ name: \"email\" }],\n p: [{ name: \"phone\" }],\n z: [{ name: \"timezones\" }],\n r: [{ name: \"repeats\" }],\n t: [{ name: \"timing\", reg: /^(\\d*) (\\d*)/, names: [\"start\", \"stop\"], format: \"%d %d\" }],\n c: [{ name: \"connection\", reg: /^IN IP(\\d) (\\S*)/, names: [\"version\", \"ip\"], format: \"IN IP%d %s\" }],\n b: [{ push: \"bandwidth\", reg: /^(TIAS|AS|CT|RR|RS):(\\d*)/, names: [\"type\", \"limit\"], format: \"%s:%s\" }],\n m: [\n {\n reg: /^(\\w*) (\\d*) ([\\w/]*)(?: (.*))?/,\n names: [\"type\", \"port\", \"protocol\", \"payloads\"],\n format: \"%s %d %s %s\",\n },\n ],\n a: [\n {\n push: \"rtp\",\n reg: /^rtpmap:(\\d*) ([\\w\\-.]*)(?:\\s*\\/(\\d*)(?:\\s*\\/(\\S*))?)?/,\n names: [\"payload\", \"codec\", \"rate\", \"encoding\"],\n format: function (e) {\n return e.encoding ? \"rtpmap:%d %s/%s/%s\" : e.rate ? \"rtpmap:%d %s/%s\" : \"rtpmap:%d %s\";\n },\n },\n { push: \"fmtp\", reg: /^fmtp:(\\d*) ([\\S| ]*)/, names: [\"payload\", \"config\"], format: \"fmtp:%d %s\" },\n { name: \"control\", reg: /^control:(.*)/, format: \"control:%s\" },\n {\n name: \"rtcp\",\n reg: /^rtcp:(\\d*)(?: (\\S*) IP(\\d) (\\S*))?/,\n names: [\"port\", \"netType\", \"ipVer\", \"address\"],\n format: function (e) {\n return null != e.address ? \"rtcp:%d %s IP%d %s\" : \"rtcp:%d\";\n },\n },\n {\n push: \"rtcpFbTrrInt\",\n reg: /^rtcp-fb:(\\*|\\d*) trr-int (\\d*)/,\n names: [\"payload\", \"value\"],\n format: \"rtcp-fb:%s trr-int %d\",\n },\n {\n push: \"rtcpFb\",\n reg: /^rtcp-fb:(\\*|\\d*) ([\\w-_]*)(?: ([\\w-_]*))?/,\n names: [\"payload\", \"type\", \"subtype\"],\n format: function (e) {\n return null != e.subtype ? \"rtcp-fb:%s %s %s\" : \"rtcp-fb:%s %s\";\n },\n },\n {\n push: \"ext\",\n reg: /^extmap:(\\d+)(?:\\/(\\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\\S*)(?: (\\S*))?/,\n names: [\"value\", \"direction\", \"encrypt-uri\", \"uri\", \"config\"],\n format: function (e) {\n return (\n \"extmap:%d\" +\n (e.direction ? \"/%s\" : \"%v\") +\n (e[\"encrypt-uri\"] ? \" %s\" : \"%v\") +\n \" %s\" +\n (e.config ? \" %s\" : \"\")\n );\n },\n },\n { name: \"extmapAllowMixed\", reg: /^(extmap-allow-mixed)/ },\n {\n push: \"crypto\",\n reg: /^crypto:(\\d*) ([\\w_]*) (\\S*)(?: (\\S*))?/,\n names: [\"id\", \"suite\", \"config\", \"sessionConfig\"],\n format: function (e) {\n return null != e.sessionConfig ? \"crypto:%d %s %s %s\" : \"crypto:%d %s %s\";\n },\n },\n { name: \"setup\", reg: /^setup:(\\w*)/, format: \"setup:%s\" },\n { name: \"connectionType\", reg: /^connection:(new|existing)/, format: \"connection:%s\" },\n { name: \"mid\", reg: /^mid:([^\\s]*)/, format: \"mid:%s\" },\n { name: \"msid\", reg: /^msid:(.*)/, format: \"msid:%s\" },\n { name: \"ptime\", reg: /^ptime:(\\d*(?:\\.\\d*)*)/, format: \"ptime:%d\" },\n { name: \"maxptime\", reg: /^maxptime:(\\d*(?:\\.\\d*)*)/, format: \"maxptime:%d\" },\n { name: \"direction\", reg: /^(sendrecv|recvonly|sendonly|inactive)/ },\n { name: \"icelite\", reg: /^(ice-lite)/ },\n { name: \"iceUfrag\", reg: /^ice-ufrag:(\\S*)/, format: \"ice-ufrag:%s\" },\n { name: \"icePwd\", reg: /^ice-pwd:(\\S*)/, format: \"ice-pwd:%s\" },\n {\n name: \"fingerprint\",\n reg: /^fingerprint:(\\S*) (\\S*)/,\n names: [\"type\", \"hash\"],\n format: \"fingerprint:%s %s\",\n },\n {\n push: \"candidates\",\n reg: /^candidate:(\\S*) (\\d*) (\\S*) (\\d*) (\\S*) (\\d*) typ (\\S*)(?: raddr (\\S*) rport (\\d*))?(?: tcptype (\\S*))?(?: generation (\\d*))?(?: network-id (\\d*))?(?: network-cost (\\d*))?/,\n names: [\n \"foundation\",\n \"component\",\n \"transport\",\n \"priority\",\n \"ip\",\n \"port\",\n \"type\",\n \"raddr\",\n \"rport\",\n \"tcptype\",\n \"generation\",\n \"network-id\",\n \"network-cost\",\n ],\n format: function (e) {\n var t = \"candidate:%s %d %s %d %s %d typ %s\";\n return (\n (t += null != e.raddr ? \" raddr %s rport %d\" : \"%v%v\"),\n (t += null != e.tcptype ? \" tcptype %s\" : \"%v\"),\n null != e.generation && (t += \" generation %d\"),\n (t += null != e[\"network-id\"] ? \" network-id %d\" : \"%v\"),\n (t += null != e[\"network-cost\"] ? \" network-cost %d\" : \"%v\")\n );\n },\n },\n { name: \"endOfCandidates\", reg: /^(end-of-candidates)/ },\n { name: \"remoteCandidates\", reg: /^remote-candidates:(.*)/, format: \"remote-candidates:%s\" },\n { name: \"iceOptions\", reg: /^ice-options:(\\S*)/, format: \"ice-options:%s\" },\n {\n push: \"ssrcs\",\n reg: /^ssrc:(\\d*) ([\\w_-]*)(?::(.*))?/,\n names: [\"id\", \"attribute\", \"value\"],\n format: function (e) {\n var t = \"ssrc:%d\";\n return null != e.attribute && ((t += \" %s\"), null != e.value && (t += \":%s\")), t;\n },\n },\n {\n push: \"ssrcGroups\",\n reg: /^ssrc-group:([\\x21\\x23\\x24\\x25\\x26\\x27\\x2A\\x2B\\x2D\\x2E\\w]*) (.*)/,\n names: [\"semantics\", \"ssrcs\"],\n format: \"ssrc-group:%s %s\",\n },\n {\n name: \"msidSemantic\",\n reg: /^msid-semantic:\\s?(\\w*) (\\S*)/,\n names: [\"semantic\", \"token\"],\n format: \"msid-semantic: %s %s\",\n },\n { push: \"groups\", reg: /^group:(\\w*) (.*)/, names: [\"type\", \"mids\"], format: \"group:%s %s\" },\n { name: \"rtcpMux\", reg: /^(rtcp-mux)/ },\n { name: \"rtcpRsize\", reg: /^(rtcp-rsize)/ },\n {\n name: \"sctpmap\",\n reg: /^sctpmap:([\\w_/]*) (\\S*)(?: (\\S*))?/,\n names: [\"sctpmapNumber\", \"app\", \"maxMessageSize\"],\n format: function (e) {\n return null != e.maxMessageSize ? \"sctpmap:%s %s %s\" : \"sctpmap:%s %s\";\n },\n },\n { name: \"xGoogleFlag\", reg: /^x-google-flag:([^\\s]*)/, format: \"x-google-flag:%s\" },\n {\n push: \"rids\",\n reg: /^rid:([\\d\\w]+) (\\w+)(?: ([\\S| ]*))?/,\n names: [\"id\", \"direction\", \"params\"],\n format: function (e) {\n return e.params ? \"rid:%s %s %s\" : \"rid:%s %s\";\n },\n },\n {\n push: \"imageattrs\",\n reg: new RegExp(\n \"^imageattr:(\\\\d+|\\\\*)[\\\\s\\\\t]+(send|recv)[\\\\s\\\\t]+(\\\\*|\\\\[\\\\S+\\\\](?:[\\\\s\\\\t]+\\\\[\\\\S+\\\\])*)(?:[\\\\s\\\\t]+(recv|send)[\\\\s\\\\t]+(\\\\*|\\\\[\\\\S+\\\\](?:[\\\\s\\\\t]+\\\\[\\\\S+\\\\])*))?\"\n ),\n names: [\"pt\", \"dir1\", \"attrs1\", \"dir2\", \"attrs2\"],\n format: function (e) {\n return \"imageattr:%s %s %s\" + (e.dir2 ? \" %s %s\" : \"\");\n },\n },\n {\n name: \"simulcast\",\n reg: new RegExp(\"^simulcast:(send|recv) ([a-zA-Z0-9\\\\-_~;,]+)(?:\\\\s?(send|recv) ([a-zA-Z0-9\\\\-_~;,]+))?$\"),\n names: [\"dir1\", \"list1\", \"dir2\", \"list2\"],\n format: function (e) {\n return \"simulcast:%s %s\" + (e.dir2 ? \" %s %s\" : \"\");\n },\n },\n { name: \"simulcast_03\", reg: /^simulcast:[\\s\\t]+([\\S+\\s\\t]+)$/, names: [\"value\"], format: \"simulcast: %s\" },\n { name: \"framerate\", reg: /^framerate:(\\d+(?:$|\\.\\d+))/, format: \"framerate:%s\" },\n {\n name: \"sourceFilter\",\n reg: /^source-filter: *(excl|incl) (\\S*) (IP4|IP6|\\*) (\\S*) (.*)/,\n names: [\"filterMode\", \"netType\", \"addressTypes\", \"destAddress\", \"srcList\"],\n format: \"source-filter: %s %s %s %s %s\",\n },\n { name: \"bundleOnly\", reg: /^(bundle-only)/ },\n { name: \"label\", reg: /^label:(.+)/, format: \"label:%s\" },\n { name: \"sctpPort\", reg: /^sctp-port:(\\d+)$/, format: \"sctp-port:%s\" },\n { name: \"maxMessageSize\", reg: /^max-message-size:(\\d+)$/, format: \"max-message-size:%s\" },\n {\n push: \"tsRefClocks\",\n reg: /^ts-refclk:([^\\s=]*)(?:=(\\S*))?/,\n names: [\"clksrc\", \"clksrcExt\"],\n format: function (e) {\n return \"ts-refclk:%s\" + (null != e.clksrcExt ? \"=%s\" : \"\");\n },\n },\n {\n name: \"mediaClk\",\n reg: /^mediaclk:(?:id=(\\S*))? *([^\\s=]*)(?:=(\\S*))?(?: *rate=(\\d+)\\/(\\d+))?/,\n names: [\"id\", \"mediaClockName\", \"mediaClockValue\", \"rateNumerator\", \"rateDenominator\"],\n format: function (e) {\n var t = \"mediaclk:\";\n return (\n (t += null != e.id ? \"id=%s %s\" : \"%v%s\"),\n (t += null != e.mediaClockValue ? \"=%s\" : \"\"),\n (t += null != e.rateNumerator ? \" rate=%s\" : \"\"),\n (t += null != e.rateDenominator ? \"/%s\" : \"\")\n );\n },\n },\n { name: \"keywords\", reg: /^keywds:(.+)$/, format: \"keywds:%s\" },\n { name: \"content\", reg: /^content:(.+)/, format: \"content:%s\" },\n { name: \"bfcpFloorCtrl\", reg: /^floorctrl:(c-only|s-only|c-s)/, format: \"floorctrl:%s\" },\n { name: \"bfcpConfId\", reg: /^confid:(\\d+)/, format: \"confid:%s\" },\n { name: \"bfcpUserId\", reg: /^userid:(\\d+)/, format: \"userid:%s\" },\n {\n name: \"bfcpFloorId\",\n reg: /^floorid:(.+) (?:m-stream|mstrm):(.+)/,\n names: [\"id\", \"mStream\"],\n format: \"floorid:%s mstrm:%s\",\n },\n { push: \"invalid\", names: [\"value\"] },\n ],\n });\n Object.keys(r).forEach(function (e) {\n r[e].forEach(function (e) {\n e.reg || (e.reg = /(.*)/), e.format || (e.format = \"%s\");\n });\n });\n },\n function (e, t) {\n try {\n e.exports = \"undefined\" != typeof XMLHttpRequest && \"withCredentials\" in new XMLHttpRequest();\n } catch (t) {\n e.exports = !1;\n }\n },\n function (e, t, r) {\n \"use strict\";\n (function (e) {\n r.d(t, \"a\", function () {\n return h;\n });\n var i = r(14),\n s = r(15),\n n = r.n(s),\n a = r(19),\n o = r.n(a),\n c = r(5),\n d = r(6),\n p = r(10);\n const l =\n \"undefined\" != typeof navigator &&\n \"string\" == typeof navigator.product &&\n \"reactnative\" === navigator.product.toLowerCase();\n class h extends i.a {\n constructor(e) {\n super(e), (this.supportsBinary = !e.forceBase64);\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) return;\n const e = this.uri(),\n t = this.opts.protocols,\n r = l\n ? {}\n : Object(c.b)(\n this.opts,\n \"agent\",\n \"perMessageDeflate\",\n \"pfx\",\n \"key\",\n \"passphrase\",\n \"cert\",\n \"ca\",\n \"ciphers\",\n \"rejectUnauthorized\",\n \"localAddress\",\n \"protocolVersion\",\n \"origin\",\n \"maxPayload\",\n \"family\",\n \"checkServerIdentity\"\n );\n this.opts.extraHeaders && (r.headers = this.opts.extraHeaders);\n try {\n this.ws = d.d && !l ? (t ? new d.a(e, t) : new d.a(e)) : new d.a(e, t, r);\n } catch (e) {\n return this.emit(\"error\", e);\n }\n (this.ws.binaryType = this.socket.binaryType || d.b), this.addEventListeners();\n }\n addEventListeners() {\n (this.ws.onopen = () => {\n this.opts.autoUnref && this.ws._socket.unref(), this.onOpen();\n }),\n (this.ws.onclose = this.onClose.bind(this)),\n (this.ws.onmessage = (e) => this.onData(e.data)),\n (this.ws.onerror = (e) => this.onError(\"websocket error\", e));\n }\n write(t) {\n this.writable = !1;\n for (let r = 0; r < t.length; r++) {\n const i = t[r],\n s = r === t.length - 1;\n Object(p.c)(i, this.supportsBinary, (t) => {\n const r = {};\n if (!d.d && (i.options && (r.compress = i.options.compress), this.opts.perMessageDeflate)) {\n (\"string\" == typeof t ? e.byteLength(t) : t.length) < this.opts.perMessageDeflate.threshold &&\n (r.compress = !1);\n }\n try {\n d.d ? this.ws.send(t) : this.ws.send(t, r);\n } catch (e) {}\n s &&\n Object(d.c)(() => {\n (this.writable = !0), this.emit(\"drain\");\n }, this.setTimeoutFn);\n });\n }\n }\n doClose() {\n void 0 !== this.ws && (this.ws.close(), (this.ws = null));\n }\n uri() {\n let e = this.query || {};\n const t = this.opts.secure ? \"wss\" : \"ws\";\n let r = \"\";\n this.opts.port &&\n ((\"wss\" === t && 443 !== Number(this.opts.port)) || (\"ws\" === t && 80 !== Number(this.opts.port))) &&\n (r = \":\" + this.opts.port),\n this.opts.timestampRequests && (e[this.opts.timestampParam] = o()()),\n this.supportsBinary || (e.b64 = 1);\n const i = n.a.encode(e);\n return (\n t +\n \"://\" +\n (-1 !== this.opts.hostname.indexOf(\":\") ? \"[\" + this.opts.hostname + \"]\" : this.opts.hostname) +\n r +\n this.opts.path +\n (i.length ? \"?\" + i : \"\")\n );\n }\n check() {\n return !(!d.a || (\"__initialize\" in d.a && this.name === h.prototype.name));\n }\n }\n }.call(this, r(61).Buffer));\n },\n function (e, t) {\n function r(e) {\n (e = e || {}),\n (this.ms = e.min || 100),\n (this.max = e.max || 1e4),\n (this.factor = e.factor || 2),\n (this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0),\n (this.attempts = 0);\n }\n (e.exports = r),\n (r.prototype.duration = function () {\n var e = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var t = Math.random(),\n r = Math.floor(t * this.jitter * e);\n e = 0 == (1 & Math.floor(10 * t)) ? e - r : e + r;\n }\n return 0 | Math.min(e, this.max);\n }),\n (r.prototype.reset = function () {\n this.attempts = 0;\n }),\n (r.prototype.setMin = function (e) {\n this.ms = e;\n }),\n (r.prototype.setMax = function (e) {\n this.max = e;\n }),\n (r.prototype.setJitter = function (e) {\n this.jitter = e;\n });\n },\n function (e, t, r) {\n const i = r(34);\n e.exports = new i();\n },\n function (e, t, r) {\n const { EventEmitter: i } = r(22),\n s = r(35);\n e.exports = class {\n constructor() {\n (this.media = new s()),\n (this.socket = void 0),\n (this.observer = new i()),\n (this.results = {}),\n (this.detecting = { face: !1, smile: !1, head_left: !1, head_right: !1 }),\n (this.mode = null),\n (this.options = {});\n }\n async createSession(e, t = {}) {\n return (\n (this.options = t),\n new Promise((r, i) => {\n this.media\n .connect(e, t)\n .then(async (e) => {\n (this.socket = e),\n this.media\n .createSession()\n .then((e) => r(e))\n .catch(i),\n this.socket.on(\"detect\", (e) => {\n this.results = this.formatResults(e);\n }),\n this.media.on(\"error\", (e) => this.observer.emit(\"error\", e)),\n this.media.on(\"opened\", () => this.observer.emit(\"opened\", !0)),\n this.socket.on(\"issue\", (e) => this.observer.emit(\"error\", e)),\n this.socket.on(\"restart\", (e, t) => {\n this.media.engineTransport.restartIce({ iceParameters: e }), t();\n });\n })\n .catch((e) => {\n if (\"Authentication\" === e.message) return i({ code: \"E01\", message: \"Authentication\" });\n i(e);\n });\n })\n );\n }\n async process(e, t = 8e3) {\n return (\n (this.detecting[e] = !0),\n this.socket.emit(\"setDetect\", !0),\n new Promise((r) => {\n const i = setInterval(async () => {\n \"1\" === this.results[e] &&\n ((this.detecting[e] = !1), r(!0), this.socket.emit(\"setDetect\", !1), clearInterval(i));\n });\n setTimeout(() => {\n this.detecting[e] &&\n (this.socket.emit(\"setDetect\", !1), (this.detecting[e] = !1), clearInterval(i), r(!1));\n }, t);\n })\n );\n }\n async detect(e, t = {}, r = !1) {\n return new Promise((i, s) => {\n this.process(e, t.timeout || 8e3).then(async (n) => {\n if (n) i();\n else {\n if (!r && t.retry) return t.onRepeat && t.onRepeat(), this.detect(e, t, !0).then(i).catch(s);\n s();\n }\n });\n });\n }\n async close() {\n return new Promise((e, t) => {\n this.media\n .close()\n .then(() => e())\n .catch((e) => t(e));\n });\n }\n formatResults(e) {\n return { face: e[0], smile: e[1], head_right: e[2], head_left: e[3] };\n }\n };\n },\n function (e, t, r) {\n const i = r(36),\n s = r(59),\n { io: n } = r(66);\n e.exports = class {\n constructor() {\n (this.socket = null),\n (this.producerTransport = []),\n (this.device = null),\n (this.producers = new Map()),\n (this.producerLabel = new Map()),\n (this.eventListeners = new Map()),\n (this.engineTransport = {}),\n (this.mode = null),\n [\"started\", \"opened\", \"closed\", \"error\"].forEach(\n function (e) {\n this.eventListeners.set(e, []);\n }.bind(this)\n );\n }\n async connect(e, t = {}) {\n return (\n t.videoElement && (this.localVideoEl = t.videoElement),\n (this.mediaConstraints = {}),\n t.mediaConstraints && (this.mediaConstraints = t.mediaConstraints),\n new Promise(async (r, i) => {\n (t.transports = [\"websocket\"]),\n (this.socket = n(e, {\n ...t,\n reconnection: !0,\n reconnectionDelay: 1e3,\n reconnectionDelayMax: 5e3,\n reconnectionAttempts: 5,\n })),\n (this.socket.request = async (e, t = {}) =>\n new Promise((r, i) => {\n this.socket.emit(e, t, (e) => {\n e && e.error ? i(e.error) : r(e);\n });\n })),\n this.socket.on(\"connect\", async () => {\n r(this.socket);\n }),\n this.socket.on(\"connect_error\", (e) => {\n i(e), this.socket.disconnect();\n }),\n this.socket.on(\"error\", (e) => {\n i(e), this.socket.disconnect();\n }),\n (window.onbeforeunload = () => {\n this.socket && this.socket.disconnect();\n });\n })\n );\n }\n async createSession() {\n return new Promise((e, t) => {\n this.socket\n .request(\"createSession\")\n .then(async (r) => {\n try {\n const t = await this.socket.request(\"getRouterRtpCapabilities\"),\n i = await this.loadDevice(t.rtpCapabilities);\n (this.device = i),\n await this.getUserMedia(t.mediaConstraints),\n this.event(\"opened\"),\n await this.createAndProducer(),\n this.initSockets(),\n await this.socket.request(\"start\"),\n e(r);\n } catch (e) {\n t(e);\n }\n })\n .catch(t);\n });\n }\n async createAndProducer(e = !1) {\n const t = await this.createTransports();\n await this.produce(t);\n const r = await this.createTransports(!0);\n await this.produce(r, !0);\n }\n async loadDevice(e) {\n let t;\n try {\n t = new i.Device();\n } catch (e) {\n throw new Error(e);\n }\n return (\n (() => {\n const e = new s(),\n { name: t } = e.getBrowser();\n return \"Mobile Safari\" === t;\n })() && (e.headerExtensions = e.headerExtensions.filter((e) => \"urn:3gpp:video-orientation\" !== e.uri)),\n await t.load({ routerRtpCapabilities: e }),\n t\n );\n }\n initSockets() {}\n async createTransports(e) {\n const t = await this.socket.request(\"createWebRtcTransport\", {\n forceTcp: !1,\n rtpCapabilities: this.device.rtpCapabilities,\n isSecond: e,\n });\n if (t.error) throw (this.handleError(t.error), new Error(t.error));\n const r = this.device.createSendTransport(t);\n return (\n r.on(\"connect\", async ({ dtlsParameters: r }, i, s) => {\n this.socket\n .request(\"connectTransport\", { dtlsParameters: r, transport_id: t.id, isSecond: e })\n .then(i)\n .catch(s);\n }),\n r.on(\"produce\", async ({ kind: t, rtpParameters: i }, s, n) => {\n try {\n const { producer_id: n } = await this.socket.request(\"produce\", {\n producerTransportId: r.id,\n kind: t,\n rtpParameters: i,\n isSecond: e,\n });\n s({ id: n });\n } catch (e) {\n n(e);\n }\n }),\n r.on(\"connectionstatechange\", (e) => {\n \"failed\" === e && r.close();\n }),\n e && (this.engineTransport = r),\n this.producerTransport.push(r),\n r\n );\n }\n async initProducerTransport(e) {\n return e;\n }\n async produce(e, t) {\n if (!this.device.canProduce(\"video\")) {\n const e = \"Cannot produce video.\";\n throw (this.handleError(e), new Error(e));\n }\n try {\n const r = this.stream.getVideoTracks()[0],\n i = this.stream.getAudioTracks()[0],\n s = await e.produce({ track: r });\n if ((this.producers.set(s.id, s), this.producerEvent(s), !t && this.mediaConstraints.audio)) {\n const t = await e.produce({ track: i });\n this.producers.set(t.id, t), this.producerEvent(t);\n }\n } catch (e) {\n throw (this.handleError(e), new Error(e));\n }\n }\n producerEvent(e) {\n e.on(\"trackended\", () => {\n this.closeProducer(e);\n }),\n e.on(\"transportclose\", () => {\n this.producers.delete(e.id);\n }),\n e.on(\"close\", () => {\n this.producers.delete(e.id);\n });\n }\n async getUserMedia(e) {\n return (\n (this.stream = await navigator.mediaDevices.getUserMedia({\n audio: e.audio,\n video: { ...this.mediaConstraints.video, ...e.video },\n })),\n (this.localVideoEl.srcObject = this.stream),\n this.stream\n );\n }\n closeProducer(e) {\n this.socket.emit(\"producerClosed\", { producerId: e.id }),\n this.producers.get(e.id).close(),\n this.producers.delete(e.id);\n }\n async close() {\n return new Promise(async (e, t) => {\n if (((this._isOpen = !1), this.producerTransport)) for (const e of this.producerTransport) e.close();\n try {\n await this.socket.request(\"complete\"),\n e(),\n this.socket && (this.socket.off(\"disconnect\"), this.socket.disconnect()),\n this.event(\"closed\");\n } catch (e) {\n console.error(e), t(e);\n }\n });\n }\n event(e, t = {}) {\n this.eventListeners.has(e) && this.eventListeners.get(e).forEach((e) => e(t));\n }\n on(e, t) {\n t && this.eventListeners.get(e).push(t);\n }\n handleError(e) {\n console.error(e), this.event(\"error\", e);\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n },\n a =\n (this && this.__importDefault) ||\n function (e) {\n return e && e.__esModule ? e : { default: e };\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.debug = t.parseScalabilityMode = t.detectDevice = t.Device = t.version = t.types = void 0);\n const o = a(r(20));\n t.debug = o.default;\n const c = r(23);\n Object.defineProperty(t, \"Device\", {\n enumerable: !0,\n get: function () {\n return c.Device;\n },\n }),\n Object.defineProperty(t, \"detectDevice\", {\n enumerable: !0,\n get: function () {\n return c.detectDevice;\n },\n });\n const d = n(r(56));\n (t.types = d), (t.version = \"3.6.51\");\n var p = r(21);\n Object.defineProperty(t, \"parseScalabilityMode\", {\n enumerable: !0,\n get: function () {\n return p.parse;\n },\n });\n },\n function (e, t) {\n var r,\n i,\n s = (e.exports = {});\n function n() {\n throw new Error(\"setTimeout has not been defined\");\n }\n function a() {\n throw new Error(\"clearTimeout has not been defined\");\n }\n function o(e) {\n if (r === setTimeout) return setTimeout(e, 0);\n if ((r === n || !r) && setTimeout) return (r = setTimeout), setTimeout(e, 0);\n try {\n return r(e, 0);\n } catch (t) {\n try {\n return r.call(null, e, 0);\n } catch (t) {\n return r.call(this, e, 0);\n }\n }\n }\n !(function () {\n try {\n r = \"function\" == typeof setTimeout ? setTimeout : n;\n } catch (e) {\n r = n;\n }\n try {\n i = \"function\" == typeof clearTimeout ? clearTimeout : a;\n } catch (e) {\n i = a;\n }\n })();\n var c,\n d = [],\n p = !1,\n l = -1;\n function h() {\n p && c && ((p = !1), c.length ? (d = c.concat(d)) : (l = -1), d.length && u());\n }\n function u() {\n if (!p) {\n var e = o(h);\n p = !0;\n for (var t = d.length; t; ) {\n for (c = d, d = []; ++l < t; ) c && c[l].run();\n (l = -1), (t = d.length);\n }\n (c = null),\n (p = !1),\n (function (e) {\n if (i === clearTimeout) return clearTimeout(e);\n if ((i === a || !i) && clearTimeout) return (i = clearTimeout), clearTimeout(e);\n try {\n i(e);\n } catch (t) {\n try {\n return i.call(null, e);\n } catch (t) {\n return i.call(this, e);\n }\n }\n })(e);\n }\n }\n function f(e, t) {\n (this.fun = e), (this.array = t);\n }\n function m() {}\n (s.nextTick = function (e) {\n var t = new Array(arguments.length - 1);\n if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];\n d.push(new f(e, t)), 1 !== d.length || p || o(u);\n }),\n (f.prototype.run = function () {\n this.fun.apply(null, this.array);\n }),\n (s.title = \"browser\"),\n (s.browser = !0),\n (s.env = {}),\n (s.argv = []),\n (s.version = \"\"),\n (s.versions = {}),\n (s.on = m),\n (s.addListener = m),\n (s.once = m),\n (s.off = m),\n (s.removeListener = m),\n (s.removeAllListeners = m),\n (s.emit = m),\n (s.prependListener = m),\n (s.prependOnceListener = m),\n (s.listeners = function (e) {\n return [];\n }),\n (s.binding = function (e) {\n throw new Error(\"process.binding is not supported\");\n }),\n (s.cwd = function () {\n return \"/\";\n }),\n (s.chdir = function (e) {\n throw new Error(\"process.chdir is not supported\");\n }),\n (s.umask = function () {\n return 0;\n });\n },\n function (e, t, r) {\n e.exports = function (e) {\n function t(e) {\n let r,\n s,\n n,\n a = null;\n function o(...e) {\n if (!o.enabled) return;\n const i = o,\n s = Number(new Date()),\n n = s - (r || s);\n (i.diff = n),\n (i.prev = r),\n (i.curr = s),\n (r = s),\n (e[0] = t.coerce(e[0])),\n \"string\" != typeof e[0] && e.unshift(\"%O\");\n let a = 0;\n (e[0] = e[0].replace(/%([a-zA-Z%])/g, (r, s) => {\n if (\"%%\" === r) return \"%\";\n a++;\n const n = t.formatters[s];\n if (\"function\" == typeof n) {\n const t = e[a];\n (r = n.call(i, t)), e.splice(a, 1), a--;\n }\n return r;\n })),\n t.formatArgs.call(i, e);\n (i.log || t.log).apply(i, e);\n }\n return (\n (o.namespace = e),\n (o.useColors = t.useColors()),\n (o.color = t.selectColor(e)),\n (o.extend = i),\n (o.destroy = t.destroy),\n Object.defineProperty(o, \"enabled\", {\n enumerable: !0,\n configurable: !1,\n get: () => (null !== a ? a : (s !== t.namespaces && ((s = t.namespaces), (n = t.enabled(e))), n)),\n set: (e) => {\n a = e;\n },\n }),\n \"function\" == typeof t.init && t.init(o),\n o\n );\n }\n function i(e, r) {\n const i = t(this.namespace + (void 0 === r ? \":\" : r) + e);\n return (i.log = this.log), i;\n }\n function s(e) {\n return e\n .toString()\n .substring(2, e.toString().length - 2)\n .replace(/\\.\\*\\?$/, \"*\");\n }\n return (\n (t.debug = t),\n (t.default = t),\n (t.coerce = function (e) {\n if (e instanceof Error) return e.stack || e.message;\n return e;\n }),\n (t.disable = function () {\n const e = [...t.names.map(s), ...t.skips.map(s).map((e) => \"-\" + e)].join(\",\");\n return t.enable(\"\"), e;\n }),\n (t.enable = function (e) {\n let r;\n t.save(e), (t.namespaces = e), (t.names = []), (t.skips = []);\n const i = (\"string\" == typeof e ? e : \"\").split(/[\\s,]+/),\n s = i.length;\n for (r = 0; r < s; r++)\n i[r] &&\n (\"-\" === (e = i[r].replace(/\\*/g, \".*?\"))[0]\n ? t.skips.push(new RegExp(\"^\" + e.slice(1) + \"$\"))\n : t.names.push(new RegExp(\"^\" + e + \"$\")));\n }),\n (t.enabled = function (e) {\n if (\"*\" === e[e.length - 1]) return !0;\n let r, i;\n for (r = 0, i = t.skips.length; r < i; r++) if (t.skips[r].test(e)) return !1;\n for (r = 0, i = t.names.length; r < i; r++) if (t.names[r].test(e)) return !0;\n return !1;\n }),\n (t.humanize = r(39)),\n (t.destroy = function () {\n console.warn(\n \"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"\n );\n }),\n Object.keys(e).forEach((r) => {\n t[r] = e[r];\n }),\n (t.names = []),\n (t.skips = []),\n (t.formatters = {}),\n (t.selectColor = function (e) {\n let r = 0;\n for (let t = 0; t < e.length; t++) (r = (r << 5) - r + e.charCodeAt(t)), (r |= 0);\n return t.colors[Math.abs(r) % t.colors.length];\n }),\n t.enable(t.load()),\n t\n );\n };\n },\n function (e, t) {\n var r = 1e3,\n i = 6e4,\n s = 60 * i,\n n = 24 * s;\n function a(e, t, r, i) {\n var s = t >= 1.5 * r;\n return Math.round(e / r) + \" \" + i + (s ? \"s\" : \"\");\n }\n e.exports = function (e, t) {\n t = t || {};\n var o = typeof e;\n if (\"string\" === o && e.length > 0)\n return (function (e) {\n if ((e = String(e)).length > 100) return;\n var t =\n /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n e\n );\n if (!t) return;\n var a = parseFloat(t[1]);\n switch ((t[2] || \"ms\").toLowerCase()) {\n case \"years\":\n case \"year\":\n case \"yrs\":\n case \"yr\":\n case \"y\":\n return 315576e5 * a;\n case \"weeks\":\n case \"week\":\n case \"w\":\n return 6048e5 * a;\n case \"days\":\n case \"day\":\n case \"d\":\n return a * n;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return a * s;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return a * i;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return a * r;\n case \"milliseconds\":\n case \"millisecond\":\n case \"msecs\":\n case \"msec\":\n case \"ms\":\n return a;\n default:\n return;\n }\n })(e);\n if (\"number\" === o && isFinite(e))\n return t.long\n ? (function (e) {\n var t = Math.abs(e);\n if (t >= n) return a(e, t, n, \"day\");\n if (t >= s) return a(e, t, s, \"hour\");\n if (t >= i) return a(e, t, i, \"minute\");\n if (t >= r) return a(e, t, r, \"second\");\n return e + \" ms\";\n })(e)\n : (function (e) {\n var t = Math.abs(e);\n if (t >= n) return Math.round(e / n) + \"d\";\n if (t >= s) return Math.round(e / s) + \"h\";\n if (t >= i) return Math.round(e / i) + \"m\";\n if (t >= r) return Math.round(e / r) + \"s\";\n return e + \"ms\";\n })(e);\n throw new Error(\"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e));\n };\n },\n function (e, t, r) {\n e.exports = (function (e) {\n var t = {};\n function r(i) {\n if (t[i]) return t[i].exports;\n var s = (t[i] = { i: i, l: !1, exports: {} });\n return e[i].call(s.exports, s, s.exports, r), (s.l = !0), s.exports;\n }\n return (\n (r.m = e),\n (r.c = t),\n (r.d = function (e, t, i) {\n r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i });\n }),\n (r.r = function (e) {\n \"undefined\" != typeof Symbol &&\n Symbol.toStringTag &&\n Object.defineProperty(e, Symbol.toStringTag, { value: \"Module\" }),\n Object.defineProperty(e, \"__esModule\", { value: !0 });\n }),\n (r.t = function (e, t) {\n if ((1 & t && (e = r(e)), 8 & t)) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var i = Object.create(null);\n if (\n (r.r(i), Object.defineProperty(i, \"default\", { enumerable: !0, value: e }), 2 & t && \"string\" != typeof e)\n )\n for (var s in e)\n r.d(\n i,\n s,\n function (t) {\n return e[t];\n }.bind(null, s)\n );\n return i;\n }),\n (r.n = function (e) {\n var t =\n e && e.__esModule\n ? function () {\n return e.default;\n }\n : function () {\n return e;\n };\n return r.d(t, \"a\", t), t;\n }),\n (r.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }),\n (r.p = \"\"),\n r((r.s = 90))\n );\n })({\n 17: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i = r(18),\n s = (function () {\n function e() {}\n return (\n (e.getFirstMatch = function (e, t) {\n var r = t.match(e);\n return (r && r.length > 0 && r[1]) || \"\";\n }),\n (e.getSecondMatch = function (e, t) {\n var r = t.match(e);\n return (r && r.length > 1 && r[2]) || \"\";\n }),\n (e.matchAndReturnConst = function (e, t, r) {\n if (e.test(t)) return r;\n }),\n (e.getWindowsVersionName = function (e) {\n switch (e) {\n case \"NT\":\n return \"NT\";\n case \"XP\":\n return \"XP\";\n case \"NT 5.0\":\n return \"2000\";\n case \"NT 5.1\":\n return \"XP\";\n case \"NT 5.2\":\n return \"2003\";\n case \"NT 6.0\":\n return \"Vista\";\n case \"NT 6.1\":\n return \"7\";\n case \"NT 6.2\":\n return \"8\";\n case \"NT 6.3\":\n return \"8.1\";\n case \"NT 10.0\":\n return \"10\";\n default:\n return;\n }\n }),\n (e.getMacOSVersionName = function (e) {\n var t = e\n .split(\".\")\n .splice(0, 2)\n .map(function (e) {\n return parseInt(e, 10) || 0;\n });\n if ((t.push(0), 10 === t[0]))\n switch (t[1]) {\n case 5:\n return \"Leopard\";\n case 6:\n return \"Snow Leopard\";\n case 7:\n return \"Lion\";\n case 8:\n return \"Mountain Lion\";\n case 9:\n return \"Mavericks\";\n case 10:\n return \"Yosemite\";\n case 11:\n return \"El Capitan\";\n case 12:\n return \"Sierra\";\n case 13:\n return \"High Sierra\";\n case 14:\n return \"Mojave\";\n case 15:\n return \"Catalina\";\n default:\n return;\n }\n }),\n (e.getAndroidVersionName = function (e) {\n var t = e\n .split(\".\")\n .splice(0, 2)\n .map(function (e) {\n return parseInt(e, 10) || 0;\n });\n if ((t.push(0), !(1 === t[0] && t[1] < 5)))\n return 1 === t[0] && t[1] < 6\n ? \"Cupcake\"\n : 1 === t[0] && t[1] >= 6\n ? \"Donut\"\n : 2 === t[0] && t[1] < 2\n ? \"Eclair\"\n : 2 === t[0] && 2 === t[1]\n ? \"Froyo\"\n : 2 === t[0] && t[1] > 2\n ? \"Gingerbread\"\n : 3 === t[0]\n ? \"Honeycomb\"\n : 4 === t[0] && t[1] < 1\n ? \"Ice Cream Sandwich\"\n : 4 === t[0] && t[1] < 4\n ? \"Jelly Bean\"\n : 4 === t[0] && t[1] >= 4\n ? \"KitKat\"\n : 5 === t[0]\n ? \"Lollipop\"\n : 6 === t[0]\n ? \"Marshmallow\"\n : 7 === t[0]\n ? \"Nougat\"\n : 8 === t[0]\n ? \"Oreo\"\n : 9 === t[0]\n ? \"Pie\"\n : void 0;\n }),\n (e.getVersionPrecision = function (e) {\n return e.split(\".\").length;\n }),\n (e.compareVersions = function (t, r, i) {\n void 0 === i && (i = !1);\n var s = e.getVersionPrecision(t),\n n = e.getVersionPrecision(r),\n a = Math.max(s, n),\n o = 0,\n c = e.map([t, r], function (t) {\n var r = a - e.getVersionPrecision(t),\n i = t + new Array(r + 1).join(\".0\");\n return e\n .map(i.split(\".\"), function (e) {\n return new Array(20 - e.length).join(\"0\") + e;\n })\n .reverse();\n });\n for (i && (o = a - Math.min(s, n)), a -= 1; a >= o; ) {\n if (c[0][a] > c[1][a]) return 1;\n if (c[0][a] === c[1][a]) {\n if (a === o) return 0;\n a -= 1;\n } else if (c[0][a] < c[1][a]) return -1;\n }\n }),\n (e.map = function (e, t) {\n var r,\n i = [];\n if (Array.prototype.map) return Array.prototype.map.call(e, t);\n for (r = 0; r < e.length; r += 1) i.push(t(e[r]));\n return i;\n }),\n (e.find = function (e, t) {\n var r, i;\n if (Array.prototype.find) return Array.prototype.find.call(e, t);\n for (r = 0, i = e.length; r < i; r += 1) {\n var s = e[r];\n if (t(s, r)) return s;\n }\n }),\n (e.assign = function (e) {\n for (var t, r, i = e, s = arguments.length, n = new Array(s > 1 ? s - 1 : 0), a = 1; a < s; a++)\n n[a - 1] = arguments[a];\n if (Object.assign) return Object.assign.apply(Object, [e].concat(n));\n var o = function () {\n var e = n[t];\n \"object\" == typeof e &&\n null !== e &&\n Object.keys(e).forEach(function (t) {\n i[t] = e[t];\n });\n };\n for (t = 0, r = n.length; t < r; t += 1) o();\n return e;\n }),\n (e.getBrowserAlias = function (e) {\n return i.BROWSER_ALIASES_MAP[e];\n }),\n (e.getBrowserTypeByAlias = function (e) {\n return i.BROWSER_MAP[e] || \"\";\n }),\n e\n );\n })();\n (t.default = s), (e.exports = t.default);\n },\n 18: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0),\n (t.ENGINE_MAP = t.OS_MAP = t.PLATFORMS_MAP = t.BROWSER_MAP = t.BROWSER_ALIASES_MAP = void 0),\n (t.BROWSER_ALIASES_MAP = {\n \"Amazon Silk\": \"amazon_silk\",\n \"Android Browser\": \"android\",\n Bada: \"bada\",\n BlackBerry: \"blackberry\",\n Chrome: \"chrome\",\n Chromium: \"chromium\",\n Electron: \"electron\",\n Epiphany: \"epiphany\",\n Firefox: \"firefox\",\n Focus: \"focus\",\n Generic: \"generic\",\n \"Google Search\": \"google_search\",\n Googlebot: \"googlebot\",\n \"Internet Explorer\": \"ie\",\n \"K-Meleon\": \"k_meleon\",\n Maxthon: \"maxthon\",\n \"Microsoft Edge\": \"edge\",\n \"MZ Browser\": \"mz\",\n \"NAVER Whale Browser\": \"naver\",\n Opera: \"opera\",\n \"Opera Coast\": \"opera_coast\",\n PhantomJS: \"phantomjs\",\n Puffin: \"puffin\",\n QupZilla: \"qupzilla\",\n QQ: \"qq\",\n QQLite: \"qqlite\",\n Safari: \"safari\",\n Sailfish: \"sailfish\",\n \"Samsung Internet for Android\": \"samsung_internet\",\n SeaMonkey: \"seamonkey\",\n Sleipnir: \"sleipnir\",\n Swing: \"swing\",\n Tizen: \"tizen\",\n \"UC Browser\": \"uc\",\n Vivaldi: \"vivaldi\",\n \"WebOS Browser\": \"webos\",\n WeChat: \"wechat\",\n \"Yandex Browser\": \"yandex\",\n Roku: \"roku\",\n }),\n (t.BROWSER_MAP = {\n amazon_silk: \"Amazon Silk\",\n android: \"Android Browser\",\n bada: \"Bada\",\n blackberry: \"BlackBerry\",\n chrome: \"Chrome\",\n chromium: \"Chromium\",\n electron: \"Electron\",\n epiphany: \"Epiphany\",\n firefox: \"Firefox\",\n focus: \"Focus\",\n generic: \"Generic\",\n googlebot: \"Googlebot\",\n google_search: \"Google Search\",\n ie: \"Internet Explorer\",\n k_meleon: \"K-Meleon\",\n maxthon: \"Maxthon\",\n edge: \"Microsoft Edge\",\n mz: \"MZ Browser\",\n naver: \"NAVER Whale Browser\",\n opera: \"Opera\",\n opera_coast: \"Opera Coast\",\n phantomjs: \"PhantomJS\",\n puffin: \"Puffin\",\n qupzilla: \"QupZilla\",\n qq: \"QQ Browser\",\n qqlite: \"QQ Browser Lite\",\n safari: \"Safari\",\n sailfish: \"Sailfish\",\n samsung_internet: \"Samsung Internet for Android\",\n seamonkey: \"SeaMonkey\",\n sleipnir: \"Sleipnir\",\n swing: \"Swing\",\n tizen: \"Tizen\",\n uc: \"UC Browser\",\n vivaldi: \"Vivaldi\",\n webos: \"WebOS Browser\",\n wechat: \"WeChat\",\n yandex: \"Yandex Browser\",\n }),\n (t.PLATFORMS_MAP = { tablet: \"tablet\", mobile: \"mobile\", desktop: \"desktop\", tv: \"tv\" }),\n (t.OS_MAP = {\n WindowsPhone: \"Windows Phone\",\n Windows: \"Windows\",\n MacOS: \"macOS\",\n iOS: \"iOS\",\n Android: \"Android\",\n WebOS: \"WebOS\",\n BlackBerry: \"BlackBerry\",\n Bada: \"Bada\",\n Tizen: \"Tizen\",\n Linux: \"Linux\",\n ChromeOS: \"Chrome OS\",\n PlayStation4: \"PlayStation 4\",\n Roku: \"Roku\",\n }),\n (t.ENGINE_MAP = {\n EdgeHTML: \"EdgeHTML\",\n Blink: \"Blink\",\n Trident: \"Trident\",\n Presto: \"Presto\",\n Gecko: \"Gecko\",\n WebKit: \"WebKit\",\n });\n },\n 90: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i,\n s = (i = r(91)) && i.__esModule ? i : { default: i },\n n = r(18);\n function a(e, t) {\n for (var r = 0; r < t.length; r++) {\n var i = t[r];\n (i.enumerable = i.enumerable || !1),\n (i.configurable = !0),\n \"value\" in i && (i.writable = !0),\n Object.defineProperty(e, i.key, i);\n }\n }\n var o = (function () {\n function e() {}\n var t, r;\n return (\n (e.getParser = function (e, t) {\n if ((void 0 === t && (t = !1), \"string\" != typeof e)) throw new Error(\"UserAgent should be a string\");\n return new s.default(e, t);\n }),\n (e.parse = function (e) {\n return new s.default(e).getResult();\n }),\n (t = e),\n (r = [\n {\n key: \"BROWSER_MAP\",\n get: function () {\n return n.BROWSER_MAP;\n },\n },\n {\n key: \"ENGINE_MAP\",\n get: function () {\n return n.ENGINE_MAP;\n },\n },\n {\n key: \"OS_MAP\",\n get: function () {\n return n.OS_MAP;\n },\n },\n {\n key: \"PLATFORMS_MAP\",\n get: function () {\n return n.PLATFORMS_MAP;\n },\n },\n ]) && a(t, r),\n e\n );\n })();\n (t.default = o), (e.exports = t.default);\n },\n 91: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i = c(r(92)),\n s = c(r(93)),\n n = c(r(94)),\n a = c(r(95)),\n o = c(r(17));\n function c(e) {\n return e && e.__esModule ? e : { default: e };\n }\n var d = (function () {\n function e(e, t) {\n if ((void 0 === t && (t = !1), null == e || \"\" === e))\n throw new Error(\"UserAgent parameter can't be empty\");\n (this._ua = e), (this.parsedResult = {}), !0 !== t && this.parse();\n }\n var t = e.prototype;\n return (\n (t.getUA = function () {\n return this._ua;\n }),\n (t.test = function (e) {\n return e.test(this._ua);\n }),\n (t.parseBrowser = function () {\n var e = this;\n this.parsedResult.browser = {};\n var t = o.default.find(i.default, function (t) {\n if (\"function\" == typeof t.test) return t.test(e);\n if (t.test instanceof Array)\n return t.test.some(function (t) {\n return e.test(t);\n });\n throw new Error(\"Browser's test function is not valid\");\n });\n return t && (this.parsedResult.browser = t.describe(this.getUA())), this.parsedResult.browser;\n }),\n (t.getBrowser = function () {\n return this.parsedResult.browser ? this.parsedResult.browser : this.parseBrowser();\n }),\n (t.getBrowserName = function (e) {\n return e ? String(this.getBrowser().name).toLowerCase() || \"\" : this.getBrowser().name || \"\";\n }),\n (t.getBrowserVersion = function () {\n return this.getBrowser().version;\n }),\n (t.getOS = function () {\n return this.parsedResult.os ? this.parsedResult.os : this.parseOS();\n }),\n (t.parseOS = function () {\n var e = this;\n this.parsedResult.os = {};\n var t = o.default.find(s.default, function (t) {\n if (\"function\" == typeof t.test) return t.test(e);\n if (t.test instanceof Array)\n return t.test.some(function (t) {\n return e.test(t);\n });\n throw new Error(\"Browser's test function is not valid\");\n });\n return t && (this.parsedResult.os = t.describe(this.getUA())), this.parsedResult.os;\n }),\n (t.getOSName = function (e) {\n var t = this.getOS().name;\n return e ? String(t).toLowerCase() || \"\" : t || \"\";\n }),\n (t.getOSVersion = function () {\n return this.getOS().version;\n }),\n (t.getPlatform = function () {\n return this.parsedResult.platform ? this.parsedResult.platform : this.parsePlatform();\n }),\n (t.getPlatformType = function (e) {\n void 0 === e && (e = !1);\n var t = this.getPlatform().type;\n return e ? String(t).toLowerCase() || \"\" : t || \"\";\n }),\n (t.parsePlatform = function () {\n var e = this;\n this.parsedResult.platform = {};\n var t = o.default.find(n.default, function (t) {\n if (\"function\" == typeof t.test) return t.test(e);\n if (t.test instanceof Array)\n return t.test.some(function (t) {\n return e.test(t);\n });\n throw new Error(\"Browser's test function is not valid\");\n });\n return t && (this.parsedResult.platform = t.describe(this.getUA())), this.parsedResult.platform;\n }),\n (t.getEngine = function () {\n return this.parsedResult.engine ? this.parsedResult.engine : this.parseEngine();\n }),\n (t.getEngineName = function (e) {\n return e ? String(this.getEngine().name).toLowerCase() || \"\" : this.getEngine().name || \"\";\n }),\n (t.parseEngine = function () {\n var e = this;\n this.parsedResult.engine = {};\n var t = o.default.find(a.default, function (t) {\n if (\"function\" == typeof t.test) return t.test(e);\n if (t.test instanceof Array)\n return t.test.some(function (t) {\n return e.test(t);\n });\n throw new Error(\"Browser's test function is not valid\");\n });\n return t && (this.parsedResult.engine = t.describe(this.getUA())), this.parsedResult.engine;\n }),\n (t.parse = function () {\n return this.parseBrowser(), this.parseOS(), this.parsePlatform(), this.parseEngine(), this;\n }),\n (t.getResult = function () {\n return o.default.assign({}, this.parsedResult);\n }),\n (t.satisfies = function (e) {\n var t = this,\n r = {},\n i = 0,\n s = {},\n n = 0;\n if (\n (Object.keys(e).forEach(function (t) {\n var a = e[t];\n \"string\" == typeof a ? ((s[t] = a), (n += 1)) : \"object\" == typeof a && ((r[t] = a), (i += 1));\n }),\n i > 0)\n ) {\n var a = Object.keys(r),\n c = o.default.find(a, function (e) {\n return t.isOS(e);\n });\n if (c) {\n var d = this.satisfies(r[c]);\n if (void 0 !== d) return d;\n }\n var p = o.default.find(a, function (e) {\n return t.isPlatform(e);\n });\n if (p) {\n var l = this.satisfies(r[p]);\n if (void 0 !== l) return l;\n }\n }\n if (n > 0) {\n var h = Object.keys(s),\n u = o.default.find(h, function (e) {\n return t.isBrowser(e, !0);\n });\n if (void 0 !== u) return this.compareVersion(s[u]);\n }\n }),\n (t.isBrowser = function (e, t) {\n void 0 === t && (t = !1);\n var r = this.getBrowserName().toLowerCase(),\n i = e.toLowerCase(),\n s = o.default.getBrowserTypeByAlias(i);\n return t && s && (i = s.toLowerCase()), i === r;\n }),\n (t.compareVersion = function (e) {\n var t = [0],\n r = e,\n i = !1,\n s = this.getBrowserVersion();\n if (\"string\" == typeof s)\n return (\n \">\" === e[0] || \"<\" === e[0]\n ? ((r = e.substr(1)),\n \"=\" === e[1] ? ((i = !0), (r = e.substr(2))) : (t = []),\n \">\" === e[0] ? t.push(1) : t.push(-1))\n : \"=\" === e[0]\n ? (r = e.substr(1))\n : \"~\" === e[0] && ((i = !0), (r = e.substr(1))),\n t.indexOf(o.default.compareVersions(s, r, i)) > -1\n );\n }),\n (t.isOS = function (e) {\n return this.getOSName(!0) === String(e).toLowerCase();\n }),\n (t.isPlatform = function (e) {\n return this.getPlatformType(!0) === String(e).toLowerCase();\n }),\n (t.isEngine = function (e) {\n return this.getEngineName(!0) === String(e).toLowerCase();\n }),\n (t.is = function (e, t) {\n return void 0 === t && (t = !1), this.isBrowser(e, t) || this.isOS(e) || this.isPlatform(e);\n }),\n (t.some = function (e) {\n var t = this;\n return (\n void 0 === e && (e = []),\n e.some(function (e) {\n return t.is(e);\n })\n );\n }),\n e\n );\n })();\n (t.default = d), (e.exports = t.default);\n },\n 92: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i,\n s = (i = r(17)) && i.__esModule ? i : { default: i },\n n = /version\\/(\\d+(\\.?_?\\d+)+)/i,\n a = [\n {\n test: [/googlebot/i],\n describe: function (e) {\n var t = { name: \"Googlebot\" },\n r = s.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/opera/i],\n describe: function (e) {\n var t = { name: \"Opera\" },\n r = s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/opr\\/|opios/i],\n describe: function (e) {\n var t = { name: \"Opera\" },\n r = s.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/SamsungBrowser/i],\n describe: function (e) {\n var t = { name: \"Samsung Internet for Android\" },\n r =\n s.default.getFirstMatch(n, e) ||\n s.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/Whale/i],\n describe: function (e) {\n var t = { name: \"NAVER Whale Browser\" },\n r = s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/MZBrowser/i],\n describe: function (e) {\n var t = { name: \"MZ Browser\" },\n r =\n s.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/focus/i],\n describe: function (e) {\n var t = { name: \"Focus\" },\n r = s.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/swing/i],\n describe: function (e) {\n var t = { name: \"Swing\" },\n r = s.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/coast/i],\n describe: function (e) {\n var t = { name: \"Opera Coast\" },\n r = s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/opt\\/\\d+(?:.?_?\\d+)+/i],\n describe: function (e) {\n var t = { name: \"Opera Touch\" },\n r = s.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/yabrowser/i],\n describe: function (e) {\n var t = { name: \"Yandex Browser\" },\n r =\n s.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, e) ||\n s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/ucbrowser/i],\n describe: function (e) {\n var t = { name: \"UC Browser\" },\n r =\n s.default.getFirstMatch(n, e) ||\n s.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/Maxthon|mxios/i],\n describe: function (e) {\n var t = { name: \"Maxthon\" },\n r =\n s.default.getFirstMatch(n, e) ||\n s.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/epiphany/i],\n describe: function (e) {\n var t = { name: \"Epiphany\" },\n r =\n s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/puffin/i],\n describe: function (e) {\n var t = { name: \"Puffin\" },\n r = s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/sleipnir/i],\n describe: function (e) {\n var t = { name: \"Sleipnir\" },\n r =\n s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/k-meleon/i],\n describe: function (e) {\n var t = { name: \"K-Meleon\" },\n r =\n s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/micromessenger/i],\n describe: function (e) {\n var t = { name: \"WeChat\" },\n r =\n s.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i, e) ||\n s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/qqbrowser/i],\n describe: function (e) {\n var t = { name: /qqbrowserlite/i.test(e) ? \"QQ Browser Lite\" : \"QQ Browser\" },\n r =\n s.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i, e) ||\n s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/msie|trident/i],\n describe: function (e) {\n var t = { name: \"Internet Explorer\" },\n r = s.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/\\sedg\\//i],\n describe: function (e) {\n var t = { name: \"Microsoft Edge\" },\n r = s.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/edg([ea]|ios)/i],\n describe: function (e) {\n var t = { name: \"Microsoft Edge\" },\n r = s.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/vivaldi/i],\n describe: function (e) {\n var t = { name: \"Vivaldi\" },\n r = s.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/seamonkey/i],\n describe: function (e) {\n var t = { name: \"SeaMonkey\" },\n r = s.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/sailfish/i],\n describe: function (e) {\n var t = { name: \"Sailfish\" },\n r = s.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/silk/i],\n describe: function (e) {\n var t = { name: \"Amazon Silk\" },\n r = s.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/phantom/i],\n describe: function (e) {\n var t = { name: \"PhantomJS\" },\n r = s.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/slimerjs/i],\n describe: function (e) {\n var t = { name: \"SlimerJS\" },\n r = s.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe: function (e) {\n var t = { name: \"BlackBerry\" },\n r =\n s.default.getFirstMatch(n, e) || s.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/(web|hpw)[o0]s/i],\n describe: function (e) {\n var t = { name: \"WebOS Browser\" },\n r =\n s.default.getFirstMatch(n, e) ||\n s.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/bada/i],\n describe: function (e) {\n var t = { name: \"Bada\" },\n r = s.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/tizen/i],\n describe: function (e) {\n var t = { name: \"Tizen\" },\n r =\n s.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i, e) ||\n s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/qupzilla/i],\n describe: function (e) {\n var t = { name: \"QupZilla\" },\n r =\n s.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/firefox|iceweasel|fxios/i],\n describe: function (e) {\n var t = { name: \"Firefox\" },\n r = s.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/electron/i],\n describe: function (e) {\n var t = { name: \"Electron\" },\n r = s.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/MiuiBrowser/i],\n describe: function (e) {\n var t = { name: \"Miui\" },\n r = s.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/chromium/i],\n describe: function (e) {\n var t = { name: \"Chromium\" },\n r =\n s.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, e) || s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/chrome|crios|crmo/i],\n describe: function (e) {\n var t = { name: \"Chrome\" },\n r = s.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/GSA/i],\n describe: function (e) {\n var t = { name: \"Google Search\" },\n r = s.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: function (e) {\n var t = !e.test(/like android/i),\n r = e.test(/android/i);\n return t && r;\n },\n describe: function (e) {\n var t = { name: \"Android Browser\" },\n r = s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/playstation 4/i],\n describe: function (e) {\n var t = { name: \"PlayStation 4\" },\n r = s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/safari|applewebkit/i],\n describe: function (e) {\n var t = { name: \"Safari\" },\n r = s.default.getFirstMatch(n, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/.*/i],\n describe: function (e) {\n var t = -1 !== e.search(\"\\\\(\") ? /^(.*)\\/(.*)[ \\t]\\((.*)/ : /^(.*)\\/(.*) /;\n return { name: s.default.getFirstMatch(t, e), version: s.default.getSecondMatch(t, e) };\n },\n },\n ];\n (t.default = a), (e.exports = t.default);\n },\n 93: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i,\n s = (i = r(17)) && i.__esModule ? i : { default: i },\n n = r(18),\n a = [\n {\n test: [/Roku\\/DVP/],\n describe: function (e) {\n var t = s.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i, e);\n return { name: n.OS_MAP.Roku, version: t };\n },\n },\n {\n test: [/windows phone/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i, e);\n return { name: n.OS_MAP.WindowsPhone, version: t };\n },\n },\n {\n test: [/windows /i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i, e),\n r = s.default.getWindowsVersionName(t);\n return { name: n.OS_MAP.Windows, version: t, versionName: r };\n },\n },\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe: function (e) {\n var t = { name: n.OS_MAP.iOS },\n r = s.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/macintosh/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i, e).replace(/[_\\s]/g, \".\"),\n r = s.default.getMacOSVersionName(t),\n i = { name: n.OS_MAP.MacOS, version: t };\n return r && (i.versionName = r), i;\n },\n },\n {\n test: [/(ipod|iphone|ipad)/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i, e).replace(/[_\\s]/g, \".\");\n return { name: n.OS_MAP.iOS, version: t };\n },\n },\n {\n test: function (e) {\n var t = !e.test(/like android/i),\n r = e.test(/android/i);\n return t && r;\n },\n describe: function (e) {\n var t = s.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i, e),\n r = s.default.getAndroidVersionName(t),\n i = { name: n.OS_MAP.Android, version: t };\n return r && (i.versionName = r), i;\n },\n },\n {\n test: [/(web|hpw)[o0]s/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i, e),\n r = { name: n.OS_MAP.WebOS };\n return t && t.length && (r.version = t), r;\n },\n },\n {\n test: [/blackberry|\\bbb\\d+/i, /rim\\stablet/i],\n describe: function (e) {\n var t =\n s.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i, e) ||\n s.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i, e) ||\n s.default.getFirstMatch(/\\bbb(\\d+)/i, e);\n return { name: n.OS_MAP.BlackBerry, version: t };\n },\n },\n {\n test: [/bada/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i, e);\n return { name: n.OS_MAP.Bada, version: t };\n },\n },\n {\n test: [/tizen/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i, e);\n return { name: n.OS_MAP.Tizen, version: t };\n },\n },\n {\n test: [/linux/i],\n describe: function () {\n return { name: n.OS_MAP.Linux };\n },\n },\n {\n test: [/CrOS/],\n describe: function () {\n return { name: n.OS_MAP.ChromeOS };\n },\n },\n {\n test: [/PlayStation 4/],\n describe: function (e) {\n var t = s.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i, e);\n return { name: n.OS_MAP.PlayStation4, version: t };\n },\n },\n ];\n (t.default = a), (e.exports = t.default);\n },\n 94: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i,\n s = (i = r(17)) && i.__esModule ? i : { default: i },\n n = r(18),\n a = [\n {\n test: [/googlebot/i],\n describe: function () {\n return { type: \"bot\", vendor: \"Google\" };\n },\n },\n {\n test: [/huawei/i],\n describe: function (e) {\n var t = s.default.getFirstMatch(/(can-l01)/i, e) && \"Nova\",\n r = { type: n.PLATFORMS_MAP.mobile, vendor: \"Huawei\" };\n return t && (r.model = t), r;\n },\n },\n {\n test: [/nexus\\s*(?:7|8|9|10).*/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet, vendor: \"Nexus\" };\n },\n },\n {\n test: [/ipad/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet, vendor: \"Apple\", model: \"iPad\" };\n },\n },\n {\n test: [/Macintosh(.*?) FxiOS(.*?)\\//],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet, vendor: \"Apple\", model: \"iPad\" };\n },\n },\n {\n test: [/kftt build/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet, vendor: \"Amazon\", model: \"Kindle Fire HD 7\" };\n },\n },\n {\n test: [/silk/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet, vendor: \"Amazon\" };\n },\n },\n {\n test: [/tablet(?! pc)/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet };\n },\n },\n {\n test: function (e) {\n var t = e.test(/ipod|iphone/i),\n r = e.test(/like (ipod|iphone)/i);\n return t && !r;\n },\n describe: function (e) {\n var t = s.default.getFirstMatch(/(ipod|iphone)/i, e);\n return { type: n.PLATFORMS_MAP.mobile, vendor: \"Apple\", model: t };\n },\n },\n {\n test: [/nexus\\s*[0-6].*/i, /galaxy nexus/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile, vendor: \"Nexus\" };\n },\n },\n {\n test: [/[^-]mobi/i],\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile };\n },\n },\n {\n test: function (e) {\n return \"blackberry\" === e.getBrowserName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile, vendor: \"BlackBerry\" };\n },\n },\n {\n test: function (e) {\n return \"bada\" === e.getBrowserName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile };\n },\n },\n {\n test: function (e) {\n return \"windows phone\" === e.getBrowserName();\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile, vendor: \"Microsoft\" };\n },\n },\n {\n test: function (e) {\n var t = Number(String(e.getOSVersion()).split(\".\")[0]);\n return \"android\" === e.getOSName(!0) && t >= 3;\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.tablet };\n },\n },\n {\n test: function (e) {\n return \"android\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.mobile };\n },\n },\n {\n test: function (e) {\n return \"macos\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.desktop, vendor: \"Apple\" };\n },\n },\n {\n test: function (e) {\n return \"windows\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.desktop };\n },\n },\n {\n test: function (e) {\n return \"linux\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.desktop };\n },\n },\n {\n test: function (e) {\n return \"playstation 4\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.tv };\n },\n },\n {\n test: function (e) {\n return \"roku\" === e.getOSName(!0);\n },\n describe: function () {\n return { type: n.PLATFORMS_MAP.tv };\n },\n },\n ];\n (t.default = a), (e.exports = t.default);\n },\n 95: function (e, t, r) {\n \"use strict\";\n (t.__esModule = !0), (t.default = void 0);\n var i,\n s = (i = r(17)) && i.__esModule ? i : { default: i },\n n = r(18),\n a = [\n {\n test: function (e) {\n return \"microsoft edge\" === e.getBrowserName(!0);\n },\n describe: function (e) {\n if (/\\sedg\\//i.test(e)) return { name: n.ENGINE_MAP.Blink };\n var t = s.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return { name: n.ENGINE_MAP.EdgeHTML, version: t };\n },\n },\n {\n test: [/trident/i],\n describe: function (e) {\n var t = { name: n.ENGINE_MAP.Trident },\n r = s.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: function (e) {\n return e.test(/presto/i);\n },\n describe: function (e) {\n var t = { name: n.ENGINE_MAP.Presto },\n r = s.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: function (e) {\n var t = e.test(/gecko/i),\n r = e.test(/like gecko/i);\n return t && !r;\n },\n describe: function (e) {\n var t = { name: n.ENGINE_MAP.Gecko },\n r = s.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n {\n test: [/(apple)?webkit\\/537\\.36/i],\n describe: function () {\n return { name: n.ENGINE_MAP.Blink };\n },\n },\n {\n test: [/(apple)?webkit/i],\n describe: function (e) {\n var t = { name: n.ENGINE_MAP.WebKit },\n r = s.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i, e);\n return r && (t.version = r), t;\n },\n },\n ];\n (t.default = a), (e.exports = t.default);\n },\n });\n },\n function (e, t, r) {\n const i = r(20)(\"h264-profile-level-id\");\n i.log = console.info.bind(console);\n (t.ProfileConstrainedBaseline = 1),\n (t.ProfileBaseline = 2),\n (t.ProfileMain = 3),\n (t.ProfileConstrainedHigh = 4),\n (t.ProfileHigh = 5);\n (t.Level1_b = 0),\n (t.Level1 = 10),\n (t.Level1_1 = 11),\n (t.Level1_2 = 12),\n (t.Level1_3 = 13),\n (t.Level2 = 20),\n (t.Level2_1 = 21),\n (t.Level2_2 = 22),\n (t.Level3 = 30),\n (t.Level3_1 = 31),\n (t.Level3_2 = 32),\n (t.Level4 = 40),\n (t.Level4_1 = 41),\n (t.Level4_2 = 42),\n (t.Level5 = 50),\n (t.Level5_1 = 51),\n (t.Level5_2 = 52);\n class s {\n constructor(e, t) {\n (this.profile = e), (this.level = t);\n }\n }\n t.ProfileLevelId = s;\n const n = new s(1, 31);\n class a {\n constructor(e) {\n (this._mask = ~d(\"x\", e)), (this._maskedValue = d(\"1\", e));\n }\n isMatch(e) {\n return this._maskedValue === (e & this._mask);\n }\n }\n class o {\n constructor(e, t, r) {\n (this.profile_idc = e), (this.profile_iop = t), (this.profile = r);\n }\n }\n const c = [\n new o(66, new a(\"x1xx0000\"), 1),\n new o(77, new a(\"1xxx0000\"), 1),\n new o(88, new a(\"11xx0000\"), 1),\n new o(66, new a(\"x0xx0000\"), 2),\n new o(88, new a(\"10xx0000\"), 2),\n new o(77, new a(\"0x0x0000\"), 3),\n new o(100, new a(\"00000000\"), 5),\n new o(100, new a(\"00001100\"), 4),\n ];\n function d(e, t) {\n return (\n ((t[0] === e) << 7) |\n ((t[1] === e) << 6) |\n ((t[2] === e) << 5) |\n ((t[3] === e) << 4) |\n ((t[4] === e) << 3) |\n ((t[5] === e) << 2) |\n ((t[6] === e) << 1) |\n ((t[7] === e) << 0)\n );\n }\n function p(e = {}) {\n const t = e[\"level-asymmetry-allowed\"];\n return 1 === t || \"1\" === t;\n }\n (t.parseProfileLevelId = function (e) {\n if (\"string\" != typeof e || 6 !== e.length) return null;\n const t = parseInt(e, 16);\n if (0 === t) return null;\n const r = 255 & t,\n n = (t >> 8) & 255,\n a = (t >> 16) & 255;\n let o;\n switch (r) {\n case 11:\n o = 0 != (16 & n) ? 0 : 11;\n break;\n case 10:\n case 12:\n case 13:\n case 20:\n case 21:\n case 22:\n case 30:\n case 31:\n case 32:\n case 40:\n case 41:\n case 42:\n case 50:\n case 51:\n case 52:\n o = r;\n break;\n default:\n return i(\"parseProfileLevelId() | unrecognized level_idc:%s\", r), null;\n }\n for (const e of c) if (a === e.profile_idc && e.profile_iop.isMatch(n)) return new s(e.profile, o);\n return i(\"parseProfileLevelId() | unrecognized profile_idc/profile_iop combination\"), null;\n }),\n (t.profileLevelIdToString = function (e) {\n if (0 == e.level)\n switch (e.profile) {\n case 1:\n return \"42f00b\";\n case 2:\n return \"42100b\";\n case 3:\n return \"4d100b\";\n default:\n return i(\"profileLevelIdToString() | Level 1_b not is allowed for profile:%s\", e.profile), null;\n }\n let t;\n switch (e.profile) {\n case 1:\n t = \"42e0\";\n break;\n case 2:\n t = \"4200\";\n break;\n case 3:\n t = \"4d00\";\n break;\n case 4:\n t = \"640c\";\n break;\n case 5:\n t = \"6400\";\n break;\n default:\n return i(\"profileLevelIdToString() | unrecognized profile:%s\", e.profile), null;\n }\n let r = e.level.toString(16);\n return 1 === r.length && (r = \"0\" + r), `${t}${r}`;\n }),\n (t.parseSdpProfileLevelId = function (e = {}) {\n const r = e[\"profile-level-id\"];\n return r ? t.parseProfileLevelId(r) : n;\n }),\n (t.isSameProfile = function (e = {}, r = {}) {\n const i = t.parseSdpProfileLevelId(e),\n s = t.parseSdpProfileLevelId(r);\n return Boolean(i && s && i.profile === s.profile);\n }),\n (t.generateProfileLevelIdForAnswer = function (e = {}, r = {}) {\n if (!e[\"profile-level-id\"] && !r[\"profile-level-id\"])\n return i(\"generateProfileLevelIdForAnswer() | no profile-level-id in local and remote params\"), null;\n const n = t.parseSdpProfileLevelId(e),\n a = t.parseSdpProfileLevelId(r);\n if (!n) throw new TypeError(\"invalid local_profile_level_id\");\n if (!a) throw new TypeError(\"invalid remote_profile_level_id\");\n if (n.profile !== a.profile) throw new TypeError(\"H264 Profile mismatch\");\n const o = p(e) && p(r),\n c = n.level,\n d = a.level,\n l = (function (e, t) {\n return 0 === e ? 10 !== t && 0 !== t : 0 === t ? 10 !== e : e < t;\n })((h = c), (u = d))\n ? h\n : u;\n var h, u;\n const f = o ? c : l;\n return (\n i(\"generateProfileLevelIdForAnswer() | result: [profile:%s, level:%s]\", n.profile, f),\n t.profileLevelIdToString(new s(n.profile, f))\n );\n });\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__awaiter) ||\n function (e, t, r, i) {\n return new (r || (r = Promise))(function (s, n) {\n function a(e) {\n try {\n c(i.next(e));\n } catch (e) {\n n(e);\n }\n }\n function o(e) {\n try {\n c(i.throw(e));\n } catch (e) {\n n(e);\n }\n }\n function c(e) {\n var t;\n e.done\n ? s(e.value)\n : ((t = e.value),\n t instanceof r\n ? t\n : new r(function (e) {\n e(t);\n })).then(a, o);\n }\n c((i = i.apply(e, t || [])).next());\n });\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 });\n t.AwaitQueue = class {\n constructor(\n { ClosedErrorClass: e = Error, StoppedErrorClass: t = Error } = {\n ClosedErrorClass: Error,\n StoppedErrorClass: Error,\n }\n ) {\n (this.closed = !1),\n (this.pendingTasks = []),\n (this.ClosedErrorClass = Error),\n (this.StoppedErrorClass = Error),\n (this.ClosedErrorClass = e),\n (this.StoppedErrorClass = t);\n }\n get size() {\n return this.pendingTasks.length;\n }\n close() {\n if (!this.closed) {\n this.closed = !0;\n for (const e of this.pendingTasks)\n (e.stopped = !0), e.reject(new this.ClosedErrorClass(\"AwaitQueue closed\"));\n this.pendingTasks.length = 0;\n }\n }\n push(e, t) {\n return i(this, void 0, void 0, function* () {\n if (this.closed) throw new this.ClosedErrorClass(\"AwaitQueue closed\");\n if (\"function\" != typeof e) throw new TypeError(\"given task is not a function\");\n if (!e.name && t)\n try {\n Object.defineProperty(e, \"name\", { value: t });\n } catch (e) {}\n return new Promise((r, i) => {\n const s = {\n task: e,\n name: t,\n resolve: r,\n reject: i,\n stopped: !1,\n enqueuedAt: new Date(),\n executedAt: void 0,\n };\n this.pendingTasks.push(s), 1 === this.pendingTasks.length && this.next();\n });\n });\n }\n stop() {\n if (!this.closed) {\n for (const e of this.pendingTasks)\n (e.stopped = !0), e.reject(new this.StoppedErrorClass(\"AwaitQueue stopped\"));\n this.pendingTasks.length = 0;\n }\n }\n dump() {\n const e = new Date();\n return this.pendingTasks.map((t) => ({\n task: t.task,\n name: t.name,\n enqueuedTime: t.executedAt\n ? t.executedAt.getTime() - t.enqueuedAt.getTime()\n : e.getTime() - t.enqueuedAt.getTime(),\n executingTime: t.executedAt ? e.getTime() - t.executedAt.getTime() : 0,\n }));\n }\n next() {\n return i(this, void 0, void 0, function* () {\n const e = this.pendingTasks[0];\n e && (yield this.executeTask(e), this.pendingTasks.shift(), this.next());\n });\n }\n executeTask(e) {\n return i(this, void 0, void 0, function* () {\n if (!e.stopped) {\n e.executedAt = new Date();\n try {\n const t = yield e.task();\n if (e.stopped) return;\n e.resolve(t);\n } catch (t) {\n if (e.stopped) return;\n e.reject(t);\n }\n }\n });\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Chrome74 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(11)),\n l = n(r(17)),\n h = r(9),\n u = r(12),\n f = r(21),\n m = new o.Logger(\"Chrome74\"),\n g = { OS: 1024, MIS: 1024 };\n class _ extends h.HandlerInterface {\n constructor() {\n super(),\n (this._mapMidTransceiver = new Map()),\n (this._sendStream = new MediaStream()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new _();\n }\n get name() {\n return \"Chrome74\";\n }\n close() {\n if ((m.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n m.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"unified-plan\",\n });\n try {\n e.addTransceiver(\"audio\"), e.addTransceiver(\"video\");\n const t = await e.createOffer();\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return p.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return m.debug(\"getNativeSctpCapabilities()\"), { numStreams: g };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: p,\n }) {\n m.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new u.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n })),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", p),\n video: d.getSendingRtpParameters(\"video\", p),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: d.getSendingRemoteRtpParameters(\"audio\", p),\n video: d.getSendingRemoteRtpParameters(\"video\", p),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"unified-plan\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n m.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((m.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n m.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n m.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(),\n m.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n t &&\n t.length > 1 &&\n t.forEach((e, t) => {\n e.rid = \"r\" + t;\n });\n const n = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n n.codecs = d.reduceCodecs(n.codecs, i);\n const o = c.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n o.codecs = d.reduceCodecs(o.codecs, i);\n const h = this._remoteSdp.getNextMediaSectionIdx(),\n u = this._pc.addTransceiver(e, { direction: \"sendonly\", streams: [this._sendStream], sendEncodings: t });\n let g,\n _ = await this._pc.createOffer(),\n b = a.parse(_.sdp);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: b,\n }));\n let v = !1;\n const y = (0, f.parse)((t || [{}])[0].scalabilityMode);\n t &&\n 1 === t.length &&\n y.spatialLayers > 1 &&\n \"video/vp9\" === n.codecs[0].mimeType.toLowerCase() &&\n (m.debug(\"send() | enabling legacy simulcast for VP9 SVC\"),\n (v = !0),\n (b = a.parse(_.sdp)),\n (g = b.media[h.idx]),\n l.addLegacySimulcast({ offerMediaObject: g, numStreams: y.spatialLayers }),\n (_ = { type: \"offer\", sdp: a.write(b) })),\n m.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", _),\n await this._pc.setLocalDescription(_);\n const w = u.mid;\n if (\n ((n.mid = w),\n (b = a.parse(this._pc.localDescription.sdp)),\n (g = b.media[h.idx]),\n (n.rtcp.cname = p.getCname({ offerMediaObject: g })),\n t)\n )\n if (1 === t.length) {\n let e = l.getRtpEncodings({ offerMediaObject: g });\n Object.assign(e[0], t[0]), v && (e = [e[0]]), (n.encodings = e);\n } else n.encodings = t;\n else n.encodings = l.getRtpEncodings({ offerMediaObject: g });\n if (\n n.encodings.length > 1 &&\n (\"video/vp8\" === n.codecs[0].mimeType.toLowerCase() || \"video/h264\" === n.codecs[0].mimeType.toLowerCase())\n )\n for (const e of n.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({\n offerMediaObject: g,\n reuseMid: h.reuseMid,\n offerRtpParameters: n,\n answerRtpParameters: o,\n codecOptions: r,\n extmapAllowMixed: !0,\n });\n const S = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n return (\n m.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", S),\n await this._pc.setRemoteDescription(S),\n this._mapMidTransceiver.set(w, u),\n { localId: w, rtpParameters: n, rtpSender: u.sender }\n );\n }\n async stopSending(e) {\n this._assertSendDirection(), m.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n t.sender.replaceTrack(null), this._pc.removeTrack(t.sender), this._remoteSdp.closeMediaSection(t.mid);\n const r = await this._pc.createOffer();\n m.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r),\n await this._pc.setLocalDescription(r);\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? m.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : m.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n await r.sender.replaceTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), m.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.sender.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), m.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.sender.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.sender.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n m.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % g.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n m.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [],\n i = new Map();\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: s } = t;\n m.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const n = s.mid || String(this._mapMidTransceiver.size);\n i.set(e, n),\n this._remoteSdp.receive({ mid: n, kind: r, offerRtpParameters: s, streamId: s.rtcp.cname, trackId: e });\n }\n const s = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", s),\n await this._pc.setRemoteDescription(s);\n let n = await this._pc.createAnswer();\n const o = a.parse(n.sdp);\n for (const t of e) {\n const { trackId: e, rtpParameters: r } = t,\n s = i.get(e),\n n = o.media.find((e) => String(e.mid) === s);\n p.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: n });\n }\n (n = { type: \"answer\", sdp: a.write(o) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: o,\n })),\n m.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", n),\n await this._pc.setLocalDescription(n);\n for (const t of e) {\n const { trackId: e } = t,\n s = i.get(e),\n n = this._pc.getTransceivers().find((e) => e.mid === s);\n if (!n) throw new Error(\"new RTCRtpTransceiver not found\");\n this._mapMidTransceiver.set(s, n), r.push({ localId: s, track: n.receiver.track, rtpReceiver: n.receiver });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), m.debug(\"stopReceiving() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n this._remoteSdp.closeMediaSection(t.mid);\n const r = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", r),\n await this._pc.setRemoteDescription(r);\n const i = await this._pc.createAnswer();\n m.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", i),\n await this._pc.setLocalDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async pauseReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n m.debug(\"pauseReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"inactive\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n m.debug(\"pauseReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async resumeReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n m.debug(\"resumeReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"recvonly\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n m.debug(\"resumeReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.receiver.getStats();\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = { negotiated: !0, id: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c, protocol: r };\n m.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation();\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = p.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Chrome74 = _;\n },\n function (e, t, r) {\n var i = function (e) {\n return String(Number(e)) === e ? Number(e) : e;\n },\n s = function (e, t, r) {\n var s = e.name && e.names;\n e.push && !t[e.push] ? (t[e.push] = []) : s && !t[e.name] && (t[e.name] = {});\n var n = e.push ? {} : s ? t[e.name] : t;\n !(function (e, t, r, s) {\n if (s && !r) t[s] = i(e[1]);\n else for (var n = 0; n < r.length; n += 1) null != e[n + 1] && (t[r[n]] = i(e[n + 1]));\n })(r.match(e.reg), n, e.names, e.name),\n e.push && t[e.push].push(n);\n },\n n = r(29),\n a = RegExp.prototype.test.bind(/^([a-z])=(.*)/);\n t.parse = function (e) {\n var t = {},\n r = [],\n i = t;\n return (\n e\n .split(/(\\r\\n|\\r|\\n)/)\n .filter(a)\n .forEach(function (e) {\n var t = e[0],\n a = e.slice(2);\n \"m\" === t && (r.push({ rtp: [], fmtp: [] }), (i = r[r.length - 1]));\n for (var o = 0; o < (n[t] || []).length; o += 1) {\n var c = n[t][o];\n if (c.reg.test(a)) return s(c, i, a);\n }\n }),\n (t.media = r),\n t\n );\n };\n var o = function (e, t) {\n var r = t.split(/=(.+)/, 2);\n return 2 === r.length ? (e[r[0]] = i(r[1])) : 1 === r.length && t.length > 1 && (e[r[0]] = void 0), e;\n };\n (t.parseParams = function (e) {\n return e.split(/;\\s?/).reduce(o, {});\n }),\n (t.parseFmtpConfig = t.parseParams),\n (t.parsePayloads = function (e) {\n return e.toString().split(\" \").map(Number);\n }),\n (t.parseRemoteCandidates = function (e) {\n for (var t = [], r = e.split(\" \").map(i), s = 0; s < r.length; s += 3)\n t.push({ component: r[s], ip: r[s + 1], port: r[s + 2] });\n return t;\n }),\n (t.parseImageAttributes = function (e) {\n return e.split(\" \").map(function (e) {\n return e\n .substring(1, e.length - 1)\n .split(\",\")\n .reduce(o, {});\n });\n }),\n (t.parseSimulcastStreamList = function (e) {\n return e.split(\";\").map(function (e) {\n return e.split(\",\").map(function (e) {\n var t,\n r = !1;\n return \"~\" !== e[0] ? (t = i(e)) : ((t = i(e.substring(1, e.length))), (r = !0)), { scid: t, paused: r };\n });\n });\n });\n },\n function (e, t, r) {\n var i = r(29),\n s = /%[sdv%]/g,\n n = function (e) {\n var t = 1,\n r = arguments,\n i = r.length;\n return e.replace(s, function (e) {\n if (t >= i) return e;\n var s = r[t];\n switch (((t += 1), e)) {\n case \"%%\":\n return \"%\";\n case \"%s\":\n return String(s);\n case \"%d\":\n return Number(s);\n case \"%v\":\n return \"\";\n }\n });\n },\n a = function (e, t, r) {\n var i = [e + \"=\" + (t.format instanceof Function ? t.format(t.push ? r : r[t.name]) : t.format)];\n if (t.names)\n for (var s = 0; s < t.names.length; s += 1) {\n var a = t.names[s];\n t.name ? i.push(r[t.name][a]) : i.push(r[t.names[s]]);\n }\n else i.push(r[t.name]);\n return n.apply(null, i);\n },\n o = [\"v\", \"o\", \"s\", \"i\", \"u\", \"e\", \"p\", \"c\", \"b\", \"t\", \"r\", \"z\", \"a\"],\n c = [\"i\", \"c\", \"b\", \"a\"];\n e.exports = function (e, t) {\n (t = t || {}),\n null == e.version && (e.version = 0),\n null == e.name && (e.name = \" \"),\n e.media.forEach(function (e) {\n null == e.payloads && (e.payloads = \"\");\n });\n var r = t.outerOrder || o,\n s = t.innerOrder || c,\n n = [];\n return (\n r.forEach(function (t) {\n i[t].forEach(function (r) {\n r.name in e && null != e[r.name]\n ? n.push(a(t, r, e))\n : r.push in e &&\n null != e[r.push] &&\n e[r.push].forEach(function (e) {\n n.push(a(t, r, e));\n });\n });\n }),\n e.media.forEach(function (e) {\n n.push(a(\"m\", i.m[0], e)),\n s.forEach(function (t) {\n i[t].forEach(function (r) {\n r.name in e && null != e[r.name]\n ? n.push(a(t, r, e))\n : r.push in e &&\n null != e[r.push] &&\n e[r.push].forEach(function (e) {\n n.push(a(t, r, e));\n });\n });\n });\n }),\n n.join(\"\\r\\n\") + \"\\r\\n\"\n );\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n (t.OfferMediaSection = t.AnswerMediaSection = t.MediaSection = void 0);\n const a = n(r(1));\n class o {\n constructor({ iceParameters: e, iceCandidates: t, dtlsParameters: r, planB: i = !1 }) {\n if (((this._mediaObject = {}), (this._planB = i), e && this.setIceParameters(e), t)) {\n this._mediaObject.candidates = [];\n for (const e of t) {\n const t = { component: 1 };\n (t.foundation = e.foundation),\n (t.ip = e.ip),\n (t.port = e.port),\n (t.priority = e.priority),\n (t.transport = e.protocol),\n (t.type = e.type),\n e.tcpType && (t.tcptype = e.tcpType),\n this._mediaObject.candidates.push(t);\n }\n (this._mediaObject.endOfCandidates = \"end-of-candidates\"), (this._mediaObject.iceOptions = \"renomination\");\n }\n r && this.setDtlsRole(r.role);\n }\n get mid() {\n return String(this._mediaObject.mid);\n }\n get closed() {\n return 0 === this._mediaObject.port;\n }\n getObject() {\n return this._mediaObject;\n }\n setIceParameters(e) {\n (this._mediaObject.iceUfrag = e.usernameFragment), (this._mediaObject.icePwd = e.password);\n }\n disable() {\n (this._mediaObject.direction = \"inactive\"),\n delete this._mediaObject.ext,\n delete this._mediaObject.ssrcs,\n delete this._mediaObject.ssrcGroups,\n delete this._mediaObject.simulcast,\n delete this._mediaObject.simulcast_03,\n delete this._mediaObject.rids;\n }\n close() {\n (this._mediaObject.direction = \"inactive\"),\n (this._mediaObject.port = 0),\n delete this._mediaObject.ext,\n delete this._mediaObject.ssrcs,\n delete this._mediaObject.ssrcGroups,\n delete this._mediaObject.simulcast,\n delete this._mediaObject.simulcast_03,\n delete this._mediaObject.rids,\n delete this._mediaObject.extmapAllowMixed;\n }\n }\n t.MediaSection = o;\n t.AnswerMediaSection = class extends o {\n constructor({\n iceParameters: e,\n iceCandidates: t,\n dtlsParameters: r,\n sctpParameters: i,\n plainRtpParameters: s,\n planB: n = !1,\n offerMediaObject: o,\n offerRtpParameters: d,\n answerRtpParameters: p,\n codecOptions: l,\n extmapAllowMixed: h = !1,\n }) {\n switch (\n (super({ iceParameters: e, iceCandidates: t, dtlsParameters: r, planB: n }),\n (this._mediaObject.mid = String(o.mid)),\n (this._mediaObject.type = o.type),\n (this._mediaObject.protocol = o.protocol),\n s\n ? ((this._mediaObject.connection = { ip: s.ip, version: s.ipVersion }), (this._mediaObject.port = s.port))\n : ((this._mediaObject.connection = { ip: \"127.0.0.1\", version: 4 }), (this._mediaObject.port = 7)),\n o.type)\n ) {\n case \"audio\":\n case \"video\":\n (this._mediaObject.direction = \"recvonly\"),\n (this._mediaObject.rtp = []),\n (this._mediaObject.rtcpFb = []),\n (this._mediaObject.fmtp = []);\n for (const e of p.codecs) {\n const t = { payload: e.payloadType, codec: c(e), rate: e.clockRate };\n e.channels > 1 && (t.encoding = e.channels), this._mediaObject.rtp.push(t);\n const r = a.clone(e.parameters, {});\n if (l) {\n const {\n opusStereo: t,\n opusFec: i,\n opusDtx: s,\n opusMaxPlaybackRate: n,\n opusMaxAverageBitrate: a,\n opusPtime: o,\n videoGoogleStartBitrate: c,\n videoGoogleMaxBitrate: p,\n videoGoogleMinBitrate: h,\n } = l,\n u = d.codecs.find((t) => t.payloadType === e.payloadType);\n switch (e.mimeType.toLowerCase()) {\n case \"audio/opus\":\n void 0 !== t && ((u.parameters[\"sprop-stereo\"] = t ? 1 : 0), (r.stereo = t ? 1 : 0)),\n void 0 !== i && ((u.parameters.useinbandfec = i ? 1 : 0), (r.useinbandfec = i ? 1 : 0)),\n void 0 !== s && ((u.parameters.usedtx = s ? 1 : 0), (r.usedtx = s ? 1 : 0)),\n void 0 !== n && (r.maxplaybackrate = n),\n void 0 !== a && (r.maxaveragebitrate = a),\n void 0 !== o && ((u.parameters.ptime = o), (r.ptime = o));\n break;\n case \"video/vp8\":\n case \"video/vp9\":\n case \"video/h264\":\n case \"video/h265\":\n void 0 !== c && (r[\"x-google-start-bitrate\"] = c),\n void 0 !== p && (r[\"x-google-max-bitrate\"] = p),\n void 0 !== h && (r[\"x-google-min-bitrate\"] = h);\n }\n }\n const i = { payload: e.payloadType, config: \"\" };\n for (const e of Object.keys(r)) i.config && (i.config += \";\"), (i.config += `${e}=${r[e]}`);\n i.config && this._mediaObject.fmtp.push(i);\n for (const t of e.rtcpFeedback)\n this._mediaObject.rtcpFb.push({ payload: e.payloadType, type: t.type, subtype: t.parameter });\n }\n (this._mediaObject.payloads = p.codecs.map((e) => e.payloadType).join(\" \")), (this._mediaObject.ext = []);\n for (const e of p.headerExtensions) {\n (o.ext || []).some((t) => t.uri === e.uri) && this._mediaObject.ext.push({ uri: e.uri, value: e.id });\n }\n if (\n (h &&\n \"extmap-allow-mixed\" === o.extmapAllowMixed &&\n (this._mediaObject.extmapAllowMixed = \"extmap-allow-mixed\"),\n o.simulcast)\n ) {\n (this._mediaObject.simulcast = { dir1: \"recv\", list1: o.simulcast.list1 }),\n (this._mediaObject.rids = []);\n for (const e of o.rids || [])\n \"send\" === e.direction && this._mediaObject.rids.push({ id: e.id, direction: \"recv\" });\n } else if (o.simulcast_03) {\n (this._mediaObject.simulcast_03 = { value: o.simulcast_03.value.replace(/send/g, \"recv\") }),\n (this._mediaObject.rids = []);\n for (const e of o.rids || [])\n \"send\" === e.direction && this._mediaObject.rids.push({ id: e.id, direction: \"recv\" });\n }\n (this._mediaObject.rtcpMux = \"rtcp-mux\"),\n (this._mediaObject.rtcpRsize = \"rtcp-rsize\"),\n this._planB && \"video\" === this._mediaObject.type && (this._mediaObject.xGoogleFlag = \"conference\");\n break;\n case \"application\":\n \"number\" == typeof o.sctpPort\n ? ((this._mediaObject.payloads = \"webrtc-datachannel\"),\n (this._mediaObject.sctpPort = i.port),\n (this._mediaObject.maxMessageSize = i.maxMessageSize))\n : o.sctpmap &&\n ((this._mediaObject.payloads = i.port),\n (this._mediaObject.sctpmap = {\n app: \"webrtc-datachannel\",\n sctpmapNumber: i.port,\n maxMessageSize: i.maxMessageSize,\n }));\n }\n }\n setDtlsRole(e) {\n switch (e) {\n case \"client\":\n this._mediaObject.setup = \"active\";\n break;\n case \"server\":\n this._mediaObject.setup = \"passive\";\n break;\n case \"auto\":\n this._mediaObject.setup = \"actpass\";\n }\n }\n };\n function c(e) {\n const t = new RegExp(\"^(audio|video)/(.+)\", \"i\").exec(e.mimeType);\n if (!t) throw new TypeError(\"invalid codec.mimeType\");\n return t[2];\n }\n t.OfferMediaSection = class extends o {\n constructor({\n iceParameters: e,\n iceCandidates: t,\n dtlsParameters: r,\n sctpParameters: i,\n plainRtpParameters: s,\n planB: n = !1,\n mid: a,\n kind: o,\n offerRtpParameters: d,\n streamId: p,\n trackId: l,\n oldDataChannelSpec: h = !1,\n }) {\n switch (\n (super({ iceParameters: e, iceCandidates: t, dtlsParameters: r, planB: n }),\n (this._mediaObject.mid = String(a)),\n (this._mediaObject.type = o),\n s\n ? ((this._mediaObject.connection = { ip: s.ip, version: s.ipVersion }),\n (this._mediaObject.protocol = \"RTP/AVP\"),\n (this._mediaObject.port = s.port))\n : ((this._mediaObject.connection = { ip: \"127.0.0.1\", version: 4 }),\n (this._mediaObject.protocol = i ? \"UDP/DTLS/SCTP\" : \"UDP/TLS/RTP/SAVPF\"),\n (this._mediaObject.port = 7)),\n o)\n ) {\n case \"audio\":\n case \"video\": {\n (this._mediaObject.direction = \"sendonly\"),\n (this._mediaObject.rtp = []),\n (this._mediaObject.rtcpFb = []),\n (this._mediaObject.fmtp = []),\n this._planB || (this._mediaObject.msid = `${p || \"-\"} ${l}`);\n for (const e of d.codecs) {\n const t = { payload: e.payloadType, codec: c(e), rate: e.clockRate };\n e.channels > 1 && (t.encoding = e.channels), this._mediaObject.rtp.push(t);\n const r = { payload: e.payloadType, config: \"\" };\n for (const t of Object.keys(e.parameters))\n r.config && (r.config += \";\"), (r.config += `${t}=${e.parameters[t]}`);\n r.config && this._mediaObject.fmtp.push(r);\n for (const t of e.rtcpFeedback)\n this._mediaObject.rtcpFb.push({ payload: e.payloadType, type: t.type, subtype: t.parameter });\n }\n (this._mediaObject.payloads = d.codecs.map((e) => e.payloadType).join(\" \")), (this._mediaObject.ext = []);\n for (const e of d.headerExtensions) this._mediaObject.ext.push({ uri: e.uri, value: e.id });\n (this._mediaObject.rtcpMux = \"rtcp-mux\"), (this._mediaObject.rtcpRsize = \"rtcp-rsize\");\n const e = d.encodings[0],\n t = e.ssrc,\n r = e.rtx && e.rtx.ssrc ? e.rtx.ssrc : void 0;\n (this._mediaObject.ssrcs = []),\n (this._mediaObject.ssrcGroups = []),\n d.rtcp.cname && this._mediaObject.ssrcs.push({ id: t, attribute: \"cname\", value: d.rtcp.cname }),\n this._planB && this._mediaObject.ssrcs.push({ id: t, attribute: \"msid\", value: `${p || \"-\"} ${l}` }),\n r &&\n (d.rtcp.cname && this._mediaObject.ssrcs.push({ id: r, attribute: \"cname\", value: d.rtcp.cname }),\n this._planB && this._mediaObject.ssrcs.push({ id: r, attribute: \"msid\", value: `${p || \"-\"} ${l}` }),\n this._mediaObject.ssrcGroups.push({ semantics: \"FID\", ssrcs: `${t} ${r}` }));\n break;\n }\n case \"application\":\n h\n ? ((this._mediaObject.payloads = i.port),\n (this._mediaObject.sctpmap = {\n app: \"webrtc-datachannel\",\n sctpmapNumber: i.port,\n maxMessageSize: i.maxMessageSize,\n }))\n : ((this._mediaObject.payloads = \"webrtc-datachannel\"),\n (this._mediaObject.sctpPort = i.port),\n (this._mediaObject.maxMessageSize = i.maxMessageSize));\n }\n }\n setDtlsRole(e) {\n this._mediaObject.setup = \"actpass\";\n }\n planBReceive({ offerRtpParameters: e, streamId: t, trackId: r }) {\n const i = e.encodings[0],\n s = i.ssrc,\n n = i.rtx && i.rtx.ssrc ? i.rtx.ssrc : void 0,\n a = this._mediaObject.payloads.split(\" \");\n for (const t of e.codecs) {\n if (a.includes(String(t.payloadType))) continue;\n const e = { payload: t.payloadType, codec: c(t), rate: t.clockRate };\n t.channels > 1 && (e.encoding = t.channels), this._mediaObject.rtp.push(e);\n const r = { payload: t.payloadType, config: \"\" };\n for (const e of Object.keys(t.parameters))\n r.config && (r.config += \";\"), (r.config += `${e}=${t.parameters[e]}`);\n r.config && this._mediaObject.fmtp.push(r);\n for (const e of t.rtcpFeedback)\n this._mediaObject.rtcpFb.push({ payload: t.payloadType, type: e.type, subtype: e.parameter });\n }\n (this._mediaObject.payloads +=\n \" \" +\n e.codecs\n .filter((e) => !this._mediaObject.payloads.includes(e.payloadType))\n .map((e) => e.payloadType)\n .join(\" \")),\n (this._mediaObject.payloads = this._mediaObject.payloads.trim()),\n e.rtcp.cname && this._mediaObject.ssrcs.push({ id: s, attribute: \"cname\", value: e.rtcp.cname }),\n this._mediaObject.ssrcs.push({ id: s, attribute: \"msid\", value: `${t || \"-\"} ${r}` }),\n n &&\n (e.rtcp.cname && this._mediaObject.ssrcs.push({ id: n, attribute: \"cname\", value: e.rtcp.cname }),\n this._mediaObject.ssrcs.push({ id: n, attribute: \"msid\", value: `${t || \"-\"} ${r}` }),\n this._mediaObject.ssrcGroups.push({ semantics: \"FID\", ssrcs: `${s} ${n}` }));\n }\n planBStopReceiving({ offerRtpParameters: e }) {\n const t = e.encodings[0],\n r = t.ssrc,\n i = t.rtx && t.rtx.ssrc ? t.rtx.ssrc : void 0;\n (this._mediaObject.ssrcs = this._mediaObject.ssrcs.filter((e) => e.id !== r && e.id !== i)),\n i && (this._mediaObject.ssrcGroups = this._mediaObject.ssrcGroups.filter((e) => e.ssrcs !== `${r} ${i}`));\n }\n };\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Chrome70 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(11)),\n l = n(r(17)),\n h = r(9),\n u = r(12),\n f = r(21),\n m = new o.Logger(\"Chrome70\"),\n g = { OS: 1024, MIS: 1024 };\n class _ extends h.HandlerInterface {\n constructor() {\n super(),\n (this._mapMidTransceiver = new Map()),\n (this._sendStream = new MediaStream()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new _();\n }\n get name() {\n return \"Chrome70\";\n }\n close() {\n if ((m.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n m.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"unified-plan\",\n });\n try {\n e.addTransceiver(\"audio\"), e.addTransceiver(\"video\");\n const t = await e.createOffer();\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return p.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return m.debug(\"getNativeSctpCapabilities()\"), { numStreams: g };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: p,\n }) {\n m.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new u.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n })),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", p),\n video: d.getSendingRtpParameters(\"video\", p),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: d.getSendingRemoteRtpParameters(\"audio\", p),\n video: d.getSendingRemoteRtpParameters(\"video\", p),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"unified-plan\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n m.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((m.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n m.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n m.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(), m.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id);\n const n = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n n.codecs = d.reduceCodecs(n.codecs, i);\n const o = c.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n o.codecs = d.reduceCodecs(o.codecs, i);\n const h = this._remoteSdp.getNextMediaSectionIdx(),\n u = this._pc.addTransceiver(e, { direction: \"sendonly\", streams: [this._sendStream] });\n let g,\n _ = await this._pc.createOffer(),\n b = a.parse(_.sdp);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: b,\n })),\n t &&\n t.length > 1 &&\n (m.debug(\"send() | enabling legacy simulcast\"),\n (b = a.parse(_.sdp)),\n (g = b.media[h.idx]),\n l.addLegacySimulcast({ offerMediaObject: g, numStreams: t.length }),\n (_ = { type: \"offer\", sdp: a.write(b) }));\n let v = !1;\n const y = (0, f.parse)((t || [{}])[0].scalabilityMode);\n if (\n (t &&\n 1 === t.length &&\n y.spatialLayers > 1 &&\n \"video/vp9\" === n.codecs[0].mimeType.toLowerCase() &&\n (m.debug(\"send() | enabling legacy simulcast for VP9 SVC\"),\n (v = !0),\n (b = a.parse(_.sdp)),\n (g = b.media[h.idx]),\n l.addLegacySimulcast({ offerMediaObject: g, numStreams: y.spatialLayers }),\n (_ = { type: \"offer\", sdp: a.write(b) })),\n m.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", _),\n await this._pc.setLocalDescription(_),\n t)\n ) {\n m.debug(\"send() | applying given encodings\");\n const e = u.sender.getParameters();\n for (let r = 0; r < (e.encodings || []).length; ++r) {\n const i = e.encodings[r],\n s = t[r];\n if (!s) break;\n e.encodings[r] = Object.assign(i, s);\n }\n await u.sender.setParameters(e);\n }\n const w = u.mid;\n if (\n ((n.mid = w),\n (b = a.parse(this._pc.localDescription.sdp)),\n (g = b.media[h.idx]),\n (n.rtcp.cname = p.getCname({ offerMediaObject: g })),\n (n.encodings = l.getRtpEncodings({ offerMediaObject: g })),\n t)\n )\n for (let e = 0; e < n.encodings.length; ++e) t[e] && Object.assign(n.encodings[e], t[e]);\n if (\n (v && (n.encodings = [n.encodings[0]]),\n n.encodings.length > 1 &&\n (\"video/vp8\" === n.codecs[0].mimeType.toLowerCase() ||\n \"video/h264\" === n.codecs[0].mimeType.toLowerCase()))\n )\n for (const e of n.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({\n offerMediaObject: g,\n reuseMid: h.reuseMid,\n offerRtpParameters: n,\n answerRtpParameters: o,\n codecOptions: r,\n });\n const S = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n return (\n m.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", S),\n await this._pc.setRemoteDescription(S),\n this._mapMidTransceiver.set(w, u),\n { localId: w, rtpParameters: n, rtpSender: u.sender }\n );\n }\n async stopSending(e) {\n this._assertSendDirection(), m.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n t.sender.replaceTrack(null), this._pc.removeTrack(t.sender), this._remoteSdp.closeMediaSection(t.mid);\n const r = await this._pc.createOffer();\n m.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r),\n await this._pc.setLocalDescription(r);\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? m.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : m.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n await r.sender.replaceTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), m.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.sender.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), m.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.sender.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.sender.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmitTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n m.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % g.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n m.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [],\n i = new Map();\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: s } = t;\n m.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const n = s.mid || String(this._mapMidTransceiver.size);\n i.set(e, n),\n this._remoteSdp.receive({ mid: n, kind: r, offerRtpParameters: s, streamId: s.rtcp.cname, trackId: e });\n }\n const s = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", s),\n await this._pc.setRemoteDescription(s);\n let n = await this._pc.createAnswer();\n const o = a.parse(n.sdp);\n for (const t of e) {\n const { trackId: e, rtpParameters: r } = t,\n s = i.get(e),\n n = o.media.find((e) => String(e.mid) === s);\n p.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: n });\n }\n (n = { type: \"answer\", sdp: a.write(o) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: o,\n })),\n m.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", n),\n await this._pc.setLocalDescription(n);\n for (const t of e) {\n const { trackId: e } = t,\n s = i.get(e),\n n = this._pc.getTransceivers().find((e) => e.mid === s);\n if (!n) throw new Error(\"new RTCRtpTransceiver not found\");\n this._mapMidTransceiver.set(s, n), r.push({ localId: s, track: n.receiver.track, rtpReceiver: n.receiver });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), m.debug(\"stopReceiving() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n this._remoteSdp.closeMediaSection(t.mid);\n const r = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", r),\n await this._pc.setRemoteDescription(r);\n const i = await this._pc.createAnswer();\n m.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", i),\n await this._pc.setLocalDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.receiver.getStats();\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = {\n negotiated: !0,\n id: s,\n ordered: n,\n maxPacketLifeTime: o,\n maxRetransmitTime: o,\n maxRetransmits: c,\n protocol: r,\n };\n m.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation();\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = p.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Chrome70 = _;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Chrome67 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(11)),\n l = n(r(18)),\n h = r(9),\n u = r(12),\n f = new o.Logger(\"Chrome67\"),\n m = { OS: 1024, MIS: 1024 };\n class g extends h.HandlerInterface {\n constructor() {\n super(),\n (this._sendStream = new MediaStream()),\n (this._mapSendLocalIdRtpSender = new Map()),\n (this._nextSendLocalId = 0),\n (this._mapRecvLocalIdInfo = new Map()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new g();\n }\n get name() {\n return \"Chrome67\";\n }\n close() {\n if ((f.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n f.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n });\n try {\n const t = await e.createOffer({ offerToReceiveAudio: !0, offerToReceiveVideo: !0 });\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return p.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return f.debug(\"getNativeSctpCapabilities()\"), { numStreams: m };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: p,\n }) {\n f.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new u.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n planB: !0,\n })),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", p),\n video: d.getSendingRtpParameters(\"video\", p),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: d.getSendingRemoteRtpParameters(\"audio\", p),\n video: d.getSendingRemoteRtpParameters(\"video\", p),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n f.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((f.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n f.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n f.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(),\n f.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n i && f.warn(\"send() | codec selection is not available in %s handler\", this.name),\n this._sendStream.addTrack(e),\n this._pc.addTrack(e, this._sendStream);\n let n,\n o = await this._pc.createOffer(),\n h = a.parse(o.sdp);\n const u = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n u.codecs = d.reduceCodecs(u.codecs);\n const m = c.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n if (\n ((m.codecs = d.reduceCodecs(m.codecs)),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: h,\n })),\n \"video\" === e.kind &&\n t &&\n t.length > 1 &&\n (f.debug(\"send() | enabling simulcast\"),\n (h = a.parse(o.sdp)),\n (n = h.media.find((e) => \"video\" === e.type)),\n l.addLegacySimulcast({ offerMediaObject: n, track: e, numStreams: t.length }),\n (o = { type: \"offer\", sdp: a.write(h) })),\n f.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", o),\n await this._pc.setLocalDescription(o),\n (h = a.parse(this._pc.localDescription.sdp)),\n (n = h.media.find((t) => t.type === e.kind)),\n (u.rtcp.cname = p.getCname({ offerMediaObject: n })),\n (u.encodings = l.getRtpEncodings({ offerMediaObject: n, track: e })),\n t)\n )\n for (let e = 0; e < u.encodings.length; ++e) t[e] && Object.assign(u.encodings[e], t[e]);\n if (u.encodings.length > 1 && \"video/vp8\" === u.codecs[0].mimeType.toLowerCase())\n for (const e of u.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({ offerMediaObject: n, offerRtpParameters: u, answerRtpParameters: m, codecOptions: r });\n const g = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", g), await this._pc.setRemoteDescription(g);\n const _ = String(this._nextSendLocalId);\n this._nextSendLocalId++;\n const b = this._pc.getSenders().find((t) => t.track === e);\n return this._mapSendLocalIdRtpSender.set(_, b), { localId: _, rtpParameters: u, rtpSender: b };\n }\n async stopSending(e) {\n this._assertSendDirection(), f.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapSendLocalIdRtpSender.get(e);\n if (!t) throw new Error(\"associated RTCRtpSender not found\");\n this._pc.removeTrack(t),\n t.track && this._sendStream.removeTrack(t.track),\n this._mapSendLocalIdRtpSender.delete(e);\n const r = await this._pc.createOffer();\n f.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r);\n try {\n await this._pc.setLocalDescription(r);\n } catch (e) {\n if (0 === this._sendStream.getTracks().length)\n return void f.warn(\"stopSending() | ignoring expected error due no sending tracks: %s\", e.toString());\n throw e;\n }\n if (\"stable\" === this._pc.signalingState) return;\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? f.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : f.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.track;\n await r.replaceTrack(t), i && this._sendStream.removeTrack(i), t && this._sendStream.addTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), f.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), f.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapSendLocalIdRtpSender.get(e);\n if (!t) throw new Error(\"associated RTCRtpSender not found\");\n return t.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmitTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n f.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % m.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n f.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [];\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: i } = t;\n f.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const s = r;\n this._remoteSdp.receive({ mid: s, kind: r, offerRtpParameters: i, streamId: i.rtcp.cname, trackId: e });\n }\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n let s = await this._pc.createAnswer();\n const n = a.parse(s.sdp);\n for (const t of e) {\n const { kind: e, rtpParameters: r } = t,\n i = e,\n s = n.media.find((e) => String(e.mid) === i);\n p.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: s });\n }\n (s = { type: \"answer\", sdp: a.write(n) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: n,\n })),\n f.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n for (const t of e) {\n const { kind: e, trackId: i, rtpParameters: s } = t,\n n = i,\n a = e,\n o = this._pc.getReceivers().find((e) => e.track && e.track.id === n);\n if (!o) throw new Error(\"new RTCRtpReceiver not\");\n this._mapRecvLocalIdInfo.set(n, { mid: a, rtpParameters: s, rtpReceiver: o }),\n r.push({ localId: n, track: o.track, rtpReceiver: o });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), f.debug(\"stopReceiving() [localId:%s]\", e);\n const { mid: t, rtpParameters: r } = this._mapRecvLocalIdInfo.get(e) || {};\n this._mapRecvLocalIdInfo.delete(e), this._remoteSdp.planBStopReceiving({ mid: t, offerRtpParameters: r });\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n const s = await this._pc.createAnswer();\n f.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const { rtpReceiver: t } = this._mapRecvLocalIdInfo.get(e) || {};\n if (!t) throw new Error(\"associated RTCRtpReceiver not found\");\n return t.getStats();\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = {\n negotiated: !0,\n id: s,\n ordered: n,\n maxPacketLifeTime: o,\n maxRetransmitTime: o,\n maxRetransmits: c,\n protocol: r,\n };\n f.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation({ oldDataChannelSpec: !0 });\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = p.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Chrome67 = g;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Chrome55 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = r(7),\n d = n(r(1)),\n p = n(r(4)),\n l = n(r(11)),\n h = n(r(18)),\n u = r(9),\n f = r(12),\n m = new o.Logger(\"Chrome55\"),\n g = { OS: 1024, MIS: 1024 };\n class _ extends u.HandlerInterface {\n constructor() {\n super(),\n (this._sendStream = new MediaStream()),\n (this._mapSendLocalIdTrack = new Map()),\n (this._nextSendLocalId = 0),\n (this._mapRecvLocalIdInfo = new Map()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new _();\n }\n get name() {\n return \"Chrome55\";\n }\n close() {\n if ((m.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n m.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n });\n try {\n const t = await e.createOffer({ offerToReceiveAudio: !0, offerToReceiveVideo: !0 });\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return l.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return m.debug(\"getNativeSctpCapabilities()\"), { numStreams: g };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: d,\n }) {\n m.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new f.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n planB: !0,\n })),\n (this._sendingRtpParametersByKind = {\n audio: p.getSendingRtpParameters(\"audio\", d),\n video: p.getSendingRtpParameters(\"video\", d),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: p.getSendingRemoteRtpParameters(\"audio\", d),\n video: p.getSendingRemoteRtpParameters(\"video\", d),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n m.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((m.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n m.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n m.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(),\n m.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n i && m.warn(\"send() | codec selection is not available in %s handler\", this.name),\n this._sendStream.addTrack(e),\n this._pc.addStream(this._sendStream);\n let n,\n o = await this._pc.createOffer(),\n c = a.parse(o.sdp);\n const u = d.clone(this._sendingRtpParametersByKind[e.kind], {});\n u.codecs = p.reduceCodecs(u.codecs);\n const f = d.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n if (\n ((f.codecs = p.reduceCodecs(f.codecs)),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: c,\n })),\n \"video\" === e.kind &&\n t &&\n t.length > 1 &&\n (m.debug(\"send() | enabling simulcast\"),\n (c = a.parse(o.sdp)),\n (n = c.media.find((e) => \"video\" === e.type)),\n h.addLegacySimulcast({ offerMediaObject: n, track: e, numStreams: t.length }),\n (o = { type: \"offer\", sdp: a.write(c) })),\n m.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", o),\n await this._pc.setLocalDescription(o),\n (c = a.parse(this._pc.localDescription.sdp)),\n (n = c.media.find((t) => t.type === e.kind)),\n (u.rtcp.cname = l.getCname({ offerMediaObject: n })),\n (u.encodings = h.getRtpEncodings({ offerMediaObject: n, track: e })),\n t)\n )\n for (let e = 0; e < u.encodings.length; ++e) t[e] && Object.assign(u.encodings[e], t[e]);\n if (u.encodings.length > 1 && \"video/vp8\" === u.codecs[0].mimeType.toLowerCase())\n for (const e of u.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({ offerMediaObject: n, offerRtpParameters: u, answerRtpParameters: f, codecOptions: r });\n const g = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", g), await this._pc.setRemoteDescription(g);\n const _ = String(this._nextSendLocalId);\n return this._nextSendLocalId++, this._mapSendLocalIdTrack.set(_, e), { localId: _, rtpParameters: u };\n }\n async stopSending(e) {\n this._assertSendDirection(), m.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapSendLocalIdTrack.get(e);\n if (!t) throw new Error(\"track not found\");\n this._mapSendLocalIdTrack.delete(e), this._sendStream.removeTrack(t), this._pc.addStream(this._sendStream);\n const r = await this._pc.createOffer();\n m.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r);\n try {\n await this._pc.setLocalDescription(r);\n } catch (e) {\n if (0 === this._sendStream.getTracks().length)\n return void m.warn(\"stopSending() | ignoring expected error due no sending tracks: %s\", e.toString());\n throw e;\n }\n if (\"stable\" === this._pc.signalingState) return;\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n }\n async replaceTrack(e, t) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async setMaxSpatialLayer(e, t) {\n throw new c.UnsupportedError(\" not implemented\");\n }\n async setRtpEncodingParameters(e, t) {\n throw new c.UnsupportedError(\"not supported\");\n }\n async getSenderStats(e) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmitTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n m.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % g.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n m.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [];\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: i } = t;\n m.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const s = r,\n n = i.rtcp.cname;\n this._remoteSdp.receive({ mid: s, kind: r, offerRtpParameters: i, streamId: n, trackId: e });\n }\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n let s = await this._pc.createAnswer();\n const n = a.parse(s.sdp);\n for (const t of e) {\n const { kind: e, rtpParameters: r } = t,\n i = e,\n s = n.media.find((e) => String(e.mid) === i);\n l.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: s });\n }\n (s = { type: \"answer\", sdp: a.write(n) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: n,\n })),\n m.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n for (const t of e) {\n const { kind: e, trackId: i, rtpParameters: s } = t,\n n = e,\n a = i,\n o = s.rtcp.cname,\n c = this._pc\n .getRemoteStreams()\n .find((e) => e.id === o)\n .getTrackById(a);\n if (!c) throw new Error(\"remote track not found\");\n this._mapRecvLocalIdInfo.set(a, { mid: n, rtpParameters: s }), r.push({ localId: a, track: c });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), m.debug(\"stopReceiving() [localId:%s]\", e);\n const { mid: t, rtpParameters: r } = this._mapRecvLocalIdInfo.get(e) || {};\n this._mapRecvLocalIdInfo.delete(e), this._remoteSdp.planBStopReceiving({ mid: t, offerRtpParameters: r });\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n const s = await this._pc.createAnswer();\n m.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async getReceiverStats(e) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = {\n negotiated: !0,\n id: s,\n ordered: n,\n maxPacketLifeTime: o,\n maxRetransmitTime: o,\n maxRetransmits: c,\n protocol: r,\n };\n m.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation({ oldDataChannelSpec: !0 });\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = l.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Chrome55 = _;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Firefox60 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = r(7),\n d = n(r(1)),\n p = n(r(4)),\n l = n(r(11)),\n h = n(r(17)),\n u = r(9),\n f = r(12),\n m = new o.Logger(\"Firefox60\"),\n g = { OS: 16, MIS: 2048 };\n class _ extends u.HandlerInterface {\n constructor() {\n super(),\n (this._mapMidTransceiver = new Map()),\n (this._sendStream = new MediaStream()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new _();\n }\n get name() {\n return \"Firefox60\";\n }\n close() {\n if ((m.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n m.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n }),\n t = document.createElement(\"canvas\");\n t.getContext(\"2d\");\n const r = t.captureStream().getVideoTracks()[0];\n try {\n e.addTransceiver(\"audio\", { direction: \"sendrecv\" });\n const i = e.addTransceiver(r, { direction: \"sendrecv\" }),\n s = i.sender.getParameters(),\n n = [\n { rid: \"r0\", maxBitrate: 1e5 },\n { rid: \"r1\", maxBitrate: 5e5 },\n ];\n (s.encodings = n), await i.sender.setParameters(s);\n const o = await e.createOffer();\n try {\n t.remove();\n } catch (e) {}\n try {\n r.stop();\n } catch (e) {}\n try {\n e.close();\n } catch (e) {}\n const c = a.parse(o.sdp);\n return l.extractRtpCapabilities({ sdpObject: c });\n } catch (i) {\n try {\n t.remove();\n } catch (e) {}\n try {\n r.stop();\n } catch (e) {}\n try {\n e.close();\n } catch (e) {}\n throw i;\n }\n }\n async getNativeSctpCapabilities() {\n return m.debug(\"getNativeSctpCapabilities()\"), { numStreams: g };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: d,\n }) {\n m.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new f.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n })),\n (this._sendingRtpParametersByKind = {\n audio: p.getSendingRtpParameters(\"audio\", d),\n video: p.getSendingRtpParameters(\"video\", d),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: p.getSendingRemoteRtpParameters(\"audio\", d),\n video: p.getSendingRemoteRtpParameters(\"video\", d),\n }),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n throw new c.UnsupportedError(\"not supported\");\n }\n async restartIce(e) {\n if ((m.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n m.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n m.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n this._assertSendDirection(),\n m.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n t &&\n (t = d.clone(t, [])).length > 1 &&\n (t.forEach((e, t) => {\n e.rid = \"r\" + t;\n }),\n t.reverse());\n const s = d.clone(this._sendingRtpParametersByKind[e.kind], {});\n s.codecs = p.reduceCodecs(s.codecs, i);\n const n = d.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n n.codecs = p.reduceCodecs(n.codecs, i);\n const o = this._pc.addTransceiver(e, { direction: \"sendonly\", streams: [this._sendStream] });\n if (t) {\n const e = o.sender.getParameters();\n (e.encodings = t), await o.sender.setParameters(e);\n }\n const c = await this._pc.createOffer();\n let u = a.parse(c.sdp);\n this._transportReady || (await this._setupTransport({ localDtlsRole: \"client\", localSdpObject: u })),\n m.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", c),\n await this._pc.setLocalDescription(c);\n const f = o.mid;\n (s.mid = f), (u = a.parse(this._pc.localDescription.sdp));\n const g = u.media[u.media.length - 1];\n if (((s.rtcp.cname = l.getCname({ offerMediaObject: g })), t))\n if (1 === t.length) {\n const e = h.getRtpEncodings({ offerMediaObject: g });\n Object.assign(e[0], t[0]), (s.encodings = e);\n } else s.encodings = t.reverse();\n else s.encodings = h.getRtpEncodings({ offerMediaObject: g });\n if (\n s.encodings.length > 1 &&\n (\"video/vp8\" === s.codecs[0].mimeType.toLowerCase() || \"video/h264\" === s.codecs[0].mimeType.toLowerCase())\n )\n for (const e of s.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({\n offerMediaObject: g,\n offerRtpParameters: s,\n answerRtpParameters: n,\n codecOptions: r,\n extmapAllowMixed: !0,\n });\n const _ = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n return (\n m.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", _),\n await this._pc.setRemoteDescription(_),\n this._mapMidTransceiver.set(f, o),\n { localId: f, rtpParameters: s, rtpSender: o.sender }\n );\n }\n async stopSending(e) {\n m.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated transceiver not found\");\n t.sender.replaceTrack(null), this._pc.removeTrack(t.sender), this._remoteSdp.disableMediaSection(t.mid);\n const r = await this._pc.createOffer();\n m.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r),\n await this._pc.setLocalDescription(r);\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? m.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : m.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n await r.sender.replaceTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), m.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated transceiver not found\");\n const i = r.sender.getParameters();\n (t = i.encodings.length - 1 - t),\n i.encodings.forEach((e, r) => {\n e.active = r >= t;\n }),\n await r.sender.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), m.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.sender.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.sender.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n this._assertSendDirection();\n const n = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n m.debug(\"sendDataChannel() [options:%o]\", n);\n const o = this._pc.createDataChannel(i, n);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % g.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady || (await this._setupTransport({ localDtlsRole: \"client\", localSdpObject: t })),\n m.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: o,\n sctpStreamParameters: {\n streamId: n.id,\n ordered: n.ordered,\n maxPacketLifeTime: n.maxPacketLifeTime,\n maxRetransmits: n.maxRetransmits,\n },\n };\n }\n async receive(e) {\n this._assertRecvDirection();\n const t = [],\n r = new Map();\n for (const t of e) {\n const { trackId: e, kind: i, rtpParameters: s } = t;\n m.debug(\"receive() [trackId:%s, kind:%s]\", e, i);\n const n = s.mid || String(this._mapMidTransceiver.size);\n r.set(e, n),\n this._remoteSdp.receive({ mid: n, kind: i, offerRtpParameters: s, streamId: s.rtcp.cname, trackId: e });\n }\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n let s = await this._pc.createAnswer();\n const n = a.parse(s.sdp);\n for (const t of e) {\n const { trackId: e, rtpParameters: i } = t,\n o = r.get(e),\n c = n.media.find((e) => String(e.mid) === o);\n l.applyCodecParameters({ offerRtpParameters: i, answerMediaObject: c }),\n (s = { type: \"answer\", sdp: a.write(n) });\n }\n this._transportReady || (await this._setupTransport({ localDtlsRole: \"client\", localSdpObject: n })),\n m.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n for (const i of e) {\n const { trackId: e } = i,\n s = r.get(e),\n n = this._pc.getTransceivers().find((e) => e.mid === s);\n if (!n) throw new Error(\"new RTCRtpTransceiver not found\");\n this._mapMidTransceiver.set(s, n), t.push({ localId: s, track: n.receiver.track, rtpReceiver: n.receiver });\n }\n return t;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), m.debug(\"stopReceiving() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n this._remoteSdp.closeMediaSection(t.mid);\n const r = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", r),\n await this._pc.setRemoteDescription(r);\n const i = await this._pc.createAnswer();\n m.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", i),\n await this._pc.setLocalDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async pauseReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n m.debug(\"pauseReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"inactive\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n m.debug(\"pauseReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async resumeReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n m.debug(\"resumeReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"recvonly\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n m.debug(\"resumeReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.receiver.getStats();\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n this._assertRecvDirection();\n const { streamId: i, ordered: s, maxPacketLifeTime: n, maxRetransmits: o } = e,\n c = { negotiated: !0, id: i, ordered: s, maxPacketLifeTime: n, maxRetransmits: o, protocol: r };\n m.debug(\"receiveDataChannel() [options:%o]\", c);\n const d = this._pc.createDataChannel(t, c);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation();\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({ localDtlsRole: \"client\", localSdpObject: e });\n }\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: d };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = l.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Firefox60 = _;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Safari12 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(11)),\n l = n(r(17)),\n h = r(9),\n u = r(12),\n f = new o.Logger(\"Safari12\"),\n m = { OS: 1024, MIS: 1024 };\n class g extends h.HandlerInterface {\n constructor() {\n super(),\n (this._mapMidTransceiver = new Map()),\n (this._sendStream = new MediaStream()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new g();\n }\n get name() {\n return \"Safari12\";\n }\n close() {\n if ((f.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n f.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n });\n try {\n e.addTransceiver(\"audio\"), e.addTransceiver(\"video\");\n const t = await e.createOffer();\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return p.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return f.debug(\"getNativeSctpCapabilities()\"), { numStreams: m };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: p,\n }) {\n f.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new u.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n })),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", p),\n video: d.getSendingRtpParameters(\"video\", p),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: d.getSendingRemoteRtpParameters(\"audio\", p),\n video: d.getSendingRemoteRtpParameters(\"video\", p),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n f.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((f.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n f.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n f.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(), f.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id);\n const n = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n n.codecs = d.reduceCodecs(n.codecs, i);\n const o = c.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n o.codecs = d.reduceCodecs(o.codecs, i);\n const h = this._remoteSdp.getNextMediaSectionIdx(),\n u = this._pc.addTransceiver(e, { direction: \"sendonly\", streams: [this._sendStream] });\n let m,\n g = await this._pc.createOffer(),\n _ = a.parse(g.sdp);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: _,\n })),\n t &&\n t.length > 1 &&\n (f.debug(\"send() | enabling legacy simulcast\"),\n (_ = a.parse(g.sdp)),\n (m = _.media[h.idx]),\n l.addLegacySimulcast({ offerMediaObject: m, numStreams: t.length }),\n (g = { type: \"offer\", sdp: a.write(_) })),\n f.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", g),\n await this._pc.setLocalDescription(g);\n const b = u.mid;\n if (\n ((n.mid = b),\n (_ = a.parse(this._pc.localDescription.sdp)),\n (m = _.media[h.idx]),\n (n.rtcp.cname = p.getCname({ offerMediaObject: m })),\n (n.encodings = l.getRtpEncodings({ offerMediaObject: m })),\n t)\n )\n for (let e = 0; e < n.encodings.length; ++e) t[e] && Object.assign(n.encodings[e], t[e]);\n if (\n n.encodings.length > 1 &&\n (\"video/vp8\" === n.codecs[0].mimeType.toLowerCase() || \"video/h264\" === n.codecs[0].mimeType.toLowerCase())\n )\n for (const e of n.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({\n offerMediaObject: m,\n reuseMid: h.reuseMid,\n offerRtpParameters: n,\n answerRtpParameters: o,\n codecOptions: r,\n });\n const v = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n return (\n f.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", v),\n await this._pc.setRemoteDescription(v),\n this._mapMidTransceiver.set(b, u),\n { localId: b, rtpParameters: n, rtpSender: u.sender }\n );\n }\n async stopSending(e) {\n this._assertSendDirection(), f.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n t.sender.replaceTrack(null), this._pc.removeTrack(t.sender), this._remoteSdp.closeMediaSection(t.mid);\n const r = await this._pc.createOffer();\n f.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r),\n await this._pc.setLocalDescription(r);\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? f.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : f.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n await r.sender.replaceTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), f.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.sender.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), f.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapMidTransceiver.get(e);\n if (!r) throw new Error(\"associated RTCRtpTransceiver not found\");\n const i = r.sender.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.sender.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.sender.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n f.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % m.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n f.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [],\n i = new Map();\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: s } = t;\n f.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const n = s.mid || String(this._mapMidTransceiver.size);\n i.set(e, n),\n this._remoteSdp.receive({ mid: n, kind: r, offerRtpParameters: s, streamId: s.rtcp.cname, trackId: e });\n }\n const s = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", s),\n await this._pc.setRemoteDescription(s);\n let n = await this._pc.createAnswer();\n const o = a.parse(n.sdp);\n for (const t of e) {\n const { trackId: e, rtpParameters: r } = t,\n s = i.get(e),\n n = o.media.find((e) => String(e.mid) === s);\n p.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: n });\n }\n (n = { type: \"answer\", sdp: a.write(o) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: o,\n })),\n f.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", n),\n await this._pc.setLocalDescription(n);\n for (const t of e) {\n const { trackId: e } = t,\n s = i.get(e),\n n = this._pc.getTransceivers().find((e) => e.mid === s);\n if (!n) throw new Error(\"new RTCRtpTransceiver not found\");\n this._mapMidTransceiver.set(s, n), r.push({ localId: s, track: n.receiver.track, rtpReceiver: n.receiver });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), f.debug(\"stopReceiving() [localId:%s]\", e);\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n this._remoteSdp.closeMediaSection(t.mid);\n const r = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", r),\n await this._pc.setRemoteDescription(r);\n const i = await this._pc.createAnswer();\n f.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", i),\n await this._pc.setLocalDescription(i),\n this._mapMidTransceiver.delete(e);\n }\n async pauseReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n f.debug(\"pauseReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"inactive\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n f.debug(\"pauseReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async resumeReceiving(e) {\n this._assertRecvDirection();\n for (const t of e) {\n f.debug(\"resumeReceiving() [localId:%s]\", t);\n const e = this._mapMidTransceiver.get(t);\n if (!e) throw new Error(\"associated RTCRtpTransceiver not found\");\n e.direction = \"recvonly\";\n }\n const t = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n const r = await this._pc.createAnswer();\n f.debug(\"resumeReceiving() | calling pc.setLocalDescription() [answer:%o]\", r),\n await this._pc.setLocalDescription(r);\n }\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const t = this._mapMidTransceiver.get(e);\n if (!t) throw new Error(\"associated RTCRtpTransceiver not found\");\n return t.receiver.getStats();\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = { negotiated: !0, id: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c, protocol: r };\n f.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation();\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = p.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Safari12 = g;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Safari11 = void 0);\n const a = n(r(8)),\n o = r(0),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(11)),\n l = n(r(18)),\n h = r(9),\n u = r(12),\n f = new o.Logger(\"Safari11\"),\n m = { OS: 1024, MIS: 1024 };\n class g extends h.HandlerInterface {\n constructor() {\n super(),\n (this._sendStream = new MediaStream()),\n (this._mapSendLocalIdRtpSender = new Map()),\n (this._nextSendLocalId = 0),\n (this._mapRecvLocalIdInfo = new Map()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new g();\n }\n get name() {\n return \"Safari11\";\n }\n close() {\n if ((f.debug(\"close()\"), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n f.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n });\n try {\n const t = await e.createOffer({ offerToReceiveAudio: !0, offerToReceiveVideo: !0 });\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return p.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return f.debug(\"getNativeSctpCapabilities()\"), { numStreams: m };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: p,\n }) {\n f.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new u.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n planB: !0,\n })),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", p),\n video: d.getSendingRtpParameters(\"video\", p),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: d.getSendingRemoteRtpParameters(\"audio\", p),\n video: d.getSendingRemoteRtpParameters(\"video\", p),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n f.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((f.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n f.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n f.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(),\n f.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n i && f.warn(\"send() | codec selection is not available in %s handler\", this.name),\n this._sendStream.addTrack(e),\n this._pc.addTrack(e, this._sendStream);\n let n,\n o = await this._pc.createOffer(),\n h = a.parse(o.sdp);\n const u = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n u.codecs = d.reduceCodecs(u.codecs);\n const m = c.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n if (\n ((m.codecs = d.reduceCodecs(m.codecs)),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: h,\n })),\n \"video\" === e.kind &&\n t &&\n t.length > 1 &&\n (f.debug(\"send() | enabling simulcast\"),\n (h = a.parse(o.sdp)),\n (n = h.media.find((e) => \"video\" === e.type)),\n l.addLegacySimulcast({ offerMediaObject: n, track: e, numStreams: t.length }),\n (o = { type: \"offer\", sdp: a.write(h) })),\n f.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", o),\n await this._pc.setLocalDescription(o),\n (h = a.parse(this._pc.localDescription.sdp)),\n (n = h.media.find((t) => t.type === e.kind)),\n (u.rtcp.cname = p.getCname({ offerMediaObject: n })),\n (u.encodings = l.getRtpEncodings({ offerMediaObject: n, track: e })),\n t)\n )\n for (let e = 0; e < u.encodings.length; ++e) t[e] && Object.assign(u.encodings[e], t[e]);\n if (u.encodings.length > 1 && \"video/vp8\" === u.codecs[0].mimeType.toLowerCase())\n for (const e of u.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({ offerMediaObject: n, offerRtpParameters: u, answerRtpParameters: m, codecOptions: r });\n const g = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", g), await this._pc.setRemoteDescription(g);\n const _ = String(this._nextSendLocalId);\n this._nextSendLocalId++;\n const b = this._pc.getSenders().find((t) => t.track === e);\n return this._mapSendLocalIdRtpSender.set(_, b), { localId: _, rtpParameters: u, rtpSender: b };\n }\n async stopSending(e) {\n this._assertSendDirection();\n const t = this._mapSendLocalIdRtpSender.get(e);\n if (!t) throw new Error(\"associated RTCRtpSender not found\");\n t.track && this._sendStream.removeTrack(t.track), this._mapSendLocalIdRtpSender.delete(e);\n const r = await this._pc.createOffer();\n f.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r);\n try {\n await this._pc.setLocalDescription(r);\n } catch (e) {\n if (0 === this._sendStream.getTracks().length)\n return void f.warn(\"stopSending() | ignoring expected error due no sending tracks: %s\", e.toString());\n throw e;\n }\n if (\"stable\" === this._pc.signalingState) return;\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n }\n async replaceTrack(e, t) {\n this._assertSendDirection(),\n t\n ? f.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : f.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.track;\n await r.replaceTrack(t), i && this._sendStream.removeTrack(i), t && this._sendStream.addTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n this._assertSendDirection(), f.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n this._assertSendDirection(), f.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._mapSendLocalIdRtpSender.get(e);\n if (!r) throw new Error(\"associated RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.setParameters(i);\n }\n async getSenderStats(e) {\n this._assertSendDirection();\n const t = this._mapSendLocalIdRtpSender.get(e);\n if (!t) throw new Error(\"associated RTCRtpSender not found\");\n return t.getStats();\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n f.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % m.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n f.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [];\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: i } = t;\n f.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const s = r;\n this._remoteSdp.receive({ mid: s, kind: r, offerRtpParameters: i, streamId: i.rtcp.cname, trackId: e });\n }\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n let s = await this._pc.createAnswer();\n const n = a.parse(s.sdp);\n for (const t of e) {\n const { kind: e, rtpParameters: r } = t,\n i = e,\n s = n.media.find((e) => String(e.mid) === i);\n p.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: s });\n }\n (s = { type: \"answer\", sdp: a.write(n) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: n,\n })),\n f.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n for (const t of e) {\n const { kind: e, trackId: i, rtpParameters: s } = t,\n n = e,\n a = i,\n o = this._pc.getReceivers().find((e) => e.track && e.track.id === a);\n if (!o) throw new Error(\"new RTCRtpReceiver not\");\n this._mapRecvLocalIdInfo.set(a, { mid: n, rtpParameters: s, rtpReceiver: o }),\n r.push({ localId: a, track: o.track, rtpReceiver: o });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), f.debug(\"stopReceiving() [localId:%s]\", e);\n const { mid: t, rtpParameters: r } = this._mapRecvLocalIdInfo.get(e) || {};\n this._mapRecvLocalIdInfo.delete(e), this._remoteSdp.planBStopReceiving({ mid: t, offerRtpParameters: r });\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n const s = await this._pc.createAnswer();\n f.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n }\n async getReceiverStats(e) {\n this._assertRecvDirection();\n const { rtpReceiver: t } = this._mapRecvLocalIdInfo.get(e) || {};\n if (!t) throw new Error(\"associated RTCRtpReceiver not found\");\n return t.getStats();\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = { negotiated: !0, id: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c, protocol: r };\n f.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation({ oldDataChannelSpec: !0 });\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n f.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = p.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.Safari11 = g;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.Edge11 = void 0);\n const a = r(0),\n o = r(7),\n c = n(r(1)),\n d = n(r(4)),\n p = n(r(54)),\n l = r(9),\n h = new a.Logger(\"Edge11\");\n class u extends l.HandlerInterface {\n constructor() {\n super(),\n (this._rtpSenders = new Map()),\n (this._rtpReceivers = new Map()),\n (this._nextSendLocalId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new u();\n }\n get name() {\n return \"Edge11\";\n }\n close() {\n h.debug(\"close()\");\n try {\n this._iceGatherer.close();\n } catch (e) {}\n try {\n this._iceTransport.stop();\n } catch (e) {}\n try {\n this._dtlsTransport.stop();\n } catch (e) {}\n for (const e of this._rtpSenders.values())\n try {\n e.stop();\n } catch (e) {}\n for (const e of this._rtpReceivers.values())\n try {\n e.stop();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n return h.debug(\"getNativeRtpCapabilities()\"), p.getCapabilities();\n }\n async getNativeSctpCapabilities() {\n return h.debug(\"getNativeSctpCapabilities()\"), { numStreams: { OS: 0, MIS: 0 } };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: p,\n extendedRtpCapabilities: l,\n }) {\n h.debug(\"run()\"),\n (this._sendingRtpParametersByKind = {\n audio: d.getSendingRtpParameters(\"audio\", l),\n video: d.getSendingRtpParameters(\"video\", l),\n }),\n (this._remoteIceParameters = t),\n (this._remoteIceCandidates = r),\n (this._remoteDtlsParameters = i),\n (this._cname = \"CNAME-\" + c.generateRandomNumber()),\n this._setIceGatherer({ iceServers: n, iceTransportPolicy: a }),\n this._setIceTransport(),\n this._setDtlsTransport();\n }\n async updateIceServers(e) {\n throw new o.UnsupportedError(\"not supported\");\n }\n async restartIce(e) {\n if ((h.debug(\"restartIce()\"), (this._remoteIceParameters = e), this._transportReady)) {\n h.debug(\"restartIce() | calling iceTransport.start()\"),\n this._iceTransport.start(this._iceGatherer, e, \"controlling\");\n for (const e of this._remoteIceCandidates) this._iceTransport.addRemoteCandidate(e);\n this._iceTransport.addRemoteCandidate({});\n }\n }\n async getTransportStats() {\n return this._iceTransport.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n h.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n this._transportReady || (await this._setupTransport({ localDtlsRole: \"server\" })),\n h.debug(\"send() | calling new RTCRtpSender()\");\n const s = new RTCRtpSender(e, this._dtlsTransport),\n n = c.clone(this._sendingRtpParametersByKind[e.kind], {});\n n.codecs = d.reduceCodecs(n.codecs, i);\n const a = n.codecs.some((e) => /.+\\/rtx$/i.test(e.mimeType));\n t || (t = [{}]);\n for (const e of t) (e.ssrc = c.generateRandomNumber()), a && (e.rtx = { ssrc: c.generateRandomNumber() });\n (n.encodings = t), (n.rtcp = { cname: this._cname, reducedSize: !0, mux: !0 });\n const o = p.mangleRtpParameters(n);\n h.debug(\"send() | calling rtpSender.send() [params:%o]\", o), await s.send(o);\n const l = String(this._nextSendLocalId);\n return this._nextSendLocalId++, this._rtpSenders.set(l, s), { localId: l, rtpParameters: n, rtpSender: s };\n }\n async stopSending(e) {\n h.debug(\"stopSending() [localId:%s]\", e);\n const t = this._rtpSenders.get(e);\n if (!t) throw new Error(\"RTCRtpSender not found\");\n this._rtpSenders.delete(e);\n try {\n h.debug(\"stopSending() | calling rtpSender.stop()\"), t.stop();\n } catch (e) {\n throw (h.warn(\"stopSending() | rtpSender.stop() failed:%o\", e), e);\n }\n }\n async replaceTrack(e, t) {\n t\n ? h.debug(\"replaceTrack() [localId:%s, track.id:%s]\", e, t.id)\n : h.debug(\"replaceTrack() [localId:%s, no track]\", e);\n const r = this._rtpSenders.get(e);\n if (!r) throw new Error(\"RTCRtpSender not found\");\n r.setTrack(t);\n }\n async setMaxSpatialLayer(e, t) {\n h.debug(\"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]\", e, t);\n const r = this._rtpSenders.get(e);\n if (!r) throw new Error(\"RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n e.active = r <= t;\n }),\n await r.setParameters(i);\n }\n async setRtpEncodingParameters(e, t) {\n h.debug(\"setRtpEncodingParameters() [localId:%s, params:%o]\", e, t);\n const r = this._rtpSenders.get(e);\n if (!r) throw new Error(\"RTCRtpSender not found\");\n const i = r.getParameters();\n i.encodings.forEach((e, r) => {\n i.encodings[r] = { ...e, ...t };\n }),\n await r.setParameters(i);\n }\n async getSenderStats(e) {\n const t = this._rtpSenders.get(e);\n if (!t) throw new Error(\"RTCRtpSender not found\");\n return t.getStats();\n }\n async sendDataChannel(e) {\n throw new o.UnsupportedError(\"not implemented\");\n }\n async receive(e) {\n const t = [];\n for (const t of e) {\n const { trackId: e, kind: r } = t;\n h.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n }\n this._transportReady || (await this._setupTransport({ localDtlsRole: \"server\" }));\n for (const r of e) {\n const { trackId: e, kind: i, rtpParameters: s } = r;\n h.debug(\"receive() | calling new RTCRtpReceiver()\");\n const n = new RTCRtpReceiver(this._dtlsTransport, i);\n n.addEventListener(\"error\", (e) => {\n h.error('rtpReceiver \"error\" event [event:%o]', e);\n });\n const a = p.mangleRtpParameters(s);\n h.debug(\"receive() | calling rtpReceiver.receive() [params:%o]\", a), await n.receive(a);\n const o = e;\n this._rtpReceivers.set(o, n), t.push({ localId: o, track: n.track, rtpReceiver: n });\n }\n return t;\n }\n async stopReceiving(e) {\n h.debug(\"stopReceiving() [localId:%s]\", e);\n const t = this._rtpReceivers.get(e);\n if (!t) throw new Error(\"RTCRtpReceiver not found\");\n this._rtpReceivers.delete(e);\n try {\n h.debug(\"stopReceiving() | calling rtpReceiver.stop()\"), t.stop();\n } catch (e) {\n h.warn(\"stopReceiving() | rtpReceiver.stop() failed:%o\", e);\n }\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async getReceiverStats(e) {\n const t = this._rtpReceivers.get(e);\n if (!t) throw new Error(\"RTCRtpReceiver not found\");\n return t.getStats();\n }\n async receiveDataChannel(e) {\n throw new o.UnsupportedError(\"not implemented\");\n }\n _setIceGatherer({ iceServers: e, iceTransportPolicy: t }) {\n const r = new RTCIceGatherer({ iceServers: e || [], gatherPolicy: t || \"all\" });\n r.addEventListener(\"error\", (e) => {\n h.error('iceGatherer \"error\" event [event:%o]', e);\n });\n try {\n r.gather();\n } catch (e) {\n h.debug(\"_setIceGatherer() | iceGatherer.gather() failed: %s\", e.toString());\n }\n this._iceGatherer = r;\n }\n _setIceTransport() {\n const e = new RTCIceTransport(this._iceGatherer);\n e.addEventListener(\"statechange\", () => {\n switch (e.state) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n }),\n e.addEventListener(\"icestatechange\", () => {\n switch (e.state) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n }),\n e.addEventListener(\"candidatepairchange\", (e) => {\n h.debug('iceTransport \"candidatepairchange\" event [pair:%o]', e.pair);\n }),\n (this._iceTransport = e);\n }\n _setDtlsTransport() {\n const e = new RTCDtlsTransport(this._iceTransport);\n e.addEventListener(\"statechange\", () => {\n h.debug('dtlsTransport \"statechange\" event [state:%s]', e.state);\n }),\n e.addEventListener(\"dtlsstatechange\", () => {\n h.debug('dtlsTransport \"dtlsstatechange\" event [state:%s]', e.state),\n \"closed\" === e.state && this.emit(\"@connectionstatechange\", \"closed\");\n }),\n e.addEventListener(\"error\", (e) => {\n h.error('dtlsTransport \"error\" event [event:%o]', e);\n }),\n (this._dtlsTransport = e);\n }\n async _setupTransport({ localDtlsRole: e }) {\n h.debug(\"_setupTransport()\");\n const t = this._dtlsTransport.getLocalParameters();\n (t.role = e),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: t }),\n this._iceTransport.start(this._iceGatherer, this._remoteIceParameters, \"controlling\");\n for (const e of this._remoteIceCandidates) this._iceTransport.addRemoteCandidate(e);\n this._iceTransport.addRemoteCandidate({}),\n (this._remoteDtlsParameters.fingerprints = this._remoteDtlsParameters.fingerprints.filter(\n (e) => \"sha-256\" === e.algorithm || \"sha-384\" === e.algorithm || \"sha-512\" === e.algorithm\n )),\n this._dtlsTransport.start(this._remoteDtlsParameters),\n (this._transportReady = !0);\n }\n }\n t.Edge11 = u;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.mangleRtpParameters = t.getCapabilities = void 0);\n const a = n(r(1));\n (t.getCapabilities = function () {\n const e = RTCRtpReceiver.getCapabilities(),\n t = a.clone(e, {});\n for (const e of t.codecs) {\n if (\n ((e.channels = e.numChannels),\n delete e.numChannels,\n (e.mimeType = e.mimeType || `${e.kind}/${e.name}`),\n e.parameters)\n ) {\n const t = e.parameters;\n t.apt && (t.apt = Number(t.apt)),\n t[\"packetization-mode\"] && (t[\"packetization-mode\"] = Number(t[\"packetization-mode\"]));\n }\n for (const t of e.rtcpFeedback || []) t.parameter || (t.parameter = \"\");\n }\n return t;\n }),\n (t.mangleRtpParameters = function (e) {\n const t = a.clone(e, {});\n t.mid && ((t.muxId = t.mid), delete t.mid);\n for (const e of t.codecs)\n e.channels && ((e.numChannels = e.channels), delete e.channels),\n e.mimeType && !e.name && (e.name = e.mimeType.split(\"/\")[1]),\n delete e.mimeType;\n return t;\n });\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__setModuleDefault) ||\n (Object.create\n ? function (e, t) {\n Object.defineProperty(e, \"default\", { enumerable: !0, value: t });\n }\n : function (e, t) {\n e.default = t;\n }),\n n =\n (this && this.__importStar) ||\n function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var r in e) \"default\" !== r && Object.prototype.hasOwnProperty.call(e, r) && i(t, e, r);\n return s(t, e), t;\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }), (t.ReactNative = void 0);\n const a = n(r(8)),\n o = r(0),\n c = r(7),\n d = n(r(1)),\n p = n(r(4)),\n l = n(r(11)),\n h = n(r(18)),\n u = r(9),\n f = r(12),\n m = new o.Logger(\"ReactNative\"),\n g = { OS: 1024, MIS: 1024 };\n class _ extends u.HandlerInterface {\n constructor() {\n super(),\n (this._sendStream = new MediaStream()),\n (this._mapSendLocalIdTrack = new Map()),\n (this._nextSendLocalId = 0),\n (this._mapRecvLocalIdInfo = new Map()),\n (this._hasDataChannelMediaSection = !1),\n (this._nextSendSctpStreamId = 0),\n (this._transportReady = !1);\n }\n static createFactory() {\n return () => new _();\n }\n get name() {\n return \"ReactNative\";\n }\n close() {\n if ((m.debug(\"close()\"), this._sendStream.release(!1), this._pc))\n try {\n this._pc.close();\n } catch (e) {}\n }\n async getNativeRtpCapabilities() {\n m.debug(\"getNativeRtpCapabilities()\");\n const e = new RTCPeerConnection({\n iceServers: [],\n iceTransportPolicy: \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n });\n try {\n const t = await e.createOffer({ offerToReceiveAudio: !0, offerToReceiveVideo: !0 });\n try {\n e.close();\n } catch (e) {}\n const r = a.parse(t.sdp);\n return l.extractRtpCapabilities({ sdpObject: r });\n } catch (t) {\n try {\n e.close();\n } catch (e) {}\n throw t;\n }\n }\n async getNativeSctpCapabilities() {\n return m.debug(\"getNativeSctpCapabilities()\"), { numStreams: g };\n }\n run({\n direction: e,\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n iceServers: n,\n iceTransportPolicy: a,\n additionalSettings: o,\n proprietaryConstraints: c,\n extendedRtpCapabilities: d,\n }) {\n m.debug(\"run()\"),\n (this._direction = e),\n (this._remoteSdp = new f.RemoteSdp({\n iceParameters: t,\n iceCandidates: r,\n dtlsParameters: i,\n sctpParameters: s,\n planB: !0,\n })),\n (this._sendingRtpParametersByKind = {\n audio: p.getSendingRtpParameters(\"audio\", d),\n video: p.getSendingRtpParameters(\"video\", d),\n }),\n (this._sendingRemoteRtpParametersByKind = {\n audio: p.getSendingRemoteRtpParameters(\"audio\", d),\n video: p.getSendingRemoteRtpParameters(\"video\", d),\n }),\n i.role && \"auto\" !== i.role && (this._forcedLocalDtlsRole = \"server\" === i.role ? \"client\" : \"server\"),\n (this._pc = new RTCPeerConnection(\n {\n iceServers: n || [],\n iceTransportPolicy: a || \"all\",\n bundlePolicy: \"max-bundle\",\n rtcpMuxPolicy: \"require\",\n sdpSemantics: \"plan-b\",\n ...o,\n },\n c\n )),\n this._pc.addEventListener(\"iceconnectionstatechange\", () => {\n switch (this._pc.iceConnectionState) {\n case \"checking\":\n this.emit(\"@connectionstatechange\", \"connecting\");\n break;\n case \"connected\":\n case \"completed\":\n this.emit(\"@connectionstatechange\", \"connected\");\n break;\n case \"failed\":\n this.emit(\"@connectionstatechange\", \"failed\");\n break;\n case \"disconnected\":\n this.emit(\"@connectionstatechange\", \"disconnected\");\n break;\n case \"closed\":\n this.emit(\"@connectionstatechange\", \"closed\");\n }\n });\n }\n async updateIceServers(e) {\n m.debug(\"updateIceServers()\");\n const t = this._pc.getConfiguration();\n (t.iceServers = e), this._pc.setConfiguration(t);\n }\n async restartIce(e) {\n if ((m.debug(\"restartIce()\"), this._remoteSdp.updateIceParameters(e), this._transportReady))\n if (\"send\" === this._direction) {\n const e = await this._pc.createOffer({ iceRestart: !0 });\n m.debug(\"restartIce() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e);\n const t = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setRemoteDescription(t);\n } else {\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"restartIce() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n m.debug(\"restartIce() | calling pc.setLocalDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t);\n }\n }\n async getTransportStats() {\n return this._pc.getStats();\n }\n async send({ track: e, encodings: t, codecOptions: r, codec: i }) {\n var s;\n this._assertSendDirection(),\n m.debug(\"send() [kind:%s, track.id:%s]\", e.kind, e.id),\n i && m.warn(\"send() | codec selection is not available in %s handler\", this.name),\n this._sendStream.addTrack(e),\n this._pc.addStream(this._sendStream);\n let n,\n o = await this._pc.createOffer(),\n c = a.parse(o.sdp);\n const u = d.clone(this._sendingRtpParametersByKind[e.kind], {});\n u.codecs = p.reduceCodecs(u.codecs);\n const f = d.clone(this._sendingRemoteRtpParametersByKind[e.kind], {});\n if (\n ((f.codecs = p.reduceCodecs(f.codecs)),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (s = this._forcedLocalDtlsRole) && void 0 !== s ? s : \"client\",\n localSdpObject: c,\n })),\n \"video\" === e.kind &&\n t &&\n t.length > 1 &&\n (m.debug(\"send() | enabling simulcast\"),\n (c = a.parse(o.sdp)),\n (n = c.media.find((e) => \"video\" === e.type)),\n h.addLegacySimulcast({ offerMediaObject: n, track: e, numStreams: t.length }),\n (o = { type: \"offer\", sdp: a.write(c) })),\n m.debug(\"send() | calling pc.setLocalDescription() [offer:%o]\", o),\n await this._pc.setLocalDescription(o),\n (c = a.parse(this._pc.localDescription.sdp)),\n (n = c.media.find((t) => t.type === e.kind)),\n (u.rtcp.cname = l.getCname({ offerMediaObject: n })),\n (u.encodings = h.getRtpEncodings({ offerMediaObject: n, track: e })),\n t)\n )\n for (let e = 0; e < u.encodings.length; ++e) t[e] && Object.assign(u.encodings[e], t[e]);\n if (\n u.encodings.length > 1 &&\n (\"video/vp8\" === u.codecs[0].mimeType.toLowerCase() || \"video/h264\" === u.codecs[0].mimeType.toLowerCase())\n )\n for (const e of u.encodings) e.scalabilityMode = \"S1T3\";\n this._remoteSdp.send({ offerMediaObject: n, offerRtpParameters: u, answerRtpParameters: f, codecOptions: r });\n const g = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"send() | calling pc.setRemoteDescription() [answer:%o]\", g), await this._pc.setRemoteDescription(g);\n const _ = String(this._nextSendLocalId);\n return this._nextSendLocalId++, this._mapSendLocalIdTrack.set(_, e), { localId: _, rtpParameters: u };\n }\n async stopSending(e) {\n this._assertSendDirection(), m.debug(\"stopSending() [localId:%s]\", e);\n const t = this._mapSendLocalIdTrack.get(e);\n if (!t) throw new Error(\"track not found\");\n this._mapSendLocalIdTrack.delete(e), this._sendStream.removeTrack(t), this._pc.addStream(this._sendStream);\n const r = await this._pc.createOffer();\n m.debug(\"stopSending() | calling pc.setLocalDescription() [offer:%o]\", r);\n try {\n await this._pc.setLocalDescription(r);\n } catch (e) {\n if (0 === this._sendStream.getTracks().length)\n return void m.warn(\"stopSending() | ignoring expected error due no sending tracks: %s\", e.toString());\n throw e;\n }\n if (\"stable\" === this._pc.signalingState) return;\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopSending() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n }\n async replaceTrack(e, t) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async setMaxSpatialLayer(e, t) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async setRtpEncodingParameters(e, t) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async getSenderStats(e) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: i, protocol: s }) {\n var n;\n this._assertSendDirection();\n const o = {\n negotiated: !0,\n id: this._nextSendSctpStreamId,\n ordered: e,\n maxPacketLifeTime: t,\n maxRetransmitTime: t,\n maxRetransmits: r,\n protocol: s,\n };\n m.debug(\"sendDataChannel() [options:%o]\", o);\n const c = this._pc.createDataChannel(i, o);\n if (\n ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % g.MIS), !this._hasDataChannelMediaSection)\n ) {\n const e = await this._pc.createOffer(),\n t = a.parse(e.sdp),\n r = t.media.find((e) => \"application\" === e.type);\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (n = this._forcedLocalDtlsRole) && void 0 !== n ? n : \"client\",\n localSdpObject: t,\n })),\n m.debug(\"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]\", e),\n await this._pc.setLocalDescription(e),\n this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });\n const i = { type: \"answer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", i),\n await this._pc.setRemoteDescription(i),\n (this._hasDataChannelMediaSection = !0);\n }\n return {\n dataChannel: c,\n sctpStreamParameters: {\n streamId: o.id,\n ordered: o.ordered,\n maxPacketLifeTime: o.maxPacketLifeTime,\n maxRetransmits: o.maxRetransmits,\n },\n };\n }\n async receive(e) {\n var t;\n this._assertRecvDirection();\n const r = [],\n i = new Map();\n for (const t of e) {\n const { trackId: e, kind: r, rtpParameters: s } = t;\n m.debug(\"receive() [trackId:%s, kind:%s]\", e, r);\n const n = r;\n let a = s.rtcp.cname;\n m.debug(\"receive() | forcing a random remote streamId to avoid well known bug in react-native-webrtc\"),\n (a += \"-hack-\" + d.generateRandomNumber()),\n i.set(e, a),\n this._remoteSdp.receive({ mid: n, kind: r, offerRtpParameters: s, streamId: a, trackId: e });\n }\n const s = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receive() | calling pc.setRemoteDescription() [offer:%o]\", s),\n await this._pc.setRemoteDescription(s);\n let n = await this._pc.createAnswer();\n const o = a.parse(n.sdp);\n for (const t of e) {\n const { kind: e, rtpParameters: r } = t,\n i = e,\n s = o.media.find((e) => String(e.mid) === i);\n l.applyCodecParameters({ offerRtpParameters: r, answerMediaObject: s });\n }\n (n = { type: \"answer\", sdp: a.write(o) }),\n this._transportReady ||\n (await this._setupTransport({\n localDtlsRole: null !== (t = this._forcedLocalDtlsRole) && void 0 !== t ? t : \"client\",\n localSdpObject: o,\n })),\n m.debug(\"receive() | calling pc.setLocalDescription() [answer:%o]\", n),\n await this._pc.setLocalDescription(n);\n for (const t of e) {\n const { kind: e, trackId: s, rtpParameters: n } = t,\n a = s,\n o = e,\n c = i.get(s),\n d = this._pc\n .getRemoteStreams()\n .find((e) => e.id === c)\n .getTrackById(a);\n if (!d) throw new Error(\"remote track not found\");\n this._mapRecvLocalIdInfo.set(a, { mid: o, rtpParameters: n }), r.push({ localId: a, track: d });\n }\n return r;\n }\n async stopReceiving(e) {\n this._assertRecvDirection(), m.debug(\"stopReceiving() [localId:%s]\", e);\n const { mid: t, rtpParameters: r } = this._mapRecvLocalIdInfo.get(e) || {};\n this._mapRecvLocalIdInfo.delete(e), this._remoteSdp.planBStopReceiving({ mid: t, offerRtpParameters: r });\n const i = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]\", i),\n await this._pc.setRemoteDescription(i);\n const s = await this._pc.createAnswer();\n m.debug(\"stopReceiving() | calling pc.setLocalDescription() [answer:%o]\", s),\n await this._pc.setLocalDescription(s);\n }\n async pauseReceiving(e) {}\n async resumeReceiving(e) {}\n async getReceiverStats(e) {\n throw new c.UnsupportedError(\"not implemented\");\n }\n async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r }) {\n var i;\n this._assertRecvDirection();\n const { streamId: s, ordered: n, maxPacketLifeTime: o, maxRetransmits: c } = e,\n d = {\n negotiated: !0,\n id: s,\n ordered: n,\n maxPacketLifeTime: o,\n maxRetransmitTime: o,\n maxRetransmits: c,\n protocol: r,\n };\n m.debug(\"receiveDataChannel() [options:%o]\", d);\n const p = this._pc.createDataChannel(t, d);\n if (!this._hasDataChannelMediaSection) {\n this._remoteSdp.receiveSctpAssociation({ oldDataChannelSpec: !0 });\n const e = { type: \"offer\", sdp: this._remoteSdp.getSdp() };\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]\", e),\n await this._pc.setRemoteDescription(e);\n const t = await this._pc.createAnswer();\n if (!this._transportReady) {\n const e = a.parse(t.sdp);\n await this._setupTransport({\n localDtlsRole: null !== (i = this._forcedLocalDtlsRole) && void 0 !== i ? i : \"client\",\n localSdpObject: e,\n });\n }\n m.debug(\"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]\", t),\n await this._pc.setLocalDescription(t),\n (this._hasDataChannelMediaSection = !0);\n }\n return { dataChannel: p };\n }\n async _setupTransport({ localDtlsRole: e, localSdpObject: t }) {\n t || (t = a.parse(this._pc.localDescription.sdp));\n const r = l.extractDtlsParameters({ sdpObject: t });\n (r.role = e),\n this._remoteSdp.updateDtlsRole(\"client\" === e ? \"server\" : \"client\"),\n await this.safeEmitAsPromise(\"@connect\", { dtlsParameters: r }),\n (this._transportReady = !0);\n }\n _assertSendDirection() {\n if (\"send\" !== this._direction)\n throw new Error('method can just be called for handlers with \"send\" direction');\n }\n _assertRecvDirection() {\n if (\"recv\" !== this._direction)\n throw new Error('method can just be called for handlers with \"recv\" direction');\n }\n }\n t.ReactNative = _;\n },\n function (e, t, r) {\n \"use strict\";\n var i =\n (this && this.__createBinding) ||\n (Object.create\n ? function (e, t, r, i) {\n void 0 === i && (i = r),\n Object.defineProperty(e, i, {\n enumerable: !0,\n get: function () {\n return t[r];\n },\n });\n }\n : function (e, t, r, i) {\n void 0 === i && (i = r), (e[i] = t[r]);\n }),\n s =\n (this && this.__exportStar) ||\n function (e, t) {\n for (var r in e) \"default\" === r || Object.prototype.hasOwnProperty.call(t, r) || i(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", { value: !0 }),\n s(r(23), t),\n s(r(24), t),\n s(r(25), t),\n s(r(26), t),\n s(r(27), t),\n s(r(28), t),\n s(r(57), t),\n s(r(58), t),\n s(r(9), t),\n s(r(7), t);\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 });\n },\n function (e, t, r) {\n \"use strict\";\n Object.defineProperty(t, \"__esModule\", { value: !0 });\n },\n function (e, t, r) {\n var i;\n !(function (s, n) {\n \"use strict\";\n var a = \"model\",\n o = \"name\",\n c = \"type\",\n d = \"vendor\",\n p = \"version\",\n l = \"mobile\",\n h = \"tablet\",\n u = \"smarttv\",\n f = function (e) {\n for (var t = {}, r = 0; r < e.length; r++) t[e[r].toUpperCase()] = e[r];\n return t;\n },\n m = function (e, t) {\n return \"string\" == typeof e && -1 !== g(t).indexOf(g(e));\n },\n g = function (e) {\n return e.toLowerCase();\n },\n _ = function (e, t) {\n if (\"string\" == typeof e)\n return (e = e.replace(/^\\s\\s*/, \"\").replace(/\\s\\s*$/, \"\")), void 0 === t ? e : e.substring(0, 255);\n },\n b = function (e, t) {\n for (var r, i, s, n, a, o, c = 0; c < t.length && !a; ) {\n var d = t[c],\n p = t[c + 1];\n for (r = i = 0; r < d.length && !a; )\n if ((a = d[r++].exec(e)))\n for (s = 0; s < p.length; s++)\n (o = a[++i]),\n \"object\" == typeof (n = p[s]) && n.length > 0\n ? 2 === n.length\n ? \"function\" == typeof n[1]\n ? (this[n[0]] = n[1].call(this, o))\n : (this[n[0]] = n[1])\n : 3 === n.length\n ? \"function\" != typeof n[1] || (n[1].exec && n[1].test)\n ? (this[n[0]] = o ? o.replace(n[1], n[2]) : void 0)\n : (this[n[0]] = o ? n[1].call(this, o, n[2]) : void 0)\n : 4 === n.length && (this[n[0]] = o ? n[3].call(this, o.replace(n[1], n[2])) : void 0)\n : (this[n] = o || void 0);\n c += 2;\n }\n },\n v = function (e, t) {\n for (var r in t)\n if (\"object\" == typeof t[r] && t[r].length > 0) {\n for (var i = 0; i < t[r].length; i++) if (m(t[r][i], e)) return \"?\" === r ? void 0 : r;\n } else if (m(t[r], e)) return \"?\" === r ? void 0 : r;\n return e;\n },\n y = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\"NT 5.1\", \"NT 5.2\"],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\"NT 6.4\", \"NT 10.0\"],\n RT: \"ARM\",\n },\n w = {\n browser: [\n [/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],\n [p, [o, \"Chrome\"]],\n [/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],\n [p, [o, \"Edge\"]],\n [\n /(opera mini)\\/([-\\w\\.]+)/i,\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i,\n ],\n [o, p],\n [/opios[\\/ ]+([\\w\\.]+)/i],\n [p, [o, \"Opera Mini\"]],\n [/\\bopr\\/([\\w\\.]+)/i],\n [p, [o, \"Opera\"]],\n [\n /(kindle)\\/([\\w\\.]+)/i,\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,\n /(?:ms|\\()(ie) ([\\w\\.]+)/i,\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([-\\w\\.]+)/i,\n /(weibo)__([\\d\\.]+)/i,\n ],\n [o, p],\n [/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],\n [p, [o, \"UCBrowser\"]],\n [/\\bqbcore\\/([\\w\\.]+)/i],\n [p, [o, \"WeChat(Win) Desktop\"]],\n [/micromessenger\\/([\\w\\.]+)/i],\n [p, [o, \"WeChat\"]],\n [/konqueror\\/([\\w\\.]+)/i],\n [p, [o, \"Konqueror\"]],\n [/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],\n [p, [o, \"IE\"]],\n [/yabrowser\\/([\\w\\.]+)/i],\n [p, [o, \"Yandex\"]],\n [/(avast|avg)\\/([\\w\\.]+)/i],\n [[o, /(.+)/, \"$1 Secure Browser\"], p],\n [/\\bfocus\\/([\\w\\.]+)/i],\n [p, [o, \"Firefox Focus\"]],\n [/\\bopt\\/([\\w\\.]+)/i],\n [p, [o, \"Opera Touch\"]],\n [/coc_coc\\w+\\/([\\w\\.]+)/i],\n [p, [o, \"Coc Coc\"]],\n [/dolfin\\/([\\w\\.]+)/i],\n [p, [o, \"Dolphin\"]],\n [/coast\\/([\\w\\.]+)/i],\n [p, [o, \"Opera Coast\"]],\n [/miuibrowser\\/([\\w\\.]+)/i],\n [p, [o, \"MIUI Browser\"]],\n [/fxios\\/([-\\w\\.]+)/i],\n [p, [o, \"Firefox\"]],\n [/\\bqihu|(qi?ho?o?|360)browser/i],\n [[o, \"360 Browser\"]],\n [/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i],\n [[o, /(.+)/, \"$1 Browser\"], p],\n [/(comodo_dragon)\\/([\\w\\.]+)/i],\n [[o, /_/g, \" \"], p],\n [\n /(electron)\\/([\\w\\.]+) safari/i,\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i,\n ],\n [o, p],\n [/(metasr)[\\/ ]?([\\w\\.]+)/i, /(lbbrowser)/i],\n [o],\n [/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],\n [[o, \"Facebook\"], p],\n [/safari (line)\\/([\\w\\.]+)/i, /\\b(line)\\/([\\w\\.]+)\\/iab/i, /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],\n [o, p],\n [/\\bgsa\\/([\\w\\.]+) .*safari\\//i],\n [p, [o, \"GSA\"]],\n [/headlesschrome(?:\\/([\\w\\.]+)| )/i],\n [p, [o, \"Chrome Headless\"]],\n [/ wv\\).+(chrome)\\/([\\w\\.]+)/i],\n [[o, \"Chrome WebView\"], p],\n [/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],\n [p, [o, \"Android Browser\"]],\n [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],\n [o, p],\n [/version\\/([\\w\\.]+) .*mobile\\/\\w+ (safari)/i],\n [p, [o, \"Mobile Safari\"]],\n [/version\\/([\\w\\.]+) .*(mobile ?safari|safari)/i],\n [p, o],\n [/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],\n [\n o,\n [\n p,\n v,\n {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\",\n },\n ],\n ],\n [/(webkit|khtml)\\/([\\w\\.]+)/i],\n [o, p],\n [/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],\n [[o, \"Netscape\"], p],\n [/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],\n [p, [o, \"Firefox Reality\"]],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i,\n /(swiftfox)/i,\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n /(firefox)\\/([\\w\\.]+)/i,\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n /(links) \\(([\\w\\.]+)/i,\n ],\n [o, p],\n ],\n cpu: [\n [/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],\n [[\"architecture\", \"amd64\"]],\n [/(ia32(?=;))/i],\n [[\"architecture\", g]],\n [/((?:i[346]|x)86)[;\\)]/i],\n [[\"architecture\", \"ia32\"]],\n [/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],\n [[\"architecture\", \"arm64\"]],\n [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],\n [[\"architecture\", \"armhf\"]],\n [/windows (ce|mobile); ppc;/i],\n [[\"architecture\", \"arm\"]],\n [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],\n [[\"architecture\", /ower/, \"\", g]],\n [/(sun4\\w)[;\\)]/i],\n [[\"architecture\", \"sparc\"]],\n [\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i,\n ],\n [[\"architecture\", g]],\n ],\n device: [\n [/\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],\n [a, [d, \"Samsung\"], [c, h]],\n [/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i, /samsung[- ]([-\\w]+)/i, /sec-(sgh\\w+)/i],\n [a, [d, \"Samsung\"], [c, l]],\n [/\\((ip(?:hone|od)[\\w ]*);/i],\n [a, [d, \"Apple\"], [c, l]],\n [/\\((ipad);[-\\w\\),; ]+apple/i, /applecoremedia\\/[\\w\\.]+ \\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],\n [a, [d, \"Apple\"], [c, h]],\n [/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],\n [a, [d, \"Huawei\"], [c, h]],\n [/(?:huawei|honor)([-\\w ]+)[;\\)]/i, /\\b(nexus 6p|\\w{2,4}-[atu]?[ln][01259x][012359][an]?)\\b(?!.+d\\/s)/i],\n [a, [d, \"Huawei\"], [c, l]],\n [\n /\\b(poco[\\w ]+)(?: bui|\\))/i,\n /\\b; (\\w+) build\\/hm\\1/i,\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i,\n ],\n [\n [a, /_/g, \" \"],\n [d, \"Xiaomi\"],\n [c, l],\n ],\n [/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],\n [\n [a, /_/g, \" \"],\n [d, \"Xiaomi\"],\n [c, h],\n ],\n [/; (\\w+) bui.+ oppo/i, /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],\n [a, [d, \"OPPO\"], [c, l]],\n [/vivo (\\w+)(?: bui|\\))/i, /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],\n [a, [d, \"Vivo\"], [c, l]],\n [/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],\n [a, [d, \"Realme\"], [c, l]],\n [\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i,\n ],\n [a, [d, \"Motorola\"], [c, l]],\n [/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],\n [a, [d, \"Motorola\"], [c, h]],\n [/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],\n [a, [d, \"LG\"], [c, h]],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i,\n ],\n [a, [d, \"LG\"], [c, l]],\n [/(ideatab[-\\w ]+)/i, /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],\n [a, [d, \"Lenovo\"], [c, h]],\n [/(?:maemo|nokia).*(n900|lumia \\d+)/i, /nokia[-_ ]?([-\\w\\.]*)/i],\n [\n [a, /_/g, \" \"],\n [d, \"Nokia\"],\n [c, l],\n ],\n [/(pixel c)\\b/i],\n [a, [d, \"Google\"], [c, h]],\n [/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],\n [a, [d, \"Google\"], [c, l]],\n [/droid.+ ([c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],\n [a, [d, \"Sony\"], [c, l]],\n [/sony tablet [ps]/i, /\\b(?:sony)?sgp\\w+(?: bui|\\))/i],\n [\n [a, \"Xperia Tablet\"],\n [d, \"Sony\"],\n [c, h],\n ],\n [/ (kb2005|in20[12]5|be20[12][59])\\b/i, /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],\n [a, [d, \"OnePlus\"], [c, l]],\n [/(alexa)webm/i, /(kf[a-z]{2}wi)( bui|\\))/i, /(kf[a-z]+)( bui|\\)).+silk\\//i],\n [a, [d, \"Amazon\"], [c, h]],\n [/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],\n [\n [a, /(.+)/g, \"Fire Phone $1\"],\n [d, \"Amazon\"],\n [c, l],\n ],\n [/(playbook);[-\\w\\),; ]+(rim)/i],\n [a, d, [c, h]],\n [/\\b((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10; (\\w+)/i],\n [a, [d, \"BlackBerry\"], [c, l]],\n [/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],\n [a, [d, \"ASUS\"], [c, h]],\n [/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],\n [a, [d, \"ASUS\"], [c, l]],\n [/(nexus 9)/i],\n [a, [d, \"HTC\"], [c, h]],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\\w]*)/i,\n ],\n [d, [a, /_/g, \" \"], [c, l]],\n [/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],\n [a, [d, \"Acer\"], [c, h]],\n [/droid.+; (m[1-5] note) bui/i, /\\bmz-([-\\w]{2,})/i],\n [a, [d, \"Meizu\"], [c, l]],\n [/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],\n [a, [d, \"Sharp\"], [c, l]],\n [\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n /(hp) ([\\w ]+\\w)/i,\n /(asus)-?(\\w+)/i,\n /(microsoft); (lumia[\\w ]+)/i,\n /(lenovo)[-_ ]?([-\\w]+)/i,\n /(jolla)/i,\n /(oppo) ?([\\w ]+) bui/i,\n ],\n [d, a, [c, l]],\n [\n /(archos) (gamepad2?)/i,\n /(hp).+(touchpad(?!.+tablet)|tablet)/i,\n /(kindle)\\/([\\w\\.]+)/i,\n /(nook)[\\w ]+build\\/(\\w+)/i,\n /(dell) (strea[kpr\\d ]*[\\dko])/i,\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,\n /(trinity)[- ]*(t\\d{3}) bui/i,\n /(gigaset)[- ]+(q\\w{1,9}) bui/i,\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i,\n ],\n [d, a, [c, h]],\n [/(surface duo)/i],\n [a, [d, \"Microsoft\"], [c, h]],\n [/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],\n [a, [d, \"Fairphone\"], [c, l]],\n [/(u304aa)/i],\n [a, [d, \"AT&T\"], [c, l]],\n [/\\bsie-(\\w*)/i],\n [a, [d, \"Siemens\"], [c, l]],\n [/\\b(rct\\w+) b/i],\n [a, [d, \"RCA\"], [c, h]],\n [/\\b(venue[\\d ]{2,7}) b/i],\n [a, [d, \"Dell\"], [c, h]],\n [/\\b(q(?:mv|ta)\\w+) b/i],\n [a, [d, \"Verizon\"], [c, h]],\n [/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],\n [a, [d, \"Barnes & Noble\"], [c, h]],\n [/\\b(tm\\d{3}\\w+) b/i],\n [a, [d, \"NuVision\"], [c, h]],\n [/\\b(k88) b/i],\n [a, [d, \"ZTE\"], [c, h]],\n [/\\b(nx\\d{3}j) b/i],\n [a, [d, \"ZTE\"], [c, l]],\n [/\\b(gen\\d{3}) b.+49h/i],\n [a, [d, \"Swiss\"], [c, l]],\n [/\\b(zur\\d{3}) b/i],\n [a, [d, \"Swiss\"], [c, h]],\n [/\\b((zeki)?tb.*\\b) b/i],\n [a, [d, \"Zeki\"], [c, h]],\n [/\\b([yr]\\d{2}) b/i, /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],\n [[d, \"Dragon Touch\"], a, [c, h]],\n [/\\b(ns-?\\w{0,9}) b/i],\n [a, [d, \"Insignia\"], [c, h]],\n [/\\b((nxa|next)-?\\w{0,9}) b/i],\n [a, [d, \"NextBook\"], [c, h]],\n [/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],\n [[d, \"Voice\"], a, [c, l]],\n [/\\b(lvtel\\-)?(v1[12]) b/i],\n [[d, \"LvTel\"], a, [c, l]],\n [/\\b(ph-1) /i],\n [a, [d, \"Essential\"], [c, l]],\n [/\\b(v(100md|700na|7011|917g).*\\b) b/i],\n [a, [d, \"Envizen\"], [c, h]],\n [/\\b(trio[-\\w\\. ]+) b/i],\n [a, [d, \"MachSpeed\"], [c, h]],\n [/\\btu_(1491) b/i],\n [a, [d, \"Rotor\"], [c, h]],\n [/(shield[\\w ]+) b/i],\n [a, [d, \"Nvidia\"], [c, h]],\n [/(sprint) (\\w+)/i],\n [d, a, [c, l]],\n [/(kin\\.[onetw]{3})/i],\n [\n [a, /\\./g, \" \"],\n [d, \"Microsoft\"],\n [c, l],\n ],\n [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],\n [a, [d, \"Zebra\"], [c, h]],\n [/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],\n [a, [d, \"Zebra\"], [c, l]],\n [/(ouya)/i, /(nintendo) ([wids3utch]+)/i],\n [d, a, [c, \"console\"]],\n [/droid.+; (shield) bui/i],\n [a, [d, \"Nvidia\"], [c, \"console\"]],\n [/(playstation [345portablevi]+)/i],\n [a, [d, \"Sony\"], [c, \"console\"]],\n [/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],\n [a, [d, \"Microsoft\"], [c, \"console\"]],\n [/smart-tv.+(samsung)/i],\n [d, [c, u]],\n [/hbbtv.+maple;(\\d+)/i],\n [\n [a, /^/, \"SmartTV\"],\n [d, \"Samsung\"],\n [c, u],\n ],\n [/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],\n [\n [d, \"LG\"],\n [c, u],\n ],\n [/(apple) ?tv/i],\n [d, [a, \"Apple TV\"], [c, u]],\n [/crkey/i],\n [\n [a, \"Chromecast\"],\n [d, \"Google\"],\n [c, u],\n ],\n [/droid.+aft(\\w)( bui|\\))/i],\n [a, [d, \"Amazon\"], [c, u]],\n [/\\(dtv[\\);].+(aquos)/i],\n [a, [d, \"Sharp\"], [c, u]],\n [/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],\n [\n [d, _],\n [a, _],\n [c, u],\n ],\n [/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],\n [[c, u]],\n [/((pebble))app/i],\n [d, a, [c, \"wearable\"]],\n [/droid.+; (glass) \\d/i],\n [a, [d, \"Google\"], [c, \"wearable\"]],\n [/droid.+; (wt63?0{2,3})\\)/i],\n [a, [d, \"Zebra\"], [c, \"wearable\"]],\n [/(quest( 2)?)/i],\n [a, [d, \"Facebook\"], [c, \"wearable\"]],\n [/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],\n [d, [c, \"embedded\"]],\n [/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],\n [a, [c, l]],\n [/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],\n [a, [c, h]],\n [/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],\n [[c, h]],\n [/(phone|mobile(?:[;\\/]| safari)|pda(?=.+windows ce))/i],\n [[c, l]],\n [/(android[-\\w\\. ]{0,9});.+buil/i],\n [a, [d, \"Generic\"]],\n ],\n engine: [\n [/windows.+ edge\\/([\\w\\.]+)/i],\n [p, [o, \"EdgeHTML\"]],\n [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],\n [p, [o, \"Blink\"]],\n [\n /(presto)\\/([\\w\\.]+)/i,\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,\n /ekioh(flow)\\/([\\w\\.]+)/i,\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,\n ],\n [o, p],\n [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],\n [p, o],\n ],\n os: [\n [/microsoft (windows) (vista|xp)/i],\n [o, p],\n [\n /(windows) nt 6\\.2; (arm)/i,\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n ],\n [o, [p, v, y]],\n [/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],\n [\n [o, \"Windows\"],\n [p, v, y],\n ],\n [/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, /cfnetwork\\/.+darwin/i],\n [\n [p, /_/g, \".\"],\n [o, \"iOS\"],\n ],\n [/(mac os x) ?([\\w\\. ]*)/i, /(macintosh|mac_powerpc\\b)(?!.+haiku)/i],\n [\n [o, \"Mac OS\"],\n [p, /_/g, \".\"],\n ],\n [/droid ([\\w\\.]+)\\b.+(android[- ]x86)/i],\n [p, o],\n [\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i,\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i,\n /\\((series40);/i,\n ],\n [o, p],\n [/\\(bb(10);/i],\n [p, [o, \"BlackBerry\"]],\n [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],\n [p, [o, \"Symbian\"]],\n [/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],\n [p, [o, \"Firefox OS\"]],\n [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],\n [p, [o, \"webOS\"]],\n [/crkey\\/([\\d\\.]+)/i],\n [p, [o, \"Chromecast\"]],\n [/(cros) [\\w]+ ([\\w\\.]+\\w)/i],\n [[o, \"Chromium OS\"], p],\n [\n /(nintendo|playstation) ([wids345portablevuch]+)/i,\n /(xbox); +xbox ([^\\);]+)/i,\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,\n /(mint)[\\/\\(\\) ]?(\\w*)/i,\n /(mageia|vectorlinux)[; ]/i,\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n /(hurd|linux) ?([\\w\\.]*)/i,\n /(gnu) ?([\\w\\.]*)/i,\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,\n /(haiku) (\\w+)/i,\n ],\n [o, p],\n [/(sunos) ?([\\w\\.\\d]*)/i],\n [[o, \"Solaris\"], p],\n [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,\n /(unix) ?([\\w\\.]*)/i,\n ],\n [o, p],\n ],\n },\n S = function (e, t) {\n if ((\"object\" == typeof e && ((t = e), (e = void 0)), !(this instanceof S))) return new S(e, t).getResult();\n var r = e || (void 0 !== s && s.navigator && s.navigator.userAgent ? s.navigator.userAgent : \"\"),\n i = t\n ? (function (e, t) {\n var r = {};\n for (var i in e) t[i] && t[i].length % 2 == 0 ? (r[i] = t[i].concat(e[i])) : (r[i] = e[i]);\n return r;\n })(w, t)\n : w;\n return (\n (this.getBrowser = function () {\n var e,\n t = {};\n return (\n (t[o] = void 0),\n (t[p] = void 0),\n b.call(t, r, i.browser),\n (t.major = \"string\" == typeof (e = t.version) ? e.replace(/[^\\d\\.]/g, \"\").split(\".\")[0] : void 0),\n t\n );\n }),\n (this.getCPU = function () {\n var e = { architecture: void 0 };\n return b.call(e, r, i.cpu), e;\n }),\n (this.getDevice = function () {\n var e = { vendor: void 0, model: void 0, type: void 0 };\n return b.call(e, r, i.device), e;\n }),\n (this.getEngine = function () {\n var e = { name: void 0, version: void 0 };\n return b.call(e, r, i.engine), e;\n }),\n (this.getOS = function () {\n var e = { name: void 0, version: void 0 };\n return b.call(e, r, i.os), e;\n }),\n (this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU(),\n };\n }),\n (this.getUA = function () {\n return r;\n }),\n (this.setUA = function (e) {\n return (r = \"string\" == typeof e && e.length > 255 ? _(e, 255) : e), this;\n }),\n this.setUA(r),\n this\n );\n };\n (S.VERSION = \"1.0.2\"),\n (S.BROWSER = f([o, p, \"major\"])),\n (S.CPU = f([\"architecture\"])),\n (S.DEVICE = f([a, d, c, \"console\", l, u, h, \"wearable\", \"embedded\"])),\n (S.ENGINE = S.OS = f([o, p])),\n void 0 !== t\n ? (void 0 !== e && e.exports && (t = e.exports = S), (t.UAParser = S))\n : r(60)\n ? void 0 ===\n (i = function () {\n return S;\n }.call(t, r, t, e)) || (e.exports = i)\n : void 0 !== s && (s.UAParser = S);\n var R = void 0 !== s && (s.jQuery || s.Zepto);\n if (R && !R.ua) {\n var P = new S();\n (R.ua = P.getResult()),\n (R.ua.get = function () {\n return P.getUA();\n }),\n (R.ua.set = function (e) {\n P.setUA(e);\n var t = P.getResult();\n for (var r in t) R.ua[r] = t[r];\n });\n }\n })(\"object\" == typeof window ? window : this);\n },\n function (e, t) {\n (function (t) {\n e.exports = t;\n }.call(this, {}));\n },\n function (e, t, r) {\n \"use strict\";\n (function (e) {\n /*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n var i = r(63),\n s = r(64),\n n = r(65);\n function a() {\n return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;\n }\n function o(e, t) {\n if (a() < t) throw new RangeError(\"Invalid typed array length\");\n return (\n c.TYPED_ARRAY_SUPPORT\n ? ((e = new Uint8Array(t)).__proto__ = c.prototype)\n : (null === e && (e = new c(t)), (e.length = t)),\n e\n );\n }\n function c(e, t, r) {\n if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c)) return new c(e, t, r);\n if (\"number\" == typeof e) {\n if (\"string\" == typeof t)\n throw new Error(\"If encoding is specified then the first argument must be a string\");\n return l(this, e);\n }\n return d(this, e, t, r);\n }\n function d(e, t, r, i) {\n if (\"number\" == typeof t) throw new TypeError('\"value\" argument must not be a number');\n return \"undefined\" != typeof ArrayBuffer && t instanceof ArrayBuffer\n ? (function (e, t, r, i) {\n if ((t.byteLength, r < 0 || t.byteLength < r)) throw new RangeError(\"'offset' is out of bounds\");\n if (t.byteLength < r + (i || 0)) throw new RangeError(\"'length' is out of bounds\");\n t =\n void 0 === r && void 0 === i\n ? new Uint8Array(t)\n : void 0 === i\n ? new Uint8Array(t, r)\n : new Uint8Array(t, r, i);\n c.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = c.prototype) : (e = h(e, t));\n return e;\n })(e, t, r, i)\n : \"string\" == typeof t\n ? (function (e, t, r) {\n (\"string\" == typeof r && \"\" !== r) || (r = \"utf8\");\n if (!c.isEncoding(r)) throw new TypeError('\"encoding\" must be a valid string encoding');\n var i = 0 | f(t, r),\n s = (e = o(e, i)).write(t, r);\n s !== i && (e = e.slice(0, s));\n return e;\n })(e, t, r)\n : (function (e, t) {\n if (c.isBuffer(t)) {\n var r = 0 | u(t.length);\n return 0 === (e = o(e, r)).length || t.copy(e, 0, 0, r), e;\n }\n if (t) {\n if ((\"undefined\" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) || \"length\" in t)\n return \"number\" != typeof t.length || (i = t.length) != i ? o(e, 0) : h(e, t);\n if (\"Buffer\" === t.type && n(t.data)) return h(e, t.data);\n }\n var i;\n throw new TypeError(\n \"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\"\n );\n })(e, t);\n }\n function p(e) {\n if (\"number\" != typeof e) throw new TypeError('\"size\" argument must be a number');\n if (e < 0) throw new RangeError('\"size\" argument must not be negative');\n }\n function l(e, t) {\n if ((p(t), (e = o(e, t < 0 ? 0 : 0 | u(t))), !c.TYPED_ARRAY_SUPPORT)) for (var r = 0; r < t; ++r) e[r] = 0;\n return e;\n }\n function h(e, t) {\n var r = t.length < 0 ? 0 : 0 | u(t.length);\n e = o(e, r);\n for (var i = 0; i < r; i += 1) e[i] = 255 & t[i];\n return e;\n }\n function u(e) {\n if (e >= a())\n throw new RangeError(\n \"Attempt to allocate Buffer larger than maximum size: 0x\" + a().toString(16) + \" bytes\"\n );\n return 0 | e;\n }\n function f(e, t) {\n if (c.isBuffer(e)) return e.length;\n if (\n \"undefined\" != typeof ArrayBuffer &&\n \"function\" == typeof ArrayBuffer.isView &&\n (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)\n )\n return e.byteLength;\n \"string\" != typeof e && (e = \"\" + e);\n var r = e.length;\n if (0 === r) return 0;\n for (var i = !1; ; )\n switch (t) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return r;\n case \"utf8\":\n case \"utf-8\":\n case void 0:\n return U(e).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return 2 * r;\n case \"hex\":\n return r >>> 1;\n case \"base64\":\n return z(e).length;\n default:\n if (i) return U(e).length;\n (t = (\"\" + t).toLowerCase()), (i = !0);\n }\n }\n function m(e, t, r) {\n var i = !1;\n if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return \"\";\n if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return \"\";\n if ((r >>>= 0) <= (t >>>= 0)) return \"\";\n for (e || (e = \"utf8\"); ; )\n switch (e) {\n case \"hex\":\n return D(this, t, r);\n case \"utf8\":\n case \"utf-8\":\n return k(this, t, r);\n case \"ascii\":\n return C(this, t, r);\n case \"latin1\":\n case \"binary\":\n return E(this, t, r);\n case \"base64\":\n return T(this, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return x(this, t, r);\n default:\n if (i) throw new TypeError(\"Unknown encoding: \" + e);\n (e = (e + \"\").toLowerCase()), (i = !0);\n }\n }\n function g(e, t, r) {\n var i = e[t];\n (e[t] = e[r]), (e[r] = i);\n }\n function _(e, t, r, i, s) {\n if (0 === e.length) return -1;\n if (\n (\"string\" == typeof r\n ? ((i = r), (r = 0))\n : r > 2147483647\n ? (r = 2147483647)\n : r < -2147483648 && (r = -2147483648),\n (r = +r),\n isNaN(r) && (r = s ? 0 : e.length - 1),\n r < 0 && (r = e.length + r),\n r >= e.length)\n ) {\n if (s) return -1;\n r = e.length - 1;\n } else if (r < 0) {\n if (!s) return -1;\n r = 0;\n }\n if ((\"string\" == typeof t && (t = c.from(t, i)), c.isBuffer(t)))\n return 0 === t.length ? -1 : b(e, t, r, i, s);\n if (\"number\" == typeof t)\n return (\n (t &= 255),\n c.TYPED_ARRAY_SUPPORT && \"function\" == typeof Uint8Array.prototype.indexOf\n ? s\n ? Uint8Array.prototype.indexOf.call(e, t, r)\n : Uint8Array.prototype.lastIndexOf.call(e, t, r)\n : b(e, [t], r, i, s)\n );\n throw new TypeError(\"val must be string, number or Buffer\");\n }\n function b(e, t, r, i, s) {\n var n,\n a = 1,\n o = e.length,\n c = t.length;\n if (\n void 0 !== i &&\n (\"ucs2\" === (i = String(i).toLowerCase()) || \"ucs-2\" === i || \"utf16le\" === i || \"utf-16le\" === i)\n ) {\n if (e.length < 2 || t.length < 2) return -1;\n (a = 2), (o /= 2), (c /= 2), (r /= 2);\n }\n function d(e, t) {\n return 1 === a ? e[t] : e.readUInt16BE(t * a);\n }\n if (s) {\n var p = -1;\n for (n = r; n < o; n++)\n if (d(e, n) === d(t, -1 === p ? 0 : n - p)) {\n if ((-1 === p && (p = n), n - p + 1 === c)) return p * a;\n } else -1 !== p && (n -= n - p), (p = -1);\n } else\n for (r + c > o && (r = o - c), n = r; n >= 0; n--) {\n for (var l = !0, h = 0; h < c; h++)\n if (d(e, n + h) !== d(t, h)) {\n l = !1;\n break;\n }\n if (l) return n;\n }\n return -1;\n }\n function v(e, t, r, i) {\n r = Number(r) || 0;\n var s = e.length - r;\n i ? (i = Number(i)) > s && (i = s) : (i = s);\n var n = t.length;\n if (n % 2 != 0) throw new TypeError(\"Invalid hex string\");\n i > n / 2 && (i = n / 2);\n for (var a = 0; a < i; ++a) {\n var o = parseInt(t.substr(2 * a, 2), 16);\n if (isNaN(o)) return a;\n e[r + a] = o;\n }\n return a;\n }\n function y(e, t, r, i) {\n return q(U(t, e.length - r), e, r, i);\n }\n function w(e, t, r, i) {\n return q(\n (function (e) {\n for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));\n return t;\n })(t),\n e,\n r,\n i\n );\n }\n function S(e, t, r, i) {\n return w(e, t, r, i);\n }\n function R(e, t, r, i) {\n return q(z(t), e, r, i);\n }\n function P(e, t, r, i) {\n return q(\n (function (e, t) {\n for (var r, i, s, n = [], a = 0; a < e.length && !((t -= 2) < 0); ++a)\n (r = e.charCodeAt(a)), (i = r >> 8), (s = r % 256), n.push(s), n.push(i);\n return n;\n })(t, e.length - r),\n e,\n r,\n i\n );\n }\n function T(e, t, r) {\n return 0 === t && r === e.length ? i.fromByteArray(e) : i.fromByteArray(e.slice(t, r));\n }\n function k(e, t, r) {\n r = Math.min(e.length, r);\n for (var i = [], s = t; s < r; ) {\n var n,\n a,\n o,\n c,\n d = e[s],\n p = null,\n l = d > 239 ? 4 : d > 223 ? 3 : d > 191 ? 2 : 1;\n if (s + l <= r)\n switch (l) {\n case 1:\n d < 128 && (p = d);\n break;\n case 2:\n 128 == (192 & (n = e[s + 1])) && (c = ((31 & d) << 6) | (63 & n)) > 127 && (p = c);\n break;\n case 3:\n (n = e[s + 1]),\n (a = e[s + 2]),\n 128 == (192 & n) &&\n 128 == (192 & a) &&\n (c = ((15 & d) << 12) | ((63 & n) << 6) | (63 & a)) > 2047 &&\n (c < 55296 || c > 57343) &&\n (p = c);\n break;\n case 4:\n (n = e[s + 1]),\n (a = e[s + 2]),\n (o = e[s + 3]),\n 128 == (192 & n) &&\n 128 == (192 & a) &&\n 128 == (192 & o) &&\n (c = ((15 & d) << 18) | ((63 & n) << 12) | ((63 & a) << 6) | (63 & o)) > 65535 &&\n c < 1114112 &&\n (p = c);\n }\n null === p\n ? ((p = 65533), (l = 1))\n : p > 65535 && ((p -= 65536), i.push(((p >>> 10) & 1023) | 55296), (p = 56320 | (1023 & p))),\n i.push(p),\n (s += l);\n }\n return (function (e) {\n var t = e.length;\n if (t <= 4096) return String.fromCharCode.apply(String, e);\n var r = \"\",\n i = 0;\n for (; i < t; ) r += String.fromCharCode.apply(String, e.slice(i, (i += 4096)));\n return r;\n })(i);\n }\n (t.Buffer = c),\n (t.SlowBuffer = function (e) {\n +e != e && (e = 0);\n return c.alloc(+e);\n }),\n (t.INSPECT_MAX_BYTES = 50),\n (c.TYPED_ARRAY_SUPPORT =\n void 0 !== e.TYPED_ARRAY_SUPPORT\n ? e.TYPED_ARRAY_SUPPORT\n : (function () {\n try {\n var e = new Uint8Array(1);\n return (\n (e.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function () {\n return 42;\n },\n }),\n 42 === e.foo() && \"function\" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength\n );\n } catch (e) {\n return !1;\n }\n })()),\n (t.kMaxLength = a()),\n (c.poolSize = 8192),\n (c._augment = function (e) {\n return (e.__proto__ = c.prototype), e;\n }),\n (c.from = function (e, t, r) {\n return d(null, e, t, r);\n }),\n c.TYPED_ARRAY_SUPPORT &&\n ((c.prototype.__proto__ = Uint8Array.prototype),\n (c.__proto__ = Uint8Array),\n \"undefined\" != typeof Symbol &&\n Symbol.species &&\n c[Symbol.species] === c &&\n Object.defineProperty(c, Symbol.species, { value: null, configurable: !0 })),\n (c.alloc = function (e, t, r) {\n return (function (e, t, r, i) {\n return (\n p(t),\n t <= 0\n ? o(e, t)\n : void 0 !== r\n ? \"string\" == typeof i\n ? o(e, t).fill(r, i)\n : o(e, t).fill(r)\n : o(e, t)\n );\n })(null, e, t, r);\n }),\n (c.allocUnsafe = function (e) {\n return l(null, e);\n }),\n (c.allocUnsafeSlow = function (e) {\n return l(null, e);\n }),\n (c.isBuffer = function (e) {\n return !(null == e || !e._isBuffer);\n }),\n (c.compare = function (e, t) {\n if (!c.isBuffer(e) || !c.isBuffer(t)) throw new TypeError(\"Arguments must be Buffers\");\n if (e === t) return 0;\n for (var r = e.length, i = t.length, s = 0, n = Math.min(r, i); s < n; ++s)\n if (e[s] !== t[s]) {\n (r = e[s]), (i = t[s]);\n break;\n }\n return r < i ? -1 : i < r ? 1 : 0;\n }),\n (c.isEncoding = function (e) {\n switch (String(e).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 !0;\n default:\n return !1;\n }\n }),\n (c.concat = function (e, t) {\n if (!n(e)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (0 === e.length) return c.alloc(0);\n var r;\n if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;\n var i = c.allocUnsafe(t),\n s = 0;\n for (r = 0; r < e.length; ++r) {\n var a = e[r];\n if (!c.isBuffer(a)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n a.copy(i, s), (s += a.length);\n }\n return i;\n }),\n (c.byteLength = f),\n (c.prototype._isBuffer = !0),\n (c.prototype.swap16 = function () {\n var e = this.length;\n if (e % 2 != 0) throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (var t = 0; t < e; t += 2) g(this, t, t + 1);\n return this;\n }),\n (c.prototype.swap32 = function () {\n var e = this.length;\n if (e % 4 != 0) throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (var t = 0; t < e; t += 4) g(this, t, t + 3), g(this, t + 1, t + 2);\n return this;\n }),\n (c.prototype.swap64 = function () {\n var e = this.length;\n if (e % 8 != 0) throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (var t = 0; t < e; t += 8)\n g(this, t, t + 7), g(this, t + 1, t + 6), g(this, t + 2, t + 5), g(this, t + 3, t + 4);\n return this;\n }),\n (c.prototype.toString = function () {\n var e = 0 | this.length;\n return 0 === e ? \"\" : 0 === arguments.length ? k(this, 0, e) : m.apply(this, arguments);\n }),\n (c.prototype.equals = function (e) {\n if (!c.isBuffer(e)) throw new TypeError(\"Argument must be a Buffer\");\n return this === e || 0 === c.compare(this, e);\n }),\n (c.prototype.inspect = function () {\n var e = \"\",\n r = t.INSPECT_MAX_BYTES;\n return (\n this.length > 0 &&\n ((e = this.toString(\"hex\", 0, r).match(/.{2}/g).join(\" \")), this.length > r && (e += \" ... \")),\n \"<Buffer \" + e + \">\"\n );\n }),\n (c.prototype.compare = function (e, t, r, i, s) {\n if (!c.isBuffer(e)) throw new TypeError(\"Argument must be a Buffer\");\n if (\n (void 0 === t && (t = 0),\n void 0 === r && (r = e ? e.length : 0),\n void 0 === i && (i = 0),\n void 0 === s && (s = this.length),\n t < 0 || r > e.length || i < 0 || s > this.length)\n )\n throw new RangeError(\"out of range index\");\n if (i >= s && t >= r) return 0;\n if (i >= s) return -1;\n if (t >= r) return 1;\n if (this === e) return 0;\n for (\n var n = (s >>>= 0) - (i >>>= 0),\n a = (r >>>= 0) - (t >>>= 0),\n o = Math.min(n, a),\n d = this.slice(i, s),\n p = e.slice(t, r),\n l = 0;\n l < o;\n ++l\n )\n if (d[l] !== p[l]) {\n (n = d[l]), (a = p[l]);\n break;\n }\n return n < a ? -1 : a < n ? 1 : 0;\n }),\n (c.prototype.includes = function (e, t, r) {\n return -1 !== this.indexOf(e, t, r);\n }),\n (c.prototype.indexOf = function (e, t, r) {\n return _(this, e, t, r, !0);\n }),\n (c.prototype.lastIndexOf = function (e, t, r) {\n return _(this, e, t, r, !1);\n }),\n (c.prototype.write = function (e, t, r, i) {\n if (void 0 === t) (i = \"utf8\"), (r = this.length), (t = 0);\n else if (void 0 === r && \"string\" == typeof t) (i = t), (r = this.length), (t = 0);\n else {\n if (!isFinite(t))\n throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n (t |= 0), isFinite(r) ? ((r |= 0), void 0 === i && (i = \"utf8\")) : ((i = r), (r = void 0));\n }\n var s = this.length - t;\n if (((void 0 === r || r > s) && (r = s), (e.length > 0 && (r < 0 || t < 0)) || t > this.length))\n throw new RangeError(\"Attempt to write outside buffer bounds\");\n i || (i = \"utf8\");\n for (var n = !1; ; )\n switch (i) {\n case \"hex\":\n return v(this, e, t, r);\n case \"utf8\":\n case \"utf-8\":\n return y(this, e, t, r);\n case \"ascii\":\n return w(this, e, t, r);\n case \"latin1\":\n case \"binary\":\n return S(this, e, t, r);\n case \"base64\":\n return R(this, e, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return P(this, e, t, r);\n default:\n if (n) throw new TypeError(\"Unknown encoding: \" + i);\n (i = (\"\" + i).toLowerCase()), (n = !0);\n }\n }),\n (c.prototype.toJSON = function () {\n return { type: \"Buffer\", data: Array.prototype.slice.call(this._arr || this, 0) };\n });\n function C(e, t, r) {\n var i = \"\";\n r = Math.min(e.length, r);\n for (var s = t; s < r; ++s) i += String.fromCharCode(127 & e[s]);\n return i;\n }\n function E(e, t, r) {\n var i = \"\";\n r = Math.min(e.length, r);\n for (var s = t; s < r; ++s) i += String.fromCharCode(e[s]);\n return i;\n }\n function D(e, t, r) {\n var i = e.length;\n (!t || t < 0) && (t = 0), (!r || r < 0 || r > i) && (r = i);\n for (var s = \"\", n = t; n < r; ++n) s += N(e[n]);\n return s;\n }\n function x(e, t, r) {\n for (var i = e.slice(t, r), s = \"\", n = 0; n < i.length; n += 2)\n s += String.fromCharCode(i[n] + 256 * i[n + 1]);\n return s;\n }\n function O(e, t, r) {\n if (e % 1 != 0 || e < 0) throw new RangeError(\"offset is not uint\");\n if (e + t > r) throw new RangeError(\"Trying to access beyond buffer length\");\n }\n function M(e, t, r, i, s, n) {\n if (!c.isBuffer(e)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (t > s || t < n) throw new RangeError('\"value\" argument is out of bounds');\n if (r + i > e.length) throw new RangeError(\"Index out of range\");\n }\n function I(e, t, r, i) {\n t < 0 && (t = 65535 + t + 1);\n for (var s = 0, n = Math.min(e.length - r, 2); s < n; ++s)\n e[r + s] = (t & (255 << (8 * (i ? s : 1 - s)))) >>> (8 * (i ? s : 1 - s));\n }\n function L(e, t, r, i) {\n t < 0 && (t = 4294967295 + t + 1);\n for (var s = 0, n = Math.min(e.length - r, 4); s < n; ++s) e[r + s] = (t >>> (8 * (i ? s : 3 - s))) & 255;\n }\n function j(e, t, r, i, s, n) {\n if (r + i > e.length) throw new RangeError(\"Index out of range\");\n if (r < 0) throw new RangeError(\"Index out of range\");\n }\n function A(e, t, r, i, n) {\n return n || j(e, 0, r, 4), s.write(e, t, r, i, 23, 4), r + 4;\n }\n function B(e, t, r, i, n) {\n return n || j(e, 0, r, 8), s.write(e, t, r, i, 52, 8), r + 8;\n }\n (c.prototype.slice = function (e, t) {\n var r,\n i = this.length;\n if (\n ((e = ~~e) < 0 ? (e += i) < 0 && (e = 0) : e > i && (e = i),\n (t = void 0 === t ? i : ~~t) < 0 ? (t += i) < 0 && (t = 0) : t > i && (t = i),\n t < e && (t = e),\n c.TYPED_ARRAY_SUPPORT)\n )\n (r = this.subarray(e, t)).__proto__ = c.prototype;\n else {\n var s = t - e;\n r = new c(s, void 0);\n for (var n = 0; n < s; ++n) r[n] = this[n + e];\n }\n return r;\n }),\n (c.prototype.readUIntLE = function (e, t, r) {\n (e |= 0), (t |= 0), r || O(e, t, this.length);\n for (var i = this[e], s = 1, n = 0; ++n < t && (s *= 256); ) i += this[e + n] * s;\n return i;\n }),\n (c.prototype.readUIntBE = function (e, t, r) {\n (e |= 0), (t |= 0), r || O(e, t, this.length);\n for (var i = this[e + --t], s = 1; t > 0 && (s *= 256); ) i += this[e + --t] * s;\n return i;\n }),\n (c.prototype.readUInt8 = function (e, t) {\n return t || O(e, 1, this.length), this[e];\n }),\n (c.prototype.readUInt16LE = function (e, t) {\n return t || O(e, 2, this.length), this[e] | (this[e + 1] << 8);\n }),\n (c.prototype.readUInt16BE = function (e, t) {\n return t || O(e, 2, this.length), (this[e] << 8) | this[e + 1];\n }),\n (c.prototype.readUInt32LE = function (e, t) {\n return (\n t || O(e, 4, this.length), (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3]\n );\n }),\n (c.prototype.readUInt32BE = function (e, t) {\n return (\n t || O(e, 4, this.length), 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3])\n );\n }),\n (c.prototype.readIntLE = function (e, t, r) {\n (e |= 0), (t |= 0), r || O(e, t, this.length);\n for (var i = this[e], s = 1, n = 0; ++n < t && (s *= 256); ) i += this[e + n] * s;\n return i >= (s *= 128) && (i -= Math.pow(2, 8 * t)), i;\n }),\n (c.prototype.readIntBE = function (e, t, r) {\n (e |= 0), (t |= 0), r || O(e, t, this.length);\n for (var i = t, s = 1, n = this[e + --i]; i > 0 && (s *= 256); ) n += this[e + --i] * s;\n return n >= (s *= 128) && (n -= Math.pow(2, 8 * t)), n;\n }),\n (c.prototype.readInt8 = function (e, t) {\n return t || O(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];\n }),\n (c.prototype.readInt16LE = function (e, t) {\n t || O(e, 2, this.length);\n var r = this[e] | (this[e + 1] << 8);\n return 32768 & r ? 4294901760 | r : r;\n }),\n (c.prototype.readInt16BE = function (e, t) {\n t || O(e, 2, this.length);\n var r = this[e + 1] | (this[e] << 8);\n return 32768 & r ? 4294901760 | r : r;\n }),\n (c.prototype.readInt32LE = function (e, t) {\n return t || O(e, 4, this.length), this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24);\n }),\n (c.prototype.readInt32BE = function (e, t) {\n return t || O(e, 4, this.length), (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3];\n }),\n (c.prototype.readFloatLE = function (e, t) {\n return t || O(e, 4, this.length), s.read(this, e, !0, 23, 4);\n }),\n (c.prototype.readFloatBE = function (e, t) {\n return t || O(e, 4, this.length), s.read(this, e, !1, 23, 4);\n }),\n (c.prototype.readDoubleLE = function (e, t) {\n return t || O(e, 8, this.length), s.read(this, e, !0, 52, 8);\n }),\n (c.prototype.readDoubleBE = function (e, t) {\n return t || O(e, 8, this.length), s.read(this, e, !1, 52, 8);\n }),\n (c.prototype.writeUIntLE = function (e, t, r, i) {\n ((e = +e), (t |= 0), (r |= 0), i) || M(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var s = 1,\n n = 0;\n for (this[t] = 255 & e; ++n < r && (s *= 256); ) this[t + n] = (e / s) & 255;\n return t + r;\n }),\n (c.prototype.writeUIntBE = function (e, t, r, i) {\n ((e = +e), (t |= 0), (r |= 0), i) || M(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var s = r - 1,\n n = 1;\n for (this[t + s] = 255 & e; --s >= 0 && (n *= 256); ) this[t + s] = (e / n) & 255;\n return t + r;\n }),\n (c.prototype.writeUInt8 = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 1, 255, 0),\n c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),\n (this[t] = 255 & e),\n t + 1\n );\n }),\n (c.prototype.writeUInt16LE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 2, 65535, 0),\n c.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0),\n t + 2\n );\n }),\n (c.prototype.writeUInt16BE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 2, 65535, 0),\n c.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1),\n t + 2\n );\n }),\n (c.prototype.writeUInt32LE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 4, 4294967295, 0),\n c.TYPED_ARRAY_SUPPORT\n ? ((this[t + 3] = e >>> 24), (this[t + 2] = e >>> 16), (this[t + 1] = e >>> 8), (this[t] = 255 & e))\n : L(this, e, t, !0),\n t + 4\n );\n }),\n (c.prototype.writeUInt32BE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 4, 4294967295, 0),\n c.TYPED_ARRAY_SUPPORT\n ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e))\n : L(this, e, t, !1),\n t + 4\n );\n }),\n (c.prototype.writeIntLE = function (e, t, r, i) {\n if (((e = +e), (t |= 0), !i)) {\n var s = Math.pow(2, 8 * r - 1);\n M(this, e, t, r, s - 1, -s);\n }\n var n = 0,\n a = 1,\n o = 0;\n for (this[t] = 255 & e; ++n < r && (a *= 256); )\n e < 0 && 0 === o && 0 !== this[t + n - 1] && (o = 1), (this[t + n] = (((e / a) >> 0) - o) & 255);\n return t + r;\n }),\n (c.prototype.writeIntBE = function (e, t, r, i) {\n if (((e = +e), (t |= 0), !i)) {\n var s = Math.pow(2, 8 * r - 1);\n M(this, e, t, r, s - 1, -s);\n }\n var n = r - 1,\n a = 1,\n o = 0;\n for (this[t + n] = 255 & e; --n >= 0 && (a *= 256); )\n e < 0 && 0 === o && 0 !== this[t + n + 1] && (o = 1), (this[t + n] = (((e / a) >> 0) - o) & 255);\n return t + r;\n }),\n (c.prototype.writeInt8 = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 1, 127, -128),\n c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),\n e < 0 && (e = 255 + e + 1),\n (this[t] = 255 & e),\n t + 1\n );\n }),\n (c.prototype.writeInt16LE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 2, 32767, -32768),\n c.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0),\n t + 2\n );\n }),\n (c.prototype.writeInt16BE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 2, 32767, -32768),\n c.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1),\n t + 2\n );\n }),\n (c.prototype.writeInt32LE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 4, 2147483647, -2147483648),\n c.TYPED_ARRAY_SUPPORT\n ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8), (this[t + 2] = e >>> 16), (this[t + 3] = e >>> 24))\n : L(this, e, t, !0),\n t + 4\n );\n }),\n (c.prototype.writeInt32BE = function (e, t, r) {\n return (\n (e = +e),\n (t |= 0),\n r || M(this, e, t, 4, 2147483647, -2147483648),\n e < 0 && (e = 4294967295 + e + 1),\n c.TYPED_ARRAY_SUPPORT\n ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e))\n : L(this, e, t, !1),\n t + 4\n );\n }),\n (c.prototype.writeFloatLE = function (e, t, r) {\n return A(this, e, t, !0, r);\n }),\n (c.prototype.writeFloatBE = function (e, t, r) {\n return A(this, e, t, !1, r);\n }),\n (c.prototype.writeDoubleLE = function (e, t, r) {\n return B(this, e, t, !0, r);\n }),\n (c.prototype.writeDoubleBE = function (e, t, r) {\n return B(this, e, t, !1, r);\n }),\n (c.prototype.copy = function (e, t, r, i) {\n if (\n (r || (r = 0),\n i || 0 === i || (i = this.length),\n t >= e.length && (t = e.length),\n t || (t = 0),\n i > 0 && i < r && (i = r),\n i === r)\n )\n return 0;\n if (0 === e.length || 0 === this.length) return 0;\n if (t < 0) throw new RangeError(\"targetStart out of bounds\");\n if (r < 0 || r >= this.length) throw new RangeError(\"sourceStart out of bounds\");\n if (i < 0) throw new RangeError(\"sourceEnd out of bounds\");\n i > this.length && (i = this.length), e.length - t < i - r && (i = e.length - t + r);\n var s,\n n = i - r;\n if (this === e && r < t && t < i) for (s = n - 1; s >= 0; --s) e[s + t] = this[s + r];\n else if (n < 1e3 || !c.TYPED_ARRAY_SUPPORT) for (s = 0; s < n; ++s) e[s + t] = this[s + r];\n else Uint8Array.prototype.set.call(e, this.subarray(r, r + n), t);\n return n;\n }),\n (c.prototype.fill = function (e, t, r, i) {\n if (\"string\" == typeof e) {\n if (\n (\"string\" == typeof t\n ? ((i = t), (t = 0), (r = this.length))\n : \"string\" == typeof r && ((i = r), (r = this.length)),\n 1 === e.length)\n ) {\n var s = e.charCodeAt(0);\n s < 256 && (e = s);\n }\n if (void 0 !== i && \"string\" != typeof i) throw new TypeError(\"encoding must be a string\");\n if (\"string\" == typeof i && !c.isEncoding(i)) throw new TypeError(\"Unknown encoding: \" + i);\n } else \"number\" == typeof e && (e &= 255);\n if (t < 0 || this.length < t || this.length < r) throw new RangeError(\"Out of range index\");\n if (r <= t) return this;\n var n;\n if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), \"number\" == typeof e))\n for (n = t; n < r; ++n) this[n] = e;\n else {\n var a = c.isBuffer(e) ? e : U(new c(e, i).toString()),\n o = a.length;\n for (n = 0; n < r - t; ++n) this[n + t] = a[n % o];\n }\n return this;\n });\n var F = /[^+\\/0-9A-Za-z-_]/g;\n function N(e) {\n return e < 16 ? \"0\" + e.toString(16) : e.toString(16);\n }\n function U(e, t) {\n var r;\n t = t || 1 / 0;\n for (var i = e.length, s = null, n = [], a = 0; a < i; ++a) {\n if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {\n if (!s) {\n if (r > 56319) {\n (t -= 3) > -1 && n.push(239, 191, 189);\n continue;\n }\n if (a + 1 === i) {\n (t -= 3) > -1 && n.push(239, 191, 189);\n continue;\n }\n s = r;\n continue;\n }\n if (r < 56320) {\n (t -= 3) > -1 && n.push(239, 191, 189), (s = r);\n continue;\n }\n r = 65536 + (((s - 55296) << 10) | (r - 56320));\n } else s && (t -= 3) > -1 && n.push(239, 191, 189);\n if (((s = null), r < 128)) {\n if ((t -= 1) < 0) break;\n n.push(r);\n } else if (r < 2048) {\n if ((t -= 2) < 0) break;\n n.push((r >> 6) | 192, (63 & r) | 128);\n } else if (r < 65536) {\n if ((t -= 3) < 0) break;\n n.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128);\n } else {\n if (!(r < 1114112)) throw new Error(\"Invalid code point\");\n if ((t -= 4) < 0) break;\n n.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128);\n }\n }\n return n;\n }\n function z(e) {\n return i.toByteArray(\n (function (e) {\n if (\n (e = (function (e) {\n return e.trim ? e.trim() : e.replace(/^\\s+|\\s+$/g, \"\");\n })(e).replace(F, \"\")).length < 2\n )\n return \"\";\n for (; e.length % 4 != 0; ) e += \"=\";\n return e;\n })(e)\n );\n }\n function q(e, t, r, i) {\n for (var s = 0; s < i && !(s + r >= t.length || s >= e.length); ++s) t[s + r] = e[s];\n return s;\n }\n }.call(this, r(62)));\n },\n function (e, t) {\n var r;\n r = (function () {\n return this;\n })();\n try {\n r = r || new Function(\"return this\")();\n } catch (e) {\n \"object\" == typeof window && (r = window);\n }\n e.exports = r;\n },\n function (e, t, r) {\n \"use strict\";\n (t.byteLength = function (e) {\n var t = d(e),\n r = t[0],\n i = t[1];\n return (3 * (r + i)) / 4 - i;\n }),\n (t.toByteArray = function (e) {\n var t,\n r,\n i = d(e),\n a = i[0],\n o = i[1],\n c = new n(\n (function (e, t, r) {\n return (3 * (t + r)) / 4 - r;\n })(0, a, o)\n ),\n p = 0,\n l = o > 0 ? a - 4 : a;\n for (r = 0; r < l; r += 4)\n (t =\n (s[e.charCodeAt(r)] << 18) |\n (s[e.charCodeAt(r + 1)] << 12) |\n (s[e.charCodeAt(r + 2)] << 6) |\n s[e.charCodeAt(r + 3)]),\n (c[p++] = (t >> 16) & 255),\n (c[p++] = (t >> 8) & 255),\n (c[p++] = 255 & t);\n 2 === o && ((t = (s[e.charCodeAt(r)] << 2) | (s[e.charCodeAt(r + 1)] >> 4)), (c[p++] = 255 & t));\n 1 === o &&\n ((t = (s[e.charCodeAt(r)] << 10) | (s[e.charCodeAt(r + 1)] << 4) | (s[e.charCodeAt(r + 2)] >> 2)),\n (c[p++] = (t >> 8) & 255),\n (c[p++] = 255 & t));\n return c;\n }),\n (t.fromByteArray = function (e) {\n for (var t, r = e.length, s = r % 3, n = [], a = 0, o = r - s; a < o; a += 16383)\n n.push(p(e, a, a + 16383 > o ? o : a + 16383));\n 1 === s\n ? ((t = e[r - 1]), n.push(i[t >> 2] + i[(t << 4) & 63] + \"==\"))\n : 2 === s &&\n ((t = (e[r - 2] << 8) + e[r - 1]), n.push(i[t >> 10] + i[(t >> 4) & 63] + i[(t << 2) & 63] + \"=\"));\n return n.join(\"\");\n });\n for (\n var i = [],\n s = [],\n n = \"undefined\" != typeof Uint8Array ? Uint8Array : Array,\n a = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",\n o = 0,\n c = a.length;\n o < c;\n ++o\n )\n (i[o] = a[o]), (s[a.charCodeAt(o)] = o);\n function d(e) {\n var t = e.length;\n if (t % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var r = e.indexOf(\"=\");\n return -1 === r && (r = t), [r, r === t ? 0 : 4 - (r % 4)];\n }\n function p(e, t, r) {\n for (var s, n, a = [], o = t; o < r; o += 3)\n (s = ((e[o] << 16) & 16711680) + ((e[o + 1] << 8) & 65280) + (255 & e[o + 2])),\n a.push(i[((n = s) >> 18) & 63] + i[(n >> 12) & 63] + i[(n >> 6) & 63] + i[63 & n]);\n return a.join(\"\");\n }\n (s[\"-\".charCodeAt(0)] = 62), (s[\"_\".charCodeAt(0)] = 63);\n },\n function (e, t) {\n /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n (t.read = function (e, t, r, i, s) {\n var n,\n a,\n o = 8 * s - i - 1,\n c = (1 << o) - 1,\n d = c >> 1,\n p = -7,\n l = r ? s - 1 : 0,\n h = r ? -1 : 1,\n u = e[t + l];\n for (l += h, n = u & ((1 << -p) - 1), u >>= -p, p += o; p > 0; n = 256 * n + e[t + l], l += h, p -= 8);\n for (a = n & ((1 << -p) - 1), n >>= -p, p += i; p > 0; a = 256 * a + e[t + l], l += h, p -= 8);\n if (0 === n) n = 1 - d;\n else {\n if (n === c) return a ? NaN : (1 / 0) * (u ? -1 : 1);\n (a += Math.pow(2, i)), (n -= d);\n }\n return (u ? -1 : 1) * a * Math.pow(2, n - i);\n }),\n (t.write = function (e, t, r, i, s, n) {\n var a,\n o,\n c,\n d = 8 * n - s - 1,\n p = (1 << d) - 1,\n l = p >> 1,\n h = 23 === s ? Math.pow(2, -24) - Math.pow(2, -77) : 0,\n u = i ? 0 : n - 1,\n f = i ? 1 : -1,\n m = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;\n for (\n t = Math.abs(t),\n isNaN(t) || t === 1 / 0\n ? ((o = isNaN(t) ? 1 : 0), (a = p))\n : ((a = Math.floor(Math.log(t) / Math.LN2)),\n t * (c = Math.pow(2, -a)) < 1 && (a--, (c *= 2)),\n (t += a + l >= 1 ? h / c : h * Math.pow(2, 1 - l)) * c >= 2 && (a++, (c /= 2)),\n a + l >= p\n ? ((o = 0), (a = p))\n : a + l >= 1\n ? ((o = (t * c - 1) * Math.pow(2, s)), (a += l))\n : ((o = t * Math.pow(2, l - 1) * Math.pow(2, s)), (a = 0)));\n s >= 8;\n e[r + u] = 255 & o, u += f, o /= 256, s -= 8\n );\n for (a = (a << s) | o, d += s; d > 0; e[r + u] = 255 & a, u += f, a /= 256, d -= 8);\n e[r + u - f] |= 128 * m;\n });\n },\n function (e, t) {\n var r = {}.toString;\n e.exports =\n Array.isArray ||\n function (e) {\n return \"[object Array]\" == r.call(e);\n };\n },\n function (e, t, r) {\n \"use strict\";\n r.r(t),\n r.d(t, \"protocol\", function () {\n return M;\n }),\n r.d(t, \"Manager\", function () {\n return q;\n }),\n r.d(t, \"Socket\", function () {\n return N;\n }),\n r.d(t, \"io\", function () {\n return $;\n }),\n r.d(t, \"connect\", function () {\n return $;\n }),\n r.d(t, \"default\", function () {\n return $;\n });\n var i = {};\n r.r(i),\n r.d(i, \"protocol\", function () {\n return M;\n }),\n r.d(i, \"PacketType\", function () {\n return I;\n }),\n r.d(i, \"Encoder\", function () {\n return L;\n }),\n r.d(i, \"Decoder\", function () {\n return j;\n });\n var s = r(16),\n n = r.n(s);\n var a = r(30),\n o = r.n(a),\n c = r(3),\n d = function (e) {\n const t = e.xdomain;\n try {\n if (\"undefined\" != typeof XMLHttpRequest && (!t || o.a)) return new XMLHttpRequest();\n } catch (e) {}\n if (!t)\n try {\n return new c.a[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch (e) {}\n },\n p = r(5),\n l = r(2),\n h = r(14),\n u = r(19),\n f = r.n(u),\n m = r(15),\n g = r.n(m),\n _ = r(10);\n class b extends h.a {\n constructor() {\n super(...arguments), (this.polling = !1);\n }\n get name() {\n return \"polling\";\n }\n doOpen() {\n this.poll();\n }\n pause(e) {\n this.readyState = \"pausing\";\n const t = () => {\n (this.readyState = \"paused\"), e();\n };\n if (this.polling || !this.writable) {\n let e = 0;\n this.polling &&\n (e++,\n this.once(\"pollComplete\", function () {\n --e || t();\n })),\n this.writable ||\n (e++,\n this.once(\"drain\", function () {\n --e || t();\n }));\n } else t();\n }\n poll() {\n (this.polling = !0), this.doPoll(), this.emit(\"poll\");\n }\n onData(e) {\n Object(_.b)(e, this.socket.binaryType).forEach((e) => {\n if ((\"opening\" === this.readyState && \"open\" === e.type && this.onOpen(), \"close\" === e.type))\n return this.onClose(), !1;\n this.onPacket(e);\n }),\n \"closed\" !== this.readyState &&\n ((this.polling = !1), this.emit(\"pollComplete\"), \"open\" === this.readyState && this.poll());\n }\n doClose() {\n const e = () => {\n this.write([{ type: \"close\" }]);\n };\n \"open\" === this.readyState ? e() : this.once(\"open\", e);\n }\n write(e) {\n (this.writable = !1),\n Object(_.d)(e, (e) => {\n this.doWrite(e, () => {\n (this.writable = !0), this.emit(\"drain\");\n });\n });\n }\n uri() {\n let e = this.query || {};\n const t = this.opts.secure ? \"https\" : \"http\";\n let r = \"\";\n !1 !== this.opts.timestampRequests && (e[this.opts.timestampParam] = f()()),\n this.supportsBinary || e.sid || (e.b64 = 1),\n this.opts.port &&\n ((\"https\" === t && 443 !== Number(this.opts.port)) || (\"http\" === t && 80 !== Number(this.opts.port))) &&\n (r = \":\" + this.opts.port);\n const i = g.a.encode(e);\n return (\n t +\n \"://\" +\n (-1 !== this.opts.hostname.indexOf(\":\") ? \"[\" + this.opts.hostname + \"]\" : this.opts.hostname) +\n r +\n this.opts.path +\n (i.length ? \"?\" + i : \"\")\n );\n }\n }\n function v() {}\n const y = null != new d({ xdomain: !1 }).responseType;\n class w extends l.Emitter {\n constructor(e, t) {\n super(),\n Object(p.a)(this, t),\n (this.opts = t),\n (this.method = t.method || \"GET\"),\n (this.uri = e),\n (this.async = !1 !== t.async),\n (this.data = void 0 !== t.data ? t.data : null),\n this.create();\n }\n create() {\n const e = Object(p.b)(\n this.opts,\n \"agent\",\n \"pfx\",\n \"key\",\n \"passphrase\",\n \"cert\",\n \"ca\",\n \"ciphers\",\n \"rejectUnauthorized\",\n \"autoUnref\"\n );\n (e.xdomain = !!this.opts.xd), (e.xscheme = !!this.opts.xs);\n const t = (this.xhr = new d(e));\n try {\n t.open(this.method, this.uri, this.async);\n try {\n if (this.opts.extraHeaders) {\n t.setDisableHeaderCheck && t.setDisableHeaderCheck(!0);\n for (let e in this.opts.extraHeaders)\n this.opts.extraHeaders.hasOwnProperty(e) && t.setRequestHeader(e, this.opts.extraHeaders[e]);\n }\n } catch (e) {}\n if (\"POST\" === this.method)\n try {\n t.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n } catch (e) {}\n try {\n t.setRequestHeader(\"Accept\", \"*/*\");\n } catch (e) {}\n \"withCredentials\" in t && (t.withCredentials = this.opts.withCredentials),\n this.opts.requestTimeout && (t.timeout = this.opts.requestTimeout),\n (t.onreadystatechange = () => {\n 4 === t.readyState &&\n (200 === t.status || 1223 === t.status\n ? this.onLoad()\n : this.setTimeoutFn(() => {\n this.onError(\"number\" == typeof t.status ? t.status : 0);\n }, 0));\n }),\n t.send(this.data);\n } catch (e) {\n return void this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n }\n \"undefined\" != typeof document && ((this.index = w.requestsCount++), (w.requests[this.index] = this));\n }\n onSuccess() {\n this.emit(\"success\"), this.cleanup();\n }\n onData(e) {\n this.emit(\"data\", e), this.onSuccess();\n }\n onError(e) {\n this.emit(\"error\", e), this.cleanup(!0);\n }\n cleanup(e) {\n if (void 0 !== this.xhr && null !== this.xhr) {\n if (((this.xhr.onreadystatechange = v), e))\n try {\n this.xhr.abort();\n } catch (e) {}\n \"undefined\" != typeof document && delete w.requests[this.index], (this.xhr = null);\n }\n }\n onLoad() {\n const e = this.xhr.responseText;\n null !== e && this.onData(e);\n }\n abort() {\n this.cleanup();\n }\n }\n if (((w.requestsCount = 0), (w.requests = {}), \"undefined\" != typeof document))\n if (\"function\" == typeof attachEvent) attachEvent(\"onunload\", S);\n else if (\"function\" == typeof addEventListener) {\n const e = \"onpagehide\" in c.a ? \"pagehide\" : \"unload\";\n addEventListener(e, S, !1);\n }\n function S() {\n for (let e in w.requests) w.requests.hasOwnProperty(e) && w.requests[e].abort();\n }\n const R = {\n websocket: r(31).a,\n polling: class extends b {\n constructor(e) {\n if ((super(e), \"undefined\" != typeof location)) {\n const t = \"https:\" === location.protocol;\n let r = location.port;\n r || (r = t ? \"443\" : \"80\"),\n (this.xd = (\"undefined\" != typeof location && e.hostname !== location.hostname) || r !== e.port),\n (this.xs = e.secure !== t);\n }\n const t = e && e.forceBase64;\n this.supportsBinary = y && !t;\n }\n request(e = {}) {\n return Object.assign(e, { xd: this.xd, xs: this.xs }, this.opts), new w(this.uri(), e);\n }\n doWrite(e, t) {\n const r = this.request({ method: \"POST\", data: e });\n r.on(\"success\", t),\n r.on(\"error\", (e) => {\n this.onError(\"xhr post error\", e);\n });\n }\n doPoll() {\n const e = this.request();\n e.on(\"data\", this.onData.bind(this)),\n e.on(\"error\", (e) => {\n this.onError(\"xhr poll error\", e);\n }),\n (this.pollXhr = e);\n }\n },\n };\n class P extends l.Emitter {\n constructor(e, t = {}) {\n super(),\n e && \"object\" == typeof e && ((t = e), (e = null)),\n e\n ? ((e = n()(e)),\n (t.hostname = e.host),\n (t.secure = \"https\" === e.protocol || \"wss\" === e.protocol),\n (t.port = e.port),\n e.query && (t.query = e.query))\n : t.host && (t.hostname = n()(t.host).host),\n Object(p.a)(this, t),\n (this.secure =\n null != t.secure ? t.secure : \"undefined\" != typeof location && \"https:\" === location.protocol),\n t.hostname && !t.port && (t.port = this.secure ? \"443\" : \"80\"),\n (this.hostname = t.hostname || (\"undefined\" != typeof location ? location.hostname : \"localhost\")),\n (this.port =\n t.port || (\"undefined\" != typeof location && location.port ? location.port : this.secure ? \"443\" : \"80\")),\n (this.transports = t.transports || [\"polling\", \"websocket\"]),\n (this.readyState = \"\"),\n (this.writeBuffer = []),\n (this.prevBufferLen = 0),\n (this.opts = Object.assign(\n {\n path: \"/engine.io\",\n agent: !1,\n withCredentials: !1,\n upgrade: !0,\n timestampParam: \"t\",\n rememberUpgrade: !1,\n rejectUnauthorized: !0,\n perMessageDeflate: { threshold: 1024 },\n transportOptions: {},\n closeOnBeforeunload: !0,\n },\n t\n )),\n (this.opts.path = this.opts.path.replace(/\\/$/, \"\") + \"/\"),\n \"string\" == typeof this.opts.query && (this.opts.query = g.a.decode(this.opts.query)),\n (this.id = null),\n (this.upgrades = null),\n (this.pingInterval = null),\n (this.pingTimeout = null),\n (this.pingTimeoutTimer = null),\n \"function\" == typeof addEventListener &&\n (this.opts.closeOnBeforeunload &&\n addEventListener(\n \"beforeunload\",\n () => {\n this.transport && (this.transport.removeAllListeners(), this.transport.close());\n },\n !1\n ),\n \"localhost\" !== this.hostname &&\n ((this.offlineEventListener = () => {\n this.onClose(\"transport close\");\n }),\n addEventListener(\"offline\", this.offlineEventListener, !1))),\n this.open();\n }\n createTransport(e) {\n const t = (function (e) {\n const t = {};\n for (let r in e) e.hasOwnProperty(r) && (t[r] = e[r]);\n return t;\n })(this.opts.query);\n (t.EIO = _.e), (t.transport = e), this.id && (t.sid = this.id);\n const r = Object.assign({}, this.opts.transportOptions[e], this.opts, {\n query: t,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n });\n return new R[e](r);\n }\n open() {\n let e;\n if (this.opts.rememberUpgrade && P.priorWebsocketSuccess && -1 !== this.transports.indexOf(\"websocket\"))\n e = \"websocket\";\n else {\n if (0 === this.transports.length)\n return void this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n e = this.transports[0];\n }\n this.readyState = \"opening\";\n try {\n e = this.createTransport(e);\n } catch (e) {\n return this.transports.shift(), void this.open();\n }\n e.open(), this.setTransport(e);\n }\n setTransport(e) {\n this.transport && this.transport.removeAllListeners(),\n (this.transport = e),\n e\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", () => {\n this.onClose(\"transport close\");\n });\n }\n probe(e) {\n let t = this.createTransport(e),\n r = !1;\n P.priorWebsocketSuccess = !1;\n const i = () => {\n r ||\n (t.send([{ type: \"ping\", data: \"probe\" }]),\n t.once(\"packet\", (e) => {\n if (!r)\n if (\"pong\" === e.type && \"probe\" === e.data) {\n if (((this.upgrading = !0), this.emitReserved(\"upgrading\", t), !t)) return;\n (P.priorWebsocketSuccess = \"websocket\" === t.name),\n this.transport.pause(() => {\n r ||\n (\"closed\" !== this.readyState &&\n (d(),\n this.setTransport(t),\n t.send([{ type: \"upgrade\" }]),\n this.emitReserved(\"upgrade\", t),\n (t = null),\n (this.upgrading = !1),\n this.flush()));\n });\n } else {\n const e = new Error(\"probe error\");\n (e.transport = t.name), this.emitReserved(\"upgradeError\", e);\n }\n }));\n };\n function s() {\n r || ((r = !0), d(), t.close(), (t = null));\n }\n const n = (e) => {\n const r = new Error(\"probe error: \" + e);\n (r.transport = t.name), s(), this.emitReserved(\"upgradeError\", r);\n };\n function a() {\n n(\"transport closed\");\n }\n function o() {\n n(\"socket closed\");\n }\n function c(e) {\n t && e.name !== t.name && s();\n }\n const d = () => {\n t.removeListener(\"open\", i),\n t.removeListener(\"error\", n),\n t.removeListener(\"close\", a),\n this.off(\"close\", o),\n this.off(\"upgrading\", c);\n };\n t.once(\"open\", i),\n t.once(\"error\", n),\n t.once(\"close\", a),\n this.once(\"close\", o),\n this.once(\"upgrading\", c),\n t.open();\n }\n onOpen() {\n if (\n ((this.readyState = \"open\"),\n (P.priorWebsocketSuccess = \"websocket\" === this.transport.name),\n this.emitReserved(\"open\"),\n this.flush(),\n \"open\" === this.readyState && this.opts.upgrade && this.transport.pause)\n ) {\n let e = 0;\n const t = this.upgrades.length;\n for (; e < t; e++) this.probe(this.upgrades[e]);\n }\n }\n onPacket(e) {\n if (\"opening\" === this.readyState || \"open\" === this.readyState || \"closing\" === this.readyState)\n switch ((this.emitReserved(\"packet\", e), this.emitReserved(\"heartbeat\"), e.type)) {\n case \"open\":\n this.onHandshake(JSON.parse(e.data));\n break;\n case \"ping\":\n this.resetPingTimeout(), this.sendPacket(\"pong\"), this.emitReserved(\"ping\"), this.emitReserved(\"pong\");\n break;\n case \"error\":\n const t = new Error(\"server error\");\n (t.code = e.data), this.onError(t);\n break;\n case \"message\":\n this.emitReserved(\"data\", e.data), this.emitReserved(\"message\", e.data);\n }\n }\n onHandshake(e) {\n this.emitReserved(\"handshake\", e),\n (this.id = e.sid),\n (this.transport.query.sid = e.sid),\n (this.upgrades = this.filterUpgrades(e.upgrades)),\n (this.pingInterval = e.pingInterval),\n (this.pingTimeout = e.pingTimeout),\n this.onOpen(),\n \"closed\" !== this.readyState && this.resetPingTimeout();\n }\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer),\n (this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout)),\n this.opts.autoUnref && this.pingTimeoutTimer.unref();\n }\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen),\n (this.prevBufferLen = 0),\n 0 === this.writeBuffer.length ? this.emitReserved(\"drain\") : this.flush();\n }\n flush() {\n \"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length &&\n (this.transport.send(this.writeBuffer),\n (this.prevBufferLen = this.writeBuffer.length),\n this.emitReserved(\"flush\"));\n }\n write(e, t, r) {\n return this.sendPacket(\"message\", e, t, r), this;\n }\n send(e, t, r) {\n return this.sendPacket(\"message\", e, t, r), this;\n }\n sendPacket(e, t, r, i) {\n if (\n (\"function\" == typeof t && ((i = t), (t = void 0)),\n \"function\" == typeof r && ((i = r), (r = null)),\n \"closing\" === this.readyState || \"closed\" === this.readyState)\n )\n return;\n (r = r || {}).compress = !1 !== r.compress;\n const s = { type: e, data: t, options: r };\n this.emitReserved(\"packetCreate\", s), this.writeBuffer.push(s), i && this.once(\"flush\", i), this.flush();\n }\n close() {\n const e = () => {\n this.onClose(\"forced close\"), this.transport.close();\n },\n t = () => {\n this.off(\"upgrade\", t), this.off(\"upgradeError\", t), e();\n },\n r = () => {\n this.once(\"upgrade\", t), this.once(\"upgradeError\", t);\n };\n return (\n (\"opening\" !== this.readyState && \"open\" !== this.readyState) ||\n ((this.readyState = \"closing\"),\n this.writeBuffer.length\n ? this.once(\"drain\", () => {\n this.upgrading ? r() : e();\n })\n : this.upgrading\n ? r()\n : e()),\n this\n );\n }\n onError(e) {\n (P.priorWebsocketSuccess = !1), this.emitReserved(\"error\", e), this.onClose(\"transport error\", e);\n }\n onClose(e, t) {\n (\"opening\" !== this.readyState && \"open\" !== this.readyState && \"closing\" !== this.readyState) ||\n (this.clearTimeoutFn(this.pingTimeoutTimer),\n this.transport.removeAllListeners(\"close\"),\n this.transport.close(),\n this.transport.removeAllListeners(),\n \"function\" == typeof removeEventListener && removeEventListener(\"offline\", this.offlineEventListener, !1),\n (this.readyState = \"closed\"),\n (this.id = null),\n this.emitReserved(\"close\", e, t),\n (this.writeBuffer = []),\n (this.prevBufferLen = 0));\n }\n filterUpgrades(e) {\n const t = [];\n let r = 0;\n const i = e.length;\n for (; r < i; r++) ~this.transports.indexOf(e[r]) && t.push(e[r]);\n return t;\n }\n }\n P.protocol = _.e;\n P.protocol;\n const T = \"function\" == typeof ArrayBuffer,\n k = Object.prototype.toString,\n C = \"function\" == typeof Blob || (\"undefined\" != typeof Blob && \"[object BlobConstructor]\" === k.call(Blob)),\n E = \"function\" == typeof File || (\"undefined\" != typeof File && \"[object FileConstructor]\" === k.call(File));\n function D(e) {\n return (\n (T &&\n (e instanceof ArrayBuffer ||\n ((e) =>\n \"function\" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer)(\n e\n ))) ||\n (C && e instanceof Blob) ||\n (E && e instanceof File)\n );\n }\n function x(e) {\n const t = [],\n r = e.data,\n i = e;\n return (\n (i.data = (function e(t, r) {\n if (!t) return t;\n if (D(t)) {\n const e = { _placeholder: !0, num: r.length };\n return r.push(t), e;\n }\n if (Array.isArray(t)) {\n const i = new Array(t.length);\n for (let s = 0; s < t.length; s++) i[s] = e(t[s], r);\n return i;\n }\n if (\"object\" == typeof t && !(t instanceof Date)) {\n const i = {};\n for (const s in t) Object.prototype.hasOwnProperty.call(t, s) && (i[s] = e(t[s], r));\n return i;\n }\n return t;\n })(r, t)),\n (i.attachments = t.length),\n { packet: i, buffers: t }\n );\n }\n function O(e, t) {\n return (\n (e.data = (function e(t, r) {\n if (!t) return t;\n if (t && t._placeholder) return r[t.num];\n if (Array.isArray(t)) for (let i = 0; i < t.length; i++) t[i] = e(t[i], r);\n else if (\"object\" == typeof t)\n for (const i in t) Object.prototype.hasOwnProperty.call(t, i) && (t[i] = e(t[i], r));\n return t;\n })(e.data, t)),\n (e.attachments = void 0),\n e\n );\n }\n const M = 5;\n var I;\n !(function (e) {\n (e[(e.CONNECT = 0)] = \"CONNECT\"),\n (e[(e.DISCONNECT = 1)] = \"DISCONNECT\"),\n (e[(e.EVENT = 2)] = \"EVENT\"),\n (e[(e.ACK = 3)] = \"ACK\"),\n (e[(e.CONNECT_ERROR = 4)] = \"CONNECT_ERROR\"),\n (e[(e.BINARY_EVENT = 5)] = \"BINARY_EVENT\"),\n (e[(e.BINARY_ACK = 6)] = \"BINARY_ACK\");\n })(I || (I = {}));\n class L {\n encode(e) {\n return (e.type !== I.EVENT && e.type !== I.ACK) ||\n !(function e(t, r) {\n if (!t || \"object\" != typeof t) return !1;\n if (Array.isArray(t)) {\n for (let r = 0, i = t.length; r < i; r++) if (e(t[r])) return !0;\n return !1;\n }\n if (D(t)) return !0;\n if (t.toJSON && \"function\" == typeof t.toJSON && 1 === arguments.length) return e(t.toJSON(), !0);\n for (const r in t) if (Object.prototype.hasOwnProperty.call(t, r) && e(t[r])) return !0;\n return !1;\n })(e)\n ? [this.encodeAsString(e)]\n : ((e.type = e.type === I.EVENT ? I.BINARY_EVENT : I.BINARY_ACK), this.encodeAsBinary(e));\n }\n encodeAsString(e) {\n let t = \"\" + e.type;\n return (\n (e.type !== I.BINARY_EVENT && e.type !== I.BINARY_ACK) || (t += e.attachments + \"-\"),\n e.nsp && \"/\" !== e.nsp && (t += e.nsp + \",\"),\n null != e.id && (t += e.id),\n null != e.data && (t += JSON.stringify(e.data)),\n t\n );\n }\n encodeAsBinary(e) {\n const t = x(e),\n r = this.encodeAsString(t.packet),\n i = t.buffers;\n return i.unshift(r), i;\n }\n }\n class j extends l.Emitter {\n constructor() {\n super();\n }\n add(e) {\n let t;\n if (\"string\" == typeof e)\n (t = this.decodeString(e)),\n t.type === I.BINARY_EVENT || t.type === I.BINARY_ACK\n ? ((this.reconstructor = new A(t)), 0 === t.attachments && super.emitReserved(\"decoded\", t))\n : super.emitReserved(\"decoded\", t);\n else {\n if (!D(e) && !e.base64) throw new Error(\"Unknown type: \" + e);\n if (!this.reconstructor) throw new Error(\"got binary data when not reconstructing a packet\");\n (t = this.reconstructor.takeBinaryData(e)),\n t && ((this.reconstructor = null), super.emitReserved(\"decoded\", t));\n }\n }\n decodeString(e) {\n let t = 0;\n const r = { type: Number(e.charAt(0)) };\n if (void 0 === I[r.type]) throw new Error(\"unknown packet type \" + r.type);\n if (r.type === I.BINARY_EVENT || r.type === I.BINARY_ACK) {\n const i = t + 1;\n for (; \"-\" !== e.charAt(++t) && t != e.length; );\n const s = e.substring(i, t);\n if (s != Number(s) || \"-\" !== e.charAt(t)) throw new Error(\"Illegal attachments\");\n r.attachments = Number(s);\n }\n if (\"/\" === e.charAt(t + 1)) {\n const i = t + 1;\n for (; ++t; ) {\n if (\",\" === e.charAt(t)) break;\n if (t === e.length) break;\n }\n r.nsp = e.substring(i, t);\n } else r.nsp = \"/\";\n const i = e.charAt(t + 1);\n if (\"\" !== i && Number(i) == i) {\n const i = t + 1;\n for (; ++t; ) {\n const r = e.charAt(t);\n if (null == r || Number(r) != r) {\n --t;\n break;\n }\n if (t === e.length) break;\n }\n r.id = Number(e.substring(i, t + 1));\n }\n if (e.charAt(++t)) {\n const i = (function (e) {\n try {\n return JSON.parse(e);\n } catch (e) {\n return !1;\n }\n })(e.substr(t));\n if (!j.isPayloadValid(r.type, i)) throw new Error(\"invalid payload\");\n r.data = i;\n }\n return r;\n }\n static isPayloadValid(e, t) {\n switch (e) {\n case I.CONNECT:\n return \"object\" == typeof t;\n case I.DISCONNECT:\n return void 0 === t;\n case I.CONNECT_ERROR:\n return \"string\" == typeof t || \"object\" == typeof t;\n case I.EVENT:\n case I.BINARY_EVENT:\n return Array.isArray(t) && t.length > 0;\n case I.ACK:\n case I.BINARY_ACK:\n return Array.isArray(t);\n }\n }\n destroy() {\n this.reconstructor && this.reconstructor.finishedReconstruction();\n }\n }\n class A {\n constructor(e) {\n (this.packet = e), (this.buffers = []), (this.reconPack = e);\n }\n takeBinaryData(e) {\n if ((this.buffers.push(e), this.buffers.length === this.reconPack.attachments)) {\n const e = O(this.reconPack, this.buffers);\n return this.finishedReconstruction(), e;\n }\n return null;\n }\n finishedReconstruction() {\n (this.reconPack = null), (this.buffers = []);\n }\n }\n function B(e, t, r) {\n return (\n e.on(t, r),\n function () {\n e.off(t, r);\n }\n );\n }\n const F = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n newListener: 1,\n removeListener: 1,\n });\n class N extends l.Emitter {\n constructor(e, t, r) {\n super(),\n (this.connected = !1),\n (this.disconnected = !0),\n (this.receiveBuffer = []),\n (this.sendBuffer = []),\n (this.ids = 0),\n (this.acks = {}),\n (this.flags = {}),\n (this.io = e),\n (this.nsp = t),\n r && r.auth && (this.auth = r.auth),\n this.io._autoConnect && this.open();\n }\n subEvents() {\n if (this.subs) return;\n const e = this.io;\n this.subs = [\n B(e, \"open\", this.onopen.bind(this)),\n B(e, \"packet\", this.onpacket.bind(this)),\n B(e, \"error\", this.onerror.bind(this)),\n B(e, \"close\", this.onclose.bind(this)),\n ];\n }\n get active() {\n return !!this.subs;\n }\n connect() {\n return (\n this.connected ||\n (this.subEvents(),\n this.io._reconnecting || this.io.open(),\n \"open\" === this.io._readyState && this.onopen()),\n this\n );\n }\n open() {\n return this.connect();\n }\n send(...e) {\n return e.unshift(\"message\"), this.emit.apply(this, e), this;\n }\n emit(e, ...t) {\n if (F.hasOwnProperty(e)) throw new Error('\"' + e + '\" is a reserved event name');\n t.unshift(e);\n const r = { type: I.EVENT, data: t, options: {} };\n if (((r.options.compress = !1 !== this.flags.compress), \"function\" == typeof t[t.length - 1])) {\n const e = this.ids++,\n i = t.pop();\n this._registerAckCallback(e, i), (r.id = e);\n }\n const i = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable;\n return (\n (this.flags.volatile && (!i || !this.connected)) ||\n (this.connected ? this.packet(r) : this.sendBuffer.push(r)),\n (this.flags = {}),\n this\n );\n }\n _registerAckCallback(e, t) {\n const r = this.flags.timeout;\n if (void 0 === r) return void (this.acks[e] = t);\n const i = this.io.setTimeoutFn(() => {\n delete this.acks[e];\n for (let t = 0; t < this.sendBuffer.length; t++)\n this.sendBuffer[t].id === e && this.sendBuffer.splice(t, 1);\n t.call(this, new Error(\"operation has timed out\"));\n }, r);\n this.acks[e] = (...e) => {\n this.io.clearTimeoutFn(i), t.apply(this, [null, ...e]);\n };\n }\n packet(e) {\n (e.nsp = this.nsp), this.io._packet(e);\n }\n onopen() {\n \"function\" == typeof this.auth\n ? this.auth((e) => {\n this.packet({ type: I.CONNECT, data: e });\n })\n : this.packet({ type: I.CONNECT, data: this.auth });\n }\n onerror(e) {\n this.connected || this.emitReserved(\"connect_error\", e);\n }\n onclose(e) {\n (this.connected = !1), (this.disconnected = !0), delete this.id, this.emitReserved(\"disconnect\", e);\n }\n onpacket(e) {\n if (e.nsp === this.nsp)\n switch (e.type) {\n case I.CONNECT:\n if (e.data && e.data.sid) {\n const t = e.data.sid;\n this.onconnect(t);\n } else\n this.emitReserved(\n \"connect_error\",\n new Error(\n \"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"\n )\n );\n break;\n case I.EVENT:\n case I.BINARY_EVENT:\n this.onevent(e);\n break;\n case I.ACK:\n case I.BINARY_ACK:\n this.onack(e);\n break;\n case I.DISCONNECT:\n this.ondisconnect();\n break;\n case I.CONNECT_ERROR:\n this.destroy();\n const t = new Error(e.data.message);\n (t.data = e.data.data), this.emitReserved(\"connect_error\", t);\n }\n }\n onevent(e) {\n const t = e.data || [];\n null != e.id && t.push(this.ack(e.id)),\n this.connected ? this.emitEvent(t) : this.receiveBuffer.push(Object.freeze(t));\n }\n emitEvent(e) {\n if (this._anyListeners && this._anyListeners.length) {\n const t = this._anyListeners.slice();\n for (const r of t) r.apply(this, e);\n }\n super.emit.apply(this, e);\n }\n ack(e) {\n const t = this;\n let r = !1;\n return function (...i) {\n r || ((r = !0), t.packet({ type: I.ACK, id: e, data: i }));\n };\n }\n onack(e) {\n const t = this.acks[e.id];\n \"function\" == typeof t && (t.apply(this, e.data), delete this.acks[e.id]);\n }\n onconnect(e) {\n (this.id = e),\n (this.connected = !0),\n (this.disconnected = !1),\n this.emitBuffered(),\n this.emitReserved(\"connect\");\n }\n emitBuffered() {\n this.receiveBuffer.forEach((e) => this.emitEvent(e)),\n (this.receiveBuffer = []),\n this.sendBuffer.forEach((e) => this.packet(e)),\n (this.sendBuffer = []);\n }\n ondisconnect() {\n this.destroy(), this.onclose(\"io server disconnect\");\n }\n destroy() {\n this.subs && (this.subs.forEach((e) => e()), (this.subs = void 0)), this.io._destroy(this);\n }\n disconnect() {\n return (\n this.connected && this.packet({ type: I.DISCONNECT }),\n this.destroy(),\n this.connected && this.onclose(\"io client disconnect\"),\n this\n );\n }\n close() {\n return this.disconnect();\n }\n compress(e) {\n return (this.flags.compress = e), this;\n }\n get volatile() {\n return (this.flags.volatile = !0), this;\n }\n timeout(e) {\n return (this.flags.timeout = e), this;\n }\n onAny(e) {\n return (this._anyListeners = this._anyListeners || []), this._anyListeners.push(e), this;\n }\n prependAny(e) {\n return (this._anyListeners = this._anyListeners || []), this._anyListeners.unshift(e), this;\n }\n offAny(e) {\n if (!this._anyListeners) return this;\n if (e) {\n const t = this._anyListeners;\n for (let r = 0; r < t.length; r++) if (e === t[r]) return t.splice(r, 1), this;\n } else this._anyListeners = [];\n return this;\n }\n listenersAny() {\n return this._anyListeners || [];\n }\n }\n var U = r(32),\n z = r.n(U);\n class q extends l.Emitter {\n constructor(e, t) {\n var r;\n super(),\n (this.nsps = {}),\n (this.subs = []),\n e && \"object\" == typeof e && ((t = e), (e = void 0)),\n ((t = t || {}).path = t.path || \"/socket.io\"),\n (this.opts = t),\n Object(p.a)(this, t),\n this.reconnection(!1 !== t.reconnection),\n this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0),\n this.reconnectionDelay(t.reconnectionDelay || 1e3),\n this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3),\n this.randomizationFactor(null !== (r = t.randomizationFactor) && void 0 !== r ? r : 0.5),\n (this.backoff = new z.a({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n })),\n this.timeout(null == t.timeout ? 2e4 : t.timeout),\n (this._readyState = \"closed\"),\n (this.uri = e);\n const s = t.parser || i;\n (this.encoder = new s.Encoder()),\n (this.decoder = new s.Decoder()),\n (this._autoConnect = !1 !== t.autoConnect),\n this._autoConnect && this.open();\n }\n reconnection(e) {\n return arguments.length ? ((this._reconnection = !!e), this) : this._reconnection;\n }\n reconnectionAttempts(e) {\n return void 0 === e ? this._reconnectionAttempts : ((this._reconnectionAttempts = e), this);\n }\n reconnectionDelay(e) {\n var t;\n return void 0 === e\n ? this._reconnectionDelay\n : ((this._reconnectionDelay = e), null === (t = this.backoff) || void 0 === t || t.setMin(e), this);\n }\n randomizationFactor(e) {\n var t;\n return void 0 === e\n ? this._randomizationFactor\n : ((this._randomizationFactor = e), null === (t = this.backoff) || void 0 === t || t.setJitter(e), this);\n }\n reconnectionDelayMax(e) {\n var t;\n return void 0 === e\n ? this._reconnectionDelayMax\n : ((this._reconnectionDelayMax = e), null === (t = this.backoff) || void 0 === t || t.setMax(e), this);\n }\n timeout(e) {\n return arguments.length ? ((this._timeout = e), this) : this._timeout;\n }\n maybeReconnectOnOpen() {\n !this._reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();\n }\n open(e) {\n if (~this._readyState.indexOf(\"open\")) return this;\n this.engine = new P(this.uri, this.opts);\n const t = this.engine,\n r = this;\n (this._readyState = \"opening\"), (this.skipReconnect = !1);\n const i = B(t, \"open\", function () {\n r.onopen(), e && e();\n }),\n s = B(t, \"error\", (t) => {\n r.cleanup(),\n (r._readyState = \"closed\"),\n this.emitReserved(\"error\", t),\n e ? e(t) : r.maybeReconnectOnOpen();\n });\n if (!1 !== this._timeout) {\n const e = this._timeout;\n 0 === e && i();\n const r = this.setTimeoutFn(() => {\n i(), t.close(), t.emit(\"error\", new Error(\"timeout\"));\n }, e);\n this.opts.autoUnref && r.unref(),\n this.subs.push(function () {\n clearTimeout(r);\n });\n }\n return this.subs.push(i), this.subs.push(s), this;\n }\n connect(e) {\n return this.open(e);\n }\n onopen() {\n this.cleanup(), (this._readyState = \"open\"), this.emitReserved(\"open\");\n const e = this.engine;\n this.subs.push(\n B(e, \"ping\", this.onping.bind(this)),\n B(e, \"data\", this.ondata.bind(this)),\n B(e, \"error\", this.onerror.bind(this)),\n B(e, \"close\", this.onclose.bind(this)),\n B(this.decoder, \"decoded\", this.ondecoded.bind(this))\n );\n }\n onping() {\n this.emitReserved(\"ping\");\n }\n ondata(e) {\n this.decoder.add(e);\n }\n ondecoded(e) {\n this.emitReserved(\"packet\", e);\n }\n onerror(e) {\n this.emitReserved(\"error\", e);\n }\n socket(e, t) {\n let r = this.nsps[e];\n return r || ((r = new N(this, e, t)), (this.nsps[e] = r)), r;\n }\n _destroy(e) {\n const t = Object.keys(this.nsps);\n for (const e of t) {\n if (this.nsps[e].active) return;\n }\n this._close();\n }\n _packet(e) {\n const t = this.encoder.encode(e);\n for (let r = 0; r < t.length; r++) this.engine.write(t[r], e.options);\n }\n cleanup() {\n this.subs.forEach((e) => e()), (this.subs.length = 0), this.decoder.destroy();\n }\n _close() {\n (this.skipReconnect = !0),\n (this._reconnecting = !1),\n this.onclose(\"forced close\"),\n this.engine && this.engine.close();\n }\n disconnect() {\n return this._close();\n }\n onclose(e) {\n this.cleanup(),\n this.backoff.reset(),\n (this._readyState = \"closed\"),\n this.emitReserved(\"close\", e),\n this._reconnection && !this.skipReconnect && this.reconnect();\n }\n reconnect() {\n if (this._reconnecting || this.skipReconnect) return this;\n const e = this;\n if (this.backoff.attempts >= this._reconnectionAttempts)\n this.backoff.reset(), this.emitReserved(\"reconnect_failed\"), (this._reconnecting = !1);\n else {\n const t = this.backoff.duration();\n this._reconnecting = !0;\n const r = this.setTimeoutFn(() => {\n e.skipReconnect ||\n (this.emitReserved(\"reconnect_attempt\", e.backoff.attempts),\n e.skipReconnect ||\n e.open((t) => {\n t\n ? ((e._reconnecting = !1), e.reconnect(), this.emitReserved(\"reconnect_error\", t))\n : e.onreconnect();\n }));\n }, t);\n this.opts.autoUnref && r.unref(),\n this.subs.push(function () {\n clearTimeout(r);\n });\n }\n }\n onreconnect() {\n const e = this.backoff.attempts;\n (this._reconnecting = !1), this.backoff.reset(), this.emitReserved(\"reconnect\", e);\n }\n }\n const V = {};\n function $(e, t) {\n \"object\" == typeof e && ((t = e), (e = void 0));\n const r = (function (e, t = \"\", r) {\n let i = e;\n (r = r || (\"undefined\" != typeof location && location)),\n null == e && (e = r.protocol + \"//\" + r.host),\n \"string\" == typeof e &&\n (\"/\" === e.charAt(0) && (e = \"/\" === e.charAt(1) ? r.protocol + e : r.host + e),\n /^(https?|wss?):\\/\\//.test(e) || (e = void 0 !== r ? r.protocol + \"//\" + e : \"https://\" + e),\n (i = n()(e))),\n i.port ||\n (/^(http|ws)$/.test(i.protocol)\n ? (i.port = \"80\")\n : /^(http|ws)s$/.test(i.protocol) && (i.port = \"443\")),\n (i.path = i.path || \"/\");\n const s = -1 !== i.host.indexOf(\":\") ? \"[\" + i.host + \"]\" : i.host;\n return (\n (i.id = i.protocol + \"://\" + s + \":\" + i.port + t),\n (i.href = i.protocol + \"://\" + s + (r && r.port === i.port ? \"\" : \":\" + i.port)),\n i\n );\n })(e, (t = t || {}).path || \"/socket.io\"),\n i = r.source,\n s = r.id,\n a = r.path,\n o = V[s] && a in V[s].nsps;\n let c;\n return (\n t.forceNew || t[\"force new connection\"] || !1 === t.multiplex || o\n ? (c = new q(i, t))\n : (V[s] || (V[s] = new q(i, t)), (c = V[s])),\n r.query && !t.query && (t.query = r.queryKey),\n c.socket(r.path, t)\n );\n }\n Object.assign($, { Manager: q, Socket: N, io: $, connect: $ });\n },\n ]);\n});\n","import { OneSDKError } from \"../../../common/errors/OneSDKError\";\nimport { IDVClient, Status } from \"../../../frankie-client/clients/IDVClient\";\nimport { VendorContext, VendorOptions, VendorWrapper } from \"../../types\";\nimport \"./nolint_liveness-v3.min.umd.js\";\n\nconst Liveness = window.Liveness;\n\ntype DetectActions = \"face\" | \"smile\";\n\ntype SessionData = {\n session_id: string;\n tx_id: string;\n};\n\ntype OverlayColours = \"white\" | \"green\" | \"red\";\n\nconst createOverlay = (strokeColour: OverlayColours): HTMLImageElement => {\n const imageElement = document.createElement(\"img\");\n imageElement.style.objectFit = \"cover\";\n imageElement.style.height = \"100%\";\n imageElement.style.width = \"100%\";\n imageElement.style.position = \"relative\";\n imageElement.style.zIndex = \"1\";\n\n switch (strokeColour) {\n case \"green\": {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjMTRmZmMwIiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n break;\n }\n case \"red\": {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjZmY0NzQ3IiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n break;\n }\n case \"white\":\n default: {\n imageElement.src =\n \"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNzQ3IDczMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii04LjAlIiB5PSItOS4zJSIgd2lkdGg9IjExNi4xJSIgaGVpZ2h0PSIxMjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0xIj4KICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMTciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjI3NDQ0ODIwOCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIiByZXN1bHQ9InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49InNoYWRvd01hdHJpeE91dGVyMSI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiPjwvZmVNZXJnZU5vZGU+CiAgICAgIDwvZmVNZXJnZT4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBvcGFjaXR5PSIwLjc1Ij4KICAgIDxnIGZpbGw9IiMwMDAwMDAiPgogICAgICA8ZyBmaWx0ZXI9InVybCgjZmlsdGVyLTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjI0LjAwMDAwMCwgLTI1MC4wMDAwMDApIj4KICAgICAgICA8cGF0aCBkPSJNMjIyLDYwIEwxMjAwLDYwIEwxMjAwLDEyMDAgTDIyMiwxMjAwIEwyMjIsNjAgWiBNNTk2LDc0MCBDNjg0LjkxNzg0NSw3NDAgNzU3LDYxNS42NTc2MTkgNzU3LDQ5NC40MzExMTYgQzc1NywzNzMuMjA0NjE0IDY4NC45MTc4NDUsMzAxIDU5NiwzMDEgQzUwNy4wODIxNTUsMzAxIDQzNSwzNzMuMjA0NjE0IDQzNSw0OTQuNDMxMTE2IEM0MzUsNjE1LjY1NzYxOSA1MDcuMDgyMTU1LDc0MCA1OTYsNzQwIFoiPjwvcGF0aD4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KICA8ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIC0xNzAuMDAwMDAwKSIgc3Ryb2tlPSIjZmZmZmZmIiBzdHJva2Utd2lkdGg9IjIuMiI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMjQuMDAwMDAwLCAtODAuMDAwMDAwKSI+CiAgICAgICAgPHBhdGggZD0iTTU5Niw3NDAgQzY4NC45MTc4NDUsNzQwIDc1Nyw2MTUuNjU3NjE5IDc1Nyw0OTQuNDMxMTE2IEM3NTcsMzczLjIwNDYxNCA2ODQuOTE3ODQ1LDMwMSA1OTYsMzAxIEM1MDcuMDgyMTU1LDMwMSA0MzUsMzczLjIwNDYxNCA0MzUsNDk0LjQzMTExNiBDNDM1LDYxNS42NTc2MTkgNTA3LjA4MjE1NSw3NDAgNTk2LDc0MCBaIj48L3BhdGg+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\";\n }\n }\n\n return imageElement;\n};\n\nexport const wrapper: VendorWrapper = {\n vendor: \"ocrlabs\",\n async initialise(options: VendorOptions): Promise<VendorContext> {\n // prematurely mount our ui to the dom before sdk session initialisation.\n mountUserInterface(options);\n\n return {\n vendor: \"ocrlabs\",\n };\n },\n};\n\nconst mountUserInterface = (options: VendorOptions): HTMLVideoElement => {\n const { mountElement: originalElement } = options;\n\n const mountElement = originalElement.cloneNode(true) as unknown as HTMLElement;\n originalElement.parentNode.replaceChild(mountElement, originalElement);\n\n mountElement.id = \"onesdk_idv_container\";\n mountElement.style.height = \"100%\";\n mountElement.style.minHeight = \"50px\";\n mountElement.style.width = \"100%\";\n mountElement.style.position = \"absolute\";\n mountElement.style.top = \"0\";\n mountElement.style.left = \"0\";\n mountElement.style.overflow = \"hidden\";\n mountElement.style.backgroundColor = \"#000\";\n\n const loader = document.createElement(\"div\");\n loader.id = \"onesdk_idv_loader\";\n loader.style.position = \"absolute\";\n loader.style.top = \"20px\";\n loader.style.left = \"50%\";\n loader.style.transform = \"translate(-50%, 0)\";\n loader.style.color = \"#fff\";\n loader.style.fontFamily = '\"Helvetica Neue\", Helvetica, Arial, sans-serif';\n loader.style.fontSize = \"24px\";\n loader.innerText = \"Loading...\";\n mountElement.appendChild(loader);\n\n const videoElement = document.createElement(\"video\");\n videoElement.id = \"onesdk_idv_video\";\n videoElement.autoplay = true;\n videoElement.muted = true;\n videoElement.style.position = \"absolute\";\n videoElement.style.top = \"0\";\n videoElement.style.left = \"0\";\n videoElement.playsInline = true;\n videoElement.style.height = \"100%\";\n videoElement.style.width = \"100%\";\n videoElement.style.display = \"none\";\n videoElement.style.zIndex = \"1\";\n videoElement.style.objectFit = \"cover\";\n mountElement.appendChild(videoElement);\n\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = \"onesdk_idv_overlay\";\n overlayContainer.style.position = \"absolute\";\n overlayContainer.style.top = \"0\";\n overlayContainer.style.left = \"0\";\n overlayContainer.style.height = \"100%\";\n overlayContainer.style.width = \"100%\";\n overlayContainer.style.display = \"none\";\n overlayContainer.style.zIndex = \"2\";\n overlayContainer.appendChild(createOverlay(\"white\"));\n mountElement.appendChild(overlayContainer);\n\n const instructions = document.createElement(\"div\");\n instructions.id = \"onesdk_idv_instructions\";\n instructions.style.position = \"absolute\";\n instructions.style.bottom = \"20px\";\n instructions.style.left = \"50%\";\n instructions.style.transform = \"translate(-50%, 0)\";\n instructions.style.color = \"#fff\";\n instructions.style.fontFamily = '\"Helvetica Neue\", Helvetica, Arial, sans-serif';\n instructions.style.fontSize = \"24px\";\n instructions.style.zIndex = \"3\";\n mountElement.appendChild(instructions);\n\n loadOcrLabs(options);\n\n return videoElement;\n};\n\n// reset to the original container dom element and close the ocrlabs session.\nconst cleanup = async (options: VendorOptions): Promise<void> => {\n const { eventHub, mountElement } = options;\n\n const cloneElement = document.getElementById(\"onesdk_idv_container\");\n cloneElement && cloneElement.parentNode.replaceChild(mountElement, cloneElement);\n\n try {\n await Liveness.close();\n eventHub.emit(\"session_closed\");\n } catch (error) {\n const { message } = error;\n eventHub.emit(\n \"error\",\n new OneSDKError(\"Error from vendor SDK 'OcrLabs'\", {\n message,\n })\n );\n }\n};\n\nconst loadOcrLabs = async (options: VendorOptions): Promise<void> => {\n const idvClient = new IDVClient(options.frankieClient);\n const { eventHub, recipe } = options;\n\n // fetch session data for ocrlabs initialisation.\n const { token: session_id } = await idvClient.getToken();\n\n const sessionData: SessionData = {\n session_id,\n tx_id: recipe.biometrics.provider.tx_id,\n };\n eventHub.emit(\"session_data_generated\", {\n session: sessionData,\n });\n\n // initialise ocrlabs session, then run liveness checks.\n const videoElement = document.getElementById(\"onesdk_idv_video\") as unknown as HTMLVideoElement;\n const loader = document.getElementById(\"onesdk_idv_loader\");\n const overlayContainer = document.getElementById(\"onesdk_idv_overlay\");\n\n // handle process errors such as network issues.\n /* istanbul ignore next */\n Liveness.observer.on(\"error\", (error) => {\n const { message } = error;\n eventHub.emit(\"error\", new OneSDKError(\"Error from vendor SDK 'OcrLabs'\", { message }));\n cleanup(options);\n });\n\n // initialise ocrlabs session.\n try {\n await Liveness.createSession(\"wss://engine.au.v3.liveness.idkit.io\", {\n videoElement,\n auth: sessionData,\n });\n\n // update ui and broadcast event in case the consumer is providing their own initialisation ui.\n loader.remove();\n videoElement.style.display = \"block\";\n overlayContainer.style.display = \"block\";\n eventHub.emit(\"ready\");\n\n runLivenessChecks(options, idvClient);\n } catch (error) {\n eventHub.emit(\"session_data_failed_loading\", {\n code: error.code || null,\n message: error.message,\n });\n cleanup(options);\n }\n};\n\nconst runLivenessChecks = async (options: VendorOptions, idvClient: IDVClient) => {\n const {\n eventHub,\n recipe: {\n biometrics: { is_synchronous: isSynchronous },\n },\n } = options;\n const overlayContainer = document.getElementById(\"onesdk_idv_overlay\");\n const instructions = document.getElementById(\"onesdk_idv_instructions\");\n\n overlayContainer.style.display = \"block\";\n instructions.style.display = \"block\";\n\n // manage the timing of ui changes during each detection step.\n const handleDetection = async (type: DetectActions, instructionCopy: string) => {\n const MIN_INSTRUCTION_DISPLAY_TIME = Liveness.delay || 2000;\n\n const detection = async (resolve, reject) => {\n instructions.innerText = instructionCopy;\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"white\"));\n\n try {\n await Liveness.detect(type, {\n retry: true,\n timeout: 7500,\n });\n\n instructions.innerText = \"Thanks!\";\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"green\"));\n\n setTimeout(() => {\n resolve(true);\n }, MIN_INSTRUCTION_DISPLAY_TIME);\n } catch (error) {\n instructions.innerText = \"Something went wrong\";\n overlayContainer.removeChild(overlayContainer.firstChild);\n overlayContainer.appendChild(createOverlay(\"red\"));\n eventHub.emit(\"detection_failed\", {\n message: error && error.message ? error.message : null,\n });\n\n setTimeout(() => {\n cleanup(options);\n resolve(false);\n }, MIN_INSTRUCTION_DISPLAY_TIME);\n }\n };\n\n return new Promise(detection);\n };\n\n await handleDetection(\"face\", \"Position your face within the frame\");\n await handleDetection(\"smile\", \"Please give us a BIG Smile!\");\n\n eventHub.emit(\"detection_complete\");\n\n try {\n await cleanup(options);\n const { checkStatus } = await idvClient.initProcess({ isSynchronous: !!isSynchronous });\n\n switch (checkStatus) {\n case Status.PROVIDER_OFFLINE: {\n eventHub.emit(\n \"error\",\n new OneSDKError(\n \"Error initialising liveness check with OCRLabs. The service doesn't appear to be available.\",\n { checkStatus }\n )\n );\n cleanup(options);\n break;\n }\n case Status.WAITING_SELFIE_UPLOAD: {\n eventHub.emit(\n \"error\",\n new OneSDKError(\n \"Error initialising liveness check with OCRLabs. You might need to run the 'ocr' component before running 'biometrics'.\",\n { checkStatus }\n )\n );\n cleanup(options);\n break;\n }\n default: {\n eventHub.emit(isSynchronous ? \"results\" : \"processing\", {\n checkStatus,\n });\n }\n }\n } catch (error) {\n const { message } = error;\n eventHub.emit(\"error\", new OneSDKError(\"Error calling initProcess\", { message }));\n }\n\n cleanup(options);\n};\n"],"names":["e","t","window","r","i","exports","s","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","n","default","prototype","hasOwnProperty","p","this","__importDefault","Logger","constructor","_debug","_warn","_error","log","console","info","warn","error","debug","generateRandomNumber","clone","JSON","parse","stringify","Math","round","random","Emitter","on","addEventListener","_callbacks","push","once","off","apply","arguments","fn","removeListener","removeAllListeners","removeEventListener","length","splice","emit","Array","slice","emitReserved","listeners","hasListeners","a","self","Function","__createBinding","__setModuleDefault","__importStar","canReceive","canSend","generateProbatorRtpParameters","reduceCodecs","getSendingRemoteRtpParameters","getSendingRtpParameters","getRecvRtpCapabilities","getExtendedRtpCapabilities","validateSctpStreamParameters","validateSctpParameters","validateNumSctpStreams","validateSctpCapabilities","validateRtcpParameters","validateRtpEncodingParameters","validateRtpHeaderExtensionParameters","validateRtpCodecParameters","validateRtpParameters","validateRtpHeaderExtension","validateRtcpFeedback","validateRtpCodecCapability","validateRtpCapabilities","RegExp","TypeError","mimeType","exec","kind","toLowerCase","preferredPayloadType","clockRate","channels","parameters","keys","rtcpFeedback","isArray","type","parameter","uri","preferredId","preferredEncrypt","direction","mid","codecs","h","headerExtensions","u","encodings","f","rtcp","payloadType","id","encrypt","ssrc","rid","rtx","dtx","scalabilityMode","cname","reducedSize","g","OS","MIS","_","test","b","strict","modify","isSameProfile","generateProfileLevelIdForAnswer","v","y","find","numStreams","port","maxMessageSize","streamId","ordered","maxPacketLifeTime","maxRetransmits","label","protocol","localPayloadType","localRtxPayloadType","remotePayloadType","remoteRtxPayloadType","localParameters","remoteParameters","apt","sendId","recvId","some","filter","reduce","setTimeout","clearTimeout","useNativeTimers","setTimeoutFn","clearTimeoutFn","Promise","resolve","then","WebSocket","MozWebSocket","InvalidStateError","UnsupportedError","Error","super","name","captureStackTrace","stack","write","parseParams","parseFmtpConfig","parsePayloads","parseRemoteCandidates","parseImageAttributes","parseSimulcastStreamList","HandlerInterface","EnhancedEventEmitter","open","close","ping","pong","message","upgrade","noop","forEach","data","Blob","toString","ArrayBuffer","FileReader","onload","result","split","readAsDataURL","isView","buffer","Uint8Array","charCodeAt","base64","charAt","substring","String","fromCharCode","join","applyCodecParameters","getCname","extractDtlsParameters","extractRtpCapabilities","sdpObject","Map","media","rtp","codec","payload","rate","encoding","set","fmtp","config","rtcpFb","subtype","ext","from","values","iceUfrag","fingerprint","setup","role","fingerprints","algorithm","hash","offerMediaObject","ssrcs","attribute","offerRtpParameters","answerMediaObject","stereo","RemoteSdp","iceParameters","iceCandidates","dtlsParameters","sctpParameters","plainRtpParameters","planB","_mediaSections","_midToIndex","_iceParameters","_iceCandidates","_dtlsParameters","_sctpParameters","_plainRtpParameters","_planB","_sdpObject","version","origin","address","ipVer","netType","sessionId","sessionVersion","username","timing","start","stop","iceLite","icelite","msidSemantic","semantic","token","groups","mids","ip","ipVersion","updateIceParameters","setIceParameters","updateDtlsRole","setDtlsRole","getNextMediaSectionIdx","closed","idx","reuseMid","send","answerRtpParameters","codecOptions","extmapAllowMixed","AnswerMediaSection","_replaceMediaSection","has","_addMediaSection","receive","trackId","planBReceive","OfferMediaSection","disableMediaSection","disable","closeMediaSection","_firstMid","_regenerateBundleMids","planBStopReceiving","sendSctpAssociation","receiveSctpAssociation","oldDataChannelSpec","getSdp","getObject","delete","map","EventEmitter","setMaxListeners","safeEmit","listenerCount","Boolean","async","writable","opts","query","readyState","socket","onError","description","doOpen","doClose","onClose","onOpen","onData","binaryType","onPacket","encode","encodeURIComponent","decode","decodeURIComponent","indexOf","replace","source","host","authority","ipv6uri","pathNames","substr","path","queryKey","addLegacySimulcast","getRtpEncodings","Set","add","size","ssrcGroups","semantics","Number","track","floor","Date","formatArgs","useColors","namespace","humanize","diff","color","save","storage","setItem","removeItem","load","getItem","env","DEBUG","process","__nwjs","navigator","userAgent","match","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","$1","localStorage","destroy","colors","formatters","j","spatialLayers","temporalLayers","Reflect","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","concat","isNaN","init","_events","_eventsCount","_maxListeners","defaultMaxListeners","newListener","listener","unshift","warned","emitter","count","fired","target","wrapFn","RangeError","getPrototypeOf","getMaxListeners","context","addListener","prependListener","prependOnceListener","shift","pop","rawListeners","eventNames","Device","detectDevice","w","S","R","P","product","RTCPeerConnection","getParser","getEngine","satisfies","chrome","chromium","firefox","ios","safari","RTCRtpTransceiver","getBrowserName","getBrowserVersion","handlerName","handlerFactory","Handler","_loaded","_observer","_handlerFactory","Chrome74","createFactory","Chrome70","Chrome67","Chrome55","Firefox60","Safari12","Safari11","Edge11","ReactNative","_handlerName","_extendedRtpCapabilities","_recvRtpCapabilities","_canProduceByKind","audio","video","_sctpCapabilities","loaded","rtpCapabilities","sctpCapabilities","observer","routerRtpCapabilities","getNativeRtpCapabilities","getNativeSctpCapabilities","canProduce","createSendTransport","iceServers","iceTransportPolicy","additionalSettings","proprietaryConstraints","appData","_createTransport","createRecvTransport","Transport","extendedRtpCapabilities","canProduceByKind","consumerOptions","promise","reject","_closed","_connectionState","_producers","_consumers","_dataProducers","_dataConsumers","_probatorConsumerCreated","_awaitQueue","AwaitQueue","ClosedErrorClass","_pendingConsumerTasks","_consumerCreationInProgress","_pendingPauseConsumers","_consumerPauseInProgress","_pendingResumeConsumers","_consumerResumeInProgress","_id","_direction","_maxSctpMessageSize","bundlePolicy","rtcpMuxPolicy","sdpSemantics","_handler","run","_appData","_handleHandler","handler","connectionState","transportClosed","clear","getTransportStats","restartIce","updateIceServers","stopTracks","disableTrackOnPause","zeroRtpOnPause","active","scaleResolutionDownBy","maxBitrate","maxFramerate","adaptivePtime","priority","networkPriority","localId","rtpParameters","rtpSender","safeEmitAsPromise","Producer","_handleProducer","stopSending","catch","producerId","_createPendingConsumers","dataChannel","sctpStreamParameters","sendDataChannel","DataProducer","_handleDataProducer","dataProducerId","receiveDataChannel","DataConsumer","_handleDataConsumer","rtpReceiver","Consumer","_handleConsumer","_pausePendingConsumers","pauseReceiving","finally","_resumePendingConsumers","resumeReceiving","replaceTrack","setMaxSpatialLayer","setRtpEncodingParameters","getSenderStats","stopReceiving","getReceiverStats","_localId","_rtpSender","_track","_kind","_rtpParameters","_paused","enabled","_maxSpatialLayer","_stopTracks","_disableTrackOnPause","_zeroRtpOnPause","_onTrackEnded","_handleTrack","paused","maxSpatialLayer","_destroyTrack","pause","resume","_producerId","_rtpReceiver","_dataChannel","_sctpStreamParameters","_handleDataChannel","bufferedAmount","bufferedAmountLowThreshold","errorDetail","sctpCauseCode","_dataProducerId","reg","names","format","z","sessionConfig","raddr","tcptype","generation","params","dir2","clksrcExt","mediaClockValue","rateNumerator","rateDenominator","XMLHttpRequest","supportsBinary","forceBase64","check","protocols","extraHeaders","headers","ws","addEventListeners","onopen","autoUnref","_socket","unref","onclose","onmessage","onerror","options","compress","perMessageDeflate","byteLength","threshold","secure","timestampRequests","timestampParam","b64","hostname","Buffer","ms","min","max","factor","jitter","attempts","duration","pow","reset","setMin","setMax","setJitter","results","detecting","face","smile","head_left","head_right","mode","connect","createSession","formatResults","engineTransport","code","setInterval","clearInterval","timeout","retry","onRepeat","detect","io","producerTransport","device","producers","producerLabel","eventListeners","videoElement","localVideoEl","mediaConstraints","transports","reconnection","reconnectionDelay","reconnectionDelayMax","reconnectionAttempts","request","disconnect","onbeforeunload","loadDevice","getUserMedia","event","createAndProducer","initSockets","createTransports","produce","getBrowser","forceTcp","isSecond","handleError","transport_id","producer_id","producerTransportId","stream","getVideoTracks","getAudioTracks","producerEvent","closeProducer","mediaDevices","srcObject","_isOpen","parseScalabilityMode","types","fun","array","nextTick","title","browser","argv","versions","binding","cwd","chdir","umask","prev","curr","coerce","selectColor","extend","configurable","namespaces","skips","enable","abs","parseFloat","isFinite","long","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","reverse","assign","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","electron","epiphany","focus","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getResult","key","_ua","parsedResult","getUA","parseBrowser","describe","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","engine","parseEngine","getEngineName","isOS","isPlatform","isBrowser","compareVersion","isEngine","is","search","versionName","vendor","model","ProfileConstrainedBaseline","ProfileBaseline","ProfileMain","ProfileConstrainedHigh","ProfileHigh","Level1_b","Level1","Level1_1","Level1_2","Level1_3","Level2","Level2_1","Level2_2","Level3","Level3_1","Level3_2","Level4","Level4_1","Level4_2","Level5","Level5_1","Level5_2","profile","level","ProfileLevelId","_mask","_maskedValue","isMatch","profile_idc","profile_iop","parseProfileLevelId","profileLevelIdToString","parseSdpProfileLevelId","__awaiter","next","throw","done","StoppedErrorClass","pendingTasks","stopped","task","enqueuedAt","executedAt","dump","enqueuedTime","getTime","executingTime","executeTask","_mapMidTransceiver","_sendStream","MediaStream","_hasDataChannelMediaSection","_nextSendSctpStreamId","_transportReady","static","_pc","addTransceiver","createOffer","sdp","_remoteSdp","_sendingRtpParametersByKind","_sendingRemoteRtpParametersByKind","_forcedLocalDtlsRole","iceConnectionState","getConfiguration","setConfiguration","iceRestart","setLocalDescription","setRemoteDescription","createAnswer","getStats","_assertSendDirection","streams","sendEncodings","_setupTransport","localDtlsRole","localSdpObject","localDescription","sender","removeTrack","getParameters","setParameters","negotiated","createDataChannel","_assertRecvDirection","getTransceivers","receiver","component","scid","payloads","outerOrder","innerOrder","MediaSection","_mediaObject","candidates","foundation","transport","tcpType","endOfCandidates","iceOptions","usernameFragment","icePwd","password","simulcast","simulcast_03","rids","connection","opusStereo","opusFec","opusDtx","opusMaxPlaybackRate","opusMaxAverageBitrate","opusPtime","videoGoogleStartBitrate","videoGoogleMaxBitrate","videoGoogleMinBitrate","useinbandfec","usedtx","maxplaybackrate","maxaveragebitrate","ptime","dir1","list1","rtcpMux","rtcpRsize","xGoogleFlag","sctpPort","sctpmap","app","sctpmapNumber","msid","includes","trim","maxRetransmitTime","_mapSendLocalIdRtpSender","_nextSendLocalId","_mapRecvLocalIdInfo","offerToReceiveAudio","offerToReceiveVideo","addTrack","getSenders","getTracks","signalingState","getReceivers","_mapSendLocalIdTrack","addStream","getRemoteStreams","getTrackById","createElement","getContext","captureStream","remove","_rtpSenders","_rtpReceivers","_iceGatherer","_iceTransport","_dtlsTransport","getCapabilities","_remoteIceParameters","_remoteIceCandidates","_remoteDtlsParameters","_cname","_setIceGatherer","_setIceTransport","_setDtlsTransport","addRemoteCandidate","RTCRtpSender","mux","mangleRtpParameters","setTrack","RTCRtpReceiver","RTCIceGatherer","gatherPolicy","gather","RTCIceTransport","state","pair","RTCDtlsTransport","getLocalParameters","numChannels","muxId","release","__exportStar","toUpperCase","ME","XP","Vista","RT","cpu","major","getCPU","architecture","getDevice","ua","setUA","VERSION","BROWSER","CPU","DEVICE","ENGINE","UAParser","jQuery","Zepto","TYPED_ARRAY_SUPPORT","__proto__","isEncoding","isBuffer","copy","U","D","k","C","E","T","x","lastIndexOf","readUInt16BE","q","fromByteArray","N","O","M","I","L","A","B","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","kMaxLength","poolSize","_augment","species","fill","allocUnsafe","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","equals","inspect","toJSON","_arr","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","F","toByteArray","NaN","LN2","$","xdomain","polling","poll","doPoll","doWrite","sid","responseType","method","xd","xscheme","xs","xhr","setDisableHeaderCheck","setRequestHeader","withCredentials","requestTimeout","onreadystatechange","status","onLoad","index","requestsCount","requests","onSuccess","cleanup","abort","responseText","attachEvent","websocket","location","pollXhr","writeBuffer","prevBufferLen","agent","rememberUpgrade","rejectUnauthorized","transportOptions","closeOnBeforeunload","upgrades","pingInterval","pingTimeout","pingTimeoutTimer","offlineEventListener","createTransport","EIO","priorWebsocketSuccess","setTransport","onDrain","probe","upgrading","flush","onHandshake","resetPingTimeout","sendPacket","filterUpgrades","File","CONNECT","DISCONNECT","EVENT","ACK","CONNECT_ERROR","BINARY_EVENT","BINARY_ACK","encodeAsString","encodeAsBinary","attachments","nsp","_placeholder","num","packet","buffers","decodeString","reconstructor","takeBinaryData","isPayloadValid","finishedReconstruction","reconPack","freeze","connect_error","disconnecting","connected","disconnected","receiveBuffer","sendBuffer","ids","acks","flags","auth","_autoConnect","subEvents","subs","onpacket","_reconnecting","_readyState","_registerAckCallback","volatile","_packet","onconnect","onevent","onack","ondisconnect","ack","emitEvent","_anyListeners","emitBuffered","_destroy","onAny","prependAny","offAny","listenersAny","nsps","randomizationFactor","backoff","parser","encoder","Encoder","decoder","Decoder","autoConnect","_reconnection","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","maybeReconnectOnOpen","reconnect","skipReconnect","onping","ondata","ondecoded","_close","onreconnect","V","href","forceNew","multiplex","Manager","Socket","module","define","amd","Liveness","createOverlay","strokeColour","imageElement","objectFit","height","width","position","zIndex","src","wrapper","initialise","mountUserInterface","mountElement","originalElement","cloneNode","parentNode","replaceChild","minHeight","top","left","overflow","backgroundColor","loader","transform","fontFamily","fontSize","innerText","appendChild","autoplay","muted","playsInline","display","overlayContainer","instructions","bottom","loadOcrLabs","eventHub","cloneElement","getElementById","OneSDKError","idvClient","IDVClient","frankieClient","recipe","session_id","getToken","sessionData","tx_id","biometrics","provider","session","runLivenessChecks","is_synchronous","isSynchronous","handleDetection","instructionCopy","MIN_INSTRUCTION_DISPLAY_TIME","delay","removeChild","firstChild","checkStatus","initProcess"],"sourceRoot":""}