testcafe 1.13.0 → 1.14.2

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 (336) hide show
  1. package/CHANGELOG.md +88 -10
  2. package/LICENSE +21 -21
  3. package/README.md +52 -48
  4. package/bin/testcafe-with-v8-flag-filter.js +0 -0
  5. package/lib/api/exportable-lib/index.js +50 -50
  6. package/lib/api/request-hooks/assert-type.js +7 -7
  7. package/lib/api/request-hooks/hook-method-names.js +11 -0
  8. package/lib/api/request-hooks/hook.js +33 -39
  9. package/lib/api/request-hooks/interfaces.js +3 -3
  10. package/lib/api/request-hooks/request-logger.js +113 -111
  11. package/lib/api/request-hooks/request-mock/create-request-mock.js +12 -0
  12. package/lib/api/request-hooks/request-mock/index.js +46 -0
  13. package/lib/api/request-hooks/request-mock.js +47 -48
  14. package/lib/api/structure/base-unit.js +11 -11
  15. package/lib/api/structure/fixture.js +75 -75
  16. package/lib/api/structure/interfaces.js +2 -2
  17. package/lib/api/structure/test-file.js +31 -31
  18. package/lib/api/structure/test-timeout.js +9 -9
  19. package/lib/api/structure/test.js +85 -85
  20. package/lib/api/structure/testing-unit.js +89 -89
  21. package/lib/api/structure/unit-type.js +9 -9
  22. package/lib/api/test-controller/assertion.js +88 -88
  23. package/lib/api/test-controller/execution-context.js +82 -82
  24. package/lib/api/test-controller/index.js +359 -319
  25. package/lib/api/test-controller/proxy.js +28 -28
  26. package/lib/api/test-page-url.js +60 -60
  27. package/lib/api/test-run-tracker.js +68 -68
  28. package/lib/api/wrap-test-function.js +49 -49
  29. package/lib/assertions/executor.js +74 -74
  30. package/lib/assertions/get-fn.js +46 -46
  31. package/lib/assertions/type.js +20 -20
  32. package/lib/assets/content-types.js +9 -9
  33. package/lib/assets/injectables.js +18 -18
  34. package/lib/browser/connection/command.js +10 -10
  35. package/lib/browser/connection/error-hints.js +9 -9
  36. package/lib/browser/connection/gateway.js +159 -159
  37. package/lib/browser/connection/get-hints.js +33 -33
  38. package/lib/browser/connection/heartbeat-status.js +8 -8
  39. package/lib/browser/connection/index.js +328 -328
  40. package/lib/browser/connection/remotes-queue.js +46 -46
  41. package/lib/browser/connection/service-routes.js +12 -12
  42. package/lib/browser/connection/status.js +12 -12
  43. package/lib/browser/interfaces.js +2 -2
  44. package/lib/browser/provider/built-in/dedicated/base.js +80 -80
  45. package/lib/browser/provider/built-in/dedicated/chrome/browser-client.js +204 -204
  46. package/lib/browser/provider/built-in/dedicated/chrome/build-chrome-args.js +17 -17
  47. package/lib/browser/provider/built-in/dedicated/chrome/config.js +110 -110
  48. package/lib/browser/provider/built-in/dedicated/chrome/create-temp-profile.js +45 -45
  49. package/lib/browser/provider/built-in/dedicated/chrome/elapsed-upperbounds.js +15 -15
  50. package/lib/browser/provider/built-in/dedicated/chrome/index.js +102 -102
  51. package/lib/browser/provider/built-in/dedicated/chrome/interfaces.js +2 -2
  52. package/lib/browser/provider/built-in/dedicated/chrome/local-chrome.js +24 -24
  53. package/lib/browser/provider/built-in/dedicated/chrome/runtime-info.js +29 -29
  54. package/lib/browser/provider/built-in/dedicated/edge/index.js +10 -10
  55. package/lib/browser/provider/built-in/dedicated/edge/runtime-info.js +29 -29
  56. package/lib/browser/provider/built-in/dedicated/firefox/config.js +33 -33
  57. package/lib/browser/provider/built-in/dedicated/firefox/create-temp-profile.js +78 -78
  58. package/lib/browser/provider/built-in/dedicated/firefox/index.js +73 -73
  59. package/lib/browser/provider/built-in/dedicated/firefox/local-firefox.js +36 -36
  60. package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/commands.js +13 -13
  61. package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/index.js +200 -200
  62. package/lib/browser/provider/built-in/dedicated/firefox/runtime-info.js +17 -17
  63. package/lib/browser/provider/built-in/index.js +21 -21
  64. package/lib/browser/provider/built-in/locally-installed.js +30 -30
  65. package/lib/browser/provider/built-in/path.js +47 -47
  66. package/lib/browser/provider/built-in/remote.js +58 -58
  67. package/lib/browser/provider/index.js +303 -303
  68. package/lib/browser/provider/parse-provider-name.js +16 -16
  69. package/lib/browser/provider/plugin-host.js +121 -121
  70. package/lib/browser/provider/pool.js +115 -115
  71. package/lib/browser/provider/utils/argument-parsing.js +74 -74
  72. package/lib/browser/provider/utils/browser-starter.js +34 -34
  73. package/lib/browser/provider/utils/client-functions.js +24 -24
  74. package/lib/browser/provider/utils/get-maximized-headless-window-size.js +9 -9
  75. package/lib/cli/argument-parser.js +284 -279
  76. package/lib/cli/authentication-helper.js +35 -35
  77. package/lib/cli/cli.js +134 -134
  78. package/lib/cli/correct-browsers-and-sources.js +40 -40
  79. package/lib/cli/index.js +19 -19
  80. package/lib/cli/log.js +43 -43
  81. package/lib/cli/remotes-wizard.js +36 -36
  82. package/lib/cli/termination-handler.js +38 -38
  83. package/lib/client/automation/index.js +144 -46
  84. package/lib/client/automation/index.min.js +1 -1
  85. package/lib/client/browser/idle-page/index.html.mustache +35 -35
  86. package/lib/client/browser/idle-page/logo.svg +86 -86
  87. package/lib/client/browser/service-worker.js +4 -6
  88. package/lib/client/core/index.js +19 -13
  89. package/lib/client/core/index.min.js +1 -1
  90. package/lib/client/driver/index.js +1807 -451
  91. package/lib/client/driver/index.min.js +1 -1
  92. package/lib/client/driver/internal-properties.js +9 -9
  93. package/lib/client/test-run/iframe.js.mustache +17 -17
  94. package/lib/client/test-run/index.js.mustache +51 -51
  95. package/lib/client/ui/index.js +14 -12
  96. package/lib/client/ui/index.min.js +1 -1
  97. package/lib/client/ui/sprite.svg +42 -42
  98. package/lib/client-functions/builder-symbol.js +4 -4
  99. package/lib/client-functions/client-function-builder.js +156 -135
  100. package/lib/client-functions/replicator.js +61 -61
  101. package/lib/client-functions/return-single-prop-mode.js +8 -8
  102. package/lib/client-functions/selector-api-execution-mode.js +22 -0
  103. package/lib/client-functions/selectors/add-api.js +646 -588
  104. package/lib/client-functions/selectors/create-snapshot-methods.js +13 -13
  105. package/lib/client-functions/selectors/prepare-api-args.js +20 -20
  106. package/lib/client-functions/selectors/selector-attribute-filter.js +22 -22
  107. package/lib/client-functions/selectors/selector-builder.js +154 -150
  108. package/lib/client-functions/selectors/selector-text-filter.js +43 -43
  109. package/lib/client-functions/selectors/snapshot-properties.js +48 -48
  110. package/lib/client-functions/types.js +18 -18
  111. package/lib/compiler/babel/format-babel-produced-code.js +10 -10
  112. package/lib/compiler/babel/get-base-babel-options.js +11 -11
  113. package/lib/compiler/babel/load-libs.js +64 -62
  114. package/lib/compiler/babel/preset-stage-2.js +19 -19
  115. package/lib/compiler/compile-client-function.js +73 -73
  116. package/lib/compiler/compilers.js +33 -33
  117. package/lib/compiler/index.js +92 -92
  118. package/lib/compiler/interfaces.js +2 -2
  119. package/lib/compiler/test-file/api-based.js +146 -146
  120. package/lib/compiler/test-file/base.js +36 -36
  121. package/lib/compiler/test-file/exportble-lib-path.js +5 -5
  122. package/lib/compiler/test-file/formats/coffeescript/compiler.js +38 -38
  123. package/lib/compiler/test-file/formats/coffeescript/get-test-list.js +29 -29
  124. package/lib/compiler/test-file/formats/es-next/compiler.js +43 -43
  125. package/lib/compiler/test-file/formats/es-next/get-test-list.js +166 -166
  126. package/lib/compiler/test-file/formats/es-next/is-flow-code.js +7 -7
  127. package/lib/compiler/test-file/formats/raw.js +85 -85
  128. package/lib/compiler/test-file/formats/typescript/compiler.js +135 -135
  129. package/lib/compiler/test-file/formats/typescript/get-test-list.js +185 -185
  130. package/lib/compiler/test-file/test-file-parser-base.js +214 -214
  131. package/lib/configuration/configuration-base.js +165 -165
  132. package/lib/configuration/constants.js +9 -9
  133. package/lib/configuration/customizable-compilers.js +7 -7
  134. package/lib/configuration/default-values.js +51 -51
  135. package/lib/configuration/interfaces.js +3 -3
  136. package/lib/configuration/option-names.js +53 -53
  137. package/lib/configuration/option-source.js +9 -9
  138. package/lib/configuration/option.js +14 -14
  139. package/lib/configuration/quarantine-option-names.js +10 -0
  140. package/lib/configuration/run-option-names.js +26 -26
  141. package/lib/configuration/screenshot-option-names.js +10 -10
  142. package/lib/configuration/testcafe-configuration.js +164 -165
  143. package/lib/configuration/types.js +2 -2
  144. package/lib/configuration/typescript-configuration.js +62 -62
  145. package/lib/custom-client-scripts/assert-type.js +7 -7
  146. package/lib/custom-client-scripts/client-script-init.js +3 -3
  147. package/lib/custom-client-scripts/client-script.js +107 -108
  148. package/lib/custom-client-scripts/get-code.js +11 -11
  149. package/lib/custom-client-scripts/get-url.js +6 -6
  150. package/lib/custom-client-scripts/load.js +15 -15
  151. package/lib/custom-client-scripts/problematic-scripts.js +2 -2
  152. package/lib/custom-client-scripts/routing.js +36 -36
  153. package/lib/custom-client-scripts/utils.js +60 -60
  154. package/lib/embedding-utils.js +83 -83
  155. package/lib/errors/create-stack-filter.js +18 -18
  156. package/lib/errors/error-list.js +26 -26
  157. package/lib/errors/get-callsite.js +31 -31
  158. package/lib/errors/internal-modules-prefix.js +8 -8
  159. package/lib/errors/is-internal-stack-frame.js +46 -46
  160. package/lib/errors/process-test-fn-error.js +37 -37
  161. package/lib/errors/runtime/index.js +123 -123
  162. package/lib/errors/runtime/templates.js +116 -114
  163. package/lib/errors/runtime/type-assertions.js +112 -112
  164. package/lib/errors/stack-cleaning-hook.js +64 -64
  165. package/lib/errors/test-run/formattable-adapter.js +59 -59
  166. package/lib/errors/test-run/index.js +302 -302
  167. package/lib/errors/test-run/render-error-template.js +31 -31
  168. package/lib/errors/test-run/templates.js +93 -95
  169. package/lib/errors/test-run/utils.js +90 -85
  170. package/lib/errors/types.js +157 -155
  171. package/lib/index.js +81 -81
  172. package/lib/live/bootstrapper.js +44 -44
  173. package/lib/live/controller.js +107 -107
  174. package/lib/live/file-watcher/index.js +67 -67
  175. package/lib/live/file-watcher/modules-graph.js +58 -58
  176. package/lib/live/keyboard-observer.js +76 -76
  177. package/lib/live/logger/index.js +64 -64
  178. package/lib/live/test-run-controller.js +96 -96
  179. package/lib/live/test-run-state.js +6 -6
  180. package/lib/live/test-run.js +56 -56
  181. package/lib/live/test-runner.js +168 -168
  182. package/lib/load-assets.js +29 -29
  183. package/lib/notifications/add-rendered-warning.js +16 -16
  184. package/lib/notifications/debug-logger.js +78 -78
  185. package/lib/notifications/deprecated.js +24 -24
  186. package/lib/notifications/information-message.js +12 -12
  187. package/lib/notifications/warning-log.js +32 -31
  188. package/lib/notifications/warning-message.js +48 -48
  189. package/lib/reporter/command/command-formatter.js +120 -109
  190. package/lib/reporter/command/format-command.js +8 -8
  191. package/lib/reporter/command/interfaces.js +2 -2
  192. package/lib/reporter/index.js +319 -314
  193. package/lib/reporter/interfaces.js +2 -2
  194. package/lib/reporter/plugin-host.js +136 -137
  195. package/lib/reporter/plugin-methods.js +12 -12
  196. package/lib/role/index.js +74 -74
  197. package/lib/role/marker-symbol.js +7 -7
  198. package/lib/role/phase.js +9 -9
  199. package/lib/runner/bootstrapper.js +272 -272
  200. package/lib/runner/browser-job-result.js +9 -9
  201. package/lib/runner/browser-job.js +153 -123
  202. package/lib/runner/browser-set.js +114 -114
  203. package/lib/runner/fixture-hook-controller.js +85 -85
  204. package/lib/runner/index.js +450 -442
  205. package/lib/runner/interfaces.js +3 -3
  206. package/lib/runner/reporter-stream-controller.js +28 -28
  207. package/lib/runner/task/index.js +152 -133
  208. package/lib/runner/task/phase.js +9 -9
  209. package/lib/runner/test-run-controller.js +166 -185
  210. package/lib/runner/tested-app.js +73 -72
  211. package/lib/screenshots/capturer.js +141 -141
  212. package/lib/screenshots/constants.js +11 -11
  213. package/lib/screenshots/crop.js +111 -111
  214. package/lib/screenshots/default-extension.js +4 -4
  215. package/lib/screenshots/index.js +67 -67
  216. package/lib/screenshots/utils.js +39 -39
  217. package/lib/services/compiler/host.js +190 -106
  218. package/lib/services/compiler/io.js +9 -9
  219. package/lib/services/compiler/protocol.js +17 -16
  220. package/lib/services/compiler/service.js +225 -106
  221. package/lib/services/compiler/test-run-proxy.js +111 -73
  222. package/lib/services/interfaces.js +3 -0
  223. package/lib/services/process-title.js +8 -8
  224. package/lib/services/serialization/prepare-options.js +17 -17
  225. package/lib/services/serialization/replicator/create-replicator.js +27 -0
  226. package/lib/services/serialization/replicator/custom-error-transform.js +28 -0
  227. package/lib/services/serialization/test-structure.js +93 -77
  228. package/lib/services/utils/ipc/interfaces.js +30 -30
  229. package/lib/services/utils/ipc/io.js +108 -108
  230. package/lib/services/utils/ipc/message.js +76 -73
  231. package/lib/services/utils/ipc/packet.js +55 -55
  232. package/lib/services/utils/ipc/proxy.js +110 -118
  233. package/lib/services/utils/ipc/transport.js +64 -64
  234. package/lib/shared/errors/index.js +382 -382
  235. package/lib/shared/node-modules-folder-name.js +4 -4
  236. package/lib/test-run/bookmark.js +90 -90
  237. package/lib/test-run/browser-console-messages.js +73 -73
  238. package/lib/test-run/browser-manipulation-queue.js +92 -92
  239. package/lib/test-run/client-messages.js +9 -9
  240. package/lib/test-run/commands/actions.js +486 -425
  241. package/lib/test-run/commands/assertion.js +45 -45
  242. package/lib/test-run/commands/base.js +14 -14
  243. package/lib/test-run/commands/browser-manipulation.js +95 -95
  244. package/lib/test-run/commands/from-object.js +82 -82
  245. package/lib/test-run/commands/observation.js +61 -61
  246. package/lib/test-run/commands/options.js +231 -215
  247. package/lib/test-run/commands/service.js +54 -48
  248. package/lib/test-run/commands/type.js +65 -60
  249. package/lib/test-run/commands/utils.js +87 -87
  250. package/lib/test-run/commands/validations/argument.js +90 -90
  251. package/lib/test-run/commands/validations/factories.js +47 -47
  252. package/lib/test-run/commands/validations/initializers.js +44 -44
  253. package/lib/test-run/debug-log.js +32 -32
  254. package/lib/test-run/execute-js-expression.js +74 -74
  255. package/lib/test-run/index.js +823 -752
  256. package/lib/test-run/marker-symbol.js +7 -7
  257. package/lib/test-run/observed-callsites-storage.js +17 -17
  258. package/lib/test-run/phase.js +16 -16
  259. package/lib/test-run/session-controller.js +104 -104
  260. package/lib/testcafe.js +119 -114
  261. package/lib/utils/assignable.js +39 -39
  262. package/lib/utils/async-event-emitter.js +28 -28
  263. package/lib/utils/async-queue.js +14 -14
  264. package/lib/utils/browser-connection-timeouts.js +19 -19
  265. package/lib/utils/callsite.js +17 -17
  266. package/lib/utils/check-file-path.js +31 -31
  267. package/lib/utils/check-url.js +51 -51
  268. package/lib/utils/convert-to-best-fit-type.js +16 -16
  269. package/lib/utils/correct-file-path.js +21 -21
  270. package/lib/utils/define-lazy-property.js +13 -13
  271. package/lib/utils/delay.js +6 -6
  272. package/lib/utils/delegated-api.js +44 -44
  273. package/lib/utils/detect-display.js +6 -6
  274. package/lib/utils/detect-ffmpeg.js +44 -44
  275. package/lib/utils/diff/colors.js +29 -29
  276. package/lib/utils/diff/index.js +53 -53
  277. package/lib/utils/diff/util.js +24 -22
  278. package/lib/utils/diff.js +29 -29
  279. package/lib/utils/escape-user-agent.js +10 -10
  280. package/lib/utils/flag-list.js +17 -17
  281. package/lib/utils/get-any-key.js +8 -8
  282. package/lib/utils/get-browser.js +8 -8
  283. package/lib/utils/get-common-path.js +34 -34
  284. package/lib/utils/get-filter-fn.js +40 -40
  285. package/lib/utils/get-options/base.js +36 -36
  286. package/lib/utils/get-options/compiler.js +33 -33
  287. package/lib/utils/get-options/grep.js +15 -15
  288. package/lib/utils/get-options/index.js +21 -19
  289. package/lib/utils/get-options/meta.js +22 -22
  290. package/lib/utils/get-options/quarantine.js +92 -0
  291. package/lib/utils/get-options/screenshot.js +17 -17
  292. package/lib/utils/get-options/ssl.js +45 -45
  293. package/lib/utils/get-options/video.js +10 -10
  294. package/lib/utils/get-viewport-width.js +18 -18
  295. package/lib/utils/guard-time-execution.js +10 -10
  296. package/lib/utils/handle-errors.js +74 -74
  297. package/lib/utils/handle-tag-args.js +8 -8
  298. package/lib/utils/http.js +30 -30
  299. package/lib/utils/is-localhost.js +11 -11
  300. package/lib/utils/is-password-input.js +11 -0
  301. package/lib/utils/is-repl.js +12 -0
  302. package/lib/utils/is-window-in-iframe.js +6 -6
  303. package/lib/utils/limit-number.js +10 -10
  304. package/lib/utils/make-reg-exp.js +7 -7
  305. package/lib/utils/moment-loader.js +20 -20
  306. package/lib/utils/parse-file-list.js +71 -71
  307. package/lib/utils/parse-user-agent.js +55 -55
  308. package/lib/utils/path-pattern.js +114 -114
  309. package/lib/utils/prepare-reporters.js +30 -30
  310. package/lib/utils/prerender-callsite.js +18 -18
  311. package/lib/utils/process.js +119 -119
  312. package/lib/utils/promisified-functions.js +46 -46
  313. package/lib/utils/re-executable-promise.js +39 -39
  314. package/lib/utils/render-callsite-sync.js +29 -29
  315. package/lib/utils/render-template.js +10 -10
  316. package/lib/utils/reporter.js +30 -30
  317. package/lib/utils/resolve-path-relatively-cwd.js +7 -7
  318. package/lib/utils/string.js +105 -105
  319. package/lib/utils/temp-directory/cleanup-process/commands.js +7 -7
  320. package/lib/utils/temp-directory/cleanup-process/index.js +143 -143
  321. package/lib/utils/temp-directory/cleanup-process/worker.js +58 -58
  322. package/lib/utils/temp-directory/index.js +87 -87
  323. package/lib/utils/temp-directory/lockfile.js +56 -56
  324. package/lib/utils/thennable.js +7 -7
  325. package/lib/utils/timer.js +15 -15
  326. package/lib/utils/to-posix-path.js +8 -8
  327. package/lib/utils/types.js +2 -2
  328. package/lib/video-recorder/interfaces.js +2 -2
  329. package/lib/video-recorder/process.js +126 -126
  330. package/lib/video-recorder/recorder.js +136 -136
  331. package/lib/video-recorder/test-run-video-recorder.js +69 -69
  332. package/lib/video-recorder/videos.js +37 -37
  333. package/package.json +7 -7
  334. package/ts-defs/index.d.ts +109 -17
  335. package/ts-defs/selectors.d.ts +95 -7
  336. package/ts-defs/testcafe-scripts.d.ts +96 -8
