@100mslive/roomkit-react 0.3.39-alpha.1 → 0.3.40-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +2221 -1613
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +2233 -1625
- package/dist/index.js.map +4 -4
- package/dist/meta.cjs.json +26 -26
- package/dist/meta.esbuild.json +26 -26
- package/package.json +7 -7
package/dist/index.cjs.js
CHANGED
|
@@ -100,7 +100,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
100
100
|
reject(e);
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
|
-
var step = (
|
|
103
|
+
var step = (x2) => x2.done ? resolve(x2.value) : Promise.resolve(x2.value).then(fulfilled, rejected);
|
|
104
104
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
105
105
|
});
|
|
106
106
|
};
|
|
@@ -109,7 +109,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
109
109
|
var define_process_env_default;
|
|
110
110
|
var init_define_process_env = __esm({
|
|
111
111
|
"<define:process.env>"() {
|
|
112
|
-
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.29-alpha.1", USER: "runner", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.20.8 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.39-alpha.1", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.39-alpha.1", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.0.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/28.2.13676358", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1898", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20250907.24.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:16274", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.7/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.39-alpha.1", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GITHUB_RUN_ID: "17974612952", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "509554a0889c1a13e0ce30ed281830aa095238dd", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "601c286be8eec453fb1ffa6bb73996d6eba3988d6dd6662f7be34c3e2d74dfb3", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/fix/audio-output-selection", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1758711765632-0.2731746688978216:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711765441-0.5625724409258923:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711741115-0.25516911614659765:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1758711740939-0.17649666537554665:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.20.8/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.20.8/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/18.20.8/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_21584f58-fde5-408e-b12b-e7ff2497b4ef", INVOCATION_ID: "5c0853a442e446c09809f49338bf9db3", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "766", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000047997", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "fix/audio-output-selection", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.39-alpha.1", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.39-alpha.1", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "509554a0889c1a13e0ce30ed281830aa095238dd", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/fix/audio-output-selection", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_b5b3fc7d-4ee3-4edb-a9d4-5c0e77fdba98" };
|
|
112
|
+
define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_exports___index_css: "./dist/index.css", npm_package_exports___require: "./dist/index.cjs.js", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", npm_package_dependencies__100mslive_hms_whiteboard: "0.0.30-alpha.0", USER: "runner", npm_package_resolutions__octokit_request: "^8.4.1", npm_package_devDependencies_jest: "^29.7.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v20.19.5 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.40-alpha.0", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_db56eb4b-af73-4c2c-a8a5-5f693071c2af", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.40-alpha.0", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.12", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "1.3.1-1", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-9.2.0", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu24", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "1894", npm_package_scripts_postinstall: "husky install", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_keywords_1: "react", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20251112.124.1", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^29.7.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.12/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", GOROOT_1_23_X64: "/opt/hostedtoolcache/go/1.23.12/x64", JOURNAL_STREAM: "9:14415", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "^29.1.1", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^19.6.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.10/x64", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.40-alpha.0", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.4/x64", GITHUB_RUN_ID: "19351282958", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "629e2980e146bf9a42cec315d45f534e859c4f22b896d22257e8d6f76b895be7", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/fix/device-change-event", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_resolutions_on_headers: "^1.1.0", npm_package_resolutions_semver: "^7.5.2", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1763083779118-0.09929644895887058:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083778946-0.7513423489060367:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753853-0.7907117933944905:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1763083753692-0.4558616258804573:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/20.19.5/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/20.19.5/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/20.19.5/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_c6c5511b-78a8-4ff9-aa80-d99177e5aa2a", INVOCATION_ID: "6ac3f0fe55d444a89119e917de8c93e2", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "767", GITHUB_TRIGGERING_ACTOR: "raviteja83", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^19.6.0", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_dependencies_react_dom: "^18.2.0", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000073733", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "fix/device-change-event", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.40-alpha.0", npm_package_scripts_types: "tsc -w", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.40-alpha.0", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_resolutions__octokit_request_error: "^5.1.1", npm_package_resolutions_axios: "^1.7.4", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies_jest_environment_jsdom: "^29.7.0", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "false", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", GITHUB_SHA: "13400154c64cb0e7289e8455733131ca0761532c", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_package_resolutions_form_data: "^4.0.4", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/fix/device-change-event", GITHUB_ACTOR: "raviteja83", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_db56eb4b-af73-4c2c-a8a5-5f693071c2af", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "6763261", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_db56eb4b-af73-4c2c-a8a5-5f693071c2af", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies_knip: "^5.11.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_db56eb4b-af73-4c2c-a8a5-5f693071c2af" };
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
115
|
|
|
@@ -119,7 +119,7 @@ var require_lodash = __commonJS({
|
|
|
119
119
|
init_define_process_env();
|
|
120
120
|
(function() {
|
|
121
121
|
var undefined2;
|
|
122
|
-
var
|
|
122
|
+
var VERSION2 = "4.17.21";
|
|
123
123
|
var LARGE_ARRAY_SIZE = 200;
|
|
124
124
|
var CORE_ERROR_TEXT = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", FUNC_ERROR_TEXT = "Expected a function", INVALID_TEMPL_VAR_ERROR_TEXT = "Invalid `variable` option passed into `_.template`";
|
|
125
125
|
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
|
@@ -3774,7 +3774,7 @@ var require_lodash = __commonJS({
|
|
|
3774
3774
|
if (fromIndex < 0) {
|
|
3775
3775
|
fromIndex = nativeMax(length + fromIndex, 0);
|
|
3776
3776
|
}
|
|
3777
|
-
return
|
|
3777
|
+
return isString2(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
|
|
3778
3778
|
}
|
|
3779
3779
|
var invokeMap = baseRest(function(collection, path, args) {
|
|
3780
3780
|
var index = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
|
|
@@ -3842,7 +3842,7 @@ var require_lodash = __commonJS({
|
|
|
3842
3842
|
return 0;
|
|
3843
3843
|
}
|
|
3844
3844
|
if (isArrayLike(collection)) {
|
|
3845
|
-
return
|
|
3845
|
+
return isString2(collection) ? stringSize(collection) : collection.length;
|
|
3846
3846
|
}
|
|
3847
3847
|
var tag = getTag(collection);
|
|
3848
3848
|
if (tag == mapTag || tag == setTag) {
|
|
@@ -4151,7 +4151,7 @@ var require_lodash = __commonJS({
|
|
|
4151
4151
|
function eq(value, other) {
|
|
4152
4152
|
return value === other || value !== value && other !== other;
|
|
4153
4153
|
}
|
|
4154
|
-
var
|
|
4154
|
+
var gt = createRelationalOperation(baseGt);
|
|
4155
4155
|
var gte = createRelationalOperation(function(value, other) {
|
|
4156
4156
|
return value >= other;
|
|
4157
4157
|
});
|
|
@@ -4277,7 +4277,7 @@ var require_lodash = __commonJS({
|
|
|
4277
4277
|
return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;
|
|
4278
4278
|
}
|
|
4279
4279
|
var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
|
|
4280
|
-
function
|
|
4280
|
+
function isString2(value) {
|
|
4281
4281
|
return typeof value == "string" || !isArray2(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
|
|
4282
4282
|
}
|
|
4283
4283
|
function isSymbol(value) {
|
|
@@ -4302,7 +4302,7 @@ var require_lodash = __commonJS({
|
|
|
4302
4302
|
return [];
|
|
4303
4303
|
}
|
|
4304
4304
|
if (isArrayLike(value)) {
|
|
4305
|
-
return
|
|
4305
|
+
return isString2(value) ? stringToArray(value) : copyArray(value);
|
|
4306
4306
|
}
|
|
4307
4307
|
if (symIterator && value[symIterator]) {
|
|
4308
4308
|
return iteratorToArray(value[symIterator]());
|
|
@@ -4435,7 +4435,7 @@ var require_lodash = __commonJS({
|
|
|
4435
4435
|
var result2 = object == null ? undefined2 : baseGet(object, path);
|
|
4436
4436
|
return result2 === undefined2 ? defaultValue : result2;
|
|
4437
4437
|
}
|
|
4438
|
-
function
|
|
4438
|
+
function has2(object, path) {
|
|
4439
4439
|
return object != null && hasPath(object, path, baseHas);
|
|
4440
4440
|
}
|
|
4441
4441
|
function hasIn(object, path) {
|
|
@@ -4808,7 +4808,7 @@ var require_lodash = __commonJS({
|
|
|
4808
4808
|
function toUpper(value) {
|
|
4809
4809
|
return toString(value).toUpperCase();
|
|
4810
4810
|
}
|
|
4811
|
-
function
|
|
4811
|
+
function trim2(string, chars, guard) {
|
|
4812
4812
|
string = toString(string);
|
|
4813
4813
|
if (string && (guard || chars === undefined2)) {
|
|
4814
4814
|
return baseTrim(string);
|
|
@@ -5290,9 +5290,9 @@ var require_lodash = __commonJS({
|
|
|
5290
5290
|
lodash.forOwn = forOwn;
|
|
5291
5291
|
lodash.forOwnRight = forOwnRight;
|
|
5292
5292
|
lodash.get = get;
|
|
5293
|
-
lodash.gt =
|
|
5293
|
+
lodash.gt = gt;
|
|
5294
5294
|
lodash.gte = gte;
|
|
5295
|
-
lodash.has =
|
|
5295
|
+
lodash.has = has2;
|
|
5296
5296
|
lodash.hasIn = hasIn;
|
|
5297
5297
|
lodash.head = head;
|
|
5298
5298
|
lodash.identity = identity;
|
|
@@ -5331,7 +5331,7 @@ var require_lodash = __commonJS({
|
|
|
5331
5331
|
lodash.isRegExp = isRegExp;
|
|
5332
5332
|
lodash.isSafeInteger = isSafeInteger;
|
|
5333
5333
|
lodash.isSet = isSet;
|
|
5334
|
-
lodash.isString =
|
|
5334
|
+
lodash.isString = isString2;
|
|
5335
5335
|
lodash.isSymbol = isSymbol;
|
|
5336
5336
|
lodash.isTypedArray = isTypedArray;
|
|
5337
5337
|
lodash.isUndefined = isUndefined;
|
|
@@ -5398,7 +5398,7 @@ var require_lodash = __commonJS({
|
|
|
5398
5398
|
lodash.toSafeInteger = toSafeInteger;
|
|
5399
5399
|
lodash.toString = toString;
|
|
5400
5400
|
lodash.toUpper = toUpper;
|
|
5401
|
-
lodash.trim =
|
|
5401
|
+
lodash.trim = trim2;
|
|
5402
5402
|
lodash.trimEnd = trimEnd;
|
|
5403
5403
|
lodash.trimStart = trimStart;
|
|
5404
5404
|
lodash.truncate = truncate;
|
|
@@ -5418,7 +5418,7 @@ var require_lodash = __commonJS({
|
|
|
5418
5418
|
});
|
|
5419
5419
|
return source;
|
|
5420
5420
|
}(), { "chain": false });
|
|
5421
|
-
lodash.VERSION =
|
|
5421
|
+
lodash.VERSION = VERSION2;
|
|
5422
5422
|
arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
|
|
5423
5423
|
lodash[methodName].placeholder = lodash;
|
|
5424
5424
|
});
|
|
@@ -5594,1260 +5594,6 @@ var require_lodash = __commonJS({
|
|
|
5594
5594
|
}
|
|
5595
5595
|
});
|
|
5596
5596
|
|
|
5597
|
-
// ../../node_modules/ua-parser-js/src/ua-parser.js
|
|
5598
|
-
var require_ua_parser = __commonJS({
|
|
5599
|
-
"../../node_modules/ua-parser-js/src/ua-parser.js"(exports, module2) {
|
|
5600
|
-
init_define_process_env();
|
|
5601
|
-
(function(window2, undefined2) {
|
|
5602
|
-
"use strict";
|
|
5603
|
-
var LIBVERSION = "1.0.35", EMPTY = "", UNKNOWN = "?", FUNC_TYPE = "function", UNDEF_TYPE = "undefined", OBJ_TYPE = "object", STR_TYPE = "string", MAJOR = "major", MODEL = "model", NAME = "name", TYPE = "type", VENDOR = "vendor", VERSION = "version", ARCHITECTURE = "architecture", CONSOLE = "console", MOBILE = "mobile", TABLET = "tablet", SMARTTV = "smarttv", WEARABLE = "wearable", EMBEDDED = "embedded", UA_MAX_LENGTH = 350;
|
|
5604
|
-
var AMAZON = "Amazon", APPLE = "Apple", ASUS = "ASUS", BLACKBERRY = "BlackBerry", BROWSER = "Browser", CHROME = "Chrome", EDGE = "Edge", FIREFOX = "Firefox", GOOGLE = "Google", HUAWEI = "Huawei", LG = "LG", MICROSOFT = "Microsoft", MOTOROLA = "Motorola", OPERA = "Opera", SAMSUNG = "Samsung", SHARP = "Sharp", SONY = "Sony", VIERA = "Viera", XIAOMI = "Xiaomi", ZEBRA = "Zebra", FACEBOOK = "Facebook", CHROMIUM_OS = "Chromium OS", MAC_OS = "Mac OS";
|
|
5605
|
-
var extend = function(regexes2, extensions) {
|
|
5606
|
-
var mergedRegexes = {};
|
|
5607
|
-
for (var i in regexes2) {
|
|
5608
|
-
if (extensions[i] && extensions[i].length % 2 === 0) {
|
|
5609
|
-
mergedRegexes[i] = extensions[i].concat(regexes2[i]);
|
|
5610
|
-
} else {
|
|
5611
|
-
mergedRegexes[i] = regexes2[i];
|
|
5612
|
-
}
|
|
5613
|
-
}
|
|
5614
|
-
return mergedRegexes;
|
|
5615
|
-
}, enumerize = function(arr) {
|
|
5616
|
-
var enums = {};
|
|
5617
|
-
for (var i = 0; i < arr.length; i++) {
|
|
5618
|
-
enums[arr[i].toUpperCase()] = arr[i];
|
|
5619
|
-
}
|
|
5620
|
-
return enums;
|
|
5621
|
-
}, has = function(str1, str2) {
|
|
5622
|
-
return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;
|
|
5623
|
-
}, lowerize = function(str) {
|
|
5624
|
-
return str.toLowerCase();
|
|
5625
|
-
}, majorize = function(version) {
|
|
5626
|
-
return typeof version === STR_TYPE ? version.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined2;
|
|
5627
|
-
}, trim = function(str, len) {
|
|
5628
|
-
if (typeof str === STR_TYPE) {
|
|
5629
|
-
str = str.replace(/^\s\s*/, EMPTY);
|
|
5630
|
-
return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);
|
|
5631
|
-
}
|
|
5632
|
-
};
|
|
5633
|
-
var rgxMapper = function(ua, arrays) {
|
|
5634
|
-
var i = 0, j2, k2, p, q, matches, match18;
|
|
5635
|
-
while (i < arrays.length && !matches) {
|
|
5636
|
-
var regex = arrays[i], props = arrays[i + 1];
|
|
5637
|
-
j2 = k2 = 0;
|
|
5638
|
-
while (j2 < regex.length && !matches) {
|
|
5639
|
-
if (!regex[j2]) {
|
|
5640
|
-
break;
|
|
5641
|
-
}
|
|
5642
|
-
matches = regex[j2++].exec(ua);
|
|
5643
|
-
if (!!matches) {
|
|
5644
|
-
for (p = 0; p < props.length; p++) {
|
|
5645
|
-
match18 = matches[++k2];
|
|
5646
|
-
q = props[p];
|
|
5647
|
-
if (typeof q === OBJ_TYPE && q.length > 0) {
|
|
5648
|
-
if (q.length === 2) {
|
|
5649
|
-
if (typeof q[1] == FUNC_TYPE) {
|
|
5650
|
-
this[q[0]] = q[1].call(this, match18);
|
|
5651
|
-
} else {
|
|
5652
|
-
this[q[0]] = q[1];
|
|
5653
|
-
}
|
|
5654
|
-
} else if (q.length === 3) {
|
|
5655
|
-
if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {
|
|
5656
|
-
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : undefined2;
|
|
5657
|
-
} else {
|
|
5658
|
-
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : undefined2;
|
|
5659
|
-
}
|
|
5660
|
-
} else if (q.length === 4) {
|
|
5661
|
-
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : undefined2;
|
|
5662
|
-
}
|
|
5663
|
-
} else {
|
|
5664
|
-
this[q] = match18 ? match18 : undefined2;
|
|
5665
|
-
}
|
|
5666
|
-
}
|
|
5667
|
-
}
|
|
5668
|
-
}
|
|
5669
|
-
i += 2;
|
|
5670
|
-
}
|
|
5671
|
-
}, strMapper = function(str, map) {
|
|
5672
|
-
for (var i in map) {
|
|
5673
|
-
if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {
|
|
5674
|
-
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
5675
|
-
if (has(map[i][j2], str)) {
|
|
5676
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5677
|
-
}
|
|
5678
|
-
}
|
|
5679
|
-
} else if (has(map[i], str)) {
|
|
5680
|
-
return i === UNKNOWN ? undefined2 : i;
|
|
5681
|
-
}
|
|
5682
|
-
}
|
|
5683
|
-
return str;
|
|
5684
|
-
};
|
|
5685
|
-
var oldSafariMap = {
|
|
5686
|
-
"1.0": "/8",
|
|
5687
|
-
"1.2": "/1",
|
|
5688
|
-
"1.3": "/3",
|
|
5689
|
-
"2.0": "/412",
|
|
5690
|
-
"2.0.2": "/416",
|
|
5691
|
-
"2.0.3": "/417",
|
|
5692
|
-
"2.0.4": "/419",
|
|
5693
|
-
"?": "/"
|
|
5694
|
-
}, windowsVersionMap = {
|
|
5695
|
-
"ME": "4.90",
|
|
5696
|
-
"NT 3.11": "NT3.51",
|
|
5697
|
-
"NT 4.0": "NT4.0",
|
|
5698
|
-
"2000": "NT 5.0",
|
|
5699
|
-
"XP": ["NT 5.1", "NT 5.2"],
|
|
5700
|
-
"Vista": "NT 6.0",
|
|
5701
|
-
"7": "NT 6.1",
|
|
5702
|
-
"8": "NT 6.2",
|
|
5703
|
-
"8.1": "NT 6.3",
|
|
5704
|
-
"10": ["NT 6.4", "NT 10.0"],
|
|
5705
|
-
"RT": "ARM"
|
|
5706
|
-
};
|
|
5707
|
-
var regexes = {
|
|
5708
|
-
browser: [
|
|
5709
|
-
[
|
|
5710
|
-
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
5711
|
-
// Chrome for Android/iOS
|
|
5712
|
-
],
|
|
5713
|
-
[VERSION, [NAME, "Chrome"]],
|
|
5714
|
-
[
|
|
5715
|
-
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
5716
|
-
// Microsoft Edge
|
|
5717
|
-
],
|
|
5718
|
-
[VERSION, [NAME, "Edge"]],
|
|
5719
|
-
[
|
|
5720
|
-
// Presto based
|
|
5721
|
-
/(opera mini)\/([-\w\.]+)/i,
|
|
5722
|
-
// Opera Mini
|
|
5723
|
-
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
5724
|
-
// Opera Mobi/Tablet
|
|
5725
|
-
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
5726
|
-
// Opera
|
|
5727
|
-
],
|
|
5728
|
-
[NAME, VERSION],
|
|
5729
|
-
[
|
|
5730
|
-
/opios[\/ ]+([\w\.]+)/i
|
|
5731
|
-
// Opera mini on iphone >= 8.0
|
|
5732
|
-
],
|
|
5733
|
-
[VERSION, [NAME, OPERA + " Mini"]],
|
|
5734
|
-
[
|
|
5735
|
-
/\bopr\/([\w\.]+)/i
|
|
5736
|
-
// Opera Webkit
|
|
5737
|
-
],
|
|
5738
|
-
[VERSION, [NAME, OPERA]],
|
|
5739
|
-
[
|
|
5740
|
-
// Mixed
|
|
5741
|
-
/(kindle)\/([\w\.]+)/i,
|
|
5742
|
-
// Kindle
|
|
5743
|
-
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,
|
|
5744
|
-
// Lunascape/Maxthon/Netfront/Jasmine/Blazer
|
|
5745
|
-
// Trident based
|
|
5746
|
-
/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,
|
|
5747
|
-
// Avant/IEMobile/SlimBrowser
|
|
5748
|
-
/(ba?idubrowser)[\/ ]?([\w\.]+)/i,
|
|
5749
|
-
// Baidu Browser
|
|
5750
|
-
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
5751
|
-
// Internet Explorer
|
|
5752
|
-
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
|
|
5753
|
-
/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
|
|
5754
|
-
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
|
|
5755
|
-
/(heytap|ovi)browser\/([\d\.]+)/i,
|
|
5756
|
-
// Heytap/Ovi
|
|
5757
|
-
/(weibo)__([\d\.]+)/i
|
|
5758
|
-
// Weibo
|
|
5759
|
-
],
|
|
5760
|
-
[NAME, VERSION],
|
|
5761
|
-
[
|
|
5762
|
-
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
5763
|
-
// UCBrowser
|
|
5764
|
-
],
|
|
5765
|
-
[VERSION, [NAME, "UC" + BROWSER]],
|
|
5766
|
-
[
|
|
5767
|
-
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
5768
|
-
// WeChat Desktop for Windows Built-in Browser
|
|
5769
|
-
/\bqbcore\/([\w\.]+).+microm/i
|
|
5770
|
-
],
|
|
5771
|
-
[VERSION, [NAME, "WeChat(Win) Desktop"]],
|
|
5772
|
-
[
|
|
5773
|
-
/micromessenger\/([\w\.]+)/i
|
|
5774
|
-
// WeChat
|
|
5775
|
-
],
|
|
5776
|
-
[VERSION, [NAME, "WeChat"]],
|
|
5777
|
-
[
|
|
5778
|
-
/konqueror\/([\w\.]+)/i
|
|
5779
|
-
// Konqueror
|
|
5780
|
-
],
|
|
5781
|
-
[VERSION, [NAME, "Konqueror"]],
|
|
5782
|
-
[
|
|
5783
|
-
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
5784
|
-
// IE11
|
|
5785
|
-
],
|
|
5786
|
-
[VERSION, [NAME, "IE"]],
|
|
5787
|
-
[
|
|
5788
|
-
/ya(?:search)?browser\/([\w\.]+)/i
|
|
5789
|
-
// Yandex
|
|
5790
|
-
],
|
|
5791
|
-
[VERSION, [NAME, "Yandex"]],
|
|
5792
|
-
[
|
|
5793
|
-
/(avast|avg)\/([\w\.]+)/i
|
|
5794
|
-
// Avast/AVG Secure Browser
|
|
5795
|
-
],
|
|
5796
|
-
[[NAME, /(.+)/, "$1 Secure " + BROWSER], VERSION],
|
|
5797
|
-
[
|
|
5798
|
-
/\bfocus\/([\w\.]+)/i
|
|
5799
|
-
// Firefox Focus
|
|
5800
|
-
],
|
|
5801
|
-
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
5802
|
-
[
|
|
5803
|
-
/\bopt\/([\w\.]+)/i
|
|
5804
|
-
// Opera Touch
|
|
5805
|
-
],
|
|
5806
|
-
[VERSION, [NAME, OPERA + " Touch"]],
|
|
5807
|
-
[
|
|
5808
|
-
/coc_coc\w+\/([\w\.]+)/i
|
|
5809
|
-
// Coc Coc Browser
|
|
5810
|
-
],
|
|
5811
|
-
[VERSION, [NAME, "Coc Coc"]],
|
|
5812
|
-
[
|
|
5813
|
-
/dolfin\/([\w\.]+)/i
|
|
5814
|
-
// Dolphin
|
|
5815
|
-
],
|
|
5816
|
-
[VERSION, [NAME, "Dolphin"]],
|
|
5817
|
-
[
|
|
5818
|
-
/coast\/([\w\.]+)/i
|
|
5819
|
-
// Opera Coast
|
|
5820
|
-
],
|
|
5821
|
-
[VERSION, [NAME, OPERA + " Coast"]],
|
|
5822
|
-
[
|
|
5823
|
-
/miuibrowser\/([\w\.]+)/i
|
|
5824
|
-
// MIUI Browser
|
|
5825
|
-
],
|
|
5826
|
-
[VERSION, [NAME, "MIUI " + BROWSER]],
|
|
5827
|
-
[
|
|
5828
|
-
/fxios\/([-\w\.]+)/i
|
|
5829
|
-
// Firefox for iOS
|
|
5830
|
-
],
|
|
5831
|
-
[VERSION, [NAME, FIREFOX]],
|
|
5832
|
-
[
|
|
5833
|
-
/\bqihu|(qi?ho?o?|360)browser/i
|
|
5834
|
-
// 360
|
|
5835
|
-
],
|
|
5836
|
-
[[NAME, "360 " + BROWSER]],
|
|
5837
|
-
[
|
|
5838
|
-
/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i
|
|
5839
|
-
],
|
|
5840
|
-
[[NAME, /(.+)/, "$1 " + BROWSER], VERSION],
|
|
5841
|
-
[
|
|
5842
|
-
// Oculus/Samsung/Sailfish/Huawei Browser
|
|
5843
|
-
/(comodo_dragon)\/([\w\.]+)/i
|
|
5844
|
-
// Comodo Dragon
|
|
5845
|
-
],
|
|
5846
|
-
[[NAME, /_/g, " "], VERSION],
|
|
5847
|
-
[
|
|
5848
|
-
/(electron)\/([\w\.]+) safari/i,
|
|
5849
|
-
// Electron-based App
|
|
5850
|
-
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
5851
|
-
// Tesla
|
|
5852
|
-
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i
|
|
5853
|
-
// QQBrowser/Baidu App/2345 Browser
|
|
5854
|
-
],
|
|
5855
|
-
[NAME, VERSION],
|
|
5856
|
-
[
|
|
5857
|
-
/(metasr)[\/ ]?([\w\.]+)/i,
|
|
5858
|
-
// SouGouBrowser
|
|
5859
|
-
/(lbbrowser)/i,
|
|
5860
|
-
// LieBao Browser
|
|
5861
|
-
/\[(linkedin)app\]/i
|
|
5862
|
-
// LinkedIn App for iOS & Android
|
|
5863
|
-
],
|
|
5864
|
-
[NAME],
|
|
5865
|
-
[
|
|
5866
|
-
// WebView
|
|
5867
|
-
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
5868
|
-
// Facebook App for iOS & Android
|
|
5869
|
-
],
|
|
5870
|
-
[[NAME, FACEBOOK], VERSION],
|
|
5871
|
-
[
|
|
5872
|
-
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
5873
|
-
// Kakao App
|
|
5874
|
-
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
5875
|
-
// Naver InApp
|
|
5876
|
-
/safari (line)\/([\w\.]+)/i,
|
|
5877
|
-
// Line App for iOS
|
|
5878
|
-
/\b(line)\/([\w\.]+)\/iab/i,
|
|
5879
|
-
// Line App for Android
|
|
5880
|
-
/(chromium|instagram)[\/ ]([-\w\.]+)/i
|
|
5881
|
-
// Chromium/Instagram
|
|
5882
|
-
],
|
|
5883
|
-
[NAME, VERSION],
|
|
5884
|
-
[
|
|
5885
|
-
/\bgsa\/([\w\.]+) .*safari\//i
|
|
5886
|
-
// Google Search Appliance on iOS
|
|
5887
|
-
],
|
|
5888
|
-
[VERSION, [NAME, "GSA"]],
|
|
5889
|
-
[
|
|
5890
|
-
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
5891
|
-
// TikTok
|
|
5892
|
-
],
|
|
5893
|
-
[VERSION, [NAME, "TikTok"]],
|
|
5894
|
-
[
|
|
5895
|
-
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
5896
|
-
// Chrome Headless
|
|
5897
|
-
],
|
|
5898
|
-
[VERSION, [NAME, CHROME + " Headless"]],
|
|
5899
|
-
[
|
|
5900
|
-
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
5901
|
-
// Chrome WebView
|
|
5902
|
-
],
|
|
5903
|
-
[[NAME, CHROME + " WebView"], VERSION],
|
|
5904
|
-
[
|
|
5905
|
-
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
5906
|
-
// Android Browser
|
|
5907
|
-
],
|
|
5908
|
-
[VERSION, [NAME, "Android " + BROWSER]],
|
|
5909
|
-
[
|
|
5910
|
-
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
5911
|
-
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
5912
|
-
],
|
|
5913
|
-
[NAME, VERSION],
|
|
5914
|
-
[
|
|
5915
|
-
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i
|
|
5916
|
-
// Mobile Safari
|
|
5917
|
-
],
|
|
5918
|
-
[VERSION, [NAME, "Mobile Safari"]],
|
|
5919
|
-
[
|
|
5920
|
-
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i
|
|
5921
|
-
// Safari & Safari Mobile
|
|
5922
|
-
],
|
|
5923
|
-
[VERSION, NAME],
|
|
5924
|
-
[
|
|
5925
|
-
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
5926
|
-
// Safari < 3.0
|
|
5927
|
-
],
|
|
5928
|
-
[NAME, [VERSION, strMapper, oldSafariMap]],
|
|
5929
|
-
[
|
|
5930
|
-
/(webkit|khtml)\/([\w\.]+)/i
|
|
5931
|
-
],
|
|
5932
|
-
[NAME, VERSION],
|
|
5933
|
-
[
|
|
5934
|
-
// Gecko based
|
|
5935
|
-
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
5936
|
-
// Netscape
|
|
5937
|
-
],
|
|
5938
|
-
[[NAME, "Netscape"], VERSION],
|
|
5939
|
-
[
|
|
5940
|
-
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
5941
|
-
// Firefox Reality
|
|
5942
|
-
],
|
|
5943
|
-
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
5944
|
-
[
|
|
5945
|
-
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
5946
|
-
// Flow
|
|
5947
|
-
/(swiftfox)/i,
|
|
5948
|
-
// Swiftfox
|
|
5949
|
-
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
|
|
5950
|
-
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
|
|
5951
|
-
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
5952
|
-
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
5953
|
-
/(firefox)\/([\w\.]+)/i,
|
|
5954
|
-
// Other Firefox-based
|
|
5955
|
-
/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,
|
|
5956
|
-
// Mozilla
|
|
5957
|
-
// Other
|
|
5958
|
-
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
5959
|
-
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
|
|
5960
|
-
/(links) \(([\w\.]+)/i,
|
|
5961
|
-
// Links
|
|
5962
|
-
/panasonic;(viera)/i
|
|
5963
|
-
// Panasonic Viera
|
|
5964
|
-
],
|
|
5965
|
-
[NAME, VERSION],
|
|
5966
|
-
[
|
|
5967
|
-
/(cobalt)\/([\w\.]+)/i
|
|
5968
|
-
// Cobalt
|
|
5969
|
-
],
|
|
5970
|
-
[NAME, [VERSION, /master.|lts./, ""]]
|
|
5971
|
-
],
|
|
5972
|
-
cpu: [
|
|
5973
|
-
[
|
|
5974
|
-
/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i
|
|
5975
|
-
// AMD64 (x64)
|
|
5976
|
-
],
|
|
5977
|
-
[[ARCHITECTURE, "amd64"]],
|
|
5978
|
-
[
|
|
5979
|
-
/(ia32(?=;))/i
|
|
5980
|
-
// IA32 (quicktime)
|
|
5981
|
-
],
|
|
5982
|
-
[[ARCHITECTURE, lowerize]],
|
|
5983
|
-
[
|
|
5984
|
-
/((?:i[346]|x)86)[;\)]/i
|
|
5985
|
-
// IA32 (x86)
|
|
5986
|
-
],
|
|
5987
|
-
[[ARCHITECTURE, "ia32"]],
|
|
5988
|
-
[
|
|
5989
|
-
/\b(aarch64|arm(v?8e?l?|_?64))\b/i
|
|
5990
|
-
// ARM64
|
|
5991
|
-
],
|
|
5992
|
-
[[ARCHITECTURE, "arm64"]],
|
|
5993
|
-
[
|
|
5994
|
-
/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i
|
|
5995
|
-
// ARMHF
|
|
5996
|
-
],
|
|
5997
|
-
[[ARCHITECTURE, "armhf"]],
|
|
5998
|
-
[
|
|
5999
|
-
// PocketPC mistakenly identified as PowerPC
|
|
6000
|
-
/windows (ce|mobile); ppc;/i
|
|
6001
|
-
],
|
|
6002
|
-
[[ARCHITECTURE, "arm"]],
|
|
6003
|
-
[
|
|
6004
|
-
/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i
|
|
6005
|
-
// PowerPC
|
|
6006
|
-
],
|
|
6007
|
-
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
6008
|
-
[
|
|
6009
|
-
/(sun4\w)[;\)]/i
|
|
6010
|
-
// SPARC
|
|
6011
|
-
],
|
|
6012
|
-
[[ARCHITECTURE, "sparc"]],
|
|
6013
|
-
[
|
|
6014
|
-
/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i
|
|
6015
|
-
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
6016
|
-
],
|
|
6017
|
-
[[ARCHITECTURE, lowerize]]
|
|
6018
|
-
],
|
|
6019
|
-
device: [
|
|
6020
|
-
[
|
|
6021
|
-
//////////////////////////
|
|
6022
|
-
// MOBILES & TABLETS
|
|
6023
|
-
/////////////////////////
|
|
6024
|
-
// Samsung
|
|
6025
|
-
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
6026
|
-
],
|
|
6027
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
6028
|
-
[
|
|
6029
|
-
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
6030
|
-
/samsung[- ]([-\w]+)/i,
|
|
6031
|
-
/sec-(sgh\w+)/i
|
|
6032
|
-
],
|
|
6033
|
-
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
6034
|
-
[
|
|
6035
|
-
// Apple
|
|
6036
|
-
/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i
|
|
6037
|
-
// iPod/iPhone
|
|
6038
|
-
],
|
|
6039
|
-
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
6040
|
-
[
|
|
6041
|
-
/\((ipad);[-\w\),; ]+apple/i,
|
|
6042
|
-
// iPad
|
|
6043
|
-
/applecoremedia\/[\w\.]+ \((ipad)/i,
|
|
6044
|
-
/\b(ipad)\d\d?,\d\d?[;\]].+ios/i
|
|
6045
|
-
],
|
|
6046
|
-
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
6047
|
-
[
|
|
6048
|
-
/(macintosh);/i
|
|
6049
|
-
],
|
|
6050
|
-
[MODEL, [VENDOR, APPLE]],
|
|
6051
|
-
[
|
|
6052
|
-
// Sharp
|
|
6053
|
-
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
6054
|
-
],
|
|
6055
|
-
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
6056
|
-
[
|
|
6057
|
-
// Huawei
|
|
6058
|
-
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
|
|
6059
|
-
],
|
|
6060
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
6061
|
-
[
|
|
6062
|
-
/(?:huawei|honor)([-\w ]+)[;\)]/i,
|
|
6063
|
-
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
|
|
6064
|
-
],
|
|
6065
|
-
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
6066
|
-
[
|
|
6067
|
-
// Xiaomi
|
|
6068
|
-
/\b(poco[\w ]+)(?: bui|\))/i,
|
|
6069
|
-
// Xiaomi POCO
|
|
6070
|
-
/\b; (\w+) build\/hm\1/i,
|
|
6071
|
-
// Xiaomi Hongmi 'numeric' models
|
|
6072
|
-
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
6073
|
-
// Xiaomi Hongmi
|
|
6074
|
-
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
6075
|
-
// Xiaomi Redmi
|
|
6076
|
-
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i
|
|
6077
|
-
// Xiaomi Mi
|
|
6078
|
-
],
|
|
6079
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
6080
|
-
[
|
|
6081
|
-
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i
|
|
6082
|
-
// Mi Pad tablets
|
|
6083
|
-
],
|
|
6084
|
-
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
6085
|
-
[
|
|
6086
|
-
// OPPO
|
|
6087
|
-
/; (\w+) bui.+ oppo/i,
|
|
6088
|
-
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
6089
|
-
],
|
|
6090
|
-
[MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]],
|
|
6091
|
-
[
|
|
6092
|
-
// Vivo
|
|
6093
|
-
/vivo (\w+)(?: bui|\))/i,
|
|
6094
|
-
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
6095
|
-
],
|
|
6096
|
-
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
6097
|
-
[
|
|
6098
|
-
// Realme
|
|
6099
|
-
/\b(rmx[12]\d{3})(?: bui|;|\))/i
|
|
6100
|
-
],
|
|
6101
|
-
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
6102
|
-
[
|
|
6103
|
-
// Motorola
|
|
6104
|
-
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
6105
|
-
/\bmot(?:orola)?[- ](\w*)/i,
|
|
6106
|
-
/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
|
|
6107
|
-
],
|
|
6108
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
6109
|
-
[
|
|
6110
|
-
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
6111
|
-
],
|
|
6112
|
-
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
6113
|
-
[
|
|
6114
|
-
// LG
|
|
6115
|
-
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
6116
|
-
],
|
|
6117
|
-
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
6118
|
-
[
|
|
6119
|
-
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
6120
|
-
/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,
|
|
6121
|
-
/\blg-?([\d\w]+) bui/i
|
|
6122
|
-
],
|
|
6123
|
-
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
6124
|
-
[
|
|
6125
|
-
// Lenovo
|
|
6126
|
-
/(ideatab[-\w ]+)/i,
|
|
6127
|
-
/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i
|
|
6128
|
-
],
|
|
6129
|
-
[MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]],
|
|
6130
|
-
[
|
|
6131
|
-
// Nokia
|
|
6132
|
-
/(?:maemo|nokia).*(n900|lumia \d+)/i,
|
|
6133
|
-
/nokia[-_ ]?([-\w\.]*)/i
|
|
6134
|
-
],
|
|
6135
|
-
[[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE, MOBILE]],
|
|
6136
|
-
[
|
|
6137
|
-
// Google
|
|
6138
|
-
/(pixel c)\b/i
|
|
6139
|
-
// Google Pixel C
|
|
6140
|
-
],
|
|
6141
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
6142
|
-
[
|
|
6143
|
-
/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i
|
|
6144
|
-
// Google Pixel
|
|
6145
|
-
],
|
|
6146
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
6147
|
-
[
|
|
6148
|
-
// Sony
|
|
6149
|
-
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
6150
|
-
],
|
|
6151
|
-
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
6152
|
-
[
|
|
6153
|
-
/sony tablet [ps]/i,
|
|
6154
|
-
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
6155
|
-
],
|
|
6156
|
-
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
6157
|
-
[
|
|
6158
|
-
// OnePlus
|
|
6159
|
-
/ (kb2005|in20[12]5|be20[12][59])\b/i,
|
|
6160
|
-
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
6161
|
-
],
|
|
6162
|
-
[MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]],
|
|
6163
|
-
[
|
|
6164
|
-
// Amazon
|
|
6165
|
-
/(alexa)webm/i,
|
|
6166
|
-
/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,
|
|
6167
|
-
// Kindle Fire without Silk / Echo Show
|
|
6168
|
-
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
6169
|
-
// Kindle Fire HD
|
|
6170
|
-
],
|
|
6171
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
6172
|
-
[
|
|
6173
|
-
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
6174
|
-
// Fire Phone
|
|
6175
|
-
],
|
|
6176
|
-
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
6177
|
-
[
|
|
6178
|
-
// BlackBerry
|
|
6179
|
-
/(playbook);[-\w\),; ]+(rim)/i
|
|
6180
|
-
// BlackBerry PlayBook
|
|
6181
|
-
],
|
|
6182
|
-
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
6183
|
-
[
|
|
6184
|
-
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
6185
|
-
/\(bb10; (\w+)/i
|
|
6186
|
-
// BlackBerry 10
|
|
6187
|
-
],
|
|
6188
|
-
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
6189
|
-
[
|
|
6190
|
-
// Asus
|
|
6191
|
-
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
6192
|
-
],
|
|
6193
|
-
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
6194
|
-
[
|
|
6195
|
-
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
6196
|
-
],
|
|
6197
|
-
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
6198
|
-
[
|
|
6199
|
-
// HTC
|
|
6200
|
-
/(nexus 9)/i
|
|
6201
|
-
// HTC Nexus 9
|
|
6202
|
-
],
|
|
6203
|
-
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
6204
|
-
[
|
|
6205
|
-
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
6206
|
-
// HTC
|
|
6207
|
-
// ZTE
|
|
6208
|
-
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
6209
|
-
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
6210
|
-
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
6211
|
-
],
|
|
6212
|
-
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
6213
|
-
[
|
|
6214
|
-
// Acer
|
|
6215
|
-
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
6216
|
-
],
|
|
6217
|
-
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
6218
|
-
[
|
|
6219
|
-
// Meizu
|
|
6220
|
-
/droid.+; (m[1-5] note) bui/i,
|
|
6221
|
-
/\bmz-([-\w]{2,})/i
|
|
6222
|
-
],
|
|
6223
|
-
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
6224
|
-
[
|
|
6225
|
-
// MIXED
|
|
6226
|
-
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,
|
|
6227
|
-
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
|
|
6228
|
-
/(hp) ([\w ]+\w)/i,
|
|
6229
|
-
// HP iPAQ
|
|
6230
|
-
/(asus)-?(\w+)/i,
|
|
6231
|
-
// Asus
|
|
6232
|
-
/(microsoft); (lumia[\w ]+)/i,
|
|
6233
|
-
// Microsoft Lumia
|
|
6234
|
-
/(lenovo)[-_ ]?([-\w]+)/i,
|
|
6235
|
-
// Lenovo
|
|
6236
|
-
/(jolla)/i,
|
|
6237
|
-
// Jolla
|
|
6238
|
-
/(oppo) ?([\w ]+) bui/i
|
|
6239
|
-
// OPPO
|
|
6240
|
-
],
|
|
6241
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6242
|
-
[
|
|
6243
|
-
/(kobo)\s(ereader|touch)/i,
|
|
6244
|
-
// Kobo
|
|
6245
|
-
/(archos) (gamepad2?)/i,
|
|
6246
|
-
// Archos
|
|
6247
|
-
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
6248
|
-
// HP TouchPad
|
|
6249
|
-
/(kindle)\/([\w\.]+)/i,
|
|
6250
|
-
// Kindle
|
|
6251
|
-
/(nook)[\w ]+build\/(\w+)/i,
|
|
6252
|
-
// Nook
|
|
6253
|
-
/(dell) (strea[kpr\d ]*[\dko])/i,
|
|
6254
|
-
// Dell Streak
|
|
6255
|
-
/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,
|
|
6256
|
-
// Le Pan Tablets
|
|
6257
|
-
/(trinity)[- ]*(t\d{3}) bui/i,
|
|
6258
|
-
// Trinity Tablets
|
|
6259
|
-
/(gigaset)[- ]+(q\w{1,9}) bui/i,
|
|
6260
|
-
// Gigaset Tablets
|
|
6261
|
-
/(vodafone) ([\w ]+)(?:\)| bui)/i
|
|
6262
|
-
// Vodafone
|
|
6263
|
-
],
|
|
6264
|
-
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
6265
|
-
[
|
|
6266
|
-
/(surface duo)/i
|
|
6267
|
-
// Surface Duo
|
|
6268
|
-
],
|
|
6269
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
6270
|
-
[
|
|
6271
|
-
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
6272
|
-
// Fairphone
|
|
6273
|
-
],
|
|
6274
|
-
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
6275
|
-
[
|
|
6276
|
-
/(u304aa)/i
|
|
6277
|
-
// AT&T
|
|
6278
|
-
],
|
|
6279
|
-
[MODEL, [VENDOR, "AT&T"], [TYPE, MOBILE]],
|
|
6280
|
-
[
|
|
6281
|
-
/\bsie-(\w*)/i
|
|
6282
|
-
// Siemens
|
|
6283
|
-
],
|
|
6284
|
-
[MODEL, [VENDOR, "Siemens"], [TYPE, MOBILE]],
|
|
6285
|
-
[
|
|
6286
|
-
/\b(rct\w+) b/i
|
|
6287
|
-
// RCA Tablets
|
|
6288
|
-
],
|
|
6289
|
-
[MODEL, [VENDOR, "RCA"], [TYPE, TABLET]],
|
|
6290
|
-
[
|
|
6291
|
-
/\b(venue[\d ]{2,7}) b/i
|
|
6292
|
-
// Dell Venue Tablets
|
|
6293
|
-
],
|
|
6294
|
-
[MODEL, [VENDOR, "Dell"], [TYPE, TABLET]],
|
|
6295
|
-
[
|
|
6296
|
-
/\b(q(?:mv|ta)\w+) b/i
|
|
6297
|
-
// Verizon Tablet
|
|
6298
|
-
],
|
|
6299
|
-
[MODEL, [VENDOR, "Verizon"], [TYPE, TABLET]],
|
|
6300
|
-
[
|
|
6301
|
-
/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i
|
|
6302
|
-
// Barnes & Noble Tablet
|
|
6303
|
-
],
|
|
6304
|
-
[MODEL, [VENDOR, "Barnes & Noble"], [TYPE, TABLET]],
|
|
6305
|
-
[
|
|
6306
|
-
/\b(tm\d{3}\w+) b/i
|
|
6307
|
-
],
|
|
6308
|
-
[MODEL, [VENDOR, "NuVision"], [TYPE, TABLET]],
|
|
6309
|
-
[
|
|
6310
|
-
/\b(k88) b/i
|
|
6311
|
-
// ZTE K Series Tablet
|
|
6312
|
-
],
|
|
6313
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, TABLET]],
|
|
6314
|
-
[
|
|
6315
|
-
/\b(nx\d{3}j) b/i
|
|
6316
|
-
// ZTE Nubia
|
|
6317
|
-
],
|
|
6318
|
-
[MODEL, [VENDOR, "ZTE"], [TYPE, MOBILE]],
|
|
6319
|
-
[
|
|
6320
|
-
/\b(gen\d{3}) b.+49h/i
|
|
6321
|
-
// Swiss GEN Mobile
|
|
6322
|
-
],
|
|
6323
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, MOBILE]],
|
|
6324
|
-
[
|
|
6325
|
-
/\b(zur\d{3}) b/i
|
|
6326
|
-
// Swiss ZUR Tablet
|
|
6327
|
-
],
|
|
6328
|
-
[MODEL, [VENDOR, "Swiss"], [TYPE, TABLET]],
|
|
6329
|
-
[
|
|
6330
|
-
/\b((zeki)?tb.*\b) b/i
|
|
6331
|
-
// Zeki Tablets
|
|
6332
|
-
],
|
|
6333
|
-
[MODEL, [VENDOR, "Zeki"], [TYPE, TABLET]],
|
|
6334
|
-
[
|
|
6335
|
-
/\b([yr]\d{2}) b/i,
|
|
6336
|
-
/\b(dragon[- ]+touch |dt)(\w{5}) b/i
|
|
6337
|
-
// Dragon Touch Tablet
|
|
6338
|
-
],
|
|
6339
|
-
[[VENDOR, "Dragon Touch"], MODEL, [TYPE, TABLET]],
|
|
6340
|
-
[
|
|
6341
|
-
/\b(ns-?\w{0,9}) b/i
|
|
6342
|
-
// Insignia Tablets
|
|
6343
|
-
],
|
|
6344
|
-
[MODEL, [VENDOR, "Insignia"], [TYPE, TABLET]],
|
|
6345
|
-
[
|
|
6346
|
-
/\b((nxa|next)-?\w{0,9}) b/i
|
|
6347
|
-
// NextBook Tablets
|
|
6348
|
-
],
|
|
6349
|
-
[MODEL, [VENDOR, "NextBook"], [TYPE, TABLET]],
|
|
6350
|
-
[
|
|
6351
|
-
/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i
|
|
6352
|
-
// Voice Xtreme Phones
|
|
6353
|
-
],
|
|
6354
|
-
[[VENDOR, "Voice"], MODEL, [TYPE, MOBILE]],
|
|
6355
|
-
[
|
|
6356
|
-
/\b(lvtel\-)?(v1[12]) b/i
|
|
6357
|
-
// LvTel Phones
|
|
6358
|
-
],
|
|
6359
|
-
[[VENDOR, "LvTel"], MODEL, [TYPE, MOBILE]],
|
|
6360
|
-
[
|
|
6361
|
-
/\b(ph-1) /i
|
|
6362
|
-
// Essential PH-1
|
|
6363
|
-
],
|
|
6364
|
-
[MODEL, [VENDOR, "Essential"], [TYPE, MOBILE]],
|
|
6365
|
-
[
|
|
6366
|
-
/\b(v(100md|700na|7011|917g).*\b) b/i
|
|
6367
|
-
// Envizen Tablets
|
|
6368
|
-
],
|
|
6369
|
-
[MODEL, [VENDOR, "Envizen"], [TYPE, TABLET]],
|
|
6370
|
-
[
|
|
6371
|
-
/\b(trio[-\w\. ]+) b/i
|
|
6372
|
-
// MachSpeed Tablets
|
|
6373
|
-
],
|
|
6374
|
-
[MODEL, [VENDOR, "MachSpeed"], [TYPE, TABLET]],
|
|
6375
|
-
[
|
|
6376
|
-
/\btu_(1491) b/i
|
|
6377
|
-
// Rotor Tablets
|
|
6378
|
-
],
|
|
6379
|
-
[MODEL, [VENDOR, "Rotor"], [TYPE, TABLET]],
|
|
6380
|
-
[
|
|
6381
|
-
/(shield[\w ]+) b/i
|
|
6382
|
-
// Nvidia Shield Tablets
|
|
6383
|
-
],
|
|
6384
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, TABLET]],
|
|
6385
|
-
[
|
|
6386
|
-
/(sprint) (\w+)/i
|
|
6387
|
-
// Sprint Phones
|
|
6388
|
-
],
|
|
6389
|
-
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
6390
|
-
[
|
|
6391
|
-
/(kin\.[onetw]{3})/i
|
|
6392
|
-
// Microsoft Kin
|
|
6393
|
-
],
|
|
6394
|
-
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
6395
|
-
[
|
|
6396
|
-
/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
6397
|
-
// Zebra
|
|
6398
|
-
],
|
|
6399
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
6400
|
-
[
|
|
6401
|
-
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
6402
|
-
],
|
|
6403
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
6404
|
-
[
|
|
6405
|
-
///////////////////
|
|
6406
|
-
// SMARTTVS
|
|
6407
|
-
///////////////////
|
|
6408
|
-
/smart-tv.+(samsung)/i
|
|
6409
|
-
// Samsung
|
|
6410
|
-
],
|
|
6411
|
-
[VENDOR, [TYPE, SMARTTV]],
|
|
6412
|
-
[
|
|
6413
|
-
/hbbtv.+maple;(\d+)/i
|
|
6414
|
-
],
|
|
6415
|
-
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
6416
|
-
[
|
|
6417
|
-
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
6418
|
-
// LG SmartTV
|
|
6419
|
-
],
|
|
6420
|
-
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
6421
|
-
[
|
|
6422
|
-
/(apple) ?tv/i
|
|
6423
|
-
// Apple TV
|
|
6424
|
-
],
|
|
6425
|
-
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
6426
|
-
[
|
|
6427
|
-
/crkey/i
|
|
6428
|
-
// Google Chromecast
|
|
6429
|
-
],
|
|
6430
|
-
[[MODEL, CHROME + "cast"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
6431
|
-
[
|
|
6432
|
-
/droid.+aft(\w)( bui|\))/i
|
|
6433
|
-
// Fire TV
|
|
6434
|
-
],
|
|
6435
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
6436
|
-
[
|
|
6437
|
-
/\(dtv[\);].+(aquos)/i,
|
|
6438
|
-
/(aquos-tv[\w ]+)\)/i
|
|
6439
|
-
// Sharp
|
|
6440
|
-
],
|
|
6441
|
-
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
6442
|
-
[
|
|
6443
|
-
/(bravia[\w ]+)( bui|\))/i
|
|
6444
|
-
// Sony
|
|
6445
|
-
],
|
|
6446
|
-
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
6447
|
-
[
|
|
6448
|
-
/(mitv-\w{5}) bui/i
|
|
6449
|
-
// Xiaomi
|
|
6450
|
-
],
|
|
6451
|
-
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
6452
|
-
[
|
|
6453
|
-
/Hbbtv.*(technisat) (.*);/i
|
|
6454
|
-
// TechniSAT
|
|
6455
|
-
],
|
|
6456
|
-
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
6457
|
-
[
|
|
6458
|
-
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
6459
|
-
// Roku
|
|
6460
|
-
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
6461
|
-
// HbbTV devices
|
|
6462
|
-
],
|
|
6463
|
-
[[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]],
|
|
6464
|
-
[
|
|
6465
|
-
/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i
|
|
6466
|
-
// SmartTV from Unidentified Vendors
|
|
6467
|
-
],
|
|
6468
|
-
[[TYPE, SMARTTV]],
|
|
6469
|
-
[
|
|
6470
|
-
///////////////////
|
|
6471
|
-
// CONSOLES
|
|
6472
|
-
///////////////////
|
|
6473
|
-
/(ouya)/i,
|
|
6474
|
-
// Ouya
|
|
6475
|
-
/(nintendo) ([wids3utch]+)/i
|
|
6476
|
-
// Nintendo
|
|
6477
|
-
],
|
|
6478
|
-
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
6479
|
-
[
|
|
6480
|
-
/droid.+; (shield) bui/i
|
|
6481
|
-
// Nvidia
|
|
6482
|
-
],
|
|
6483
|
-
[MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]],
|
|
6484
|
-
[
|
|
6485
|
-
/(playstation [345portablevi]+)/i
|
|
6486
|
-
// Playstation
|
|
6487
|
-
],
|
|
6488
|
-
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
6489
|
-
[
|
|
6490
|
-
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
6491
|
-
// Microsoft Xbox
|
|
6492
|
-
],
|
|
6493
|
-
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
6494
|
-
[
|
|
6495
|
-
///////////////////
|
|
6496
|
-
// WEARABLES
|
|
6497
|
-
///////////////////
|
|
6498
|
-
/((pebble))app/i
|
|
6499
|
-
// Pebble
|
|
6500
|
-
],
|
|
6501
|
-
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
6502
|
-
[
|
|
6503
|
-
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
6504
|
-
// Apple Watch
|
|
6505
|
-
],
|
|
6506
|
-
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
6507
|
-
[
|
|
6508
|
-
/droid.+; (glass) \d/i
|
|
6509
|
-
// Google Glass
|
|
6510
|
-
],
|
|
6511
|
-
[MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]],
|
|
6512
|
-
[
|
|
6513
|
-
/droid.+; (wt63?0{2,3})\)/i
|
|
6514
|
-
],
|
|
6515
|
-
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
6516
|
-
[
|
|
6517
|
-
/(quest( 2| pro)?)/i
|
|
6518
|
-
// Oculus Quest
|
|
6519
|
-
],
|
|
6520
|
-
[MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]],
|
|
6521
|
-
[
|
|
6522
|
-
///////////////////
|
|
6523
|
-
// EMBEDDED
|
|
6524
|
-
///////////////////
|
|
6525
|
-
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
6526
|
-
// Tesla
|
|
6527
|
-
],
|
|
6528
|
-
[VENDOR, [TYPE, EMBEDDED]],
|
|
6529
|
-
[
|
|
6530
|
-
/(aeobc)\b/i
|
|
6531
|
-
// Echo Dot
|
|
6532
|
-
],
|
|
6533
|
-
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
6534
|
-
[
|
|
6535
|
-
////////////////////
|
|
6536
|
-
// MIXED (GENERIC)
|
|
6537
|
-
///////////////////
|
|
6538
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i
|
|
6539
|
-
// Android Phones from Unidentified Vendors
|
|
6540
|
-
],
|
|
6541
|
-
[MODEL, [TYPE, MOBILE]],
|
|
6542
|
-
[
|
|
6543
|
-
/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i
|
|
6544
|
-
// Android Tablets from Unidentified Vendors
|
|
6545
|
-
],
|
|
6546
|
-
[MODEL, [TYPE, TABLET]],
|
|
6547
|
-
[
|
|
6548
|
-
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
6549
|
-
// Unidentifiable Tablet
|
|
6550
|
-
],
|
|
6551
|
-
[[TYPE, TABLET]],
|
|
6552
|
-
[
|
|
6553
|
-
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
6554
|
-
// Unidentifiable Mobile
|
|
6555
|
-
],
|
|
6556
|
-
[[TYPE, MOBILE]],
|
|
6557
|
-
[
|
|
6558
|
-
/(android[-\w\. ]{0,9});.+buil/i
|
|
6559
|
-
// Generic Android Device
|
|
6560
|
-
],
|
|
6561
|
-
[MODEL, [VENDOR, "Generic"]]
|
|
6562
|
-
],
|
|
6563
|
-
engine: [
|
|
6564
|
-
[
|
|
6565
|
-
/windows.+ edge\/([\w\.]+)/i
|
|
6566
|
-
// EdgeHTML
|
|
6567
|
-
],
|
|
6568
|
-
[VERSION, [NAME, EDGE + "HTML"]],
|
|
6569
|
-
[
|
|
6570
|
-
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
6571
|
-
// Blink
|
|
6572
|
-
],
|
|
6573
|
-
[VERSION, [NAME, "Blink"]],
|
|
6574
|
-
[
|
|
6575
|
-
/(presto)\/([\w\.]+)/i,
|
|
6576
|
-
// Presto
|
|
6577
|
-
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,
|
|
6578
|
-
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
|
|
6579
|
-
/ekioh(flow)\/([\w\.]+)/i,
|
|
6580
|
-
// Flow
|
|
6581
|
-
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
6582
|
-
// KHTML/Tasman/Links
|
|
6583
|
-
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
6584
|
-
// iCab
|
|
6585
|
-
/\b(libweb)/i
|
|
6586
|
-
],
|
|
6587
|
-
[NAME, VERSION],
|
|
6588
|
-
[
|
|
6589
|
-
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
6590
|
-
// Gecko
|
|
6591
|
-
],
|
|
6592
|
-
[VERSION, NAME]
|
|
6593
|
-
],
|
|
6594
|
-
os: [
|
|
6595
|
-
[
|
|
6596
|
-
// Windows
|
|
6597
|
-
/microsoft (windows) (vista|xp)/i
|
|
6598
|
-
// Windows (iTunes)
|
|
6599
|
-
],
|
|
6600
|
-
[NAME, VERSION],
|
|
6601
|
-
[
|
|
6602
|
-
/(windows) nt 6\.2; (arm)/i,
|
|
6603
|
-
// Windows RT
|
|
6604
|
-
/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,
|
|
6605
|
-
// Windows Phone
|
|
6606
|
-
/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i
|
|
6607
|
-
],
|
|
6608
|
-
[NAME, [VERSION, strMapper, windowsVersionMap]],
|
|
6609
|
-
[
|
|
6610
|
-
/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i
|
|
6611
|
-
],
|
|
6612
|
-
[[NAME, "Windows"], [VERSION, strMapper, windowsVersionMap]],
|
|
6613
|
-
[
|
|
6614
|
-
// iOS/macOS
|
|
6615
|
-
/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
6616
|
-
// iOS
|
|
6617
|
-
/ios;fbsv\/([\d\.]+)/i,
|
|
6618
|
-
/cfnetwork\/.+darwin/i
|
|
6619
|
-
],
|
|
6620
|
-
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
6621
|
-
[
|
|
6622
|
-
/(mac os x) ?([\w\. ]*)/i,
|
|
6623
|
-
/(macintosh|mac_powerpc\b)(?!.+haiku)/i
|
|
6624
|
-
// Mac OS
|
|
6625
|
-
],
|
|
6626
|
-
[[NAME, MAC_OS], [VERSION, /_/g, "."]],
|
|
6627
|
-
[
|
|
6628
|
-
// Mobile OSes
|
|
6629
|
-
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i
|
|
6630
|
-
// Android-x86/HarmonyOS
|
|
6631
|
-
],
|
|
6632
|
-
[VERSION, NAME],
|
|
6633
|
-
[
|
|
6634
|
-
// Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
|
|
6635
|
-
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
|
|
6636
|
-
/(blackberry)\w*\/([\w\.]*)/i,
|
|
6637
|
-
// Blackberry
|
|
6638
|
-
/(tizen|kaios)[\/ ]([\w\.]+)/i,
|
|
6639
|
-
// Tizen/KaiOS
|
|
6640
|
-
/\((series40);/i
|
|
6641
|
-
// Series 40
|
|
6642
|
-
],
|
|
6643
|
-
[NAME, VERSION],
|
|
6644
|
-
[
|
|
6645
|
-
/\(bb(10);/i
|
|
6646
|
-
// BlackBerry 10
|
|
6647
|
-
],
|
|
6648
|
-
[VERSION, [NAME, BLACKBERRY]],
|
|
6649
|
-
[
|
|
6650
|
-
/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i
|
|
6651
|
-
// Symbian
|
|
6652
|
-
],
|
|
6653
|
-
[VERSION, [NAME, "Symbian"]],
|
|
6654
|
-
[
|
|
6655
|
-
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
6656
|
-
// Firefox OS
|
|
6657
|
-
],
|
|
6658
|
-
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
6659
|
-
[
|
|
6660
|
-
/web0s;.+rt(tv)/i,
|
|
6661
|
-
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i
|
|
6662
|
-
// WebOS
|
|
6663
|
-
],
|
|
6664
|
-
[VERSION, [NAME, "webOS"]],
|
|
6665
|
-
[
|
|
6666
|
-
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
6667
|
-
// watchOS
|
|
6668
|
-
],
|
|
6669
|
-
[VERSION, [NAME, "watchOS"]],
|
|
6670
|
-
[
|
|
6671
|
-
// Google Chromecast
|
|
6672
|
-
/crkey\/([\d\.]+)/i
|
|
6673
|
-
// Google Chromecast
|
|
6674
|
-
],
|
|
6675
|
-
[VERSION, [NAME, CHROME + "cast"]],
|
|
6676
|
-
[
|
|
6677
|
-
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
6678
|
-
// Chromium OS
|
|
6679
|
-
],
|
|
6680
|
-
[[NAME, CHROMIUM_OS], VERSION],
|
|
6681
|
-
[
|
|
6682
|
-
// Smart TVs
|
|
6683
|
-
/panasonic;(viera)/i,
|
|
6684
|
-
// Panasonic Viera
|
|
6685
|
-
/(netrange)mmh/i,
|
|
6686
|
-
// Netrange
|
|
6687
|
-
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
6688
|
-
// NetTV
|
|
6689
|
-
// Console
|
|
6690
|
-
/(nintendo|playstation) ([wids345portablevuch]+)/i,
|
|
6691
|
-
// Nintendo/Playstation
|
|
6692
|
-
/(xbox); +xbox ([^\);]+)/i,
|
|
6693
|
-
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
6694
|
-
// Other
|
|
6695
|
-
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
6696
|
-
// Joli/Palm
|
|
6697
|
-
/(mint)[\/\(\) ]?(\w*)/i,
|
|
6698
|
-
// Mint
|
|
6699
|
-
/(mageia|vectorlinux)[; ]/i,
|
|
6700
|
-
// Mageia/VectorLinux
|
|
6701
|
-
/([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,
|
|
6702
|
-
// Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire
|
|
6703
|
-
/(hurd|linux) ?([\w\.]*)/i,
|
|
6704
|
-
// Hurd/Linux
|
|
6705
|
-
/(gnu) ?([\w\.]*)/i,
|
|
6706
|
-
// GNU
|
|
6707
|
-
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
6708
|
-
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
6709
|
-
/(haiku) (\w+)/i
|
|
6710
|
-
// Haiku
|
|
6711
|
-
],
|
|
6712
|
-
[NAME, VERSION],
|
|
6713
|
-
[
|
|
6714
|
-
/(sunos) ?([\w\.\d]*)/i
|
|
6715
|
-
// Solaris
|
|
6716
|
-
],
|
|
6717
|
-
[[NAME, "Solaris"], VERSION],
|
|
6718
|
-
[
|
|
6719
|
-
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
6720
|
-
// Solaris
|
|
6721
|
-
/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,
|
|
6722
|
-
// AIX
|
|
6723
|
-
/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,
|
|
6724
|
-
// BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS
|
|
6725
|
-
/(unix) ?([\w\.]*)/i
|
|
6726
|
-
// UNIX
|
|
6727
|
-
],
|
|
6728
|
-
[NAME, VERSION]
|
|
6729
|
-
]
|
|
6730
|
-
};
|
|
6731
|
-
var UAParser = function(ua, extensions) {
|
|
6732
|
-
if (typeof ua === OBJ_TYPE) {
|
|
6733
|
-
extensions = ua;
|
|
6734
|
-
ua = undefined2;
|
|
6735
|
-
}
|
|
6736
|
-
if (!(this instanceof UAParser)) {
|
|
6737
|
-
return new UAParser(ua, extensions).getResult();
|
|
6738
|
-
}
|
|
6739
|
-
var _navigator = typeof window2 !== UNDEF_TYPE && window2.navigator ? window2.navigator : undefined2;
|
|
6740
|
-
var _ua = ua || (_navigator && _navigator.userAgent ? _navigator.userAgent : EMPTY);
|
|
6741
|
-
var _uach = _navigator && _navigator.userAgentData ? _navigator.userAgentData : undefined2;
|
|
6742
|
-
var _rgxmap = extensions ? extend(regexes, extensions) : regexes;
|
|
6743
|
-
var _isSelfNav = _navigator && _navigator.userAgent == _ua;
|
|
6744
|
-
this.getBrowser = function() {
|
|
6745
|
-
var _browser = {};
|
|
6746
|
-
_browser[NAME] = undefined2;
|
|
6747
|
-
_browser[VERSION] = undefined2;
|
|
6748
|
-
rgxMapper.call(_browser, _ua, _rgxmap.browser);
|
|
6749
|
-
_browser[MAJOR] = majorize(_browser[VERSION]);
|
|
6750
|
-
if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {
|
|
6751
|
-
_browser[NAME] = "Brave";
|
|
6752
|
-
}
|
|
6753
|
-
return _browser;
|
|
6754
|
-
};
|
|
6755
|
-
this.getCPU = function() {
|
|
6756
|
-
var _cpu = {};
|
|
6757
|
-
_cpu[ARCHITECTURE] = undefined2;
|
|
6758
|
-
rgxMapper.call(_cpu, _ua, _rgxmap.cpu);
|
|
6759
|
-
return _cpu;
|
|
6760
|
-
};
|
|
6761
|
-
this.getDevice = function() {
|
|
6762
|
-
var _device = {};
|
|
6763
|
-
_device[VENDOR] = undefined2;
|
|
6764
|
-
_device[MODEL] = undefined2;
|
|
6765
|
-
_device[TYPE] = undefined2;
|
|
6766
|
-
rgxMapper.call(_device, _ua, _rgxmap.device);
|
|
6767
|
-
if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {
|
|
6768
|
-
_device[TYPE] = MOBILE;
|
|
6769
|
-
}
|
|
6770
|
-
if (_isSelfNav && _device[MODEL] == "Macintosh" && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {
|
|
6771
|
-
_device[MODEL] = "iPad";
|
|
6772
|
-
_device[TYPE] = TABLET;
|
|
6773
|
-
}
|
|
6774
|
-
return _device;
|
|
6775
|
-
};
|
|
6776
|
-
this.getEngine = function() {
|
|
6777
|
-
var _engine = {};
|
|
6778
|
-
_engine[NAME] = undefined2;
|
|
6779
|
-
_engine[VERSION] = undefined2;
|
|
6780
|
-
rgxMapper.call(_engine, _ua, _rgxmap.engine);
|
|
6781
|
-
return _engine;
|
|
6782
|
-
};
|
|
6783
|
-
this.getOS = function() {
|
|
6784
|
-
var _os = {};
|
|
6785
|
-
_os[NAME] = undefined2;
|
|
6786
|
-
_os[VERSION] = undefined2;
|
|
6787
|
-
rgxMapper.call(_os, _ua, _rgxmap.os);
|
|
6788
|
-
if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != "Unknown") {
|
|
6789
|
-
_os[NAME] = _uach.platform.replace(/chrome os/i, CHROMIUM_OS).replace(/macos/i, MAC_OS);
|
|
6790
|
-
}
|
|
6791
|
-
return _os;
|
|
6792
|
-
};
|
|
6793
|
-
this.getResult = function() {
|
|
6794
|
-
return {
|
|
6795
|
-
ua: this.getUA(),
|
|
6796
|
-
browser: this.getBrowser(),
|
|
6797
|
-
engine: this.getEngine(),
|
|
6798
|
-
os: this.getOS(),
|
|
6799
|
-
device: this.getDevice(),
|
|
6800
|
-
cpu: this.getCPU()
|
|
6801
|
-
};
|
|
6802
|
-
};
|
|
6803
|
-
this.getUA = function() {
|
|
6804
|
-
return _ua;
|
|
6805
|
-
};
|
|
6806
|
-
this.setUA = function(ua2) {
|
|
6807
|
-
_ua = typeof ua2 === STR_TYPE && ua2.length > UA_MAX_LENGTH ? trim(ua2, UA_MAX_LENGTH) : ua2;
|
|
6808
|
-
return this;
|
|
6809
|
-
};
|
|
6810
|
-
this.setUA(_ua);
|
|
6811
|
-
return this;
|
|
6812
|
-
};
|
|
6813
|
-
UAParser.VERSION = LIBVERSION;
|
|
6814
|
-
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);
|
|
6815
|
-
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
6816
|
-
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
6817
|
-
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
6818
|
-
if (typeof exports !== UNDEF_TYPE) {
|
|
6819
|
-
if (typeof module2 !== UNDEF_TYPE && module2.exports) {
|
|
6820
|
-
exports = module2.exports = UAParser;
|
|
6821
|
-
}
|
|
6822
|
-
exports.UAParser = UAParser;
|
|
6823
|
-
} else {
|
|
6824
|
-
if (typeof define === FUNC_TYPE && define.amd) {
|
|
6825
|
-
define(function() {
|
|
6826
|
-
return UAParser;
|
|
6827
|
-
});
|
|
6828
|
-
} else if (typeof window2 !== UNDEF_TYPE) {
|
|
6829
|
-
window2.UAParser = UAParser;
|
|
6830
|
-
}
|
|
6831
|
-
}
|
|
6832
|
-
var $ = typeof window2 !== UNDEF_TYPE && (window2.jQuery || window2.Zepto);
|
|
6833
|
-
if ($ && !$.ua) {
|
|
6834
|
-
var parser = new UAParser();
|
|
6835
|
-
$.ua = parser.getResult();
|
|
6836
|
-
$.ua.get = function() {
|
|
6837
|
-
return parser.getUA();
|
|
6838
|
-
};
|
|
6839
|
-
$.ua.set = function(ua) {
|
|
6840
|
-
parser.setUA(ua);
|
|
6841
|
-
var result = parser.getResult();
|
|
6842
|
-
for (var prop in result) {
|
|
6843
|
-
$.ua[prop] = result[prop];
|
|
6844
|
-
}
|
|
6845
|
-
};
|
|
6846
|
-
}
|
|
6847
|
-
})(typeof window === "object" ? window : exports);
|
|
6848
|
-
}
|
|
6849
|
-
});
|
|
6850
|
-
|
|
6851
5597
|
// ../../node_modules/lodash.isequal/index.js
|
|
6852
5598
|
var require_lodash2 = __commonJS({
|
|
6853
5599
|
"../../node_modules/lodash.isequal/index.js"(exports, module2) {
|
|
@@ -8750,13 +7496,13 @@ var require_writer = __commonJS({
|
|
|
8750
7496
|
var i = 1;
|
|
8751
7497
|
var args = arguments;
|
|
8752
7498
|
var len = args.length;
|
|
8753
|
-
return formatStr.replace(formatRegExp, function(
|
|
7499
|
+
return formatStr.replace(formatRegExp, function(x2) {
|
|
8754
7500
|
if (i >= len) {
|
|
8755
|
-
return
|
|
7501
|
+
return x2;
|
|
8756
7502
|
}
|
|
8757
7503
|
var arg = args[i];
|
|
8758
7504
|
i += 1;
|
|
8759
|
-
switch (
|
|
7505
|
+
switch (x2) {
|
|
8760
7506
|
case "%%":
|
|
8761
7507
|
return "%";
|
|
8762
7508
|
case "%s":
|
|
@@ -8886,7 +7632,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8886
7632
|
var t = b2 ? Symbol.for("react.lazy") : 60116;
|
|
8887
7633
|
var v = b2 ? Symbol.for("react.block") : 60121;
|
|
8888
7634
|
var w = b2 ? Symbol.for("react.fundamental") : 60117;
|
|
8889
|
-
var
|
|
7635
|
+
var x2 = b2 ? Symbol.for("react.responder") : 60118;
|
|
8890
7636
|
var y2 = b2 ? Symbol.for("react.scope") : 60119;
|
|
8891
7637
|
function z2(a2) {
|
|
8892
7638
|
if ("object" === typeof a2 && null !== a2) {
|
|
@@ -8972,7 +7718,7 @@ var require_react_is_production_min = __commonJS({
|
|
|
8972
7718
|
return z2(a2) === p;
|
|
8973
7719
|
};
|
|
8974
7720
|
exports.isValidElementType = function(a2) {
|
|
8975
|
-
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof ===
|
|
7721
|
+
return "string" === typeof a2 || "function" === typeof a2 || a2 === e || a2 === m2 || a2 === g || a2 === f || a2 === p || a2 === q || "object" === typeof a2 && null !== a2 && (a2.$$typeof === t || a2.$$typeof === r || a2.$$typeof === h || a2.$$typeof === k2 || a2.$$typeof === n || a2.$$typeof === w || a2.$$typeof === x2 || a2.$$typeof === y2 || a2.$$typeof === v);
|
|
8976
7722
|
};
|
|
8977
7723
|
exports.typeOf = z2;
|
|
8978
7724
|
}
|
|
@@ -9246,7 +7992,7 @@ var require_checkPropTypes = __commonJS({
|
|
|
9246
7992
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9247
7993
|
ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9248
7994
|
loggedTypeFailures = {};
|
|
9249
|
-
|
|
7995
|
+
has2 = require_has();
|
|
9250
7996
|
printWarning = function(text) {
|
|
9251
7997
|
var message = "Warning: " + text;
|
|
9252
7998
|
if (typeof console !== "undefined") {
|
|
@@ -9254,17 +8000,17 @@ var require_checkPropTypes = __commonJS({
|
|
|
9254
8000
|
}
|
|
9255
8001
|
try {
|
|
9256
8002
|
throw new Error(message);
|
|
9257
|
-
} catch (
|
|
8003
|
+
} catch (x2) {
|
|
9258
8004
|
}
|
|
9259
8005
|
};
|
|
9260
8006
|
}
|
|
9261
8007
|
var ReactPropTypesSecret;
|
|
9262
8008
|
var loggedTypeFailures;
|
|
9263
|
-
var
|
|
8009
|
+
var has2;
|
|
9264
8010
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
9265
8011
|
if (define_process_env_default.NODE_ENV !== "production") {
|
|
9266
8012
|
for (var typeSpecName in typeSpecs) {
|
|
9267
|
-
if (
|
|
8013
|
+
if (has2(typeSpecs, typeSpecName)) {
|
|
9268
8014
|
var error;
|
|
9269
8015
|
try {
|
|
9270
8016
|
if (typeof typeSpecs[typeSpecName] !== "function") {
|
|
@@ -9311,7 +8057,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9311
8057
|
var ReactIs = require_react_is();
|
|
9312
8058
|
var assign = require_object_assign();
|
|
9313
8059
|
var ReactPropTypesSecret = require_ReactPropTypesSecret();
|
|
9314
|
-
var
|
|
8060
|
+
var has2 = require_has();
|
|
9315
8061
|
var checkPropTypes = require_checkPropTypes();
|
|
9316
8062
|
var printWarning = function() {
|
|
9317
8063
|
};
|
|
@@ -9323,7 +8069,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9323
8069
|
}
|
|
9324
8070
|
try {
|
|
9325
8071
|
throw new Error(message);
|
|
9326
|
-
} catch (
|
|
8072
|
+
} catch (x2) {
|
|
9327
8073
|
}
|
|
9328
8074
|
};
|
|
9329
8075
|
}
|
|
@@ -9361,11 +8107,11 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9361
8107
|
shape: createShapeTypeChecker,
|
|
9362
8108
|
exact: createStrictShapeTypeChecker
|
|
9363
8109
|
};
|
|
9364
|
-
function
|
|
9365
|
-
if (
|
|
9366
|
-
return
|
|
8110
|
+
function is2(x2, y2) {
|
|
8111
|
+
if (x2 === y2) {
|
|
8112
|
+
return x2 !== 0 || 1 / x2 === 1 / y2;
|
|
9367
8113
|
} else {
|
|
9368
|
-
return
|
|
8114
|
+
return x2 !== x2 && y2 !== y2;
|
|
9369
8115
|
}
|
|
9370
8116
|
}
|
|
9371
8117
|
function PropTypeError(message, data3) {
|
|
@@ -9504,7 +8250,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9504
8250
|
function validate(props, propName, componentName, location, propFullName) {
|
|
9505
8251
|
var propValue = props[propName];
|
|
9506
8252
|
for (var i = 0; i < expectedValues.length; i++) {
|
|
9507
|
-
if (
|
|
8253
|
+
if (is2(propValue, expectedValues[i])) {
|
|
9508
8254
|
return null;
|
|
9509
8255
|
}
|
|
9510
8256
|
}
|
|
@@ -9530,7 +8276,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9530
8276
|
return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
|
|
9531
8277
|
}
|
|
9532
8278
|
for (var key in propValue) {
|
|
9533
|
-
if (
|
|
8279
|
+
if (has2(propValue, key)) {
|
|
9534
8280
|
var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
|
|
9535
8281
|
if (error instanceof Error) {
|
|
9536
8282
|
return error;
|
|
@@ -9563,7 +8309,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9563
8309
|
if (checkerResult == null) {
|
|
9564
8310
|
return null;
|
|
9565
8311
|
}
|
|
9566
|
-
if (checkerResult.data &&
|
|
8312
|
+
if (checkerResult.data && has2(checkerResult.data, "expectedType")) {
|
|
9567
8313
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
9568
8314
|
}
|
|
9569
8315
|
}
|
|
@@ -9617,7 +8363,7 @@ var require_factoryWithTypeCheckers = __commonJS({
|
|
|
9617
8363
|
var allKeys = assign({}, props[propName], shapeTypes);
|
|
9618
8364
|
for (var key in allKeys) {
|
|
9619
8365
|
var checker = shapeTypes[key];
|
|
9620
|
-
if (
|
|
8366
|
+
if (has2(shapeTypes, key) && typeof checker !== "function") {
|
|
9621
8367
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
9622
8368
|
}
|
|
9623
8369
|
if (!checker) {
|
|
@@ -19208,8 +17954,1855 @@ function createSelectorCreator(memoize) {
|
|
|
19208
17954
|
}
|
|
19209
17955
|
var createSelector = createSelectorCreator(defaultMemoize);
|
|
19210
17956
|
|
|
17957
|
+
// ../../node_modules/ua-parser-js/src/main/ua-parser.mjs
|
|
17958
|
+
init_define_process_env();
|
|
17959
|
+
var LIBVERSION = "2.0.6";
|
|
17960
|
+
var UA_MAX_LENGTH = 500;
|
|
17961
|
+
var USER_AGENT = "user-agent";
|
|
17962
|
+
var EMPTY = "";
|
|
17963
|
+
var UNKNOWN = "?";
|
|
17964
|
+
var TYPEOF = {
|
|
17965
|
+
FUNCTION: "function",
|
|
17966
|
+
OBJECT: "object",
|
|
17967
|
+
STRING: "string",
|
|
17968
|
+
UNDEFINED: "undefined"
|
|
17969
|
+
};
|
|
17970
|
+
var BROWSER = "browser";
|
|
17971
|
+
var CPU = "cpu";
|
|
17972
|
+
var DEVICE = "device";
|
|
17973
|
+
var ENGINE = "engine";
|
|
17974
|
+
var OS = "os";
|
|
17975
|
+
var RESULT = "result";
|
|
17976
|
+
var NAME = "name";
|
|
17977
|
+
var TYPE = "type";
|
|
17978
|
+
var VENDOR = "vendor";
|
|
17979
|
+
var VERSION = "version";
|
|
17980
|
+
var ARCHITECTURE = "architecture";
|
|
17981
|
+
var MAJOR = "major";
|
|
17982
|
+
var MODEL = "model";
|
|
17983
|
+
var CONSOLE = "console";
|
|
17984
|
+
var MOBILE = "mobile";
|
|
17985
|
+
var TABLET = "tablet";
|
|
17986
|
+
var SMARTTV = "smarttv";
|
|
17987
|
+
var WEARABLE = "wearable";
|
|
17988
|
+
var XR = "xr";
|
|
17989
|
+
var EMBEDDED = "embedded";
|
|
17990
|
+
var INAPP = "inapp";
|
|
17991
|
+
var BRANDS = "brands";
|
|
17992
|
+
var FORMFACTORS = "formFactors";
|
|
17993
|
+
var FULLVERLIST = "fullVersionList";
|
|
17994
|
+
var PLATFORM = "platform";
|
|
17995
|
+
var PLATFORMVER = "platformVersion";
|
|
17996
|
+
var BITNESS = "bitness";
|
|
17997
|
+
var CH = "sec-ch-ua";
|
|
17998
|
+
var CH_FULL_VER_LIST = CH + "-full-version-list";
|
|
17999
|
+
var CH_ARCH = CH + "-arch";
|
|
18000
|
+
var CH_BITNESS = CH + "-" + BITNESS;
|
|
18001
|
+
var CH_FORM_FACTORS = CH + "-form-factors";
|
|
18002
|
+
var CH_MOBILE = CH + "-" + MOBILE;
|
|
18003
|
+
var CH_MODEL = CH + "-" + MODEL;
|
|
18004
|
+
var CH_PLATFORM = CH + "-" + PLATFORM;
|
|
18005
|
+
var CH_PLATFORM_VER = CH_PLATFORM + "-version";
|
|
18006
|
+
var CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS];
|
|
18007
|
+
var AMAZON = "Amazon";
|
|
18008
|
+
var APPLE = "Apple";
|
|
18009
|
+
var ASUS = "ASUS";
|
|
18010
|
+
var BLACKBERRY = "BlackBerry";
|
|
18011
|
+
var GOOGLE = "Google";
|
|
18012
|
+
var HUAWEI = "Huawei";
|
|
18013
|
+
var LENOVO = "Lenovo";
|
|
18014
|
+
var HONOR = "Honor";
|
|
18015
|
+
var LG = "LG";
|
|
18016
|
+
var MICROSOFT = "Microsoft";
|
|
18017
|
+
var MOTOROLA = "Motorola";
|
|
18018
|
+
var NVIDIA = "Nvidia";
|
|
18019
|
+
var ONEPLUS = "OnePlus";
|
|
18020
|
+
var OPPO = "OPPO";
|
|
18021
|
+
var SAMSUNG = "Samsung";
|
|
18022
|
+
var SHARP = "Sharp";
|
|
18023
|
+
var SONY = "Sony";
|
|
18024
|
+
var XIAOMI = "Xiaomi";
|
|
18025
|
+
var ZEBRA = "Zebra";
|
|
18026
|
+
var CHROME = "Chrome";
|
|
18027
|
+
var CHROMIUM = "Chromium";
|
|
18028
|
+
var CHROMECAST = "Chromecast";
|
|
18029
|
+
var EDGE = "Edge";
|
|
18030
|
+
var FIREFOX = "Firefox";
|
|
18031
|
+
var OPERA = "Opera";
|
|
18032
|
+
var FACEBOOK = "Facebook";
|
|
18033
|
+
var SOGOU = "Sogou";
|
|
18034
|
+
var PREFIX_MOBILE = "Mobile ";
|
|
18035
|
+
var SUFFIX_BROWSER = " Browser";
|
|
18036
|
+
var WINDOWS = "Windows";
|
|
18037
|
+
var isWindow = typeof window !== TYPEOF.UNDEFINED;
|
|
18038
|
+
var NAVIGATOR = isWindow && window.navigator ? window.navigator : void 0;
|
|
18039
|
+
var NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : void 0;
|
|
18040
|
+
var extend = function(defaultRgx, extensions) {
|
|
18041
|
+
var mergedRgx = {};
|
|
18042
|
+
var extraRgx = extensions;
|
|
18043
|
+
if (!isExtensions(extensions)) {
|
|
18044
|
+
extraRgx = {};
|
|
18045
|
+
for (var i in extensions) {
|
|
18046
|
+
for (var j2 in extensions[i]) {
|
|
18047
|
+
extraRgx[j2] = extensions[i][j2].concat(extraRgx[j2] ? extraRgx[j2] : []);
|
|
18048
|
+
}
|
|
18049
|
+
}
|
|
18050
|
+
}
|
|
18051
|
+
for (var k2 in defaultRgx) {
|
|
18052
|
+
mergedRgx[k2] = extraRgx[k2] && extraRgx[k2].length % 2 === 0 ? extraRgx[k2].concat(defaultRgx[k2]) : defaultRgx[k2];
|
|
18053
|
+
}
|
|
18054
|
+
return mergedRgx;
|
|
18055
|
+
};
|
|
18056
|
+
var enumerize = function(arr) {
|
|
18057
|
+
var enums = {};
|
|
18058
|
+
for (var i = 0; i < arr.length; i++) {
|
|
18059
|
+
enums[arr[i].toUpperCase()] = arr[i];
|
|
18060
|
+
}
|
|
18061
|
+
return enums;
|
|
18062
|
+
};
|
|
18063
|
+
var has = function(str1, str2) {
|
|
18064
|
+
if (typeof str1 === TYPEOF.OBJECT && str1.length > 0) {
|
|
18065
|
+
for (var i in str1) {
|
|
18066
|
+
if (lowerize(str2) == lowerize(str1[i]))
|
|
18067
|
+
return true;
|
|
18068
|
+
}
|
|
18069
|
+
return false;
|
|
18070
|
+
}
|
|
18071
|
+
return isString(str1) ? lowerize(str2) == lowerize(str1) : false;
|
|
18072
|
+
};
|
|
18073
|
+
var isExtensions = function(obj, deep) {
|
|
18074
|
+
for (var prop in obj) {
|
|
18075
|
+
return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);
|
|
18076
|
+
}
|
|
18077
|
+
};
|
|
18078
|
+
var isString = function(val) {
|
|
18079
|
+
return typeof val === TYPEOF.STRING;
|
|
18080
|
+
};
|
|
18081
|
+
var itemListToArray = function(header) {
|
|
18082
|
+
if (!header)
|
|
18083
|
+
return void 0;
|
|
18084
|
+
var arr = [];
|
|
18085
|
+
var tokens = strip(/\\?\"/g, header).split(",");
|
|
18086
|
+
for (var i = 0; i < tokens.length; i++) {
|
|
18087
|
+
if (tokens[i].indexOf(";") > -1) {
|
|
18088
|
+
var token = trim(tokens[i]).split(";v=");
|
|
18089
|
+
arr[i] = { brand: token[0], version: token[1] };
|
|
18090
|
+
} else {
|
|
18091
|
+
arr[i] = trim(tokens[i]);
|
|
18092
|
+
}
|
|
18093
|
+
}
|
|
18094
|
+
return arr;
|
|
18095
|
+
};
|
|
18096
|
+
var lowerize = function(str) {
|
|
18097
|
+
return isString(str) ? str.toLowerCase() : str;
|
|
18098
|
+
};
|
|
18099
|
+
var majorize = function(version) {
|
|
18100
|
+
return isString(version) ? strip(/[^\d\.]/g, version).split(".")[0] : void 0;
|
|
18101
|
+
};
|
|
18102
|
+
var setProps = function(arr) {
|
|
18103
|
+
for (var i in arr) {
|
|
18104
|
+
if (!arr.hasOwnProperty(i))
|
|
18105
|
+
continue;
|
|
18106
|
+
var propName = arr[i];
|
|
18107
|
+
if (typeof propName == TYPEOF.OBJECT && propName.length == 2) {
|
|
18108
|
+
this[propName[0]] = propName[1];
|
|
18109
|
+
} else {
|
|
18110
|
+
this[propName] = void 0;
|
|
18111
|
+
}
|
|
18112
|
+
}
|
|
18113
|
+
return this;
|
|
18114
|
+
};
|
|
18115
|
+
var strip = function(pattern, str) {
|
|
18116
|
+
return isString(str) ? str.replace(pattern, EMPTY) : str;
|
|
18117
|
+
};
|
|
18118
|
+
var stripQuotes = function(str) {
|
|
18119
|
+
return strip(/\\?\"/g, str);
|
|
18120
|
+
};
|
|
18121
|
+
var trim = function(str, len) {
|
|
18122
|
+
str = strip(/^\s\s*/, String(str));
|
|
18123
|
+
return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
|
|
18124
|
+
};
|
|
18125
|
+
var rgxMapper = function(ua, arrays) {
|
|
18126
|
+
if (!ua || !arrays)
|
|
18127
|
+
return;
|
|
18128
|
+
var i = 0, j2, k2, p, q, matches, match18;
|
|
18129
|
+
while (i < arrays.length && !matches) {
|
|
18130
|
+
var regex = arrays[i], props = arrays[i + 1];
|
|
18131
|
+
j2 = k2 = 0;
|
|
18132
|
+
while (j2 < regex.length && !matches) {
|
|
18133
|
+
if (!regex[j2]) {
|
|
18134
|
+
break;
|
|
18135
|
+
}
|
|
18136
|
+
matches = regex[j2++].exec(ua);
|
|
18137
|
+
if (!!matches) {
|
|
18138
|
+
for (p = 0; p < props.length; p++) {
|
|
18139
|
+
match18 = matches[++k2];
|
|
18140
|
+
q = props[p];
|
|
18141
|
+
if (typeof q === TYPEOF.OBJECT && q.length > 0) {
|
|
18142
|
+
if (q.length === 2) {
|
|
18143
|
+
if (typeof q[1] == TYPEOF.FUNCTION) {
|
|
18144
|
+
this[q[0]] = q[1].call(this, match18);
|
|
18145
|
+
} else {
|
|
18146
|
+
this[q[0]] = q[1];
|
|
18147
|
+
}
|
|
18148
|
+
} else if (q.length >= 3) {
|
|
18149
|
+
if (typeof q[1] === TYPEOF.FUNCTION && !(q[1].exec && q[1].test)) {
|
|
18150
|
+
if (q.length > 3) {
|
|
18151
|
+
this[q[0]] = match18 ? q[1].apply(this, q.slice(2)) : void 0;
|
|
18152
|
+
} else {
|
|
18153
|
+
this[q[0]] = match18 ? q[1].call(this, match18, q[2]) : void 0;
|
|
18154
|
+
}
|
|
18155
|
+
} else {
|
|
18156
|
+
if (q.length == 3) {
|
|
18157
|
+
this[q[0]] = match18 ? match18.replace(q[1], q[2]) : void 0;
|
|
18158
|
+
} else if (q.length == 4) {
|
|
18159
|
+
this[q[0]] = match18 ? q[3].call(this, match18.replace(q[1], q[2])) : void 0;
|
|
18160
|
+
} else if (q.length > 4) {
|
|
18161
|
+
this[q[0]] = match18 ? q[3].apply(this, [match18.replace(q[1], q[2])].concat(q.slice(4))) : void 0;
|
|
18162
|
+
}
|
|
18163
|
+
}
|
|
18164
|
+
}
|
|
18165
|
+
} else {
|
|
18166
|
+
this[q] = match18 ? match18 : void 0;
|
|
18167
|
+
}
|
|
18168
|
+
}
|
|
18169
|
+
}
|
|
18170
|
+
}
|
|
18171
|
+
i += 2;
|
|
18172
|
+
}
|
|
18173
|
+
};
|
|
18174
|
+
var strMapper = function(str, map) {
|
|
18175
|
+
for (var i in map) {
|
|
18176
|
+
if (typeof map[i] === TYPEOF.OBJECT && map[i].length > 0) {
|
|
18177
|
+
for (var j2 = 0; j2 < map[i].length; j2++) {
|
|
18178
|
+
if (has(map[i][j2], str)) {
|
|
18179
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18180
|
+
}
|
|
18181
|
+
}
|
|
18182
|
+
} else if (has(map[i], str)) {
|
|
18183
|
+
return i === UNKNOWN ? void 0 : i;
|
|
18184
|
+
}
|
|
18185
|
+
}
|
|
18186
|
+
return map.hasOwnProperty("*") ? map["*"] : str;
|
|
18187
|
+
};
|
|
18188
|
+
var windowsVersionMap = {
|
|
18189
|
+
"ME": "4.90",
|
|
18190
|
+
"NT 3.51": "3.51",
|
|
18191
|
+
"NT 4.0": "4.0",
|
|
18192
|
+
"2000": ["5.0", "5.01"],
|
|
18193
|
+
"XP": ["5.1", "5.2"],
|
|
18194
|
+
"Vista": "6.0",
|
|
18195
|
+
"7": "6.1",
|
|
18196
|
+
"8": "6.2",
|
|
18197
|
+
"8.1": "6.3",
|
|
18198
|
+
"10": ["6.4", "10.0"],
|
|
18199
|
+
"NT": ""
|
|
18200
|
+
};
|
|
18201
|
+
var formFactorsMap = {
|
|
18202
|
+
"embedded": "Automotive",
|
|
18203
|
+
"mobile": "Mobile",
|
|
18204
|
+
"tablet": ["Tablet", "EInk"],
|
|
18205
|
+
"smarttv": "TV",
|
|
18206
|
+
"wearable": "Watch",
|
|
18207
|
+
"xr": ["VR", "XR"],
|
|
18208
|
+
"?": ["Desktop", "Unknown"],
|
|
18209
|
+
"*": void 0
|
|
18210
|
+
};
|
|
18211
|
+
var browserHintsMap = {
|
|
18212
|
+
"Chrome": "Google Chrome",
|
|
18213
|
+
"Edge": "Microsoft Edge",
|
|
18214
|
+
"Edge WebView2": "Microsoft Edge WebView2",
|
|
18215
|
+
"Chrome WebView": "Android WebView",
|
|
18216
|
+
"Chrome Headless": "HeadlessChrome",
|
|
18217
|
+
"Huawei Browser": "HuaweiBrowser",
|
|
18218
|
+
"MIUI Browser": "Miui Browser",
|
|
18219
|
+
"Opera Mobi": "OperaMobile",
|
|
18220
|
+
"Yandex": "YaBrowser"
|
|
18221
|
+
};
|
|
18222
|
+
var defaultRegexes = {
|
|
18223
|
+
browser: [
|
|
18224
|
+
[
|
|
18225
|
+
// Most common regardless engine
|
|
18226
|
+
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
18227
|
+
// Chrome for Android/iOS
|
|
18228
|
+
],
|
|
18229
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18230
|
+
[
|
|
18231
|
+
/webview.+edge\/([\w\.]+)/i
|
|
18232
|
+
// Microsoft Edge
|
|
18233
|
+
],
|
|
18234
|
+
[VERSION, [NAME, EDGE + " WebView"]],
|
|
18235
|
+
[
|
|
18236
|
+
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
18237
|
+
],
|
|
18238
|
+
[VERSION, [NAME, "Edge"]],
|
|
18239
|
+
[
|
|
18240
|
+
// Presto based
|
|
18241
|
+
/(opera mini)\/([-\w\.]+)/i,
|
|
18242
|
+
// Opera Mini
|
|
18243
|
+
/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
|
|
18244
|
+
// Opera Mobi/Tablet
|
|
18245
|
+
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
18246
|
+
// Opera
|
|
18247
|
+
],
|
|
18248
|
+
[NAME, VERSION],
|
|
18249
|
+
[
|
|
18250
|
+
/opios[\/ ]+([\w\.]+)/i
|
|
18251
|
+
// Opera mini on iphone >= 8.0
|
|
18252
|
+
],
|
|
18253
|
+
[VERSION, [NAME, OPERA + " Mini"]],
|
|
18254
|
+
[
|
|
18255
|
+
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
18256
|
+
// Opera GX
|
|
18257
|
+
],
|
|
18258
|
+
[VERSION, [NAME, OPERA + " GX"]],
|
|
18259
|
+
[
|
|
18260
|
+
/\bopr\/([\w\.]+)/i
|
|
18261
|
+
// Opera Webkit
|
|
18262
|
+
],
|
|
18263
|
+
[VERSION, [NAME, OPERA]],
|
|
18264
|
+
[
|
|
18265
|
+
// Mixed
|
|
18266
|
+
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
18267
|
+
// Baidu
|
|
18268
|
+
],
|
|
18269
|
+
[VERSION, [NAME, "Baidu"]],
|
|
18270
|
+
[
|
|
18271
|
+
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
18272
|
+
// Maxthon
|
|
18273
|
+
],
|
|
18274
|
+
[VERSION, [NAME, "Maxthon"]],
|
|
18275
|
+
[
|
|
18276
|
+
/(kindle)\/([\w\.]+)/i,
|
|
18277
|
+
// Kindle
|
|
18278
|
+
/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
|
|
18279
|
+
// Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
|
|
18280
|
+
// Trident based
|
|
18281
|
+
/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
|
|
18282
|
+
// Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet
|
|
18283
|
+
/(?:ms|\()(ie) ([\w\.]+)/i,
|
|
18284
|
+
// Internet Explorer
|
|
18285
|
+
// Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble/Palemoon
|
|
18286
|
+
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser|palemoon)\/([-\w\.]+)/i,
|
|
18287
|
+
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon
|
|
18288
|
+
/(heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
|
|
18289
|
+
// HeyTap/Ovi/115/Surf
|
|
18290
|
+
/(qwant)(?:ios|mobile)\/([\d\.]+)/i,
|
|
18291
|
+
// Qwant
|
|
18292
|
+
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
18293
|
+
// Ecosia/Weibo
|
|
18294
|
+
],
|
|
18295
|
+
[NAME, VERSION],
|
|
18296
|
+
[
|
|
18297
|
+
/quark(?:pc)?\/([-\w\.]+)/i
|
|
18298
|
+
// Quark
|
|
18299
|
+
],
|
|
18300
|
+
[VERSION, [NAME, "Quark"]],
|
|
18301
|
+
[
|
|
18302
|
+
/\bddg\/([\w\.]+)/i
|
|
18303
|
+
// DuckDuckGo
|
|
18304
|
+
],
|
|
18305
|
+
[VERSION, [NAME, "DuckDuckGo"]],
|
|
18306
|
+
[
|
|
18307
|
+
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
18308
|
+
// UCBrowser
|
|
18309
|
+
],
|
|
18310
|
+
[VERSION, [NAME, "UCBrowser"]],
|
|
18311
|
+
[
|
|
18312
|
+
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
18313
|
+
// WeChat Desktop for Windows Built-in Browser
|
|
18314
|
+
/\bqbcore\/([\w\.]+).+microm/i,
|
|
18315
|
+
/micromessenger\/([\w\.]+)/i
|
|
18316
|
+
// WeChat
|
|
18317
|
+
],
|
|
18318
|
+
[VERSION, [NAME, "WeChat"]],
|
|
18319
|
+
[
|
|
18320
|
+
/konqueror\/([\w\.]+)/i
|
|
18321
|
+
// Konqueror
|
|
18322
|
+
],
|
|
18323
|
+
[VERSION, [NAME, "Konqueror"]],
|
|
18324
|
+
[
|
|
18325
|
+
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
18326
|
+
// IE11
|
|
18327
|
+
],
|
|
18328
|
+
[VERSION, [NAME, "IE"]],
|
|
18329
|
+
[
|
|
18330
|
+
/ya(?:search)?browser\/([\w\.]+)/i
|
|
18331
|
+
// Yandex
|
|
18332
|
+
],
|
|
18333
|
+
[VERSION, [NAME, "Yandex"]],
|
|
18334
|
+
[
|
|
18335
|
+
/slbrowser\/([\w\.]+)/i
|
|
18336
|
+
// Smart Lenovo Browser
|
|
18337
|
+
],
|
|
18338
|
+
[VERSION, [NAME, "Smart " + LENOVO + SUFFIX_BROWSER]],
|
|
18339
|
+
[
|
|
18340
|
+
/(avast|avg)\/([\w\.]+)/i
|
|
18341
|
+
// Avast/AVG Secure Browser
|
|
18342
|
+
],
|
|
18343
|
+
[[NAME, /(.+)/, "$1 Secure" + SUFFIX_BROWSER], VERSION],
|
|
18344
|
+
[
|
|
18345
|
+
/\bfocus\/([\w\.]+)/i
|
|
18346
|
+
// Firefox Focus
|
|
18347
|
+
],
|
|
18348
|
+
[VERSION, [NAME, FIREFOX + " Focus"]],
|
|
18349
|
+
[
|
|
18350
|
+
/\bopt\/([\w\.]+)/i
|
|
18351
|
+
// Opera Touch
|
|
18352
|
+
],
|
|
18353
|
+
[VERSION, [NAME, OPERA + " Touch"]],
|
|
18354
|
+
[
|
|
18355
|
+
/coc_coc\w+\/([\w\.]+)/i
|
|
18356
|
+
// Coc Coc Browser
|
|
18357
|
+
],
|
|
18358
|
+
[VERSION, [NAME, "Coc Coc"]],
|
|
18359
|
+
[
|
|
18360
|
+
/dolfin\/([\w\.]+)/i
|
|
18361
|
+
// Dolphin
|
|
18362
|
+
],
|
|
18363
|
+
[VERSION, [NAME, "Dolphin"]],
|
|
18364
|
+
[
|
|
18365
|
+
/coast\/([\w\.]+)/i
|
|
18366
|
+
// Opera Coast
|
|
18367
|
+
],
|
|
18368
|
+
[VERSION, [NAME, OPERA + " Coast"]],
|
|
18369
|
+
[
|
|
18370
|
+
/miuibrowser\/([\w\.]+)/i
|
|
18371
|
+
// MIUI Browser
|
|
18372
|
+
],
|
|
18373
|
+
[VERSION, [NAME, "MIUI" + SUFFIX_BROWSER]],
|
|
18374
|
+
[
|
|
18375
|
+
/fxios\/([\w\.-]+)/i
|
|
18376
|
+
// Firefox for iOS
|
|
18377
|
+
],
|
|
18378
|
+
[VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],
|
|
18379
|
+
[
|
|
18380
|
+
/\bqihoobrowser\/?([\w\.]*)/i
|
|
18381
|
+
// 360
|
|
18382
|
+
],
|
|
18383
|
+
[VERSION, [NAME, "360"]],
|
|
18384
|
+
[
|
|
18385
|
+
/\b(qq)\/([\w\.]+)/i
|
|
18386
|
+
// QQ
|
|
18387
|
+
],
|
|
18388
|
+
[[NAME, /(.+)/, "$1Browser"], VERSION],
|
|
18389
|
+
[
|
|
18390
|
+
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
18391
|
+
],
|
|
18392
|
+
[[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION],
|
|
18393
|
+
[
|
|
18394
|
+
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
18395
|
+
/samsungbrowser\/([\w\.]+)/i
|
|
18396
|
+
// Samsung Internet
|
|
18397
|
+
],
|
|
18398
|
+
[VERSION, [NAME, SAMSUNG + " Internet"]],
|
|
18399
|
+
[
|
|
18400
|
+
/metasr[\/ ]?([\d\.]+)/i
|
|
18401
|
+
// Sogou Explorer
|
|
18402
|
+
],
|
|
18403
|
+
[VERSION, [NAME, SOGOU + " Explorer"]],
|
|
18404
|
+
[
|
|
18405
|
+
/(sogou)mo\w+\/([\d\.]+)/i
|
|
18406
|
+
// Sogou Mobile
|
|
18407
|
+
],
|
|
18408
|
+
[[NAME, SOGOU + " Mobile"], VERSION],
|
|
18409
|
+
[
|
|
18410
|
+
/(electron)\/([\w\.]+) safari/i,
|
|
18411
|
+
// Electron-based App
|
|
18412
|
+
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
|
|
18413
|
+
// Tesla
|
|
18414
|
+
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
18415
|
+
// QQ/2345
|
|
18416
|
+
],
|
|
18417
|
+
[NAME, VERSION],
|
|
18418
|
+
[
|
|
18419
|
+
/(lbbrowser|rekonq)/i
|
|
18420
|
+
// LieBao Browser/Rekonq
|
|
18421
|
+
],
|
|
18422
|
+
[NAME],
|
|
18423
|
+
[
|
|
18424
|
+
/ome\/([\w\.]+) \w* ?(iron) saf/i,
|
|
18425
|
+
// Iron
|
|
18426
|
+
/ome\/([\w\.]+).+qihu (360)[es]e/i
|
|
18427
|
+
// 360
|
|
18428
|
+
],
|
|
18429
|
+
[VERSION, NAME],
|
|
18430
|
+
[
|
|
18431
|
+
// WebView
|
|
18432
|
+
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
18433
|
+
// Facebook App for iOS & Android
|
|
18434
|
+
],
|
|
18435
|
+
[[NAME, FACEBOOK], VERSION, [TYPE, INAPP]],
|
|
18436
|
+
[
|
|
18437
|
+
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
18438
|
+
// Kakao App
|
|
18439
|
+
/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
|
|
18440
|
+
// Naver InApp
|
|
18441
|
+
/(daum)apps[\/ ]([\w\.]+)/i,
|
|
18442
|
+
// Daum App
|
|
18443
|
+
/safari (line)\/([\w\.]+)/i,
|
|
18444
|
+
// Line App for iOS
|
|
18445
|
+
/\b(line)\/([\w\.]+)\/iab/i,
|
|
18446
|
+
// Line App for Android
|
|
18447
|
+
/(alipay)client\/([\w\.]+)/i,
|
|
18448
|
+
// Alipay
|
|
18449
|
+
/(twitter)(?:and| f.+e\/([\w\.]+))/i,
|
|
18450
|
+
// Twitter
|
|
18451
|
+
/(bing)(?:web|sapphire)\/([\w\.]+)/i,
|
|
18452
|
+
// Bing
|
|
18453
|
+
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
18454
|
+
// Instagram/Snapchat/Klarna
|
|
18455
|
+
],
|
|
18456
|
+
[NAME, VERSION, [TYPE, INAPP]],
|
|
18457
|
+
[
|
|
18458
|
+
/\bgsa\/([\w\.]+) .*safari\//i
|
|
18459
|
+
// Google Search Appliance on iOS
|
|
18460
|
+
],
|
|
18461
|
+
[VERSION, [NAME, "GSA"], [TYPE, INAPP]],
|
|
18462
|
+
[
|
|
18463
|
+
/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i
|
|
18464
|
+
// TikTok
|
|
18465
|
+
],
|
|
18466
|
+
[VERSION, [NAME, "TikTok"], [TYPE, INAPP]],
|
|
18467
|
+
[
|
|
18468
|
+
/\[(linkedin)app\]/i
|
|
18469
|
+
// LinkedIn App for iOS & Android
|
|
18470
|
+
],
|
|
18471
|
+
[NAME, [TYPE, INAPP]],
|
|
18472
|
+
[
|
|
18473
|
+
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
18474
|
+
// Zalo
|
|
18475
|
+
],
|
|
18476
|
+
[[NAME, /(.+)/, "Zalo"], VERSION, [TYPE, INAPP]],
|
|
18477
|
+
[
|
|
18478
|
+
/(chromium)[\/ ]([-\w\.]+)/i
|
|
18479
|
+
// Chromium
|
|
18480
|
+
],
|
|
18481
|
+
[NAME, VERSION],
|
|
18482
|
+
[
|
|
18483
|
+
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
18484
|
+
// Chrome Headless
|
|
18485
|
+
],
|
|
18486
|
+
[VERSION, [NAME, CHROME + " Headless"]],
|
|
18487
|
+
[
|
|
18488
|
+
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
18489
|
+
// Edge WebView2
|
|
18490
|
+
],
|
|
18491
|
+
[VERSION, [NAME, EDGE + " WebView2"]],
|
|
18492
|
+
[
|
|
18493
|
+
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
18494
|
+
// Chrome WebView
|
|
18495
|
+
],
|
|
18496
|
+
[[NAME, CHROME + " WebView"], VERSION],
|
|
18497
|
+
[
|
|
18498
|
+
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
18499
|
+
// Android Browser
|
|
18500
|
+
],
|
|
18501
|
+
[VERSION, [NAME, "Android" + SUFFIX_BROWSER]],
|
|
18502
|
+
[
|
|
18503
|
+
/chrome\/([\w\.]+) mobile/i
|
|
18504
|
+
// Chrome Mobile
|
|
18505
|
+
],
|
|
18506
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
|
|
18507
|
+
[
|
|
18508
|
+
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
18509
|
+
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
18510
|
+
],
|
|
18511
|
+
[NAME, VERSION],
|
|
18512
|
+
[
|
|
18513
|
+
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
18514
|
+
// Safari Mobile
|
|
18515
|
+
],
|
|
18516
|
+
[VERSION, [NAME, PREFIX_MOBILE + "Safari"]],
|
|
18517
|
+
[
|
|
18518
|
+
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
18519
|
+
],
|
|
18520
|
+
[[NAME, PREFIX_MOBILE + "Safari"]],
|
|
18521
|
+
[
|
|
18522
|
+
/version\/([\w\.\,]+) .*(safari)/i
|
|
18523
|
+
// Safari
|
|
18524
|
+
],
|
|
18525
|
+
[VERSION, NAME],
|
|
18526
|
+
[
|
|
18527
|
+
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
18528
|
+
// Safari < 3.0
|
|
18529
|
+
],
|
|
18530
|
+
[NAME, [VERSION, "1"]],
|
|
18531
|
+
[
|
|
18532
|
+
/(webkit|khtml)\/([\w\.]+)/i
|
|
18533
|
+
],
|
|
18534
|
+
[NAME, VERSION],
|
|
18535
|
+
[
|
|
18536
|
+
// Gecko based
|
|
18537
|
+
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
18538
|
+
// Firefox Mobile
|
|
18539
|
+
],
|
|
18540
|
+
[[NAME, PREFIX_MOBILE + FIREFOX], VERSION],
|
|
18541
|
+
[
|
|
18542
|
+
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
18543
|
+
// Netscape
|
|
18544
|
+
],
|
|
18545
|
+
[[NAME, "Netscape"], VERSION],
|
|
18546
|
+
[
|
|
18547
|
+
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
18548
|
+
// Wolvic/LibreWolf
|
|
18549
|
+
],
|
|
18550
|
+
[NAME, VERSION],
|
|
18551
|
+
[
|
|
18552
|
+
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
18553
|
+
// Firefox Reality
|
|
18554
|
+
],
|
|
18555
|
+
[VERSION, [NAME, FIREFOX + " Reality"]],
|
|
18556
|
+
[
|
|
18557
|
+
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
18558
|
+
// Flow
|
|
18559
|
+
/(swiftfox)/i,
|
|
18560
|
+
// Swiftfox
|
|
18561
|
+
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
|
|
18562
|
+
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
|
|
18563
|
+
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
|
|
18564
|
+
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
|
|
18565
|
+
/(firefox)\/([\w\.]+)/i,
|
|
18566
|
+
// Other Firefox-based
|
|
18567
|
+
/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
|
|
18568
|
+
// Mozilla
|
|
18569
|
+
// Other
|
|
18570
|
+
/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
|
|
18571
|
+
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird
|
|
18572
|
+
/\b(links) \(([\w\.]+)/i
|
|
18573
|
+
// Links
|
|
18574
|
+
],
|
|
18575
|
+
[NAME, [VERSION, /_/g, "."]],
|
|
18576
|
+
[
|
|
18577
|
+
/(cobalt)\/([\w\.]+)/i
|
|
18578
|
+
// Cobalt
|
|
18579
|
+
],
|
|
18580
|
+
[NAME, [VERSION, /[^\d\.]+./, EMPTY]]
|
|
18581
|
+
],
|
|
18582
|
+
cpu: [
|
|
18583
|
+
[
|
|
18584
|
+
/\b((amd|x|x86[-_]?|wow|win)64)\b/i
|
|
18585
|
+
// AMD64 (x64)
|
|
18586
|
+
],
|
|
18587
|
+
[[ARCHITECTURE, "amd64"]],
|
|
18588
|
+
[
|
|
18589
|
+
/(ia32(?=;))/i,
|
|
18590
|
+
// IA32 (quicktime)
|
|
18591
|
+
/\b((i[346]|x)86)(pc)?\b/i
|
|
18592
|
+
// IA32 (x86)
|
|
18593
|
+
],
|
|
18594
|
+
[[ARCHITECTURE, "ia32"]],
|
|
18595
|
+
[
|
|
18596
|
+
/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
|
|
18597
|
+
// ARM64
|
|
18598
|
+
],
|
|
18599
|
+
[[ARCHITECTURE, "arm64"]],
|
|
18600
|
+
[
|
|
18601
|
+
/\b(arm(v[67])?ht?n?[fl]p?)\b/i
|
|
18602
|
+
// ARMHF
|
|
18603
|
+
],
|
|
18604
|
+
[[ARCHITECTURE, "armhf"]],
|
|
18605
|
+
[
|
|
18606
|
+
// PocketPC mistakenly identified as PowerPC
|
|
18607
|
+
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
|
|
18608
|
+
],
|
|
18609
|
+
[[ARCHITECTURE, "arm"]],
|
|
18610
|
+
[
|
|
18611
|
+
/ sun4\w[;\)]/i
|
|
18612
|
+
// SPARC
|
|
18613
|
+
],
|
|
18614
|
+
[[ARCHITECTURE, "sparc"]],
|
|
18615
|
+
[
|
|
18616
|
+
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
18617
|
+
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
|
|
18618
|
+
/((ppc|powerpc)(64)?)( mac|;|\))/i,
|
|
18619
|
+
// PowerPC
|
|
18620
|
+
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
18621
|
+
// Alpha
|
|
18622
|
+
],
|
|
18623
|
+
[[ARCHITECTURE, /ower/, EMPTY, lowerize]],
|
|
18624
|
+
[
|
|
18625
|
+
/mc680.0/i
|
|
18626
|
+
],
|
|
18627
|
+
[[ARCHITECTURE, "68k"]],
|
|
18628
|
+
[
|
|
18629
|
+
/winnt.+\[axp/i
|
|
18630
|
+
],
|
|
18631
|
+
[[ARCHITECTURE, "alpha"]]
|
|
18632
|
+
],
|
|
18633
|
+
device: [
|
|
18634
|
+
[
|
|
18635
|
+
//////////////////////////
|
|
18636
|
+
// MOBILES & TABLETS
|
|
18637
|
+
/////////////////////////
|
|
18638
|
+
// Samsung
|
|
18639
|
+
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
18640
|
+
],
|
|
18641
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]],
|
|
18642
|
+
[
|
|
18643
|
+
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
18644
|
+
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
18645
|
+
/sec-(sgh\w+)/i
|
|
18646
|
+
],
|
|
18647
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]],
|
|
18648
|
+
[
|
|
18649
|
+
// Apple
|
|
18650
|
+
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
18651
|
+
// iPod/iPhone
|
|
18652
|
+
],
|
|
18653
|
+
[MODEL, [VENDOR, APPLE], [TYPE, MOBILE]],
|
|
18654
|
+
[
|
|
18655
|
+
/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,
|
|
18656
|
+
// iPad
|
|
18657
|
+
/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i
|
|
18658
|
+
],
|
|
18659
|
+
[MODEL, [VENDOR, APPLE], [TYPE, TABLET]],
|
|
18660
|
+
[
|
|
18661
|
+
/(macintosh);/i
|
|
18662
|
+
],
|
|
18663
|
+
[MODEL, [VENDOR, APPLE]],
|
|
18664
|
+
[
|
|
18665
|
+
// Sharp
|
|
18666
|
+
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
18667
|
+
],
|
|
18668
|
+
[MODEL, [VENDOR, SHARP], [TYPE, MOBILE]],
|
|
18669
|
+
[
|
|
18670
|
+
// Honor
|
|
18671
|
+
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
18672
|
+
],
|
|
18673
|
+
[MODEL, [VENDOR, HONOR], [TYPE, TABLET]],
|
|
18674
|
+
[
|
|
18675
|
+
/honor([-\w ]+)[;\)]/i
|
|
18676
|
+
],
|
|
18677
|
+
[MODEL, [VENDOR, HONOR], [TYPE, MOBILE]],
|
|
18678
|
+
[
|
|
18679
|
+
// Huawei
|
|
18680
|
+
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
18681
|
+
],
|
|
18682
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]],
|
|
18683
|
+
[
|
|
18684
|
+
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
18685
|
+
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
18686
|
+
],
|
|
18687
|
+
[MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]],
|
|
18688
|
+
[
|
|
18689
|
+
// Xiaomi
|
|
18690
|
+
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
18691
|
+
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
18692
|
+
// Mi Pad tablets
|
|
18693
|
+
],
|
|
18694
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]],
|
|
18695
|
+
[
|
|
18696
|
+
/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,
|
|
18697
|
+
// Xiaomi POCO
|
|
18698
|
+
/\b; (\w+) build\/hm\1/i,
|
|
18699
|
+
// Xiaomi Hongmi 'numeric' models
|
|
18700
|
+
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
|
|
18701
|
+
// Xiaomi Hongmi
|
|
18702
|
+
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,
|
|
18703
|
+
// Xiaomi Redmi
|
|
18704
|
+
/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,
|
|
18705
|
+
// Xiaomi Redmi 'numeric' models
|
|
18706
|
+
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
18707
|
+
// Xiaomi Mi
|
|
18708
|
+
/ ([\w ]+) miui\/v?\d/i
|
|
18709
|
+
],
|
|
18710
|
+
[[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]],
|
|
18711
|
+
[
|
|
18712
|
+
// OnePlus
|
|
18713
|
+
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,
|
|
18714
|
+
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
18715
|
+
],
|
|
18716
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]],
|
|
18717
|
+
[
|
|
18718
|
+
// OPPO
|
|
18719
|
+
/; (\w+) bui.+ oppo/i,
|
|
18720
|
+
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
18721
|
+
],
|
|
18722
|
+
[MODEL, [VENDOR, OPPO], [TYPE, MOBILE]],
|
|
18723
|
+
[
|
|
18724
|
+
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
18725
|
+
],
|
|
18726
|
+
[MODEL, [VENDOR, strMapper, { "OnePlus": ["203", "304", "403", "404", "413", "415"], "*": OPPO }], [TYPE, TABLET]],
|
|
18727
|
+
[
|
|
18728
|
+
// BLU
|
|
18729
|
+
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
18730
|
+
// Vivo series
|
|
18731
|
+
],
|
|
18732
|
+
[MODEL, [VENDOR, "BLU"], [TYPE, MOBILE]],
|
|
18733
|
+
[
|
|
18734
|
+
// Vivo
|
|
18735
|
+
/; vivo (\w+)(?: bui|\))/i,
|
|
18736
|
+
/\b(v[12]\d{3}\w?[at])(?: bui|;)/i
|
|
18737
|
+
],
|
|
18738
|
+
[MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]],
|
|
18739
|
+
[
|
|
18740
|
+
// Realme
|
|
18741
|
+
/\b(rmx[1-3]\d{3})(?: bui|;|\))/i
|
|
18742
|
+
],
|
|
18743
|
+
[MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]],
|
|
18744
|
+
[
|
|
18745
|
+
// Lenovo
|
|
18746
|
+
/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,
|
|
18747
|
+
/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i
|
|
18748
|
+
],
|
|
18749
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, TABLET]],
|
|
18750
|
+
[
|
|
18751
|
+
/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i
|
|
18752
|
+
],
|
|
18753
|
+
[MODEL, [VENDOR, LENOVO], [TYPE, MOBILE]],
|
|
18754
|
+
[
|
|
18755
|
+
// Motorola
|
|
18756
|
+
/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
|
|
18757
|
+
/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
|
|
18758
|
+
/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
|
|
18759
|
+
],
|
|
18760
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]],
|
|
18761
|
+
[
|
|
18762
|
+
/\b(mz60\d|xoom[2 ]{0,2}) build\//i
|
|
18763
|
+
],
|
|
18764
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]],
|
|
18765
|
+
[
|
|
18766
|
+
// LG
|
|
18767
|
+
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
18768
|
+
],
|
|
18769
|
+
[MODEL, [VENDOR, LG], [TYPE, TABLET]],
|
|
18770
|
+
[
|
|
18771
|
+
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
18772
|
+
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
18773
|
+
/\blg-?([\d\w]+) bui/i
|
|
18774
|
+
],
|
|
18775
|
+
[MODEL, [VENDOR, LG], [TYPE, MOBILE]],
|
|
18776
|
+
[
|
|
18777
|
+
// Nokia
|
|
18778
|
+
/(nokia) (t[12][01])/i
|
|
18779
|
+
],
|
|
18780
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18781
|
+
[
|
|
18782
|
+
/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,
|
|
18783
|
+
/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i
|
|
18784
|
+
],
|
|
18785
|
+
[[MODEL, /_/g, " "], [TYPE, MOBILE], [VENDOR, "Nokia"]],
|
|
18786
|
+
[
|
|
18787
|
+
// Google
|
|
18788
|
+
/(pixel (c|tablet))\b/i
|
|
18789
|
+
// Google Pixel C/Tablet
|
|
18790
|
+
],
|
|
18791
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]],
|
|
18792
|
+
[
|
|
18793
|
+
// Google Pixel
|
|
18794
|
+
/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i
|
|
18795
|
+
],
|
|
18796
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]],
|
|
18797
|
+
[
|
|
18798
|
+
/(google) (pixelbook( go)?)/i
|
|
18799
|
+
],
|
|
18800
|
+
[VENDOR, MODEL],
|
|
18801
|
+
[
|
|
18802
|
+
// Sony
|
|
18803
|
+
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
|
|
18804
|
+
],
|
|
18805
|
+
[MODEL, [VENDOR, SONY], [TYPE, MOBILE]],
|
|
18806
|
+
[
|
|
18807
|
+
/sony tablet [ps]/i,
|
|
18808
|
+
/\b(?:sony)?sgp\w+(?: bui|\))/i
|
|
18809
|
+
],
|
|
18810
|
+
[[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]],
|
|
18811
|
+
[
|
|
18812
|
+
// Amazon
|
|
18813
|
+
/(alexa)webm/i,
|
|
18814
|
+
/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
|
|
18815
|
+
// Kindle Fire without Silk / Echo Show
|
|
18816
|
+
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
18817
|
+
// Kindle Fire HD
|
|
18818
|
+
],
|
|
18819
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, TABLET]],
|
|
18820
|
+
[
|
|
18821
|
+
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
18822
|
+
// Fire Phone
|
|
18823
|
+
],
|
|
18824
|
+
[[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]],
|
|
18825
|
+
[
|
|
18826
|
+
// BlackBerry
|
|
18827
|
+
/(playbook);[-\w\),; ]+(rim)/i
|
|
18828
|
+
// BlackBerry PlayBook
|
|
18829
|
+
],
|
|
18830
|
+
[MODEL, VENDOR, [TYPE, TABLET]],
|
|
18831
|
+
[
|
|
18832
|
+
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
18833
|
+
/(?:blackberry|\(bb10;) (\w+)/i
|
|
18834
|
+
],
|
|
18835
|
+
[MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]],
|
|
18836
|
+
[
|
|
18837
|
+
// Asus
|
|
18838
|
+
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
18839
|
+
],
|
|
18840
|
+
[MODEL, [VENDOR, ASUS], [TYPE, TABLET]],
|
|
18841
|
+
[
|
|
18842
|
+
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
18843
|
+
],
|
|
18844
|
+
[MODEL, [VENDOR, ASUS], [TYPE, MOBILE]],
|
|
18845
|
+
[
|
|
18846
|
+
// HTC
|
|
18847
|
+
/(nexus 9)/i
|
|
18848
|
+
// HTC Nexus 9
|
|
18849
|
+
],
|
|
18850
|
+
[MODEL, [VENDOR, "HTC"], [TYPE, TABLET]],
|
|
18851
|
+
[
|
|
18852
|
+
/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
|
|
18853
|
+
// HTC
|
|
18854
|
+
// ZTE
|
|
18855
|
+
/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
|
|
18856
|
+
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
|
|
18857
|
+
// Alcatel/GeeksPhone/Nexian/Panasonic/Sony
|
|
18858
|
+
],
|
|
18859
|
+
[VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]],
|
|
18860
|
+
[
|
|
18861
|
+
// TCL
|
|
18862
|
+
/tcl (xess p17aa)/i,
|
|
18863
|
+
/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i
|
|
18864
|
+
],
|
|
18865
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, TABLET]],
|
|
18866
|
+
[
|
|
18867
|
+
/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i
|
|
18868
|
+
],
|
|
18869
|
+
[MODEL, [VENDOR, "TCL"], [TYPE, MOBILE]],
|
|
18870
|
+
[
|
|
18871
|
+
// itel
|
|
18872
|
+
/(itel) ((\w+))/i
|
|
18873
|
+
],
|
|
18874
|
+
[[VENDOR, lowerize], MODEL, [TYPE, strMapper, { "tablet": ["p10001l", "w7001"], "*": "mobile" }]],
|
|
18875
|
+
[
|
|
18876
|
+
// Acer
|
|
18877
|
+
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
18878
|
+
],
|
|
18879
|
+
[MODEL, [VENDOR, "Acer"], [TYPE, TABLET]],
|
|
18880
|
+
[
|
|
18881
|
+
// Meizu
|
|
18882
|
+
/droid.+; (m[1-5] note) bui/i,
|
|
18883
|
+
/\bmz-([-\w]{2,})/i
|
|
18884
|
+
],
|
|
18885
|
+
[MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]],
|
|
18886
|
+
[
|
|
18887
|
+
// Ulefone
|
|
18888
|
+
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
|
|
18889
|
+
],
|
|
18890
|
+
[MODEL, [VENDOR, "Ulefone"], [TYPE, MOBILE]],
|
|
18891
|
+
[
|
|
18892
|
+
// Energizer
|
|
18893
|
+
/; (energy ?\w+)(?: bui|\))/i,
|
|
18894
|
+
/; energizer ([\w ]+)(?: bui|\))/i
|
|
18895
|
+
],
|
|
18896
|
+
[MODEL, [VENDOR, "Energizer"], [TYPE, MOBILE]],
|
|
18897
|
+
[
|
|
18898
|
+
// Cat
|
|
18899
|
+
/; cat (b35);/i,
|
|
18900
|
+
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
|
|
18901
|
+
],
|
|
18902
|
+
[MODEL, [VENDOR, "Cat"], [TYPE, MOBILE]],
|
|
18903
|
+
[
|
|
18904
|
+
// Smartfren
|
|
18905
|
+
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
|
|
18906
|
+
],
|
|
18907
|
+
[MODEL, [VENDOR, "Smartfren"], [TYPE, MOBILE]],
|
|
18908
|
+
[
|
|
18909
|
+
// Nothing
|
|
18910
|
+
/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i
|
|
18911
|
+
],
|
|
18912
|
+
[MODEL, [VENDOR, "Nothing"], [TYPE, MOBILE]],
|
|
18913
|
+
[
|
|
18914
|
+
// Archos
|
|
18915
|
+
/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,
|
|
18916
|
+
/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i
|
|
18917
|
+
],
|
|
18918
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, TABLET]],
|
|
18919
|
+
[
|
|
18920
|
+
/archos ([\w ]+)( b|\))/i,
|
|
18921
|
+
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
18922
|
+
],
|
|
18923
|
+
[MODEL, [VENDOR, "Archos"], [TYPE, MOBILE]],
|
|
18924
|
+
[
|
|
18925
|
+
// HMD
|
|
18926
|
+
/; (n159v)/i
|
|
18927
|
+
],
|
|
18928
|
+
[MODEL, [VENDOR, "HMD"], [TYPE, MOBILE]],
|
|
18929
|
+
[
|
|
18930
|
+
// MIXED
|
|
18931
|
+
/(imo) (tab \w+)/i,
|
|
18932
|
+
// IMO
|
|
18933
|
+
/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i
|
|
18934
|
+
// Infinix XPad / Tecno
|
|
18935
|
+
],
|
|
18936
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18937
|
+
[
|
|
18938
|
+
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
|
|
18939
|
+
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
|
|
18940
|
+
// BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
|
|
18941
|
+
/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,
|
|
18942
|
+
/(hp) ([\w ]+\w)/i,
|
|
18943
|
+
// HP iPAQ
|
|
18944
|
+
/(microsoft); (lumia[\w ]+)/i,
|
|
18945
|
+
// Microsoft Lumia
|
|
18946
|
+
/(oppo) ?([\w ]+) bui/i,
|
|
18947
|
+
// OPPO
|
|
18948
|
+
/(hisense) ([ehv][\w ]+)\)/i,
|
|
18949
|
+
// Hisense
|
|
18950
|
+
/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
|
|
18951
|
+
// Philips
|
|
18952
|
+
],
|
|
18953
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
18954
|
+
[
|
|
18955
|
+
/(kobo)\s(ereader|touch)/i,
|
|
18956
|
+
// Kobo
|
|
18957
|
+
/(hp).+(touchpad(?!.+tablet)|tablet)/i,
|
|
18958
|
+
// HP TouchPad
|
|
18959
|
+
/(kindle)\/([\w\.]+)/i
|
|
18960
|
+
// Kindle
|
|
18961
|
+
],
|
|
18962
|
+
[VENDOR, MODEL, [TYPE, TABLET]],
|
|
18963
|
+
[
|
|
18964
|
+
/(surface duo)/i
|
|
18965
|
+
// Surface Duo
|
|
18966
|
+
],
|
|
18967
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]],
|
|
18968
|
+
[
|
|
18969
|
+
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
18970
|
+
// Fairphone
|
|
18971
|
+
],
|
|
18972
|
+
[MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]],
|
|
18973
|
+
[
|
|
18974
|
+
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
18975
|
+
// Nvidia Tablets
|
|
18976
|
+
],
|
|
18977
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]],
|
|
18978
|
+
[
|
|
18979
|
+
/(sprint) (\w+)/i
|
|
18980
|
+
// Sprint Phones
|
|
18981
|
+
],
|
|
18982
|
+
[VENDOR, MODEL, [TYPE, MOBILE]],
|
|
18983
|
+
[
|
|
18984
|
+
/(kin\.[onetw]{3})/i
|
|
18985
|
+
// Microsoft Kin
|
|
18986
|
+
],
|
|
18987
|
+
[[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]],
|
|
18988
|
+
[
|
|
18989
|
+
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
18990
|
+
// Zebra
|
|
18991
|
+
],
|
|
18992
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]],
|
|
18993
|
+
[
|
|
18994
|
+
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
18995
|
+
],
|
|
18996
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]],
|
|
18997
|
+
[
|
|
18998
|
+
///////////////////
|
|
18999
|
+
// SMARTTVS
|
|
19000
|
+
///////////////////
|
|
19001
|
+
/(philips)[\w ]+tv/i,
|
|
19002
|
+
// Philips
|
|
19003
|
+
/smart-tv.+(samsung)/i
|
|
19004
|
+
// Samsung
|
|
19005
|
+
],
|
|
19006
|
+
[VENDOR, [TYPE, SMARTTV]],
|
|
19007
|
+
[
|
|
19008
|
+
/hbbtv.+maple;(\d+)/i
|
|
19009
|
+
],
|
|
19010
|
+
[[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]],
|
|
19011
|
+
[
|
|
19012
|
+
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
19013
|
+
// Vizio
|
|
19014
|
+
/tcast.+(lg)e?. ([-\w]+)/i
|
|
19015
|
+
// LG SmartTV
|
|
19016
|
+
],
|
|
19017
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19018
|
+
[
|
|
19019
|
+
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
19020
|
+
],
|
|
19021
|
+
[[VENDOR, LG], [TYPE, SMARTTV]],
|
|
19022
|
+
[
|
|
19023
|
+
/(apple) ?tv/i
|
|
19024
|
+
// Apple TV
|
|
19025
|
+
],
|
|
19026
|
+
[VENDOR, [MODEL, APPLE + " TV"], [TYPE, SMARTTV]],
|
|
19027
|
+
[
|
|
19028
|
+
/crkey.*devicetype\/chromecast/i
|
|
19029
|
+
// Google Chromecast Third Generation
|
|
19030
|
+
],
|
|
19031
|
+
[[MODEL, CHROMECAST + " Third Generation"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19032
|
+
[
|
|
19033
|
+
/crkey.*devicetype\/([^/]*)/i
|
|
19034
|
+
// Google Chromecast with specific device type
|
|
19035
|
+
],
|
|
19036
|
+
[[MODEL, /^/, "Chromecast "], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19037
|
+
[
|
|
19038
|
+
/fuchsia.*crkey/i
|
|
19039
|
+
// Google Chromecast Nest Hub
|
|
19040
|
+
],
|
|
19041
|
+
[[MODEL, CHROMECAST + " Nest Hub"], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19042
|
+
[
|
|
19043
|
+
/crkey/i
|
|
19044
|
+
// Google Chromecast, Linux-based or unknown
|
|
19045
|
+
],
|
|
19046
|
+
[[MODEL, CHROMECAST], [VENDOR, GOOGLE], [TYPE, SMARTTV]],
|
|
19047
|
+
[
|
|
19048
|
+
/(portaltv)/i
|
|
19049
|
+
// Facebook Portal TV
|
|
19050
|
+
],
|
|
19051
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, SMARTTV]],
|
|
19052
|
+
[
|
|
19053
|
+
/droid.+aft(\w+)( bui|\))/i
|
|
19054
|
+
// Fire TV
|
|
19055
|
+
],
|
|
19056
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]],
|
|
19057
|
+
[
|
|
19058
|
+
/(shield \w+ tv)/i
|
|
19059
|
+
// Nvidia Shield TV
|
|
19060
|
+
],
|
|
19061
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]],
|
|
19062
|
+
[
|
|
19063
|
+
/\(dtv[\);].+(aquos)/i,
|
|
19064
|
+
/(aquos-tv[\w ]+)\)/i
|
|
19065
|
+
// Sharp
|
|
19066
|
+
],
|
|
19067
|
+
[MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],
|
|
19068
|
+
[
|
|
19069
|
+
/(bravia[\w ]+)( bui|\))/i
|
|
19070
|
+
// Sony
|
|
19071
|
+
],
|
|
19072
|
+
[MODEL, [VENDOR, SONY], [TYPE, SMARTTV]],
|
|
19073
|
+
[
|
|
19074
|
+
/(mi(tv|box)-?\w+) bui/i
|
|
19075
|
+
// Xiaomi
|
|
19076
|
+
],
|
|
19077
|
+
[MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]],
|
|
19078
|
+
[
|
|
19079
|
+
/Hbbtv.*(technisat) (.*);/i
|
|
19080
|
+
// TechniSAT
|
|
19081
|
+
],
|
|
19082
|
+
[VENDOR, MODEL, [TYPE, SMARTTV]],
|
|
19083
|
+
[
|
|
19084
|
+
/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,
|
|
19085
|
+
// Roku
|
|
19086
|
+
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
19087
|
+
// HbbTV devices
|
|
19088
|
+
],
|
|
19089
|
+
[[VENDOR, /.+\/(\w+)/, "$1", strMapper, { "LG": "lge" }], [MODEL, trim], [TYPE, SMARTTV]],
|
|
19090
|
+
[
|
|
19091
|
+
///////////////////
|
|
19092
|
+
// CONSOLES
|
|
19093
|
+
///////////////////
|
|
19094
|
+
/(playstation \w+)/i
|
|
19095
|
+
// Playstation
|
|
19096
|
+
],
|
|
19097
|
+
[MODEL, [VENDOR, SONY], [TYPE, CONSOLE]],
|
|
19098
|
+
[
|
|
19099
|
+
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
19100
|
+
// Microsoft Xbox
|
|
19101
|
+
],
|
|
19102
|
+
[MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]],
|
|
19103
|
+
[
|
|
19104
|
+
/(ouya)/i,
|
|
19105
|
+
// Ouya
|
|
19106
|
+
/(nintendo) (\w+)/i,
|
|
19107
|
+
// Nintendo
|
|
19108
|
+
/(retroid) (pocket ([^\)]+))/i
|
|
19109
|
+
// Retroid Pocket
|
|
19110
|
+
],
|
|
19111
|
+
[VENDOR, MODEL, [TYPE, CONSOLE]],
|
|
19112
|
+
[
|
|
19113
|
+
/droid.+; (shield)( bui|\))/i
|
|
19114
|
+
// Nvidia Portable
|
|
19115
|
+
],
|
|
19116
|
+
[MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]],
|
|
19117
|
+
[
|
|
19118
|
+
///////////////////
|
|
19119
|
+
// WEARABLES
|
|
19120
|
+
///////////////////
|
|
19121
|
+
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
19122
|
+
// Samsung Galaxy Watch
|
|
19123
|
+
],
|
|
19124
|
+
[MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]],
|
|
19125
|
+
[
|
|
19126
|
+
/((pebble))app/i,
|
|
19127
|
+
// Pebble
|
|
19128
|
+
/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i
|
|
19129
|
+
// Asus ZenWatch / LG Watch / Pixel Watch
|
|
19130
|
+
],
|
|
19131
|
+
[VENDOR, MODEL, [TYPE, WEARABLE]],
|
|
19132
|
+
[
|
|
19133
|
+
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
19134
|
+
// Oppo Watch
|
|
19135
|
+
],
|
|
19136
|
+
[MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]],
|
|
19137
|
+
[
|
|
19138
|
+
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
19139
|
+
// Apple Watch
|
|
19140
|
+
],
|
|
19141
|
+
[MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]],
|
|
19142
|
+
[
|
|
19143
|
+
/(opwwe\d{3})/i
|
|
19144
|
+
// OnePlus Watch
|
|
19145
|
+
],
|
|
19146
|
+
[MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]],
|
|
19147
|
+
[
|
|
19148
|
+
/(moto 360)/i
|
|
19149
|
+
// Motorola 360
|
|
19150
|
+
],
|
|
19151
|
+
[MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]],
|
|
19152
|
+
[
|
|
19153
|
+
/(smartwatch 3)/i
|
|
19154
|
+
// Sony SmartWatch
|
|
19155
|
+
],
|
|
19156
|
+
[MODEL, [VENDOR, SONY], [TYPE, WEARABLE]],
|
|
19157
|
+
[
|
|
19158
|
+
/(g watch r)/i
|
|
19159
|
+
// LG G Watch R
|
|
19160
|
+
],
|
|
19161
|
+
[MODEL, [VENDOR, LG], [TYPE, WEARABLE]],
|
|
19162
|
+
[
|
|
19163
|
+
/droid.+; (wt63?0{2,3})\)/i
|
|
19164
|
+
],
|
|
19165
|
+
[MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]],
|
|
19166
|
+
[
|
|
19167
|
+
///////////////////
|
|
19168
|
+
// XR
|
|
19169
|
+
///////////////////
|
|
19170
|
+
/droid.+; (glass) \d/i
|
|
19171
|
+
// Google Glass
|
|
19172
|
+
],
|
|
19173
|
+
[MODEL, [VENDOR, GOOGLE], [TYPE, XR]],
|
|
19174
|
+
[
|
|
19175
|
+
/(pico) ([\w ]+) os\d/i
|
|
19176
|
+
// Pico
|
|
19177
|
+
],
|
|
19178
|
+
[VENDOR, MODEL, [TYPE, XR]],
|
|
19179
|
+
[
|
|
19180
|
+
/(quest( \d| pro)?s?).+vr/i
|
|
19181
|
+
// Meta Quest
|
|
19182
|
+
],
|
|
19183
|
+
[MODEL, [VENDOR, FACEBOOK], [TYPE, XR]],
|
|
19184
|
+
[
|
|
19185
|
+
/mobile vr; rv.+firefox/i
|
|
19186
|
+
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
19187
|
+
],
|
|
19188
|
+
[[TYPE, XR]],
|
|
19189
|
+
[
|
|
19190
|
+
///////////////////
|
|
19191
|
+
// EMBEDDED
|
|
19192
|
+
///////////////////
|
|
19193
|
+
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
19194
|
+
// Tesla
|
|
19195
|
+
],
|
|
19196
|
+
[VENDOR, [TYPE, EMBEDDED]],
|
|
19197
|
+
[
|
|
19198
|
+
/(aeobc)\b/i
|
|
19199
|
+
// Echo Dot
|
|
19200
|
+
],
|
|
19201
|
+
[MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]],
|
|
19202
|
+
[
|
|
19203
|
+
/(homepod).+mac os/i
|
|
19204
|
+
// Apple HomePod
|
|
19205
|
+
],
|
|
19206
|
+
[MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]],
|
|
19207
|
+
[
|
|
19208
|
+
/windows iot/i
|
|
19209
|
+
// Unidentifiable embedded device using Windows IoT
|
|
19210
|
+
],
|
|
19211
|
+
[[TYPE, EMBEDDED]],
|
|
19212
|
+
[
|
|
19213
|
+
////////////////////
|
|
19214
|
+
// MIXED (GENERIC)
|
|
19215
|
+
///////////////////
|
|
19216
|
+
/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i
|
|
19217
|
+
// Unidentifiable SmartTV
|
|
19218
|
+
],
|
|
19219
|
+
[MODEL, [TYPE, SMARTTV]],
|
|
19220
|
+
[
|
|
19221
|
+
/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i
|
|
19222
|
+
],
|
|
19223
|
+
[[TYPE, SMARTTV]],
|
|
19224
|
+
[
|
|
19225
|
+
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
19226
|
+
],
|
|
19227
|
+
[MODEL, [TYPE, strMapper, { "mobile": "Mobile", "xr": "VR", "*": TABLET }]],
|
|
19228
|
+
[
|
|
19229
|
+
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
19230
|
+
// Unidentifiable Tablet
|
|
19231
|
+
],
|
|
19232
|
+
[[TYPE, TABLET]],
|
|
19233
|
+
[
|
|
19234
|
+
/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i
|
|
19235
|
+
// Unidentifiable Mobile
|
|
19236
|
+
],
|
|
19237
|
+
[[TYPE, MOBILE]],
|
|
19238
|
+
[
|
|
19239
|
+
/droid .+?; ([\w\. -]+)( bui|\))/i
|
|
19240
|
+
// Generic Android Device
|
|
19241
|
+
],
|
|
19242
|
+
[MODEL, [VENDOR, "Generic"]]
|
|
19243
|
+
],
|
|
19244
|
+
engine: [
|
|
19245
|
+
[
|
|
19246
|
+
/windows.+ edge\/([\w\.]+)/i
|
|
19247
|
+
// EdgeHTML
|
|
19248
|
+
],
|
|
19249
|
+
[VERSION, [NAME, EDGE + "HTML"]],
|
|
19250
|
+
[
|
|
19251
|
+
/(arkweb)\/([\w\.]+)/i
|
|
19252
|
+
// ArkWeb
|
|
19253
|
+
],
|
|
19254
|
+
[NAME, VERSION],
|
|
19255
|
+
[
|
|
19256
|
+
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
19257
|
+
// Blink
|
|
19258
|
+
],
|
|
19259
|
+
[VERSION, [NAME, "Blink"]],
|
|
19260
|
+
[
|
|
19261
|
+
/(presto)\/([\w\.]+)/i,
|
|
19262
|
+
// Presto
|
|
19263
|
+
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
|
|
19264
|
+
// WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo
|
|
19265
|
+
/ekioh(flow)\/([\w\.]+)/i,
|
|
19266
|
+
// Flow
|
|
19267
|
+
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,
|
|
19268
|
+
// KHTML/Tasman/Links
|
|
19269
|
+
/(icab)[\/ ]([23]\.[\d\.]+)/i,
|
|
19270
|
+
// iCab
|
|
19271
|
+
/\b(libweb)/i
|
|
19272
|
+
// LibWeb
|
|
19273
|
+
],
|
|
19274
|
+
[NAME, VERSION],
|
|
19275
|
+
[
|
|
19276
|
+
/ladybird\//i
|
|
19277
|
+
],
|
|
19278
|
+
[[NAME, "LibWeb"]],
|
|
19279
|
+
[
|
|
19280
|
+
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
19281
|
+
// Gecko
|
|
19282
|
+
],
|
|
19283
|
+
[VERSION, NAME]
|
|
19284
|
+
],
|
|
19285
|
+
os: [
|
|
19286
|
+
[
|
|
19287
|
+
// Windows
|
|
19288
|
+
/(windows nt) (6\.[23]); arm/i
|
|
19289
|
+
// Windows RT
|
|
19290
|
+
],
|
|
19291
|
+
[[NAME, /N/, "R"], [VERSION, strMapper, windowsVersionMap]],
|
|
19292
|
+
[
|
|
19293
|
+
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
19294
|
+
// Windows IoT/Mobile/Phone
|
|
19295
|
+
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
19296
|
+
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
19297
|
+
],
|
|
19298
|
+
[NAME, VERSION],
|
|
19299
|
+
[
|
|
19300
|
+
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
19301
|
+
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
19302
|
+
],
|
|
19303
|
+
[[VERSION, /(;|\))/g, "", strMapper, windowsVersionMap], [NAME, WINDOWS]],
|
|
19304
|
+
[
|
|
19305
|
+
/(windows ce)\/?([\d\.]*)/i
|
|
19306
|
+
// Windows CE
|
|
19307
|
+
],
|
|
19308
|
+
[NAME, VERSION],
|
|
19309
|
+
[
|
|
19310
|
+
// iOS/macOS
|
|
19311
|
+
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
19312
|
+
// iOS
|
|
19313
|
+
/(?:ios;fbsv|ios(?=.+ip(?:ad|hone))|ip(?:ad|hone)(?: |.+i(?:pad)?)os)[\/ ]([\w\.]+)/i,
|
|
19314
|
+
/cfnetwork\/.+darwin/i
|
|
19315
|
+
],
|
|
19316
|
+
[[VERSION, /_/g, "."], [NAME, "iOS"]],
|
|
19317
|
+
[
|
|
19318
|
+
/(mac os x) ?([\w\. ]*)/i,
|
|
19319
|
+
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
19320
|
+
// Mac OS
|
|
19321
|
+
],
|
|
19322
|
+
[[NAME, "macOS"], [VERSION, /_/g, "."]],
|
|
19323
|
+
[
|
|
19324
|
+
// Google Chromecast
|
|
19325
|
+
/android ([\d\.]+).*crkey/i
|
|
19326
|
+
// Google Chromecast, Android-based
|
|
19327
|
+
],
|
|
19328
|
+
[VERSION, [NAME, CHROMECAST + " Android"]],
|
|
19329
|
+
[
|
|
19330
|
+
/fuchsia.*crkey\/([\d\.]+)/i
|
|
19331
|
+
// Google Chromecast, Fuchsia-based
|
|
19332
|
+
],
|
|
19333
|
+
[VERSION, [NAME, CHROMECAST + " Fuchsia"]],
|
|
19334
|
+
[
|
|
19335
|
+
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
19336
|
+
// Google Chromecast, Linux-based Smart Speaker
|
|
19337
|
+
],
|
|
19338
|
+
[VERSION, [NAME, CHROMECAST + " SmartSpeaker"]],
|
|
19339
|
+
[
|
|
19340
|
+
/linux.*crkey\/([\d\.]+)/i
|
|
19341
|
+
// Google Chromecast, Legacy Linux-based
|
|
19342
|
+
],
|
|
19343
|
+
[VERSION, [NAME, CHROMECAST + " Linux"]],
|
|
19344
|
+
[
|
|
19345
|
+
/crkey\/([\d\.]+)/i
|
|
19346
|
+
// Google Chromecast, unknown
|
|
19347
|
+
],
|
|
19348
|
+
[VERSION, [NAME, CHROMECAST]],
|
|
19349
|
+
[
|
|
19350
|
+
// Mobile OSes
|
|
19351
|
+
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
19352
|
+
// Android-x86
|
|
19353
|
+
],
|
|
19354
|
+
[VERSION, NAME],
|
|
19355
|
+
[
|
|
19356
|
+
/(ubuntu) ([\w\.]+) like android/i
|
|
19357
|
+
// Ubuntu Touch
|
|
19358
|
+
],
|
|
19359
|
+
[[NAME, /(.+)/, "$1 Touch"], VERSION],
|
|
19360
|
+
[
|
|
19361
|
+
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
19362
|
+
// HarmonyOS
|
|
19363
|
+
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
19364
|
+
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
19365
|
+
],
|
|
19366
|
+
[NAME, VERSION],
|
|
19367
|
+
[
|
|
19368
|
+
/\(bb(10);/i
|
|
19369
|
+
// BlackBerry 10
|
|
19370
|
+
],
|
|
19371
|
+
[VERSION, [NAME, BLACKBERRY]],
|
|
19372
|
+
[
|
|
19373
|
+
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
19374
|
+
// Symbian
|
|
19375
|
+
],
|
|
19376
|
+
[VERSION, [NAME, "Symbian"]],
|
|
19377
|
+
[
|
|
19378
|
+
/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i
|
|
19379
|
+
// Firefox OS
|
|
19380
|
+
],
|
|
19381
|
+
[VERSION, [NAME, FIREFOX + " OS"]],
|
|
19382
|
+
[
|
|
19383
|
+
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
19384
|
+
// WebOS
|
|
19385
|
+
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
19386
|
+
],
|
|
19387
|
+
[VERSION, [NAME, "webOS"]],
|
|
19388
|
+
[
|
|
19389
|
+
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
19390
|
+
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
19391
|
+
],
|
|
19392
|
+
[[VERSION, strMapper, { "25": "120", "24": "108", "23": "94", "22": "87", "6": "79", "5": "68", "4": "53", "3": "38", "2": "538", "1": "537", "*": "TV" }], [NAME, "webOS"]],
|
|
19393
|
+
[
|
|
19394
|
+
/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i
|
|
19395
|
+
// watchOS
|
|
19396
|
+
],
|
|
19397
|
+
[VERSION, [NAME, "watchOS"]],
|
|
19398
|
+
[
|
|
19399
|
+
// Google ChromeOS
|
|
19400
|
+
/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
19401
|
+
// Chromium OS
|
|
19402
|
+
],
|
|
19403
|
+
[[NAME, "Chrome OS"], VERSION],
|
|
19404
|
+
[
|
|
19405
|
+
// Smart TVs
|
|
19406
|
+
/panasonic;(viera)/i,
|
|
19407
|
+
// Panasonic Viera
|
|
19408
|
+
/(netrange)mmh/i,
|
|
19409
|
+
// Netrange
|
|
19410
|
+
/(nettv)\/(\d+\.[\w\.]+)/i,
|
|
19411
|
+
// NetTV
|
|
19412
|
+
// Console
|
|
19413
|
+
/(nintendo|playstation) (\w+)/i,
|
|
19414
|
+
// Nintendo/Playstation
|
|
19415
|
+
/(xbox); +xbox ([^\);]+)/i,
|
|
19416
|
+
// Microsoft Xbox (360, One, X, S, Series X, Series S)
|
|
19417
|
+
/(pico) .+os([\w\.]+)/i,
|
|
19418
|
+
// Pico
|
|
19419
|
+
// Other
|
|
19420
|
+
/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
|
|
19421
|
+
// Joli/Palm
|
|
19422
|
+
/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
|
|
19423
|
+
// Mint
|
|
19424
|
+
/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
|
|
19425
|
+
// Mageia/VectorLinux/Fuchsia/ArcaOS/Arch
|
|
19426
|
+
/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,
|
|
19427
|
+
// Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix
|
|
19428
|
+
/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
|
|
19429
|
+
// Solaris
|
|
19430
|
+
/\b(aix)[; ]([1-9\.]{0,4})/i,
|
|
19431
|
+
// AIX
|
|
19432
|
+
/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
|
|
19433
|
+
// Hurd/Linux/MorphOS
|
|
19434
|
+
/(gnu) ?([\w\.]*)/i,
|
|
19435
|
+
// GNU
|
|
19436
|
+
/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
|
|
19437
|
+
// FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly
|
|
19438
|
+
/(haiku) ?(r\d)?/i
|
|
19439
|
+
// Haiku
|
|
19440
|
+
],
|
|
19441
|
+
[NAME, VERSION],
|
|
19442
|
+
[
|
|
19443
|
+
/(sunos) ?([\d\.]*)/i
|
|
19444
|
+
// Solaris
|
|
19445
|
+
],
|
|
19446
|
+
[[NAME, "Solaris"], VERSION],
|
|
19447
|
+
[
|
|
19448
|
+
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
19449
|
+
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
19450
|
+
/(unix) ?([\w\.]*)/i
|
|
19451
|
+
// UNIX
|
|
19452
|
+
],
|
|
19453
|
+
[NAME, VERSION]
|
|
19454
|
+
]
|
|
19455
|
+
};
|
|
19456
|
+
var defaultProps = function() {
|
|
19457
|
+
var props = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
19458
|
+
setProps.call(props.init, [
|
|
19459
|
+
[BROWSER, [NAME, VERSION, MAJOR, TYPE]],
|
|
19460
|
+
[CPU, [ARCHITECTURE]],
|
|
19461
|
+
[DEVICE, [TYPE, MODEL, VENDOR]],
|
|
19462
|
+
[ENGINE, [NAME, VERSION]],
|
|
19463
|
+
[OS, [NAME, VERSION]]
|
|
19464
|
+
]);
|
|
19465
|
+
setProps.call(props.isIgnore, [
|
|
19466
|
+
[BROWSER, [VERSION, MAJOR]],
|
|
19467
|
+
[ENGINE, [VERSION]],
|
|
19468
|
+
[OS, [VERSION]]
|
|
19469
|
+
]);
|
|
19470
|
+
setProps.call(props.isIgnoreRgx, [
|
|
19471
|
+
[BROWSER, / ?browser$/i],
|
|
19472
|
+
[OS, / ?os$/i]
|
|
19473
|
+
]);
|
|
19474
|
+
setProps.call(props.toString, [
|
|
19475
|
+
[BROWSER, [NAME, VERSION]],
|
|
19476
|
+
[CPU, [ARCHITECTURE]],
|
|
19477
|
+
[DEVICE, [VENDOR, MODEL]],
|
|
19478
|
+
[ENGINE, [NAME, VERSION]],
|
|
19479
|
+
[OS, [NAME, VERSION]]
|
|
19480
|
+
]);
|
|
19481
|
+
return props;
|
|
19482
|
+
}();
|
|
19483
|
+
var createIData = function(item, itemType) {
|
|
19484
|
+
var init_props = defaultProps.init[itemType], is_ignoreProps = defaultProps.isIgnore[itemType] || 0, is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0, toString_props = defaultProps.toString[itemType] || 0;
|
|
19485
|
+
function IData() {
|
|
19486
|
+
setProps.call(this, init_props);
|
|
19487
|
+
}
|
|
19488
|
+
IData.prototype.getItem = function() {
|
|
19489
|
+
return item;
|
|
19490
|
+
};
|
|
19491
|
+
IData.prototype.withClientHints = function() {
|
|
19492
|
+
if (!NAVIGATOR_UADATA) {
|
|
19493
|
+
return item.parseCH().get();
|
|
19494
|
+
}
|
|
19495
|
+
return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function(res) {
|
|
19496
|
+
return item.setCH(new UACHData(res, false)).parseCH().get();
|
|
19497
|
+
});
|
|
19498
|
+
};
|
|
19499
|
+
IData.prototype.withFeatureCheck = function() {
|
|
19500
|
+
return item.detectFeature().get();
|
|
19501
|
+
};
|
|
19502
|
+
if (itemType != RESULT) {
|
|
19503
|
+
IData.prototype.is = function(strToCheck) {
|
|
19504
|
+
var is2 = false;
|
|
19505
|
+
for (var i in this) {
|
|
19506
|
+
if (this.hasOwnProperty(i) && !has(is_ignoreProps, i) && lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) == lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)) {
|
|
19507
|
+
is2 = true;
|
|
19508
|
+
if (strToCheck != TYPEOF.UNDEFINED)
|
|
19509
|
+
break;
|
|
19510
|
+
} else if (strToCheck == TYPEOF.UNDEFINED && is2) {
|
|
19511
|
+
is2 = !is2;
|
|
19512
|
+
break;
|
|
19513
|
+
}
|
|
19514
|
+
}
|
|
19515
|
+
return is2;
|
|
19516
|
+
};
|
|
19517
|
+
IData.prototype.toString = function() {
|
|
19518
|
+
var str = EMPTY;
|
|
19519
|
+
for (var i in toString_props) {
|
|
19520
|
+
if (typeof this[toString_props[i]] !== TYPEOF.UNDEFINED) {
|
|
19521
|
+
str += (str ? " " : EMPTY) + this[toString_props[i]];
|
|
19522
|
+
}
|
|
19523
|
+
}
|
|
19524
|
+
return str || TYPEOF.UNDEFINED;
|
|
19525
|
+
};
|
|
19526
|
+
}
|
|
19527
|
+
if (!NAVIGATOR_UADATA) {
|
|
19528
|
+
IData.prototype.then = function(cb) {
|
|
19529
|
+
var that = this;
|
|
19530
|
+
var IDataResolve = function() {
|
|
19531
|
+
for (var prop in that) {
|
|
19532
|
+
if (that.hasOwnProperty(prop)) {
|
|
19533
|
+
this[prop] = that[prop];
|
|
19534
|
+
}
|
|
19535
|
+
}
|
|
19536
|
+
};
|
|
19537
|
+
IDataResolve.prototype = {
|
|
19538
|
+
is: IData.prototype.is,
|
|
19539
|
+
toString: IData.prototype.toString
|
|
19540
|
+
};
|
|
19541
|
+
var resolveData = new IDataResolve();
|
|
19542
|
+
cb(resolveData);
|
|
19543
|
+
return resolveData;
|
|
19544
|
+
};
|
|
19545
|
+
}
|
|
19546
|
+
return new IData();
|
|
19547
|
+
};
|
|
19548
|
+
function UACHData(uach, isHttpUACH) {
|
|
19549
|
+
uach = uach || {};
|
|
19550
|
+
setProps.call(this, CH_ALL_VALUES);
|
|
19551
|
+
if (isHttpUACH) {
|
|
19552
|
+
setProps.call(this, [
|
|
19553
|
+
[BRANDS, itemListToArray(uach[CH])],
|
|
19554
|
+
[FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
|
|
19555
|
+
[MOBILE, /\?1/.test(uach[CH_MOBILE])],
|
|
19556
|
+
[MODEL, stripQuotes(uach[CH_MODEL])],
|
|
19557
|
+
[PLATFORM, stripQuotes(uach[CH_PLATFORM])],
|
|
19558
|
+
[PLATFORMVER, stripQuotes(uach[CH_PLATFORM_VER])],
|
|
19559
|
+
[ARCHITECTURE, stripQuotes(uach[CH_ARCH])],
|
|
19560
|
+
[FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
|
|
19561
|
+
[BITNESS, stripQuotes(uach[CH_BITNESS])]
|
|
19562
|
+
]);
|
|
19563
|
+
} else {
|
|
19564
|
+
for (var prop in uach) {
|
|
19565
|
+
if (this.hasOwnProperty(prop) && typeof uach[prop] !== TYPEOF.UNDEFINED)
|
|
19566
|
+
this[prop] = uach[prop];
|
|
19567
|
+
}
|
|
19568
|
+
}
|
|
19569
|
+
}
|
|
19570
|
+
function UAItem(itemType, ua, rgxMap, uaCH) {
|
|
19571
|
+
this.get = function(prop) {
|
|
19572
|
+
if (!prop)
|
|
19573
|
+
return this.data;
|
|
19574
|
+
return this.data.hasOwnProperty(prop) ? this.data[prop] : void 0;
|
|
19575
|
+
};
|
|
19576
|
+
this.set = function(prop, val) {
|
|
19577
|
+
this.data[prop] = val;
|
|
19578
|
+
return this;
|
|
19579
|
+
};
|
|
19580
|
+
this.setCH = function(ch) {
|
|
19581
|
+
this.uaCH = ch;
|
|
19582
|
+
return this;
|
|
19583
|
+
};
|
|
19584
|
+
this.detectFeature = function() {
|
|
19585
|
+
if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {
|
|
19586
|
+
switch (this.itemType) {
|
|
19587
|
+
case BROWSER:
|
|
19588
|
+
if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == TYPEOF.FUNCTION) {
|
|
19589
|
+
this.set(NAME, "Brave");
|
|
19590
|
+
}
|
|
19591
|
+
break;
|
|
19592
|
+
case DEVICE:
|
|
19593
|
+
if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {
|
|
19594
|
+
this.set(TYPE, MOBILE);
|
|
19595
|
+
}
|
|
19596
|
+
if (this.get(MODEL) == "Macintosh" && NAVIGATOR && typeof NAVIGATOR.standalone !== TYPEOF.UNDEFINED && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) {
|
|
19597
|
+
this.set(MODEL, "iPad").set(TYPE, TABLET);
|
|
19598
|
+
}
|
|
19599
|
+
break;
|
|
19600
|
+
case OS:
|
|
19601
|
+
if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {
|
|
19602
|
+
this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
|
|
19603
|
+
}
|
|
19604
|
+
break;
|
|
19605
|
+
case RESULT:
|
|
19606
|
+
var data3 = this.data;
|
|
19607
|
+
var detect = function(itemType2) {
|
|
19608
|
+
return data3[itemType2].getItem().detectFeature().get();
|
|
19609
|
+
};
|
|
19610
|
+
this.set(BROWSER, detect(BROWSER)).set(CPU, detect(CPU)).set(DEVICE, detect(DEVICE)).set(ENGINE, detect(ENGINE)).set(OS, detect(OS));
|
|
19611
|
+
}
|
|
19612
|
+
}
|
|
19613
|
+
return this;
|
|
19614
|
+
};
|
|
19615
|
+
this.parseUA = function() {
|
|
19616
|
+
if (this.itemType != RESULT) {
|
|
19617
|
+
rgxMapper.call(this.data, this.ua, this.rgxMap);
|
|
19618
|
+
}
|
|
19619
|
+
switch (this.itemType) {
|
|
19620
|
+
case BROWSER:
|
|
19621
|
+
this.set(MAJOR, majorize(this.get(VERSION)));
|
|
19622
|
+
break;
|
|
19623
|
+
case OS:
|
|
19624
|
+
if (this.get(NAME) == "iOS" && this.get(VERSION) == "18.6") {
|
|
19625
|
+
var realVersion = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
19626
|
+
if (realVersion && parseInt(realVersion[1].substring(0, 2), 10) >= 26) {
|
|
19627
|
+
this.set(VERSION, realVersion[1]);
|
|
19628
|
+
}
|
|
19629
|
+
}
|
|
19630
|
+
break;
|
|
19631
|
+
}
|
|
19632
|
+
return this;
|
|
19633
|
+
};
|
|
19634
|
+
this.parseCH = function() {
|
|
19635
|
+
var uaCH2 = this.uaCH, rgxMap2 = this.rgxMap;
|
|
19636
|
+
switch (this.itemType) {
|
|
19637
|
+
case BROWSER:
|
|
19638
|
+
case ENGINE:
|
|
19639
|
+
var brands = uaCH2[FULLVERLIST] || uaCH2[BRANDS], prevName;
|
|
19640
|
+
if (brands) {
|
|
19641
|
+
for (var i = 0; i < brands.length; i++) {
|
|
19642
|
+
var brandName = brands[i].brand || brands[i], brandVersion = brands[i].version;
|
|
19643
|
+
if (this.itemType == BROWSER && !/not.a.brand/i.test(brandName) && (!prevName || /Chrom/.test(prevName) && brandName != CHROMIUM || prevName == EDGE && /WebView2/.test(brandName))) {
|
|
19644
|
+
brandName = strMapper(brandName, browserHintsMap);
|
|
19645
|
+
prevName = this.get(NAME);
|
|
19646
|
+
if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) {
|
|
19647
|
+
this.set(NAME, brandName).set(VERSION, brandVersion).set(MAJOR, majorize(brandVersion));
|
|
19648
|
+
}
|
|
19649
|
+
prevName = brandName;
|
|
19650
|
+
}
|
|
19651
|
+
if (this.itemType == ENGINE && brandName == CHROMIUM) {
|
|
19652
|
+
this.set(VERSION, brandVersion);
|
|
19653
|
+
}
|
|
19654
|
+
}
|
|
19655
|
+
}
|
|
19656
|
+
break;
|
|
19657
|
+
case CPU:
|
|
19658
|
+
var archName = uaCH2[ARCHITECTURE];
|
|
19659
|
+
if (archName) {
|
|
19660
|
+
if (archName && uaCH2[BITNESS] == "64")
|
|
19661
|
+
archName += "64";
|
|
19662
|
+
rgxMapper.call(this.data, archName + ";", rgxMap2);
|
|
19663
|
+
}
|
|
19664
|
+
break;
|
|
19665
|
+
case DEVICE:
|
|
19666
|
+
if (uaCH2[MOBILE]) {
|
|
19667
|
+
this.set(TYPE, MOBILE);
|
|
19668
|
+
}
|
|
19669
|
+
if (uaCH2[MODEL]) {
|
|
19670
|
+
this.set(MODEL, uaCH2[MODEL]);
|
|
19671
|
+
if (!this.get(TYPE) || !this.get(VENDOR)) {
|
|
19672
|
+
var reParse = {};
|
|
19673
|
+
rgxMapper.call(reParse, "droid 9; " + uaCH2[MODEL] + ")", rgxMap2);
|
|
19674
|
+
if (!this.get(TYPE) && !!reParse.type) {
|
|
19675
|
+
this.set(TYPE, reParse.type);
|
|
19676
|
+
}
|
|
19677
|
+
if (!this.get(VENDOR) && !!reParse.vendor) {
|
|
19678
|
+
this.set(VENDOR, reParse.vendor);
|
|
19679
|
+
}
|
|
19680
|
+
}
|
|
19681
|
+
}
|
|
19682
|
+
if (uaCH2[FORMFACTORS]) {
|
|
19683
|
+
var ff;
|
|
19684
|
+
if (typeof uaCH2[FORMFACTORS] !== "string") {
|
|
19685
|
+
var idx = 0;
|
|
19686
|
+
while (!ff && idx < uaCH2[FORMFACTORS].length) {
|
|
19687
|
+
ff = strMapper(uaCH2[FORMFACTORS][idx++], formFactorsMap);
|
|
19688
|
+
}
|
|
19689
|
+
} else {
|
|
19690
|
+
ff = strMapper(uaCH2[FORMFACTORS], formFactorsMap);
|
|
19691
|
+
}
|
|
19692
|
+
this.set(TYPE, ff);
|
|
19693
|
+
}
|
|
19694
|
+
break;
|
|
19695
|
+
case OS:
|
|
19696
|
+
var osName = uaCH2[PLATFORM];
|
|
19697
|
+
if (osName) {
|
|
19698
|
+
var osVersion = uaCH2[PLATFORMVER];
|
|
19699
|
+
if (osName == WINDOWS)
|
|
19700
|
+
osVersion = parseInt(majorize(osVersion), 10) >= 13 ? "11" : "10";
|
|
19701
|
+
this.set(NAME, osName).set(VERSION, osVersion);
|
|
19702
|
+
}
|
|
19703
|
+
if (this.get(NAME) == WINDOWS && uaCH2[MODEL] == "Xbox") {
|
|
19704
|
+
this.set(NAME, "Xbox").set(VERSION, void 0);
|
|
19705
|
+
}
|
|
19706
|
+
break;
|
|
19707
|
+
case RESULT:
|
|
19708
|
+
var data3 = this.data;
|
|
19709
|
+
var parse2 = function(itemType2) {
|
|
19710
|
+
return data3[itemType2].getItem().setCH(uaCH2).parseCH().get();
|
|
19711
|
+
};
|
|
19712
|
+
this.set(BROWSER, parse2(BROWSER)).set(CPU, parse2(CPU)).set(DEVICE, parse2(DEVICE)).set(ENGINE, parse2(ENGINE)).set(OS, parse2(OS));
|
|
19713
|
+
}
|
|
19714
|
+
return this;
|
|
19715
|
+
};
|
|
19716
|
+
setProps.call(this, [
|
|
19717
|
+
["itemType", itemType],
|
|
19718
|
+
["ua", ua],
|
|
19719
|
+
["uaCH", uaCH],
|
|
19720
|
+
["rgxMap", rgxMap],
|
|
19721
|
+
["data", createIData(this, itemType)]
|
|
19722
|
+
]);
|
|
19723
|
+
return this;
|
|
19724
|
+
}
|
|
19725
|
+
function UAParser(ua, extensions, headers) {
|
|
19726
|
+
if (typeof ua === TYPEOF.OBJECT) {
|
|
19727
|
+
if (isExtensions(ua, true)) {
|
|
19728
|
+
if (typeof extensions === TYPEOF.OBJECT) {
|
|
19729
|
+
headers = extensions;
|
|
19730
|
+
}
|
|
19731
|
+
extensions = ua;
|
|
19732
|
+
} else {
|
|
19733
|
+
headers = ua;
|
|
19734
|
+
extensions = void 0;
|
|
19735
|
+
}
|
|
19736
|
+
ua = void 0;
|
|
19737
|
+
} else if (typeof ua === TYPEOF.STRING && !isExtensions(extensions, true)) {
|
|
19738
|
+
headers = extensions;
|
|
19739
|
+
extensions = void 0;
|
|
19740
|
+
}
|
|
19741
|
+
if (headers) {
|
|
19742
|
+
if (typeof headers.append === TYPEOF.FUNCTION) {
|
|
19743
|
+
var kv = {};
|
|
19744
|
+
headers.forEach(function(v, k2) {
|
|
19745
|
+
kv[String(k2).toLowerCase()] = v;
|
|
19746
|
+
});
|
|
19747
|
+
headers = kv;
|
|
19748
|
+
} else {
|
|
19749
|
+
var normalized = {};
|
|
19750
|
+
for (var header in headers) {
|
|
19751
|
+
if (headers.hasOwnProperty(header)) {
|
|
19752
|
+
normalized[String(header).toLowerCase()] = headers[header];
|
|
19753
|
+
}
|
|
19754
|
+
}
|
|
19755
|
+
headers = normalized;
|
|
19756
|
+
}
|
|
19757
|
+
}
|
|
19758
|
+
if (!(this instanceof UAParser)) {
|
|
19759
|
+
return new UAParser(ua, extensions, headers).getResult();
|
|
19760
|
+
}
|
|
19761
|
+
var userAgent = typeof ua === TYPEOF.STRING ? ua : (
|
|
19762
|
+
// Passed user-agent string
|
|
19763
|
+
headers && headers[USER_AGENT] ? headers[USER_AGENT] : (
|
|
19764
|
+
// User-Agent from passed headers
|
|
19765
|
+
NAVIGATOR && NAVIGATOR.userAgent ? NAVIGATOR.userAgent : (
|
|
19766
|
+
// navigator.userAgent
|
|
19767
|
+
EMPTY
|
|
19768
|
+
)
|
|
19769
|
+
)
|
|
19770
|
+
), httpUACH = new UACHData(headers, true), regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes, createItemFunc = function(itemType) {
|
|
19771
|
+
if (itemType == RESULT) {
|
|
19772
|
+
return function() {
|
|
19773
|
+
return new UAItem(itemType, userAgent, regexMap, httpUACH).set("ua", userAgent).set(BROWSER, this.getBrowser()).set(CPU, this.getCPU()).set(DEVICE, this.getDevice()).set(ENGINE, this.getEngine()).set(OS, this.getOS()).get();
|
|
19774
|
+
};
|
|
19775
|
+
} else {
|
|
19776
|
+
return function() {
|
|
19777
|
+
return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();
|
|
19778
|
+
};
|
|
19779
|
+
}
|
|
19780
|
+
};
|
|
19781
|
+
setProps.call(this, [
|
|
19782
|
+
["getBrowser", createItemFunc(BROWSER)],
|
|
19783
|
+
["getCPU", createItemFunc(CPU)],
|
|
19784
|
+
["getDevice", createItemFunc(DEVICE)],
|
|
19785
|
+
["getEngine", createItemFunc(ENGINE)],
|
|
19786
|
+
["getOS", createItemFunc(OS)],
|
|
19787
|
+
["getResult", createItemFunc(RESULT)],
|
|
19788
|
+
["getUA", function() {
|
|
19789
|
+
return userAgent;
|
|
19790
|
+
}],
|
|
19791
|
+
["setUA", function(ua2) {
|
|
19792
|
+
if (isString(ua2))
|
|
19793
|
+
userAgent = trim(ua2, UA_MAX_LENGTH);
|
|
19794
|
+
return this;
|
|
19795
|
+
}]
|
|
19796
|
+
]).setUA(userAgent);
|
|
19797
|
+
return this;
|
|
19798
|
+
}
|
|
19799
|
+
UAParser.VERSION = LIBVERSION;
|
|
19800
|
+
UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR, TYPE]);
|
|
19801
|
+
UAParser.CPU = enumerize([ARCHITECTURE]);
|
|
19802
|
+
UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);
|
|
19803
|
+
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
19804
|
+
|
|
19211
19805
|
// ../hms-video-store/dist/index.js
|
|
19212
|
-
var import_ua_parser_js = __toESM(require_ua_parser());
|
|
19213
19806
|
var import_uuid3 = require("uuid");
|
|
19214
19807
|
var import_uuid4 = require("uuid");
|
|
19215
19808
|
var import_lodash3 = __toESM(require_lodash2());
|
|
@@ -19451,7 +20044,7 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19451
20044
|
if (typeof c2 !== "object" || c2.mandatory || c2.optional) {
|
|
19452
20045
|
return c2;
|
|
19453
20046
|
}
|
|
19454
|
-
const
|
|
20047
|
+
const cc2 = {};
|
|
19455
20048
|
Object.keys(c2).forEach((key) => {
|
|
19456
20049
|
if (key === "require" || key === "advanced" || key === "mediaSource") {
|
|
19457
20050
|
return;
|
|
@@ -19467,35 +20060,35 @@ function shimGetUserMedia(window2, browserDetails) {
|
|
|
19467
20060
|
return name === "deviceId" ? "sourceId" : name;
|
|
19468
20061
|
};
|
|
19469
20062
|
if (r.ideal !== void 0) {
|
|
19470
|
-
|
|
20063
|
+
cc2.optional = cc2.optional || [];
|
|
19471
20064
|
let oc2 = {};
|
|
19472
20065
|
if (typeof r.ideal === "number") {
|
|
19473
20066
|
oc2[oldname_("min", key)] = r.ideal;
|
|
19474
|
-
|
|
20067
|
+
cc2.optional.push(oc2);
|
|
19475
20068
|
oc2 = {};
|
|
19476
20069
|
oc2[oldname_("max", key)] = r.ideal;
|
|
19477
|
-
|
|
20070
|
+
cc2.optional.push(oc2);
|
|
19478
20071
|
} else {
|
|
19479
20072
|
oc2[oldname_("", key)] = r.ideal;
|
|
19480
|
-
|
|
20073
|
+
cc2.optional.push(oc2);
|
|
19481
20074
|
}
|
|
19482
20075
|
}
|
|
19483
20076
|
if (r.exact !== void 0 && typeof r.exact !== "number") {
|
|
19484
|
-
|
|
19485
|
-
|
|
20077
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20078
|
+
cc2.mandatory[oldname_("", key)] = r.exact;
|
|
19486
20079
|
} else {
|
|
19487
20080
|
["min", "max"].forEach((mix) => {
|
|
19488
20081
|
if (r[mix] !== void 0) {
|
|
19489
|
-
|
|
19490
|
-
|
|
20082
|
+
cc2.mandatory = cc2.mandatory || {};
|
|
20083
|
+
cc2.mandatory[oldname_(mix, key)] = r[mix];
|
|
19491
20084
|
}
|
|
19492
20085
|
});
|
|
19493
20086
|
}
|
|
19494
20087
|
});
|
|
19495
20088
|
if (c2.advanced) {
|
|
19496
|
-
|
|
20089
|
+
cc2.optional = (cc2.optional || []).concat(c2.advanced);
|
|
19497
20090
|
}
|
|
19498
|
-
return
|
|
20091
|
+
return cc2;
|
|
19499
20092
|
};
|
|
19500
20093
|
const shimConstraints_ = function(constraints, func) {
|
|
19501
20094
|
if (browserDetails.version >= 61) {
|
|
@@ -21038,15 +21631,15 @@ function shimSendThrowTypeError(window2) {
|
|
|
21038
21631
|
if (!(window2.RTCPeerConnection && "createDataChannel" in window2.RTCPeerConnection.prototype)) {
|
|
21039
21632
|
return;
|
|
21040
21633
|
}
|
|
21041
|
-
function wrapDcSend(
|
|
21042
|
-
const origDataChannelSend =
|
|
21043
|
-
|
|
21634
|
+
function wrapDcSend(dc2, pc) {
|
|
21635
|
+
const origDataChannelSend = dc2.send;
|
|
21636
|
+
dc2.send = function send() {
|
|
21044
21637
|
const data3 = arguments[0];
|
|
21045
21638
|
const length = data3.length || data3.size || data3.byteLength;
|
|
21046
|
-
if (
|
|
21639
|
+
if (dc2.readyState === "open" && pc.sctp && length > pc.sctp.maxMessageSize) {
|
|
21047
21640
|
throw new TypeError("Message too large (can send a maximum of " + pc.sctp.maxMessageSize + " bytes)");
|
|
21048
21641
|
}
|
|
21049
|
-
return origDataChannelSend.apply(
|
|
21642
|
+
return origDataChannelSend.apply(dc2, arguments);
|
|
21050
21643
|
};
|
|
21051
21644
|
}
|
|
21052
21645
|
const origCreateDataChannel = window2.RTCPeerConnection.prototype.createDataChannel;
|
|
@@ -21316,36 +21909,36 @@ var import_eventemitter2 = require("eventemitter2");
|
|
|
21316
21909
|
var import_eventemitter22 = require("eventemitter2");
|
|
21317
21910
|
var import_uuid8 = require("uuid");
|
|
21318
21911
|
var import_eventemitter23 = require("eventemitter2");
|
|
21319
|
-
var
|
|
21912
|
+
var Zt = __toESM(require_lib());
|
|
21320
21913
|
var import_eventemitter24 = __toESM(require("eventemitter2"));
|
|
21321
21914
|
var import_uuid9 = require("uuid");
|
|
21322
21915
|
var import_uuid10 = require("uuid");
|
|
21323
|
-
var
|
|
21324
|
-
var
|
|
21325
|
-
var
|
|
21326
|
-
var
|
|
21327
|
-
var
|
|
21328
|
-
var
|
|
21329
|
-
var
|
|
21916
|
+
var go = Object.defineProperty;
|
|
21917
|
+
var To = Object.defineProperties;
|
|
21918
|
+
var fo = Object.getOwnPropertyDescriptors;
|
|
21919
|
+
var ni = Object.getOwnPropertySymbols;
|
|
21920
|
+
var vs = Object.prototype.hasOwnProperty;
|
|
21921
|
+
var Ms = Object.prototype.propertyIsEnumerable;
|
|
21922
|
+
var fs = (a2, e, t) => e in a2 ? go(a2, e, { enumerable: true, configurable: true, writable: true, value: t }) : a2[e] = t;
|
|
21330
21923
|
var m = (a2, e) => {
|
|
21331
21924
|
for (var t in e || (e = {}))
|
|
21332
|
-
|
|
21333
|
-
if (
|
|
21334
|
-
for (var t of
|
|
21335
|
-
|
|
21925
|
+
vs.call(e, t) && fs(a2, t, e[t]);
|
|
21926
|
+
if (ni)
|
|
21927
|
+
for (var t of ni(e))
|
|
21928
|
+
Ms.call(e, t) && fs(a2, t, e[t]);
|
|
21336
21929
|
return a2;
|
|
21337
21930
|
};
|
|
21338
|
-
var M = (a2, e) =>
|
|
21339
|
-
var
|
|
21931
|
+
var M = (a2, e) => To(a2, fo(e));
|
|
21932
|
+
var Er = (a2, e) => {
|
|
21340
21933
|
var t = {};
|
|
21341
21934
|
for (var i in a2)
|
|
21342
|
-
|
|
21343
|
-
if (a2 != null &&
|
|
21344
|
-
for (var i of
|
|
21345
|
-
e.indexOf(i) < 0 &&
|
|
21935
|
+
vs.call(a2, i) && e.indexOf(i) < 0 && (t[i] = a2[i]);
|
|
21936
|
+
if (a2 != null && ni)
|
|
21937
|
+
for (var i of ni(a2))
|
|
21938
|
+
e.indexOf(i) < 0 && Ms.call(a2, i) && (t[i] = a2[i]);
|
|
21346
21939
|
return t;
|
|
21347
21940
|
};
|
|
21348
|
-
var
|
|
21941
|
+
var yo = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
|
|
21349
21942
|
var c = (a2, e, t) => new Promise((i, r) => {
|
|
21350
21943
|
var s = (d) => {
|
|
21351
21944
|
try {
|
|
@@ -21362,51 +21955,51 @@ var c = (a2, e, t) => new Promise((i, r) => {
|
|
|
21362
21955
|
}, n = (d) => d.done ? i(d.value) : Promise.resolve(d.value).then(s, o);
|
|
21363
21956
|
n((t = t.apply(a2, e)).next());
|
|
21364
21957
|
});
|
|
21365
|
-
var
|
|
21366
|
-
|
|
21958
|
+
var Cr = yo((id, Co) => {
|
|
21959
|
+
Co.exports = { version: "0.12.40-alpha.0", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist", "src"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^2.0.6", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.39", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
|
|
21367
21960
|
});
|
|
21368
|
-
var
|
|
21369
|
-
var
|
|
21370
|
-
var
|
|
21371
|
-
var
|
|
21372
|
-
var
|
|
21373
|
-
function
|
|
21961
|
+
var Pr = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(Pr || {});
|
|
21962
|
+
var ko = ((e) => (e.CHAT = "chat", e))(ko || {});
|
|
21963
|
+
var ys = ((t) => (t.INFO = "info", t.ERROR = "error", t))(ys || {});
|
|
21964
|
+
var br = ((w) => (w.PEER_JOINED = "PEER_JOINED", w.PEER_LEFT = "PEER_LEFT", w.PEER_LIST = "PEER_LIST", w.NEW_MESSAGE = "NEW_MESSAGE", w.ERROR = "ERROR", w.RECONNECTING = "RECONNECTING", w.RECONNECTED = "RECONNECTED", w.TRACK_ADDED = "TRACK_ADDED", w.TRACK_REMOVED = "TRACK_REMOVED", w.TRACK_MUTED = "TRACK_MUTED", w.TRACK_UNMUTED = "TRACK_UNMUTED", w.TRACK_DEGRADED = "TRACK_DEGRADED", w.TRACK_RESTORED = "TRACK_RESTORED", w.TRACK_DESCRIPTION_CHANGED = "TRACK_DESCRIPTION_CHANGED", w.ROLE_UPDATED = "ROLE_UPDATED", w.CHANGE_TRACK_STATE_REQUEST = "CHANGE_TRACK_STATE_REQUEST", w.CHANGE_MULTI_TRACK_STATE_REQUEST = "CHANGE_MULTI_TRACK_STATE_REQUEST", w.ROOM_ENDED = "ROOM_ENDED", w.REMOVED_FROM_ROOM = "REMOVED_FROM_ROOM", w.DEVICE_CHANGE_UPDATE = "DEVICE_CHANGE_UPDATE", w.PLAYLIST_TRACK_ENDED = "PLAYLIST_TRACK_ENDED", w.NAME_UPDATED = "NAME_UPDATED", w.METADATA_UPDATED = "METADATA_UPDATED", w.POLL_CREATED = "POLL_CREATED", w.POLL_STARTED = "POLL_STARTED", w.POLL_STOPPED = "POLL_STOPPED", w.POLL_VOTES_UPDATED = "POLL_VOTES_UPDATED", w.POLLS_LIST = "POLLS_LIST", w.HAND_RAISE_CHANGED = "HAND_RAISE_CHANGED", w.TRANSCRIPTION_STATE_UPDATED = "TRANSCRIPTION_STATE_UPDATED", w))(br || {});
|
|
21965
|
+
var ks = ((t) => (t.audio = "audio", t.video = "video", t))(ks || {});
|
|
21966
|
+
function Ge(a2, e) {
|
|
21374
21967
|
let t, i;
|
|
21375
21968
|
if (e)
|
|
21376
21969
|
for (let r of e.auxiliaryTracks) {
|
|
21377
21970
|
let s = a2[r];
|
|
21378
|
-
|
|
21971
|
+
Eo(s) && (i = Tt(s) ? s : i, t = ft(s) ? s : t);
|
|
21379
21972
|
}
|
|
21380
21973
|
return { video: t, audio: i };
|
|
21381
21974
|
}
|
|
21382
|
-
function
|
|
21975
|
+
function Tt(a2) {
|
|
21383
21976
|
return a2 && a2.type === "audio";
|
|
21384
21977
|
}
|
|
21385
|
-
function
|
|
21978
|
+
function ft(a2) {
|
|
21386
21979
|
return a2 && a2.type === "video";
|
|
21387
21980
|
}
|
|
21388
|
-
function
|
|
21981
|
+
function Eo(a2) {
|
|
21389
21982
|
return a2 && a2.source === "screen";
|
|
21390
21983
|
}
|
|
21391
|
-
function
|
|
21984
|
+
function li(a2) {
|
|
21392
21985
|
return a2 && a2.source === "audioplaylist";
|
|
21393
21986
|
}
|
|
21394
|
-
function
|
|
21987
|
+
function vt(a2) {
|
|
21395
21988
|
return a2 && a2.source === "videoplaylist";
|
|
21396
21989
|
}
|
|
21397
|
-
function
|
|
21990
|
+
function Es(a2) {
|
|
21398
21991
|
return a2 ? !!(a2 != null && a2.degraded) : false;
|
|
21399
21992
|
}
|
|
21400
|
-
function
|
|
21993
|
+
function Ye(a2, e) {
|
|
21401
21994
|
return e && a2.tracks[e] ? a2.tracks[e].enabled : false;
|
|
21402
21995
|
}
|
|
21403
|
-
function
|
|
21996
|
+
function Mt(a2) {
|
|
21404
21997
|
var r;
|
|
21405
21998
|
let e = false, t = false, i = false;
|
|
21406
21999
|
return (r = a2 == null ? void 0 : a2.publishParams) != null && r.allowed && (e = a2.publishParams.allowed.includes("video"), t = a2.publishParams.allowed.includes("audio"), i = a2.publishParams.allowed.includes("screen")), { video: e, audio: t, screen: i };
|
|
21407
22000
|
}
|
|
21408
|
-
var
|
|
21409
|
-
var
|
|
22001
|
+
var bs = ((d) => (d[d.VERBOSE = 0] = "VERBOSE", d[d.DEBUG = 1] = "DEBUG", d[d.INFO = 2] = "INFO", d[d.WARN = 3] = "WARN", d[d.TIME = 4] = "TIME", d[d.TIMEEND = 5] = "TIMEEND", d[d.ERROR = 6] = "ERROR", d[d.NONE = 7] = "NONE", d))(bs || {});
|
|
22002
|
+
var Po = typeof window != "undefined" && typeof window.expect != "undefined";
|
|
21410
22003
|
var l = class {
|
|
21411
22004
|
static v(e, ...t) {
|
|
21412
22005
|
this.log(0, e, ...t);
|
|
@@ -21472,31 +22065,46 @@ var l = class {
|
|
|
21472
22065
|
}
|
|
21473
22066
|
}
|
|
21474
22067
|
};
|
|
21475
|
-
l.level =
|
|
21476
|
-
var
|
|
21477
|
-
var
|
|
21478
|
-
var
|
|
21479
|
-
var
|
|
21480
|
-
|
|
21481
|
-
|
|
21482
|
-
|
|
21483
|
-
|
|
21484
|
-
|
|
21485
|
-
|
|
22068
|
+
l.level = Po ? 7 : 0;
|
|
22069
|
+
var Ar = new UAParser();
|
|
22070
|
+
var yt = null;
|
|
22071
|
+
var Ir = null;
|
|
22072
|
+
var x = typeof window != "undefined";
|
|
22073
|
+
if (x)
|
|
22074
|
+
try {
|
|
22075
|
+
let a2 = Ar.getResult(), e = a2.withClientHints();
|
|
22076
|
+
e && typeof e.then == "function" ? (Ir = e, Ir.then((t) => {
|
|
22077
|
+
yt = t;
|
|
22078
|
+
}).catch(() => {
|
|
22079
|
+
yt = a2;
|
|
22080
|
+
})) : (l.d("UAParser", "Client Hints not supported, using standard UA parsing"), yt = e);
|
|
22081
|
+
} catch (a2) {
|
|
22082
|
+
yt = Ar.getResult();
|
|
22083
|
+
}
|
|
22084
|
+
var De = () => yt || Ar.getResult();
|
|
22085
|
+
var he = { getBrowser: () => De().browser, getOS: () => De().os, getDevice: () => De().device, getCPU: () => De().cpu, getEngine: () => De().engine, getUA: () => De().ua, getResult: De, withClientHints: () => Ir || Promise.resolve(De()) };
|
|
21486
22086
|
var As;
|
|
21487
|
-
var
|
|
22087
|
+
var We = typeof window == "undefined" && !((As = he.getBrowser().name) != null && As.toLowerCase().includes("electron"));
|
|
22088
|
+
var Ao = () => !We;
|
|
22089
|
+
var bc = Ao();
|
|
21488
22090
|
var Is;
|
|
21489
22091
|
var Rs;
|
|
21490
|
-
var
|
|
21491
|
-
var
|
|
21492
|
-
|
|
21493
|
-
|
|
22092
|
+
var Ns = (Rs = (Is = he.getBrowser()) == null ? void 0 : Is.name) == null ? void 0 : Rs.toLowerCase().includes("safari");
|
|
22093
|
+
var Hs;
|
|
22094
|
+
var Cs;
|
|
22095
|
+
var Os = ((Cs = (Hs = he.getBrowser()) == null ? void 0 : Hs.name) == null ? void 0 : Cs.toLowerCase()) === "firefox";
|
|
22096
|
+
var Ls;
|
|
22097
|
+
var Ds;
|
|
22098
|
+
var xs = ((Ds = (Ls = he.getEngine()) == null ? void 0 : Ls.name) == null ? void 0 : Ds.toLowerCase()) === "blink";
|
|
22099
|
+
var Us = ((i) => (i.CUSTOM = "CUSTOM", i.LOCAL = "LOCAL", i.HMS = "HMS", i))(Us || {});
|
|
22100
|
+
function Io() {
|
|
22101
|
+
if (x && window) {
|
|
21494
22102
|
let a2 = window.location.hostname;
|
|
21495
22103
|
return a2 === "localhost" || a2 === "127.0.0.1" ? "LOCAL" : a2.includes("app.100ms.live") ? "HMS" : "CUSTOM";
|
|
21496
22104
|
}
|
|
21497
22105
|
return "CUSTOM";
|
|
21498
22106
|
}
|
|
21499
|
-
var
|
|
22107
|
+
var Ze = Io();
|
|
21500
22108
|
var k = { WebSocketConnectionErrors: { FAILED_TO_CONNECT: 1e3, WEBSOCKET_CONNECTION_LOST: 1003, ABNORMAL_CLOSE: 1006 }, APIErrors: { SERVER_ERRORS: 2e3, INIT_CONFIG_NOT_AVAILABLE: 2002, ENDPOINT_UNREACHABLE: 2003, INVALID_TOKEN_FORMAT: 2004 }, TracksErrors: { GENERIC_TRACK: 3e3, CANT_ACCESS_CAPTURE_DEVICE: 3001, DEVICE_NOT_AVAILABLE: 3002, DEVICE_IN_USE: 3003, DEVICE_LOST_MIDWAY: 3004, NOTHING_TO_RETURN: 3005, INVALID_VIDEO_SETTINGS: 3006, CODEC_CHANGE_NOT_PERMITTED: 3007, AUTOPLAY_ERROR: 3008, OVER_CONSTRAINED: 3009, NO_AUDIO_DETECTED: 3010, SYSTEM_DENIED_PERMISSION: 3011, CURRENT_TAB_NOT_SHARED: 3012, AUDIO_PLAYBACK_ERROR: 3013, SELECTED_DEVICE_MISSING: 3014, NO_DATA: 3015 }, WebrtcErrors: { CREATE_OFFER_FAILED: 4001, CREATE_ANSWER_FAILED: 4002, SET_LOCAL_DESCRIPTION_FAILED: 4003, SET_REMOTE_DESCRIPTION_FAILED: 4004, ICE_FAILURE: 4005, ICE_DISCONNECTED: 4006, STATS_FAILED: 4007 }, WebsocketMethodErrors: { SERVER_ERRORS: 5e3, ALREADY_JOINED: 5001, CANNOT_JOIN_PREVIEW_IN_PROGRESS: 5002 }, GenericErrors: { NOT_CONNECTED: 6e3, SIGNALLING: 6001, UNKNOWN: 6002, NOT_READY: 6003, JSON_PARSING_FAILED: 6004, TRACK_METADATA_MISSING: 6005, RTC_TRACK_MISSING: 6006, PEER_METADATA_MISSING: 6007, INVALID_ROLE: 6008, PREVIEW_IN_PROGRESS: 6009, MISSING_MEDIADEVICES: 6010, MISSING_RTCPEERCONNECTION: 6011, LOCAL_STORAGE_ACCESS_DENIED: 6012, VALIDATION_FAILED: 6013 }, PlaylistErrors: { NO_ENTRY_TO_PLAY: 8001, NO_ENTRY_IS_PLAYING: 8002 } };
|
|
21501
22109
|
var E = class a extends Error {
|
|
21502
22110
|
constructor(t, i, r, s, o, n = false) {
|
|
@@ -21553,8 +22161,8 @@ var W = class extends E {
|
|
|
21553
22161
|
}`;
|
|
21554
22162
|
}
|
|
21555
22163
|
};
|
|
21556
|
-
var
|
|
21557
|
-
var
|
|
22164
|
+
var Bs = ((r) => (r.AUDIO = "audio", r.VIDEO = "video", r.AUDIO_VIDEO = "audio, video", r.SCREEN = "screen", r))(Bs || {});
|
|
22165
|
+
var Ro = ["join", "offer", "answer", "trickle", "on-error", "JOIN"];
|
|
21558
22166
|
var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
21559
22167
|
return new E(k.WebSocketConnectionErrors.FAILED_TO_CONNECT, "WebsocketFailedToConnect", a2, `[WS]: ${e}`, `[WS]: ${e}`);
|
|
21560
22168
|
}, WebSocketConnectionLost(a2, e = "") {
|
|
@@ -21616,7 +22224,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21616
22224
|
}, StatsFailed(a2, e = "") {
|
|
21617
22225
|
return new E(k.WebrtcErrors.STATS_FAILED, "StatsFailed", a2, `Failed to WebRTC get stats - ${e}`, e);
|
|
21618
22226
|
} }, WebsocketMethodErrors: { ServerErrors(a2, e, t) {
|
|
21619
|
-
return new E(a2, "ServerErrors", e, t, t,
|
|
22227
|
+
return new E(a2, "ServerErrors", e, t, t, Ro.includes(e));
|
|
21620
22228
|
}, AlreadyJoined(a2, e = "") {
|
|
21621
22229
|
return new E(k.WebsocketMethodErrors.ALREADY_JOINED, "AlreadyJoined", a2, "[JOIN]: You have already joined this room.", e);
|
|
21622
22230
|
}, CannotJoinPreviewInProgress(a2, e = "") {
|
|
@@ -21664,7 +22272,7 @@ var S = { WebSocketConnectionErrors: { FailedToConnect(a2, e = "") {
|
|
|
21664
22272
|
}, NoEntryPlaying(a2, e) {
|
|
21665
22273
|
return new E(k.PlaylistErrors.NO_ENTRY_IS_PLAYING, "NoEntryIsPlaying", a2, "No entry is playing at this time", e);
|
|
21666
22274
|
} } };
|
|
21667
|
-
var
|
|
22275
|
+
var Hr = class {
|
|
21668
22276
|
constructor() {
|
|
21669
22277
|
this.valuesMap = /* @__PURE__ */ new Map();
|
|
21670
22278
|
}
|
|
@@ -21689,9 +22297,9 @@ var br = class {
|
|
|
21689
22297
|
return this.valuesMap.size;
|
|
21690
22298
|
}
|
|
21691
22299
|
};
|
|
21692
|
-
var
|
|
22300
|
+
var Vs = () => {
|
|
21693
22301
|
try {
|
|
21694
|
-
|
|
22302
|
+
x && !localStorage && (window.localStorage = new Hr());
|
|
21695
22303
|
} catch (a2) {
|
|
21696
22304
|
l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied());
|
|
21697
22305
|
}
|
|
@@ -21703,7 +22311,7 @@ var ve = class {
|
|
|
21703
22311
|
}
|
|
21704
22312
|
getStorage() {
|
|
21705
22313
|
try {
|
|
21706
|
-
return
|
|
22314
|
+
return x && !this.storage && (Vs(), this.storage = window.localStorage), this.storage;
|
|
21707
22315
|
} catch (e) {
|
|
21708
22316
|
return l.e("Error initialising localStorage", S.GenericErrors.LocalStorageAccessDenied()), null;
|
|
21709
22317
|
}
|
|
@@ -21723,32 +22331,32 @@ var ve = class {
|
|
|
21723
22331
|
(e = this.getStorage()) == null || e.removeItem(this.key);
|
|
21724
22332
|
}
|
|
21725
22333
|
};
|
|
21726
|
-
var
|
|
22334
|
+
var ui = () => {
|
|
21727
22335
|
let a2, e = new ve("hms-analytics-deviceId"), t = e.get();
|
|
21728
22336
|
return t ? a2 = t : (a2 = (0, import_uuid4.v4)(), e.set(a2)), a2;
|
|
21729
22337
|
};
|
|
21730
22338
|
function me(a2) {
|
|
21731
22339
|
return a2 != null;
|
|
21732
22340
|
}
|
|
21733
|
-
var
|
|
21734
|
-
function
|
|
21735
|
-
let t = "web", i =
|
|
21736
|
-
if (
|
|
21737
|
-
return
|
|
21738
|
-
let r = he.getOS(), s = he.getDevice(), o = he.getBrowser(), n =
|
|
21739
|
-
return s.type && (p = `${
|
|
22341
|
+
var Ws = Cr().version;
|
|
22342
|
+
function bt(a2 = "prod", e) {
|
|
22343
|
+
let t = "web", i = Ze !== "LOCAL" && a2 === "prod" ? "prod" : "debug";
|
|
22344
|
+
if (We)
|
|
22345
|
+
return $s({ os: "web_nodejs", os_version: process.version, sdk: t, sdk_version: Ws, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: "node", framework_version: process.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
22346
|
+
let r = he.getOS(), s = he.getDevice(), o = he.getBrowser(), n = Lr(`web_${r.name}`), d = r.version || "", u = Lr(`${o.name}_${o.version}`), p = u;
|
|
22347
|
+
return s.type && (p = `${Lr(`${s.vendor}_${s.type}`)}/${u}`), $s({ os: n, os_version: d, sdk: t, sdk_version: Ws, device_model: p, env: i, domain: Ze, is_prebuilt: !!(e != null && e.isPrebuilt), framework: e == null ? void 0 : e.type, framework_version: e == null ? void 0 : e.version, framework_sdk_version: e == null ? void 0 : e.sdkVersion });
|
|
21740
22348
|
}
|
|
21741
|
-
function
|
|
22349
|
+
function Lr(a2) {
|
|
21742
22350
|
return a2.replace(/ /g, "_");
|
|
21743
22351
|
}
|
|
21744
|
-
var
|
|
22352
|
+
var $s = (a2, e = ",") => Object.keys(a2).filter((t) => me(a2[t])).map((t) => `${t}:${a2[t]}`).join(e);
|
|
21745
22353
|
var C = class {
|
|
21746
22354
|
constructor({ name: e, level: t, properties: i, includesPII: r, timestamp: s }) {
|
|
21747
|
-
this.metadata = { peer: {}, userAgent:
|
|
21748
|
-
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id = (0, import_uuid3.v4)(), this.device_id =
|
|
22355
|
+
this.metadata = { peer: {}, userAgent: bt() };
|
|
22356
|
+
this.name = e, this.level = t, this.includesPII = r || false, this.properties = i || {}, this.timestamp = s || (/* @__PURE__ */ new Date()).getTime(), this.event_id = (0, import_uuid3.v4)(), this.device_id = ui();
|
|
21749
22357
|
}
|
|
21750
22358
|
toSignalParams() {
|
|
21751
|
-
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain:
|
|
22359
|
+
return { name: this.name, info: M(m({}, this.properties), { timestamp: this.timestamp, domain: Ze }), timestamp: (/* @__PURE__ */ new Date()).getTime() };
|
|
21752
22360
|
}
|
|
21753
22361
|
};
|
|
21754
22362
|
var y = class {
|
|
@@ -21761,12 +22369,12 @@ var y = class {
|
|
|
21761
22369
|
return new C({ name: i, level: r, properties: s });
|
|
21762
22370
|
}
|
|
21763
22371
|
static preview(i) {
|
|
21764
|
-
var r = i, { error: e } = r, t =
|
|
22372
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21765
22373
|
let s = this.eventNameFor("preview", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(t, e);
|
|
21766
22374
|
return new C({ name: s, level: o, properties: n });
|
|
21767
22375
|
}
|
|
21768
22376
|
static join(i) {
|
|
21769
|
-
var r = i, { error: e } = r, t =
|
|
22377
|
+
var r = i, { error: e } = r, t = Er(r, ["error"]);
|
|
21770
22378
|
let s = this.eventNameFor("join", e === void 0), o = e ? 2 : 1, n = this.getPropertiesWithError(M(m({}, t), { is_preview_called: !!t.is_preview_called }), e);
|
|
21771
22379
|
return new C({ name: s, level: o, properties: n });
|
|
21772
22380
|
}
|
|
@@ -21857,7 +22465,7 @@ var y = class {
|
|
|
21857
22465
|
}
|
|
21858
22466
|
};
|
|
21859
22467
|
y.KEY_REQUESTED_AT = "requested_at", y.KEY_RESPONDED_AT = "responded_at";
|
|
21860
|
-
var
|
|
22468
|
+
var Dr = class {
|
|
21861
22469
|
constructor() {
|
|
21862
22470
|
this.storage = new ve("hms-device-selection");
|
|
21863
22471
|
this.remember = false;
|
|
@@ -21905,19 +22513,19 @@ var Rr = class {
|
|
|
21905
22513
|
return e.deviceId === t.deviceId && (e.groupId === t.groupId || !e.groupId);
|
|
21906
22514
|
}
|
|
21907
22515
|
};
|
|
21908
|
-
var X = new
|
|
21909
|
-
var
|
|
21910
|
-
var
|
|
21911
|
-
var
|
|
21912
|
-
var
|
|
21913
|
-
var
|
|
21914
|
-
var
|
|
21915
|
-
var
|
|
21916
|
-
var
|
|
21917
|
-
var
|
|
21918
|
-
var
|
|
21919
|
-
var
|
|
21920
|
-
function
|
|
22516
|
+
var X = new Dr();
|
|
22517
|
+
var wr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(wr || {});
|
|
22518
|
+
var _r = ((t) => (t.PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED", t.DEVICE_NOT_SUPPORTED = "DEVICE_NOT_SUPPORTED", t))(_r || {});
|
|
22519
|
+
var Nr = ((t) => (t.SIP = "sip", t.REGULAR = "regular", t))(Nr || {});
|
|
22520
|
+
var qs = ((n) => (n.NONE = "none", n.INITIALISED = "initialised", n.STARTED = "started", n.PAUSED = "paused", n.RESUMED = "resumed", n.STOPPED = "stopped", n.FAILED = "failed", n))(qs || {});
|
|
22521
|
+
var js = ((t) => (t.DVR = "dvr", t.NO_DVR = "no-dvr", t))(js || {});
|
|
22522
|
+
var Js = ((i) => (i.REGULAR = "regular", i.SCREEN = "screen", i.COMPOSITE = "composite", i))(Js || {});
|
|
22523
|
+
var Qs = ((r) => (r.INITIALISED = "initialised", r.STARTED = "started", r.STOPPED = "stopped", r.FAILED = "failed", r))(Qs || {});
|
|
22524
|
+
var zs = ((e) => (e.CAPTION = "caption", e))(zs || {});
|
|
22525
|
+
var Or = ((t) => (t.VOICE = "voice", t.MUSIC = "music", t))(Or || {});
|
|
22526
|
+
var Ys = ((i) => (i.videoInput = "videoInput", i.audioInput = "audioInput", i.audioOutput = "audioOutput", i))(Ys || {});
|
|
22527
|
+
var xr = ((r) => (r.SPEAKERPHONE = "SPEAKERPHONE", r.WIRED = "WIRED", r.BLUETOOTH = "BLUETOOTH", r.EARPIECE = "EARPIECE", r))(xr || {});
|
|
22528
|
+
function Ti(a2, e = 300) {
|
|
21921
22529
|
let t;
|
|
21922
22530
|
return function(...i) {
|
|
21923
22531
|
clearTimeout(t), t = void 0;
|
|
@@ -21927,7 +22535,7 @@ function Si(a2, e = 300) {
|
|
|
21927
22535
|
}, e);
|
|
21928
22536
|
};
|
|
21929
22537
|
}
|
|
21930
|
-
var
|
|
22538
|
+
var Wr = class {
|
|
21931
22539
|
constructor() {
|
|
21932
22540
|
this.TAG = "[HMSIntersectionObserverWrapper]";
|
|
21933
22541
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -21950,12 +22558,12 @@ var Br = class {
|
|
|
21950
22558
|
this.createObserver();
|
|
21951
22559
|
}
|
|
21952
22560
|
isSupported() {
|
|
21953
|
-
let e =
|
|
22561
|
+
let e = x && typeof window.IntersectionObserver != "undefined";
|
|
21954
22562
|
return e || l.w(this.TAG, "IntersectionObserver is not supported, fallback will be used instead"), e;
|
|
21955
22563
|
}
|
|
21956
22564
|
};
|
|
21957
|
-
var
|
|
21958
|
-
var
|
|
22565
|
+
var ra = new Wr();
|
|
22566
|
+
var $r = class {
|
|
21959
22567
|
constructor() {
|
|
21960
22568
|
this.TAG = "[HMSResizeObserverWrapper]";
|
|
21961
22569
|
this.listeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -21968,7 +22576,7 @@ var Vr = class {
|
|
|
21968
22576
|
(t = this.resizeObserver) == null || t.unobserve(e), this.listeners.delete(e);
|
|
21969
22577
|
};
|
|
21970
22578
|
this.createObserver = () => {
|
|
21971
|
-
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(
|
|
22579
|
+
this.isSupported() && !this.resizeObserver && (this.resizeObserver = new ResizeObserver(Ti(this.handleResize, 300)));
|
|
21972
22580
|
};
|
|
21973
22581
|
this.handleResize = (e) => {
|
|
21974
22582
|
var t;
|
|
@@ -21978,47 +22586,47 @@ var Vr = class {
|
|
|
21978
22586
|
this.createObserver();
|
|
21979
22587
|
}
|
|
21980
22588
|
isSupported() {
|
|
21981
|
-
let e =
|
|
22589
|
+
let e = x && typeof window.ResizeObserver != "undefined";
|
|
21982
22590
|
return e || l.w(this.TAG, "Resize Observer is not supported"), e;
|
|
21983
22591
|
}
|
|
21984
22592
|
};
|
|
21985
|
-
var
|
|
21986
|
-
var
|
|
21987
|
-
var
|
|
21988
|
-
var
|
|
21989
|
-
var
|
|
21990
|
-
var
|
|
21991
|
-
var
|
|
22593
|
+
var sa = new $r();
|
|
22594
|
+
var Kr = ((t) => (t.TRANSFORM = "TRANSFORM", t.ANALYZE = "ANALYZE", t))(Kr || {});
|
|
22595
|
+
var qr = ((t) => (t["2D"] = "2d", t.WEBGL = "webgl", t.WEBGL2 = "webgl2", t))(qr || {});
|
|
22596
|
+
var na = "https://event.100ms.live/v2/client/report";
|
|
22597
|
+
var ca = "https://event-nonprod.100ms.live/v2/client/report";
|
|
22598
|
+
var Ct = Math.pow(2, 31) - 1;
|
|
22599
|
+
var nt = class {
|
|
21992
22600
|
};
|
|
21993
|
-
|
|
22601
|
+
nt.makePeerId = () => (0, import_uuid7.v4)();
|
|
21994
22602
|
var F = (a2) => a2.room;
|
|
21995
|
-
var
|
|
21996
|
-
var
|
|
21997
|
-
var
|
|
22603
|
+
var Qo = (a2) => a2.errors;
|
|
22604
|
+
var Rm = createSelector(Qo, (a2) => a2.length === 0 ? null : a2.at(-1));
|
|
22605
|
+
var Hm = createSelector(F, (a2) => a2.id);
|
|
21998
22606
|
var z = (a2) => a2.peers;
|
|
21999
|
-
var
|
|
22000
|
-
var
|
|
22607
|
+
var Ii = (a2) => a2.messages.byID;
|
|
22608
|
+
var Ta = (a2) => a2.messages.allIDs;
|
|
22001
22609
|
var N = (a2) => a2.tracks;
|
|
22002
|
-
var
|
|
22003
|
-
var
|
|
22004
|
-
var
|
|
22005
|
-
var
|
|
22006
|
-
var
|
|
22007
|
-
var Ee = createSelector([F, z,
|
|
22008
|
-
var
|
|
22009
|
-
var
|
|
22610
|
+
var Zr = (a2) => a2.appData;
|
|
22611
|
+
var zo = (a2) => a2.speakers;
|
|
22612
|
+
var Ve = createSelector([F], (a2) => a2 && a2.isConnected);
|
|
22613
|
+
var Dm = createSelector([Ve, F], (a2, e) => a2 ? e.peerCount !== void 0 ? e.peerCount || 1 : e.peers.length : Math.max(e.peerCount !== void 0 ? e.peerCount : e.peers.length - 1, 0));
|
|
22614
|
+
var Yo = (a2) => a2.hideLocalPeer;
|
|
22615
|
+
var Ee = createSelector([F, z, Yo], (a2, e, t) => t ? a2.peers.filter((i) => a2.localPeer !== i).map((i) => e[i]) : a2.peers.map((i) => e[i]));
|
|
22616
|
+
var Xo = createSelector(N, (a2) => Object.values(a2));
|
|
22617
|
+
var re = createSelector(F, z, (a2, e) => e[a2.localPeer]);
|
|
22010
22618
|
var Ie = createSelector(F, (a2) => a2.localPeer);
|
|
22011
|
-
var
|
|
22012
|
-
var
|
|
22013
|
-
var le = createSelector(
|
|
22014
|
-
var Z = createSelector(
|
|
22015
|
-
var
|
|
22016
|
-
var
|
|
22619
|
+
var wm = createSelector(re, (a2) => a2 == null ? void 0 : a2.name);
|
|
22620
|
+
var _m = createSelector(re, (a2) => a2 == null ? void 0 : a2.roleName);
|
|
22621
|
+
var le = createSelector(re, (a2) => a2 == null ? void 0 : a2.audioTrack);
|
|
22622
|
+
var Z = createSelector(re, (a2) => a2 == null ? void 0 : a2.videoTrack);
|
|
22623
|
+
var Zo = createSelector(re, (a2) => a2 == null ? void 0 : a2.auxiliaryTracks);
|
|
22624
|
+
var va = createSelector([le, Z, Zo], (a2, e, t) => {
|
|
22017
22625
|
let i = t ? [...t] : [];
|
|
22018
22626
|
return a2 && i.unshift(a2), e && i.unshift(e), i;
|
|
22019
22627
|
});
|
|
22020
|
-
var
|
|
22021
|
-
var
|
|
22628
|
+
var Nm = createSelector(Ee, (a2) => a2.filter((e) => !e.isLocal));
|
|
22629
|
+
var Om = createSelector(z, zo, (a2, e) => {
|
|
22022
22630
|
let t = Object.entries(e).sort((i, r) => {
|
|
22023
22631
|
var n, d;
|
|
22024
22632
|
let s = ((n = i[1]) == null ? void 0 : n.audioLevel) || 0;
|
|
@@ -22031,112 +22639,112 @@ var Lm = createSelector(z, qo, (a2, e) => {
|
|
|
22031
22639
|
}
|
|
22032
22640
|
return null;
|
|
22033
22641
|
});
|
|
22034
|
-
var
|
|
22035
|
-
let { video: t, audio: i } =
|
|
22642
|
+
var ts = createSelector(re, N, (a2, e) => {
|
|
22643
|
+
let { video: t, audio: i } = Ge(e, a2);
|
|
22036
22644
|
return !!(t || i);
|
|
22037
22645
|
});
|
|
22038
|
-
var
|
|
22646
|
+
var en = createSelector(z, N, (a2, e) => {
|
|
22039
22647
|
let t;
|
|
22040
22648
|
for (let i in a2) {
|
|
22041
|
-
let r = a2[i], { video: s, audio: o } =
|
|
22649
|
+
let r = a2[i], { video: s, audio: o } = Ge(e, r);
|
|
22042
22650
|
if (s)
|
|
22043
22651
|
return r;
|
|
22044
22652
|
o && !t && (t = r);
|
|
22045
22653
|
}
|
|
22046
22654
|
return t;
|
|
22047
22655
|
});
|
|
22048
|
-
var
|
|
22049
|
-
var
|
|
22656
|
+
var Um = createSelector(en, (a2) => !!a2);
|
|
22657
|
+
var Bm = createSelector(z, N, (a2, e) => {
|
|
22050
22658
|
for (let t in a2) {
|
|
22051
|
-
let i = a2[t], { audio: r, video: s } =
|
|
22659
|
+
let i = a2[t], { audio: r, video: s } = Ge(e, i);
|
|
22052
22660
|
if (!s && r)
|
|
22053
22661
|
return i;
|
|
22054
22662
|
}
|
|
22055
22663
|
});
|
|
22056
|
-
var
|
|
22664
|
+
var Vm = createSelector(z, N, (a2, e) => {
|
|
22057
22665
|
let t = [], i = [];
|
|
22058
22666
|
for (let r in a2) {
|
|
22059
|
-
let s = a2[r], { video: o, audio: n } =
|
|
22667
|
+
let s = a2[r], { video: o, audio: n } = Ge(e, s);
|
|
22060
22668
|
o ? t.push(s) : n && i.push(s);
|
|
22061
22669
|
}
|
|
22062
22670
|
return t.concat(i);
|
|
22063
22671
|
});
|
|
22064
|
-
var
|
|
22672
|
+
var Fm = createSelector(z, N, (a2, e) => {
|
|
22065
22673
|
for (let t in e) {
|
|
22066
22674
|
let i = e[t];
|
|
22067
|
-
if (
|
|
22675
|
+
if (vt(i) && ft(i) && i.peerId)
|
|
22068
22676
|
return a2[i.peerId];
|
|
22069
22677
|
}
|
|
22070
22678
|
});
|
|
22071
|
-
var
|
|
22679
|
+
var Gm = createSelector(z, N, (a2, e) => {
|
|
22072
22680
|
for (let t in e) {
|
|
22073
22681
|
let i = e[t];
|
|
22074
|
-
if (
|
|
22682
|
+
if (li(i) && i.peerId)
|
|
22075
22683
|
return a2[i.peerId];
|
|
22076
22684
|
}
|
|
22077
22685
|
});
|
|
22078
|
-
var
|
|
22079
|
-
var
|
|
22080
|
-
var
|
|
22081
|
-
var
|
|
22686
|
+
var Wm = createSelector(Xo, (a2) => a2.filter(Es));
|
|
22687
|
+
var $m = createSelector(Ta, (a2) => a2.length);
|
|
22688
|
+
var Km = createSelector(Ii, (a2) => Object.values(a2).filter((e) => !e.read).length);
|
|
22689
|
+
var _t = createSelector(Ta, Ii, (a2, e) => {
|
|
22082
22690
|
let t = [];
|
|
22083
22691
|
return a2.forEach((i) => {
|
|
22084
22692
|
t.push(e[i]);
|
|
22085
22693
|
}), t;
|
|
22086
22694
|
});
|
|
22087
|
-
var
|
|
22695
|
+
var tn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22088
22696
|
var t;
|
|
22089
22697
|
return !e.recipientPeer && !(e.recipientRoles && ((t = e.recipientRoles) == null ? void 0 : t.length) > 0);
|
|
22090
22698
|
}));
|
|
22091
|
-
var
|
|
22092
|
-
var
|
|
22093
|
-
var
|
|
22094
|
-
var
|
|
22095
|
-
var
|
|
22699
|
+
var qm = createSelector(tn, (a2) => a2.filter((e) => !e.read).length);
|
|
22700
|
+
var se = createSelector([F], (a2) => a2 && a2.roomState);
|
|
22701
|
+
var ya = createSelector(se, (a2) => a2 === "Preview");
|
|
22702
|
+
var jm = createSelector(F, (a2) => a2.roomState !== "Disconnected");
|
|
22703
|
+
var Jm = createSelector(F, (a2) => !a2.transcriptions || a2.transcriptions.length <= 0 ? false : a2.transcriptions.some((e) => e.mode === "caption" && e.state === "started"));
|
|
22096
22704
|
var Pe = (a2) => a2.roles;
|
|
22097
|
-
var
|
|
22098
|
-
var
|
|
22099
|
-
var
|
|
22705
|
+
var Qm = createSelector([Pe], (a2) => Object.keys(a2));
|
|
22706
|
+
var dt = createSelector([re, Pe], (a2, e) => a2 != null && a2.roleName ? e[a2.roleName] : null);
|
|
22707
|
+
var rn = (a2) => {
|
|
22100
22708
|
var e;
|
|
22101
22709
|
return (e = a2.preview) == null ? void 0 : e.asRole;
|
|
22102
22710
|
};
|
|
22103
|
-
var
|
|
22104
|
-
var
|
|
22711
|
+
var ka = createSelector([rn, Pe], (a2, e) => a2 ? e[a2] : null);
|
|
22712
|
+
var zm = createSelector([dt], (a2) => {
|
|
22105
22713
|
var e;
|
|
22106
22714
|
return (e = a2 == null ? void 0 : a2.subscribeParams) != null && e.subscribeToRoles ? a2.subscribeParams.subscribeToRoles.length > 0 : false;
|
|
22107
22715
|
});
|
|
22108
|
-
var
|
|
22109
|
-
var
|
|
22110
|
-
var
|
|
22111
|
-
var
|
|
22112
|
-
var
|
|
22113
|
-
var
|
|
22114
|
-
var
|
|
22115
|
-
var
|
|
22116
|
-
var
|
|
22117
|
-
var
|
|
22118
|
-
var
|
|
22119
|
-
var
|
|
22120
|
-
var
|
|
22121
|
-
var
|
|
22122
|
-
var
|
|
22123
|
-
var
|
|
22124
|
-
var
|
|
22125
|
-
var
|
|
22126
|
-
var
|
|
22127
|
-
var
|
|
22128
|
-
var
|
|
22129
|
-
var
|
|
22130
|
-
var
|
|
22716
|
+
var Ea = createSelector(dt, (a2) => a2 == null ? void 0 : a2.permissions);
|
|
22717
|
+
var Ym = createSelector(F, (a2) => a2.recording);
|
|
22718
|
+
var Xm = createSelector(F, (a2) => a2.rtmp);
|
|
22719
|
+
var Zm = createSelector(F, (a2) => a2.hls);
|
|
22720
|
+
var eS = createSelector(F, (a2) => a2.transcriptions);
|
|
22721
|
+
var tS = createSelector(F, (a2) => a2.sessionId);
|
|
22722
|
+
var iS = createSelector(F, (a2) => a2.startedAt);
|
|
22723
|
+
var rS = createSelector(F, (a2) => !!a2.isLargeRoom);
|
|
22724
|
+
var sS = createSelector(F, (a2) => !!a2.isEffectsEnabled);
|
|
22725
|
+
var aS = createSelector(F, (a2) => !!a2.isVBEnabled);
|
|
22726
|
+
var oS = createSelector(F, (a2) => a2.effectsKey);
|
|
22727
|
+
var Pa = (a2) => a2.polls;
|
|
22728
|
+
var lS = createSelector(Ee, (a2) => a2.filter((e) => e.isHandRaised));
|
|
22729
|
+
var sn = (a2) => a2.whiteboards;
|
|
22730
|
+
var uS = createSelector(sn, (a2) => Object.values(a2)[0]);
|
|
22731
|
+
var Aa = (a2 = "audio") => (e) => e.playlist[a2].list;
|
|
22732
|
+
var is = (a2 = "audio") => (e) => e.playlist[a2].selection;
|
|
22733
|
+
var Ia = (a2 = "audio") => (e) => e.playlist[a2].progress;
|
|
22734
|
+
var Ra = (a2 = "audio") => (e) => e.playlist[a2].currentTime;
|
|
22735
|
+
var Ha = (a2 = "audio") => (e) => e.playlist[a2].playbackRate;
|
|
22736
|
+
var Ca = (a2 = "audio") => (e) => e.playlist[a2].volume;
|
|
22737
|
+
var La = (a2 = "audio") => createSelector(Aa(a2), (e) => Object.values(e));
|
|
22738
|
+
var Da = (a2 = "audio") => createSelector(Aa(a2), is(a2), (e, t) => {
|
|
22131
22739
|
if (t.id)
|
|
22132
22740
|
return e[t.id];
|
|
22133
22741
|
});
|
|
22134
|
-
var
|
|
22135
|
-
var
|
|
22742
|
+
var wa = { selection: is("audio"), progress: Ia("audio"), currentTime: Ra("audio"), playbackRate: Ha("audio"), volume: Ca("audio"), list: La("audio"), selectedItem: Da("audio") };
|
|
22743
|
+
var _a7 = { selection: is("video"), progress: Ia("video"), currentTime: Ra("video"), playbackRate: Ha("video"), volume: Ca("video"), list: La("video"), selectedItem: Da("video") };
|
|
22136
22744
|
function H(a2) {
|
|
22137
22745
|
return (e) => (t) => a2(t, e);
|
|
22138
22746
|
}
|
|
22139
|
-
var
|
|
22747
|
+
var Nt = "HMS-Store:";
|
|
22140
22748
|
var b = class {
|
|
22141
22749
|
static v(e, ...t) {
|
|
22142
22750
|
this.log(0, e, ...t);
|
|
@@ -22166,23 +22774,23 @@ var b = class {
|
|
|
22166
22774
|
if (!(this.level.valueOf() > e.valueOf()))
|
|
22167
22775
|
switch (e) {
|
|
22168
22776
|
case 0: {
|
|
22169
|
-
console.log(
|
|
22777
|
+
console.log(Nt, ...t);
|
|
22170
22778
|
break;
|
|
22171
22779
|
}
|
|
22172
22780
|
case 1: {
|
|
22173
|
-
console.debug(
|
|
22781
|
+
console.debug(Nt, ...t);
|
|
22174
22782
|
break;
|
|
22175
22783
|
}
|
|
22176
22784
|
case 2: {
|
|
22177
|
-
console.info(
|
|
22785
|
+
console.info(Nt, ...t);
|
|
22178
22786
|
break;
|
|
22179
22787
|
}
|
|
22180
22788
|
case 3: {
|
|
22181
|
-
console.warn(
|
|
22789
|
+
console.warn(Nt, ...t);
|
|
22182
22790
|
break;
|
|
22183
22791
|
}
|
|
22184
22792
|
case 6: {
|
|
22185
|
-
console.error(
|
|
22793
|
+
console.error(Nt, ...t);
|
|
22186
22794
|
break;
|
|
22187
22795
|
}
|
|
22188
22796
|
case 4: {
|
|
@@ -22203,133 +22811,133 @@ var b = class {
|
|
|
22203
22811
|
}
|
|
22204
22812
|
};
|
|
22205
22813
|
b.level = 0;
|
|
22206
|
-
var
|
|
22207
|
-
var
|
|
22208
|
-
var
|
|
22209
|
-
var
|
|
22210
|
-
var
|
|
22211
|
-
var Y = createSelector([z,
|
|
22212
|
-
var
|
|
22213
|
-
var
|
|
22814
|
+
var rs = (a2, e) => e;
|
|
22815
|
+
var Ot = (a2, e) => e;
|
|
22816
|
+
var Na = (a2, e) => e;
|
|
22817
|
+
var an = (a2, e) => e;
|
|
22818
|
+
var on = (a2, e) => e;
|
|
22819
|
+
var Y = createSelector([z, rs], (a2, e) => e ? a2[e] : null);
|
|
22820
|
+
var ss = createSelector([N, Ot], (a2, e) => e ? a2[e] : null);
|
|
22821
|
+
var nn = createSelector([N, Ot], (a2, e) => {
|
|
22214
22822
|
if (!e)
|
|
22215
22823
|
return null;
|
|
22216
22824
|
let t = a2[e];
|
|
22217
22825
|
return (t == null ? void 0 : t.type) === "video" ? t : null;
|
|
22218
22826
|
});
|
|
22219
|
-
var
|
|
22827
|
+
var cn = createSelector([N, Ot], (a2, e) => {
|
|
22220
22828
|
if (!e)
|
|
22221
22829
|
return null;
|
|
22222
22830
|
let t = a2[e];
|
|
22223
22831
|
return (t == null ? void 0 : t.type) === "audio" ? t : null;
|
|
22224
22832
|
});
|
|
22225
|
-
var
|
|
22833
|
+
var dn = createSelector([N, Ot], (a2, e) => {
|
|
22226
22834
|
if (!e)
|
|
22227
22835
|
return null;
|
|
22228
22836
|
let t = a2[e];
|
|
22229
22837
|
return (t == null ? void 0 : t.type) === "audio" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22230
22838
|
});
|
|
22231
|
-
var
|
|
22839
|
+
var ln = createSelector([N, Ot], (a2, e) => {
|
|
22232
22840
|
if (!e)
|
|
22233
22841
|
return null;
|
|
22234
22842
|
let t = a2[e];
|
|
22235
22843
|
return (t == null ? void 0 : t.type) === "video" && (t == null ? void 0 : t.source) === "screen" ? t : null;
|
|
22236
22844
|
});
|
|
22237
|
-
var
|
|
22845
|
+
var un = createSelector([Pa, on], (a2, e) => e ? a2[e] : null);
|
|
22238
22846
|
var ee = H(Y);
|
|
22239
|
-
var
|
|
22847
|
+
var kS = H(createSelector([Zr, an], (a2, e) => {
|
|
22240
22848
|
if (a2)
|
|
22241
22849
|
return e ? a2[e] : a2;
|
|
22242
22850
|
}));
|
|
22243
|
-
function
|
|
22851
|
+
function ES(a2) {
|
|
22244
22852
|
return (e) => {
|
|
22245
22853
|
if (e.sessionStore)
|
|
22246
22854
|
return a2 ? e.sessionStore[a2] : e.sessionStore;
|
|
22247
22855
|
};
|
|
22248
22856
|
}
|
|
22249
|
-
var
|
|
22250
|
-
var
|
|
22251
|
-
var
|
|
22252
|
-
var
|
|
22253
|
-
var
|
|
22254
|
-
var
|
|
22255
|
-
var
|
|
22256
|
-
var
|
|
22857
|
+
var bS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.name));
|
|
22858
|
+
var AS = H(createSelector(Y, (a2) => a2 == null ? void 0 : a2.type));
|
|
22859
|
+
var Ri = H(ss);
|
|
22860
|
+
var Oa = H(nn);
|
|
22861
|
+
var IS = H(cn);
|
|
22862
|
+
var RS = H(dn);
|
|
22863
|
+
var HS = H(ln);
|
|
22864
|
+
var pn = H((a2, e) => {
|
|
22257
22865
|
let t = Y(a2, e);
|
|
22258
22866
|
if (t && t.videoTrack && t.videoTrack !== "")
|
|
22259
22867
|
return a2.tracks[t.videoTrack];
|
|
22260
22868
|
});
|
|
22261
|
-
var
|
|
22869
|
+
var hn = H((a2, e) => {
|
|
22262
22870
|
let t = Y(a2, e);
|
|
22263
22871
|
if (t && t.audioTrack && t.audioTrack !== "")
|
|
22264
22872
|
return a2.tracks[t.audioTrack];
|
|
22265
22873
|
});
|
|
22266
|
-
var
|
|
22874
|
+
var LS = H((a2, e) => {
|
|
22267
22875
|
let t = Y(a2, e);
|
|
22268
22876
|
return (t == null ? void 0 : t.auxiliaryTracks.map((i) => a2.tracks[i])) || [];
|
|
22269
22877
|
});
|
|
22270
|
-
var
|
|
22271
|
-
var
|
|
22272
|
-
var
|
|
22273
|
-
let t =
|
|
22274
|
-
return
|
|
22275
|
-
};
|
|
22276
|
-
var
|
|
22277
|
-
var
|
|
22878
|
+
var xa = (a2, e) => e ? a2.speakers[e] : null;
|
|
22879
|
+
var DS = H(createSelector(xa, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
22880
|
+
var mn = (a2, e) => {
|
|
22881
|
+
let t = hn(e)(a2);
|
|
22882
|
+
return xa(a2, t == null ? void 0 : t.id);
|
|
22883
|
+
};
|
|
22884
|
+
var wS = H(createSelector(mn, (a2) => (a2 == null ? void 0 : a2.audioLevel) || 0));
|
|
22885
|
+
var _S = H((a2, e) => {
|
|
22278
22886
|
if (e)
|
|
22279
22887
|
return a2.connectionQualities[e];
|
|
22280
22888
|
});
|
|
22281
|
-
var
|
|
22889
|
+
var NS = H((a2, e) => {
|
|
22282
22890
|
let t = Y(a2, e);
|
|
22283
22891
|
if (t) {
|
|
22284
|
-
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) =>
|
|
22892
|
+
let i = t == null ? void 0 : t.auxiliaryTracks.find((r) => Tt(a2.tracks[r]));
|
|
22285
22893
|
return i ? a2.tracks[i] : void 0;
|
|
22286
22894
|
}
|
|
22287
22895
|
});
|
|
22288
|
-
var
|
|
22896
|
+
var OS2 = H(createSelector(N, Y, (a2, e) => {
|
|
22289
22897
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22290
22898
|
let r = a2[i];
|
|
22291
|
-
return
|
|
22899
|
+
return vt(r) && ft(r);
|
|
22292
22900
|
});
|
|
22293
22901
|
return t ? a2[t] : void 0;
|
|
22294
22902
|
}));
|
|
22295
|
-
var
|
|
22903
|
+
var xS = H(createSelector(N, Y, (a2, e) => {
|
|
22296
22904
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22297
22905
|
let r = a2[i];
|
|
22298
|
-
return
|
|
22906
|
+
return vt(r) && Tt(r);
|
|
22299
22907
|
});
|
|
22300
22908
|
return t ? a2[t] : void 0;
|
|
22301
22909
|
}));
|
|
22302
|
-
var
|
|
22910
|
+
var US = H(createSelector(N, Y, (a2, e) => {
|
|
22303
22911
|
let t = e == null ? void 0 : e.auxiliaryTracks.find((i) => {
|
|
22304
22912
|
let r = a2[i];
|
|
22305
|
-
return
|
|
22913
|
+
return li(r) && Tt(r);
|
|
22306
22914
|
});
|
|
22307
22915
|
return t ? a2[t] : void 0;
|
|
22308
22916
|
}));
|
|
22309
|
-
var
|
|
22310
|
-
var
|
|
22311
|
-
var
|
|
22917
|
+
var Ua = H(createSelector(N, Y, (a2, e) => Ge(a2, e)));
|
|
22918
|
+
var Ba = (a2) => createSelector(Ua(a2), (e) => e.audio);
|
|
22919
|
+
var VS = H((a2, e) => {
|
|
22312
22920
|
let t = Y(a2, e);
|
|
22313
|
-
return
|
|
22921
|
+
return Ye(a2, t == null ? void 0 : t.audioTrack);
|
|
22314
22922
|
});
|
|
22315
|
-
var
|
|
22923
|
+
var FS = H((a2, e) => {
|
|
22316
22924
|
let t = Y(a2, e);
|
|
22317
|
-
return
|
|
22925
|
+
return Ye(a2, t == null ? void 0 : t.videoTrack);
|
|
22318
22926
|
});
|
|
22319
|
-
var
|
|
22927
|
+
var Va = H((a2, e) => {
|
|
22320
22928
|
if (e && a2.tracks[e])
|
|
22321
22929
|
return a2.tracks[e].volume === 0;
|
|
22322
22930
|
});
|
|
22323
|
-
var
|
|
22931
|
+
var GS = H((a2, e) => {
|
|
22324
22932
|
let t = Y(a2, e);
|
|
22325
|
-
return
|
|
22933
|
+
return Va(t == null ? void 0 : t.audioTrack)(a2);
|
|
22326
22934
|
});
|
|
22327
|
-
var
|
|
22328
|
-
let t =
|
|
22329
|
-
return
|
|
22935
|
+
var WS = H((a2, e) => {
|
|
22936
|
+
let t = Ba(e)(a2);
|
|
22937
|
+
return Va(t == null ? void 0 : t.id)(a2);
|
|
22330
22938
|
});
|
|
22331
|
-
var
|
|
22332
|
-
let t =
|
|
22939
|
+
var Fa = H((a2, e) => {
|
|
22940
|
+
let t = ss(a2, e);
|
|
22333
22941
|
if (t) {
|
|
22334
22942
|
if (t.type !== "audio") {
|
|
22335
22943
|
b.w("Please pass audio track here");
|
|
@@ -22338,16 +22946,16 @@ var xa = H((a2, e) => {
|
|
|
22338
22946
|
return t.volume;
|
|
22339
22947
|
}
|
|
22340
22948
|
});
|
|
22341
|
-
var
|
|
22949
|
+
var $S = H((a2, e) => {
|
|
22342
22950
|
let t = Y(a2, e);
|
|
22343
|
-
return
|
|
22951
|
+
return Fa(t == null ? void 0 : t.audioTrack)(a2);
|
|
22344
22952
|
});
|
|
22345
|
-
var
|
|
22346
|
-
let t =
|
|
22347
|
-
return
|
|
22953
|
+
var KS = H((a2, e) => {
|
|
22954
|
+
let t = Ba(e)(a2);
|
|
22955
|
+
return Fa(t == null ? void 0 : t.id)(a2);
|
|
22348
22956
|
});
|
|
22349
|
-
var
|
|
22350
|
-
let t =
|
|
22957
|
+
var qS = H((a2, e) => {
|
|
22958
|
+
let t = ss(a2, e);
|
|
22351
22959
|
if (t) {
|
|
22352
22960
|
if (t.type !== "video") {
|
|
22353
22961
|
b.w("Please pass video track here");
|
|
@@ -22356,50 +22964,50 @@ var FS = H((a2, e) => {
|
|
|
22356
22964
|
return t.layer;
|
|
22357
22965
|
}
|
|
22358
22966
|
});
|
|
22359
|
-
var
|
|
22967
|
+
var Ga = createSelector([_t, Ie, rs], (a2, e, t) => {
|
|
22360
22968
|
if (t)
|
|
22361
22969
|
return a2.filter((i) => {
|
|
22362
22970
|
var r;
|
|
22363
22971
|
return !i.recipientPeer && !((r = i.recipientRoles) != null && r.length) || i.sender && ![e, t].includes(i.sender) ? false : [e, t].includes(i.recipientPeer);
|
|
22364
22972
|
});
|
|
22365
22973
|
});
|
|
22366
|
-
var
|
|
22974
|
+
var Wa = createSelector([_t, Na], (a2, e) => {
|
|
22367
22975
|
if (e)
|
|
22368
22976
|
return a2.filter((t) => {
|
|
22369
22977
|
var i, r;
|
|
22370
22978
|
return (i = t.recipientRoles) != null && i.length ? (r = t.recipientRoles) == null ? void 0 : r.includes(e) : false;
|
|
22371
22979
|
});
|
|
22372
22980
|
});
|
|
22373
|
-
var
|
|
22981
|
+
var Sn = createSelector(_t, (a2) => a2.filter((e) => {
|
|
22374
22982
|
var t;
|
|
22375
22983
|
return !e.recipientPeer && !((t = e.recipientRoles) != null && t.length);
|
|
22376
22984
|
}));
|
|
22377
|
-
var
|
|
22378
|
-
var
|
|
22379
|
-
var
|
|
22380
|
-
var
|
|
22381
|
-
var
|
|
22382
|
-
var
|
|
22383
|
-
var
|
|
22384
|
-
var
|
|
22385
|
-
var
|
|
22985
|
+
var gn = createSelector([Wa, Na], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
22986
|
+
var Tn = createSelector([Ga, rs], (a2) => a2 ? a2.filter((e) => !e.read).length : 0);
|
|
22987
|
+
var jS = createSelector(Sn, (a2) => a2.filter((e) => !e.read).length);
|
|
22988
|
+
var JS = H(Ga);
|
|
22989
|
+
var QS = H(Wa);
|
|
22990
|
+
var zS = H(gn);
|
|
22991
|
+
var YS = H(Tn);
|
|
22992
|
+
var $a = H(un);
|
|
22993
|
+
var dg = createSelector([z, N], (a2, e) => Object.values(a2).map((i) => {
|
|
22386
22994
|
var r;
|
|
22387
22995
|
return { peer: i, isAudioEnabled: i.audioTrack ? (r = e[i.audioTrack]) == null ? void 0 : r.enabled : false };
|
|
22388
22996
|
}));
|
|
22389
|
-
var
|
|
22390
|
-
var
|
|
22391
|
-
var
|
|
22392
|
-
var
|
|
22393
|
-
var
|
|
22997
|
+
var fn = (a2) => a2.roleChangeRequests[0] || null;
|
|
22998
|
+
var lg = createSelector([fn, z, Pe], (a2, e, t) => a2 ? { requestedBy: a2.requestedBy ? e[a2.requestedBy] : void 0, role: t[a2.roleName], token: a2.token } : null);
|
|
22999
|
+
var ug = createSelector([dt], (a2) => Mt(a2));
|
|
23000
|
+
var pg = createSelector([ka], (a2) => Mt(a2));
|
|
23001
|
+
var Mn = createSelector([Z, N], (a2, e) => {
|
|
22394
23002
|
let t = null;
|
|
22395
23003
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22396
23004
|
});
|
|
22397
|
-
var
|
|
23005
|
+
var yn = createSelector([le, N], (a2, e) => {
|
|
22398
23006
|
let t = null;
|
|
22399
23007
|
return a2 && (t = e[a2]), (t == null ? void 0 : t.plugins) || [];
|
|
22400
23008
|
});
|
|
22401
|
-
var
|
|
22402
|
-
var
|
|
23009
|
+
var Pn = ((n) => (n[n.STARTING = 0] = "STARTING", n[n.INIT_FETCHED = 1] = "INIT_FETCHED", n[n.SIGNAL_CONNECTED = 2] = "SIGNAL_CONNECTED", n[n.ICE_ESTABLISHED = 3] = "ICE_ESTABLISHED", n[n.MEDIA_CAPTURED = 4] = "MEDIA_CAPTURED", n[n.MEDIA_PUBLISHED = 5] = "MEDIA_PUBLISHED", n[n.COMPLETED = 6] = "COMPLETED", n))(Pn || {});
|
|
23010
|
+
var ds = class {
|
|
22403
23011
|
constructor() {
|
|
22404
23012
|
this.TAG = "[HTTPAnalyticsTransport]";
|
|
22405
23013
|
this.failedEvents = new ve("client-events");
|
|
@@ -22418,7 +23026,7 @@ var as = class {
|
|
|
22418
23026
|
this.addEventToStorage(e);
|
|
22419
23027
|
return;
|
|
22420
23028
|
}
|
|
22421
|
-
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ?
|
|
23029
|
+
let t = { event: e.name, payload: e.properties, event_id: String(e.timestamp), peer: e.metadata.peer, timestamp: e.timestamp, device_id: e.device_id, cluster: { websocket_url: this.websocketURL } }, i = this.env === "prod" ? na : ca;
|
|
22422
23030
|
fetch(i, { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${e.metadata.token}`, user_agent_v2: e.metadata.userAgent }, body: JSON.stringify(t) }).then((r) => {
|
|
22423
23031
|
if (r.status === 401) {
|
|
22424
23032
|
this.removeFromStorage(e);
|
|
@@ -22444,8 +23052,8 @@ var as = class {
|
|
|
22444
23052
|
i > -1 && (t.splice(i, 1), this.failedEvents.set(t));
|
|
22445
23053
|
}
|
|
22446
23054
|
};
|
|
22447
|
-
var He = new
|
|
22448
|
-
var
|
|
23055
|
+
var He = new ds();
|
|
23056
|
+
var qt = class {
|
|
22449
23057
|
static handleError(e) {
|
|
22450
23058
|
if (e.status === 404)
|
|
22451
23059
|
throw S.APIErrors.EndpointUnreachable("FEEDBACK", e.statusText);
|
|
@@ -22471,67 +23079,67 @@ var $t = class {
|
|
|
22471
23079
|
});
|
|
22472
23080
|
}
|
|
22473
23081
|
};
|
|
22474
|
-
|
|
22475
|
-
var
|
|
23082
|
+
qt.TAG = "[FeedbackService]";
|
|
23083
|
+
var ls = ((f) => (f.FLAG_SERVER_SUB_DEGRADATION = "subscribeDegradation", f.FLAG_SERVER_SIMULCAST = "simulcast", f.FLAG_NON_WEBRTC_DISABLE_OFFER = "nonWebRTCDisableOffer", f.FLAG_PUBLISH_STATS = "publishStats", f.FLAG_SUBSCRIBE_STATS = "subscribeStats", f.FLAG_ON_DEMAND_TRACKS = "onDemandTracks", f.FLAG_DISABLE_VIDEO_TRACK_AUTO_UNSUBSCRIBE = "disableVideoTrackAutoUnsubscribe", f.FLAG_WHITEBOARD_ENABLED = "whiteboardEnabled", f.FLAG_EFFECTS_SDK_ENABLED = "effectsSDKEnabled", f.FLAG_VB_ENABLED = "vb", f.FLAG_HIPAA_ENABLED = "hipaa", f.FLAG_NOISE_CANCELLATION = "noiseCancellation", f.FLAG_SCALE_SCREENSHARE_BASED_ON_PIXELS = "scaleScreenshareBasedOnPixels", f.FLAG_DISABLE_NONE_LAYER_REQUEST = "disableNoneLayerRequest", f))(ls || {});
|
|
22476
23084
|
var j = ((s) => (s[s.ConnectFailed = 0] = "ConnectFailed", s[s.SignalDisconnect = 1] = "SignalDisconnect", s[s.JoinWSMessageFailed = 2] = "JoinWSMessageFailed", s[s.PublishIceConnectionFailed = 3] = "PublishIceConnectionFailed", s[s.SubscribeIceConnectionFailed = 4] = "SubscribeIceConnectionFailed", s))(j || {});
|
|
22477
|
-
var
|
|
22478
|
-
var
|
|
22479
|
-
var
|
|
22480
|
-
var
|
|
22481
|
-
var
|
|
22482
|
-
var
|
|
22483
|
-
var
|
|
22484
|
-
var
|
|
22485
|
-
var
|
|
22486
|
-
var
|
|
22487
|
-
var Le = createSelector([
|
|
22488
|
-
var
|
|
23085
|
+
var ur = ((n) => (n.Disconnected = "Disconnected", n.Connecting = "Connecting", n.Joined = "Joined", n.Preview = "Preview", n.Failed = "Failed", n.Reconnecting = "Reconnecting", n.Leaving = "Leaving", n))(ur || {});
|
|
23086
|
+
var mt = ((t) => (t[t.Publish = 0] = "Publish", t[t.Subscribe = 1] = "Subscribe", t))(mt || {});
|
|
23087
|
+
var Kn = (a2) => a2.localPeer.id;
|
|
23088
|
+
var qn = (a2) => a2.localPeer.audioTrack;
|
|
23089
|
+
var jn = (a2) => a2.localPeer.videoTrack;
|
|
23090
|
+
var Jn = (a2, e) => e;
|
|
23091
|
+
var mo = (a2, e) => e;
|
|
23092
|
+
var Qn = (a2) => a2.remoteTrackStats;
|
|
23093
|
+
var So = (a2) => a2.peerStats;
|
|
23094
|
+
var ms = (a2) => a2.localTrackStats;
|
|
23095
|
+
var Le = createSelector([So, Kn], (a2, e) => a2[e]);
|
|
23096
|
+
var zn = createSelector(Le, (a2) => {
|
|
22489
23097
|
var e;
|
|
22490
23098
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.packetsLost;
|
|
22491
23099
|
});
|
|
22492
|
-
var
|
|
23100
|
+
var Yn = createSelector(Le, (a2) => {
|
|
22493
23101
|
var e;
|
|
22494
23102
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.jitter;
|
|
22495
23103
|
});
|
|
22496
|
-
var
|
|
23104
|
+
var Xn = createSelector(Le, (a2) => {
|
|
22497
23105
|
var e;
|
|
22498
23106
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bitrate;
|
|
22499
23107
|
});
|
|
22500
|
-
var
|
|
23108
|
+
var Zn = createSelector(Le, (a2) => {
|
|
22501
23109
|
var e;
|
|
22502
23110
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bitrate;
|
|
22503
23111
|
});
|
|
22504
|
-
var
|
|
23112
|
+
var ec = createSelector(Le, (a2) => {
|
|
22505
23113
|
var e;
|
|
22506
23114
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.availableOutgoingBitrate;
|
|
22507
23115
|
});
|
|
22508
|
-
var
|
|
23116
|
+
var tc = createSelector(Le, (a2) => {
|
|
22509
23117
|
var e;
|
|
22510
23118
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.availableIncomingBitrate;
|
|
22511
23119
|
});
|
|
22512
|
-
var
|
|
23120
|
+
var ic = createSelector(Le, (a2) => {
|
|
22513
23121
|
var e;
|
|
22514
23122
|
return (e = a2 == null ? void 0 : a2.publish) == null ? void 0 : e.bytesSent;
|
|
22515
23123
|
});
|
|
22516
|
-
var
|
|
23124
|
+
var rc = createSelector(Le, (a2) => {
|
|
22517
23125
|
var e;
|
|
22518
23126
|
return (e = a2 == null ? void 0 : a2.subscribe) == null ? void 0 : e.bytesReceived;
|
|
22519
23127
|
});
|
|
22520
|
-
var
|
|
22521
|
-
var
|
|
22522
|
-
var
|
|
22523
|
-
var
|
|
22524
|
-
var
|
|
22525
|
-
var
|
|
23128
|
+
var sc = createSelector([So, Jn], (a2, e) => e ? a2[e] : void 0);
|
|
23129
|
+
var ac = createSelector([Qn, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23130
|
+
var Ss = createSelector([ms, mo], (a2, e) => e ? a2[e] : void 0);
|
|
23131
|
+
var oc = H(sc);
|
|
23132
|
+
var nc = H(ac);
|
|
23133
|
+
var cc = createSelector([ms, qn], (a2, e) => {
|
|
22526
23134
|
var t;
|
|
22527
23135
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22528
23136
|
});
|
|
22529
|
-
var
|
|
22530
|
-
var
|
|
23137
|
+
var dc = H(createSelector(Ss, (a2) => a2 == null ? void 0 : a2[0]));
|
|
23138
|
+
var lc = createSelector([ms, jn], (a2, e) => {
|
|
22531
23139
|
var t;
|
|
22532
23140
|
return e ? (t = a2[e]) == null ? void 0 : t[0] : void 0;
|
|
22533
23141
|
});
|
|
22534
|
-
var
|
|
23142
|
+
var uc = H(createSelector(Ss, (a2) => a2));
|
|
22535
23143
|
|
|
22536
23144
|
// src/Prebuilt/components/Header/StreamActions.tsx
|
|
22537
23145
|
var import_react_sdk41 = require("@100mslive/react-sdk");
|
|
@@ -22640,7 +23248,7 @@ var RecordingStatus = () => {
|
|
|
22640
23248
|
};
|
|
22641
23249
|
var RecordingPauseStatus = () => {
|
|
22642
23250
|
const recording = (0, import_react_sdk41.useHMSStore)(import_react_sdk41.selectRecordingState);
|
|
22643
|
-
if (recording.hls && recording.hls.state ===
|
|
23251
|
+
if (recording.hls && recording.hls.state === qs.PAUSED) {
|
|
22644
23252
|
return /* @__PURE__ */ import_react88.default.createElement(
|
|
22645
23253
|
Tooltip,
|
|
22646
23254
|
{
|
|
@@ -27401,7 +28009,7 @@ var Chat = () => {
|
|
|
27401
28009
|
const listRef = (0, import_react153.useRef)(null);
|
|
27402
28010
|
const hmsActions = (0, import_react_sdk74.useHMSActions)();
|
|
27403
28011
|
const vanillaStore = (0, import_react_sdk74.useHMSVanillaStore)();
|
|
27404
|
-
const { enabled: isChatEnabled = true } = (0, import_react_sdk74.useHMSStore)(
|
|
28012
|
+
const { enabled: isChatEnabled = true } = (0, import_react_sdk74.useHMSStore)(ES("chatState" /* CHAT_STATE */)) || {};
|
|
27405
28013
|
const isMobile = (0, import_react_use26.useMedia)(config.media.md);
|
|
27406
28014
|
const isMobileHLSStream = useMobileHLSStream();
|
|
27407
28015
|
const isLandscapeStream = useLandscapeHLSStream();
|
|
@@ -27491,7 +28099,7 @@ var NewMessageIndicator = ({
|
|
|
27491
28099
|
scrollToBottom,
|
|
27492
28100
|
listRef
|
|
27493
28101
|
}) => {
|
|
27494
|
-
const unreadCount = (0, import_react_sdk74.useHMSStore)(
|
|
28102
|
+
const unreadCount = (0, import_react_sdk74.useHMSStore)(Km);
|
|
27495
28103
|
if (!unreadCount || !listRef.current) {
|
|
27496
28104
|
return null;
|
|
27497
28105
|
}
|
|
@@ -28448,7 +29056,7 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28448
29056
|
const toggleVB = useSidepaneToggle(SIDE_PANE_OPTIONS.VB);
|
|
28449
29057
|
const hmsActions = (0, import_react_sdk82.useHMSActions)();
|
|
28450
29058
|
const localPeer = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectLocalPeer);
|
|
28451
|
-
const role = (0, import_react_sdk82.useHMSStore)(
|
|
29059
|
+
const role = (0, import_react_sdk82.useHMSStore)(dt);
|
|
28452
29060
|
const isVideoOn = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectIsLocalVideoEnabled);
|
|
28453
29061
|
const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
|
|
28454
29062
|
const trackSelector = (0, import_react_sdk82.selectVideoTrackByID)(localPeer == null ? void 0 : localPeer.videoTrack);
|
|
@@ -28457,12 +29065,12 @@ var VBPicker = ({ backgroundMedia = [] }) => {
|
|
|
28457
29065
|
const roomState = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectRoomState);
|
|
28458
29066
|
const isLargeRoom = (0, import_react_sdk82.useHMSStore)(import_react_sdk82.selectIsLargeRoom);
|
|
28459
29067
|
const isEffectsSupported = VBHandler.isEffectsSupported();
|
|
28460
|
-
const isEffectsEnabled = (0, import_react_sdk82.useHMSStore)(
|
|
28461
|
-
const effectsKey = (0, import_react_sdk82.useHMSStore)(
|
|
29068
|
+
const isEffectsEnabled = (0, import_react_sdk82.useHMSStore)(sS);
|
|
29069
|
+
const effectsKey = (0, import_react_sdk82.useHMSStore)(oS);
|
|
28462
29070
|
const isMobile = (0, import_react_use32.useMedia)(config.media.md);
|
|
28463
29071
|
const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
|
|
28464
29072
|
const isPluginAdded = (0, import_react_sdk82.useHMSStore)((0, import_react_sdk82.selectIsLocalVideoPluginPresent)(((_a8 = VBHandler) == null ? void 0 : _a8.getName()) || ""));
|
|
28465
|
-
const background = (0, import_react_sdk82.useHMSStore)(
|
|
29073
|
+
const background = (0, import_react_sdk82.useHMSStore)(kS(APP_DATA.background));
|
|
28466
29074
|
const mediaList = backgroundMedia.map((media) => media.url || "");
|
|
28467
29075
|
const pluginLoadingRef = (0, import_react163.useRef)(false);
|
|
28468
29076
|
const isBlurSupported = (_b7 = VBHandler) == null ? void 0 : _b7.isBlurSupported();
|
|
@@ -34205,8 +34813,8 @@ var import_react230 = require("react");
|
|
|
34205
34813
|
var import_react_sdk118 = require("@100mslive/react-sdk");
|
|
34206
34814
|
var MessageNotifications = () => {
|
|
34207
34815
|
var _a8, _b7;
|
|
34208
|
-
const notification = (0, import_react_sdk118.useHMSNotifications)(
|
|
34209
|
-
const amIScreenSharing = (0, import_react_sdk118.useHMSStore)(
|
|
34816
|
+
const notification = (0, import_react_sdk118.useHMSNotifications)(br.NEW_MESSAGE);
|
|
34817
|
+
const amIScreenSharing = (0, import_react_sdk118.useHMSStore)(ts);
|
|
34210
34818
|
const logoURL = (_b7 = (_a8 = useRoomLayout()) == null ? void 0 : _a8.logo) == null ? void 0 : _b7.url;
|
|
34211
34819
|
const { pipWindow } = usePIPWindow();
|
|
34212
34820
|
const { showNotification } = (0, import_react_sdk118.useAwayNotifications)();
|