@incodetech/core 2.1.1 → 2.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/{3dAvatarProvider-BwOmTMOy.esm.js → 3dAvatarProvider-g02DTFqT.esm.js} +811 -880
  2. package/dist/Actor-iTq7YY48.d.ts +1 -0
  3. package/dist/BrowserDiagnosticsCryptoProvider-CriIh1Gt.esm.js +95 -0
  4. package/dist/BrowserLazyImportProvider-BhoA957O.esm.js +114 -0
  5. package/dist/{BrowserStorageProvider-CBHBhKQN.esm.js → BrowserStorageProvider-k-FDkC4W.esm.js} +2 -4
  6. package/dist/{BrowserTimerProvider-CHloo0eQ.esm.js → BrowserTimerProvider-BXhgNxLt.esm.js} +1 -2
  7. package/dist/{BrowserVisibilityObserverProvider-GBS6XSii.esm.js → BrowserVisibilityObserverProvider-BX1BiLDK.esm.js} +1 -2
  8. package/dist/Face2DProvider-UUQt_vRC.esm.js +437 -0
  9. package/dist/{createFaceAvatar-CpdYp9Iy.d.ts → FaceDetectionProvider-Mh6q3EbA.d.ts} +107 -159
  10. package/dist/IBrowserEnvironmentCapability-DEaRRk-R.esm.js +9 -0
  11. package/dist/IFaceAvatarCapability-BrL19G0s.d.ts +23 -0
  12. package/dist/IFeatureManagementCapability-DdEUp6tB.d.ts +1125 -0
  13. package/dist/IIdCaptureCapability-DHTT3FC2.d.ts +237 -0
  14. package/dist/IStorageCapability-ORkQfK3F.d.ts +242 -0
  15. package/dist/{ITimerCapability-DJ73P4RK.esm.js → ITimerCapability-DgdDzp8G.esm.js} +1 -2
  16. package/dist/{Manager-goNPc_h_.d.ts → Manager-CQQ99QOI.d.ts} +1 -0
  17. package/dist/{MotionSensorProvider-BHuHoYvJ.esm.js → MotionSensorProvider-DGiV77J_.esm.js} +2 -37
  18. package/dist/{OpenViduRecordingProvider-CK6A5kiU.esm.js → OpenViduRecordingProvider-Du98qevC.esm.js} +2 -4
  19. package/dist/PrivacyLensProvider-D8PS7AJa.esm.js +405 -0
  20. package/dist/StateMachine-EDpYWy0i.d.ts +6 -0
  21. package/dist/{StreamCanvasCapture-CAqUdVkM.esm.js → StreamCanvasCapture-D2XcXCZ4.esm.js} +2 -4
  22. package/dist/{addressSearch-D7msRieq.esm.js → addressSearch-DQyrvDQj.esm.js} +10 -21
  23. package/dist/ae-signature.d.ts +4 -6
  24. package/dist/ae-signature.esm.js +10 -11
  25. package/dist/antifraud.d.ts +1 -6
  26. package/dist/antifraud.esm.js +3 -8
  27. package/dist/{antifraudManager-5KA84wtF.esm.js → antifraudManager-B8Plzf7a.esm.js} +11 -8
  28. package/dist/{antifraudManager-DCiNI6np.d.ts → antifraudManager-BY36bS12.d.ts} +3 -3
  29. package/dist/{antifraudStateMachine-BQVw46N5.esm.js → antifraudStateMachine-r4VxSBS4.esm.js} +5 -7
  30. package/dist/api-Bx3gKW_y.esm.js +129 -0
  31. package/dist/{apiError-DkOXfFBu.esm.js → apiError-DZfAyExM.esm.js} +25 -3
  32. package/dist/authentication.d.ts +3 -19
  33. package/dist/authentication.esm.js +3 -35
  34. package/dist/{authenticationManager-BeT6tNZm.d.ts → authenticationManager-BBMGTcwW.d.ts} +3 -4
  35. package/dist/{authenticationManager-BryLnSaF.esm.js → authenticationManager-DscbQwIl.esm.js} +7 -10
  36. package/dist/{authenticationStateMachine-DbdxfGHx.esm.js → authenticationStateMachine-SyuM00Fa.esm.js} +11 -15
  37. package/dist/avatar.d.ts +2 -2
  38. package/dist/avatar.esm.js +2 -3
  39. package/dist/avatar2dWarm-DqucNFX4.esm.js +1330 -0
  40. package/dist/avatarStats-CdUOb3VD.esm.js +136 -0
  41. package/dist/{backCameraStream-ChrMTJv-.esm.js → backCameraStream-CUeYm5eu.esm.js} +20 -8
  42. package/dist/browser-DlFgHpoC-DnyrCR8r.esm.js +1513 -0
  43. package/dist/callback-645_omgz.d.ts +133 -0
  44. package/dist/camera-_2sXMXiF.esm.js +140 -0
  45. package/dist/camera.d.ts +19 -2
  46. package/dist/camera.esm.js +2 -6
  47. package/dist/{canvas-Pi10hG_l.esm.js → canvas-E1zGkel4.esm.js} +1 -2
  48. package/dist/certificate-issuance.d.ts +34 -39
  49. package/dist/certificate-issuance.esm.js +4 -11
  50. package/dist/{certificateIssuanceStateMachine-DlZQT1_u.esm.js → certificateIssuanceStateMachine-COd7_l2T.esm.js} +7 -11
  51. package/dist/consent.d.ts +1 -4
  52. package/dist/consent.esm.js +3 -8
  53. package/dist/{consentManager-BwNu-uC-.esm.js → consentManager-BApTlfA0.esm.js} +5 -7
  54. package/dist/{consentManager-B4PMGXW-.d.ts → consentManager-uhDPdU6i.d.ts} +55 -61
  55. package/dist/{consentStateMachine-BOkVFiU7.esm.js → consentStateMachine-WD-S-Yhs.esm.js} +5 -7
  56. package/dist/{cpf-16m_cGAM.esm.js → cpf-BIADjddF.esm.js} +1 -2
  57. package/dist/createFaceAvatar-BEj18KXi.d.ts +50 -0
  58. package/dist/createFaceAvatar-DQKaRise.esm.js +103 -0
  59. package/dist/cross-document-data-match.d.ts +2 -26
  60. package/dist/cross-document-data-match.esm.js +2 -71
  61. package/dist/crossDocumentDataMatchManager-Dq8Z3SOg.d.ts +41 -0
  62. package/dist/crossDocumentDataMatchManager-OmYvyung.esm.js +84 -0
  63. package/dist/curp-validation.d.ts +1 -11
  64. package/dist/curp-validation.esm.js +3 -8
  65. package/dist/{curpValidationManager-CoqODZx5.d.ts → curpValidationManager-DVGr7Fq7.d.ts} +4 -6
  66. package/dist/{curpValidationManager-Cbji2inV.esm.js → curpValidationManager-UZxcrsrz.esm.js} +11 -7
  67. package/dist/{curpValidationStateMachine-Dlw4qfFb.esm.js → curpValidationStateMachine-9KwnqeoB.esm.js} +22 -14
  68. package/dist/custom-fields.d.ts +2 -5
  69. package/dist/custom-fields.esm.js +24 -11
  70. package/dist/custom-watchlist.d.ts +1 -3
  71. package/dist/custom-watchlist.esm.js +11 -10
  72. package/dist/{customWatchlistStateMachine-D8w0mNxm.esm.js → customWatchlistStateMachine-B_ey3TFj.esm.js} +5 -7
  73. package/dist/{dateUtils-BW6mBV6p.esm.js → dateUtils-CvG0FvK8.esm.js} +1 -2
  74. package/dist/{deepsightService-CViys6T4.esm.js → deepsightLoader-DcWjMC6A.esm.js} +68 -14
  75. package/dist/{deepsightService-BuTOFTr8.d.ts → deepsightService-DLVQS_RH.d.ts} +41 -2
  76. package/dist/device.d.ts +10 -2
  77. package/dist/device.esm.js +21 -21
  78. package/dist/document-capture.d.ts +3 -1816
  79. package/dist/document-capture.esm.js +3 -245
  80. package/dist/document-upload.d.ts +48 -55
  81. package/dist/document-upload.esm.js +8 -14
  82. package/dist/documentCaptureManager-B4Kivr8_.d.ts +2062 -0
  83. package/dist/documentCaptureManager-DszmcU-l.esm.js +296 -0
  84. package/dist/{documentCaptureStateMachine-BkTvU3yq.esm.js → documentCaptureStateMachine-D2jBwwVb.esm.js} +66 -40
  85. package/dist/dynamic-forms.d.ts +2 -4
  86. package/dist/dynamic-forms.esm.js +3 -9
  87. package/dist/{dynamicFormsManager-CHXUBNs4.esm.js → dynamicFormsManager-BoZ2-OUI.esm.js} +48 -9
  88. package/dist/{dynamicFormsManager-CKZkE7Wo.d.ts → dynamicFormsManager-fhK0yINk.d.ts} +22 -46
  89. package/dist/{dynamicFormsStateMachine-DJ1HGZff.esm.js → dynamicFormsStateMachine-D0RzkoEV.esm.js} +161 -34
  90. package/dist/ekyb.d.ts +5 -137
  91. package/dist/ekyb.esm.js +4 -179
  92. package/dist/ekybManager-DTvfxAOZ.esm.js +178 -0
  93. package/dist/ekybManager-Dzswb_b8.d.ts +114 -0
  94. package/dist/{ekybStateMachine-D9GzA4MW.esm.js → ekybStateMachine-BlTIozb6.esm.js} +16 -193
  95. package/dist/ekyc.d.ts +2 -79
  96. package/dist/ekyc.esm.js +4 -154
  97. package/dist/ekycManager-BFpHbBoT.d.ts +97 -0
  98. package/dist/ekycManager-oTstTJuL.esm.js +156 -0
  99. package/dist/{ekycStateMachine-DnVRiu3s.esm.js → ekycStateMachine-DHvksnrr.esm.js} +141 -423
  100. package/dist/ekycUtils-Dew1rBG0.esm.js +223 -0
  101. package/dist/electronic-signature.d.ts +3 -5
  102. package/dist/electronic-signature.esm.js +2 -10
  103. package/dist/{index-36QX_21w.d.ts → electronicSignatureManager-CcUXQZS7.d.ts} +220 -251
  104. package/dist/{electronicSignatureManager-DESRgObX.esm.js → electronicSignatureManager-DRYlHPjT.esm.js} +47 -33
  105. package/dist/email.d.ts +1 -5
  106. package/dist/email.esm.js +3 -10
  107. package/dist/{emailManager-CMS4q_r6.d.ts → emailManager-CADXW_9X.d.ts} +4 -7
  108. package/dist/{emailManager-B9Vrv3Ma.esm.js → emailManager-tE-YvNtS.esm.js} +76 -12
  109. package/dist/{emailStateMachine-CbmKFVSi.esm.js → emailStateMachine-Bm894MHB.esm.js} +7 -9
  110. package/dist/{endpoints-CwrFQfW7.esm.js → endpoints-CCzL3XD_.esm.js} +55 -6
  111. package/dist/{events-1wxZ97yf.esm.js → events-CxfNJVZW.esm.js} +43 -176
  112. package/dist/events.d.ts +28 -10
  113. package/dist/events.esm.js +2 -4
  114. package/dist/extensibility.d.ts +37 -37
  115. package/dist/extensibility.esm.js +31 -80
  116. package/dist/{externalFetch-hvmz_npP.esm.js → externalFetch-BKBThAUC.esm.js} +2 -4
  117. package/dist/face-match.d.ts +2 -225
  118. package/dist/face-match.esm.js +3 -173
  119. package/dist/{faceCaptureManagerFactory-C9TiGbkA.esm.js → faceCaptureManagerFactory-BDAsBCkh.esm.js} +52 -31
  120. package/dist/{faceCaptureManagerFactory-DiJ64oem.d.ts → faceCaptureManagerFactory-BxWPpxyd.d.ts} +63 -24
  121. package/dist/{faceCaptureSetup-BqhqfFHL.esm.js → faceCaptureSetup-C7Qv79fA.esm.js} +57 -36
  122. package/dist/faceMatchManager-BXp2WUT-.esm.js +201 -0
  123. package/dist/faceMatchManager-BnvrZM2F.d.ts +268 -0
  124. package/dist/{faceMatchStateMachine-MDb30gCm.esm.js → faceMatchStateMachine-CJiO2yLO.esm.js} +14 -10
  125. package/dist/feature-management-DS_Nj5Gg.esm.js +615 -0
  126. package/dist/feature-management.d.ts +173 -0
  127. package/dist/feature-management.esm.js +2 -0
  128. package/dist/field-comparison.d.ts +1 -4
  129. package/dist/field-comparison.esm.js +2 -7
  130. package/dist/{fieldComparisonManager-OLKVsG2Z.d.ts → fieldComparisonManager-CBvEGxFx.d.ts} +3 -5
  131. package/dist/{fieldComparisonManager-Cw4uzD7S.esm.js → fieldComparisonManager-DhnYdYZ2.esm.js} +6 -11
  132. package/dist/fiscal-qr.d.ts +1 -6
  133. package/dist/fiscal-qr.esm.js +14 -29
  134. package/dist/flow-events.d.ts +2 -9
  135. package/dist/flow.d.ts +59 -21
  136. package/dist/flow.esm.js +132 -49
  137. package/dist/{flowCompletionService-B6P6_EF3.esm.js → flowCompletionService-BSe3p7pg.esm.js} +4 -6
  138. package/dist/flowServices-unhF9V9F.esm.js +620 -0
  139. package/dist/geolocation.d.ts +1 -4
  140. package/dist/geolocation.esm.js +3 -9
  141. package/dist/{geolocationManager-CF6-NizA.esm.js → geolocationManager-Bv9MSVNr.esm.js} +44 -16
  142. package/dist/geolocationManager-Cz744E5S.d.ts +506 -0
  143. package/dist/{geolocationStateMachine-CD2XJs1b.esm.js → geolocationStateMachine-BxD6JK1M.esm.js} +53 -28
  144. package/dist/{getBrowser-1yNcfFZR.esm.js → getBrowser-Cb8Zgrgp.esm.js} +1 -2
  145. package/dist/getBrowser-DNrQeL4T.esm.js +16 -0
  146. package/dist/getDeviceClass-9y-kbVDw.esm.js +19 -0
  147. package/dist/{getDeviceClass-C-Dg6IsJ.esm.js → getDeviceClass-CeBiEayS.esm.js} +1 -2
  148. package/dist/getParsedUserAgent-pJjATANs.esm.js +1622 -0
  149. package/dist/government-validation.d.ts +3 -6
  150. package/dist/government-validation.esm.js +7 -13
  151. package/dist/{governmentValidationStateMachine-BE5wiQ7Y.esm.js → governmentValidationStateMachine-BYKYUdza.esm.js} +8 -11
  152. package/dist/home.d.ts +14 -22
  153. package/dist/home.esm.js +3 -8
  154. package/dist/http.d.ts +0 -1
  155. package/dist/http.esm.js +2 -4
  156. package/dist/id-ocr.d.ts +8 -7
  157. package/dist/id-ocr.esm.js +20 -9
  158. package/dist/id-selfie-flow.d.ts +179 -0
  159. package/dist/id-selfie-flow.esm.js +917 -0
  160. package/dist/id-verification.d.ts +2 -191
  161. package/dist/id-verification.esm.js +3 -43
  162. package/dist/id.d.ts +7 -18
  163. package/dist/id.esm.js +47 -53
  164. package/dist/{idCaptureDefaults-CZajItdO.esm.js → idCaptureDefaults-WeHbQM7W.esm.js} +54 -17
  165. package/dist/idCaptureManager-BjU-Wyow.d.ts +429 -0
  166. package/dist/{idCaptureManager-DASPUMtC.esm.js → idCaptureManager-BjiBSrHm.esm.js} +173 -34
  167. package/dist/idCaptureServices-CFDwqTtQ.esm.js +396 -0
  168. package/dist/{idCaptureStateMachine-DZ2ZTSxu.esm.js → idCaptureStateMachine-CRwQh8jc.esm.js} +438 -585
  169. package/dist/{idOcrManager-Tm4LzKR0.esm.js → idOcrManager-CvJZhmBR.esm.js} +4 -7
  170. package/dist/{idOcrManager-DLfAjDZn.d.ts → idOcrManager-DXc_xRN7.d.ts} +62 -229
  171. package/dist/{idOcrStateMachine-BJxZCxwS.esm.js → idOcrStateMachine-Bq_e3l4E.esm.js} +15 -20
  172. package/dist/idVerificationManager-BB4Pj_N6.d.ts +197 -0
  173. package/dist/idVerificationManager-CduNXhWd.esm.js +51 -0
  174. package/dist/{idVerificationStateMachine-DXN9WcdM.esm.js → idVerificationStateMachine-GEQWUPU2.esm.js} +5 -7
  175. package/dist/identity-reuse.d.ts +1 -4
  176. package/dist/identity-reuse.esm.js +3 -8
  177. package/dist/{identityReuseManager-LjkPvSQN.esm.js → identityReuseManager-D5vXknnJ.esm.js} +24 -7
  178. package/dist/{identityReuseManager-CLVOYxcp.d.ts → identityReuseManager-v2TH5g7e.d.ts} +38 -43
  179. package/dist/{identityReuseStateMachine-Bp-zONoV.esm.js → identityReuseStateMachine-AubRPhIi.esm.js} +6 -8
  180. package/dist/index-B8weJxmL.d.ts +1 -0
  181. package/dist/index-BKOWUhxG.d.ts +258 -0
  182. package/dist/{index-DrpWp15Z.d.ts → index-CLMF0QLQ.d.ts} +3 -3
  183. package/dist/index.d.ts +1 -3
  184. package/dist/index.esm.js +2 -15
  185. package/dist/{invokeOnCaptureCallback-CCS2Ruzi.esm.js → invokeOnCaptureCallback-1m1VJ3Q4.esm.js} +2 -4
  186. package/dist/{lib-Bjd6nOLG.esm.js → lib-DAyUtOTj.esm.js} +1510 -1589
  187. package/dist/mandatory-consent.d.ts +2 -10
  188. package/dist/mandatory-consent.esm.js +3 -8
  189. package/dist/{mandatoryConsentManager-DeBmOHcQ.d.ts → mandatoryConsentManager-B29kR0XA.d.ts} +60 -85
  190. package/dist/{mandatoryConsentManager-DZ26sg4B.esm.js → mandatoryConsentManager-BeELm1zS.esm.js} +4 -7
  191. package/dist/{mandatoryConsentStateMachine-_44ZoDSh.esm.js → mandatoryConsentStateMachine-zroQGzwb.esm.js} +5 -7
  192. package/dist/manualReviewService-D4IkipnN.esm.js +15 -0
  193. package/dist/{mediaRecorderOptions-CClCKAiF.esm.js → mediaRecorderOptions-dALSV8af.esm.js} +2 -4
  194. package/dist/{mediapipeShared-Bcmkzs3x.esm.js → mediapipeShared-B6oNoXEQ.esm.js} +21 -9
  195. package/dist/{onDeviceFaceResults-DILtthks.esm.js → onDeviceFaceResults-f81FVdQs.esm.js} +30 -87
  196. package/dist/openviduLazy-CCDpFWg1.esm.js +10 -0
  197. package/dist/{otp-B1YeyRXu.d.ts → otp-CEWfTj9v.d.ts} +0 -1
  198. package/dist/{otp-uaXiKt_R.esm.js → otp-D2k3PeSL.esm.js} +3 -14
  199. package/dist/{permissionGuards-BNOe4Tnu.esm.js → permissionGuards-KINpmKtI.esm.js} +2 -4
  200. package/dist/{permissionServices-C_kxhNeo.esm.js → permissionServices-UvUcOSRb.esm.js} +35 -28
  201. package/dist/personhood.d.ts +13 -20
  202. package/dist/personhood.esm.js +153 -85
  203. package/dist/phone.d.ts +1 -5
  204. package/dist/phone.esm.js +3 -10
  205. package/dist/{phoneManager-_KtitbUA.d.ts → phoneManager-BBU8Lq0O.d.ts} +4 -7
  206. package/dist/{phoneManager-CRblfdcI.esm.js → phoneManager-Cpiai2IM.esm.js} +82 -12
  207. package/dist/{phoneStateMachine-DjFGWMjQ.esm.js → phoneStateMachine-E1fUUcNM.esm.js} +7 -9
  208. package/dist/{platform-0Ot-bF_a.esm.js → platform-BJrm5nzZ.esm.js} +31 -11
  209. package/dist/privacyLensWorker-DI-Rg83h.esm.js +355 -0
  210. package/dist/qe-signature.d.ts +4 -6
  211. package/dist/qe-signature.esm.js +10 -11
  212. package/dist/{recordingService-CxaYkITO.esm.js → recordingService-CFpfdXSS.esm.js} +13 -31
  213. package/dist/redirect-to-mobile.d.ts +2 -6
  214. package/dist/redirect-to-mobile.esm.js +3 -10
  215. package/dist/{redirectToMobileManager-dv29o_LS.d.ts → redirectToMobileManager-BD2PvT5B.d.ts} +8 -44
  216. package/dist/{redirectToMobileManager-DbuNUlru.esm.js → redirectToMobileManager-C0dfc7f6.esm.js} +28 -8
  217. package/dist/{redirectToMobileStateMachine-BRaIJWOM.esm.js → redirectToMobileStateMachine-C9SYCJcH.esm.js} +74 -18
  218. package/dist/rolldown-runtime-FZ4Itg2g.esm.js +42 -0
  219. package/dist/{runChildModule-kojSv3MH.esm.js → runChildModule-DpvgAGFA.esm.js} +10 -9
  220. package/dist/{WasmUtilProvider-BgzcXBdl.esm.js → safeStorage-Ep56I-f_.esm.js} +98 -473
  221. package/dist/selfie.d.ts +8 -21
  222. package/dist/selfie.esm.js +40 -47
  223. package/dist/selfieErrorUtils-C2PYBVsp.esm.js +90 -0
  224. package/dist/{selfieManager-B1Px3GGa.esm.js → selfieManager-Br4onIMy.esm.js} +7 -10
  225. package/dist/{selfieManager-4juKfrHG.d.ts → selfieManager-DwlCppg0.d.ts} +3 -4
  226. package/dist/{selfieStateMachine-D0TS93Tu.esm.js → selfieStateMachine-CNGs8vFK.esm.js} +14 -29
  227. package/dist/{session-CLsU2Jnb.esm.js → session-CX2H3tmI.esm.js} +16 -7
  228. package/dist/session.d.ts +12 -10
  229. package/dist/session.esm.js +5 -15
  230. package/dist/sessionInitializer-CV6Rj_dn.esm.js +1865 -0
  231. package/dist/{setup-CfNsYAeB.esm.js → setup-CYdVacqv.esm.js} +319 -137
  232. package/dist/{setup-CmA2apmN.d.ts → setup-DywQeePQ.d.ts} +186 -4
  233. package/dist/signature.d.ts +2 -96
  234. package/dist/signature.esm.js +3 -108
  235. package/dist/signatureManager-DGBSWz2_.d.ts +106 -0
  236. package/dist/signatureManager-DdPgcmou.esm.js +113 -0
  237. package/dist/{signatureStateMachine-CdhlMih-.esm.js → signatureStateMachine-Cf73DGWO.esm.js} +5 -7
  238. package/dist/spawn-D9jgw9pW.d.ts +1441 -0
  239. package/dist/src-0Jurt29N.esm.js +4482 -0
  240. package/dist/{stats-BVy52wLy.esm.js → stats-B0nFKawG.esm.js} +3 -5
  241. package/dist/stats.esm.js +2 -5
  242. package/dist/topLevelStateName-B5i2avbh.esm.js +41 -0
  243. package/dist/{tri-CFAPtAUM.esm.js → tri-4RsGrIt6.esm.js} +3 -119
  244. package/dist/tri.d.ts +2 -2
  245. package/dist/tri.esm-BIjHhBJ2.esm.js +2620 -0
  246. package/dist/tri.esm.js +2 -4
  247. package/dist/trueSight-B8G85W4z.esm.js +1 -0
  248. package/dist/trueSightService-6dTpiaTh.esm.js +1894 -0
  249. package/dist/trust-graph.d.ts +4 -5
  250. package/dist/trust-graph.esm.js +13 -9
  251. package/dist/types-BEwVKkLJ.d.ts +15 -0
  252. package/dist/{types-BKLb3C42.esm.js → types-BN5RPPIZ.esm.js} +1 -2
  253. package/dist/types-BSBzhHRH.d.ts +57 -0
  254. package/dist/types-BX_XkMsQ2.d.ts +21 -0
  255. package/dist/types-BfHiko5D.d.ts +48 -0
  256. package/dist/{types-D8Cl1N2Z.d.ts → types-BfgmV7s72.d.ts} +2 -2
  257. package/dist/types-CJ7Yl9K-2.d.ts +164 -0
  258. package/dist/types-DPIDuhut.d.ts +40 -0
  259. package/dist/types-DVmXIdzW.d.ts +82 -0
  260. package/dist/types-DelMqZLe.d.ts +105 -0
  261. package/dist/types-EELWyWpd.d.ts +6 -0
  262. package/dist/{types-fO6KIdol.d.ts → types-Hmd7U0JA.d.ts} +80 -6
  263. package/dist/{types-BUgeB2X6.d.ts → types-KPvmag_B.d.ts} +7 -7
  264. package/dist/types-M6eb82ra2.d.ts +589 -0
  265. package/dist/{types-DV3wkhQ4.d.ts → types-Vb4P9ovf.d.ts} +1 -3
  266. package/dist/{urlUtils-CpiYwn7w.esm.js → urlUtils-D6phjq1-.esm.js} +1 -2
  267. package/dist/{video-ZY92rkel.esm.js → video-BtSWtHy1.esm.js} +1 -2
  268. package/dist/video-selfie.d.ts +71 -117
  269. package/dist/video-selfie.esm.js +575 -643
  270. package/dist/videoSelfieCameraWarmer-h_VUk5Vu.esm.js +651 -0
  271. package/dist/videoSelfieStepDetector-D3oo2ofo.d.ts +123 -0
  272. package/dist/wasm.d.ts +2 -4
  273. package/dist/wasm.esm.js +4 -15
  274. package/dist/wasmDefaults-DTUrftxR.esm.js +125 -0
  275. package/dist/{wasmDsFlagSync-Ch0mFJNT.esm.js → wasmDsFlagSync-BqUCwLY8.esm.js} +2 -4
  276. package/dist/wasmWebClient-DM8lkb0z.esm.js +407 -0
  277. package/dist/watchlist-for-business.d.ts +1 -3
  278. package/dist/watchlist-for-business.esm.js +9 -9
  279. package/dist/watchlist.d.ts +1 -52
  280. package/dist/watchlist.esm.js +3 -70
  281. package/dist/{watchlistForBusinessStateMachine-R1Yp1g5A.esm.js → watchlistForBusinessStateMachine-BcBMkMvV.esm.js} +5 -7
  282. package/dist/watchlistManager-CjSMmbyq.esm.js +83 -0
  283. package/dist/watchlistManager-DLXef90v.d.ts +68 -0
  284. package/dist/{watchlistStateMachine-D07UVq1m.esm.js → watchlistStateMachine-Bl7Wy9Cm.esm.js} +5 -7
  285. package/dist/workflow.d.ts +239 -203
  286. package/dist/workflow.esm.js +156 -101
  287. package/dist/xstate-actors.esm-CtI5S0f4.esm.js +310 -0
  288. package/dist/{xstate.esm-nY3M5UYm.esm.js → xstate.esm-Cf4e0Cfd.esm.js} +136 -610
  289. package/package.json +14 -9
  290. package/dist/Actor-BwgmOPkb.d.ts +0 -2
  291. package/dist/Face2DProvider-CZU11g6r.esm.js +0 -824
  292. package/dist/FaceDetectionProvider-CPWg-PAH.d.ts +0 -119
  293. package/dist/IWasmUtilCapability-DaSNxgA8.d.ts +0 -150
  294. package/dist/PrivacyLensProvider-B_zrV25p.esm.js +0 -339
  295. package/dist/StateMachine-D5WO6lHS.d.ts +0 -2
  296. package/dist/StreamCanvasCapture-DHaWferF.d.ts +0 -42
  297. package/dist/ae-signature-Pp4oCAHD.esm.js +0 -12
  298. package/dist/api-DsbUi7TO.esm.js +0 -72
  299. package/dist/browser-DlFgHpoC-Br3G10gw.esm.js +0 -1425
  300. package/dist/browserSimulation-DZwEy9bu.esm.js +0 -2804
  301. package/dist/camera-CxxXV0VN.esm.js +0 -79
  302. package/dist/canvas-90BqS0NF.d.ts +0 -112
  303. package/dist/chunk-CIKcdghV.esm.js +0 -49
  304. package/dist/clientLifecycle-VyzRfALg.esm.js +0 -534
  305. package/dist/cpf-ocr.d.ts +0 -10
  306. package/dist/cpf-ocr.esm.js +0 -8
  307. package/dist/cpfOcrManager-9eM4z4o7.esm.js +0 -190
  308. package/dist/cpfOcrManager-C5U9E0hf.d.ts +0 -216
  309. package/dist/createFaceAvatar-BZSg2MNo.esm.js +0 -46
  310. package/dist/deepsightLoader-CU_tiLMx.esm.js +0 -62
  311. package/dist/flowServices-DkQmOkLV.esm.js +0 -208
  312. package/dist/geolocationManager-DaHYFkVO.d.ts +0 -156
  313. package/dist/getDeviceClass-DIjnTPjR.esm.js +0 -14
  314. package/dist/http-CnsKEaJY.esm.js +0 -0
  315. package/dist/idCaptureManager-CwuXtVu6.d.ts +0 -1013
  316. package/dist/index-BAyZ8_iI.d.ts +0 -93
  317. package/dist/openviduLazy-jPgABwrt.esm.js +0 -3
  318. package/dist/openviduLazy-wEojM41w.esm.js +0 -12
  319. package/dist/qe-signature-BnWIpR-O.esm.js +0 -12
  320. package/dist/sessionInitializer-Dj7-aJaP.esm.js +0 -547
  321. package/dist/tri.esm-DDJ1zOqG.esm.js +0 -2593
  322. package/dist/types-BcF-fii5.d.ts +0 -5
  323. package/dist/videoSelfieSteps-Djpv7cjb.esm.js +0 -58
  324. /package/dist/{IVisibilityObserverCapability-BZ1rE7ly.d.ts → IVisibilityObserverCapability-D4tvIB5v.d.ts} +0 -0
  325. /package/dist/{camera-CKU96nwJ.d.ts → camera-9wWD-pwg.d.ts} +0 -0
  326. /package/dist/{flowCompletionService-BOSTlAWo.d.ts → flowCompletionService-BlAHsKyv.d.ts} +0 -0
  327. /package/dist/{types-BgjMAEXl.d.ts → types-Bk_6dmDa.d.ts} +0 -0
  328. /package/dist/{warmup-Dd0iq6KF.d.ts → warmup-Dv2alr2-.d.ts} +0 -0
