@protontech/autofill 0.0.22991789 → 0.0.33690782

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 (190) hide show
  1. package/constants/features.d.ts +1 -0
  2. package/constants/features.js +1 -0
  3. package/constants/heuristics.d.ts +5 -4
  4. package/constants/heuristics.js +5 -10
  5. package/constants/selectors.d.ts +13 -7
  6. package/constants/selectors.js +29 -17
  7. package/debug.d.ts +24 -1
  8. package/debug.js +15 -13
  9. package/dictionary/generate.js +30 -21
  10. package/dictionary/generated/dictionary.d.ts +18 -4
  11. package/dictionary/generated/dictionary.js +31 -17
  12. package/dictionary/source/dictionary.d.ts +4 -3
  13. package/dictionary/source/dictionary.js +155 -89
  14. package/dictionary/source/patterns.js +2 -2
  15. package/features/feature.d.ts +17 -0
  16. package/features/feature.js +72 -0
  17. package/features/feature.spec.d.ts +1 -0
  18. package/features/feature.spec.js +55 -0
  19. package/features/v1/abstract.field.d.ts +20401 -0
  20. package/features/v1/abstract.field.js +95 -0
  21. package/features/v1/abstract.form.d.ts +1226 -0
  22. package/features/v1/abstract.form.js +336 -0
  23. package/features/v1/field.email.d.ts +62 -0
  24. package/features/v1/field.email.js +27 -0
  25. package/features/v1/field.otp.d.ts +142 -0
  26. package/features/v1/field.otp.js +105 -0
  27. package/features/v1/field.password.d.ts +162 -0
  28. package/features/v1/field.password.js +81 -0
  29. package/features/v1/field.username-hidden.d.ts +62 -0
  30. package/features/v1/field.username-hidden.js +25 -0
  31. package/features/v1/field.username.d.ts +72 -0
  32. package/features/v1/field.username.js +31 -0
  33. package/features/v1/index.d.ts +4427 -0
  34. package/features/v1/index.js +22 -0
  35. package/features/v1/index.spec.d.ts +1 -0
  36. package/features/v1/index.spec.js +30 -0
  37. package/index.d.ts +5 -2
  38. package/index.js +10 -3
  39. package/models/perceptron/index.d.ts +2 -0
  40. package/models/perceptron/index.js +27 -0
  41. package/models/perceptron/params/email-model.json +53 -0
  42. package/models/perceptron/params/login-model.json +465 -0
  43. package/models/perceptron/params/new-password-model.json +133 -0
  44. package/models/perceptron/params/otp-model.json +117 -0
  45. package/models/perceptron/params/password-change-model.json +465 -0
  46. package/models/perceptron/params/password-model.json +133 -0
  47. package/models/perceptron/params/recovery-model.json +465 -0
  48. package/models/perceptron/params/register-model.json +465 -0
  49. package/models/perceptron/params/username-hidden-model.json +53 -0
  50. package/models/perceptron/params/username-model.json +61 -0
  51. package/models/prod_20240829/index.d.ts +2 -0
  52. package/models/prod_20240829/index.js +27 -0
  53. package/models/prod_20240829/params/email-model.json +45 -0
  54. package/models/prod_20240829/params/login-model.json +421 -0
  55. package/models/prod_20240829/params/new-password-model.json +125 -0
  56. package/models/prod_20240829/params/otp-model.json +153 -0
  57. package/models/prod_20240829/params/password-change-model.json +421 -0
  58. package/models/prod_20240829/params/password-model.json +125 -0
  59. package/models/prod_20240829/params/recovery-model.json +421 -0
  60. package/models/prod_20240829/params/register-model.json +421 -0
  61. package/models/prod_20240829/params/username-hidden-model.json +41 -0
  62. package/models/prod_20240829/params/username-model.json +45 -0
  63. package/models/random_forest/index.d.ts +2 -0
  64. package/models/random_forest/index.js +27 -0
  65. package/models/random_forest/params/email-model.json +1456 -0
  66. package/models/random_forest/params/login-model.json +4194 -0
  67. package/models/random_forest/params/new-password-model.json +1448 -0
  68. package/models/random_forest/params/otp-model.json +2004 -0
  69. package/models/random_forest/params/password-change-model.json +1422 -0
  70. package/models/random_forest/params/password-model.json +1292 -0
  71. package/models/random_forest/params/recovery-model.json +2754 -0
  72. package/models/random_forest/params/register-model.json +3678 -0
  73. package/models/random_forest/params/username-hidden-model.json +1108 -0
  74. package/models/random_forest/params/username-model.json +1052 -0
  75. package/models/v1/index.d.ts +2 -0
  76. package/models/v1/index.js +35 -0
  77. package/package.json +14 -15
  78. package/rules/v1/index.d.ts +3 -0
  79. package/rules/v1/index.js +69 -0
  80. package/rulesets.d.ts +2 -2
  81. package/rulesets.js +11 -10
  82. package/types/index.d.ts +72 -17
  83. package/types/index.js +35 -2
  84. package/utils/attributes.js +1 -1
  85. package/utils/clustering.js +18 -5
  86. package/utils/credit-card.d.ts +32 -0
  87. package/utils/credit-card.js +259 -0
  88. package/utils/credit-card.samples.spec.d.ts +1 -0
  89. package/utils/credit-card.samples.spec.js +452 -0
  90. package/utils/credit-card.spec.d.ts +1 -0
  91. package/utils/credit-card.spec.js +296 -0
  92. package/utils/dom.d.ts +3 -2
  93. package/utils/dom.js +12 -7
  94. package/utils/exclusion.d.ts +1 -0
  95. package/utils/exclusion.js +22 -10
  96. package/utils/extract.d.ts +1 -0
  97. package/utils/extract.js +26 -7
  98. package/utils/fathom.d.ts +10 -23
  99. package/utils/fathom.js +7 -12
  100. package/utils/field.d.ts +12 -4
  101. package/utils/field.js +25 -14
  102. package/utils/flags.d.ts +9 -3
  103. package/utils/flags.js +27 -9
  104. package/utils/form.d.ts +16 -5
  105. package/utils/form.js +35 -14
  106. package/utils/identity.d.ts +12 -21
  107. package/utils/identity.js +66 -41
  108. package/utils/identity.samples.spec.d.ts +1 -0
  109. package/utils/identity.samples.spec.js +28 -0
  110. package/utils/iframe.d.ts +2 -0
  111. package/utils/iframe.js +22 -0
  112. package/utils/overrides.d.ts +19 -0
  113. package/utils/overrides.js +40 -0
  114. package/utils/prepass.js +6 -4
  115. package/utils/re.d.ts +19 -4
  116. package/utils/re.js +22 -7
  117. package/utils/re.spec.d.ts +1 -0
  118. package/utils/re.spec.js +62 -0
  119. package/utils/shadow-dom.d.ts +8 -0
  120. package/utils/shadow-dom.js +53 -0
  121. package/utils/shadow-dom.spec.d.ts +1 -0
  122. package/utils/shadow-dom.spec.js +215 -0
  123. package/utils/visible.d.ts +3 -2
  124. package/utils/visible.js +42 -22
  125. package/cli.d.ts +0 -2
  126. package/cli.js +0 -128
  127. package/features/abstract.field.d.ts +0 -123
  128. package/features/abstract.field.js +0 -63
  129. package/features/abstract.form.d.ts +0 -98
  130. package/features/abstract.form.js +0 -281
  131. package/features/field.email.d.ts +0 -18
  132. package/features/field.email.js +0 -43
  133. package/features/field.otp.d.ts +0 -36
  134. package/features/field.otp.js +0 -116
  135. package/features/field.password.d.ts +0 -35
  136. package/features/field.password.js +0 -104
  137. package/features/field.username-hidden.d.ts +0 -15
  138. package/features/field.username-hidden.js +0 -40
  139. package/features/field.username.d.ts +0 -16
  140. package/features/field.username.js +0 -41
  141. package/features/form.combined.d.ts +0 -1
  142. package/features/form.combined.js +0 -6
  143. package/trainees/field.email.d.ts +0 -2
  144. package/trainees/field.email.js +0 -16
  145. package/trainees/field.identity.d.ts +0 -2
  146. package/trainees/field.identity.js +0 -9
  147. package/trainees/field.otp.d.ts +0 -2
  148. package/trainees/field.otp.js +0 -16
  149. package/trainees/field.password.current.d.ts +0 -2
  150. package/trainees/field.password.current.js +0 -16
  151. package/trainees/field.password.new.d.ts +0 -2
  152. package/trainees/field.password.new.js +0 -16
  153. package/trainees/field.username-hidden.d.ts +0 -2
  154. package/trainees/field.username-hidden.js +0 -22
  155. package/trainees/field.username.d.ts +0 -2
  156. package/trainees/field.username.js +0 -16
  157. package/trainees/form.login.d.ts +0 -2
  158. package/trainees/form.login.js +0 -16
  159. package/trainees/form.noop.d.ts +0 -1
  160. package/trainees/form.noop.js +0 -7
  161. package/trainees/form.password-change.d.ts +0 -2
  162. package/trainees/form.password-change.js +0 -16
  163. package/trainees/form.recovery.d.ts +0 -2
  164. package/trainees/form.recovery.js +0 -16
  165. package/trainees/form.register.d.ts +0 -2
  166. package/trainees/form.register.js +0 -16
  167. package/trainees/index.d.ts +0 -9
  168. package/trainees/index.js +0 -72
  169. package/trainees/results/result.email.d.ts +0 -2
  170. package/trainees/results/result.email.js +0 -17
  171. package/trainees/results/result.login.d.ts +0 -2
  172. package/trainees/results/result.login.js +0 -110
  173. package/trainees/results/result.new-password.d.ts +0 -2
  174. package/trainees/results/result.new-password.js +0 -36
  175. package/trainees/results/result.otp.d.ts +0 -2
  176. package/trainees/results/result.otp.js +0 -43
  177. package/trainees/results/result.password-change.d.ts +0 -2
  178. package/trainees/results/result.password-change.js +0 -110
  179. package/trainees/results/result.password.d.ts +0 -2
  180. package/trainees/results/result.password.js +0 -36
  181. package/trainees/results/result.recovery.d.ts +0 -2
  182. package/trainees/results/result.recovery.js +0 -110
  183. package/trainees/results/result.register.d.ts +0 -2
  184. package/trainees/results/result.register.js +0 -110
  185. package/trainees/results/result.username-hidden.d.ts +0 -2
  186. package/trainees/results/result.username-hidden.js +0 -15
  187. package/trainees/results/result.username.d.ts +0 -2
  188. package/trainees/results/result.username.js +0 -16
  189. package/utils/memoize.d.ts +0 -5
  190. package/utils/memoize.js +0 -12