@@ -1,86 +1,86 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg class="logo" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- width="276px" height="66px" viewBox="0 0 276 66" enable-background="new 0 0 276 66" xml:space="preserve">
5
- <g>
6
- <g>
7
- <path fill="#FFFFFF" d="M186.956,31.79c0.877-1.653,1.89-2.992,3.036-4.014c1.146-1.021,2.371-1.758,3.676-2.208
8
- c1.305-0.452,2.583-0.676,3.838-0.676c2.721,0,4.751,0.36,6.09,1.083l1.516-3.337c-0.768-0.333-1.713-0.595-2.84-0.789
9
- c-1.127-0.196-2.606-0.293-4.441-0.293c-1.714,0-3.449,0.3-5.208,0.9c-1.759,0.602-3.421,1.555-4.985,2.864
10
- c-1.564,1.308-2.937,2.992-4.117,5.051c-1.18,2.059-2.033,4.563-2.563,7.508c-0.508,2.826-0.579,5.271-0.214,7.328
11
- c0.364,2.061,1.055,3.751,2.071,5.073c1.016,1.321,2.309,2.308,3.873,2.954c1.566,0.646,3.313,0.969,5.24,0.969
12
- c1.59,0,3.112-0.135,4.566-0.405c1.457-0.271,2.705-0.751,3.744-1.442l-0.391-2.933c-0.777,0.422-1.705,0.769-2.777,1.038
13
- c-1.073,0.27-2.297,0.406-3.674,0.406c-1.529,0-2.896-0.272-4.098-0.813c-1.203-0.541-2.188-1.354-2.958-2.437
14
- s-1.282-2.435-1.544-4.06c-0.26-1.623-0.193-3.517,0.195-5.682C185.425,35.473,186.078,33.444,186.956,31.79z M220.857,31.382
15
- c-0.887-0.419-2.127-0.63-3.717-0.63c-1.683,0-3.324,0.167-4.928,0.497s-3.05,0.842-4.335,1.532l0.653,2.751
16
- c0.472-0.248,1.01-0.472,1.609-0.673c0.604-0.199,1.229-0.368,1.881-0.51s1.285-0.248,1.895-0.326
17
- c0.609-0.075,1.175-0.114,1.695-0.114c1.772,0,2.938,0.331,3.49,0.991s0.683,1.82,0.387,3.473
18
- c-0.129,0.723-0.319,1.534-0.573,2.436c-0.418-0.06-0.832-0.091-1.245-0.091h-1.262c-1.682,0-3.238,0.113-4.672,0.339
19
- c-1.432,0.226-2.691,0.602-3.779,1.127c-1.089,0.525-1.986,1.233-2.695,2.118c-0.711,0.888-1.185,1.994-1.422,3.315
20
- c-0.177,0.992-0.16,1.88,0.051,2.66c0.213,0.783,0.573,1.449,1.086,2.009c0.512,0.557,1.16,0.983,1.948,1.282
21
- c0.787,0.302,1.671,0.453,2.647,0.453c0.979,0,1.867-0.105,2.672-0.316c0.802-0.21,1.521-0.473,2.158-0.789
22
- c0.64-0.314,1.199-0.676,1.687-1.082c0.485-0.406,0.902-0.818,1.255-1.241h0.229l0.396,3.159h2.707
23
- c-0.096-0.843-0.099-1.759-0.013-2.753c0.086-0.992,0.229-2.043,0.43-3.155c0.273-1.533,0.611-3.156,1.011-4.871
24
- c0.398-1.713,0.76-3.472,1.084-5.275c0.146-0.813,0.207-1.624,0.185-2.436s-0.226-1.556-0.606-2.231
25
- C222.382,32.354,221.746,31.805,220.857,31.382z M217.751,47.302c-0.224,0.392-0.532,0.8-0.929,1.218
26
- c-0.397,0.422-0.87,0.805-1.422,1.15c-0.553,0.346-1.187,0.63-1.896,0.855c-0.713,0.227-1.499,0.34-2.355,0.34
27
- c-1.19,0-2.108-0.34-2.752-1.016c-0.646-0.678-0.871-1.541-0.684-2.593c0.135-0.752,0.453-1.376,0.956-1.871
28
- c0.501-0.497,1.121-0.887,1.86-1.175c0.738-0.284,1.57-0.479,2.49-0.586c0.92-0.104,1.855-0.157,2.803-0.157
29
- c0.43,0,0.861,0.009,1.305,0.022c0.439,0.016,0.873,0.039,1.296,0.066L217.751,47.302z M234.855,31.112l0.113-0.63
30
- c0.161-0.902,0.326-1.691,0.493-2.368c0.167-0.678,0.394-1.249,0.675-1.714c0.282-0.466,0.666-0.819,1.152-1.06
31
- c0.486-0.241,1.126-0.36,1.922-0.36c0.551,0,1.132,0.044,1.743,0.134c0.608,0.09,1.239,0.286,1.892,0.586l1.366-3.021
32
- c-0.769-0.33-1.515-0.556-2.241-0.676c-0.729-0.12-1.582-0.18-2.561-0.18c-1.223,0-2.276,0.157-3.158,0.473
33
- s-1.641,0.796-2.277,1.442c-0.635,0.648-1.158,1.482-1.57,2.504c-0.414,1.022-0.744,2.224-0.992,3.607l-0.227,1.262h-3.578
34
- l-0.565,3.157h3.578l-3.479,19.392h3.672l3.478-19.392h6.101l0.566-3.157L234.855,31.112L234.855,31.112z M259.768,22.14
35
- l0.17-0.948h-4.082l-3.91,6.72h2.156L259.768,22.14z M258.791,32.195c-0.713-0.631-1.568-1.06-2.568-1.286
36
- c-0.998-0.226-2.02-0.337-3.059-0.337c-3.24,0-5.914,1.006-8.02,3.02c-2.104,2.016-3.502,4.946-4.19,8.794
37
- c-0.324,1.804-0.417,3.427-0.278,4.871c0.139,1.441,0.529,2.683,1.168,3.718c0.639,1.039,1.553,1.836,2.736,2.393
38
- c1.184,0.555,2.648,0.834,4.393,0.834c1.561,0,3.072-0.211,4.539-0.633c1.467-0.42,2.725-0.989,3.771-1.713l-0.907-2.615
39
- c-0.604,0.482-1.463,0.902-2.565,1.263c-1.104,0.362-2.178,0.542-3.215,0.542c-1.347,0-2.451-0.188-3.318-0.563
40
- c-0.863-0.377-1.522-0.916-1.979-1.625c-0.455-0.705-0.729-1.569-0.818-2.592c-0.092-1.021-0.021-2.195,0.219-3.52h14.725
41
- c0.396-1.201,0.688-2.299,0.867-3.29c0.338-1.894,0.352-3.421,0.039-4.577C260.016,33.723,259.503,32.828,258.791,32.195z
42
- M256.628,39.907h-11.376c0.617-2.255,1.553-3.851,2.809-4.781c1.25-0.933,2.778-1.397,4.584-1.397
43
- c1.621,0,2.791,0.459,3.515,1.375C256.881,36.021,257.038,37.623,256.628,39.907z M267.555,32.525
44
- c0.243-0.016,0.448-0.093,0.617-0.228c0.167-0.136,0.249-0.332,0.249-0.589c0-0.345-0.12-0.587-0.366-0.728
45
- c-0.244-0.139-0.537-0.209-0.881-0.209c-0.211,0-0.438,0.01-0.673,0.03c-0.235,0.021-0.419,0.049-0.549,0.09v3.114h0.635v-1.431
46
- l0.587,0.181l0.881,1.25h0.746l-0.904-1.31L267.555,32.525z M267.004,32.212h-0.417V31.36c0.05-0.025,0.114-0.039,0.195-0.042
47
- c0.081-0.004,0.167-0.008,0.258-0.008c0.474,0,0.709,0.141,0.709,0.423c0,0.176-0.063,0.3-0.194,0.372
48
- C267.423,32.177,267.238,32.212,267.004,32.212z M270.201,31.089c-0.167-0.396-0.396-0.73-0.689-1
49
- c-0.296-0.268-0.641-0.473-1.035-0.612c-0.396-0.141-0.816-0.21-1.267-0.21c-0.438,0-0.854,0.069-1.247,0.21
50
- c-0.393,0.139-0.736,0.344-1.033,0.612c-0.298,0.269-0.531,0.603-0.703,1c-0.172,0.396-0.258,0.852-0.258,1.364
51
- c0,0.514,0.084,0.969,0.252,1.365c0.166,0.396,0.396,0.729,0.69,0.998c0.293,0.27,0.636,0.474,1.026,0.613
52
- c0.392,0.141,0.815,0.209,1.271,0.209c0.441,0,0.855-0.068,1.249-0.209c0.39-0.141,0.733-0.345,1.033-0.613
53
- c0.297-0.269,0.532-0.603,0.704-0.998c0.168-0.396,0.256-0.853,0.256-1.365C270.452,31.941,270.369,31.485,270.201,31.089z
54
- M269.492,33.555c-0.129,0.31-0.301,0.565-0.521,0.771c-0.22,0.202-0.48,0.356-0.783,0.456c-0.301,0.101-0.627,0.15-0.979,0.15
55
- c-0.333,0-0.652-0.053-0.953-0.156c-0.302-0.104-0.564-0.258-0.789-0.463c-0.224-0.205-0.402-0.461-0.531-0.771
56
- c-0.131-0.309-0.194-0.67-0.194-1.089c0-0.415,0.06-0.779,0.182-1.088c0.123-0.31,0.294-0.565,0.515-0.771
57
- c0.22-0.205,0.48-0.358,0.783-0.462c0.301-0.104,0.631-0.157,0.989-0.157c0.345,0,0.663,0.053,0.962,0.157
58
- c0.297,0.104,0.557,0.258,0.783,0.462c0.223,0.205,0.4,0.46,0.531,0.771c0.129,0.309,0.195,0.673,0.195,1.088
59
- C269.682,32.878,269.619,33.246,269.492,33.555z M57.74,42.859l-2.851,2.856h11.407l11.406,9.998H17.819l11.406-9.998h8.556
60
- l-2.853-2.856h-8.554L6.412,60h82.695l-19.96-17.141H57.74z"/>
61
- </g>
62
- </g>
63
- <path fill="#3AB6E4" d="M122.255,22.094H97.208v5.501h9.404V53.66h6.284V27.596h9.358L122.255,22.094L122.255,22.094z"/>
64
- <path fill="#3AB6E4" d="M135.885,47.889c-0.519,0.393-1.273,0.774-2.264,1.148c-0.991,0.376-2.111,0.564-3.36,0.564
65
- c-2.011,0-3.467-0.481-4.365-1.443c-0.9-0.963-1.395-2.391-1.486-4.283h13.717c0.152-0.78,0.267-1.532,0.343-2.255
66
- c0.076-0.724,0.115-1.397,0.115-2.028c0-1.742-0.261-3.203-0.78-4.376c-0.521-1.172-1.208-2.102-2.064-2.794
67
- c-0.856-0.693-1.834-1.188-2.935-1.489c-1.101-0.3-2.233-0.45-3.395-0.45c-3.486,0-6.193,0.99-8.119,2.975
68
- c-1.927,1.983-2.89,4.962-2.89,8.931c0,3.697,0.855,6.605,2.568,8.725c1.712,2.121,4.419,3.181,8.119,3.181
69
- c1.772,0,3.447-0.247,5.022-0.744c1.575-0.495,2.822-1.104,3.74-1.827L135.885,47.889z M132.282,36.479
70
- c0.624,0.875,0.875,2.121,0.753,3.744h-8.487c0.152-1.533,0.601-2.759,1.346-3.675c0.745-0.917,1.894-1.376,3.446-1.376
71
- C130.676,35.172,131.659,35.607,132.282,36.479z"/>
72
- <path fill="#3AB6E4" d="M151.497,49.105c-0.535,0.33-1.247,0.496-2.134,0.496c-1.223,0-2.416-0.188-3.576-0.564
73
- c-1.164-0.374-2.096-0.757-2.799-1.148l-1.651,4.375c0.888,0.539,2.04,1.014,3.462,1.42c1.422,0.405,2.942,0.608,4.564,0.608
74
- c2.966,0,5.189-0.653,6.674-1.962c1.482-1.309,2.225-3.104,2.225-5.389c0-1.322-0.26-2.405-0.779-3.246
75
- c-0.521-0.842-1.162-1.525-1.928-2.053c-0.765-0.525-1.604-0.955-2.521-1.285c-0.917-0.332-1.761-0.641-2.522-0.926
76
- c-0.766-0.283-1.406-0.593-1.928-0.923c-0.521-0.333-0.779-0.767-0.779-1.31c0-1.354,0.887-2.028,2.66-2.028
77
- c1.102,0,2.186,0.149,3.258,0.451c1.068,0.302,1.955,0.585,2.66,0.854l1.33-4.237c-0.796-0.451-1.896-0.858-3.303-1.218
78
- c-1.407-0.361-2.982-0.541-4.725-0.541c-2.539,0-4.48,0.584-5.826,1.758c-1.346,1.172-2.019,2.872-2.019,5.096
79
- c0,1.354,0.261,2.457,0.779,3.314c0.521,0.854,1.162,1.563,1.926,2.117c0.765,0.559,1.604,0.992,2.522,1.309s1.76,0.625,2.523,0.926
80
- c0.764,0.3,1.406,0.63,1.926,0.992c0.521,0.359,0.78,0.841,0.78,1.441C152.3,48.22,152.032,48.775,151.497,49.105z"/>
81
- <path fill="#3AB6E4" d="M160.051,36.072h3.165v11.365c0,2.435,0.497,4.187,1.491,5.252c0.993,1.068,2.545,1.603,4.656,1.603
82
- c1.13,0,2.246-0.138,3.348-0.406c1.102-0.27,2.064-0.603,2.891-0.991l-1.056-4.511c-0.55,0.24-1.048,0.423-1.489,0.542
83
- c-0.445,0.121-0.973,0.182-1.582,0.182c-0.889,0-1.492-0.34-1.813-1.017c-0.322-0.676-0.482-1.795-0.482-3.358v-8.659h5.596v-4.96
84
- h-5.596v-5.908l-5.964,1.669v4.239h-3.165V36.072L160.051,36.072z"/>
85
- <path fill="#3AB6E4" d="M76.411,7.152L46.468,37.148L35.061,25.72l-7.128,7.142L46.468,51.43l37.071-37.139L76.411,7.152z"/>
86
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg class="logo" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ width="276px" height="66px" viewBox="0 0 276 66" enable-background="new 0 0 276 66" xml:space="preserve">
5
+ <g>
6
+ <g>
7
+ <path fill="#FFFFFF" d="M186.956,31.79c0.877-1.653,1.89-2.992,3.036-4.014c1.146-1.021,2.371-1.758,3.676-2.208
8
+ c1.305-0.452,2.583-0.676,3.838-0.676c2.721,0,4.751,0.36,6.09,1.083l1.516-3.337c-0.768-0.333-1.713-0.595-2.84-0.789
9
+ c-1.127-0.196-2.606-0.293-4.441-0.293c-1.714,0-3.449,0.3-5.208,0.9c-1.759,0.602-3.421,1.555-4.985,2.864
10
+ c-1.564,1.308-2.937,2.992-4.117,5.051c-1.18,2.059-2.033,4.563-2.563,7.508c-0.508,2.826-0.579,5.271-0.214,7.328
11
+ c0.364,2.061,1.055,3.751,2.071,5.073c1.016,1.321,2.309,2.308,3.873,2.954c1.566,0.646,3.313,0.969,5.24,0.969
12
+ c1.59,0,3.112-0.135,4.566-0.405c1.457-0.271,2.705-0.751,3.744-1.442l-0.391-2.933c-0.777,0.422-1.705,0.769-2.777,1.038
13
+ c-1.073,0.27-2.297,0.406-3.674,0.406c-1.529,0-2.896-0.272-4.098-0.813c-1.203-0.541-2.188-1.354-2.958-2.437
14
+ s-1.282-2.435-1.544-4.06c-0.26-1.623-0.193-3.517,0.195-5.682C185.425,35.473,186.078,33.444,186.956,31.79z M220.857,31.382
15
+ c-0.887-0.419-2.127-0.63-3.717-0.63c-1.683,0-3.324,0.167-4.928,0.497s-3.05,0.842-4.335,1.532l0.653,2.751
16
+ c0.472-0.248,1.01-0.472,1.609-0.673c0.604-0.199,1.229-0.368,1.881-0.51s1.285-0.248,1.895-0.326
17
+ c0.609-0.075,1.175-0.114,1.695-0.114c1.772,0,2.938,0.331,3.49,0.991s0.683,1.82,0.387,3.473
18
+ c-0.129,0.723-0.319,1.534-0.573,2.436c-0.418-0.06-0.832-0.091-1.245-0.091h-1.262c-1.682,0-3.238,0.113-4.672,0.339
19
+ c-1.432,0.226-2.691,0.602-3.779,1.127c-1.089,0.525-1.986,1.233-2.695,2.118c-0.711,0.888-1.185,1.994-1.422,3.315
20
+ c-0.177,0.992-0.16,1.88,0.051,2.66c0.213,0.783,0.573,1.449,1.086,2.009c0.512,0.557,1.16,0.983,1.948,1.282
21
+ c0.787,0.302,1.671,0.453,2.647,0.453c0.979,0,1.867-0.105,2.672-0.316c0.802-0.21,1.521-0.473,2.158-0.789
22
+ c0.64-0.314,1.199-0.676,1.687-1.082c0.485-0.406,0.902-0.818,1.255-1.241h0.229l0.396,3.159h2.707
23
+ c-0.096-0.843-0.099-1.759-0.013-2.753c0.086-0.992,0.229-2.043,0.43-3.155c0.273-1.533,0.611-3.156,1.011-4.871
24
+ c0.398-1.713,0.76-3.472,1.084-5.275c0.146-0.813,0.207-1.624,0.185-2.436s-0.226-1.556-0.606-2.231
25
+ C222.382,32.354,221.746,31.805,220.857,31.382z M217.751,47.302c-0.224,0.392-0.532,0.8-0.929,1.218
26
+ c-0.397,0.422-0.87,0.805-1.422,1.15c-0.553,0.346-1.187,0.63-1.896,0.855c-0.713,0.227-1.499,0.34-2.355,0.34
27
+ c-1.19,0-2.108-0.34-2.752-1.016c-0.646-0.678-0.871-1.541-0.684-2.593c0.135-0.752,0.453-1.376,0.956-1.871
28
+ c0.501-0.497,1.121-0.887,1.86-1.175c0.738-0.284,1.57-0.479,2.49-0.586c0.92-0.104,1.855-0.157,2.803-0.157
29
+ c0.43,0,0.861,0.009,1.305,0.022c0.439,0.016,0.873,0.039,1.296,0.066L217.751,47.302z M234.855,31.112l0.113-0.63
30
+ c0.161-0.902,0.326-1.691,0.493-2.368c0.167-0.678,0.394-1.249,0.675-1.714c0.282-0.466,0.666-0.819,1.152-1.06
31
+ c0.486-0.241,1.126-0.36,1.922-0.36c0.551,0,1.132,0.044,1.743,0.134c0.608,0.09,1.239,0.286,1.892,0.586l1.366-3.021
32
+ c-0.769-0.33-1.515-0.556-2.241-0.676c-0.729-0.12-1.582-0.18-2.561-0.18c-1.223,0-2.276,0.157-3.158,0.473
33
+ s-1.641,0.796-2.277,1.442c-0.635,0.648-1.158,1.482-1.57,2.504c-0.414,1.022-0.744,2.224-0.992,3.607l-0.227,1.262h-3.578
34
+ l-0.565,3.157h3.578l-3.479,19.392h3.672l3.478-19.392h6.101l0.566-3.157L234.855,31.112L234.855,31.112z M259.768,22.14
35
+ l0.17-0.948h-4.082l-3.91,6.72h2.156L259.768,22.14z M258.791,32.195c-0.713-0.631-1.568-1.06-2.568-1.286
36
+ c-0.998-0.226-2.02-0.337-3.059-0.337c-3.24,0-5.914,1.006-8.02,3.02c-2.104,2.016-3.502,4.946-4.19,8.794
37
+ c-0.324,1.804-0.417,3.427-0.278,4.871c0.139,1.441,0.529,2.683,1.168,3.718c0.639,1.039,1.553,1.836,2.736,2.393
38
+ c1.184,0.555,2.648,0.834,4.393,0.834c1.561,0,3.072-0.211,4.539-0.633c1.467-0.42,2.725-0.989,3.771-1.713l-0.907-2.615
39
+ c-0.604,0.482-1.463,0.902-2.565,1.263c-1.104,0.362-2.178,0.542-3.215,0.542c-1.347,0-2.451-0.188-3.318-0.563
40
+ c-0.863-0.377-1.522-0.916-1.979-1.625c-0.455-0.705-0.729-1.569-0.818-2.592c-0.092-1.021-0.021-2.195,0.219-3.52h14.725
41
+ c0.396-1.201,0.688-2.299,0.867-3.29c0.338-1.894,0.352-3.421,0.039-4.577C260.016,33.723,259.503,32.828,258.791,32.195z
42
+ M256.628,39.907h-11.376c0.617-2.255,1.553-3.851,2.809-4.781c1.25-0.933,2.778-1.397,4.584-1.397
43
+ c1.621,0,2.791,0.459,3.515,1.375C256.881,36.021,257.038,37.623,256.628,39.907z M267.555,32.525
44
+ c0.243-0.016,0.448-0.093,0.617-0.228c0.167-0.136,0.249-0.332,0.249-0.589c0-0.345-0.12-0.587-0.366-0.728
45
+ c-0.244-0.139-0.537-0.209-0.881-0.209c-0.211,0-0.438,0.01-0.673,0.03c-0.235,0.021-0.419,0.049-0.549,0.09v3.114h0.635v-1.431
46
+ l0.587,0.181l0.881,1.25h0.746l-0.904-1.31L267.555,32.525z M267.004,32.212h-0.417V31.36c0.05-0.025,0.114-0.039,0.195-0.042
47
+ c0.081-0.004,0.167-0.008,0.258-0.008c0.474,0,0.709,0.141,0.709,0.423c0,0.176-0.063,0.3-0.194,0.372
48
+ C267.423,32.177,267.238,32.212,267.004,32.212z M270.201,31.089c-0.167-0.396-0.396-0.73-0.689-1
49
+ c-0.296-0.268-0.641-0.473-1.035-0.612c-0.396-0.141-0.816-0.21-1.267-0.21c-0.438,0-0.854,0.069-1.247,0.21
50
+ c-0.393,0.139-0.736,0.344-1.033,0.612c-0.298,0.269-0.531,0.603-0.703,1c-0.172,0.396-0.258,0.852-0.258,1.364
51
+ c0,0.514,0.084,0.969,0.252,1.365c0.166,0.396,0.396,0.729,0.69,0.998c0.293,0.27,0.636,0.474,1.026,0.613
52
+ c0.392,0.141,0.815,0.209,1.271,0.209c0.441,0,0.855-0.068,1.249-0.209c0.39-0.141,0.733-0.345,1.033-0.613
53
+ c0.297-0.269,0.532-0.603,0.704-0.998c0.168-0.396,0.256-0.853,0.256-1.365C270.452,31.941,270.369,31.485,270.201,31.089z
54
+ M269.492,33.555c-0.129,0.31-0.301,0.565-0.521,0.771c-0.22,0.202-0.48,0.356-0.783,0.456c-0.301,0.101-0.627,0.15-0.979,0.15
55
+ c-0.333,0-0.652-0.053-0.953-0.156c-0.302-0.104-0.564-0.258-0.789-0.463c-0.224-0.205-0.402-0.461-0.531-0.771
56
+ c-0.131-0.309-0.194-0.67-0.194-1.089c0-0.415,0.06-0.779,0.182-1.088c0.123-0.31,0.294-0.565,0.515-0.771
57
+ c0.22-0.205,0.48-0.358,0.783-0.462c0.301-0.104,0.631-0.157,0.989-0.157c0.345,0,0.663,0.053,0.962,0.157
58
+ c0.297,0.104,0.557,0.258,0.783,0.462c0.223,0.205,0.4,0.46,0.531,0.771c0.129,0.309,0.195,0.673,0.195,1.088
59
+ C269.682,32.878,269.619,33.246,269.492,33.555z M57.74,42.859l-2.851,2.856h11.407l11.406,9.998H17.819l11.406-9.998h8.556
60
+ l-2.853-2.856h-8.554L6.412,60h82.695l-19.96-17.141H57.74z"/>
61
+ </g>
62
+ </g>
63
+ <path fill="#3AB6E4" d="M122.255,22.094H97.208v5.501h9.404V53.66h6.284V27.596h9.358L122.255,22.094L122.255,22.094z"/>
64
+ <path fill="#3AB6E4" d="M135.885,47.889c-0.519,0.393-1.273,0.774-2.264,1.148c-0.991,0.376-2.111,0.564-3.36,0.564
65
+ c-2.011,0-3.467-0.481-4.365-1.443c-0.9-0.963-1.395-2.391-1.486-4.283h13.717c0.152-0.78,0.267-1.532,0.343-2.255
66
+ c0.076-0.724,0.115-1.397,0.115-2.028c0-1.742-0.261-3.203-0.78-4.376c-0.521-1.172-1.208-2.102-2.064-2.794
67
+ c-0.856-0.693-1.834-1.188-2.935-1.489c-1.101-0.3-2.233-0.45-3.395-0.45c-3.486,0-6.193,0.99-8.119,2.975
68
+ c-1.927,1.983-2.89,4.962-2.89,8.931c0,3.697,0.855,6.605,2.568,8.725c1.712,2.121,4.419,3.181,8.119,3.181
69
+ c1.772,0,3.447-0.247,5.022-0.744c1.575-0.495,2.822-1.104,3.74-1.827L135.885,47.889z M132.282,36.479
70
+ c0.624,0.875,0.875,2.121,0.753,3.744h-8.487c0.152-1.533,0.601-2.759,1.346-3.675c0.745-0.917,1.894-1.376,3.446-1.376
71
+ C130.676,35.172,131.659,35.607,132.282,36.479z"/>
72
+ <path fill="#3AB6E4" d="M151.497,49.105c-0.535,0.33-1.247,0.496-2.134,0.496c-1.223,0-2.416-0.188-3.576-0.564
73
+ c-1.164-0.374-2.096-0.757-2.799-1.148l-1.651,4.375c0.888,0.539,2.04,1.014,3.462,1.42c1.422,0.405,2.942,0.608,4.564,0.608
74
+ c2.966,0,5.189-0.653,6.674-1.962c1.482-1.309,2.225-3.104,2.225-5.389c0-1.322-0.26-2.405-0.779-3.246
75
+ c-0.521-0.842-1.162-1.525-1.928-2.053c-0.765-0.525-1.604-0.955-2.521-1.285c-0.917-0.332-1.761-0.641-2.522-0.926
76
+ c-0.766-0.283-1.406-0.593-1.928-0.923c-0.521-0.333-0.779-0.767-0.779-1.31c0-1.354,0.887-2.028,2.66-2.028
77
+ c1.102,0,2.186,0.149,3.258,0.451c1.068,0.302,1.955,0.585,2.66,0.854l1.33-4.237c-0.796-0.451-1.896-0.858-3.303-1.218
78
+ c-1.407-0.361-2.982-0.541-4.725-0.541c-2.539,0-4.48,0.584-5.826,1.758c-1.346,1.172-2.019,2.872-2.019,5.096
79
+ c0,1.354,0.261,2.457,0.779,3.314c0.521,0.854,1.162,1.563,1.926,2.117c0.765,0.559,1.604,0.992,2.522,1.309s1.76,0.625,2.523,0.926
80
+ c0.764,0.3,1.406,0.63,1.926,0.992c0.521,0.359,0.78,0.841,0.78,1.441C152.3,48.22,152.032,48.775,151.497,49.105z"/>
81
+ <path fill="#3AB6E4" d="M160.051,36.072h3.165v11.365c0,2.435,0.497,4.187,1.491,5.252c0.993,1.068,2.545,1.603,4.656,1.603
82
+ c1.13,0,2.246-0.138,3.348-0.406c1.102-0.27,2.064-0.603,2.891-0.991l-1.056-4.511c-0.55,0.24-1.048,0.423-1.489,0.542
83
+ c-0.445,0.121-0.973,0.182-1.582,0.182c-0.889,0-1.492-0.34-1.813-1.017c-0.322-0.676-0.482-1.795-0.482-3.358v-8.659h5.596v-4.96
84
+ h-5.596v-5.908l-5.964,1.669v4.239h-3.165V36.072L160.051,36.072z"/>
85
+ <path fill="#3AB6E4" d="M76.411,7.152L46.468,37.148L35.061,25.72l-7.128,7.142L46.468,51.43l37.071-37.139L76.411,7.152z"/>
86
+ </svg>
@@ -292,7 +292,7 @@
292
292
 