@@ -0,0 +1,1622 @@
1
+ //#region ../../node_modules/.pnpm/ua-parser-js@2.0.9/node_modules/ua-parser-js/src/main/ua-parser.mjs
2
+ var LIBVERSION = "2.0.9";
3
+ var UA_MAX_LENGTH = 500;
4
+ var USER_AGENT = "user-agent";
5
+ var EMPTY = "";
6
+ var UNKNOWN = "?";
7
+ var TYPEOF = {
8
+ FUNCTION: "function",
9
+ OBJECT: "object",
10
+ STRING: "string",
11
+ UNDEFINED: "undefined"
12
+ };
13
+ var BROWSER = "browser";
14
+ var CPU = "cpu";
15
+ var DEVICE = "device";
16
+ var ENGINE = "engine";
17
+ var OS = "os";
18
+ var RESULT = "result";
19
+ var NAME = "name";
20
+ var TYPE = "type";
21
+ var VENDOR = "vendor";
22
+ var VERSION = "version";
23
+ var ARCHITECTURE = "architecture";
24
+ var MAJOR = "major";
25
+ var MODEL = "model";
26
+ var CONSOLE = "console";
27
+ var MOBILE = "mobile";
28
+ var TABLET = "tablet";
29
+ var SMARTTV = "smarttv";
30
+ var WEARABLE = "wearable";
31
+ var XR = "xr";
32
+ var EMBEDDED = "embedded";
33
+ var FETCHER = "fetcher";
34
+ var INAPP = "inapp";
35
+ var BRANDS = "brands";
36
+ var FORMFACTORS = "formFactors";
37
+ var FULLVERLIST = "fullVersionList";
38
+ var PLATFORM = "platform";
39
+ var PLATFORMVER = "platformVersion";
40
+ var BITNESS = "bitness";
41
+ var CH = "sec-ch-ua";
42
+ var CH_FULL_VER_LIST = CH + "-full-version-list";
43
+ var CH_ARCH = CH + "-arch";
44
+ var CH_BITNESS = CH + "-" + BITNESS;
45
+ var CH_FORM_FACTORS = CH + "-form-factors";
46
+ var CH_MOBILE = CH + "-" + MOBILE;
47
+ var CH_MODEL = CH + "-" + MODEL;
48
+ var CH_PLATFORM = CH + "-" + PLATFORM;
49
+ var CH_PLATFORM_VER = CH_PLATFORM + "-version";
50
+ var CH_ALL_VALUES = [
51
+ BRANDS,
52
+ FULLVERLIST,
53
+ MOBILE,
54
+ MODEL,
55
+ PLATFORM,
56
+ PLATFORMVER,
57
+ ARCHITECTURE,
58
+ FORMFACTORS,
59
+ BITNESS
60
+ ];
61
+ var AMAZON = "Amazon";
62
+ var APPLE = "Apple";
63
+ var ASUS = "ASUS";
64
+ var BLACKBERRY = "BlackBerry";
65
+ var GOOGLE = "Google";
66
+ var HUAWEI = "Huawei";
67
+ var LENOVO = "Lenovo";
68
+ var HONOR = "Honor";
69
+ var LG = "LG";
70
+ var MICROSOFT = "Microsoft";
71
+ var MOTOROLA = "Motorola";
72
+ var NVIDIA = "Nvidia";
73
+ var ONEPLUS = "OnePlus";
74
+ var OPPO = "OPPO";
75
+ var SAMSUNG = "Samsung";
76
+ var SHARP = "Sharp";
77
+ var SONY = "Sony";
78
+ var XIAOMI = "Xiaomi";
79
+ var ZEBRA = "Zebra";
80
+ var CHROME = "Chrome";
81
+ var CHROMIUM = "Chromium";
82
+ var CHROMECAST = "Chromecast";
83
+ var EDGE = "Edge";
84
+ var FIREFOX = "Firefox";
85
+ var OPERA = "Opera";
86
+ var FACEBOOK = "Facebook";
87
+ var SOGOU = "Sogou";
88
+ var PREFIX_MOBILE = "Mobile ";
89
+ var SUFFIX_BROWSER = " Browser";
90
+ var WINDOWS = "Windows";
91
+ var NAVIGATOR = typeof window !== TYPEOF.UNDEFINED && window.navigator ? window.navigator : void 0;
92
+ var NAVIGATOR_UADATA = NAVIGATOR && NAVIGATOR.userAgentData ? NAVIGATOR.userAgentData : void 0;
93
+ var extend = function(defaultRgx, extensions) {
94
+ var mergedRgx = {};
95
+ var extraRgx = extensions;
96
+ if (!isExtensions(extensions)) {
97
+ extraRgx = {};
98
+ for (var i in extensions) for (var j in extensions[i]) extraRgx[j] = extensions[i][j].concat(extraRgx[j] ? extraRgx[j] : []);
99
+ }
100
+ for (var k in defaultRgx) mergedRgx[k] = extraRgx[k] && extraRgx[k].length % 2 === 0 ? extraRgx[k].concat(defaultRgx[k]) : defaultRgx[k];
101
+ return mergedRgx;
102
+ };
103
+ var enumerize = function(arr) {
104
+ var enums = {};
105
+ for (var i = 0; i < arr.length; i++) enums[arr[i].toUpperCase()] = arr[i];
106
+ return enums;
107
+ };
108
+ var has = function(str1, str2) {
109
+ if (typeof str1 === TYPEOF.OBJECT && str1.length > 0) {
110
+ for (var i in str1) if (lowerize(str2) == lowerize(str1[i])) return true;
111
+ return false;
112
+ }
113
+ return isString(str1) ? lowerize(str2) == lowerize(str1) : false;
114
+ };
115
+ var isExtensions = function(obj, deep) {
116
+ for (var prop in obj) return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);
117
+ };
118
+ var isString = function(val) {
119
+ return typeof val === TYPEOF.STRING;
120
+ };
121
+ var itemListToArray = function(header) {
122
+ if (!header) return void 0;
123
+ var arr = [];
124
+ var tokens = strip(/\\?\"/g, header).split(",");
125
+ for (var i = 0; i < tokens.length; i++) if (tokens[i].indexOf(";") > -1) {
126
+ var token = trim(tokens[i]).split(";v=");
127
+ arr[i] = {
128
+ brand: token[0],
129
+ version: token[1]
130
+ };
131
+ } else arr[i] = trim(tokens[i]);
132
+ return arr;
133
+ };
134
+ var lowerize = function(str) {
135
+ return isString(str) ? str.toLowerCase() : str;
136
+ };
137
+ var majorize = function(version) {
138
+ return isString(version) ? strip(/[^\d\.]/g, version).split(".")[0] : void 0;
139
+ };
140
+ var setProps = function(arr) {
141
+ for (var i in arr) {
142
+ if (!arr.hasOwnProperty(i)) continue;
143
+ var propName = arr[i];
144
+ if (typeof propName == TYPEOF.OBJECT && propName.length == 2) this[propName[0]] = propName[1];
145
+ else this[propName] = void 0;
146
+ }
147
+ return this;
148
+ };
149
+ var strip = function(pattern, str) {
150
+ return isString(str) ? str.replace(pattern, EMPTY) : str;
151
+ };
152
+ var stripQuotes = function(str) {
153
+ return strip(/\\?\"/g, str);
154
+ };
155
+ var trim = function(str, len) {
156
+ str = strip(/^\s\s*/, String(str));
157
+ return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
158
+ };
159
+ var rgxMapper = function(ua, arrays) {
160
+ if (!ua || !arrays) return;
161
+ var i = 0, j, k, p, q, matches, match;
162
+ while (i < arrays.length && !matches) {
163
+ var regex = arrays[i], props = arrays[i + 1];
164
+ j = k = 0;
165
+ while (j < regex.length && !matches) {
166
+ if (!regex[j]) break;
167
+ matches = regex[j++].exec(ua);
168
+ if (!!matches) for (p = 0; p < props.length; p++) {
169
+ match = matches[++k];
170
+ q = props[p];
171
+ if (typeof q === TYPEOF.OBJECT && q.length > 0) {
172
+ if (q.length === 2) if (typeof q[1] == TYPEOF.FUNCTION) this[q[0]] = q[1].call(this, match);
173
+ else this[q[0]] = q[1];
174
+ else if (q.length >= 3) {
175
+ if (typeof q[1] === TYPEOF.FUNCTION && !(q[1].exec && q[1].test)) if (q.length > 3) this[q[0]] = match ? q[1].apply(this, q.slice(2)) : void 0;
176
+ else this[q[0]] = match ? q[1].call(this, match, q[2]) : void 0;
177
+ else if (q.length == 3) this[q[0]] = match ? match.replace(q[1], q[2]) : void 0;
178
+ else if (q.length == 4) this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : void 0;
179
+ else if (q.length > 4) this[q[0]] = match ? q[3].apply(this, [match.replace(q[1], q[2])].concat(q.slice(4))) : void 0;
180
+ }
181
+ } else this[q] = match ? match : void 0;
182
+ }
183
+ }
184
+ i += 2;
185
+ }
186
+ };
187
+ var strMapper = function(str, map) {
188
+ for (var i in map) if (typeof map[i] === TYPEOF.OBJECT && map[i].length > 0) {
189
+ for (var j = 0; j < map[i].length; j++) if (has(map[i][j], str)) return i === UNKNOWN ? void 0 : i;
190
+ } else if (has(map[i], str)) return i === UNKNOWN ? void 0 : i;
191
+ return map.hasOwnProperty("*") ? map["*"] : str;
192
+ };
193
+ var windowsVersionMap = {
194
+ "ME": "4.90",
195
+ "NT 3.51": "3.51",
196
+ "NT 4.0": "4.0",
197
+ "2000": ["5.0", "5.01"],
198
+ "XP": ["5.1", "5.2"],
199
+ "Vista": "6.0",
200
+ "7": "6.1",
201
+ "8": "6.2",
202
+ "8.1": "6.3",
203
+ "10": ["6.4", "10.0"],
204
+ "NT": ""
205
+ };
206
+ var formFactorsMap = {
207
+ "embedded": "Automotive",
208
+ "mobile": "Mobile",
209
+ "tablet": ["Tablet", "EInk"],
210
+ "smarttv": "TV",
211
+ "wearable": "Watch",
212
+ "xr": ["VR", "XR"],
213
+ "?": ["Desktop", "Unknown"],
214
+ "*": void 0
215
+ };
216
+ var browserHintsMap = {
217
+ "Chrome": "Google Chrome",
218
+ "Edge": "Microsoft Edge",
219
+ "Edge WebView2": "Microsoft Edge WebView2",
220
+ "Chrome WebView": "Android WebView",
221
+ "Chrome Headless": "HeadlessChrome",
222
+ "Huawei Browser": "HuaweiBrowser",
223
+ "MIUI Browser": "Miui Browser",
224
+ "Opera Mobi": "OperaMobile",
225
+ "Yandex": "YaBrowser"
226
+ };
227
+ var defaultRegexes = {
228
+ browser: [
229
+ [/\b(?:crmo|crios)\/([\w\.]+)/i],
230
+ [VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
231
+ [/webview.+edge\/([\w\.]+)/i],
232
+ [VERSION, [NAME, EDGE + " WebView"]],
233
+ [/edg(?:e|ios|a)?\/([\w\.]+)/i],
234
+ [VERSION, [NAME, "Edge"]],
235
+ [
236
+ /(opera mini)\/([-\w\.]+)/i,
237
+ /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,
238
+ /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
239
+ ],
240
+ [NAME, VERSION],
241
+ [/opios[\/ ]+([\w\.]+)/i],
242
+ [VERSION, [NAME, OPERA + " Mini"]],
243
+ [/\bop(?:rg)?x\/([\w\.]+)/i],
244
+ [VERSION, [NAME, OPERA + " GX"]],
245
+ [/\bopr\/([\w\.]+)/i],
246
+ [VERSION, [NAME, OPERA]],
247
+ [/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],
248
+ [VERSION, [NAME, "Baidu"]],
249
+ [/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],
250
+ [VERSION, [NAME, "Maxthon"]],
251
+ [
252
+ /(kindle)\/([\w\.]+)/i,
253
+ /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
254
+ /(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,
255
+ /(?:ms|\()(ie) ([\w\.]+)/i,
256
+ /(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,
257
+ /(brave)(?: chrome)?\/([\d\.]+)/i,
258
+ /(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,
259
+ /(qwant)(?:ios|mobile)\/([\d\.]+)/i,
260
+ /(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
261
+ ],
262
+ [NAME, VERSION],
263
+ [/quark(?:pc)?\/([-\w\.]+)/i],
264
+ [VERSION, [NAME, "Quark"]],
265
+ [/\bddg\/([\w\.]+)/i],
266
+ [VERSION, [NAME, "DuckDuckGo"]],
267
+ [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],
268
+ [VERSION, [NAME, "UCBrowser"]],
269
+ [
270
+ /microm.+\bqbcore\/([\w\.]+)/i,
271
+ /\bqbcore\/([\w\.]+).+microm/i,
272
+ /micromessenger\/([\w\.]+)/i
273
+ ],
274
+ [VERSION, [NAME, "WeChat"]],
275
+ [/konqueror\/([\w\.]+)/i],
276
+ [VERSION, [NAME, "Konqueror"]],
277
+ [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],
278
+ [VERSION, [NAME, "IE"]],
279
+ [/ya(?:search)?browser\/([\w\.]+)/i],
280
+ [VERSION, [NAME, "Yandex"]],
281
+ [/slbrowser\/([\w\.]+)/i],
282
+ [VERSION, [NAME, "Smart " + LENOVO + SUFFIX_BROWSER]],
283
+ [/(av(?:ast|g|ira))\/([\w\.]+)/i],
284
+ [[
285
+ NAME,
286
+ /(.+)/,
287
+ "$1 Secure" + SUFFIX_BROWSER
288
+ ], VERSION],
289
+ [/norton\/([\w\.]+)/i],
290
+ [VERSION, [NAME, "Norton Private" + SUFFIX_BROWSER]],
291
+ [/\bfocus\/([\w\.]+)/i],
292
+ [VERSION, [NAME, FIREFOX + " Focus"]],
293
+ [/ mms\/([\w\.]+)$/i],
294
+ [VERSION, [NAME, OPERA + " Neon"]],
295
+ [/ opt\/([\w\.]+)$/i],
296
+ [VERSION, [NAME, OPERA + " Touch"]],
297
+ [/coc_coc\w+\/([\w\.]+)/i],
298
+ [VERSION, [NAME, "Coc Coc"]],
299
+ [/dolfin\/([\w\.]+)/i],
300
+ [VERSION, [NAME, "Dolphin"]],
301
+ [/coast\/([\w\.]+)/i],
302
+ [VERSION, [NAME, OPERA + " Coast"]],
303
+ [/miuibrowser\/([\w\.]+)/i],
304
+ [VERSION, [NAME, "MIUI" + SUFFIX_BROWSER]],
305
+ [/fxios\/([\w\.-]+)/i],
306
+ [VERSION, [NAME, PREFIX_MOBILE + FIREFOX]],
307
+ [/\bqihoobrowser\/?([\w\.]*)/i],
308
+ [VERSION, [NAME, "360"]],
309
+ [/\b(qq)\/([\w\.]+)/i],
310
+ [[
311
+ NAME,
312
+ /(.+)/,
313
+ "$1Browser"
314
+ ], VERSION],
315
+ [/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],
316
+ [[
317
+ NAME,
318
+ /(.+)/,
319
+ "$1" + SUFFIX_BROWSER
320
+ ], VERSION],
321
+ [/samsungbrowser\/([\w\.]+)/i],
322
+ [VERSION, [NAME, SAMSUNG + " Internet"]],
323
+ [/metasr[\/ ]?([\d\.]+)/i],
324
+ [VERSION, [NAME, SOGOU + " Explorer"]],
325
+ [/(sogou)mo\w+\/([\d\.]+)/i],
326
+ [[NAME, SOGOU + " Mobile"], VERSION],
327
+ [
328
+ /(electron)\/([\w\.]+) safari/i,
329
+ /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,
330
+ /m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
331
+ ],
332
+ [NAME, VERSION],
333
+ [/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],
334
+ [NAME],
335
+ [/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],
336
+ [VERSION, NAME],
337
+ [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],
338
+ [
339
+ [NAME, FACEBOOK],
340
+ VERSION,
341
+ [TYPE, INAPP]
342
+ ],
343
+ [
344
+ /(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
345
+ /(naver)\(.*?(\d+\.[\w\.]+).*\)/i,
346
+ /(daum)apps[\/ ]([\w\.]+)/i,
347
+ /safari (line)\/([\w\.]+)/i,
348
+ /\b(line)\/([\w\.]+)\/iab/i,
349
+ /(alipay)client\/([\w\.]+)/i,
350
+ /(twitter)(?:and| f.+e\/([\w\.]+))/i,
351
+ /(bing)(?:web|sapphire)\/([\w\.]+)/i,
352
+ /(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
353
+ ],
354
+ [
355
+ NAME,
356
+ VERSION,
357
+ [TYPE, INAPP]
358
+ ],
359
+ [/\bgsa\/([\w\.]+) .*safari\//i],
360
+ [
361
+ VERSION,
362
+ [NAME, "GSA"],
363
+ [TYPE, INAPP]
364
+ ],
365
+ [/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],
366
+ [
367
+ VERSION,
368
+ [NAME, "TikTok"],
369
+ [TYPE, INAPP]
370
+ ],
371
+ [/\[(linkedin)app\]/i],
372
+ [NAME, [TYPE, INAPP]],
373
+ [/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],
374
+ [
375
+ [
376
+ NAME,
377
+ /(.+)/,
378
+ "Zalo"
379
+ ],
380
+ VERSION,
381
+ [TYPE, INAPP]
382
+ ],
383
+ [/(chromium)[\/ ]([-\w\.]+)/i],
384
+ [NAME, VERSION],
385
+ [/ome-(lighthouse)$/i],
386
+ [NAME, [TYPE, FETCHER]],
387
+ [/headlesschrome(?:\/([\w\.]+)| )/i],
388
+ [VERSION, [NAME, CHROME + " Headless"]],
389
+ [/wv\).+chrome\/([\w\.]+).+edgw\//i],
390
+ [VERSION, [NAME, EDGE + " WebView2"]],
391
+ [/ wv\).+(chrome)\/([\w\.]+)/i],
392
+ [[NAME, CHROME + " WebView"], VERSION],
393
+ [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],
394
+ [VERSION, [NAME, "Android" + SUFFIX_BROWSER]],
395
+ [/chrome\/([\w\.]+) mobile/i],
396
+ [VERSION, [NAME, PREFIX_MOBILE + "Chrome"]],
397
+ [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],
398
+ [NAME, VERSION],
399
+ [/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],
400
+ [VERSION, [NAME, PREFIX_MOBILE + "Safari"]],
401
+ [/iphone .*mobile(?:\/\w+ | ?)safari/i],
402
+ [[NAME, PREFIX_MOBILE + "Safari"]],
403
+ [/version\/([\w\.\,]+) .*(safari)/i],
404
+ [VERSION, NAME],
405
+ [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],
406
+ [NAME, [VERSION, "1"]],
407
+ [/(webkit|khtml)\/([\w\.]+)/i],
408
+ [NAME, VERSION],
409
+ [/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],
410
+ [[NAME, PREFIX_MOBILE + FIREFOX], VERSION],
411
+ [/(navigator|netscape\d?)\/([-\w\.]+)/i],
412
+ [[NAME, "Netscape"], VERSION],
413
+ [/(wolvic|librewolf)\/([\w\.]+)/i],
414
+ [NAME, VERSION],
415
+ [/mobile vr; rv:([\w\.]+)\).+firefox/i],
416
+ [VERSION, [NAME, FIREFOX + " Reality"]],
417
+ [
418
+ /ekiohf.+(flow)\/([\w\.]+)/i,
419
+ /(swiftfox)/i,
420
+ /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
421
+ /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,
422
+ /(firefox)\/([\w\.]+)/i,
423
+ /(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,
424
+ /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
425
+ /\b(links) \(([\w\.]+)/i
426
+ ],
427
+ [NAME, [
428
+ VERSION,
429
+ /_/g,
430
+ "."
431
+ ]],
432
+ [/(cobalt)\/([\w\.]+)/i],
433
+ [NAME, [
434
+ VERSION,
435
+ /[^\d\.]+./,
436
+ EMPTY
437
+ ]]
438
+ ],
439
+ cpu: [
440
+ [/\b((amd|x|x86[-_]?|wow|win)64)\b/i],
441
+ [[ARCHITECTURE, "amd64"]],
442
+ [/(ia32(?=;))/i, /\b((i[346]|x)86)(pc)?\b/i],
443
+ [[ARCHITECTURE, "ia32"]],
444
+ [/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],
445
+ [[ARCHITECTURE, "arm64"]],
446
+ [/\b(arm(v[67])?ht?n?[fl]p?)\b/i],
447
+ [[ARCHITECTURE, "armhf"]],
448
+ [/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],
449
+ [[ARCHITECTURE, "arm"]],
450
+ [/ sun4\w[;\)]/i],
451
+ [[ARCHITECTURE, "sparc"]],
452
+ [
453
+ /\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
454
+ /((ppc|powerpc)(64)?)( mac|;|\))/i,
455
+ /(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
456
+ ],
457
+ [[
458
+ ARCHITECTURE,
459
+ /ower/,
460
+ EMPTY,
461
+ lowerize
462
+ ]],
463
+ [/mc680.0/i],
464
+ [[ARCHITECTURE, "68k"]],
465
+ [/winnt.+\[axp/i],
466
+ [[ARCHITECTURE, "alpha"]]
467
+ ],
468
+ device: [
469
+ [/\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],
470
+ [
471
+ MODEL,
472
+ [VENDOR, SAMSUNG],
473
+ [TYPE, TABLET]
474
+ ],
475
+ [
476
+ /\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
477
+ /samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
478
+ /sec-(sgh\w+)/i
479
+ ],
480
+ [
481
+ MODEL,
482
+ [VENDOR, SAMSUNG],
483
+ [TYPE, MOBILE]
484
+ ],
485
+ [/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],
486
+ [
487
+ MODEL,
488
+ [VENDOR, APPLE],
489
+ [TYPE, MOBILE]
490
+ ],
491
+ [/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i, /\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],
492
+ [
493
+ MODEL,
494
+ [VENDOR, APPLE],
495
+ [TYPE, TABLET]
496
+ ],
497
+ [/(macintosh);/i],
498
+ [MODEL, [VENDOR, APPLE]],
499
+ [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],
500
+ [
501
+ MODEL,
502
+ [VENDOR, SHARP],
503
+ [TYPE, MOBILE]
504
+ ],
505
+ [/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],
506
+ [
507
+ MODEL,
508
+ [VENDOR, HONOR],
509
+ [TYPE, TABLET]
510
+ ],
511
+ [/honor([-\w ]+)[;\)]/i],
512
+ [
513
+ MODEL,
514
+ [VENDOR, HONOR],
515
+ [TYPE, MOBILE]
516
+ ],
517
+ [/\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],
518
+ [
519
+ MODEL,
520
+ [VENDOR, HUAWEI],
521
+ [TYPE, TABLET]
522
+ ],
523
+ [/(?:huawei) ?([-\w ]+)[;\)]/i, /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],
524
+ [
525
+ MODEL,
526
+ [VENDOR, HUAWEI],
527
+ [TYPE, MOBILE]
528
+ ],
529
+ [/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i, /\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],
530
+ [
531
+ [
532
+ MODEL,
533
+ /_/g,
534
+ " "
535
+ ],
536
+ [VENDOR, XIAOMI],
537
+ [TYPE, TABLET]
538
+ ],
539
+ [
540
+ /\b; (\w+) build\/hm\1/i,
541
+ /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,
542
+ /oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,
543
+ /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
544
+ / ([\w ]+) miui\/v?\d/i
545
+ ],
546
+ [
547
+ [
548
+ MODEL,
549
+ /_/g,
550
+ " "
551
+ ],
552
+ [VENDOR, XIAOMI],
553
+ [TYPE, MOBILE]
554
+ ],
555
+ [/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-l]\w[1m]10)\b/i, /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],
556
+ [
557
+ MODEL,
558
+ [VENDOR, ONEPLUS],
559
+ [TYPE, MOBILE]
560
+ ],
561
+ [/; (\w+) bui.+ oppo/i, /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],
562
+ [
563
+ MODEL,
564
+ [VENDOR, OPPO],
565
+ [TYPE, MOBILE]
566
+ ],
567
+ [/\b(opd2(\d{3}a?))(?: bui|\))/i],
568
+ [
569
+ MODEL,
570
+ [
571
+ VENDOR,
572
+ strMapper,
573
+ {
574
+ "OnePlus": [
575
+ "203",
576
+ "304",
577
+ "403",
578
+ "404",
579
+ "413",
580
+ "415"
581
+ ],
582
+ "*": OPPO
583
+ }
584
+ ],
585
+ [TYPE, TABLET]
586
+ ],
587
+ [/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],
588
+ [
589
+ MODEL,
590
+ [VENDOR, "BLU"],
591
+ [TYPE, MOBILE]
592
+ ],
593
+ [/; vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i],
594
+ [
595
+ MODEL,
596
+ [VENDOR, "Vivo"],
597
+ [TYPE, MOBILE]
598
+ ],
599
+ [/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],
600
+ [
601
+ MODEL,
602
+ [VENDOR, "Realme"],
603
+ [TYPE, MOBILE]
604
+ ],
605
+ [/(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, /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],
606
+ [
607
+ MODEL,
608
+ [VENDOR, LENOVO],
609
+ [TYPE, TABLET]
610
+ ],
611
+ [/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],
612
+ [
613
+ MODEL,
614
+ [VENDOR, LENOVO],
615
+ [TYPE, MOBILE]
616
+ ],
617
+ [
618
+ /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,
619
+ /\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,
620
+ /((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i
621
+ ],
622
+ [
623
+ MODEL,
624
+ [VENDOR, MOTOROLA],
625
+ [TYPE, MOBILE]
626
+ ],
627
+ [/\b(mz60\d|xoom[2 ]{0,2}) build\//i],
628
+ [
629
+ MODEL,
630
+ [VENDOR, MOTOROLA],
631
+ [TYPE, TABLET]
632
+ ],
633
+ [/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],
634
+ [
635
+ MODEL,
636
+ [VENDOR, LG],
637
+ [TYPE, TABLET]
638
+ ],
639
+ [
640
+ /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
641
+ /\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
642
+ /\blg-?([\d\w]+) bui/i
643
+ ],
644
+ [
645
+ MODEL,
646
+ [VENDOR, LG],
647
+ [TYPE, MOBILE]
648
+ ],
649
+ [/(nokia) (t[12][01])/i],
650
+ [
651
+ VENDOR,
652
+ MODEL,
653
+ [TYPE, TABLET]
654
+ ],
655
+ [/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i, /nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],
656
+ [
657
+ [
658
+ MODEL,
659
+ /_/g,
660
+ " "
661
+ ],
662
+ [TYPE, MOBILE],
663
+ [VENDOR, "Nokia"]
664
+ ],
665
+ [/(pixel (c|tablet))\b/i],
666
+ [
667
+ MODEL,
668
+ [VENDOR, GOOGLE],
669
+ [TYPE, TABLET]
670
+ ],
671
+ [/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],
672
+ [
673
+ MODEL,
674
+ [VENDOR, GOOGLE],
675
+ [TYPE, MOBILE]
676
+ ],
677
+ [/(google) (pixelbook( go)?)/i],
678
+ [VENDOR, MODEL],
679
+ [/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],
680
+ [
681
+ MODEL,
682
+ [VENDOR, SONY],
683
+ [TYPE, MOBILE]
684
+ ],
685
+ [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i],
686
+ [
687
+ [MODEL, "Xperia Tablet"],
688
+ [VENDOR, SONY],
689
+ [TYPE, TABLET]
690
+ ],
691
+ [
692
+ /(alexa)webm/i,
693
+ /(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,
694
+ /(kf[a-z]+)( bui|\)).+silk\//i
695
+ ],
696
+ [
697
+ MODEL,
698
+ [VENDOR, AMAZON],
699
+ [TYPE, TABLET]
700
+ ],
701
+ [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],
702
+ [
703
+ [
704
+ MODEL,
705
+ /(.+)/g,
706
+ "Fire Phone $1"
707
+ ],
708
+ [VENDOR, AMAZON],
709
+ [TYPE, MOBILE]
710
+ ],
711
+ [/(playbook);[-\w\),; ]+(rim)/i],
712
+ [
713
+ MODEL,
714
+ VENDOR,
715
+ [TYPE, TABLET]
716
+ ],
717
+ [/\b((?:bb[a-f]|st[hv])100-\d)/i, /(?:blackberry|\(bb10;) (\w+)/i],
718
+ [
719
+ MODEL,
720
+ [VENDOR, BLACKBERRY],
721
+ [TYPE, MOBILE]
722
+ ],
723
+ [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],
724
+ [
725
+ MODEL,
726
+ [VENDOR, ASUS],
727
+ [TYPE, TABLET]
728
+ ],
729
+ [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],
730
+ [
731
+ MODEL,
732
+ [VENDOR, ASUS],
733
+ [TYPE, MOBILE]
734
+ ],
735
+ [/(nexus 9)/i],
736
+ [
737
+ MODEL,
738
+ [VENDOR, "HTC"],
739
+ [TYPE, TABLET]
740
+ ],
741
+ [
742
+ /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,
743
+ /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,
744
+ /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i
745
+ ],
746
+ [
747
+ VENDOR,
748
+ [
749
+ MODEL,
750
+ /_/g,
751
+ " "
752
+ ],
753
+ [TYPE, MOBILE]
754
+ ],
755
+ [/tcl (xess p17aa)/i, /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],
756
+ [
757
+ MODEL,
758
+ [VENDOR, "TCL"],
759
+ [TYPE, TABLET]
760
+ ],
761
+ [/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],
762
+ [
763
+ MODEL,
764
+ [VENDOR, "TCL"],
765
+ [TYPE, MOBILE]
766
+ ],
767
+ [/(itel) ((\w+))/i],
768
+ [
769
+ [VENDOR, lowerize],
770
+ MODEL,
771
+ [
772
+ TYPE,
773
+ strMapper,
774
+ {
775
+ "tablet": ["p10001l", "w7001"],
776
+ "*": "mobile"
777
+ }
778
+ ]
779
+ ],
780
+ [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],
781
+ [
782
+ MODEL,
783
+ [VENDOR, "Acer"],
784
+ [TYPE, TABLET]
785
+ ],
786
+ [/droid.+; (m[1-5] note) bui/i, /\bmz-([-\w]{2,})/i],
787
+ [
788
+ MODEL,
789
+ [VENDOR, "Meizu"],
790
+ [TYPE, MOBILE]
791
+ ],
792
+ [/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],
793
+ [
794
+ MODEL,
795
+ [VENDOR, "Ulefone"],
796
+ [TYPE, MOBILE]
797
+ ],
798
+ [/; (energy ?\w+)(?: bui|\))/i, /; energizer ([\w ]+)(?: bui|\))/i],
799
+ [
800
+ MODEL,
801
+ [VENDOR, "Energizer"],
802
+ [TYPE, MOBILE]
803
+ ],
804
+ [/; cat (b35);/i, /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],
805
+ [
806
+ MODEL,
807
+ [VENDOR, "Cat"],
808
+ [TYPE, MOBILE]
809
+ ],
810
+ [/((?:new )?andromax[\w- ]+)(?: bui|\))/i],
811
+ [
812
+ MODEL,
813
+ [VENDOR, "Smartfren"],
814
+ [TYPE, MOBILE]
815
+ ],
816
+ [/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],
817
+ [
818
+ MODEL,
819
+ [VENDOR, "Nothing"],
820
+ [TYPE, MOBILE]
821
+ ],
822
+ [/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i, /archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],
823
+ [
824
+ MODEL,
825
+ [VENDOR, "Archos"],
826
+ [TYPE, TABLET]
827
+ ],
828
+ [/archos ([\w ]+)( b|\))/i, /; (ac[3-6]\d\w{2,8})( b|\))/i],
829
+ [
830
+ MODEL,
831
+ [VENDOR, "Archos"],
832
+ [TYPE, MOBILE]
833
+ ],
834
+ [/; (n159v)/i],
835
+ [
836
+ MODEL,
837
+ [VENDOR, "HMD"],
838
+ [TYPE, MOBILE]
839
+ ],
840
+ [/(imo) (tab \w+)/i, /(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],
841
+ [
842
+ VENDOR,
843
+ MODEL,
844
+ [TYPE, TABLET]
845
+ ],
846
+ [
847
+ /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
848
+ /; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,
849
+ /(hp) ([\w ]+\w)/i,
850
+ /(microsoft); (lumia[\w ]+)/i,
851
+ /(oppo) ?([\w ]+) bui/i,
852
+ /(hisense) ([ehv][\w ]+)\)/i,
853
+ /droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i
854
+ ],
855
+ [
856
+ VENDOR,
857
+ MODEL,
858
+ [TYPE, MOBILE]
859
+ ],
860
+ [
861
+ /(kobo)\s(ereader|touch)/i,
862
+ /(hp).+(touchpad(?!.+tablet)|tablet)/i,
863
+ /(kindle)\/([\w\.]+)/i
864
+ ],
865
+ [
866
+ VENDOR,
867
+ MODEL,
868
+ [TYPE, TABLET]
869
+ ],
870
+ [/(surface duo)/i],
871
+ [
872
+ MODEL,
873
+ [VENDOR, MICROSOFT],
874
+ [TYPE, TABLET]
875
+ ],
876
+ [/droid [\d\.]+; (fp\du?)(?: b|\))/i],
877
+ [
878
+ MODEL,
879
+ [VENDOR, "Fairphone"],
880
+ [TYPE, MOBILE]
881
+ ],
882
+ [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],
883
+ [
884
+ MODEL,
885
+ [VENDOR, NVIDIA],
886
+ [TYPE, TABLET]
887
+ ],
888
+ [/(sprint) (\w+)/i],
889
+ [
890
+ VENDOR,
891
+ MODEL,
892
+ [TYPE, MOBILE]
893
+ ],
894
+ [/(kin\.[onetw]{3})/i],
895
+ [
896
+ [
897
+ MODEL,
898
+ /\./g,
899
+ " "
900
+ ],
901
+ [VENDOR, MICROSOFT],
902
+ [TYPE, MOBILE]
903
+ ],
904
+ [/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],
905
+ [
906
+ MODEL,
907
+ [VENDOR, ZEBRA],
908
+ [TYPE, TABLET]
909
+ ],
910
+ [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],
911
+ [
912
+ MODEL,
913
+ [VENDOR, ZEBRA],
914
+ [TYPE, MOBILE]
915
+ ],
916
+ [/(philips)[\w ]+tv/i, /smart-tv.+(samsung)/i],
917
+ [VENDOR, [TYPE, SMARTTV]],
918
+ [/hbbtv.+maple;(\d+)/i],
919
+ [
920
+ [
921
+ MODEL,
922
+ /^/,
923
+ "SmartTV"
924
+ ],
925
+ [VENDOR, SAMSUNG],
926
+ [TYPE, SMARTTV]
927
+ ],
928
+ [/(vizio)(?: |.+model\/)(\w+-\w+)/i, /tcast.+(lg)e?. ([-\w]+)/i],
929
+ [
930
+ VENDOR,
931
+ MODEL,
932
+ [TYPE, SMARTTV]
933
+ ],
934
+ [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],
935
+ [[VENDOR, LG], [TYPE, SMARTTV]],
936
+ [/(apple) ?tv/i],
937
+ [
938
+ VENDOR,
939
+ [MODEL, APPLE + " TV"],
940
+ [TYPE, SMARTTV]
941
+ ],
942
+ [/crkey.*devicetype\/chromecast/i],
943
+ [
944
+ [MODEL, CHROMECAST + " Third Generation"],
945
+ [VENDOR, GOOGLE],
946
+ [TYPE, SMARTTV]
947
+ ],
948
+ [/crkey.*devicetype\/([^/]*)/i],
949
+ [
950
+ [
951
+ MODEL,
952
+ /^/,
953
+ "Chromecast "
954
+ ],
955
+ [VENDOR, GOOGLE],
956
+ [TYPE, SMARTTV]
957
+ ],
958
+ [/fuchsia.*crkey/i],
959
+ [
960
+ [MODEL, CHROMECAST + " Nest Hub"],
961
+ [VENDOR, GOOGLE],
962
+ [TYPE, SMARTTV]
963
+ ],
964
+ [/crkey/i],
965
+ [
966
+ [MODEL, CHROMECAST],
967
+ [VENDOR, GOOGLE],
968
+ [TYPE, SMARTTV]
969
+ ],
970
+ [/(portaltv)/i],
971
+ [
972
+ MODEL,
973
+ [VENDOR, FACEBOOK],
974
+ [TYPE, SMARTTV]
975
+ ],
976
+ [/droid.+aft(\w+)( bui|\))/i],
977
+ [
978
+ MODEL,
979
+ [VENDOR, AMAZON],
980
+ [TYPE, SMARTTV]
981
+ ],
982
+ [/(shield \w+ tv)/i],
983
+ [
984
+ MODEL,
985
+ [VENDOR, NVIDIA],
986
+ [TYPE, SMARTTV]
987
+ ],
988
+ [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i],
989
+ [
990
+ MODEL,
991
+ [VENDOR, SHARP],
992
+ [TYPE, SMARTTV]
993
+ ],
994
+ [/(bravia[\w ]+)( bui|\))/i],
995
+ [
996
+ MODEL,
997
+ [VENDOR, SONY],
998
+ [TYPE, SMARTTV]
999
+ ],
1000
+ [/(mi(tv|box)-?\w+) bui/i],
1001
+ [
1002
+ MODEL,
1003
+ [VENDOR, XIAOMI],
1004
+ [TYPE, SMARTTV]
1005
+ ],
1006
+ [/Hbbtv.*(technisat) (.*);/i],
1007
+ [
1008
+ VENDOR,
1009
+ MODEL,
1010
+ [TYPE, SMARTTV]
1011
+ ],
1012
+ [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],
1013
+ [
1014
+ [
1015
+ VENDOR,
1016
+ /.+\/(\w+)/,
1017
+ "$1",
1018
+ strMapper,
1019
+ { "LG": "lge" }
1020
+ ],
1021
+ [MODEL, trim],
1022
+ [TYPE, SMARTTV]
1023
+ ],
1024
+ [/(playstation \w+)/i],
1025
+ [
1026
+ MODEL,
1027
+ [VENDOR, SONY],
1028
+ [TYPE, CONSOLE]
1029
+ ],
1030
+ [/\b(xbox(?: one)?(?!; xbox))[\); ]/i],
1031
+ [
1032
+ MODEL,
1033
+ [VENDOR, MICROSOFT],
1034
+ [TYPE, CONSOLE]
1035
+ ],
1036
+ [
1037
+ /(ouya)/i,
1038
+ /(nintendo) (\w+)/i,
1039
+ /(retroid) (pocket ([^\)]+))/i,
1040
+ /(valve).+(steam deck)/i,
1041
+ /droid.+; ((shield|rgcube|gr0006))( bui|\))/i
1042
+ ],
1043
+ [
1044
+ [
1045
+ VENDOR,
1046
+ strMapper,
1047
+ {
1048
+ "Nvidia": "Shield",
1049
+ "Anbernic": "RGCUBE",
1050
+ "Logitech": "GR0006"
1051
+ }
1052
+ ],
1053
+ MODEL,
1054
+ [TYPE, CONSOLE]
1055
+ ],
1056
+ [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],
1057
+ [
1058
+ MODEL,
1059
+ [VENDOR, SAMSUNG],
1060
+ [TYPE, WEARABLE]
1061
+ ],
1062
+ [/((pebble))app/i, /(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],
1063
+ [
1064
+ VENDOR,
1065
+ MODEL,
1066
+ [TYPE, WEARABLE]
1067
+ ],
1068
+ [/(ow(?:19|20)?we?[1-3]{1,3})/i],
1069
+ [
1070
+ MODEL,
1071
+ [VENDOR, OPPO],
1072
+ [TYPE, WEARABLE]
1073
+ ],
1074
+ [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],
1075
+ [
1076
+ MODEL,
1077
+ [VENDOR, APPLE],
1078
+ [TYPE, WEARABLE]
1079
+ ],
1080
+ [/(opwwe\d{3})/i],
1081
+ [
1082
+ MODEL,
1083
+ [VENDOR, ONEPLUS],
1084
+ [TYPE, WEARABLE]
1085
+ ],
1086
+ [/(moto 360)/i],
1087
+ [
1088
+ MODEL,
1089
+ [VENDOR, MOTOROLA],
1090
+ [TYPE, WEARABLE]
1091
+ ],
1092
+ [/(smartwatch 3)/i],
1093
+ [
1094
+ MODEL,
1095
+ [VENDOR, SONY],
1096
+ [TYPE, WEARABLE]
1097
+ ],
1098
+ [/(g watch r)/i],
1099
+ [
1100
+ MODEL,
1101
+ [VENDOR, LG],
1102
+ [TYPE, WEARABLE]
1103
+ ],
1104
+ [/droid.+; (wt63?0{2,3})\)/i],
1105
+ [
1106
+ MODEL,
1107
+ [VENDOR, ZEBRA],
1108
+ [TYPE, WEARABLE]
1109
+ ],
1110
+ [/droid.+; (glass) \d/i],
1111
+ [
1112
+ MODEL,
1113
+ [VENDOR, GOOGLE],
1114
+ [TYPE, XR]
1115
+ ],
1116
+ [/(pico) ([\w ]+) os\d/i],
1117
+ [
1118
+ VENDOR,
1119
+ MODEL,
1120
+ [TYPE, XR]
1121
+ ],
1122
+ [/(quest( \d| pro)?s?).+vr/i],
1123
+ [
1124
+ MODEL,
1125
+ [VENDOR, FACEBOOK],
1126
+ [TYPE, XR]
1127
+ ],
1128
+ [/mobile vr; rv.+firefox/i],
1129
+ [[TYPE, XR]],
1130
+ [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],
1131
+ [VENDOR, [TYPE, EMBEDDED]],
1132
+ [/(aeobc)\b/i],
1133
+ [
1134
+ MODEL,
1135
+ [VENDOR, AMAZON],
1136
+ [TYPE, EMBEDDED]
1137
+ ],
1138
+ [/(homepod).+mac os/i],
1139
+ [
1140
+ MODEL,
1141
+ [VENDOR, APPLE],
1142
+ [TYPE, EMBEDDED]
1143
+ ],
1144
+ [/windows iot/i],
1145
+ [[TYPE, EMBEDDED]],
1146
+ [/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],
1147
+ [MODEL, [TYPE, SMARTTV]],
1148
+ [/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],
1149
+ [[TYPE, SMARTTV]],
1150
+ [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],
1151
+ [MODEL, [
1152
+ TYPE,
1153
+ strMapper,
1154
+ {
1155
+ "mobile": "Mobile",
1156
+ "xr": "VR",
1157
+ "*": TABLET
1158
+ }
1159
+ ]],
1160
+ [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],
1161
+ [[TYPE, TABLET]],
1162
+ [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],
1163
+ [[TYPE, MOBILE]],
1164
+ [/droid .+?; ([\w\. -]+)( bui|\))/i],
1165
+ [MODEL, [VENDOR, "Generic"]]
1166
+ ],
1167
+ engine: [
1168
+ [/windows.+ edge\/([\w\.]+)/i],
1169
+ [VERSION, [NAME, EDGE + "HTML"]],
1170
+ [/(arkweb)\/([\w\.]+)/i],
1171
+ [NAME, VERSION],
1172
+ [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],
1173
+ [VERSION, [NAME, "Blink"]],
1174
+ [
1175
+ /(presto)\/([\w\.]+)/i,
1176
+ /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,
1177
+ /ekioh(flow)\/([\w\.]+)/i,
1178
+ /(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,
1179
+ /(icab)[\/ ]([23]\.[\d\.]+)/i,
1180
+ /\b(libweb)/i
1181
+ ],
1182
+ [NAME, VERSION],
1183
+ [/ladybird\//i],
1184
+ [[NAME, "LibWeb"]],
1185
+ [/rv\:([\w\.]{1,9})\b.+(gecko)/i],
1186
+ [VERSION, NAME]
1187
+ ],
1188
+ os: [
1189
+ [/(windows nt) (6\.[23]); arm/i],
1190
+ [[
1191
+ NAME,
1192
+ /N/,
1193
+ "R"
1194
+ ], [
1195
+ VERSION,
1196
+ strMapper,
1197
+ windowsVersionMap
1198
+ ]],
1199
+ [/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i, /(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],
1200
+ [NAME, VERSION],
1201
+ [/windows nt ?([\d\.\)]*)(?!.+xbox)/i, /\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],
1202
+ [[
1203
+ VERSION,
1204
+ /(;|\))/g,
1205
+ "",
1206
+ strMapper,
1207
+ windowsVersionMap
1208
+ ], [NAME, WINDOWS]],
1209
+ [/(windows ce)\/?([\d\.]*)/i],
1210
+ [NAME, VERSION],
1211
+ [
1212
+ /[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
1213
+ /(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,
1214
+ /\btvos ?([\w\.]+)/i,
1215
+ /cfnetwork\/.+darwin/i
1216
+ ],
1217
+ [[
1218
+ VERSION,
1219
+ /_/g,
1220
+ "."
1221
+ ], [NAME, "iOS"]],
1222
+ [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],
1223
+ [[NAME, "macOS"], [
1224
+ VERSION,
1225
+ /_/g,
1226
+ "."
1227
+ ]],
1228
+ [/android ([\d\.]+).*crkey/i],
1229
+ [VERSION, [NAME, CHROMECAST + " Android"]],
1230
+ [/fuchsia.*crkey\/([\d\.]+)/i],
1231
+ [VERSION, [NAME, CHROMECAST + " Fuchsia"]],
1232
+ [/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],
1233
+ [VERSION, [NAME, CHROMECAST + " SmartSpeaker"]],
1234
+ [/linux.*crkey\/([\d\.]+)/i],
1235
+ [VERSION, [NAME, CHROMECAST + " Linux"]],
1236
+ [/crkey\/([\d\.]+)/i],
1237
+ [VERSION, [NAME, CHROMECAST]],
1238
+ [/droid ([\w\.]+)\b.+(android[- ]x86)/i],
1239
+ [VERSION, NAME],
1240
+ [/(ubuntu) ([\w\.]+) like android/i],
1241
+ [[
1242
+ NAME,
1243
+ /(.+)/,
1244
+ "$1 Touch"
1245
+ ], VERSION],
1246
+ [/(harmonyos)[\/ ]?([\d\.]*)/i, /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],
1247
+ [NAME, VERSION],
1248
+ [/\(bb(10);/i],
1249
+ [VERSION, [NAME, BLACKBERRY]],
1250
+ [/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],
1251
+ [VERSION, [NAME, "Symbian"]],
1252
+ [/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],
1253
+ [VERSION, [NAME, FIREFOX + " OS"]],
1254
+ [/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i, /webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],
1255
+ [VERSION, [NAME, "webOS"]],
1256
+ [/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],
1257
+ [[
1258
+ VERSION,
1259
+ strMapper,
1260
+ {
1261
+ "25": "120",
1262
+ "24": "108",
1263
+ "23": "94",
1264
+ "22": "87",
1265
+ "6": "79",
1266
+ "5": "68",
1267
+ "4": "53",
1268
+ "3": "38",
1269
+ "2": "538",
1270
+ "1": "537",
1271
+ "*": "TV"
1272
+ }
1273
+ ], [NAME, "webOS"]],
1274
+ [/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],
1275
+ [VERSION, [NAME, "watchOS"]],
1276
+ [/cros [\w]+(?:\)| ([\w\.]+)\b)/i],
1277
+ [VERSION, [NAME, "Chrome OS"]],
1278
+ [/kepler ([\w\.]+); (aft|aeo)/i],
1279
+ [VERSION, [NAME, "Vega OS"]],
1280
+ [
1281
+ /(netrange)mmh/i,
1282
+ /(nettv)\/(\d+\.[\w\.]+)/i,
1283
+ /(nintendo|playstation) (\w+)/i,
1284
+ /(xbox); +xbox ([^\);]+)/i,
1285
+ /(pico) .+os([\w\.]+)/i,
1286
+ /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,
1287
+ /linux.+(mint)[\/\(\) ]?([\w\.]*)/i,
1288
+ /(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,
1289
+ /([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,
1290
+ /((?:open)?solaris)[-\/ ]?([\w\.]*)/i,
1291
+ /\b(aix)[; ]([1-9\.]{0,4})/i,
1292
+ /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,
1293
+ /(gnu) ?([\w\.]*)/i,
1294
+ /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,
1295
+ /(haiku) ?(r\d)?/i
1296
+ ],
1297
+ [NAME, VERSION],
1298
+ [/(sunos) ?([\d\.]*)/i],
1299
+ [[NAME, "Solaris"], VERSION],
1300
+ [/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i, /(unix) ?([\w\.]*)/i],
1301
+ [NAME, VERSION]
1302
+ ]
1303
+ };
1304
+ var defaultProps = (function() {
1305
+ var props = {
1306
+ init: {},
1307
+ isIgnore: {},
1308
+ isIgnoreRgx: {},
1309
+ toString: {}
1310
+ };
1311
+ setProps.call(props.init, [
1312
+ [BROWSER, [
1313
+ NAME,
1314
+ VERSION,
1315
+ MAJOR,
1316
+ TYPE
1317
+ ]],
1318
+ [CPU, [ARCHITECTURE]],
1319
+ [DEVICE, [
1320
+ TYPE,
1321
+ MODEL,
1322
+ VENDOR
1323
+ ]],
1324
+ [ENGINE, [NAME, VERSION]],
1325
+ [OS, [NAME, VERSION]]
1326
+ ]);
1327
+ setProps.call(props.isIgnore, [
1328
+ [BROWSER, [VERSION, MAJOR]],
1329
+ [ENGINE, [VERSION]],
1330
+ [OS, [VERSION]]
1331
+ ]);
1332
+ setProps.call(props.isIgnoreRgx, [[BROWSER, / ?browser$/i], [OS, / ?os$/i]]);
1333
+ setProps.call(props.toString, [
1334
+ [BROWSER, [NAME, VERSION]],
1335
+ [CPU, [ARCHITECTURE]],
1336
+ [DEVICE, [VENDOR, MODEL]],
1337
+ [ENGINE, [NAME, VERSION]],
1338
+ [OS, [NAME, VERSION]]
1339
+ ]);
1340
+ return props;
1341
+ })();
1342
+ var createIData = function(item, itemType) {
1343
+ var init_props = defaultProps.init[itemType], is_ignoreProps = defaultProps.isIgnore[itemType] || 0, is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0, toString_props = defaultProps.toString[itemType] || 0;
1344
+ function IData() {
1345
+ setProps.call(this, init_props);
1346
+ }
1347
+ IData.prototype.getItem = function() {
1348
+ return item;
1349
+ };
1350
+ IData.prototype.withClientHints = function() {
1351
+ if (!NAVIGATOR_UADATA) return item.parseCH().get();
1352
+ return NAVIGATOR_UADATA.getHighEntropyValues(CH_ALL_VALUES).then(function(res) {
1353
+ return item.setCH(new UACHData(res, false)).parseCH().get();
1354
+ });
1355
+ };
1356
+ IData.prototype.withFeatureCheck = function() {
1357
+ return item.detectFeature().get();
1358
+ };
1359
+ if (itemType != RESULT) {
1360
+ IData.prototype.is = function(strToCheck) {
1361
+ var is = false;
1362
+ for (var i in this) 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)) {
1363
+ is = true;
1364
+ if (strToCheck != TYPEOF.UNDEFINED) break;
1365
+ } else if (strToCheck == TYPEOF.UNDEFINED && is) {
1366
+ is = !is;
1367
+ break;
1368
+ }
1369
+ return is;
1370
+ };
1371
+ IData.prototype.toString = function() {
1372
+ var str = EMPTY;
1373
+ for (var i in toString_props) if (typeof this[toString_props[i]] !== TYPEOF.UNDEFINED) str += (str ? " " : EMPTY) + this[toString_props[i]];
1374
+ return str || TYPEOF.UNDEFINED;
1375
+ };
1376
+ }
1377
+ IData.prototype.then = function(cb) {
1378
+ var that = this;
1379
+ var IDataResolve = function() {
1380
+ for (var prop in that) if (that.hasOwnProperty(prop)) this[prop] = that[prop];
1381
+ };
1382
+ IDataResolve.prototype = {
1383
+ is: IData.prototype.is,
1384
+ toString: IData.prototype.toString,
1385
+ withClientHints: IData.prototype.withClientHints,
1386
+ withFeatureCheck: IData.prototype.withFeatureCheck
1387
+ };
1388
+ var resolveData = new IDataResolve();
1389
+ cb(resolveData);
1390
+ return resolveData;
1391
+ };
1392
+ return new IData();
1393
+ };
1394
+ function UACHData(uach, isHttpUACH) {
1395
+ uach = uach || {};
1396
+ setProps.call(this, CH_ALL_VALUES);
1397
+ if (isHttpUACH) setProps.call(this, [
1398
+ [BRANDS, itemListToArray(uach[CH])],
1399
+ [FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
1400
+ [MOBILE, /\?1/.test(uach[CH_MOBILE])],
1401
+ [MODEL, stripQuotes(uach[CH_MODEL])],
1402
+ [PLATFORM, stripQuotes(uach[CH_PLATFORM])],
1403
+ [PLATFORMVER, stripQuotes(uach[CH_PLATFORM_VER])],
1404
+ [ARCHITECTURE, stripQuotes(uach[CH_ARCH])],
1405
+ [FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
1406
+ [BITNESS, stripQuotes(uach[CH_BITNESS])]
1407
+ ]);
1408
+ else for (var prop in uach) if (this.hasOwnProperty(prop) && typeof uach[prop] !== TYPEOF.UNDEFINED) this[prop] = uach[prop];
1409
+ }
1410
+ function UAItem(itemType, ua, rgxMap, uaCH) {
1411
+ setProps.call(this, [
1412
+ ["itemType", itemType],
1413
+ ["ua", ua],
1414
+ ["uaCH", uaCH],
1415
+ ["rgxMap", rgxMap],
1416
+ ["data", createIData(this, itemType)]
1417
+ ]);
1418
+ return this;
1419
+ }
1420
+ UAItem.prototype.get = function(prop) {
1421
+ if (!prop) return this.data;
1422
+ return this.data.hasOwnProperty(prop) ? this.data[prop] : void 0;
1423
+ };
1424
+ UAItem.prototype.set = function(prop, val) {
1425
+ this.data[prop] = val;
1426
+ return this;
1427
+ };
1428
+ UAItem.prototype.setCH = function(ch) {
1429
+ this.uaCH = ch;
1430
+ return this;
1431
+ };
1432
+ UAItem.prototype.detectFeature = function() {
1433
+ if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) switch (this.itemType) {
1434
+ case BROWSER:
1435
+ if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == TYPEOF.FUNCTION) this.set(NAME, "Brave");
1436
+ break;
1437
+ case DEVICE:
1438
+ if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) this.set(TYPE, MOBILE);
1439
+ if (this.get(MODEL) == "Macintosh" && NAVIGATOR && typeof NAVIGATOR.standalone !== TYPEOF.UNDEFINED && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) this.set(MODEL, "iPad").set(TYPE, TABLET);
1440
+ break;
1441
+ case OS:
1442
+ if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);
1443
+ break;
1444
+ case RESULT:
1445
+ var data = this.data;
1446
+ var detect = function(itemType) {
1447
+ return data[itemType].getItem().detectFeature().get();
1448
+ };
1449
+ this.set(BROWSER, detect(BROWSER)).set(CPU, detect(CPU)).set(DEVICE, detect(DEVICE)).set(ENGINE, detect(ENGINE)).set(OS, detect(OS));
1450
+ }
1451
+ return this;
1452
+ };
1453
+ UAItem.prototype.parseUA = function() {
1454
+ if (this.itemType != RESULT) rgxMapper.call(this.data, this.ua, this.rgxMap);
1455
+ switch (this.itemType) {
1456
+ case BROWSER:
1457
+ this.set(MAJOR, majorize(this.get(VERSION)));
1458
+ break;
1459
+ case OS:
1460
+ if (this.get(NAME) == "iOS" && this.get(VERSION) == "18.6") {
1461
+ var realVersion = /\) Version\/([\d\.]+)/.exec(this.ua);
1462
+ if (realVersion && parseInt(realVersion[1].substring(0, 2), 10) >= 26) this.set(VERSION, realVersion[1]);
1463
+ }
1464
+ break;
1465
+ }
1466
+ return this;
1467
+ };
1468
+ UAItem.prototype.parseCH = function() {
1469
+ var uaCH = this.uaCH, rgxMap = this.rgxMap;
1470
+ switch (this.itemType) {
1471
+ case BROWSER:
1472
+ case ENGINE:
1473
+ var brands = uaCH[FULLVERLIST] || uaCH[BRANDS], prevName;
1474
+ if (brands) for (var i = 0; i < brands.length; i++) {
1475
+ var brandName = brands[i].brand || brands[i], brandVersion = brands[i].version;
1476
+ if (this.itemType == BROWSER && !/not.a.brand/i.test(brandName) && (!prevName || /Chrom/.test(prevName) && brandName != CHROMIUM || prevName == EDGE && /WebView2/.test(brandName))) {
1477
+ brandName = strMapper(brandName, browserHintsMap);
1478
+ prevName = this.get(NAME);
1479
+ if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) this.set(NAME, brandName).set(VERSION, brandVersion).set(MAJOR, majorize(brandVersion));
1480
+ prevName = brandName;
1481
+ }
1482
+ if (this.itemType == ENGINE && brandName == CHROMIUM) this.set(VERSION, brandVersion);
1483
+ }
1484
+ break;
1485
+ case CPU:
1486
+ var archName = uaCH[ARCHITECTURE];
1487
+ if (archName) {
1488
+ if (archName && uaCH[BITNESS] == "64") archName += "64";
1489
+ rgxMapper.call(this.data, archName + ";", rgxMap);
1490
+ }
1491
+ break;
1492
+ case DEVICE:
1493
+ if (uaCH[MOBILE]) this.set(TYPE, MOBILE);
1494
+ if (uaCH[MODEL]) {
1495
+ this.set(MODEL, uaCH[MODEL]);
1496
+ if (!this.get(TYPE) || !this.get(VENDOR)) {
1497
+ var reParse = {};
1498
+ rgxMapper.call(reParse, "droid 9; " + uaCH[MODEL] + ")", rgxMap);
1499
+ if (!this.get(TYPE) && !!reParse.type) this.set(TYPE, reParse.type);
1500
+ if (!this.get(VENDOR) && !!reParse.vendor) this.set(VENDOR, reParse.vendor);
1501
+ }
1502
+ }
1503
+ if (uaCH[FORMFACTORS]) {
1504
+ var ff;
1505
+ if (typeof uaCH[FORMFACTORS] !== "string") {
1506
+ var idx = 0;
1507
+ while (!ff && idx < uaCH[FORMFACTORS].length) ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);
1508
+ } else ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);
1509
+ this.set(TYPE, ff);
1510
+ }
1511
+ break;
1512
+ case OS:
1513
+ var osName = uaCH[PLATFORM];
1514
+ if (osName) {
1515
+ var osVersion = uaCH[PLATFORMVER];
1516
+ if (osName == WINDOWS) osVersion = parseInt(majorize(osVersion), 10) >= 13 ? "11" : "10";
1517
+ this.set(NAME, osName).set(VERSION, osVersion);
1518
+ }
1519
+ if (this.get(NAME) == WINDOWS && uaCH[MODEL] == "Xbox") this.set(NAME, "Xbox").set(VERSION, void 0);
1520
+ break;
1521
+ case RESULT:
1522
+ var data = this.data;
1523
+ var parse = function(itemType) {
1524
+ return data[itemType].getItem().setCH(uaCH).parseCH().get();
1525
+ };
1526
+ this.set(BROWSER, parse(BROWSER)).set(CPU, parse(CPU)).set(DEVICE, parse(DEVICE)).set(ENGINE, parse(ENGINE)).set(OS, parse(OS));
1527
+ }
1528
+ return this;
1529
+ };
1530
+ function UAParser(ua, extensions, headers) {
1531
+ if (typeof ua === TYPEOF.OBJECT) {
1532
+ if (isExtensions(ua, true)) {
1533
+ if (typeof extensions === TYPEOF.OBJECT) headers = extensions;
1534
+ extensions = ua;
1535
+ } else {
1536
+ headers = ua;
1537
+ extensions = void 0;
1538
+ }
1539
+ ua = void 0;
1540
+ } else if (typeof ua === TYPEOF.STRING && !isExtensions(extensions, true)) {
1541
+ headers = extensions;
1542
+ extensions = void 0;
1543
+ }
1544
+ if (headers) if (typeof headers.append === TYPEOF.FUNCTION) {
1545
+ var kv = {};
1546
+ headers.forEach(function(v, k) {
1547
+ kv[String(k).toLowerCase()] = v;
1548
+ });
1549
+ headers = kv;
1550
+ } else {
1551
+ var normalized = {};
1552
+ for (var header in headers) if (headers.hasOwnProperty(header)) normalized[String(header).toLowerCase()] = headers[header];
1553
+ headers = normalized;
1554
+ }
1555
+ if (!(this instanceof UAParser)) return new UAParser(ua, extensions, headers).getResult();
1556
+ var userAgent = typeof ua === TYPEOF.STRING ? ua : headers && headers[USER_AGENT] ? headers[USER_AGENT] : NAVIGATOR && NAVIGATOR.userAgent ? NAVIGATOR.userAgent : EMPTY, httpUACH = new UACHData(headers, true), regexMap = extensions ? extend(defaultRegexes, extensions) : defaultRegexes, createItemFunc = function(itemType) {
1557
+ if (itemType == RESULT) return function() {
1558
+ 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();
1559
+ };
1560
+ else return function() {
1561
+ return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH).parseUA().get();
1562
+ };
1563
+ };
1564
+ setProps.call(this, [
1565
+ ["getBrowser", createItemFunc(BROWSER)],
1566
+ ["getCPU", createItemFunc(CPU)],
1567
+ ["getDevice", createItemFunc(DEVICE)],
1568
+ ["getEngine", createItemFunc(ENGINE)],
1569
+ ["getOS", createItemFunc(OS)],
1570
+ ["getResult", createItemFunc(RESULT)],
1571
+ ["getUA", function() {
1572
+ return userAgent;
1573
+ }],
1574
+ ["setUA", function(ua) {
1575
+ if (isString(ua)) userAgent = trim(ua, UA_MAX_LENGTH);
1576
+ return this;
1577
+ }]
1578
+ ]).setUA(userAgent);
1579
+ return this;
1580
+ }
1581
+ UAParser.VERSION = LIBVERSION;
1582
+ UAParser.BROWSER = enumerize([
1583
+ NAME,
1584
+ VERSION,
1585
+ MAJOR,
1586
+ TYPE
1587
+ ]);
1588
+ UAParser.CPU = enumerize([ARCHITECTURE]);
1589
+ UAParser.DEVICE = enumerize([
1590
+ MODEL,
1591
+ VENDOR,
1592
+ TYPE,
1593
+ CONSOLE,
1594
+ MOBILE,
1595
+ SMARTTV,
1596
+ TABLET,
1597
+ WEARABLE,
1598
+ EMBEDDED
1599
+ ]);
1600
+ UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
1601
+ //#endregion
1602
+ //#region ../infra/src/device/getParsedUserAgent.ts
1603
+ function getParsedUserAgent(userAgent) {
1604
+ const result = (userAgent ? new UAParser(userAgent) : new UAParser()).getResult();
1605
+ return {
1606
+ device: {
1607
+ model: result.device.model,
1608
+ vendor: result.device.vendor,
1609
+ type: result.device.type
1610
+ },
1611
+ os: {
1612
+ name: result.os.name,
1613
+ version: result.os.version
1614
+ },
1615
+ browser: {
1616
+ name: result.browser.name,
1617
+ version: result.browser.version
1618
+ }
1619
+ };
1620
+ }
1621
+ //#endregion
1622
+ export { UAParser as n, getParsedUserAgent as t };