@@ -0,0 +1,22 @@
1
+ import { getComputerForFeatures } from "@protontech/autofill/features/feature";
2
+ import { fieldFeatures } from "./abstract.field";
3
+ import { formFeaturesComputer } from "./abstract.form";
4
+ import { emailFeatures } from "./field.email";
5
+ import { otpFeatures } from "./field.otp";
6
+ import { passwordFeatures } from "./field.password";
7
+ import { usernameFeatures } from "./field.username";
8
+ import { usernameHiddenFeatures } from "./field.username-hidden";
9
+ export const featureProvider = {
10
+ field: getComputerForFeatures(fieldFeatures),
11
+ form: formFeaturesComputer,
12
+ email: getComputerForFeatures(emailFeatures),
13
+ "new-password": getComputerForFeatures(passwordFeatures),
14
+ otp: getComputerForFeatures(otpFeatures),
15
+ password: getComputerForFeatures(passwordFeatures),
16
+ username: getComputerForFeatures(usernameFeatures),
17
+ "username-hidden": getComputerForFeatures(usernameHiddenFeatures),
18
+ login: formFeaturesComputer,
19
+ recovery: formFeaturesComputer,
20
+ register: formFeaturesComputer,
21
+ "password-change": formFeaturesComputer,
22
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { topologicalSort } from "@protontech/autofill/features/feature";
2
+ import { fieldFeatures } from "./abstract.field";
3
+ import { formFeatures } from "./abstract.form";
4
+ import { emailFeatures } from "./field.email";
5
+ import { otpFeatures } from "./field.otp";
6
+ import { passwordFeatures } from "./field.password";
7
+ import { usernameFeatures } from "./field.username";
8
+ import { usernameHiddenFeatures } from "./field.username-hidden";
9
+ describe("features can be topologically sorted", () => {
10
+ const featureSets = {
11
+ fieldFeatures,
12
+ formFeatures,
13
+ emailFeatures,
14
+ otpFeatures,
15
+ passwordFeatures,
16
+ usernameHiddenFeatures,
17
+ usernameFeatures,
18
+ };
19
+ Object.entries(featureSets).forEach(([featureSetName, features]) => test(`${featureSetName} can be topologically sorted`, () => {
20
+ try {
21
+ topologicalSort(features);
22
+ }
23
+ catch (error) {
24
+ console.log(Object.values(features)
25
+ .map((feature) => `${feature.name} -> {${Object.keys(feature.parents).join(", ")}}`)
26
+ .join("\n"));
27
+ throw error;
28
+ }
29
+ }));
30
+ });
package/index.d.ts CHANGED
@@ -1,14 +1,17 @@
1
1
  export * as fathom from "@protontech/fathom";
2
+ export * as rulesets from "./rulesets";
2
3
  export * from "./constants/selectors";
3
- export * from "./trainees";
4
4
  export * from "./types";
5
5
  export * from "./utils/attributes";
6
+ export * from "./utils/credit-card";
6
7
  export { getTypeScore } from "./utils/fathom";
7
8
  export * from "./utils/field";
8
9
  export * from "./utils/flags";
9
10
  export * from "./utils/form";
10
11
  export * from "./utils/identity";
12
+ export * from "./utils/iframe";
13
+ export * from "./utils/overrides";
11
14
  export * from "./utils/prepass";
15
+ export * from "./utils/shadow-dom";
12
16
  export * from "./utils/visible";
13
- export * as rulesets from "./rulesets";
14
17
  export declare const clearDetectionCache: () => void;
package/index.js CHANGED
@@ -1,15 +1,22 @@
1
+ import { clearOverrides } from "./utils/overrides";
1
2
  import { clearVisibilityCache } from "./utils/visible";
2
3
  export * as fathom from "@protontech/fathom";
4
+ export * as rulesets from "./rulesets";
3
5
  export * from "./constants/selectors";
4
- export * from "./trainees";
5
6
  export * from "./types";
6
7
  export * from "./utils/attributes";
8
+ export * from "./utils/credit-card";
7
9
  export { getTypeScore } from "./utils/fathom";
8
10
  export * from "./utils/field";
9
11
  export * from "./utils/flags";
10
12
  export * from "./utils/form";
11
13
  export * from "./utils/identity";
14
+ export * from "./utils/iframe";
15
+ export * from "./utils/overrides";
12
16
  export * from "./utils/prepass";
17
+ export * from "./utils/shadow-dom";
13
18
  export * from "./utils/visible";
14
- export * as rulesets from "./rulesets";
15
- export const clearDetectionCache = () => clearVisibilityCache();
19
+ export const clearDetectionCache = () => {
20
+ clearVisibilityCache();
21
+ clearOverrides();
22
+ };
@@ -0,0 +1,2 @@
1
+ import type { DetectionClass } from "../../types";
2
+ export declare const getPerceptronForClass: (klass: DetectionClass) => import("@protontech/ml-inference").Inferrer<import("@protontech/ml-inference").Features, number>;
@@ -0,0 +1,27 @@
1
+ import { newPerceptronInferrer } from "@protontech/ml-inference";
2
+ import * as emailParamsJson from "./params/email-model.json";
3
+ import * as loginParamsJson from "./params/login-model.json";
4
+ import * as newPasswordParamsJson from "./params/new-password-model.json";
5
+ import * as otpParamsJson from "./params/otp-model.json";
6
+ import * as passwordChangeParamsJson from "./params/password-change-model.json";
7
+ import * as PasswordParamsJson from "./params/password-model.json";
8
+ import * as RecoveryParamsJson from "./params/recovery-model.json";
9
+ import * as registerParamsJson from "./params/register-model.json";
10
+ import * as usernameHiddenParamsJson from "./params/username-hidden-model.json";
11
+ import * as usernameParamsJson from "./params/username-model.json";
12
+ const paramsProvider = {
13
+ email: emailParamsJson,
14
+ "new-password": newPasswordParamsJson,
15
+ "password-change": passwordChangeParamsJson,
16
+ "username-hidden": usernameHiddenParamsJson,
17
+ login: loginParamsJson,
18
+ otp: otpParamsJson,
19
+ password: PasswordParamsJson,
20
+ recovery: RecoveryParamsJson,
21
+ register: registerParamsJson,
22
+ username: usernameParamsJson,
23
+ };
24
+ export const getPerceptronForClass = (klass) => {
25
+ const params = paramsProvider[klass];
26
+ return newPerceptronInferrer({ bias: params.bias, weights: new Map(params.coeffs) });
27
+ };
@@ -0,0 +1,53 @@
1
+ {
2
+ "bias": -6.599460124969482,
3
+ "coeffs": [
4
+ [
5
+ "email--exactAttrEmail",
6
+ 8.784777641296387
7
+ ],
8
+ [
9
+ "email--attrEmail",
10
+ 1.7379100322723389
11
+ ],
12
+ [
13
+ "email--autocompleteEmail",
14
+ 3.8710007667541504
15
+ ],
16
+ [
17
+ "email--autocompleteOff",
18
+ -1.1758869886398315
19
+ ],
20
+ [
21
+ "email--fieldCC",
22
+ -2.2318081855773926
23
+ ],
24
+ [
25
+ "email--fieldIdentity",
26
+ -4.074367046356201
27
+ ],
28
+ [
29
+ "email--isSearchField",
30
+ -8.169981956481934
31
+ ],
32
+ [
33
+ "email--labelEmail",
34
+ 12.27147102355957
35
+ ],
36
+ [
37
+ "email--mfaOutlier",
38
+ -9.960747718811035
39
+ ],
40
+ [
41
+ "email--placeholderEmail",
42
+ 7.317559242248535
43
+ ],
44
+ [
45
+ "email--textEmail",
46
+ 4.964043140411377
47
+ ],
48
+ [
49
+ "email--typeEmail",
50
+ 10.114109992980957
51
+ ]
52
+ ]
53
+ }
@@ -0,0 +1,465 @@
1
+ {
2
+ "bias": -0.9151370525360107,
3
+ "coeffs": [
4
+ [
5
+ "login--visibleFieldsCountScaled",
6
+ 1.4868990182876587
7
+ ],
8
+ [
9
+ "login--visibleInputsCountScaled",
10
+ 0.7714095711708069
11
+ ],
12
+ [
13
+ "login--fieldsetsCountScaled",
14
+ -2.256906747817993
15
+ ],
16
+ [
17
+ "login--textsCountScaled",
18
+ -2.240952730178833
19
+ ],
20
+ [
21
+ "login--textareasCountScaled",
22
+ -7.105659008026123
23
+ ],
24
+ [
25
+ "login--selectsCountScaled",
26
+ -6.675673961639404
27
+ ],
28
+ [
29
+ "login--disabledCountScaled",
30
+ -0.049399234354496
31
+ ],
32
+ [
33
+ "login--radiosCountScaled",
34
+ -4.642115116119385
35
+ ],
36
+ [
37
+ "login--readOnlyCountScaled",
38
+ -8.074827194213867
39
+ ],
40
+ [
41
+ "login--formComplexityScaled",
42
+ -2.9503023624420166
43
+ ],
44
+ [
45
+ "login--visibleIdentifiersCountScaled",
46
+ -1.8698220252990723
47
+ ],
48
+ [
49
+ "login--hiddenIdentifiersCountScaled",
50
+ 1.9122285842895508
51
+ ],
52
+ [
53
+ "login--usernamesCountScaled",
54
+ 0.16324321925640106
55
+ ],
56
+ [
57
+ "login--emailsCountScaled",
58
+ -3.57155179977417
59
+ ],
60
+ [
61
+ "login--hiddenCountScaled",
62
+ 2.2564451694488525
63
+ ],
64
+ [
65
+ "login--hiddenPasswordsCountScaled",
66
+ 6.7593560218811035
67
+ ],
68
+ [
69
+ "login--submitsCountScaled",
70
+ -4.4095683097839355
71
+ ],
72
+ [
73
+ "login--identitiesCountScaled",
74
+ -1.8813523054122925
75
+ ],
76
+ [
77
+ "login--ccsCountScaled",
78
+ -4.634805679321289
79
+ ],
80
+ [
81
+ "login--hasTels",
82
+ -3.304875135421753
83
+ ],
84
+ [
85
+ "login--hasOAuth",
86
+ 0.9214451313018799
87
+ ],
88
+ [
89
+ "login--hasCaptchas",
90
+ 2.7123048305511475
91
+ ],
92
+ [
93
+ "login--hasFiles",
94
+ -0.06754611432552338
95
+ ],
96
+ [
97
+ "login--hasDate",
98
+ -0.3914889991283417
99
+ ],
100
+ [
101
+ "login--hasNumber",
102
+ -5.054872989654541
103
+ ],
104
+ [
105
+ "login--oneVisibleField",
106
+ 2.946655511856079
107
+ ],
108
+ [
109
+ "login--twoVisibleFields",
110
+ 0.22733572125434875
111
+ ],
112
+ [
113
+ "login--threeOrMoreVisibleFields",
114
+ -2.019275665283203
115
+ ],
116
+ [
117
+ "login--noPasswords",
118
+ -6.263664245605469
119
+ ],
120
+ [
121
+ "login--onePassword",
122
+ 6.739871978759766
123
+ ],
124
+ [
125
+ "login--twoPasswords",
126
+ 1.2358297109603882
127
+ ],
128
+ [
129
+ "login--threeOrMorePasswords",
130
+ -3.506570339202881
131
+ ],
132
+ [
133
+ "login--noIdentifiers",
134
+ -1.7133214473724365
135
+ ],
136
+ [
137
+ "login--oneIdentifier",
138
+ 1.0281367301940918
139
+ ],
140
+ [
141
+ "login--twoIdentifiers",
142
+ 2.5340795516967773
143
+ ],
144
+ [
145
+ "login--threeOrMoreIdentifiers",
146
+ -4.254448413848877
147
+ ],
148
+ [
149
+ "login--autofocusedIsIdentifier",
150
+ 2.8286824226379395
151
+ ],
152
+ [
153
+ "login--autofocusedIsPassword",
154
+ 4.382067680358887
155
+ ],
156
+ [
157
+ "login--visibleRatio",
158
+ 0.7667932510375977
159
+ ],
160
+ [
161
+ "login--inputRatio",
162
+ -4.025937080383301
163
+ ],
164
+ [
165
+ "login--hiddenRatio",
166
+ -1.149653673171997
167
+ ],
168
+ [
169
+ "login--identifierRatio",
170
+ -1.8468903303146362
171
+ ],
172
+ [
173
+ "login--emailRatio",
174
+ 11.311781883239746
175
+ ],
176
+ [
177
+ "login--usernameRatio",
178
+ -2.946749687194824
179
+ ],
180
+ [
181
+ "login--passwordRatio",
182
+ 2.039027690887451
183
+ ],
184
+ [
185
+ "login--disabledRatio",
186
+ -0.04974718019366264
187
+ ],
188
+ [
189
+ "login--requiredRatio",
190
+ 0.6291856169700623
191
+ ],
192
+ [
193
+ "login--checkboxRatio",
194
+ -10.240706443786621
195
+ ],
196
+ [
197
+ "login--hiddenIdentifierRatio",
198
+ 1.3944560289382935
199
+ ],
200
+ [
201
+ "login--hiddenPasswordRatio",
202
+ 7.059211730957031
203
+ ],
204
+ [
205
+ "login--pageLogin",
206
+ 3.7198829650878906
207
+ ],
208
+ [
209
+ "login--formTextLogin",
210
+ 0.001237060409039259
211
+ ],
212
+ [
213
+ "login--formAttrsLogin",
214
+ 4.15083122253418
215
+ ],
216
+ [
217
+ "login--headingsLogin",
218
+ 7.620121002197266
219
+ ],
220
+ [
221
+ "login--layoutLogin",
222
+ -0.07942848652601242
223
+ ],
224
+ [
225
+ "login--rememberMeCheckbox",
226
+ 4.073164463043213
227
+ ],
228
+ [
229
+ "login--troubleLink",
230
+ 4.67028284072876
231
+ ],
232
+ [
233
+ "login--submitLogin",
234
+ 10.190820693969727
235
+ ],
236
+ [
237
+ "login--pageRegister",
238
+ -9.373846054077148
239
+ ],
240
+ [
241
+ "login--formTextRegister",
242
+ -6.4178853034973145
243
+ ],
244
+ [
245
+ "login--formAttrsRegister",
246
+ -5.424561500549316
247
+ ],
248
+ [
249
+ "login--headingsRegister",
250
+ -3.8274242877960205
251
+ ],
252
+ [
253
+ "login--layoutRegister",
254
+ -0.6012744307518005
255
+ ],
256
+ [
257
+ "login--pwNewRegister",
258
+ -12.924928665161133
259
+ ],
260
+ [
261
+ "login--pwConfirmRegister",
262
+ -1.2716552019119263
263
+ ],
264
+ [
265
+ "login--submitRegister",
266
+ -12.533028602600098
267
+ ],
268
+ [
269
+ "login--TOSRef",
270
+ -2.4069557189941406
271
+ ],
272
+ [
273
+ "login--pagePwReset",
274
+ -0.831684947013855
275
+ ],
276
+ [
277
+ "login--formTextPwReset",
278
+ -0.021102262660861015
279
+ ],
280
+ [
281
+ "login--formAttrsPwReset",
282
+ -8.685617446899414
283
+ ],
284
+ [
285
+ "login--headingsPwReset",
286
+ -2.0459940433502197
287
+ ],
288
+ [
289
+ "login--layoutPwReset",
290
+ -1.5053774118423462
291
+ ],
292
+ [
293
+ "login--pageRecovery",
294
+ -1.6404575109481812
295
+ ],
296
+ [
297
+ "login--formTextRecovery",
298
+ 1.1768496418554316e-35
299
+ ],
300
+ [
301
+ "login--formAttrsRecovery",
302
+ -9.25972843170166
303
+ ],
304
+ [
305
+ "login--headingsRecovery",
306
+ -3.0005390644073486
307
+ ],
308
+ [
309
+ "login--layoutRecovery",
310
+ 1.0471279621124268
311
+ ],
312
+ [
313
+ "login--identifierRecovery",
314
+ 0.12867245078086853
315
+ ],
316
+ [
317
+ "login--submitRecovery",
318
+ -4.689121723175049
319
+ ],
320
+ [
321
+ "login--formTextMFA",
322
+ -3.274149179458618
323
+ ],
324
+ [
325
+ "login--formAttrsMFA",
326
+ -9.224265098571777
327
+ ],
328
+ [
329
+ "login--inputsMFA",
330
+ -10.566763877868652
331
+ ],
332
+ [
333
+ "login--newsletterForm",
334
+ -3.199449300765991
335
+ ],
336
+ [
337
+ "login--searchForm",
338
+ -4.385682106018066
339
+ ],
340
+ [
341
+ "login--multistepForm",
342
+ 2.7234747409820557
343
+ ],
344
+ [
345
+ "login--multiAuthForm",
346
+ 2.3670737743377686
347
+ ],
348
+ [
349
+ "login--multistepForm,multiAuthForm",
350
+ 5.559228420257568
351
+ ],
352
+ [
353
+ "login--visibleRatio,visibleFieldsCountScaled",
354
+ -0.5109796524047852
355
+ ],
356
+ [
357
+ "login--visibleRatio,visibleIdentifiersCountScaled",
358
+ -3.212836980819702
359
+ ],
360
+ [
361
+ "login--visibleRatio,visiblePasswordsCountScaled",
362
+ 4.3463873863220215
363
+ ],
364
+ [
365
+ "login--visibleRatio,hiddenIdentifiersCountScaled",
366
+ -1.2100861072540283
367
+ ],
368
+ [
369
+ "login--visibleRatio,hiddenPasswordsCountScaled",
370
+ -1.9768967628479004
371
+ ],
372
+ [
373
+ "login--visibleRatio,multiAuthForm",
374
+ -3.3510801792144775
375
+ ],
376
+ [
377
+ "login--visibleRatio,multistepForm",
378
+ 7.166626453399658
379
+ ],
380
+ [
381
+ "login--identifierRatio,visibleFieldsCountScaled",
382
+ -3.0575952529907227
383
+ ],
384
+ [
385
+ "login--identifierRatio,visibleIdentifiersCountScaled",
386
+ -3.552677631378174
387
+ ],
388
+ [
389
+ "login--identifierRatio,visiblePasswordsCountScaled",
390
+ 2.493713617324829
391
+ ],
392
+ [
393
+ "login--identifierRatio,hiddenIdentifiersCountScaled",
394
+ 0.6841031312942505
395
+ ],
396
+ [
397
+ "login--identifierRatio,hiddenPasswordsCountScaled",
398
+ 6.573176383972168
399
+ ],
400
+ [
401
+ "login--identifierRatio,multiAuthForm",
402
+ 8.29233169555664
403
+ ],
404
+ [
405
+ "login--identifierRatio,multistepForm",
406
+ -6.264771938323975
407
+ ],
408
+ [
409
+ "login--passwordRatio,visibleFieldsCountScaled",
410
+ 5.550402641296387
411
+ ],
412
+ [
413
+ "login--passwordRatio,visibleIdentifiersCountScaled",
414
+ 2.6618404388427734
415
+ ],
416
+ [
417
+ "login--passwordRatio,visiblePasswordsCountScaled",
418
+ -0.8242425322532654
419
+ ],
420
+ [
421
+ "login--passwordRatio,hiddenIdentifiersCountScaled",
422
+ 2.098625659942627
423
+ ],
424
+ [
425
+ "login--passwordRatio,hiddenPasswordsCountScaled",
426
+ 3.058513879776001
427
+ ],
428
+ [
429
+ "login--passwordRatio,multiAuthForm",
430
+ -6.020142078399658
431
+ ],
432
+ [
433
+ "login--passwordRatio,multistepForm",
434
+ -14.701337814331055
435
+ ],
436
+ [
437
+ "login--requiredRatio,visibleFieldsCountScaled",
438
+ 0.28754928708076477
439
+ ],
440
+ [
441
+ "login--requiredRatio,visibleIdentifiersCountScaled",
442
+ -2.5056164264678955
443
+ ],
444
+ [
445
+ "login--requiredRatio,visiblePasswordsCountScaled",
446
+ 1.0380079746246338
447
+ ],
448
+ [
449
+ "login--requiredRatio,hiddenIdentifiersCountScaled",
450
+ 10.058676719665527
451
+ ],
452
+ [
453
+ "login--requiredRatio,hiddenPasswordsCountScaled",
454
+ 1.303301215171814
455
+ ],
456
+ [
457
+ "login--requiredRatio,multiAuthForm",
458
+ 2.7696311473846436
459
+ ],
460
+ [
461
+ "login--requiredRatio,multistepForm",
462
+ 4.082817077636719
463
+ ]
464
+ ]
465
+ }