293
293
  var pinkie = Promise;
294
294
 
295
- function __awaiter(thisArg, _arguments, P, generator) {
295
+ var __awaiter = ((void 0) && (void 0).__awaiter) || function (thisArg, _arguments, P, generator) {
296
296
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
297
297
  return new (P || (P = pinkie))(function (resolve, reject) {
298
298
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -300,9 +300,8 @@
300
300
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
301
301
  step((generator = generator.apply(thisArg, _arguments || [])).next());
302
302
  });
303
- }
304
-
305
- function __generator(thisArg, body) {
303
+ };
304
+ var __generator = ((void 0) && (void 0).__generator) || function (thisArg, body) {
306
305
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
307
306
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
308
307
  function verb(n) { return function (v) { return step([n, v]); }; }
@@ -328,8 +327,7 @@
328
327
  } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
329
328
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
330
329
  }
331
- }
332
-
330
+ };
333
331
  var MAX_RETRY = 10;
334
332
  var RETRY_DELAY = 500;
335
333
  var PAGE_FETCH_MODE = 'navigate';
@@ -1,10 +1,12 @@
1
- // NOTE: We should have the capability to initialize scripts with different contexts.
2
- // This is required for iframes without the src attribute because Hammerhead does not
3
- // inject scripts into such iframes. So, we wrap all scripts in initialization functions.
4
- (function () {
5
- function initTestCafeCore(window, isIFrameWithoutSrc) {
6
- var document = window.document;
7
-
1
+ window['%hammerhead%'].utils.removeInjectedScript();
2
+
3
+ // NOTE: We should have the capability to initialize scripts with different contexts.
4
+ // This is required for iframes without the src attribute because Hammerhead does not
5
+ // inject scripts into such iframes. So, we wrap all scripts in initialization functions.
6
+ (function () {
7
+ function initTestCafeCore(window, isIFrameWithoutSrc) {
8
+ var document = window.document;
9
+
8
10
  (function (hammerhead, Promise$6) {
9
11
  var hammerhead__default = 'default' in hammerhead ? hammerhead['default'] : hammerhead;
10
12
  Promise$6 = Promise$6 && Object.prototype.hasOwnProperty.call(Promise$6, 'default') ? Promise$6['default'] : Promise$6;
@@ -2783,7 +2785,9 @@
2783
2785
  cannotCustomizeSpecifiedCompilers: 'E1061',
2784
2786
  cannotEnableRetryTestPagesOption: 'E1062',
2785
2787
  browserConnectionError: 'E1063',
2786
- testRunRequestInDisconnectedBrowser: 'E1064'
2788
+ testRunRequestInDisconnectedBrowser: 'E1064',
2789
+ invalidQuarantineOption: 'E1065',
2790
+ invalidRetryCountValue: 'E1066',
2787
2791
  };
2788
2792
 
2789
2793
  var BrowserConnectionErrorHint;
@@ -2827,6 +2831,8 @@
2827
2831
  _a[RUNTIME_ERRORS.multipleSameStreamReporters] = 'The following reporters attempted to write to the same output stream: "{reporters}". Only one reporter can write to a stream.',
2828
2832
  _a[RUNTIME_ERRORS.optionValueIsNotValidRegExp] = 'The "{optionName}" option value is not a valid regular expression.',
2829
2833
  _a[RUNTIME_ERRORS.optionValueIsNotValidKeyValue] = 'The "{optionName}" option value is not a valid key-value pair.',
2834
+ _a[RUNTIME_ERRORS.invalidQuarantineOption] = 'The "{optionName}" option should be empty, otherwise one of "retryCount" or "passCount".',
2835
+ _a[RUNTIME_ERRORS.invalidRetryCountValue] = 'The "retryCount" value should be greater or equal to "passCount" ({passCount}).',
2830
2836
  _a[RUNTIME_ERRORS.invalidSpeedValue] = 'Speed should be a number between 0.01 and 1.',
2831
2837
  _a[RUNTIME_ERRORS.invalidConcurrencyFactor] = 'The concurrency factor should be an integer greater or equal to 1.',
2832
2838
  _a[RUNTIME_ERRORS.cannotDivideRemotesCountByConcurrency] = 'The number of remote browsers should be divisible by the factor of concurrency.',
@@ -3312,8 +3318,8 @@
3312
3318
  hammerhead__default.on(evalIframeScript, function (e) { return initTestCafeCore(nativeMethods$7.contentWindowGetter.call(e.iframe), true); });
3313
3319
 
3314
3320
  }(window['%hammerhead%'], window['%hammerhead%'].Promise));
3315
-
3316
- }
3317
-
3318
- initTestCafeCore(window);
3319
- })();
3321
+
3322
+ }
3323
+
3324
+ initTestCafeCore(window);
3325
+ })();
@@ -1 +1 @@
1
- !function Ei(yi,wi){var Si=yi.document;!function(d,c){var f="default"in d?d.default:d;c=c&&Object.prototype.hasOwnProperty.call(c,"default")?c.default:c;var e=f.utils.browser,t={alt:18,ctrl:17,meta:91,shift:16},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=","{":"[","}":"]",":":";",'"':"'","|":"\\","<":",",">":".","?":"/","±":"§"},o={backspace:8,capslock:20,delete:46,down:40,end:35,enter:13,esc:27,home:36,ins:45,left:37,pagedown:34,pageup:33,right:39,space:32,tab:9,up:38},r={left:e.isIE?"Left":"ArrowLeft",down:e.isIE?"Down":"ArrowDown",right:e.isIE?"Right":"ArrowRight",up:e.isIE?"Up":"ArrowUp",backspace:"Backspace",capslock:"CapsLock",delete:"Delete",end:"End",enter:"Enter",esc:"Escape",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:e.isIE?"Spacebar":" ",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"};function i(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}var a={modifiers:t,shiftMap:n,specialKeys:o,keyProperty:r,modifiersMap:{option:"alt"},symbolCharCodeToKeyCode:{96:192,91:219,93:221,92:220,59:186,39:222,44:188,45:e.isFirefox?173:189,46:190,47:191},symbolKeysCharCodes:{109:45,173:45,186:59,187:61,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,110:46,96:48,97:49,98:50,99:51,100:52,101:53,102:54,103:55,104:56,105:57,107:43,106:42,111:47},reversedModifiers:i(t),reversedShiftMap:i(n),reversedSpecialKeys:i(o),reversedKeyProperty:i(r)},s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function l(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function u(e,a,s,l){return new(s=s||c)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function h(n,o){var r,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=o.call(n,s)}catch(e){t=[6,e],i=0}finally{r=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}var p=f.Promise,m=f.nativeMethods;function g(t){return new p(function(e){return m.setTimeout.call(yi,e,t)})}function v(e){var t="array"+e.charAt(0).toUpperCase()+e.slice(1),n=d.nativeMethods[t];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n.call.apply(n,e)}}var b=v("filter"),E=v("map"),y=v("slice"),w=v("splice"),S=v("unshift"),C=v("forEach"),T=v("indexOf"),x=v("some"),I=v("reverse"),N=v("reduce"),M=v("concat"),R=v("join");function P(e,t){if(d.nativeMethods.arrayFind)return d.nativeMethods.arrayFind.call(e,t);for(var n=e.length,o=0;o<n;o++)if(t(e[o],o,e))return e[o];return null}function _(e,t){var n=d.nativeMethods.arrayIndexOf.call(e,t);-1<n&&d.nativeMethods.arraySplice.call(e,n,1)}var O=Object.freeze({__proto__:null,filter:b,map:E,slice:y,splice:w,unshift:S,forEach:C,indexOf:T,some:x,reverse:I,reduce:N,concat:M,join:R,isArray:function(e){return"[object Array]"===d.nativeMethods.objectToString.call(e)},from:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(d.nativeMethods.arrayFrom)return d.nativeMethods.arrayFrom.apply(d.nativeMethods,function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var o=Array(e),r=0,t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,r++)o[r]=i[a];return o}([e],t));for(var o=[],r=e.length,i=0;i<r;i++)o.push(e[i]);return o},find:P,remove:_,equals:function(e,t){if(e.length!==t.length)return!1;for(var n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0},getCommonElement:function(e,t){for(var n=0;n<e.length;n++)for(var o=0;o<t.length;o++)if(e[n]===t[o])return e[n];return null}});function A(){this.eventsListeners=[]}A.prototype.emit=function(e){var t=this.eventsListeners[e];if(t)for(var n=0;n<t.length;n++)try{t[n]&&t[n].apply(this,Array.prototype.slice.apply(arguments,[1]))}catch(e){if(!(e.message&&-1<e.message.indexOf("freed script")))throw e;t[n]=null}},A.prototype.off=function(e,t){var n=this.eventsListeners[e];n&&(this.eventsListeners[e]=b(n,function(e){return e!==t}))},A.prototype.on=function(e,t){this.eventsListeners[e]||(this.eventsListeners[e]=[]),this.eventsListeners[e].push(t)},A.prototype.once=function(n,o){var r=this;this.on(n,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.off(n,o),o.apply(void 0,e)})};var V,L=Object.freeze({__proto__:null,inherit:function(e,t){function n(){}n.prototype=t.prototype,f.utils.extend(e.prototype,new n),(e.prototype.constructor=e).base=t.prototype},EventEmitter:A}),F=f.Promise,k=f.nativeMethods,H="requests-finished",q=(l(B,V=A),B.prototype._init=function(){function e(e){return r._onXhrSend(e.xhr)}function t(e){return r._onRequestCompleted(e.xhr)}function n(e){return r._onRequestError(e.xhr,e.err)}function o(e){return r._onFetchSend(e)}var r=this;f.on(f.EVENTS.beforeXhrSend,e),f.on(f.EVENTS.xhrCompleted,t),f.on(f.EVENTS.xhrError,n),f.on(f.EVENTS.fetchSent,o),this._unbindHandlers=function(){f.off(f.EVENTS.beforeXhrSend,e),f.off(f.EVENTS.xhrCompleted,t),f.off(f.EVENTS.xhrError,n),f.off(f.EVENTS.fetchSent,o)}},B.prototype._onXhrSend=function(e){this.collectingReqs&&this.requests.push(e)},B.prototype._onRequestCompleted=function(e){var t=this;g(this.delays.additionalRequestsCollection).then(function(){return t._onRequestFinished(e)})},B.prototype._onRequestError=function(e){this._onRequestFinished(e)},B.prototype._onRequestFinished=function(e){-1<T(this.requests,e)&&(_(this.requests,e),this.collectingReqs||this.requests.length||this.emit(H))},B.prototype._onFetchSend=function(e){var t=this;this.collectingReqs&&(this.requests.push(e),e.then(function(){return t._onRequestCompleted(e)}).catch(function(){return t._onRequestError(e)}))},B.prototype.wait=function(e){var n=this;return new F(function(t){g(e?n.delays.pageInitialRequestsCollection:n.delays.requestsCollection).then(function(){function e(){n.watchdog&&k.clearTimeout.call(yi,n.watchdog),n._unbindHandlers(),t()}n.collectingReqs=!1,n.requests.length?(n.watchdog=k.setTimeout.call(yi,e,n.BARRIER_TIMEOUT),n.on(H,e)):e()})})},B);function B(e){void 0===e&&(e={});var t=V.call(this)||this;return t.BARRIER_TIMEOUT=3e3,t.delays={requestsCollection:void 0===e.requestsCollection?50:e.requestsCollection,additionalRequestsCollection:void 0===e.additionalRequestsCollection?50:e.additionalRequestsCollection,pageInitialRequestsCollection:void 0===e.pageInitialRequestsCollection?50:e.pageInitialRequestsCollection},t.collectingReqs=!0,t.requests=[],t.watchdog=null,t._unbindHandlers=null,t._init(),t}q.GLOBAL_REQUEST_BARRIER_FIELD="testcafe|request-barrier",yi[q.GLOBAL_REQUEST_BARRIER_FIELD]=q;var W=f.utils.browser,G=f.nativeMethods,U=f.utils.style.get,D=f.utils.dom.getActiveElement,j=f.utils.dom.findDocument,z=f.utils.dom.isElementInDocument,K=f.utils.dom.isElementInIframe,Y=f.utils.dom.getIframeByElement,X=f.utils.dom.isCrossDomainWindows,$=f.utils.dom.getSelectParent,J=f.utils.dom.getChildVisibleIndex,Q=f.utils.dom.getSelectVisibleChildren,Z=f.utils.dom.isElementNode,ee=f.utils.dom.isTextNode,te=f.utils.dom.isRenderedNode,ne=f.utils.dom.isIframeElement,oe=f.utils.dom.isInputElement,re=f.utils.dom.isButtonElement,ie=f.utils.dom.isFileInput,ae=f.utils.dom.isTextAreaElement,se=f.utils.dom.isAnchorElement,le=f.utils.dom.isImgElement,ue=f.utils.dom.isFormElement,ce=f.utils.dom.isLabelElement,de=f.utils.dom.isSelectElement,fe=f.utils.dom.isRadioButtonElement,he=f.utils.dom.isColorInputElement,pe=f.utils.dom.isCheckboxElement,me=f.utils.dom.isOptionElement,ge=f.utils.dom.isSVGElement,ve=f.utils.dom.isMapElement,be=f.utils.dom.isBodyElement,Ee=f.utils.dom.isHtmlElement,ye=f.utils.dom.isDocument,we=f.utils.dom.isWindow,Se=f.utils.dom.isTextEditableInput,Ce=f.utils.dom.isTextEditableElement,Te=f.utils.dom.isTextEditableElementAndEditingAllowed,xe=f.utils.dom.isContentEditableElement,Ie=f.utils.dom.isDomElement,Ne=f.utils.dom.isShadowUIElement,Me=f.utils.dom.isShadowRoot,Re=f.utils.dom.isElementFocusable,Pe=f.utils.dom.isHammerheadAttr,_e=f.utils.dom.isElementReadOnly,Oe=f.utils.dom.getScrollbarSize,Ae=f.utils.dom.getMapContainer,Ve=f.utils.dom.getTagName,Le=f.utils.dom.closest,Fe=f.utils.dom.getParents,ke=f.utils.dom.findParent,He=f.utils.dom.getTopSameDomainWindow,qe=f.utils.dom.getParentExceptShadowRoot;function Be(e){return b(e,function(e){return 0<e.tabIndex})}function We(e){return b(e,function(e){return e.tabIndex<=0})}function Ge(e){if(!e||!e.length)return[];var t=Be(e),n=b(e,function(e){return ne(e)});if(!t.length)return n.length&&(e=Ue(e,n)),e;t=t.sort(De("tabIndex"));var o=We(e);return n.length?Ue(t,n).concat(Ue(o,n)):t.concat(o)}function Ue(e,t){for(var n,o,r,i,a,s=(o=Be(n=t)).length?o.sort(De("tabIndex")).concat(We(n)):n,l=[],u=[],c=[],d=0,d=0;d<s.length;d++){try{c=je(G.contentDocumentGetter.call(s[d]))}catch(e){c=[]}u.push(Ge(c))}for(d=0;d<e.length;d++)l.push(e[d]),ne(e[d])&&(l=W.isIE?(l.pop(),a=Be(r=u[T(t,e[d])]),i=We(r),a=a.sort(De("tabIndex")),(l=l.concat(a)).push(e[d]),l.concat(i)):(W.isWebKit&&u[T(t,e[d])].length&&l.pop(),l.concat(u[T(t,e[d])])));return l}function De(n){return function(e,t){return e[n]<t[n]?-1:e[n]>t[n]?1:0}}function je(e,t){void 0===t&&(t=!1);for(var n=e.querySelectorAll("*"),o=function(e){for(var t=[],n=0;n<e.length;n++)"none"===U(e[n],"display")&&t.push(e[n]);return t}(n),r=/^(input|button|select|textarea)$/,i=[],a=null,s=!1,l=0;l<n.length;l++){var u,a=n[l],c=Ve(a),d=function(e){var t=e.getAttribute("tabIndex");return null!==t&&(t=parseInt(t,10),t=isNaN(t)?null:t),t}(a),s=!1;a.disabled||"none"!==U(a,"display")&&"hidden"!==U(a,"visibility")&&((W.isIE||W.isAndroid)&&me(a)||null!==d&&d<0||(r.test(c)?s=!0:W.isIE&&ne(a)?i.push(a):se(a)&&a.hasAttribute("href")&&(s=""!==a.getAttribute("href")||!W.isIE||null!==d),""!==(u=a.getAttribute("contenteditable"))&&"true"!==u||(s=!0),null!==d&&(s=!0),s&&i.push(a)))}var f=b(i,function(e){return!ze(o,e)});return t&&(f=Ge(f)),f}function ze(e,t){return e.contains?e.contains(t):x(e,function(e){return e.contains(t)})}function Ke(e,t){if(Ye(t,e))return!0;for(var n=G.nodeChildNodesGetter.call(e),o=Qe(n),r=0;r<o;r++){var i=n[r];if(!Ne(i)&&Ke(i,t))return!0}return!1}function Ye(e,t){return e&&t&&e.isSameNode?e.isSameNode(t):e===t}function Xe(t){if(!t.setTimeout)return!1;var e=null;try{e=t.frameElement}catch(e){return!!t.top}return!(!W.isFirefox&&!W.isWebKit||t.top===t||e)||!(!e||!G.contentDocumentGetter.call(e))}function $e(e){try{return e.top===e}catch(e){return!1}}function Je(e,t){for(var n=(t||yi).document.getElementsByTagName("iframe"),o=0;o<n.length;o++)if(G.contentWindowGetter.call(n[o])===e)return n[o];return null}function Qe(e){return G.nodeListLengthGetter.call(e)}function Ze(e){return G.inputValueGetter.call(e)}function et(e){return G.textAreaValueGetter.call(e)}function tt(e,t){return G.inputValueSetter.call(e,t)}function nt(e,t){return G.textAreaValueSetter.call(e,t)}function ot(e){return oe(e)?Ze(e):ae(e)?et(e):e.value}function rt(e){return e&&e.getRootNode&&j(e)!==e.getRootNode()}var it=Object.freeze({__proto__:null,getActiveElement:D,findDocument:j,isElementInDocument:z,isElementInIframe:K,getIframeByElement:Y,isCrossDomainWindows:X,getSelectParent:$,getChildVisibleIndex:J,getSelectVisibleChildren:Q,isElementNode:Z,isTextNode:ee,isRenderedNode:te,isIframeElement:ne,isInputElement:oe,isButtonElement:re,isFileInput:ie,isTextAreaElement:ae,isAnchorElement:se,isImgElement:le,isFormElement:ue,isLabelElement:ce,isSelectElement:de,isRadioButtonElement:fe,isColorInputElement:he,isCheckboxElement:pe,isOptionElement:me,isSVGElement:ge,isMapElement:ve,isBodyElement:be,isHtmlElement:Ee,isDocument:ye,isWindow:we,isTextEditableInput:Se,isTextEditableElement:Ce,isTextEditableElementAndEditingAllowed:Te,isContentEditableElement:xe,isDomElement:Ie,isShadowUIElement:Ne,isShadowRoot:Me,isElementFocusable:Re,isHammerheadAttr:Pe,isElementReadOnly:_e,getScrollbarSize:Oe,getMapContainer:Ae,getTagName:Ve,closest:Le,getParents:Fe,findParent:ke,getTopSameDomainWindow:He,getParentExceptShadowRoot:qe,getFocusableElements:je,containsElement:ze,getTextareaIndentInLine:function(e,t){var n=et(e);if(!n)return 0;var o=n.substring(0,t);return t-(-1===o.lastIndexOf("\n")?0:o.lastIndexOf("\n")+1)},getTextareaLineNumberByPosition:function(e,t){for(var n=et(e).split("\n"),o=0,r=0,i=0;o<=t;i++){if(t<=o+n[i].length){r=i;break}o+=n[i].length+1}return r},getTextareaPositionByLineAndOffset:function(e,t,n){for(var o=et(e).split("\n"),r=0,i=0;i<t;i++)r+=o[i].length+1;return r+n},blocksImplicitSubmission:function(e){return(W.isSafari?/^(text|password|color|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:W.isFirefox?/^(text|password|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:W.isIE?/^(text|password|color|date|time|datetime|datetime-local|email|file|month|number|search|tel|url|week|image)$/i:/^(text|password|datetime|email|number|search|tel|url|image)$/i).test(e.type)},isEditableElement:function(e,t){return t?Te(e)||xe(e):Ce(e)||xe(e)},isElementContainsNode:Ke,isOptionGroupElement:function(e){return"[object HTMLOptGroupElement]"===f.utils.dom.instanceToString(e)},getElementIndexInParent:function(e,t){var n=e.querySelectorAll(Ve(t));return T(n,t)},isTheSameNode:Ye,getElementDescription:function(e){var t,n,o={id:"id",name:"name",class:"className"},r=[];for(t in r.push("<"),r.push(Ve(e)),o)!o.hasOwnProperty(t)||(n=e[o[t]])&&r.push(" "+t+'="'+n+'"');return r.push(">"),r.join("")},getFocusableParent:function(e){for(var t=Fe(e),n=0;n<t.length;n++)if(Re(t[n]))return t[n];return null},remove:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},isIFrameWindowInDOM:Xe,isTopWindow:$e,findIframeByWindow:Je,isEditableFormElement:function(e){return Ce(e)||de(e)},getCommonAncestor:function(e,t){if(Ye(e,t))return e;for(var n=[e].concat(Fe(e)),o=t;o;){if(-1<T(n,o))return o;o=G.nodeParentNodeGetter.call(o)}return o},getChildrenLength:function(e){return G.htmlCollectionLengthGetter.call(e)},getChildNodesLength:Qe,getInputValue:Ze,getTextAreaValue:et,setInputValue:tt,setTextAreaValue:nt,getElementValue:ot,setElementValue:function(e,t){return oe(e)?tt(e,t):ae(e)?nt(e,t):e.value=t},isShadowElement:rt,contains:function(t,e){return!(!t||!e)&&(t.contains?t.contains(e):!!ke(e,!0,function(e){return e===t}))}}),at=f.Promise,st=f.nativeMethods,lt=f.eventSandbox.listeners,ut=f.utils.browser,ct=f.utils.event.BUTTON,dt=f.utils.event.BUTTONS_PARAMETER,ft=f.utils.event.DOM_EVENTS,ht=f.utils.event.WHICH_PARAMETER,pt=f.utils.event.preventDefault;function mt(e,t,n,o){ut.isIE11&&we(e)?st.windowAddEventListener.call(e,t,n,o):st.addEventListener.call(e,t,n,o)}function gt(e,t,n,o){ut.isIE11&&we(e)?st.windowRemoveEventListener.call(e,t,n,o):st.removeEventListener.call(e,t,n,o)}function vt(){var n=[],e=!1;function t(){e||(Si.body?(e=!0,n.forEach(function(e){return e()})):st.setTimeout.call(yi,t,1))}function o(){(Xe(yi)||$e(yi))&&(gt(Si,"DOMContentLoaded",o),t())}return"complete"===Si.readyState?st.setTimeout.call(yi,o,1):mt(Si,"DOMContentLoaded",o),{then:function(e){return t=e,new at(function(e){return n.push(function(){return e(t())})});var t}}}var bt,Et,yt=Object.freeze({__proto__:null,BUTTON:ct,BUTTONS_PARAMETER:dt,DOM_EVENTS:ft,WHICH_PARAMETER:ht,preventDefault:pt,bind:mt,unbind:gt,documentReady:function(e){return void 0===e&&(e=0),vt().then(function(){return lt.getEventListeners(yi,"load").length?at.race([new at(function(e){return mt(yi,"load",e)}),g(e)]):null})}});(Et=bt=bt||{}).ready="ready",Et.readyForBrowserManipulation="ready-for-browser-manipulation",Et.waitForFileDownload="wait-for-file-download";var wt=bt,St=f.Promise,Ct=f.utils.browser,Tt=f.nativeMethods,xt=f.transport,It=30,Nt=500,Mt=!1,Rt=null,Pt=[],_t=!1,Ot=null,At=!1;function Vt(){Ct.isIE?(function(e){Rt&&Tt.clearTimeout.call(yi,Rt),Mt=!0,Rt=Tt.setTimeout.call(yi,function(){Rt=null,Mt=!1,Pt.forEach(function(e){return e()}),Pt=[]},e)}(It),g(0).then(function(){var e;"loading"===Si.readyState&&((e=Tt.documentActiveElementGetter.call(Si))&&se(e)&&e.hasAttribute("download")||(_t=!0))})):_t=!0}var Lt=Object.freeze({__proto__:null,init:function(){f.on(f.EVENTS.beforeUnload,Vt),mt(yi,"unload",function(){_t=!0})},watchForPageNavigationTriggers:function(){Ot=function(){At=!0},f.on(f.EVENTS.pageNavigationTriggered,Ot)},wait:function(t){var e=new St(function(e){void 0===t&&(t=!Ot||At?400:0),Ot&&(f.off(f.EVENTS.pageNavigationTriggered,Ot),Ot=null),g(t).then(function(){_t?new St(function(t){Tt.setTimeout.call(yi,function(){xt.queuedAsyncServiceMsg({cmd:wt.waitForFileDownload}).then(function(e){e&&t()})},Nt)}).then(function(){_t=!1,e()}):Mt?Pt.push(e):e()})}),n=g(15e3).then(function(){_t=!1});return St.race([e,n])}}),Ft=d.eventSandbox.listeners;function kt(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new A}var Ht=(kt.prototype._internalListener=function(e,t,n,o,r){this.events.emit("scroll",e),this.stopPropagationFlag&&(o(),r())},kt.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,Ft.initElementListening(yi,["scroll"]),Ft.addFirstInternalEventBeforeListener(yi,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n._internalListener.apply(n,e)}))},kt.prototype.waitForScroll=function(e){var t=this,n=null,o=new d.Promise(function(e){n=e});return o.cancel=function(){return t.events.off("scroll",n)},this.initialized?this.handleScrollEvents(e,n):n(),o},kt.prototype.handleScrollEvents=function(n,e){var o=this;this.events.once("scroll",e),rt(n)&&(Ft.initElementListening(n,["scroll"]),Ft.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];o._internalListener.apply(o,e),Ft.cancelElementListening(n)}))},kt.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},kt.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new kt),qt=f.utils.style,Bt=f.utils.browser,Wt=f.utils.style.getBordersWidth,Gt=f.utils.style.getComputedStyle,Ut=f.utils.style.getElementMargin,Dt=f.utils.style.getElementPadding,jt=f.utils.style.getElementScroll,zt=f.utils.style.getOptionHeight,Kt=f.utils.style.getSelectElementSize,Yt=f.utils.style.isElementVisible,Xt=f.utils.style.isVisibleChild,$t=f.utils.style.getWidth,Jt=f.utils.style.getHeight,Qt=f.utils.style.getInnerWidth,Zt=f.utils.style.getInnerHeight,en=f.utils.style.getScrollLeft,tn=f.utils.style.getScrollTop,nn=f.utils.style.setScrollLeft,on=f.utils.style.setScrollTop,rn=f.utils.style.get,an=/auto|scroll/i,sn="visible",ln=function(e){var t=rn(e,"overflowX"),n=rn(e,"overflowY"),o=an.test(t),r=an.test(n);return Bt.isIE&&(o=o||r&&t===sn,r=r||o&&n===sn),{scrollableHorizontally:o,scrollableVertically:r}},un=function(e){return!!(e=ke(e,!0,function(e){return Z(e)&&"hidden"===rn(e,"visibility")}))},cn=function(e){return!!(e=ke(e,!0,function(e){return Z(e)&&"none"===rn(e,"display")}))};function dn(e){return!te(e)||cn(e)||un(e)}function fn(e){var t,n=rn(e,"overflowX"),o=rn(e,"overflowY"),r=an.test(n),i=an.test(o),a=j(e).documentElement,s=e.scrollHeight;return(Bt.isChrome||Bt.isFirefox)&&(t=e.getBoundingClientRect().top,s=s-a.getBoundingClientRect().top+t),(r||i)&&s>a.scrollHeight}function hn(e){var t=ln(e),n=t.scrollableHorizontally,o=t.scrollableVertically;if(be(e))return fn(e);if(Ee(e))return function(e){var t=rn(e,"overflowX"),n=rn(e,"overflowY"),o=e.getElementsByTagName("body")[0];if("hidden"===t&&"hidden"===n)return!1;var r=e.scrollHeight>e.clientHeight,i=e.scrollWidth>e.clientWidth;if(r||i)return!0;if(o){if(fn(o))return!1;var a=Math.min(e.clientWidth,o.clientWidth),s=Math.min(e.clientHeight,o.clientHeight);return o.scrollHeight>s||o.scrollWidth>a}return!1}(e);if(!n&&!o)return!1;var r=o&&e.scrollHeight>e.clientHeight;return n&&e.scrollWidth>e.clientWidth||r}function pn(e){return e&&!(e.offsetHeight<=0&&e.offsetWidth<=0)}function mn(e,t,n){return e<t?n:e<n?t:Math.max(n,t)}var gn=Object.freeze({__proto__:null,getBordersWidth:Wt,getComputedStyle:Gt,getElementMargin:Ut,getElementPadding:Dt,getElementScroll:jt,getOptionHeight:zt,getSelectElementSize:Kt,isElementVisible:Yt,isSelectVisibleChild:Xt,getWidth:$t,getHeight:Jt,getInnerWidth:Qt,getInnerHeight:Zt,getScrollLeft:en,getScrollTop:tn,setScrollLeft:nn,setScrollTop:on,get:rn,isFixedElement:function(e){return Z(e)&&"fixed"===rn(e,"position")},isNotVisibleNode:dn,getScrollableParents:function(e){var t,n=Fe(e);return K(e)&&(t=Fe(Y(e)),n.concat(t)),b(n,hn)},hasScroll:hn,hasDimensions:pn,set:function(e,t,n){for(var o in"string"==typeof t&&qt.set(e,t,n),t)t.hasOwnProperty(o)&&qt.set(e,o,t[o])},getViewportDimensions:function(){return{width:mn(yi.innerWidth,Si.documentElement.clientWidth,Si.body.clientWidth),height:mn(yi.innerHeight,Si.documentElement.clientHeight,Si.body.clientHeight)}}}),vn=d.utils.browser,bn=d.eventSandbox.listeners,En=d.eventSandbox.eventSimulator,yn=["click","mousedown","mouseup","dblclick","contextmenu","mousemove","mouseover","mouseout","touchstart","touchmove","touchend","keydown","keypress","input","keyup","change","focus","blur","MSPointerDown","MSPointerMove","MSPointerOver","MSPointerOut","MSPointerUp","pointerdown","pointermove","pointerover","pointerout","pointerup"],wn=123;function Sn(e,t,n,o,r){var i,a=e.target||e.srcElement;if(!t&&!Ne(a)){if(/^key/.test(e.type)&&((i=e).shiftKey&&i.ctrlKey||(i.altKey||i.metaKey)&&vn.isMacPlatform||i.keyCode===wn))return void r();if("blur"===e.type)if(vn.isIE&&vn.version<12){var s,l=we(a),u=!l&&"none"===rn(a,"display"),c=!1;l||u||(s=Fe(a),c=b(s,function(e){return"none"===rn(e,"display")})),(u||c.length)&&d.eventSandbox.timers.deferFunction(function(){En.blur(a)})}else if(a!==yi&&a!==yi.document&&!pn(a))return;n()}}function Cn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return!Qe(t)&&kn(e)?e:P(t,kn)}function Tn(e){return P(d.nativeMethods.nodeChildNodesGetter.call(e),function(e){return kn(e)||!Hn(e)&&Tn(e)})}function xn(e){return ee(e)||Z(e)&&Yt(e)}function In(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return b(t,xn)}function Nn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return x(t,xn)}function Mn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return x(t,function(e){return Kn(e,!0)})}function Rn(e,t){var n,o;if(!Ne(e)&&!Ne(t)){var r=d.nativeMethods.nodeChildNodesGetter.call(t);return!Ye(t,e)&&Qe(r)&&/div|p/.test(Ve(t))&&(n=Tn(e))&&!Ye(t,n)&&(o=On(n))&&!Ye(t,o)&&Cn(t)}}function Pn(e,t){var n,o,r,i=te(t);if(!Ne(e)&&!Ne(t)){var a=d.nativeMethods.nodeChildNodesGetter.call(t);if(!Ye(t,e)&&(i&&Z(t)&&Qe(a)&&!/div|p/.test(Ve(t))||kn(t)&&!Ye(t,e)&&t.nodeValue.length)){if(i&&Z(t)){if(!(n=Tn(e))||Ye(t,n))return;if(!(o=On(n))||Ye(t,o))return}return(r=function(e){for(var t=null,n=e;!t&&(n=n.previousSibling);)if(!Hn(n)&&!Fn(n)){t=n;break}return t}(t))&&Z(r)&&/div|p/.test(Ve(r))&&Cn(r)}}}function _n(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=null,s=t?kn:ee;if(!i&&s(e))return e;for(var l=0;l<i;l++){if(n=r[l],o=Z(n)&&!xe(n),s(n))return n;if(te(n)&&Nn(n)&&!o&&(a=_n(n,t)))return a}return a}function On(e){return _n(e,!0)}function An(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=null;if(!i&&kn(e))return e;for(var s=i-1;0<=s;s--){if(n=r[s],o=Z(n)&&!xe(n),ee(n)&&(!t||!Fn(n)))return n;if(te(n)&&Nn(n)&&!o&&(a=An(n,!1)))return a}return a}function Vn(e,t){if(!e||!e.length)return 0;for(var n=e.length,o=t||0,r=o;r<n&&(10===e.charCodeAt(r)||32===e.charCodeAt(r));r++)o++;return o}function Ln(e){if(!e||!e.length)return 0;for(var t=e.length,n=t,o=t-1;0<=o&&(10===e.charCodeAt(o)||32===e.charCodeAt(o));o--)n--;return n}function Fn(e){if(!ee(e))return!1;var t=e.nodeValue,n=Vn(t),o=Ln(t);return n===t.length&&0===o}function kn(e){return ee(e)&&!Fn(e)}function Hn(e){return!te(e)||Ne(e)}function qn(e){var t=e.getAttribute?e.getAttribute("contenteditable"):null;return""===t||"true"===t}function Bn(e){var t=Fe(e);if(qn(e)&&xe(e))return e;var n=j(e);return"on"===n.designMode?n.body:P(t,function(e){return qn(e)&&xe(e)})}function Wn(e,t){if(Ye(e,t))return Ye(t,Bn(e))?e:d.nativeMethods.nodeParentNodeGetter.call(e);var n=[],o=Bn(e),r=null;if(!Ke(o,t))return null;for(r=e;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))n.push(r);for(r=t;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))if(-1!==T(n,r))return r;return o}function Gn(e,t){var n=null,o=null,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=i<=t;if(Ne(e))return{node:e,offset:t};if(a?n=r[i-1]:(n=r[t],o=0),Ne(n)){if(i<=1)return{node:e,offset:0};(a=i<=t-1)?n=r[i-2]:(n=r[t-1],o=0)}for(;!Hn(n)&&Z(n);){var s=In(n);if(!s.length){o=0;break}n=s[a?s.length-1:0]}return 0===o||Hn(n)||(o=n.nodeValue?n.nodeValue.length:0),{node:n,offset:o}}function Un(e,t,n){var o=n?t.focusNode:t.anchorNode,r=n?t.focusOffset:t.anchorOffset,i={node:o,offset:r};return(Ye(e,o)||Z(o))&&Mn(o)&&(i=Gn(o,r)),{node:i.node,offset:i.offset}}function Dn(e,t,n){var o=n?t.anchorNode:t.focusNode,r=n?t.anchorOffset:t.focusOffset,i={node:o,offset:r};return(Ye(e,o)||Z(o))&&Mn(o)&&(i=Gn(o,r)),{node:i.node,offset:i.offset}}function jn(e,t,n){return Xn(e,Un(e,t,n))}function zn(e,t,n){return Xn(e,Dn(e,t,n))}function Kn(e,t){if(dn(e))return!1;if(ee(e))return!0;if(!Z(e))return!1;if(Mn(e))return t;var n=d.nativeMethods.nodeParentNodeGetter.call(e),o=!xe(n),r=In(e),i=x(r,function(e){return"br"===Ve(e)});return o||i}function Yn(s,e){var l={node:null,offset:e};return function e(t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(t),i=Qe(r);if(l.node)return l;if(Hn(t))return l;if(ee(t)){if(l.offset<=t.nodeValue.length)return l.node=t,l;t.nodeValue.length&&(!l.node&&Pn(s,t)&&l.offset--,l.offset-=t.nodeValue.length)}else if(Z(t)){if(!xn(t))return l;if(0===l.offset&&Kn(t,!1))return l.node=t,l.offset=(n=t,o=0,P(d.nativeMethods.nodeChildNodesGetter.call(n),function(e,t){return o=t,"br"===Ve(e)})?o:0),l;(l.node||!Rn(s,t)&&!Pn(s,t))&&(i||"br"!==Ve(t))||l.offset--}for(var a=0;a<i;a++)l=e(r[a]);return l}(s)}function Xn(i,e){var a=e.node,s=e.offset,l=0,u=!1;return function e(t){var n=d.nativeMethods.nodeChildNodesGetter.call(t),o=Qe(n);if(u)return l;if(Ye(a,t))return(Rn(i,t)||Pn(i,t))&&l++,u=!0,l+s;if(Hn(t))return l;!o&&t.nodeValue&&t.nodeValue.length?(!u&&Pn(i,t)&&l++,l+=t.nodeValue.length):(!o&&Z(t)&&"br"===Ve(t)||!u&&(Rn(i,t)||Pn(i,t)))&&l++;for(var r=0;r<o;r++)l=e(n[r]);return l}(i)}function $n(e){var t,n,o,r,i,a=ee(e)?e:An(e,!0);if(!a||(t=a,o=ee(n=e)?n:_n(n,!1),r=t===o,i=t.nodeValue===String.fromCharCode(10),r&&i&&function(e,t){for(var n=["pre","pre-wrap","pre-line"];e!==t;)if(e=d.nativeMethods.nodeParentNodeGetter.call(e),-1<T(n,rn(e,"white-space")))return 1}(t,n)))return 0;var s=j(e).createRange();return s.selectNodeContents(a),Xn(e,{node:a,offset:s.endOffset})}var Jn=Object.freeze({__proto__:null,getFirstVisibleTextNode:On,getLastTextNode:An,getFirstNonWhitespaceSymbolIndex:Vn,getLastNonWhitespaceSymbolIndex:Ln,isInvisibleTextNode:Fn,findContentEditableParent:Bn,getNearestCommonAncestor:Wn,getSelection:function(e,t,n){return{startPos:Un(e,t,n),endPos:Dn(e,t,n)}},getSelectionStartPosition:jn,getSelectionEndPosition:zn,calculateNodeAndOffsetByPosition:Yn,calculatePositionByNodeAndOffset:Xn,getElementBySelection:function(e){var t=Wn(e.anchorNode,e.focusNode);return ee(t)?t.parentElement:t},getFirstVisiblePosition:function(e){var t=ee(e)?e:On(e),n=j(e).createRange();return t?(n.selectNodeContents(t),Xn(e,{node:t,offset:n.startOffset})):0},getLastVisiblePosition:$n,getContentEditableValue:function(e){return E(function e(t){var n=[],o=d.nativeMethods.nodeChildNodesGetter.call(t),r=Qe(o);Hn(t)||r||!ee(t)||n.push(t);for(var i=0;i<r;i++)n=n.concat(e(o[i]));return n}(e),function(e){return e.nodeValue}).join("")}}),Qn=f.utils.position.getElementRectangle,Zn=f.utils.position.getOffsetPosition,eo=f.utils.position.offsetToClientCoords;function to(e){if(!Ie(e)){var t=eo(e);return{width:0,height:0,border:{bottom:0,left:0,right:0,top:0},scroll:{left:0,top:0},left:t.x,right:t.x,top:t.y,bottom:t.y}}var n,o,r,i,a=/html/i.test(e.tagName),s=a?e.getElementsByTagName("body")[0]:null,l=Wt(e),u=e.getBoundingClientRect(),c=jt(e),d=K(e),f=a?0:u.left,h=a?0:u.top,p=a?e.clientHeight:u.height,m=a?e.clientWidth:u.width,g="BackCompat"===e.ownerDocument.compatMode;a&&s&&("boolean"==typeof wi&&wi||g)&&(p=s.clientHeight,m=s.clientWidth),!d||(n=Y(e))&&(o=Zn(n),r=eo({x:o.left,y:o.top}),i=Wt(n),f+=r.x+i.left,h+=r.y+i.top,a&&(l.bottom+=i.bottom,l.left+=i.left,l.right+=i.right,l.top+=i.top));var v=a||Qt(e)===e.clientWidth?0:Oe(),b=a||Zt(e)===e.clientHeight?0:Oe();return{width:m,height:p,left:f,top:h,border:l,bottom:h+p,right:f+m,scroll:{left:c.left,top:c.top},scrollbar:{right:v,bottom:b}}}function no(e){var t=/^touch/.test(e.type)&&e.targetTouches?e.targetTouches[0]||e.changedTouches[0]:e,n=0===t.pageX&&0===t.pageY,o=0!==t.clientX||0!==t.clientY;if((null===t.pageX||n&&o)&&null!==t.clientX){var r=j(e.target||e.srcElement),i=r.documentElement,a=r.body;return{x:Math.round(t.clientX+(i&&i.scrollLeft||a&&a.scrollLeft||0)-(i.clientLeft||0)),y:Math.round(t.clientY+(i&&i.scrollTop||a&&a.scrollTop||0)-(i.clientTop||0))}}return{x:Math.round(t.pageX),y:Math.round(t.pageY)}}var oo=Object.freeze({__proto__:null,getElementRectangle:Qn,getOffsetPosition:Zn,offsetToClientCoords:eo,getIframeClientCoordinates:function(e){var t=Zn(e),n=t.left,o=t.top,r=eo({x:n,y:o}),i=Wt(e),a=Dt(e),s=r.x+i.left+a.left,l=r.y+i.top+a.top;return{left:s,top:l,right:s+$t(e),bottom:l+Jt(e)}},isElementVisible:function e(t){if(ee(t))return!dn(t);var n=Qn(t);if(!xe(t)&&(0===n.width||0===n.height))return!1;if(ve(t)){var o=Ae(Le(t,"map"));return!!o&&e(o)}if(Xt(t)){var r=$(t),i=J(r,t),a=Kt(r),s=Math.max(tn(r)/zt(r),0),l=s+a-1,u=Math.max(i-s,0);return s<=u&&u<=l}return ge(t)?"hidden"!==rn(t,"visibility")&&"none"!==rn(t,"display"):pn(t)&&"hidden"!==rn(t,"visibility")},getClientDimensions:to,containsOffset:function(e,t,n){var o=to(e),r=Math.max(e.scrollWidth,o.width),i=Math.max(e.scrollHeight,o.height),a=o.scrollbar.right+o.border.left+o.border.right+r,s=o.scrollbar.bottom+o.border.top+o.border.bottom+i;return(void 0===t||0<=t&&t<=a)&&(void 0===n||0<=n&&n<=s)},getEventAbsoluteCoordinates:function(e){var t,n,o,r=e.target||e.srcElement,i=no(e),a=j(r),s=0,l=0;return!K(a.documentElement)||(t=Y(a))&&(n=Zn(t),o=Wt(t),s=n.left+o.left,l=n.top+o.top),{x:i.x+s,y:i.y+l}},getEventPageCoordinates:no,getElementFromPoint:function(e,t){var n=null,o=Si.getElementFromPoint||Si.elementFromPoint;try{n=o.call(Si,e,t)}catch(e){return null}for(null===n&&(n=o.call(Si,e-1,t-1));n&&n.shadowRoot&&n.shadowRoot.elementFromPoint;){var r=n.shadowRoot.elementFromPoint(e,t);if(!r||n===r)break;n=r}return n},getIframePointRelativeToParentFrame:function(e,t){var n=Je(t),o=Zn(n),r=Wt(n),i=Dt(n);return eo({x:e.x+o.left+r.left+i.left,y:e.y+o.top+r.top+i.top})},clientToOffsetCoord:function(e,t){var n=t||Si;return{x:e.x+en(n),y:e.y+tn(n)}},findCenter:function(e){var t=Qn(e);return{x:Math.round(t.left+t.width/2),y:Math.round(t.top+t.height/2)}},getClientPosition:function(e){var t=Zn(e),n=t.left,o=t.top,r=eo({x:n,y:o});return r.x=Math.round(r.x),r.y=Math.round(r.y),r},getElementClientRectangle:function(e){var t=Qn(e),n=eo({x:t.left,y:t.top});return{height:t.height,left:n.x,top:n.y,width:t.width}},calcRelativePosition:function(e,t){return{left:Math.ceil(e.left-(t.left+t.border.left)),right:Math.floor(t.right-t.border.right-t.scrollbar.right-e.right),top:Math.ceil(e.top-(t.top+t.border.top)),bottom:Math.floor(t.bottom-t.border.bottom-t.scrollbar.bottom-e.bottom)}},isInRectangle:function(e,t){var n=e.x,o=e.y;return n>=t.left&&n<=t.right&&o>=t.top&&o<=t.bottom},getLineYByXCoord:function(e,t,n){if(t.x-e.x==0)return null;var o=(t.y-e.y)/(t.x-e.x),r=e.x*(e.y-t.y)/(t.x-e.x)+e.y;return Math.round(o*n+r)},getLineXByYCoord:function(e,t,n){if(t.y-e.y==0)return null;var o=(t.x-e.x)/(t.y-e.y),r=e.y*(e.x-t.x)/(t.y-e.y)+e.x;return Math.round(o*n+r)}}),ro=Object.freeze({__proto__:null,whilst:function(t,n){return u(this,void 0,void 0,function(){return h(this,function(e){switch(e.label){case 0:return t()?[4,n()]:[3,2];case 1:return e.sent(),[3,0];case 2:return[2]}})})},times:function(n,o){return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<n?[4,o(t)]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},each:function(r,i){return u(this,void 0,void 0,function(){var t,n,o;return h(this,function(e){switch(e.label){case 0:t=0,n=r,e.label=1;case 1:return t<n.length?(o=n[t],[4,i(o)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}}),io=f.utils.browser,ao=f.nativeMethods,so=f.eventSandbox.selection,lo="backward",uo="forward",co="none",fo=co,ho=0,po=0,mo=0,go=0,vo=0,bo=0;function Eo(e,t,n,o){var r,i,a,s=null,l=null,u=!1;void 0!==t&&void 0!==n&&n<t&&(a=t,t=n,n=a,u=!0),void 0===t&&(l={node:(r=On(e))||e,offset:r&&r.nodeValue?Vn(r.nodeValue):0}),void 0===n&&(s={node:(i=An(e,!0))||e,offset:i&&i.nodeValue?Ln(i.nodeValue):0}),l=l||Yn(e,t),s=s||Yn(e,n),l.node&&s.node&&(u?xo(s,l,o):xo(l,s,o))}function yo(e){var t=e?j(e):Si,n=t.getSelection(),o=null,r=!1;return n&&(n.isCollapsed||((o=t.createRange()).setStart(n.anchorNode,n.anchorOffset),o.setEnd(n.focusNode,n.focusOffset),r=o.collapsed,o.detach())),r}function wo(e,t,n){var o=Xn(e,t);return Xn(e,n)<o}function So(e){return xe(e)?Io(e)?jn(e,To(e),yo(e)):0:so.getSelection(e).start}function Co(e){return xe(e)?Io(e)?zn(e,To(e),yo(e)):0:so.getSelection(e).end}function To(e){var t=j(e);return t?t.getSelection():yi.getSelection()}function xo(e,t,n){var o=e.node,r=t.node,i=o.nodeValue?o.length:0,a=r.nodeValue?r.length:0,s=e.offset,l=t.offset;Z(o)&&s||(s=Math.min(i,e.offset)),Z(r)&&l||(l=Math.min(a,t.offset));var u=Bn(o),c=wo(u,e,t),d=To(u),f=j(u).createRange();so.wrapSetterSelection(u,function(){var e;d.removeAllRanges(),c?io.isIE?(f.setStart(r,l),f.setEnd(o,s),d.addRange(f)):(f.setStart(o,s),f.setEnd(o,s),d.addRange(f),e=function(e,t){try{d.extend(e,t)}catch(e){return!1}return!0},(io.isSafari||io.isChrome&&io.version<58)&&Fn(r)?e(r,Math.min(l,1))||e(r,0):e(r,l)):(f.setStart(o,s),f.setEnd(r,l),d.addRange(f))},n,!0)}function Io(e){var t=To(e);return!(!t.anchorNode||!t.focusNode)&&Ke(e,t.anchorNode)&&Ke(e,t.focusNode)}io.isIE&&mt(Si,"selectionchange",function(){var e=null,t=null,n=null;try{if(this.selection)t=this.selection.createRange();else{if(!(e=ao.documentActiveElementGetter.call(this))||!Ce(e))return void(fo=co);var o,r=So(e),i=Co(e);e.createTextRange?((t=e.createTextRange()).collapse(!0),t.moveStart("character",r),t.moveEnd("character",i-r)):Si.createRange&&(t=Si.createRange(),o=f.nativeMethods.nodeFirstChildGetter.call(e),t.setStart(o,r),t.setEnd(o,i),n=t.getBoundingClientRect())}}catch(e){return void(fo=co)}var a=n?Math.ceil(n.left):t.offsetLeft,s=n?Math.ceil(n.top):t.offsetTop,l=n?Math.ceil(n.height):t.boundingHeight,u=n?Math.ceil(n.width):t.boundingWidth,c=t.htmlText?t.htmlText.length:0;!function(e,t,n,o,r){if(r)switch(fo){case co:t===bo&&(e===go||mo<n)?fo=uo:(e<go||t<bo)&&(fo=lo);break;case uo:if(e===go&&t===bo||e<go&&mo<n||t===bo&&n===mo&&vo<r&&e+o!==ho)break;(e<go||t<bo)&&(fo=lo);break;case lo:if((e<go||t<bo)&&vo<r)break;t===po&&(ho<=e||mo<n)&&(fo=uo)}else ho=e,po=t,fo=co;mo=n,go=e,vo=r,bo=t}(a,s,l,u,n?t.toString().length:c)},!0);var No,Mo,Ro=Object.freeze({__proto__:null,hasInverseSelectionContentEditable:yo,isInverseSelectionContentEditable:wo,getSelectionStart:So,getSelectionEnd:Co,hasInverseSelection:function(e){return xe(e)?yo(e):(so.getSelection(e).direction||fo)===lo},getSelectionByElement:To,select:function(e,t,n){var o,r,i,a;xe(e)?Eo(e,t,n,!0):(o=t||0,i=!1,a=null,(r=void 0===n?ot(e).length:n)<o&&(a=o,o=r,r=a,i=!0),so.setSelection(e,o,r,i?lo:uo),fo=t===n?co:i?lo:uo)},selectByNodesAndOffsets:xo,deleteSelectionContents:function(e,t){var n,o,r,i,a,s,l,u,c,d,f,h,p=So(e),m=Co(e);t&&Eo(e),p!==m&&(n=To(e),o=n.anchorNode,r=n.focusNode,i=n.anchorOffset,a=n.focusOffset,s=Vn(o.nodeValue),l=Ln(o.nodeValue),u=Vn(r.nodeValue),c=Ln(r.nodeValue),f=d=null,ee(o)&&(i<s&&0!==i?d=0:i!==o.nodeValue.length&&(Fn(o)&&0!==i||l<i)&&(d=o.nodeValue.length)),ee(r)&&(a<u&&0!==a?f=0:a!==r.nodeValue.length&&(Fn(r)&&0!==a||c<a)&&(f=r.nodeValue.length)),(io.isWebKit||io.isIE&&11<io.version)&&(null!==d&&(o.nodeValue=0===d?o.nodeValue.substring(s):o.nodeValue.substring(0,l)),null!==f&&(r.nodeValue=0===f?r.nodeValue.substring(u):r.nodeValue.substring(0,c))),null===d&&null===f||xo({node:o,offset:d=null!==d?0===d?d:o.nodeValue.length:i},{node:r,offset:f=null!==f?0===f?f:r.nodeValue.length:a}),function(e){var t=To(e),n=t.rangeCount;if(n)for(var o=0;o<n;o++)t.getRangeAt(o).deleteContents()}(e),(h=To(e)).rangeCount&&!h.getRangeAt(0).collapsed&&h.getRangeAt(0).collapse(!0))},setCursorToLastVisiblePosition:function(e){var t=$n(e);Eo(e,t,t)},hasElementContainsSelection:Io}),Po=f.Promise,_o=f.nativeMethods,Oo="E1000",Ao="E1001",Vo="E1002",Lo="E1003",Fo="E1004",ko="E1005",Ho="E1006",qo="E1007",Bo="E1008",Wo="E1009",Go="E1010",Uo="E1011",Do="E1012",jo="E1013",zo="E1014",Ko="E1015",Yo="E1016",Xo="E1017",$o="E1018",Jo="E1019",Qo="E1020",Zo="E1021",er="E1022",tr="E1023",nr="E1024",or="E1025",rr="E1026",ir="E1027",ar="E1028",sr="E1029",lr="E1030",ur="E1031",cr="E1032",dr="E1033",fr="E1034",hr="E1035",pr="E1036",mr="E1037",gr="E1038",vr="E1039",br="E1040",Er="E1041",yr="E1043",wr="E1044",Sr="E1045",Cr="E1046",Tr="E1047",xr="E1048",Ir="E1049",Nr="E1050",Mr="E1051",Rr="E1052",Pr="E1053",_r="E1054",Or="E1057",Ar="E1058",Vr="E1059",Lr="E1060",Fr="E1061",kr="E1062",Hr="E1063",qr="E1064";(Mo=No=No||{}).TooHighConcurrencyFactor="TooHighConcurrencyFactor",Mo.UseBrowserInitOption="UseBrowserInitOption",Mo.RestErrorCauses="RestErrorCauses";var Br,Wr,Gr=No,Ur="https://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html#file-pathglob-pattern",Dr="https://devexpress.github.io/testcafe/documentation/using-testcafe/configuration-file.html#filter",jr=((Br={})[Oo]="Cannot create multiple live mode runners.",Br[Ao]="Cannot run a live mode runner multiple times.",Br[Vo]="The {userAgent} browser disconnected. This problem may appear when a browser hangs or is closed, or due to network issues.",Br[Lo]="The following browsers disconnected: {userAgents}. Tests will not be run.",Br[qr]='"{browser}" has disconnected during test execution',Br[Fo]="Unable to establish one or more of the specified browser connections.",Br[ko]='Unable to find the browser. "{browser}" is not a browser alias or path to an executable file.',Br[Ho]='The specified "{providerName}" browser provider was not found.',Br[qo]="No browser selected to test against.",Br[Bo]='TestCafe could not find the test files that match the following patterns:\n{sourceList}\n\nThe "{cwd}" current working directory was used as the base path.\nEnsure the file patterns are correct or change the current working directory.\nFor more information on how to specify test files, see '+Ur+".",Br[Wo]="No tests found in the specified source files.\nEnsure the sources contain the 'fixture' and 'test' directives.",Br[lr]="The specified filter settings exclude all tests.\nModify these settings to leave at least one available test.\nFor more information on how to specify filter settings, see "+Dr+".",Br[Go]='The provided "{name}" reporter does not exist. Check that you have specified the report format correctly.',Br[Uo]='The following reporters attempted to write to the same output stream: "{reporters}". Only one reporter can write to a stream.',Br[Do]='The "{optionName}" option value is not a valid regular expression.',Br[jo]='The "{optionName}" option value is not a valid key-value pair.',Br[zo]="Speed should be a number between 0.01 and 1.",Br[Ko]="The concurrency factor should be an integer greater or equal to 1.",Br[Yo]="The number of remote browsers should be divisible by the factor of concurrency.",Br[Xo]='The "--ports" option requires two numbers to be specified.',Br[$o]="The specified {portNum} port is already in use by another program.",Br[Jo]='The specified "{hostname}" hostname cannot be resolved to the current machine.',Br[Qo]='Cannot find a test source file at "{path}".',Br[Zo]="{#instantiationCallsiteName} code is expected to be specified as a function, but {type} was passed.",Br[er]="{#instantiationCallsiteName} is expected to be initialized with a function, CSS selector string, another Selector, node snapshot or a Promise returned by a Selector, but {type} was passed.",Br[tr]="{#instantiationCallsiteName} cannot implicitly resolve the test run in context of which it should be executed. If you need to call {#instantiationCallsiteName} from the Node.js API callback, pass the test controller manually via {#instantiationCallsiteName}'s `.with({ boundTestRun: t })` method first. Note that you cannot execute {#instantiationCallsiteName} outside the test code.",Br[nr]='{#instantiationCallsiteName} code, arguments or dependencies cannot contain generators or "async/await" syntax (use Promises instead).',Br[or]='The "boundTestRun" option value is expected to be a test controller.',Br[rr]="{smthg} is expected to be a {type}, but it was {actual}.",Br[ir]='The specified "{url}" test page URL uses an unsupported {protocol}:// protocol. Only relative URLs or absolute URLs with http://, https:// and file:// protocols are supported.',Br[ar]="Cannot implicitly resolve the test run in the context of which the test controller action should be executed. Use test function's 't' argument instead.",Br[sr]="Timeout expired for a time limited promise",Br[ur]="Unable to set video or encoding options when video recording is disabled. Specify the base path where video files are stored to enable recording.",Br[cr]='You cannot call the "{methodName}" method more than once. Pass an array of parameters to this method instead.',Br[dr]="Specify a file name or a writable stream as the reporter's output target.",Br[fr]='Unable to read the "{path}" file, specified by the "{option}" ssl option. Error details:\n\n{err}',Br[hr]="Cannot prepare tests due to an error.\n\n{errMessage}",Br[pr]='Cannot parse a test source file in the raw format at "{path}" due to an error.\n\n{errMessage}',Br[mr]="Tested app failed with an error:\n\n{errMessage}",Br[gr]='Was unable to open the browser "{alias}" due to error.\n\n{errMessage}',Br[vr]="There was an error while configuring the request hook:\n\n{requestHookName}: {errMsg}",Br[br]='There are forbidden characters in the "{screenshotPath}" {screenshotPathType}:\n {forbiddenCharsDescription}',Br[Er]="Unable to locate the FFmpeg executable required to record videos. Do one of the following:\n\n* add the FFmpeg installation directory to the PATH environment variable,\n* specify the path to the FFmpeg executable in the FFMPEG_PATH environment variable or the ffmpegPath video option,\n* install the @ffmpeg-installer/ffmpeg package from npm.",Br[yr]='Unable to find the TypeScript configuration file in "{filePath}"',Br[wr]="Specify the JavaScript file path, module name or script content to inject a client script.",Br[Sr]="Specify the base path for the client script file.",Br[Cr]="You cannot combine the file path, module name and script content when you specify a client script to inject.",Br[Tr]="Cannot load a client script from {path}.",Br[xr]="An error occurred when trying to locate the injected client script module:\n\n{errorMessage}.",Br[Ir]="This method cannot be called on a service host.",Br[Nr]="The specified payload is too large to form an IPC packet.",Br[Mr]="Cannot process a malformed IPC message.",Br[Rr]="Cannot create an IPC message due to an unexpected IPC head packet.",Br[Pr]="Cannot create an IPC message due to an unexpected IPC body packet.",Br[_r]="Cannot create an IPC message due to an unexpected IPC tail packet.",Br[Or]="Your Linux version does not have a graphic subsystem to run {browserAlias} with a GUI. You can launch the browser in headless mode. If you use a portable browser version, specify the browser alias before the path instead of the 'path' prefix. For more information, see https://devexpress.github.io/testcafe/documentation/guides/concepts/browsers.html#test-in-headless-mode",Br[Ar]='An uncaught error occurred in the "{reporterName}" reporter\'s "{methodName}" method. Error details:\n{originalError}',Br[Vr]="You cannot specify relative login page URLs in the Role constructor. Use an absolute URL.",Br[Lr]="Unable to load the TypeScript compiler.\n{originErrorMessage}.",Br[Fr]="You cannot specify options for the {noncustomizableCompilerList} compiler{suffix}.",Br[kr]="Cannot enable the 'retryTestPages' option. Apply one of the following two solutions:\n-- set 'localhost' as the value of the 'hostname' option\n-- run TestCafe over HTTPS\n",Br[Hr]="{originErrorMessage}\n{numOfNotOpenedConnection} of {numOfAllConnections} browser connections have not been established:\n{listOfNotOpenedConnections}\n\nHints:\n{listOfHints}",Br[Gr.TooHighConcurrencyFactor]="The error can be due to a concurrency factor that is too high for the host machine’s performance (the factor value {concurrencyFactor} was specified). Try to decrease the concurrency factor or ensure more system resources are available on the host machine.",Br[Gr.UseBrowserInitOption]='Use the "browserInitTimeout" option to allow more time for the browser to start. The timeout is set to {browserInitTimeoutMsg}.',Br[Gr.RestErrorCauses]="The error can also be caused by network issues or remote device failure. Make sure that the connection is stable and the remote device can be reached.",Br[sr]),zr=(l(Kr,Wr=Error),Kr);function Kr(){var e=Wr.call(this,jr)||this;return e.code=sr,e}function Yr(e){var t=e.replace(/^\+/g,"plus").replace(/\+\+/g,"+plus").split("+");return E(t,function(e){return e.replace("plus","+")})}function Xr(e){var t=1===e.length||"space"===e?e:e.toLowerCase();return a.modifiersMap[t]&&(t=a.modifiersMap[t]),t}var $r,Jr,Qr=f.utils.trim,Zr=f.Promise,ei=f.eventSandbox.message,ti={run:"run",idle:"idle"};(Jr=$r=$r||{}).ok="ok",Jr.closing="closing";var ni=$r,oi=Si.location.href,ri=Si.location.origin,ii=ri+"/service-worker.js",ai=!1,si=null,li=eval;function ui(t){return new c(function(e){return setTimeout(e,t)})}function ci(e,r,t){var n=void 0===t?{}:t,o=n.method,i=void 0===o?"GET":o,a=n.data,s=void 0===a?null:a,l=n.parseResponse,u=void 0===l||l;return new c(function(t,n){var o=r();o.open(i,e,!0),o.onreadystatechange=function(){var e;4===o.readyState&&(200===o.status?((e=o.responseText||"")&&u&&(e=JSON.parse(o.responseText)),t(e)):n("disconnected"))},o.send(s)})}function di(e){return oi.toLowerCase()===e.toLowerCase()}function fi(){ai=!1}function hi(e){fi(),Si.location=e.url}function pi(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,function(o,r,e){var i=(void 0===e?{}:e).manualRedirect;return u(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return[4,ci(o,r)];case 1:return t=e.sent(),(n=(t.cmd===ti.run||t.cmd===ti.idle)&&!di(t.url))&&!i&&hi(t),[2,{command:t,redirecting:n}]}})})}.apply(void 0,n)];case 1:return[2,e.sent()];case 2:return t=e.sent(),console.error(t),[2,{error:t}];case 3:return[2]}})})}var mi=Object.freeze({__proto__:null,delay:ui,sendXHR:ci,startHeartbeat:function(e,t){function n(){ci(e,t).then(function(e){e.code!==ni.closing||di(e.url)||(fi(),Si.location=e.url)})}si=yi.setInterval(n,2e3),n()},stopHeartbeat:function(){yi.clearInterval(si)},startInitScriptExecution:function(e,t){ai=!0,function e(t,n){ai&&ci(t,n).then(function(e){return e.code?ci(t,n,{method:"POST",data:JSON.stringify(li(e.code))}):null}).then(function(){yi.setTimeout(function(){return e(t,n)},1e3)})}(e,t)},stopInitScriptExecution:fi,redirect:hi,checkStatus:function(){for(var r,i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return u(this,void 0,void 0,function(){var t,n,o;return h(this,function(e){switch(e.label){case 0:n=t=null,o=0,e.label=1;case 1:return o<5?[4,pi.apply(void 0,i)]:[3,5];case 2:return r=e.sent(),t=r.error,n=function(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}(r,["error"]),t?[4,ui(1e3)]:[2,n];case 3:e.sent(),e.label=4;case 4:return o++,[3,1];case 5:throw t}})})},enableRetryingTestPages:function(){return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:if(!navigator.serviceWorker)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),[4,navigator.serviceWorker.register(ii,{scope:ri})];case 2:return e.sent(),[4,navigator.serviceWorker.ready];case 3:return e.sent(),[3,5];case 4:return t=e.sent(),console.error(t),[3,5];case 5:return[2]}})})},getActiveWindowId:function(e,t){return ci(e,t)},setActiveWindowId:function(e,t,n){return ci(e,t,{method:"POST",data:JSON.stringify({windowId:n})})}}),gi={};gi.RequestBarrier=q,gi.pageUnloadBarrier=Lt,gi.preventRealEvents=function(){bn.initElementListening(yi,yn),bn.addFirstInternalEventBeforeListener(yi,yn,Sn),Ht.init()},gi.disableRealEventsPreventing=function(){bn.removeInternalEventBeforeListener(yi,yn,Sn)},gi.scrollController=Ht,gi.serviceUtils=L,gi.domUtils=it,gi.contentEditable=Jn,gi.positionUtils=oo,gi.styleUtils=gn,gi.eventUtils=yt,gi.arrayUtils=O,gi.promiseUtils=ro,gi.textSelection=Ro,gi.waitFor=function(i,a,s){return new Po(function(e,t){var n,o,r=i();r?e(r):(n=_o.setInterval.call(yi,function(){(r=i())&&(_o.clearInterval.call(yi,n),_o.clearTimeout.call(yi,o),e(r))},a),o=_o.setTimeout.call(yi,function(){_o.clearInterval.call(yi,n),t()},s))})},gi.delay=g,gi.getTimeLimitedPromise=function(e,t){return d.Promise.race([e,g(t).then(function(){return d.Promise.reject(new zr)})])},gi.noop=function(){},gi.getKeyArray=Yr,gi.getSanitizedKey=Xr,gi.parseKeySequence=function(e){if("string"!=typeof e)return{error:!0};var t=(e=Qr(e).replace(/\s+/g," ")).length,n=e.charAt(t-1),o=e.charAt(t-2);1<t&&"+"===n&&!/[+ ]/.test(o)&&(e=e.substring(0,e.length-1));var r=e.split(" ");return{combinations:r,error:x(r,function(e){var t=Yr(e);return x(t,function(e){var t=1===e.length||"space"===e,n=Xr(e),o=a.modifiers[n],r=a.specialKeys[n];return!(t||o||r)})}),keys:e}},gi.sendRequestToFrame=function(e,o,t){return new Zr(function(n){ei.on(ei.SERVICE_MSG_RECEIVED_EVENT,function e(t){t.message.cmd===o&&(ei.off(ei.SERVICE_MSG_RECEIVED_EVENT,e),n(t.message))}),ei.sendServiceMsg(e,t)})},gi.KEY_MAPS=a,gi.NODE_TYPE_DESCRIPTIONS={1:"element",2:"attribute",3:"text",4:"cdata section",5:"entity reference",6:"entity node",7:"processing instruction",8:"comment",9:"document",10:"document type",11:"document fragment",12:"notation"},gi.browser=mi,gi.selectorTextFilter=function o(e,r,i,a){function t(e){for(var t=e.childNodes.length,n=0;n<t;n++)if(o(e.childNodes[n],r,i,a))return!0;return!1}function n(e){return a instanceof RegExp?a.test(e):a===e.trim()}if(1===e.nodeType)return n(e.innerText||e.textContent);if(9!==e.nodeType)return 11===e.nodeType?t(e):n(e.textContent);var s=e.querySelector("head"),l=e.querySelector("body");return t(s)||t(l)},gi.selectorAttributeFilter=function(e,t,n,o,r){if(1!==e.nodeType)return!1;function i(e,t){return"string"==typeof t?t===e:t.test(e)}for(var a,s=e.attributes,l=0;l<s.length;l++)if(i((a=s[l]).nodeName,o)&&(!r||i(a.nodeValue,r)))return!0;return!1};var vi=f.nativeMethods,bi=f.EVENTS.evalIframeScript;vi.objectDefineProperty(yi,"%testCafeCore%",{configurable:!0,value:gi}),f.on(bi,function(e){return Ei(vi.contentWindowGetter.call(e.iframe),!0)})}(yi["%hammerhead%"],yi["%hammerhead%"].Promise)}(window);
1
+ window["%hammerhead%"].utils.removeInjectedScript(),function wi(Si,Ci){var Ti=Si.document;!function(d,c){var f="default"in d?d.default:d;c=c&&Object.prototype.hasOwnProperty.call(c,"default")?c.default:c;var e=f.utils.browser,t={alt:18,ctrl:17,meta:91,shift:16},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=","{":"[","}":"]",":":";",'"':"'","|":"\\","<":",",">":".","?":"/","±":"§"},o={backspace:8,capslock:20,delete:46,down:40,end:35,enter:13,esc:27,home:36,ins:45,left:37,pagedown:34,pageup:33,right:39,space:32,tab:9,up:38},r={left:e.isIE?"Left":"ArrowLeft",down:e.isIE?"Down":"ArrowDown",right:e.isIE?"Right":"ArrowRight",up:e.isIE?"Up":"ArrowUp",backspace:"Backspace",capslock:"CapsLock",delete:"Delete",end:"End",enter:"Enter",esc:"Escape",home:"Home",ins:"Insert",pagedown:"PageDown",pageup:"PageUp",space:e.isIE?"Spacebar":" ",tab:"Tab",alt:"Alt",ctrl:"Control",meta:"Meta",shift:"Shift"};function i(e){var t,n={};for(t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}var a={modifiers:t,shiftMap:n,specialKeys:o,keyProperty:r,modifiersMap:{option:"alt"},symbolCharCodeToKeyCode:{96:192,91:219,93:221,92:220,59:186,39:222,44:188,45:e.isFirefox?173:189,46:190,47:191},symbolKeysCharCodes:{109:45,173:45,186:59,187:61,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,110:46,96:48,97:49,98:50,99:51,100:52,101:53,102:54,103:55,104:56,105:57,107:43,106:42,111:47},reversedModifiers:i(t),reversedShiftMap:i(n),reversedSpecialKeys:i(o),reversedKeyProperty:i(r)},s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function l(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function u(e,a,s,l){return new(s=s||c)(function(n,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function r(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,r)}i((l=l.apply(e,a||[])).next())})}function h(n,o){var r,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=o.call(n,s)}catch(e){t=[6,e],i=0}finally{r=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}var p=f.Promise,m=f.nativeMethods;function g(t){return new p(function(e){return m.setTimeout.call(Si,e,t)})}function v(e){var t="array"+e.charAt(0).toUpperCase()+e.slice(1),n=d.nativeMethods[t];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n.call.apply(n,e)}}var b=v("filter"),E=v("map"),y=v("slice"),w=v("splice"),S=v("unshift"),C=v("forEach"),T=v("indexOf"),x=v("some"),I=v("reverse"),N=v("reduce"),M=v("concat"),R=v("join");function P(e,t){if(d.nativeMethods.arrayFind)return d.nativeMethods.arrayFind.call(e,t);for(var n=e.length,o=0;o<n;o++)if(t(e[o],o,e))return e[o];return null}function _(e,t){var n=d.nativeMethods.arrayIndexOf.call(e,t);-1<n&&d.nativeMethods.arraySplice.call(e,n,1)}var O=Object.freeze({__proto__:null,filter:b,map:E,slice:y,splice:w,unshift:S,forEach:C,indexOf:T,some:x,reverse:I,reduce:N,concat:M,join:R,isArray:function(e){return"[object Array]"===d.nativeMethods.objectToString.call(e)},from:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(d.nativeMethods.arrayFrom)return d.nativeMethods.arrayFrom.apply(d.nativeMethods,function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var o=Array(e),r=0,t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,r++)o[r]=i[a];return o}([e],t));for(var o=[],r=e.length,i=0;i<r;i++)o.push(e[i]);return o},find:P,remove:_,equals:function(e,t){if(e.length!==t.length)return!1;for(var n=0,o=e.length;n<o;n++)if(e[n]!==t[n])return!1;return!0},getCommonElement:function(e,t){for(var n=0;n<e.length;n++)for(var o=0;o<t.length;o++)if(e[n]===t[o])return e[n];return null}});function A(){this.eventsListeners=[]}A.prototype.emit=function(e){var t=this.eventsListeners[e];if(t)for(var n=0;n<t.length;n++)try{t[n]&&t[n].apply(this,Array.prototype.slice.apply(arguments,[1]))}catch(e){if(!(e.message&&-1<e.message.indexOf("freed script")))throw e;t[n]=null}},A.prototype.off=function(e,t){var n=this.eventsListeners[e];n&&(this.eventsListeners[e]=b(n,function(e){return e!==t}))},A.prototype.on=function(e,t){this.eventsListeners[e]||(this.eventsListeners[e]=[]),this.eventsListeners[e].push(t)},A.prototype.once=function(n,o){var r=this;this.on(n,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.off(n,o),o.apply(void 0,e)})};var V,L=Object.freeze({__proto__:null,inherit:function(e,t){function n(){}n.prototype=t.prototype,f.utils.extend(e.prototype,new n),(e.prototype.constructor=e).base=t.prototype},EventEmitter:A}),F=f.Promise,k=f.nativeMethods,H="requests-finished",q=(l(B,V=A),B.prototype._init=function(){function e(e){return r._onXhrSend(e.xhr)}function t(e){return r._onRequestCompleted(e.xhr)}function n(e){return r._onRequestError(e.xhr,e.err)}function o(e){return r._onFetchSend(e)}var r=this;f.on(f.EVENTS.beforeXhrSend,e),f.on(f.EVENTS.xhrCompleted,t),f.on(f.EVENTS.xhrError,n),f.on(f.EVENTS.fetchSent,o),this._unbindHandlers=function(){f.off(f.EVENTS.beforeXhrSend,e),f.off(f.EVENTS.xhrCompleted,t),f.off(f.EVENTS.xhrError,n),f.off(f.EVENTS.fetchSent,o)}},B.prototype._onXhrSend=function(e){this.collectingReqs&&this.requests.push(e)},B.prototype._onRequestCompleted=function(e){var t=this;g(this.delays.additionalRequestsCollection).then(function(){return t._onRequestFinished(e)})},B.prototype._onRequestError=function(e){this._onRequestFinished(e)},B.prototype._onRequestFinished=function(e){-1<T(this.requests,e)&&(_(this.requests,e),this.collectingReqs||this.requests.length||this.emit(H))},B.prototype._onFetchSend=function(e){var t=this;this.collectingReqs&&(this.requests.push(e),e.then(function(){return t._onRequestCompleted(e)}).catch(function(){return t._onRequestError(e)}))},B.prototype.wait=function(e){var n=this;return new F(function(t){g(e?n.delays.pageInitialRequestsCollection:n.delays.requestsCollection).then(function(){function e(){n.watchdog&&k.clearTimeout.call(Si,n.watchdog),n._unbindHandlers(),t()}n.collectingReqs=!1,n.requests.length?(n.watchdog=k.setTimeout.call(Si,e,n.BARRIER_TIMEOUT),n.on(H,e)):e()})})},B);function B(e){void 0===e&&(e={});var t=V.call(this)||this;return t.BARRIER_TIMEOUT=3e3,t.delays={requestsCollection:void 0===e.requestsCollection?50:e.requestsCollection,additionalRequestsCollection:void 0===e.additionalRequestsCollection?50:e.additionalRequestsCollection,pageInitialRequestsCollection:void 0===e.pageInitialRequestsCollection?50:e.pageInitialRequestsCollection},t.collectingReqs=!0,t.requests=[],t.watchdog=null,t._unbindHandlers=null,t._init(),t}q.GLOBAL_REQUEST_BARRIER_FIELD="testcafe|request-barrier",Si[q.GLOBAL_REQUEST_BARRIER_FIELD]=q;var W=f.utils.browser,G=f.nativeMethods,U=f.utils.style.get,D=f.utils.dom.getActiveElement,j=f.utils.dom.findDocument,z=f.utils.dom.isElementInDocument,K=f.utils.dom.isElementInIframe,Y=f.utils.dom.getIframeByElement,X=f.utils.dom.isCrossDomainWindows,$=f.utils.dom.getSelectParent,J=f.utils.dom.getChildVisibleIndex,Q=f.utils.dom.getSelectVisibleChildren,Z=f.utils.dom.isElementNode,ee=f.utils.dom.isTextNode,te=f.utils.dom.isRenderedNode,ne=f.utils.dom.isIframeElement,oe=f.utils.dom.isInputElement,re=f.utils.dom.isButtonElement,ie=f.utils.dom.isFileInput,ae=f.utils.dom.isTextAreaElement,se=f.utils.dom.isAnchorElement,le=f.utils.dom.isImgElement,ue=f.utils.dom.isFormElement,ce=f.utils.dom.isLabelElement,de=f.utils.dom.isSelectElement,fe=f.utils.dom.isRadioButtonElement,he=f.utils.dom.isColorInputElement,pe=f.utils.dom.isCheckboxElement,me=f.utils.dom.isOptionElement,ge=f.utils.dom.isSVGElement,ve=f.utils.dom.isMapElement,be=f.utils.dom.isBodyElement,Ee=f.utils.dom.isHtmlElement,ye=f.utils.dom.isDocument,we=f.utils.dom.isWindow,Se=f.utils.dom.isTextEditableInput,Ce=f.utils.dom.isTextEditableElement,Te=f.utils.dom.isTextEditableElementAndEditingAllowed,xe=f.utils.dom.isContentEditableElement,Ie=f.utils.dom.isDomElement,Ne=f.utils.dom.isShadowUIElement,Me=f.utils.dom.isShadowRoot,Re=f.utils.dom.isElementFocusable,Pe=f.utils.dom.isHammerheadAttr,_e=f.utils.dom.isElementReadOnly,Oe=f.utils.dom.getScrollbarSize,Ae=f.utils.dom.getMapContainer,Ve=f.utils.dom.getTagName,Le=f.utils.dom.closest,Fe=f.utils.dom.getParents,ke=f.utils.dom.findParent,He=f.utils.dom.getTopSameDomainWindow,qe=f.utils.dom.getParentExceptShadowRoot;function Be(e){return b(e,function(e){return 0<e.tabIndex})}function We(e){return b(e,function(e){return e.tabIndex<=0})}function Ge(e){if(!e||!e.length)return[];var t=Be(e),n=b(e,function(e){return ne(e)});if(!t.length)return n.length&&(e=Ue(e,n)),e;t=t.sort(De("tabIndex"));var o=We(e);return n.length?Ue(t,n).concat(Ue(o,n)):t.concat(o)}function Ue(e,t){for(var n,o,r,i,a,s=(o=Be(n=t)).length?o.sort(De("tabIndex")).concat(We(n)):n,l=[],u=[],c=[],d=0,d=0;d<s.length;d++){try{c=je(G.contentDocumentGetter.call(s[d]))}catch(e){c=[]}u.push(Ge(c))}for(d=0;d<e.length;d++)l.push(e[d]),ne(e[d])&&(l=W.isIE?(l.pop(),a=Be(r=u[T(t,e[d])]),i=We(r),a=a.sort(De("tabIndex")),(l=l.concat(a)).push(e[d]),l.concat(i)):(W.isWebKit&&u[T(t,e[d])].length&&l.pop(),l.concat(u[T(t,e[d])])));return l}function De(n){return function(e,t){return e[n]<t[n]?-1:e[n]>t[n]?1:0}}function je(e,t){void 0===t&&(t=!1);for(var n=e.querySelectorAll("*"),o=function(e){for(var t=[],n=0;n<e.length;n++)"none"===U(e[n],"display")&&t.push(e[n]);return t}(n),r=/^(input|button|select|textarea)$/,i=[],a=null,s=!1,l=0;l<n.length;l++){var u,a=n[l],c=Ve(a),d=function(e){var t=e.getAttribute("tabIndex");return null!==t&&(t=parseInt(t,10),t=isNaN(t)?null:t),t}(a),s=!1;a.disabled||"none"!==U(a,"display")&&"hidden"!==U(a,"visibility")&&((W.isIE||W.isAndroid)&&me(a)||null!==d&&d<0||(r.test(c)?s=!0:W.isIE&&ne(a)?i.push(a):se(a)&&a.hasAttribute("href")&&(s=""!==a.getAttribute("href")||!W.isIE||null!==d),""!==(u=a.getAttribute("contenteditable"))&&"true"!==u||(s=!0),null!==d&&(s=!0),s&&i.push(a)))}var f=b(i,function(e){return!ze(o,e)});return t&&(f=Ge(f)),f}function ze(e,t){return e.contains?e.contains(t):x(e,function(e){return e.contains(t)})}function Ke(e,t){if(Ye(t,e))return!0;for(var n=G.nodeChildNodesGetter.call(e),o=Qe(n),r=0;r<o;r++){var i=n[r];if(!Ne(i)&&Ke(i,t))return!0}return!1}function Ye(e,t){return e&&t&&e.isSameNode?e.isSameNode(t):e===t}function Xe(t){if(!t.setTimeout)return!1;var e=null;try{e=t.frameElement}catch(e){return!!t.top}return!(!W.isFirefox&&!W.isWebKit||t.top===t||e)||!(!e||!G.contentDocumentGetter.call(e))}function $e(e){try{return e.top===e}catch(e){return!1}}function Je(e,t){for(var n=(t||Si).document.getElementsByTagName("iframe"),o=0;o<n.length;o++)if(G.contentWindowGetter.call(n[o])===e)return n[o];return null}function Qe(e){return G.nodeListLengthGetter.call(e)}function Ze(e){return G.inputValueGetter.call(e)}function et(e){return G.textAreaValueGetter.call(e)}function tt(e,t){return G.inputValueSetter.call(e,t)}function nt(e,t){return G.textAreaValueSetter.call(e,t)}function ot(e){return oe(e)?Ze(e):ae(e)?et(e):e.value}function rt(e){return e&&e.getRootNode&&j(e)!==e.getRootNode()}var it=Object.freeze({__proto__:null,getActiveElement:D,findDocument:j,isElementInDocument:z,isElementInIframe:K,getIframeByElement:Y,isCrossDomainWindows:X,getSelectParent:$,getChildVisibleIndex:J,getSelectVisibleChildren:Q,isElementNode:Z,isTextNode:ee,isRenderedNode:te,isIframeElement:ne,isInputElement:oe,isButtonElement:re,isFileInput:ie,isTextAreaElement:ae,isAnchorElement:se,isImgElement:le,isFormElement:ue,isLabelElement:ce,isSelectElement:de,isRadioButtonElement:fe,isColorInputElement:he,isCheckboxElement:pe,isOptionElement:me,isSVGElement:ge,isMapElement:ve,isBodyElement:be,isHtmlElement:Ee,isDocument:ye,isWindow:we,isTextEditableInput:Se,isTextEditableElement:Ce,isTextEditableElementAndEditingAllowed:Te,isContentEditableElement:xe,isDomElement:Ie,isShadowUIElement:Ne,isShadowRoot:Me,isElementFocusable:Re,isHammerheadAttr:Pe,isElementReadOnly:_e,getScrollbarSize:Oe,getMapContainer:Ae,getTagName:Ve,closest:Le,getParents:Fe,findParent:ke,getTopSameDomainWindow:He,getParentExceptShadowRoot:qe,getFocusableElements:je,containsElement:ze,getTextareaIndentInLine:function(e,t){var n=et(e);if(!n)return 0;var o=n.substring(0,t);return t-(-1===o.lastIndexOf("\n")?0:o.lastIndexOf("\n")+1)},getTextareaLineNumberByPosition:function(e,t){for(var n=et(e).split("\n"),o=0,r=0,i=0;o<=t;i++){if(t<=o+n[i].length){r=i;break}o+=n[i].length+1}return r},getTextareaPositionByLineAndOffset:function(e,t,n){for(var o=et(e).split("\n"),r=0,i=0;i<t;i++)r+=o[i].length+1;return r+n},blocksImplicitSubmission:function(e){return(W.isSafari?/^(text|password|color|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:W.isFirefox?/^(text|password|date|time|datetime|datetime-local|email|month|number|search|tel|url|week|image)$/i:W.isIE?/^(text|password|color|date|time|datetime|datetime-local|email|file|month|number|search|tel|url|week|image)$/i:/^(text|password|datetime|email|number|search|tel|url|image)$/i).test(e.type)},isEditableElement:function(e,t){return t?Te(e)||xe(e):Ce(e)||xe(e)},isElementContainsNode:Ke,isOptionGroupElement:function(e){return"[object HTMLOptGroupElement]"===f.utils.dom.instanceToString(e)},getElementIndexInParent:function(e,t){var n=e.querySelectorAll(Ve(t));return T(n,t)},isTheSameNode:Ye,getElementDescription:function(e){var t,n,o={id:"id",name:"name",class:"className"},r=[];for(t in r.push("<"),r.push(Ve(e)),o)!o.hasOwnProperty(t)||(n=e[o[t]])&&r.push(" "+t+'="'+n+'"');return r.push(">"),r.join("")},getFocusableParent:function(e){for(var t=Fe(e),n=0;n<t.length;n++)if(Re(t[n]))return t[n];return null},remove:function(e){e&&e.parentElement&&e.parentElement.removeChild(e)},isIFrameWindowInDOM:Xe,isTopWindow:$e,findIframeByWindow:Je,isEditableFormElement:function(e){return Ce(e)||de(e)},getCommonAncestor:function(e,t){if(Ye(e,t))return e;for(var n=[e].concat(Fe(e)),o=t;o;){if(-1<T(n,o))return o;o=G.nodeParentNodeGetter.call(o)}return o},getChildrenLength:function(e){return G.htmlCollectionLengthGetter.call(e)},getChildNodesLength:Qe,getInputValue:Ze,getTextAreaValue:et,setInputValue:tt,setTextAreaValue:nt,getElementValue:ot,setElementValue:function(e,t){return oe(e)?tt(e,t):ae(e)?nt(e,t):e.value=t},isShadowElement:rt,contains:function(t,e){return!(!t||!e)&&(t.contains?t.contains(e):!!ke(e,!0,function(e){return e===t}))}}),at=f.Promise,st=f.nativeMethods,lt=f.eventSandbox.listeners,ut=f.utils.browser,ct=f.utils.event.BUTTON,dt=f.utils.event.BUTTONS_PARAMETER,ft=f.utils.event.DOM_EVENTS,ht=f.utils.event.WHICH_PARAMETER,pt=f.utils.event.preventDefault;function mt(e,t,n,o){ut.isIE11&&we(e)?st.windowAddEventListener.call(e,t,n,o):st.addEventListener.call(e,t,n,o)}function gt(e,t,n,o){ut.isIE11&&we(e)?st.windowRemoveEventListener.call(e,t,n,o):st.removeEventListener.call(e,t,n,o)}function vt(){var n=[],e=!1;function t(){e||(Ti.body?(e=!0,n.forEach(function(e){return e()})):st.setTimeout.call(Si,t,1))}function o(){(Xe(Si)||$e(Si))&&(gt(Ti,"DOMContentLoaded",o),t())}return"complete"===Ti.readyState?st.setTimeout.call(Si,o,1):mt(Ti,"DOMContentLoaded",o),{then:function(e){return t=e,new at(function(e){return n.push(function(){return e(t())})});var t}}}var bt,Et,yt=Object.freeze({__proto__:null,BUTTON:ct,BUTTONS_PARAMETER:dt,DOM_EVENTS:ft,WHICH_PARAMETER:ht,preventDefault:pt,bind:mt,unbind:gt,documentReady:function(e){return void 0===e&&(e=0),vt().then(function(){return lt.getEventListeners(Si,"load").length?at.race([new at(function(e){return mt(Si,"load",e)}),g(e)]):null})}});(Et=bt=bt||{}).ready="ready",Et.readyForBrowserManipulation="ready-for-browser-manipulation",Et.waitForFileDownload="wait-for-file-download";var wt=bt,St=f.Promise,Ct=f.utils.browser,Tt=f.nativeMethods,xt=f.transport,It=30,Nt=500,Mt=!1,Rt=null,Pt=[],_t=!1,Ot=null,At=!1;function Vt(){Ct.isIE?(function(e){Rt&&Tt.clearTimeout.call(Si,Rt),Mt=!0,Rt=Tt.setTimeout.call(Si,function(){Rt=null,Mt=!1,Pt.forEach(function(e){return e()}),Pt=[]},e)}(It),g(0).then(function(){var e;"loading"===Ti.readyState&&((e=Tt.documentActiveElementGetter.call(Ti))&&se(e)&&e.hasAttribute("download")||(_t=!0))})):_t=!0}var Lt=Object.freeze({__proto__:null,init:function(){f.on(f.EVENTS.beforeUnload,Vt),mt(Si,"unload",function(){_t=!0})},watchForPageNavigationTriggers:function(){Ot=function(){At=!0},f.on(f.EVENTS.pageNavigationTriggered,Ot)},wait:function(t){var e=new St(function(e){void 0===t&&(t=!Ot||At?400:0),Ot&&(f.off(f.EVENTS.pageNavigationTriggered,Ot),Ot=null),g(t).then(function(){_t?new St(function(t){Tt.setTimeout.call(Si,function(){xt.queuedAsyncServiceMsg({cmd:wt.waitForFileDownload}).then(function(e){e&&t()})},Nt)}).then(function(){_t=!1,e()}):Mt?Pt.push(e):e()})}),n=g(15e3).then(function(){_t=!1});return St.race([e,n])}}),Ft=d.eventSandbox.listeners;function kt(){this.initialized=!1,this.stopPropagationFlag=!1,this.events=new A}var Ht=(kt.prototype._internalListener=function(e,t,n,o,r){this.events.emit("scroll",e),this.stopPropagationFlag&&(o(),r())},kt.prototype.init=function(){var n=this;this.initialized||(this.initialized=!0,Ft.initElementListening(Si,["scroll"]),Ft.addFirstInternalEventBeforeListener(Si,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n._internalListener.apply(n,e)}))},kt.prototype.waitForScroll=function(e){var t=this,n=null,o=new d.Promise(function(e){n=e});return o.cancel=function(){return t.events.off("scroll",n)},this.initialized?this.handleScrollEvents(e,n):n(),o},kt.prototype.handleScrollEvents=function(n,e){var o=this;this.events.once("scroll",e),rt(n)&&(Ft.initElementListening(n,["scroll"]),Ft.addFirstInternalEventBeforeListener(n,["scroll"],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];o._internalListener.apply(o,e),Ft.cancelElementListening(n)}))},kt.prototype.stopPropagation=function(){this.stopPropagationFlag=!0},kt.prototype.enablePropagation=function(){this.stopPropagationFlag=!1},new kt),qt=f.utils.style,Bt=f.utils.browser,Wt=f.utils.style.getBordersWidth,Gt=f.utils.style.getComputedStyle,Ut=f.utils.style.getElementMargin,Dt=f.utils.style.getElementPadding,jt=f.utils.style.getElementScroll,zt=f.utils.style.getOptionHeight,Kt=f.utils.style.getSelectElementSize,Yt=f.utils.style.isElementVisible,Xt=f.utils.style.isVisibleChild,$t=f.utils.style.getWidth,Jt=f.utils.style.getHeight,Qt=f.utils.style.getInnerWidth,Zt=f.utils.style.getInnerHeight,en=f.utils.style.getScrollLeft,tn=f.utils.style.getScrollTop,nn=f.utils.style.setScrollLeft,on=f.utils.style.setScrollTop,rn=f.utils.style.get,an=/auto|scroll/i,sn="visible",ln=function(e){var t=rn(e,"overflowX"),n=rn(e,"overflowY"),o=an.test(t),r=an.test(n);return Bt.isIE&&(o=o||r&&t===sn,r=r||o&&n===sn),{scrollableHorizontally:o,scrollableVertically:r}},un=function(e){return!!(e=ke(e,!0,function(e){return Z(e)&&"hidden"===rn(e,"visibility")}))},cn=function(e){return!!(e=ke(e,!0,function(e){return Z(e)&&"none"===rn(e,"display")}))};function dn(e){return!te(e)||cn(e)||un(e)}function fn(e){var t,n=rn(e,"overflowX"),o=rn(e,"overflowY"),r=an.test(n),i=an.test(o),a=j(e).documentElement,s=e.scrollHeight;return(Bt.isChrome||Bt.isFirefox)&&(t=e.getBoundingClientRect().top,s=s-a.getBoundingClientRect().top+t),(r||i)&&s>a.scrollHeight}function hn(e){var t=ln(e),n=t.scrollableHorizontally,o=t.scrollableVertically;if(be(e))return fn(e);if(Ee(e))return function(e){var t=rn(e,"overflowX"),n=rn(e,"overflowY"),o=e.getElementsByTagName("body")[0];if("hidden"===t&&"hidden"===n)return!1;var r=e.scrollHeight>e.clientHeight,i=e.scrollWidth>e.clientWidth;if(r||i)return!0;if(o){if(fn(o))return!1;var a=Math.min(e.clientWidth,o.clientWidth),s=Math.min(e.clientHeight,o.clientHeight);return o.scrollHeight>s||o.scrollWidth>a}return!1}(e);if(!n&&!o)return!1;var r=o&&e.scrollHeight>e.clientHeight;return n&&e.scrollWidth>e.clientWidth||r}function pn(e){return e&&!(e.offsetHeight<=0&&e.offsetWidth<=0)}function mn(e,t,n){return e<t?n:e<n?t:Math.max(n,t)}var gn=Object.freeze({__proto__:null,getBordersWidth:Wt,getComputedStyle:Gt,getElementMargin:Ut,getElementPadding:Dt,getElementScroll:jt,getOptionHeight:zt,getSelectElementSize:Kt,isElementVisible:Yt,isSelectVisibleChild:Xt,getWidth:$t,getHeight:Jt,getInnerWidth:Qt,getInnerHeight:Zt,getScrollLeft:en,getScrollTop:tn,setScrollLeft:nn,setScrollTop:on,get:rn,isFixedElement:function(e){return Z(e)&&"fixed"===rn(e,"position")},isNotVisibleNode:dn,getScrollableParents:function(e){var t,n=Fe(e);return K(e)&&(t=Fe(Y(e)),n.concat(t)),b(n,hn)},hasScroll:hn,hasDimensions:pn,set:function(e,t,n){for(var o in"string"==typeof t&&qt.set(e,t,n),t)t.hasOwnProperty(o)&&qt.set(e,o,t[o])},getViewportDimensions:function(){return{width:mn(Si.innerWidth,Ti.documentElement.clientWidth,Ti.body.clientWidth),height:mn(Si.innerHeight,Ti.documentElement.clientHeight,Ti.body.clientHeight)}}}),vn=d.utils.browser,bn=d.eventSandbox.listeners,En=d.eventSandbox.eventSimulator,yn=["click","mousedown","mouseup","dblclick","contextmenu","mousemove","mouseover","mouseout","touchstart","touchmove","touchend","keydown","keypress","input","keyup","change","focus","blur","MSPointerDown","MSPointerMove","MSPointerOver","MSPointerOut","MSPointerUp","pointerdown","pointermove","pointerover","pointerout","pointerup"],wn=123;function Sn(e,t,n,o,r){var i,a=e.target||e.srcElement;if(!t&&!Ne(a)){if(/^key/.test(e.type)&&((i=e).shiftKey&&i.ctrlKey||(i.altKey||i.metaKey)&&vn.isMacPlatform||i.keyCode===wn))return void r();if("blur"===e.type)if(vn.isIE&&vn.version<12){var s,l=we(a),u=!l&&"none"===rn(a,"display"),c=!1;l||u||(s=Fe(a),c=b(s,function(e){return"none"===rn(e,"display")})),(u||c.length)&&d.eventSandbox.timers.deferFunction(function(){En.blur(a)})}else if(a!==Si&&a!==Si.document&&!pn(a))return;n()}}function Cn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return!Qe(t)&&kn(e)?e:P(t,kn)}function Tn(e){return P(d.nativeMethods.nodeChildNodesGetter.call(e),function(e){return kn(e)||!Hn(e)&&Tn(e)})}function xn(e){return ee(e)||Z(e)&&Yt(e)}function In(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return b(t,xn)}function Nn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return x(t,xn)}function Mn(e){var t=d.nativeMethods.nodeChildNodesGetter.call(e);return x(t,function(e){return Kn(e,!0)})}function Rn(e,t){var n,o;if(!Ne(e)&&!Ne(t)){var r=d.nativeMethods.nodeChildNodesGetter.call(t);return!Ye(t,e)&&Qe(r)&&/div|p/.test(Ve(t))&&(n=Tn(e))&&!Ye(t,n)&&(o=On(n))&&!Ye(t,o)&&Cn(t)}}function Pn(e,t){var n,o,r,i=te(t);if(!Ne(e)&&!Ne(t)){var a=d.nativeMethods.nodeChildNodesGetter.call(t);if(!Ye(t,e)&&(i&&Z(t)&&Qe(a)&&!/div|p/.test(Ve(t))||kn(t)&&!Ye(t,e)&&t.nodeValue.length)){if(i&&Z(t)){if(!(n=Tn(e))||Ye(t,n))return;if(!(o=On(n))||Ye(t,o))return}return(r=function(e){for(var t=null,n=e;!t&&(n=n.previousSibling);)if(!Hn(n)&&!Fn(n)){t=n;break}return t}(t))&&Z(r)&&/div|p/.test(Ve(r))&&Cn(r)}}}function _n(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=null,s=t?kn:ee;if(!i&&s(e))return e;for(var l=0;l<i;l++){if(n=r[l],o=Z(n)&&!xe(n),s(n))return n;if(te(n)&&Nn(n)&&!o&&(a=_n(n,t)))return a}return a}function On(e){return _n(e,!0)}function An(e,t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=null;if(!i&&kn(e))return e;for(var s=i-1;0<=s;s--){if(n=r[s],o=Z(n)&&!xe(n),ee(n)&&(!t||!Fn(n)))return n;if(te(n)&&Nn(n)&&!o&&(a=An(n,!1)))return a}return a}function Vn(e,t){if(!e||!e.length)return 0;for(var n=e.length,o=t||0,r=o;r<n&&(10===e.charCodeAt(r)||32===e.charCodeAt(r));r++)o++;return o}function Ln(e){if(!e||!e.length)return 0;for(var t=e.length,n=t,o=t-1;0<=o&&(10===e.charCodeAt(o)||32===e.charCodeAt(o));o--)n--;return n}function Fn(e){if(!ee(e))return!1;var t=e.nodeValue,n=Vn(t),o=Ln(t);return n===t.length&&0===o}function kn(e){return ee(e)&&!Fn(e)}function Hn(e){return!te(e)||Ne(e)}function qn(e){var t=e.getAttribute?e.getAttribute("contenteditable"):null;return""===t||"true"===t}function Bn(e){var t=Fe(e);if(qn(e)&&xe(e))return e;var n=j(e);return"on"===n.designMode?n.body:P(t,function(e){return qn(e)&&xe(e)})}function Wn(e,t){if(Ye(e,t))return Ye(t,Bn(e))?e:d.nativeMethods.nodeParentNodeGetter.call(e);var n=[],o=Bn(e),r=null;if(!Ke(o,t))return null;for(r=e;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))n.push(r);for(r=t;r!==o;r=d.nativeMethods.nodeParentNodeGetter.call(r))if(-1!==T(n,r))return r;return o}function Gn(e,t){var n=null,o=null,r=d.nativeMethods.nodeChildNodesGetter.call(e),i=Qe(r),a=i<=t;if(Ne(e))return{node:e,offset:t};if(a?n=r[i-1]:(n=r[t],o=0),Ne(n)){if(i<=1)return{node:e,offset:0};(a=i<=t-1)?n=r[i-2]:(n=r[t-1],o=0)}for(;!Hn(n)&&Z(n);){var s=In(n);if(!s.length){o=0;break}n=s[a?s.length-1:0]}return 0===o||Hn(n)||(o=n.nodeValue?n.nodeValue.length:0),{node:n,offset:o}}function Un(e,t,n){var o=n?t.focusNode:t.anchorNode,r=n?t.focusOffset:t.anchorOffset,i={node:o,offset:r};return(Ye(e,o)||Z(o))&&Mn(o)&&(i=Gn(o,r)),{node:i.node,offset:i.offset}}function Dn(e,t,n){var o=n?t.anchorNode:t.focusNode,r=n?t.anchorOffset:t.focusOffset,i={node:o,offset:r};return(Ye(e,o)||Z(o))&&Mn(o)&&(i=Gn(o,r)),{node:i.node,offset:i.offset}}function jn(e,t,n){return Xn(e,Un(e,t,n))}function zn(e,t,n){return Xn(e,Dn(e,t,n))}function Kn(e,t){if(dn(e))return!1;if(ee(e))return!0;if(!Z(e))return!1;if(Mn(e))return t;var n=d.nativeMethods.nodeParentNodeGetter.call(e),o=!xe(n),r=In(e),i=x(r,function(e){return"br"===Ve(e)});return o||i}function Yn(s,e){var l={node:null,offset:e};return function e(t){var n,o,r=d.nativeMethods.nodeChildNodesGetter.call(t),i=Qe(r);if(l.node)return l;if(Hn(t))return l;if(ee(t)){if(l.offset<=t.nodeValue.length)return l.node=t,l;t.nodeValue.length&&(!l.node&&Pn(s,t)&&l.offset--,l.offset-=t.nodeValue.length)}else if(Z(t)){if(!xn(t))return l;if(0===l.offset&&Kn(t,!1))return l.node=t,l.offset=(n=t,o=0,P(d.nativeMethods.nodeChildNodesGetter.call(n),function(e,t){return o=t,"br"===Ve(e)})?o:0),l;(l.node||!Rn(s,t)&&!Pn(s,t))&&(i||"br"!==Ve(t))||l.offset--}for(var a=0;a<i;a++)l=e(r[a]);return l}(s)}function Xn(i,e){var a=e.node,s=e.offset,l=0,u=!1;return function e(t){var n=d.nativeMethods.nodeChildNodesGetter.call(t),o=Qe(n);if(u)return l;if(Ye(a,t))return(Rn(i,t)||Pn(i,t))&&l++,u=!0,l+s;if(Hn(t))return l;!o&&t.nodeValue&&t.nodeValue.length?(!u&&Pn(i,t)&&l++,l+=t.nodeValue.length):(!o&&Z(t)&&"br"===Ve(t)||!u&&(Rn(i,t)||Pn(i,t)))&&l++;for(var r=0;r<o;r++)l=e(n[r]);return l}(i)}function $n(e){var t,n,o,r,i,a=ee(e)?e:An(e,!0);if(!a||(t=a,o=ee(n=e)?n:_n(n,!1),r=t===o,i=t.nodeValue===String.fromCharCode(10),r&&i&&function(e,t){for(var n=["pre","pre-wrap","pre-line"];e!==t;)if(e=d.nativeMethods.nodeParentNodeGetter.call(e),-1<T(n,rn(e,"white-space")))return 1}(t,n)))return 0;var s=j(e).createRange();return s.selectNodeContents(a),Xn(e,{node:a,offset:s.endOffset})}var Jn=Object.freeze({__proto__:null,getFirstVisibleTextNode:On,getLastTextNode:An,getFirstNonWhitespaceSymbolIndex:Vn,getLastNonWhitespaceSymbolIndex:Ln,isInvisibleTextNode:Fn,findContentEditableParent:Bn,getNearestCommonAncestor:Wn,getSelection:function(e,t,n){return{startPos:Un(e,t,n),endPos:Dn(e,t,n)}},getSelectionStartPosition:jn,getSelectionEndPosition:zn,calculateNodeAndOffsetByPosition:Yn,calculatePositionByNodeAndOffset:Xn,getElementBySelection:function(e){var t=Wn(e.anchorNode,e.focusNode);return ee(t)?t.parentElement:t},getFirstVisiblePosition:function(e){var t=ee(e)?e:On(e),n=j(e).createRange();return t?(n.selectNodeContents(t),Xn(e,{node:t,offset:n.startOffset})):0},getLastVisiblePosition:$n,getContentEditableValue:function(e){return E(function e(t){var n=[],o=d.nativeMethods.nodeChildNodesGetter.call(t),r=Qe(o);Hn(t)||r||!ee(t)||n.push(t);for(var i=0;i<r;i++)n=n.concat(e(o[i]));return n}(e),function(e){return e.nodeValue}).join("")}}),Qn=f.utils.position.getElementRectangle,Zn=f.utils.position.getOffsetPosition,eo=f.utils.position.offsetToClientCoords;function to(e){if(!Ie(e)){var t=eo(e);return{width:0,height:0,border:{bottom:0,left:0,right:0,top:0},scroll:{left:0,top:0},left:t.x,right:t.x,top:t.y,bottom:t.y}}var n,o,r,i,a=/html/i.test(e.tagName),s=a?e.getElementsByTagName("body")[0]:null,l=Wt(e),u=e.getBoundingClientRect(),c=jt(e),d=K(e),f=a?0:u.left,h=a?0:u.top,p=a?e.clientHeight:u.height,m=a?e.clientWidth:u.width,g="BackCompat"===e.ownerDocument.compatMode;a&&s&&("boolean"==typeof Ci&&Ci||g)&&(p=s.clientHeight,m=s.clientWidth),!d||(n=Y(e))&&(o=Zn(n),r=eo({x:o.left,y:o.top}),i=Wt(n),f+=r.x+i.left,h+=r.y+i.top,a&&(l.bottom+=i.bottom,l.left+=i.left,l.right+=i.right,l.top+=i.top));var v=a||Qt(e)===e.clientWidth?0:Oe(),b=a||Zt(e)===e.clientHeight?0:Oe();return{width:m,height:p,left:f,top:h,border:l,bottom:h+p,right:f+m,scroll:{left:c.left,top:c.top},scrollbar:{right:v,bottom:b}}}function no(e){var t=/^touch/.test(e.type)&&e.targetTouches?e.targetTouches[0]||e.changedTouches[0]:e,n=0===t.pageX&&0===t.pageY,o=0!==t.clientX||0!==t.clientY;if((null===t.pageX||n&&o)&&null!==t.clientX){var r=j(e.target||e.srcElement),i=r.documentElement,a=r.body;return{x:Math.round(t.clientX+(i&&i.scrollLeft||a&&a.scrollLeft||0)-(i.clientLeft||0)),y:Math.round(t.clientY+(i&&i.scrollTop||a&&a.scrollTop||0)-(i.clientTop||0))}}return{x:Math.round(t.pageX),y:Math.round(t.pageY)}}var oo=Object.freeze({__proto__:null,getElementRectangle:Qn,getOffsetPosition:Zn,offsetToClientCoords:eo,getIframeClientCoordinates:function(e){var t=Zn(e),n=t.left,o=t.top,r=eo({x:n,y:o}),i=Wt(e),a=Dt(e),s=r.x+i.left+a.left,l=r.y+i.top+a.top;return{left:s,top:l,right:s+$t(e),bottom:l+Jt(e)}},isElementVisible:function e(t){if(ee(t))return!dn(t);var n=Qn(t);if(!xe(t)&&(0===n.width||0===n.height))return!1;if(ve(t)){var o=Ae(Le(t,"map"));return!!o&&e(o)}if(Xt(t)){var r=$(t),i=J(r,t),a=Kt(r),s=Math.max(tn(r)/zt(r),0),l=s+a-1,u=Math.max(i-s,0);return s<=u&&u<=l}return ge(t)?"hidden"!==rn(t,"visibility")&&"none"!==rn(t,"display"):pn(t)&&"hidden"!==rn(t,"visibility")},getClientDimensions:to,containsOffset:function(e,t,n){var o=to(e),r=Math.max(e.scrollWidth,o.width),i=Math.max(e.scrollHeight,o.height),a=o.scrollbar.right+o.border.left+o.border.right+r,s=o.scrollbar.bottom+o.border.top+o.border.bottom+i;return(void 0===t||0<=t&&t<=a)&&(void 0===n||0<=n&&n<=s)},getEventAbsoluteCoordinates:function(e){var t,n,o,r=e.target||e.srcElement,i=no(e),a=j(r),s=0,l=0;return!K(a.documentElement)||(t=Y(a))&&(n=Zn(t),o=Wt(t),s=n.left+o.left,l=n.top+o.top),{x:i.x+s,y:i.y+l}},getEventPageCoordinates:no,getElementFromPoint:function(e,t){var n=null,o=Ti.getElementFromPoint||Ti.elementFromPoint;try{n=o.call(Ti,e,t)}catch(e){return null}for(null===n&&(n=o.call(Ti,e-1,t-1));n&&n.shadowRoot&&n.shadowRoot.elementFromPoint;){var r=n.shadowRoot.elementFromPoint(e,t);if(!r||n===r)break;n=r}return n},getIframePointRelativeToParentFrame:function(e,t){var n=Je(t),o=Zn(n),r=Wt(n),i=Dt(n);return eo({x:e.x+o.left+r.left+i.left,y:e.y+o.top+r.top+i.top})},clientToOffsetCoord:function(e,t){var n=t||Ti;return{x:e.x+en(n),y:e.y+tn(n)}},findCenter:function(e){var t=Qn(e);return{x:Math.round(t.left+t.width/2),y:Math.round(t.top+t.height/2)}},getClientPosition:function(e){var t=Zn(e),n=t.left,o=t.top,r=eo({x:n,y:o});return r.x=Math.round(r.x),r.y=Math.round(r.y),r},getElementClientRectangle:function(e){var t=Qn(e),n=eo({x:t.left,y:t.top});return{height:t.height,left:n.x,top:n.y,width:t.width}},calcRelativePosition:function(e,t){return{left:Math.ceil(e.left-(t.left+t.border.left)),right:Math.floor(t.right-t.border.right-t.scrollbar.right-e.right),top:Math.ceil(e.top-(t.top+t.border.top)),bottom:Math.floor(t.bottom-t.border.bottom-t.scrollbar.bottom-e.bottom)}},isInRectangle:function(e,t){var n=e.x,o=e.y;return n>=t.left&&n<=t.right&&o>=t.top&&o<=t.bottom},getLineYByXCoord:function(e,t,n){if(t.x-e.x==0)return null;var o=(t.y-e.y)/(t.x-e.x),r=e.x*(e.y-t.y)/(t.x-e.x)+e.y;return Math.round(o*n+r)},getLineXByYCoord:function(e,t,n){if(t.y-e.y==0)return null;var o=(t.x-e.x)/(t.y-e.y),r=e.y*(e.x-t.x)/(t.y-e.y)+e.x;return Math.round(o*n+r)}}),ro=Object.freeze({__proto__:null,whilst:function(t,n){return u(this,void 0,void 0,function(){return h(this,function(e){switch(e.label){case 0:return t()?[4,n()]:[3,2];case 1:return e.sent(),[3,0];case 2:return[2]}})})},times:function(n,o){return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<n?[4,o(t)]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})},each:function(r,i){return u(this,void 0,void 0,function(){var t,n,o;return h(this,function(e){switch(e.label){case 0:t=0,n=r,e.label=1;case 1:return t<n.length?(o=n[t],[4,i(o)]):[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})})}}),io=f.utils.browser,ao=f.nativeMethods,so=f.eventSandbox.selection,lo="backward",uo="forward",co="none",fo=co,ho=0,po=0,mo=0,go=0,vo=0,bo=0;function Eo(e,t,n,o){var r,i,a,s=null,l=null,u=!1;void 0!==t&&void 0!==n&&n<t&&(a=t,t=n,n=a,u=!0),void 0===t&&(l={node:(r=On(e))||e,offset:r&&r.nodeValue?Vn(r.nodeValue):0}),void 0===n&&(s={node:(i=An(e,!0))||e,offset:i&&i.nodeValue?Ln(i.nodeValue):0}),l=l||Yn(e,t),s=s||Yn(e,n),l.node&&s.node&&(u?xo(s,l,o):xo(l,s,o))}function yo(e){var t=e?j(e):Ti,n=t.getSelection(),o=null,r=!1;return n&&(n.isCollapsed||((o=t.createRange()).setStart(n.anchorNode,n.anchorOffset),o.setEnd(n.focusNode,n.focusOffset),r=o.collapsed,o.detach())),r}function wo(e,t,n){var o=Xn(e,t);return Xn(e,n)<o}function So(e){return xe(e)?Io(e)?jn(e,To(e),yo(e)):0:so.getSelection(e).start}function Co(e){return xe(e)?Io(e)?zn(e,To(e),yo(e)):0:so.getSelection(e).end}function To(e){var t=j(e);return t?t.getSelection():Si.getSelection()}function xo(e,t,n){var o=e.node,r=t.node,i=o.nodeValue?o.length:0,a=r.nodeValue?r.length:0,s=e.offset,l=t.offset;Z(o)&&s||(s=Math.min(i,e.offset)),Z(r)&&l||(l=Math.min(a,t.offset));var u=Bn(o),c=wo(u,e,t),d=To(u),f=j(u).createRange();so.wrapSetterSelection(u,function(){var e;d.removeAllRanges(),c?io.isIE?(f.setStart(r,l),f.setEnd(o,s),d.addRange(f)):(f.setStart(o,s),f.setEnd(o,s),d.addRange(f),e=function(e,t){try{d.extend(e,t)}catch(e){return!1}return!0},(io.isSafari||io.isChrome&&io.version<58)&&Fn(r)?e(r,Math.min(l,1))||e(r,0):e(r,l)):(f.setStart(o,s),f.setEnd(r,l),d.addRange(f))},n,!0)}function Io(e){var t=To(e);return!(!t.anchorNode||!t.focusNode)&&Ke(e,t.anchorNode)&&Ke(e,t.focusNode)}io.isIE&&mt(Ti,"selectionchange",function(){var e=null,t=null,n=null;try{if(this.selection)t=this.selection.createRange();else{if(!(e=ao.documentActiveElementGetter.call(this))||!Ce(e))return void(fo=co);var o,r=So(e),i=Co(e);e.createTextRange?((t=e.createTextRange()).collapse(!0),t.moveStart("character",r),t.moveEnd("character",i-r)):Ti.createRange&&(t=Ti.createRange(),o=f.nativeMethods.nodeFirstChildGetter.call(e),t.setStart(o,r),t.setEnd(o,i),n=t.getBoundingClientRect())}}catch(e){return void(fo=co)}var a=n?Math.ceil(n.left):t.offsetLeft,s=n?Math.ceil(n.top):t.offsetTop,l=n?Math.ceil(n.height):t.boundingHeight,u=n?Math.ceil(n.width):t.boundingWidth,c=t.htmlText?t.htmlText.length:0;!function(e,t,n,o,r){if(r)switch(fo){case co:t===bo&&(e===go||mo<n)?fo=uo:(e<go||t<bo)&&(fo=lo);break;case uo:if(e===go&&t===bo||e<go&&mo<n||t===bo&&n===mo&&vo<r&&e+o!==ho)break;(e<go||t<bo)&&(fo=lo);break;case lo:if((e<go||t<bo)&&vo<r)break;t===po&&(ho<=e||mo<n)&&(fo=uo)}else ho=e,po=t,fo=co;mo=n,go=e,vo=r,bo=t}(a,s,l,u,n?t.toString().length:c)},!0);var No,Mo,Ro=Object.freeze({__proto__:null,hasInverseSelectionContentEditable:yo,isInverseSelectionContentEditable:wo,getSelectionStart:So,getSelectionEnd:Co,hasInverseSelection:function(e){return xe(e)?yo(e):(so.getSelection(e).direction||fo)===lo},getSelectionByElement:To,select:function(e,t,n){var o,r,i,a;xe(e)?Eo(e,t,n,!0):(o=t||0,i=!1,a=null,(r=void 0===n?ot(e).length:n)<o&&(a=o,o=r,r=a,i=!0),so.setSelection(e,o,r,i?lo:uo),fo=t===n?co:i?lo:uo)},selectByNodesAndOffsets:xo,deleteSelectionContents:function(e,t){var n,o,r,i,a,s,l,u,c,d,f,h,p=So(e),m=Co(e);t&&Eo(e),p!==m&&(n=To(e),o=n.anchorNode,r=n.focusNode,i=n.anchorOffset,a=n.focusOffset,s=Vn(o.nodeValue),l=Ln(o.nodeValue),u=Vn(r.nodeValue),c=Ln(r.nodeValue),f=d=null,ee(o)&&(i<s&&0!==i?d=0:i!==o.nodeValue.length&&(Fn(o)&&0!==i||l<i)&&(d=o.nodeValue.length)),ee(r)&&(a<u&&0!==a?f=0:a!==r.nodeValue.length&&(Fn(r)&&0!==a||c<a)&&(f=r.nodeValue.length)),(io.isWebKit||io.isIE&&11<io.version)&&(null!==d&&(o.nodeValue=0===d?o.nodeValue.substring(s):o.nodeValue.substring(0,l)),null!==f&&(r.nodeValue=0===f?r.nodeValue.substring(u):r.nodeValue.substring(0,c))),null===d&&null===f||xo({node:o,offset:d=null!==d?0===d?d:o.nodeValue.length:i},{node:r,offset:f=null!==f?0===f?f:r.nodeValue.length:a}),function(e){var t=To(e),n=t.rangeCount;if(n)for(var o=0;o<n;o++)t.getRangeAt(o).deleteContents()}(e),(h=To(e)).rangeCount&&!h.getRangeAt(0).collapsed&&h.getRangeAt(0).collapse(!0))},setCursorToLastVisiblePosition:function(e){var t=$n(e);Eo(e,t,t)},hasElementContainsSelection:Io}),Po=f.Promise,_o=f.nativeMethods,Oo="E1000",Ao="E1001",Vo="E1002",Lo="E1003",Fo="E1004",ko="E1005",Ho="E1006",qo="E1007",Bo="E1008",Wo="E1009",Go="E1010",Uo="E1011",Do="E1012",jo="E1013",zo="E1014",Ko="E1015",Yo="E1016",Xo="E1017",$o="E1018",Jo="E1019",Qo="E1020",Zo="E1021",er="E1022",tr="E1023",nr="E1024",or="E1025",rr="E1026",ir="E1027",ar="E1028",sr="E1029",lr="E1030",ur="E1031",cr="E1032",dr="E1033",fr="E1034",hr="E1035",pr="E1036",mr="E1037",gr="E1038",vr="E1039",br="E1040",Er="E1041",yr="E1043",wr="E1044",Sr="E1045",Cr="E1046",Tr="E1047",xr="E1048",Ir="E1049",Nr="E1050",Mr="E1051",Rr="E1052",Pr="E1053",_r="E1054",Or="E1057",Ar="E1058",Vr="E1059",Lr="E1060",Fr="E1061",kr="E1062",Hr="E1063",qr="E1064",Br="E1065",Wr="E1066";(Mo=No=No||{}).TooHighConcurrencyFactor="TooHighConcurrencyFactor",Mo.UseBrowserInitOption="UseBrowserInitOption",Mo.RestErrorCauses="RestErrorCauses";var Gr,Ur,Dr=No,jr="https://devexpress.github.io/testcafe/documentation/using-testcafe/command-line-interface.html#file-pathglob-pattern",zr="https://devexpress.github.io/testcafe/documentation/using-testcafe/configuration-file.html#filter",Kr=((Gr={})[Oo]="Cannot create multiple live mode runners.",Gr[Ao]="Cannot run a live mode runner multiple times.",Gr[Vo]="The {userAgent} browser disconnected. This problem may appear when a browser hangs or is closed, or due to network issues.",Gr[Lo]="The following browsers disconnected: {userAgents}. Tests will not be run.",Gr[qr]='"{browser}" has disconnected during test execution',Gr[Fo]="Unable to establish one or more of the specified browser connections.",Gr[ko]='Unable to find the browser. "{browser}" is not a browser alias or path to an executable file.',Gr[Ho]='The specified "{providerName}" browser provider was not found.',Gr[qo]="No browser selected to test against.",Gr[Bo]='TestCafe could not find the test files that match the following patterns:\n{sourceList}\n\nThe "{cwd}" current working directory was used as the base path.\nEnsure the file patterns are correct or change the current working directory.\nFor more information on how to specify test files, see '+jr+".",Gr[Wo]="No tests found in the specified source files.\nEnsure the sources contain the 'fixture' and 'test' directives.",Gr[lr]="The specified filter settings exclude all tests.\nModify these settings to leave at least one available test.\nFor more information on how to specify filter settings, see "+zr+".",Gr[Go]='The provided "{name}" reporter does not exist. Check that you have specified the report format correctly.',Gr[Uo]='The following reporters attempted to write to the same output stream: "{reporters}". Only one reporter can write to a stream.',Gr[Do]='The "{optionName}" option value is not a valid regular expression.',Gr[jo]='The "{optionName}" option value is not a valid key-value pair.',Gr[Br]='The "{optionName}" option should be empty, otherwise one of "retryCount" or "passCount".',Gr[Wr]='The "retryCount" value should be greater or equal to "passCount" ({passCount}).',Gr[zo]="Speed should be a number between 0.01 and 1.",Gr[Ko]="The concurrency factor should be an integer greater or equal to 1.",Gr[Yo]="The number of remote browsers should be divisible by the factor of concurrency.",Gr[Xo]='The "--ports" option requires two numbers to be specified.',Gr[$o]="The specified {portNum} port is already in use by another program.",Gr[Jo]='The specified "{hostname}" hostname cannot be resolved to the current machine.',Gr[Qo]='Cannot find a test source file at "{path}".',Gr[Zo]="{#instantiationCallsiteName} code is expected to be specified as a function, but {type} was passed.",Gr[er]="{#instantiationCallsiteName} is expected to be initialized with a function, CSS selector string, another Selector, node snapshot or a Promise returned by a Selector, but {type} was passed.",Gr[tr]="{#instantiationCallsiteName} cannot implicitly resolve the test run in context of which it should be executed. If you need to call {#instantiationCallsiteName} from the Node.js API callback, pass the test controller manually via {#instantiationCallsiteName}'s `.with({ boundTestRun: t })` method first. Note that you cannot execute {#instantiationCallsiteName} outside the test code.",Gr[nr]='{#instantiationCallsiteName} code, arguments or dependencies cannot contain generators or "async/await" syntax (use Promises instead).',Gr[or]='The "boundTestRun" option value is expected to be a test controller.',Gr[rr]="{smthg} is expected to be a {type}, but it was {actual}.",Gr[ir]='The specified "{url}" test page URL uses an unsupported {protocol}:// protocol. Only relative URLs or absolute URLs with http://, https:// and file:// protocols are supported.',Gr[ar]="Cannot implicitly resolve the test run in the context of which the test controller action should be executed. Use test function's 't' argument instead.",Gr[sr]="Timeout expired for a time limited promise",Gr[ur]="Unable to set video or encoding options when video recording is disabled. Specify the base path where video files are stored to enable recording.",Gr[cr]='You cannot call the "{methodName}" method more than once. Pass an array of parameters to this method instead.',Gr[dr]="Specify a file name or a writable stream as the reporter's output target.",Gr[fr]='Unable to read the "{path}" file, specified by the "{option}" ssl option. Error details:\n\n{err}',Gr[hr]="Cannot prepare tests due to an error.\n\n{errMessage}",Gr[pr]='Cannot parse a test source file in the raw format at "{path}" due to an error.\n\n{errMessage}',Gr[mr]="Tested app failed with an error:\n\n{errMessage}",Gr[gr]='Was unable to open the browser "{alias}" due to error.\n\n{errMessage}',Gr[vr]="There was an error while configuring the request hook:\n\n{requestHookName}: {errMsg}",Gr[br]='There are forbidden characters in the "{screenshotPath}" {screenshotPathType}:\n {forbiddenCharsDescription}',Gr[Er]="Unable to locate the FFmpeg executable required to record videos. Do one of the following:\n\n* add the FFmpeg installation directory to the PATH environment variable,\n* specify the path to the FFmpeg executable in the FFMPEG_PATH environment variable or the ffmpegPath video option,\n* install the @ffmpeg-installer/ffmpeg package from npm.",Gr[yr]='Unable to find the TypeScript configuration file in "{filePath}"',Gr[wr]="Specify the JavaScript file path, module name or script content to inject a client script.",Gr[Sr]="Specify the base path for the client script file.",Gr[Cr]="You cannot combine the file path, module name and script content when you specify a client script to inject.",Gr[Tr]="Cannot load a client script from {path}.",Gr[xr]="An error occurred when trying to locate the injected client script module:\n\n{errorMessage}.",Gr[Ir]="This method cannot be called on a service host.",Gr[Nr]="The specified payload is too large to form an IPC packet.",Gr[Mr]="Cannot process a malformed IPC message.",Gr[Rr]="Cannot create an IPC message due to an unexpected IPC head packet.",Gr[Pr]="Cannot create an IPC message due to an unexpected IPC body packet.",Gr[_r]="Cannot create an IPC message due to an unexpected IPC tail packet.",Gr[Or]="Your Linux version does not have a graphic subsystem to run {browserAlias} with a GUI. You can launch the browser in headless mode. If you use a portable browser version, specify the browser alias before the path instead of the 'path' prefix. For more information, see https://devexpress.github.io/testcafe/documentation/guides/concepts/browsers.html#test-in-headless-mode",Gr[Ar]='An uncaught error occurred in the "{reporterName}" reporter\'s "{methodName}" method. Error details:\n{originalError}',Gr[Vr]="You cannot specify relative login page URLs in the Role constructor. Use an absolute URL.",Gr[Lr]="Unable to load the TypeScript compiler.\n{originErrorMessage}.",Gr[Fr]="You cannot specify options for the {noncustomizableCompilerList} compiler{suffix}.",Gr[kr]="Cannot enable the 'retryTestPages' option. Apply one of the following two solutions:\n-- set 'localhost' as the value of the 'hostname' option\n-- run TestCafe over HTTPS\n",Gr[Hr]="{originErrorMessage}\n{numOfNotOpenedConnection} of {numOfAllConnections} browser connections have not been established:\n{listOfNotOpenedConnections}\n\nHints:\n{listOfHints}",Gr[Dr.TooHighConcurrencyFactor]="The error can be due to a concurrency factor that is too high for the host machine’s performance (the factor value {concurrencyFactor} was specified). Try to decrease the concurrency factor or ensure more system resources are available on the host machine.",Gr[Dr.UseBrowserInitOption]='Use the "browserInitTimeout" option to allow more time for the browser to start. The timeout is set to {browserInitTimeoutMsg}.',Gr[Dr.RestErrorCauses]="The error can also be caused by network issues or remote device failure. Make sure that the connection is stable and the remote device can be reached.",Gr[sr]),Yr=(l(Xr,Ur=Error),Xr);function Xr(){var e=Ur.call(this,Kr)||this;return e.code=sr,e}function $r(e){var t=e.replace(/^\+/g,"plus").replace(/\+\+/g,"+plus").split("+");return E(t,function(e){return e.replace("plus","+")})}function Jr(e){var t=1===e.length||"space"===e?e:e.toLowerCase();return a.modifiersMap[t]&&(t=a.modifiersMap[t]),t}var Qr,Zr,ei=f.utils.trim,ti=f.Promise,ni=f.eventSandbox.message,oi={run:"run",idle:"idle"};(Zr=Qr=Qr||{}).ok="ok",Zr.closing="closing";var ri=Qr,ii=Ti.location.href,ai=Ti.location.origin,si=ai+"/service-worker.js",li=!1,ui=null,ci=eval;function di(t){return new c(function(e){return setTimeout(e,t)})}function fi(e,r,t){var n=void 0===t?{}:t,o=n.method,i=void 0===o?"GET":o,a=n.data,s=void 0===a?null:a,l=n.parseResponse,u=void 0===l||l;return new c(function(t,n){var o=r();o.open(i,e,!0),o.onreadystatechange=function(){var e;4===o.readyState&&(200===o.status?((e=o.responseText||"")&&u&&(e=JSON.parse(o.responseText)),t(e)):n("disconnected"))},o.send(s)})}function hi(e){return ii.toLowerCase()===e.toLowerCase()}function pi(){li=!1}function mi(e){pi(),Ti.location=e.url}function gi(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,function(o,r,e){var i=(void 0===e?{}:e).manualRedirect;return u(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return[4,fi(o,r)];case 1:return t=e.sent(),(n=(t.cmd===oi.run||t.cmd===oi.idle)&&!hi(t.url))&&!i&&mi(t),[2,{command:t,redirecting:n}]}})})}.apply(void 0,n)];case 1:return[2,e.sent()];case 2:return t=e.sent(),console.error(t),[2,{error:t}];case 3:return[2]}})})}var vi=Object.freeze({__proto__:null,delay:di,sendXHR:fi,startHeartbeat:function(e,t){function n(){fi(e,t).then(function(e){e.code!==ri.closing||hi(e.url)||(pi(),Ti.location=e.url)})}ui=Si.setInterval(n,2e3),n()},stopHeartbeat:function(){Si.clearInterval(ui)},startInitScriptExecution:function(e,t){li=!0,function e(t,n){li&&fi(t,n).then(function(e){return e.code?fi(t,n,{method:"POST",data:JSON.stringify(ci(e.code))}):null}).then(function(){Si.setTimeout(function(){return e(t,n)},1e3)})}(e,t)},stopInitScriptExecution:pi,redirect:mi,checkStatus:function(){for(var r,i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return u(this,void 0,void 0,function(){var t,n,o;return h(this,function(e){switch(e.label){case 0:n=t=null,o=0,e.label=1;case 1:return o<5?[4,gi.apply(void 0,i)]:[3,5];case 2:return r=e.sent(),t=r.error,n=function(e,t){var n={};for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}(r,["error"]),t?[4,di(1e3)]:[2,n];case 3:e.sent(),e.label=4;case 4:return o++,[3,1];case 5:throw t}})})},enableRetryingTestPages:function(){return u(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:if(!navigator.serviceWorker)return[2];e.label=1;case 1:return e.trys.push([1,4,,5]),[4,navigator.serviceWorker.register(si,{scope:ai})];case 2:return e.sent(),[4,navigator.serviceWorker.ready];case 3:return e.sent(),[3,5];case 4:return t=e.sent(),console.error(t),[3,5];case 5:return[2]}})})},getActiveWindowId:function(e,t){return fi(e,t)},setActiveWindowId:function(e,t,n){return fi(e,t,{method:"POST",data:JSON.stringify({windowId:n})})}}),bi={};bi.RequestBarrier=q,bi.pageUnloadBarrier=Lt,bi.preventRealEvents=function(){bn.initElementListening(Si,yn),bn.addFirstInternalEventBeforeListener(Si,yn,Sn),Ht.init()},bi.disableRealEventsPreventing=function(){bn.removeInternalEventBeforeListener(Si,yn,Sn)},bi.scrollController=Ht,bi.serviceUtils=L,bi.domUtils=it,bi.contentEditable=Jn,bi.positionUtils=oo,bi.styleUtils=gn,bi.eventUtils=yt,bi.arrayUtils=O,bi.promiseUtils=ro,bi.textSelection=Ro,bi.waitFor=function(i,a,s){return new Po(function(e,t){var n,o,r=i();r?e(r):(n=_o.setInterval.call(Si,function(){(r=i())&&(_o.clearInterval.call(Si,n),_o.clearTimeout.call(Si,o),e(r))},a),o=_o.setTimeout.call(Si,function(){_o.clearInterval.call(Si,n),t()},s))})},bi.delay=g,bi.getTimeLimitedPromise=function(e,t){return d.Promise.race([e,g(t).then(function(){return d.Promise.reject(new Yr)})])},bi.noop=function(){},bi.getKeyArray=$r,bi.getSanitizedKey=Jr,bi.parseKeySequence=function(e){if("string"!=typeof e)return{error:!0};var t=(e=ei(e).replace(/\s+/g," ")).length,n=e.charAt(t-1),o=e.charAt(t-2);1<t&&"+"===n&&!/[+ ]/.test(o)&&(e=e.substring(0,e.length-1));var r=e.split(" ");return{combinations:r,error:x(r,function(e){var t=$r(e);return x(t,function(e){var t=1===e.length||"space"===e,n=Jr(e),o=a.modifiers[n],r=a.specialKeys[n];return!(t||o||r)})}),keys:e}},bi.sendRequestToFrame=function(e,o,t){return new ti(function(n){ni.on(ni.SERVICE_MSG_RECEIVED_EVENT,function e(t){t.message.cmd===o&&(ni.off(ni.SERVICE_MSG_RECEIVED_EVENT,e),n(t.message))}),ni.sendServiceMsg(e,t)})},bi.KEY_MAPS=a,bi.NODE_TYPE_DESCRIPTIONS={1:"element",2:"attribute",3:"text",4:"cdata section",5:"entity reference",6:"entity node",7:"processing instruction",8:"comment",9:"document",10:"document type",11:"document fragment",12:"notation"},bi.browser=vi,bi.selectorTextFilter=function o(e,r,i,a){function t(e){for(var t=e.childNodes.length,n=0;n<t;n++)if(o(e.childNodes[n],r,i,a))return!0;return!1}function n(e){return a instanceof RegExp?a.test(e):a===e.trim()}if(1===e.nodeType)return n(e.innerText||e.textContent);if(9!==e.nodeType)return 11===e.nodeType?t(e):n(e.textContent);var s=e.querySelector("head"),l=e.querySelector("body");return t(s)||t(l)},bi.selectorAttributeFilter=function(e,t,n,o,r){if(1!==e.nodeType)return!1;function i(e,t){return"string"==typeof t?t===e:t.test(e)}for(var a,s=e.attributes,l=0;l<s.length;l++)if(i((a=s[l]).nodeName,o)&&(!r||i(a.nodeValue,r)))return!0;return!1};var Ei=f.nativeMethods,yi=f.EVENTS.evalIframeScript;Ei.objectDefineProperty(Si,"%testCafeCore%",{configurable:!0,value:bi}),f.on(yi,function(e){return wi(Ei.contentWindowGetter.call(e.iframe),!0)})}(Si["%hammerhead%"],Si["%hammerhead%"].Promise)}(window);