psychopy 2025.2.4__py3-none-any.whl

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 (3127) hide show
  1. psychopy/CHANGELOG.txt +3981 -0
  2. psychopy/GIT_SHA +1 -0
  3. psychopy/LICENSE.txt +11 -0
  4. psychopy/LICENSES.txt +55 -0
  5. psychopy/VERSION +1 -0
  6. psychopy/__init__.py +148 -0
  7. psychopy/alerts/__init__.py +65 -0
  8. psychopy/alerts/_alerts.py +224 -0
  9. psychopy/alerts/_errorHandler.py +50 -0
  10. psychopy/alerts/alertsCatalogue/1000.yaml +0 -0
  11. psychopy/alerts/alertsCatalogue/1100.yaml +0 -0
  12. psychopy/alerts/alertsCatalogue/1500.yaml +0 -0
  13. psychopy/alerts/alertsCatalogue/2000.yaml +0 -0
  14. psychopy/alerts/alertsCatalogue/2100.yaml +0 -0
  15. psychopy/alerts/alertsCatalogue/2110.yaml +0 -0
  16. psychopy/alerts/alertsCatalogue/2115.yaml +21 -0
  17. psychopy/alerts/alertsCatalogue/2120.yaml +22 -0
  18. psychopy/alerts/alertsCatalogue/2150.yaml +0 -0
  19. psychopy/alerts/alertsCatalogue/2155.yaml +21 -0
  20. psychopy/alerts/alertsCatalogue/2300.yaml +0 -0
  21. psychopy/alerts/alertsCatalogue/2500.yaml +0 -0
  22. psychopy/alerts/alertsCatalogue/3000.yaml +0 -0
  23. psychopy/alerts/alertsCatalogue/3100.yaml +0 -0
  24. psychopy/alerts/alertsCatalogue/3110.yaml +25 -0
  25. psychopy/alerts/alertsCatalogue/3115.yaml +24 -0
  26. psychopy/alerts/alertsCatalogue/3200.yaml +0 -0
  27. psychopy/alerts/alertsCatalogue/3210.yaml +27 -0
  28. psychopy/alerts/alertsCatalogue/3400.yaml +0 -0
  29. psychopy/alerts/alertsCatalogue/3600.yaml +0 -0
  30. psychopy/alerts/alertsCatalogue/3610.yaml +19 -0
  31. psychopy/alerts/alertsCatalogue/4000.yaml +0 -0
  32. psychopy/alerts/alertsCatalogue/4051.yaml +19 -0
  33. psychopy/alerts/alertsCatalogue/4052.yaml +19 -0
  34. psychopy/alerts/alertsCatalogue/4100.yaml +0 -0
  35. psychopy/alerts/alertsCatalogue/4105.yaml +18 -0
  36. psychopy/alerts/alertsCatalogue/4115.yaml +21 -0
  37. psychopy/alerts/alertsCatalogue/4120.yaml +19 -0
  38. psychopy/alerts/alertsCatalogue/4125.yaml +23 -0
  39. psychopy/alerts/alertsCatalogue/4130.yaml +19 -0
  40. psychopy/alerts/alertsCatalogue/4160.yaml +25 -0
  41. psychopy/alerts/alertsCatalogue/4200.yaml +0 -0
  42. psychopy/alerts/alertsCatalogue/4205.yaml +19 -0
  43. psychopy/alerts/alertsCatalogue/4210.yaml +19 -0
  44. psychopy/alerts/alertsCatalogue/4305.yaml +21 -0
  45. psychopy/alerts/alertsCatalogue/4310.yaml +21 -0
  46. psychopy/alerts/alertsCatalogue/4315.yaml +21 -0
  47. psychopy/alerts/alertsCatalogue/4320.yaml +19 -0
  48. psychopy/alerts/alertsCatalogue/4325.yaml +23 -0
  49. psychopy/alerts/alertsCatalogue/4330.yaml +19 -0
  50. psychopy/alerts/alertsCatalogue/4335.yaml +19 -0
  51. psychopy/alerts/alertsCatalogue/4340.yaml +19 -0
  52. psychopy/alerts/alertsCatalogue/4405.yaml +24 -0
  53. psychopy/alerts/alertsCatalogue/4505.yaml +22 -0
  54. psychopy/alerts/alertsCatalogue/4510.yaml +25 -0
  55. psychopy/alerts/alertsCatalogue/4520.yaml +26 -0
  56. psychopy/alerts/alertsCatalogue/4530.yaml +23 -0
  57. psychopy/alerts/alertsCatalogue/4540.yaml +19 -0
  58. psychopy/alerts/alertsCatalogue/4545.yaml +22 -0
  59. psychopy/alerts/alertsCatalogue/4550.yaml +19 -0
  60. psychopy/alerts/alertsCatalogue/4605.yaml +22 -0
  61. psychopy/alerts/alertsCatalogue/4610.yaml +22 -0
  62. psychopy/alerts/alertsCatalogue/4615.yaml +19 -0
  63. psychopy/alerts/alertsCatalogue/4705.yaml +19 -0
  64. psychopy/alerts/alertsCatalogue/4710.yaml +19 -0
  65. psychopy/alerts/alertsCatalogue/4810.yaml +19 -0
  66. psychopy/alerts/alertsCatalogue/5000.yaml +0 -0
  67. psychopy/alerts/alertsCatalogue/5055.yaml +25 -0
  68. psychopy/alerts/alertsCatalogue/6000.yaml +0 -0
  69. psychopy/alerts/alertsCatalogue/6105.yaml +18 -0
  70. psychopy/alerts/alertsCatalogue/7105.yaml +19 -0
  71. psychopy/alerts/alertsCatalogue/8105.yaml +21 -0
  72. psychopy/alerts/alertsCatalogue/8110.yaml +21 -0
  73. psychopy/alerts/alertsCatalogue/9998.yaml +19 -0
  74. psychopy/alerts/alertsCatalogue/9999.yaml +19 -0
  75. psychopy/alerts/alertsCatalogue/alertCategories.yaml +123 -0
  76. psychopy/alerts/alertsCatalogue/alertTemplate.yaml +19 -0
  77. psychopy/alerts/alertsCatalogue/alertmsg.py +173 -0
  78. psychopy/alerts/alertsCatalogue/generateAlertmsg.py +34 -0
  79. psychopy/alerts/alerttools.py +322 -0
  80. psychopy/app/Resources/README.md +12 -0
  81. psychopy/app/Resources/__init__.py +0 -0
  82. psychopy/app/Resources/betasplash.png +0 -0
  83. psychopy/app/Resources/betasplash@2x.png +0 -0
  84. psychopy/app/Resources/builder.ico +0 -0
  85. psychopy/app/Resources/classic/FlowBottom_CompLeft.png +0 -0
  86. psychopy/app/Resources/classic/FlowBottom_CompRight.png +0 -0
  87. psychopy/app/Resources/classic/FlowTop_CompLeft.png +0 -0
  88. psychopy/app/Resources/classic/FlowTop_CompRight.png +0 -0
  89. psychopy/app/Resources/classic/README.txt +9 -0
  90. psychopy/app/Resources/classic/__init__.py +0 -0
  91. psychopy/app/Resources/classic/_layouts.ai +1138 -1
  92. psychopy/app/Resources/classic/add.png +0 -0
  93. psychopy/app/Resources/classic/add@2x.png +0 -0
  94. psychopy/app/Resources/classic/addExp32.png +0 -0
  95. psychopy/app/Resources/classic/add_many.png +0 -0
  96. psychopy/app/Resources/classic/add_many@2x.png +0 -0
  97. psychopy/app/Resources/classic/alerts.png +0 -0
  98. psychopy/app/Resources/classic/beta.png +0 -0
  99. psychopy/app/Resources/classic/browser.png +0 -0
  100. psychopy/app/Resources/classic/browser@2x.png +0 -0
  101. psychopy/app/Resources/classic/bug16.png +0 -0
  102. psychopy/app/Resources/classic/case.png +0 -0
  103. psychopy/app/Resources/classic/case@2x.png +0 -0
  104. psychopy/app/Resources/classic/circle_mask.png +0 -0
  105. psychopy/app/Resources/classic/circle_mask@2x.png +0 -0
  106. psychopy/app/Resources/classic/clear.png +0 -0
  107. psychopy/app/Resources/classic/clear@2x.png +0 -0
  108. psychopy/app/Resources/classic/coderclass16.png +0 -0
  109. psychopy/app/Resources/classic/coderfunc16.png +0 -0
  110. psychopy/app/Resources/classic/coderimport16.png +0 -0
  111. psychopy/app/Resources/classic/coderjs16.png +0 -0
  112. psychopy/app/Resources/classic/coderpython16.png +0 -0
  113. psychopy/app/Resources/classic/codervar16.png +0 -0
  114. psychopy/app/Resources/classic/cogwindow32.png +0 -0
  115. psychopy/app/Resources/classic/color32.png +0 -0
  116. psychopy/app/Resources/classic/compile32.png +0 -0
  117. psychopy/app/Resources/classic/compile_js.png +0 -0
  118. psychopy/app/Resources/classic/compile_js@2x.png +0 -0
  119. psychopy/app/Resources/classic/compile_py.png +0 -0
  120. psychopy/app/Resources/classic/compile_py@2x.png +0 -0
  121. psychopy/app/Resources/classic/copy16.png +0 -0
  122. psychopy/app/Resources/classic/currentFile.png +0 -0
  123. psychopy/app/Resources/classic/currentFile@2x.png +0 -0
  124. psychopy/app/Resources/classic/delete16.png +0 -0
  125. psychopy/app/Resources/classic/desktop.png +0 -0
  126. psychopy/app/Resources/classic/desktop@2x.png +0 -0
  127. psychopy/app/Resources/classic/devices.png +0 -0
  128. psychopy/app/Resources/classic/devices@2x.png +0 -0
  129. psychopy/app/Resources/classic/dirup16.png +0 -0
  130. psychopy/app/Resources/classic/docclose16.png +0 -0
  131. psychopy/app/Resources/classic/download.png +0 -0
  132. psychopy/app/Resources/classic/edit.png +0 -0
  133. psychopy/app/Resources/classic/edit@2x.png +0 -0
  134. psychopy/app/Resources/classic/editbtn.png +0 -0
  135. psychopy/app/Resources/classic/editbtn16.png +0 -0
  136. psychopy/app/Resources/classic/editbtn16@2x.png +0 -0
  137. psychopy/app/Resources/classic/editbtn@2x.png +0 -0
  138. psychopy/app/Resources/classic/email.png +0 -0
  139. psychopy/app/Resources/classic/email@2x.png +0 -0
  140. psychopy/app/Resources/classic/experiment.png +0 -0
  141. psychopy/app/Resources/classic/experiment@2x.png +0 -0
  142. psychopy/app/Resources/classic/expsettings.png +0 -0
  143. psychopy/app/Resources/classic/expsettings@2x.png +0 -0
  144. psychopy/app/Resources/classic/file.png +0 -0
  145. psychopy/app/Resources/classic/file@2x.png +0 -0
  146. psychopy/app/Resources/classic/fileaudio.png +0 -0
  147. psychopy/app/Resources/classic/fileaudio@2x.png +0 -0
  148. psychopy/app/Resources/classic/filecss.png +0 -0
  149. psychopy/app/Resources/classic/filecss@2x.png +0 -0
  150. psychopy/app/Resources/classic/filecsv.png +0 -0
  151. psychopy/app/Resources/classic/filecsv@2x.png +0 -0
  152. psychopy/app/Resources/classic/filedesign.png +0 -0
  153. psychopy/app/Resources/classic/filedesign@2x.png +0 -0
  154. psychopy/app/Resources/classic/filefont.png +0 -0
  155. psychopy/app/Resources/classic/filefont@2x.png +0 -0
  156. psychopy/app/Resources/classic/filegit.png +0 -0
  157. psychopy/app/Resources/classic/filegit@2x.png +0 -0
  158. psychopy/app/Resources/classic/filehtml.png +0 -0
  159. psychopy/app/Resources/classic/filehtml@2x.png +0 -0
  160. psychopy/app/Resources/classic/fileimage.png +0 -0
  161. psychopy/app/Resources/classic/fileimage@2x.png +0 -0
  162. psychopy/app/Resources/classic/fileinfo.png +0 -0
  163. psychopy/app/Resources/classic/fileinfo@2x.png +0 -0
  164. psychopy/app/Resources/classic/filejs.png +0 -0
  165. psychopy/app/Resources/classic/filejs@2x.png +0 -0
  166. psychopy/app/Resources/classic/filejson.png +0 -0
  167. psychopy/app/Resources/classic/filejson@2x.png +0 -0
  168. psychopy/app/Resources/classic/filenew.png +0 -0
  169. psychopy/app/Resources/classic/filenew32.png +0 -0
  170. psychopy/app/Resources/classic/filenew@2x.png +0 -0
  171. psychopy/app/Resources/classic/fileopen.png +0 -0
  172. psychopy/app/Resources/classic/fileopen32.png +0 -0
  173. psychopy/app/Resources/classic/fileopen@2x.png +0 -0
  174. psychopy/app/Resources/classic/filepkg.png +0 -0
  175. psychopy/app/Resources/classic/filepkg@2x.png +0 -0
  176. psychopy/app/Resources/classic/filepsyexp.png +0 -0
  177. psychopy/app/Resources/classic/filepsyexp@2x.png +0 -0
  178. psychopy/app/Resources/classic/filepy.png +0 -0
  179. psychopy/app/Resources/classic/filepy@2x.png +0 -0
  180. psychopy/app/Resources/classic/filesave.png +0 -0
  181. psychopy/app/Resources/classic/filesave32.png +0 -0
  182. psychopy/app/Resources/classic/filesave@2x.png +0 -0
  183. psychopy/app/Resources/classic/filesaveas.png +0 -0
  184. psychopy/app/Resources/classic/filesaveas32.png +0 -0
  185. psychopy/app/Resources/classic/filesaveas@2x.png +0 -0
  186. psychopy/app/Resources/classic/filetxt.png +0 -0
  187. psychopy/app/Resources/classic/filetxt@2x.png +0 -0
  188. psychopy/app/Resources/classic/fileunknown.png +0 -0
  189. psychopy/app/Resources/classic/fileunknown@2x.png +0 -0
  190. psychopy/app/Resources/classic/filevideo.png +0 -0
  191. psychopy/app/Resources/classic/filevideo@2x.png +0 -0
  192. psychopy/app/Resources/classic/filter.png +0 -0
  193. psychopy/app/Resources/classic/filter@2x.png +0 -0
  194. psychopy/app/Resources/classic/find.png +0 -0
  195. psychopy/app/Resources/classic/find@2x.png +0 -0
  196. psychopy/app/Resources/classic/folder-open16.png +0 -0
  197. psychopy/app/Resources/classic/folder16.png +0 -0
  198. psychopy/app/Resources/classic/foldernew16.png +0 -0
  199. psychopy/app/Resources/classic/fork.png +0 -0
  200. psychopy/app/Resources/classic/fork@2x.png +0 -0
  201. psychopy/app/Resources/classic/github.png +0 -0
  202. psychopy/app/Resources/classic/github@2x.png +0 -0
  203. psychopy/app/Resources/classic/globe.png +0 -0
  204. psychopy/app/Resources/classic/globe@2x.png +0 -0
  205. psychopy/app/Resources/classic/globe_bug.png +0 -0
  206. psychopy/app/Resources/classic/globe_bug@2x.png +0 -0
  207. psychopy/app/Resources/classic/globe_greensync.png +0 -0
  208. psychopy/app/Resources/classic/globe_greensync@2x.png +0 -0
  209. psychopy/app/Resources/classic/globe_info.png +0 -0
  210. psychopy/app/Resources/classic/globe_info@2x.png +0 -0
  211. psychopy/app/Resources/classic/globe_magnifier.png +0 -0
  212. psychopy/app/Resources/classic/globe_magnifier@2x.png +0 -0
  213. psychopy/app/Resources/classic/globe_run.png +0 -0
  214. psychopy/app/Resources/classic/globe_run@2x.png +0 -0
  215. psychopy/app/Resources/classic/globe_user.png +0 -0
  216. psychopy/app/Resources/classic/globe_user@2x.png +0 -0
  217. psychopy/app/Resources/classic/goto16.png +0 -0
  218. psychopy/app/Resources/classic/greendot.png +0 -0
  219. psychopy/app/Resources/classic/greendot@2x.png +0 -0
  220. psychopy/app/Resources/classic/greenglobe.png +0 -0
  221. psychopy/app/Resources/classic/greenglobe@2x.png +0 -0
  222. psychopy/app/Resources/classic/greenglobe_bug.png +0 -0
  223. psychopy/app/Resources/classic/greenglobe_bug@2x.png +0 -0
  224. psychopy/app/Resources/classic/greenglobe_greensync.png +0 -0
  225. psychopy/app/Resources/classic/greenglobe_greensync@2x.png +0 -0
  226. psychopy/app/Resources/classic/greenglobe_info.png +0 -0
  227. psychopy/app/Resources/classic/greenglobe_info@2x.png +0 -0
  228. psychopy/app/Resources/classic/greenglobe_magnifier.png +0 -0
  229. psychopy/app/Resources/classic/greenglobe_magnifier@2x.png +0 -0
  230. psychopy/app/Resources/classic/greenglobe_run.png +0 -0
  231. psychopy/app/Resources/classic/greenglobe_run@2x.png +0 -0
  232. psychopy/app/Resources/classic/greenglobe_user.png +0 -0
  233. psychopy/app/Resources/classic/greenglobe_user@2x.png +0 -0
  234. psychopy/app/Resources/classic/greydot.png +0 -0
  235. psychopy/app/Resources/classic/greydot@2x.png +0 -0
  236. psychopy/app/Resources/classic/greytick.png +0 -0
  237. psychopy/app/Resources/classic/greytick@2x.png +0 -0
  238. psychopy/app/Resources/classic/invalid_img.png +0 -0
  239. psychopy/app/Resources/classic/jsPilot.png +0 -0
  240. psychopy/app/Resources/classic/jsPilot@2x.png +0 -0
  241. psychopy/app/Resources/classic/jsRun.png +0 -0
  242. psychopy/app/Resources/classic/jsRun@2x.png +0 -0
  243. psychopy/app/Resources/classic/libroot.png +0 -0
  244. psychopy/app/Resources/classic/libroot@2x.png +0 -0
  245. psychopy/app/Resources/classic/loop.png +0 -0
  246. psychopy/app/Resources/classic/loop@2x.png +0 -0
  247. psychopy/app/Resources/classic/monitor16.png +0 -0
  248. psychopy/app/Resources/classic/monitors.png +0 -0
  249. psychopy/app/Resources/classic/monitors16.png +0 -0
  250. psychopy/app/Resources/classic/monitors32.png +0 -0
  251. psychopy/app/Resources/classic/monitors@2x.png +0 -0
  252. psychopy/app/Resources/classic/orangedot.png +0 -0
  253. psychopy/app/Resources/classic/orangedot@2x.png +0 -0
  254. psychopy/app/Resources/classic/pavlovia.png +0 -0
  255. psychopy/app/Resources/classic/pavlovia16.png +0 -0
  256. psychopy/app/Resources/classic/pavlovia16@2x.png +0 -0
  257. psychopy/app/Resources/classic/pavlovia@2x.png +0 -0
  258. psychopy/app/Resources/classic/pavsync.png +0 -0
  259. psychopy/app/Resources/classic/pavsync@2x.png +0 -0
  260. psychopy/app/Resources/classic/person_off.png +0 -0
  261. psychopy/app/Resources/classic/person_off@2x.png +0 -0
  262. psychopy/app/Resources/classic/person_on.png +0 -0
  263. psychopy/app/Resources/classic/person_on@2x.png +0 -0
  264. psychopy/app/Resources/classic/photometer.png +0 -0
  265. psychopy/app/Resources/classic/photometer@2x.png +0 -0
  266. psychopy/app/Resources/classic/plugin16.png +0 -0
  267. psychopy/app/Resources/classic/plugin16@2x.png +0 -0
  268. psychopy/app/Resources/classic/plugins32.png +0 -0
  269. psychopy/app/Resources/classic/plus.png +0 -0
  270. psychopy/app/Resources/classic/plus@2x.png +0 -0
  271. psychopy/app/Resources/classic/preferences-app.png +0 -0
  272. psychopy/app/Resources/classic/preferences-app48.png +0 -0
  273. psychopy/app/Resources/classic/preferences-app@2x.png +0 -0
  274. psychopy/app/Resources/classic/preferences-conn.png +0 -0
  275. psychopy/app/Resources/classic/preferences-conn48.png +0 -0
  276. psychopy/app/Resources/classic/preferences-conn@2x.png +0 -0
  277. psychopy/app/Resources/classic/preferences-debug.png +0 -0
  278. psychopy/app/Resources/classic/preferences-debug@2x.png +0 -0
  279. psychopy/app/Resources/classic/preferences-general.png +0 -0
  280. psychopy/app/Resources/classic/preferences-general48.png +0 -0
  281. psychopy/app/Resources/classic/preferences-general@2x.png +0 -0
  282. psychopy/app/Resources/classic/preferences-hardware.png +0 -0
  283. psychopy/app/Resources/classic/preferences-hardware48.png +0 -0
  284. psychopy/app/Resources/classic/preferences-hardware@2x.png +0 -0
  285. psychopy/app/Resources/classic/preferences-keyboard.png +0 -0
  286. psychopy/app/Resources/classic/preferences-keyboard48.png +0 -0
  287. psychopy/app/Resources/classic/preferences-keyboard@2x.png +0 -0
  288. psychopy/app/Resources/classic/preferences-pilot.png +0 -0
  289. psychopy/app/Resources/classic/preferences-pilot@2x.png +0 -0
  290. psychopy/app/Resources/classic/preferences32.png +0 -0
  291. psychopy/app/Resources/classic/pyPilot.png +0 -0
  292. psychopy/app/Resources/classic/pyPilot@2x.png +0 -0
  293. psychopy/app/Resources/classic/pyRun.png +0 -0
  294. psychopy/app/Resources/classic/pyRun@2x.png +0 -0
  295. psychopy/app/Resources/classic/reddot.png +0 -0
  296. psychopy/app/Resources/classic/reddot@2x.png +0 -0
  297. psychopy/app/Resources/classic/redglobe.png +0 -0
  298. psychopy/app/Resources/classic/redglobe@2x.png +0 -0
  299. psychopy/app/Resources/classic/redglobe_bug.png +0 -0
  300. psychopy/app/Resources/classic/redglobe_bug@2x.png +0 -0
  301. psychopy/app/Resources/classic/redglobe_greensync.png +0 -0
  302. psychopy/app/Resources/classic/redglobe_greensync@2x.png +0 -0
  303. psychopy/app/Resources/classic/redglobe_info.png +0 -0
  304. psychopy/app/Resources/classic/redglobe_info@2x.png +0 -0
  305. psychopy/app/Resources/classic/redglobe_magnifier.png +0 -0
  306. psychopy/app/Resources/classic/redglobe_magnifier@2x.png +0 -0
  307. psychopy/app/Resources/classic/redglobe_run.png +0 -0
  308. psychopy/app/Resources/classic/redglobe_run@2x.png +0 -0
  309. psychopy/app/Resources/classic/redglobe_user.png +0 -0
  310. psychopy/app/Resources/classic/redglobe_user@2x.png +0 -0
  311. psychopy/app/Resources/classic/redo.png +0 -0
  312. psychopy/app/Resources/classic/redo32.png +0 -0
  313. psychopy/app/Resources/classic/redo@2x.png +0 -0
  314. psychopy/app/Resources/classic/regex.png +0 -0
  315. psychopy/app/Resources/classic/regex@2x.png +0 -0
  316. psychopy/app/Resources/classic/removeExp32.png +0 -0
  317. psychopy/app/Resources/classic/rename16.png +0 -0
  318. psychopy/app/Resources/classic/restart.png +0 -0
  319. psychopy/app/Resources/classic/restart@2x.png +0 -0
  320. psychopy/app/Resources/classic/run.png +0 -0
  321. psychopy/app/Resources/classic/run@2x.png +0 -0
  322. psychopy/app/Resources/classic/runner.png +0 -0
  323. psychopy/app/Resources/classic/runner@2x.png +0 -0
  324. psychopy/app/Resources/classic/runnerPilot.png +0 -0
  325. psychopy/app/Resources/classic/runnerPilot@2x.png +0 -0
  326. psychopy/app/Resources/classic/savebtn.png +0 -0
  327. psychopy/app/Resources/classic/savebtn16.png +0 -0
  328. psychopy/app/Resources/classic/savebtn16@2x.png +0 -0
  329. psychopy/app/Resources/classic/savebtn@2x.png +0 -0
  330. psychopy/app/Resources/classic/search.png +0 -0
  331. psychopy/app/Resources/classic/search@2x.png +0 -0
  332. psychopy/app/Resources/classic/showBuilder.png +0 -0
  333. psychopy/app/Resources/classic/showBuilder@2x.png +0 -0
  334. psychopy/app/Resources/classic/showCoder.png +0 -0
  335. psychopy/app/Resources/classic/showCoder@2x.png +0 -0
  336. psychopy/app/Resources/classic/showRunner.png +0 -0
  337. psychopy/app/Resources/classic/showRunner@2x.png +0 -0
  338. psychopy/app/Resources/classic/starred.png +0 -0
  339. psychopy/app/Resources/classic/starred@2x.png +0 -0
  340. psychopy/app/Resources/classic/start.png +0 -0
  341. psychopy/app/Resources/classic/start@2x.png +0 -0
  342. psychopy/app/Resources/classic/stdout.png +0 -0
  343. psychopy/app/Resources/classic/stop.png +0 -0
  344. psychopy/app/Resources/classic/stop32.png +0 -0
  345. psychopy/app/Resources/classic/stop@2x.png +0 -0
  346. psychopy/app/Resources/classic/switchCtrlBot.png +0 -0
  347. psychopy/app/Resources/classic/switchCtrlBot@2x.png +0 -0
  348. psychopy/app/Resources/classic/switchCtrlLeft.png +0 -0
  349. psychopy/app/Resources/classic/switchCtrlLeft@2x.png +0 -0
  350. psychopy/app/Resources/classic/switchCtrlRight.png +0 -0
  351. psychopy/app/Resources/classic/switchCtrlRight@2x.png +0 -0
  352. psychopy/app/Resources/classic/switchCtrlTop.png +0 -0
  353. psychopy/app/Resources/classic/switchCtrlTop@2x.png +0 -0
  354. psychopy/app/Resources/classic/tick.png +0 -0
  355. psychopy/app/Resources/classic/tick@2x.png +0 -0
  356. psychopy/app/Resources/classic/undo.png +0 -0
  357. psychopy/app/Resources/classic/undo32.png +0 -0
  358. psychopy/app/Resources/classic/undo@2x.png +0 -0
  359. psychopy/app/Resources/classic/unstarred.png +0 -0
  360. psychopy/app/Resources/classic/unstarred@2x.png +0 -0
  361. psychopy/app/Resources/classic/user_none.png +0 -0
  362. psychopy/app/Resources/classic/view-refresh16.png +0 -0
  363. psychopy/app/Resources/classic/viewbtn.png +0 -0
  364. psychopy/app/Resources/classic/viewbtn16.png +0 -0
  365. psychopy/app/Resources/classic/viewbtn16@2x.png +0 -0
  366. psychopy/app/Resources/classic/viewbtn@2x.png +0 -0
  367. psychopy/app/Resources/classic/windows16.png +0 -0
  368. psychopy/app/Resources/classic/windows16@2x.png +0 -0
  369. psychopy/app/Resources/coder.ico +0 -0
  370. psychopy/app/Resources/dark/FlowBottom_CompLeft.png +0 -0
  371. psychopy/app/Resources/dark/FlowBottom_CompRight.png +0 -0
  372. psychopy/app/Resources/dark/FlowTop_CompLeft.png +0 -0
  373. psychopy/app/Resources/dark/FlowTop_CompRight.png +0 -0
  374. psychopy/app/Resources/dark/README.txt +3 -0
  375. psychopy/app/Resources/dark/__init__.py +0 -0
  376. psychopy/app/Resources/dark/add.png +0 -0
  377. psychopy/app/Resources/dark/add@2x.png +0 -0
  378. psychopy/app/Resources/dark/addExp32.png +0 -0
  379. psychopy/app/Resources/dark/addExp32@2x.png +0 -0
  380. psychopy/app/Resources/dark/add_many.png +0 -0
  381. psychopy/app/Resources/dark/add_many@2x.png +0 -0
  382. psychopy/app/Resources/dark/alerts.png +0 -0
  383. psychopy/app/Resources/dark/alerts@2x.png +0 -0
  384. psychopy/app/Resources/dark/beta.png +0 -0
  385. psychopy/app/Resources/dark/beta@2x.png +0 -0
  386. psychopy/app/Resources/dark/browser.png +0 -0
  387. psychopy/app/Resources/dark/browser@2x.png +0 -0
  388. psychopy/app/Resources/dark/bug16.png +0 -0
  389. psychopy/app/Resources/dark/bug16@2x.png +0 -0
  390. psychopy/app/Resources/dark/case.png +0 -0
  391. psychopy/app/Resources/dark/case@2x.png +0 -0
  392. psychopy/app/Resources/dark/circle_mask.png +0 -0
  393. psychopy/app/Resources/dark/circle_mask@2x.png +0 -0
  394. psychopy/app/Resources/dark/clear.png +0 -0
  395. psychopy/app/Resources/dark/clear@2x.png +0 -0
  396. psychopy/app/Resources/dark/coderclass16.png +0 -0
  397. psychopy/app/Resources/dark/coderclass16@2x.png +0 -0
  398. psychopy/app/Resources/dark/coderfunc16.png +0 -0
  399. psychopy/app/Resources/dark/coderfunc16@2x.png +0 -0
  400. psychopy/app/Resources/dark/coderimport16.png +0 -0
  401. psychopy/app/Resources/dark/coderimport16@2x.png +0 -0
  402. psychopy/app/Resources/dark/coderjs.png +0 -0
  403. psychopy/app/Resources/dark/coderjs@2x.png +0 -0
  404. psychopy/app/Resources/dark/coderpython.png +0 -0
  405. psychopy/app/Resources/dark/coderpython@2x.png +0 -0
  406. psychopy/app/Resources/dark/codervar16.png +0 -0
  407. psychopy/app/Resources/dark/codervar16@2x.png +0 -0
  408. psychopy/app/Resources/dark/cogwindow32.png +0 -0
  409. psychopy/app/Resources/dark/cogwindow32@2x.png +0 -0
  410. psychopy/app/Resources/dark/color32.png +0 -0
  411. psychopy/app/Resources/dark/color32@2x.png +0 -0
  412. psychopy/app/Resources/dark/compile_js.png +0 -0
  413. psychopy/app/Resources/dark/compile_js@2x.png +0 -0
  414. psychopy/app/Resources/dark/compile_py.png +0 -0
  415. psychopy/app/Resources/dark/compile_py@2x.png +0 -0
  416. psychopy/app/Resources/dark/copy16.png +0 -0
  417. psychopy/app/Resources/dark/copy16@2x.png +0 -0
  418. psychopy/app/Resources/dark/currentFile16.png +0 -0
  419. psychopy/app/Resources/dark/currentFile16@2x.png +0 -0
  420. psychopy/app/Resources/dark/delete16.png +0 -0
  421. psychopy/app/Resources/dark/delete16@2x.png +0 -0
  422. psychopy/app/Resources/dark/desktop.png +0 -0
  423. psychopy/app/Resources/dark/desktop@2x.png +0 -0
  424. psychopy/app/Resources/dark/devices.png +0 -0
  425. psychopy/app/Resources/dark/devices@2x.png +0 -0
  426. psychopy/app/Resources/dark/dirup16.png +0 -0
  427. psychopy/app/Resources/dark/dirup16@2x.png +0 -0
  428. psychopy/app/Resources/dark/docclose16.png +0 -0
  429. psychopy/app/Resources/dark/docclose16@2x.png +0 -0
  430. psychopy/app/Resources/dark/download.png +0 -0
  431. psychopy/app/Resources/dark/download@2x.png +0 -0
  432. psychopy/app/Resources/dark/edit.png +0 -0
  433. psychopy/app/Resources/dark/edit@2x.png +0 -0
  434. psychopy/app/Resources/dark/editbtn16.png +0 -0
  435. psychopy/app/Resources/dark/editbtn16@2x.png +0 -0
  436. psychopy/app/Resources/dark/email.png +0 -0
  437. psychopy/app/Resources/dark/email@2x.png +0 -0
  438. psychopy/app/Resources/dark/experiment.png +0 -0
  439. psychopy/app/Resources/dark/experiment@2x.png +0 -0
  440. psychopy/app/Resources/dark/expsettings.png +0 -0
  441. psychopy/app/Resources/dark/expsettings@2x.png +0 -0
  442. psychopy/app/Resources/dark/file.png +0 -0
  443. psychopy/app/Resources/dark/file@16w.png +0 -0
  444. psychopy/app/Resources/dark/file@16w@2x.png +0 -0
  445. psychopy/app/Resources/dark/file@2x.png +0 -0
  446. psychopy/app/Resources/dark/fileaudio.png +0 -0
  447. psychopy/app/Resources/dark/fileaudio@2x.png +0 -0
  448. psychopy/app/Resources/dark/filecss.png +0 -0
  449. psychopy/app/Resources/dark/filecss@2x.png +0 -0
  450. psychopy/app/Resources/dark/filecsv.png +0 -0
  451. psychopy/app/Resources/dark/filecsv@2x.png +0 -0
  452. psychopy/app/Resources/dark/filedesign.png +0 -0
  453. psychopy/app/Resources/dark/filedesign@2x.png +0 -0
  454. psychopy/app/Resources/dark/filefont.png +0 -0
  455. psychopy/app/Resources/dark/filefont@2x.png +0 -0
  456. psychopy/app/Resources/dark/filegit.png +0 -0
  457. psychopy/app/Resources/dark/filegit@2x.png +0 -0
  458. psychopy/app/Resources/dark/filehtml.png +0 -0
  459. psychopy/app/Resources/dark/filehtml@2x.png +0 -0
  460. psychopy/app/Resources/dark/fileimage.png +0 -0
  461. psychopy/app/Resources/dark/fileimage@2x.png +0 -0
  462. psychopy/app/Resources/dark/fileinfo.png +0 -0
  463. psychopy/app/Resources/dark/fileinfo@2x.png +0 -0
  464. psychopy/app/Resources/dark/filejs.png +0 -0
  465. psychopy/app/Resources/dark/filejs@2x.png +0 -0
  466. psychopy/app/Resources/dark/filejson.png +0 -0
  467. psychopy/app/Resources/dark/filejson@2x.png +0 -0
  468. psychopy/app/Resources/dark/filenew.png +0 -0
  469. psychopy/app/Resources/dark/filenew32.png +0 -0
  470. psychopy/app/Resources/dark/filenew32@2x.png +0 -0
  471. psychopy/app/Resources/dark/filenew@2x.png +0 -0
  472. psychopy/app/Resources/dark/fileopen.png +0 -0
  473. psychopy/app/Resources/dark/fileopen32.png +0 -0
  474. psychopy/app/Resources/dark/fileopen32@2x.png +0 -0
  475. psychopy/app/Resources/dark/fileopen@2x.png +0 -0
  476. psychopy/app/Resources/dark/filepkg.png +0 -0
  477. psychopy/app/Resources/dark/filepkg@2x.png +0 -0
  478. psychopy/app/Resources/dark/filepsyexp.png +0 -0
  479. psychopy/app/Resources/dark/filepsyexp@2x.png +0 -0
  480. psychopy/app/Resources/dark/filepy.png +0 -0
  481. psychopy/app/Resources/dark/filepy@2x.png +0 -0
  482. psychopy/app/Resources/dark/filesave.png +0 -0
  483. psychopy/app/Resources/dark/filesave32.png +0 -0
  484. psychopy/app/Resources/dark/filesave32@2x.png +0 -0
  485. psychopy/app/Resources/dark/filesave@2x.png +0 -0
  486. psychopy/app/Resources/dark/filesaveas.png +0 -0
  487. psychopy/app/Resources/dark/filesaveas32.png +0 -0
  488. psychopy/app/Resources/dark/filesaveas32@2x.png +0 -0
  489. psychopy/app/Resources/dark/filesaveas@2x.png +0 -0
  490. psychopy/app/Resources/dark/filetxt.png +0 -0
  491. psychopy/app/Resources/dark/filetxt@2x.png +0 -0
  492. psychopy/app/Resources/dark/fileunknown.png +0 -0
  493. psychopy/app/Resources/dark/fileunknown@2x.png +0 -0
  494. psychopy/app/Resources/dark/filevideo.png +0 -0
  495. psychopy/app/Resources/dark/filevideo@2x.png +0 -0
  496. psychopy/app/Resources/dark/filter.png +0 -0
  497. psychopy/app/Resources/dark/filter@2x.png +0 -0
  498. psychopy/app/Resources/dark/find.png +0 -0
  499. psychopy/app/Resources/dark/find@2x.png +0 -0
  500. psychopy/app/Resources/dark/folder-open16.png +0 -0
  501. psychopy/app/Resources/dark/folder-open16@2x.png +0 -0
  502. psychopy/app/Resources/dark/folder16.png +0 -0
  503. psychopy/app/Resources/dark/folder16@2x.png +0 -0
  504. psychopy/app/Resources/dark/foldernew16.png +0 -0
  505. psychopy/app/Resources/dark/foldernew16@2x.png +0 -0
  506. psychopy/app/Resources/dark/fork.png +0 -0
  507. psychopy/app/Resources/dark/fork@2x.png +0 -0
  508. psychopy/app/Resources/dark/github.png +0 -0
  509. psychopy/app/Resources/dark/github@2x.png +0 -0
  510. psychopy/app/Resources/dark/globe.png +0 -0
  511. psychopy/app/Resources/dark/globe@2x.png +0 -0
  512. psychopy/app/Resources/dark/globe_bug.png +0 -0
  513. psychopy/app/Resources/dark/globe_bug@2x.png +0 -0
  514. psychopy/app/Resources/dark/globe_greensync.png +0 -0
  515. psychopy/app/Resources/dark/globe_greensync@2x.png +0 -0
  516. psychopy/app/Resources/dark/globe_info.png +0 -0
  517. psychopy/app/Resources/dark/globe_info@2x.png +0 -0
  518. psychopy/app/Resources/dark/globe_magnifier.png +0 -0
  519. psychopy/app/Resources/dark/globe_magnifier@2x.png +0 -0
  520. psychopy/app/Resources/dark/globe_run.png +0 -0
  521. psychopy/app/Resources/dark/globe_run@2x.png +0 -0
  522. psychopy/app/Resources/dark/globe_user.png +0 -0
  523. psychopy/app/Resources/dark/globe_user@2x.png +0 -0
  524. psychopy/app/Resources/dark/goto.png +0 -0
  525. psychopy/app/Resources/dark/goto@2x.png +0 -0
  526. psychopy/app/Resources/dark/greendot.png +0 -0
  527. psychopy/app/Resources/dark/greendot@2x.png +0 -0
  528. psychopy/app/Resources/dark/greenglobe.png +0 -0
  529. psychopy/app/Resources/dark/greenglobe@2x.png +0 -0
  530. psychopy/app/Resources/dark/greenglobe_bug.png +0 -0
  531. psychopy/app/Resources/dark/greenglobe_bug@2x.png +0 -0
  532. psychopy/app/Resources/dark/greenglobe_greensync.png +0 -0
  533. psychopy/app/Resources/dark/greenglobe_greensync@2x.png +0 -0
  534. psychopy/app/Resources/dark/greenglobe_info.png +0 -0
  535. psychopy/app/Resources/dark/greenglobe_info@2x.png +0 -0
  536. psychopy/app/Resources/dark/greenglobe_magnifier.png +0 -0
  537. psychopy/app/Resources/dark/greenglobe_magnifier@2x.png +0 -0
  538. psychopy/app/Resources/dark/greenglobe_run.png +0 -0
  539. psychopy/app/Resources/dark/greenglobe_run@2x.png +0 -0
  540. psychopy/app/Resources/dark/greenglobe_user.png +0 -0
  541. psychopy/app/Resources/dark/greenglobe_user@2x.png +0 -0
  542. psychopy/app/Resources/dark/greydot.png +0 -0
  543. psychopy/app/Resources/dark/greydot@2x.png +0 -0
  544. psychopy/app/Resources/dark/greytick.png +0 -0
  545. psychopy/app/Resources/dark/greytick@2x.png +0 -0
  546. psychopy/app/Resources/dark/invalid_img.png +0 -0
  547. psychopy/app/Resources/dark/jsPilot.png +0 -0
  548. psychopy/app/Resources/dark/jsPilot@2x.png +0 -0
  549. psychopy/app/Resources/dark/jsRun.png +0 -0
  550. psychopy/app/Resources/dark/jsRun@2x.png +0 -0
  551. psychopy/app/Resources/dark/libroot16.png +0 -0
  552. psychopy/app/Resources/dark/libroot16@2x.png +0 -0
  553. psychopy/app/Resources/dark/loop.png +0 -0
  554. psychopy/app/Resources/dark/loop@2x.png +0 -0
  555. psychopy/app/Resources/dark/monitor16.png +0 -0
  556. psychopy/app/Resources/dark/monitor16@2x.png +0 -0
  557. psychopy/app/Resources/dark/monitors.png +0 -0
  558. psychopy/app/Resources/dark/monitors32.png +0 -0
  559. psychopy/app/Resources/dark/monitors32@2x.png +0 -0
  560. psychopy/app/Resources/dark/monitors@2x.png +0 -0
  561. psychopy/app/Resources/dark/orangedot.png +0 -0
  562. psychopy/app/Resources/dark/orangedot@2x.png +0 -0
  563. psychopy/app/Resources/dark/pavlovia.png +0 -0
  564. psychopy/app/Resources/dark/pavlovia16.png +0 -0
  565. psychopy/app/Resources/dark/pavlovia16@2x.png +0 -0
  566. psychopy/app/Resources/dark/pavlovia@2x.png +0 -0
  567. psychopy/app/Resources/dark/pavsync.png +0 -0
  568. psychopy/app/Resources/dark/pavsync@2x.png +0 -0
  569. psychopy/app/Resources/dark/person_off.png +0 -0
  570. psychopy/app/Resources/dark/person_off@2x.png +0 -0
  571. psychopy/app/Resources/dark/person_on.png +0 -0
  572. psychopy/app/Resources/dark/person_on@2x.png +0 -0
  573. psychopy/app/Resources/dark/photometer.png +0 -0
  574. psychopy/app/Resources/dark/photometer@2x.png +0 -0
  575. psychopy/app/Resources/dark/plugin16.png +0 -0
  576. psychopy/app/Resources/dark/plugin16@2x.png +0 -0
  577. psychopy/app/Resources/dark/plugins32.png +0 -0
  578. psychopy/app/Resources/dark/plugins32@2x.png +0 -0
  579. psychopy/app/Resources/dark/plus.png +0 -0
  580. psychopy/app/Resources/dark/plus@2x.png +0 -0
  581. psychopy/app/Resources/dark/preferences-app.png +0 -0
  582. psychopy/app/Resources/dark/preferences-app48.png +0 -0
  583. psychopy/app/Resources/dark/preferences-app48@2x.png +0 -0
  584. psychopy/app/Resources/dark/preferences-app@2x.png +0 -0
  585. psychopy/app/Resources/dark/preferences-conn.png +0 -0
  586. psychopy/app/Resources/dark/preferences-conn48.png +0 -0
  587. psychopy/app/Resources/dark/preferences-conn48@2x.png +0 -0
  588. psychopy/app/Resources/dark/preferences-conn@2x.png +0 -0
  589. psychopy/app/Resources/dark/preferences-debug.png +0 -0
  590. psychopy/app/Resources/dark/preferences-debug@2x.png +0 -0
  591. psychopy/app/Resources/dark/preferences-general.png +0 -0
  592. psychopy/app/Resources/dark/preferences-general48.png +0 -0
  593. psychopy/app/Resources/dark/preferences-general48@2x.png +0 -0
  594. psychopy/app/Resources/dark/preferences-general@2x.png +0 -0
  595. psychopy/app/Resources/dark/preferences-hardware.png +0 -0
  596. psychopy/app/Resources/dark/preferences-hardware48.png +0 -0
  597. psychopy/app/Resources/dark/preferences-hardware48@2x.png +0 -0
  598. psychopy/app/Resources/dark/preferences-hardware@2x.png +0 -0
  599. psychopy/app/Resources/dark/preferences-keyboard.png +0 -0
  600. psychopy/app/Resources/dark/preferences-keyboard48.png +0 -0
  601. psychopy/app/Resources/dark/preferences-keyboard48@2x.png +0 -0
  602. psychopy/app/Resources/dark/preferences-keyboard@2x.png +0 -0
  603. psychopy/app/Resources/dark/preferences-pilot.png +0 -0
  604. psychopy/app/Resources/dark/preferences-pilot@2x.png +0 -0
  605. psychopy/app/Resources/dark/preferences32.png +0 -0
  606. psychopy/app/Resources/dark/preferences32@2x.png +0 -0
  607. psychopy/app/Resources/dark/pyPilot.png +0 -0
  608. psychopy/app/Resources/dark/pyPilot@2x.png +0 -0
  609. psychopy/app/Resources/dark/pyRun.png +0 -0
  610. psychopy/app/Resources/dark/pyRun@2x.png +0 -0
  611. psychopy/app/Resources/dark/reddot.png +0 -0
  612. psychopy/app/Resources/dark/reddot@2x.png +0 -0
  613. psychopy/app/Resources/dark/redglobe.png +0 -0
  614. psychopy/app/Resources/dark/redglobe@2x.png +0 -0
  615. psychopy/app/Resources/dark/redglobe_bug.png +0 -0
  616. psychopy/app/Resources/dark/redglobe_bug@2x.png +0 -0
  617. psychopy/app/Resources/dark/redglobe_greensync.png +0 -0
  618. psychopy/app/Resources/dark/redglobe_greensync@2x.png +0 -0
  619. psychopy/app/Resources/dark/redglobe_info.png +0 -0
  620. psychopy/app/Resources/dark/redglobe_info@2x.png +0 -0
  621. psychopy/app/Resources/dark/redglobe_magnifier.png +0 -0
  622. psychopy/app/Resources/dark/redglobe_magnifier@2x.png +0 -0
  623. psychopy/app/Resources/dark/redglobe_run.png +0 -0
  624. psychopy/app/Resources/dark/redglobe_run@2x.png +0 -0
  625. psychopy/app/Resources/dark/redglobe_user.png +0 -0
  626. psychopy/app/Resources/dark/redglobe_user@2x.png +0 -0
  627. psychopy/app/Resources/dark/redo.png +0 -0
  628. psychopy/app/Resources/dark/redo32.png +0 -0
  629. psychopy/app/Resources/dark/redo32@2x.png +0 -0
  630. psychopy/app/Resources/dark/redo@2x.png +0 -0
  631. psychopy/app/Resources/dark/regex.png +0 -0
  632. psychopy/app/Resources/dark/regex@2x.png +0 -0
  633. psychopy/app/Resources/dark/removeExp32.png +0 -0
  634. psychopy/app/Resources/dark/removeExp32@2x.png +0 -0
  635. psychopy/app/Resources/dark/rename16.png +0 -0
  636. psychopy/app/Resources/dark/rename16@2x.png +0 -0
  637. psychopy/app/Resources/dark/restart.png +0 -0
  638. psychopy/app/Resources/dark/restart@2x.png +0 -0
  639. psychopy/app/Resources/dark/runner.png +0 -0
  640. psychopy/app/Resources/dark/runner@2x.png +0 -0
  641. psychopy/app/Resources/dark/runnerPilot.png +0 -0
  642. psychopy/app/Resources/dark/runnerPilot@2x.png +0 -0
  643. psychopy/app/Resources/dark/savebtn16.png +0 -0
  644. psychopy/app/Resources/dark/savebtn16@2x.png +0 -0
  645. psychopy/app/Resources/dark/search.png +0 -0
  646. psychopy/app/Resources/dark/search@2x.png +0 -0
  647. psychopy/app/Resources/dark/showBuilder.png +0 -0
  648. psychopy/app/Resources/dark/showBuilder@2x.png +0 -0
  649. psychopy/app/Resources/dark/showCoder.png +0 -0
  650. psychopy/app/Resources/dark/showCoder@2x.png +0 -0
  651. psychopy/app/Resources/dark/showRunner.png +0 -0
  652. psychopy/app/Resources/dark/showRunner@2x.png +0 -0
  653. psychopy/app/Resources/dark/starred.png +0 -0
  654. psychopy/app/Resources/dark/starred@2x.png +0 -0
  655. psychopy/app/Resources/dark/start.png +0 -0
  656. psychopy/app/Resources/dark/start@2x.png +0 -0
  657. psychopy/app/Resources/dark/stdout.png +0 -0
  658. psychopy/app/Resources/dark/stdout@2x.png +0 -0
  659. psychopy/app/Resources/dark/stop.png +0 -0
  660. psychopy/app/Resources/dark/stop32.png +0 -0
  661. psychopy/app/Resources/dark/stop32@2x.png +0 -0
  662. psychopy/app/Resources/dark/stop@2x.png +0 -0
  663. psychopy/app/Resources/dark/switchCtrlBot.png +0 -0
  664. psychopy/app/Resources/dark/switchCtrlBot@2x.png +0 -0
  665. psychopy/app/Resources/dark/switchCtrlLeft.png +0 -0
  666. psychopy/app/Resources/dark/switchCtrlLeft@2x.png +0 -0
  667. psychopy/app/Resources/dark/switchCtrlRight.png +0 -0
  668. psychopy/app/Resources/dark/switchCtrlRight@2x.png +0 -0
  669. psychopy/app/Resources/dark/switchCtrlTop.png +0 -0
  670. psychopy/app/Resources/dark/switchCtrlTop@2x.png +0 -0
  671. psychopy/app/Resources/dark/tick.png +0 -0
  672. psychopy/app/Resources/dark/tick@2x.png +0 -0
  673. psychopy/app/Resources/dark/undo.png +0 -0
  674. psychopy/app/Resources/dark/undo32.png +0 -0
  675. psychopy/app/Resources/dark/undo32@2x.png +0 -0
  676. psychopy/app/Resources/dark/undo@2x.png +0 -0
  677. psychopy/app/Resources/dark/unstarred.png +0 -0
  678. psychopy/app/Resources/dark/unstarred@2x.png +0 -0
  679. psychopy/app/Resources/dark/user_none.png +0 -0
  680. psychopy/app/Resources/dark/view-refresh16.png +0 -0
  681. psychopy/app/Resources/dark/view-refresh16@2x.png +0 -0
  682. psychopy/app/Resources/dark/viewbtn16.png +0 -0
  683. psychopy/app/Resources/dark/viewbtn16@2x.png +0 -0
  684. psychopy/app/Resources/dark/windows16.png +0 -0
  685. psychopy/app/Resources/dark/windows16@2x.png +0 -0
  686. psychopy/app/Resources/light/FlowBottom_CompLeft.png +0 -0
  687. psychopy/app/Resources/light/FlowBottom_CompRight.png +0 -0
  688. psychopy/app/Resources/light/FlowTop_CompLeft.png +0 -0
  689. psychopy/app/Resources/light/FlowTop_CompRight.png +0 -0
  690. psychopy/app/Resources/light/README.txt +3 -0
  691. psychopy/app/Resources/light/__init__.py +0 -0
  692. psychopy/app/Resources/light/add.png +0 -0
  693. psychopy/app/Resources/light/add@2x.png +0 -0
  694. psychopy/app/Resources/light/addExp32.png +0 -0
  695. psychopy/app/Resources/light/addExp32@2x.png +0 -0
  696. psychopy/app/Resources/light/add_many.png +0 -0
  697. psychopy/app/Resources/light/add_many@2x.png +0 -0
  698. psychopy/app/Resources/light/alerts.png +0 -0
  699. psychopy/app/Resources/light/alerts@2x.png +0 -0
  700. psychopy/app/Resources/light/beta.png +0 -0
  701. psychopy/app/Resources/light/beta@2x.png +0 -0
  702. psychopy/app/Resources/light/browser.png +0 -0
  703. psychopy/app/Resources/light/browser@2x.png +0 -0
  704. psychopy/app/Resources/light/bug16.png +0 -0
  705. psychopy/app/Resources/light/bug16@2x.png +0 -0
  706. psychopy/app/Resources/light/case.png +0 -0
  707. psychopy/app/Resources/light/case@2x.png +0 -0
  708. psychopy/app/Resources/light/circle_mask.png +0 -0
  709. psychopy/app/Resources/light/circle_mask@2x.png +0 -0
  710. psychopy/app/Resources/light/clear.png +0 -0
  711. psychopy/app/Resources/light/clear@2x.png +0 -0
  712. psychopy/app/Resources/light/coderclass16.png +0 -0
  713. psychopy/app/Resources/light/coderclass16@2x.png +0 -0
  714. psychopy/app/Resources/light/coderfunc16.png +0 -0
  715. psychopy/app/Resources/light/coderfunc16@2x.png +0 -0
  716. psychopy/app/Resources/light/coderimport16.png +0 -0
  717. psychopy/app/Resources/light/coderimport16@2x.png +0 -0
  718. psychopy/app/Resources/light/coderjs.png +0 -0
  719. psychopy/app/Resources/light/coderjs@2x.png +0 -0
  720. psychopy/app/Resources/light/coderpython.png +0 -0
  721. psychopy/app/Resources/light/coderpython@2x.png +0 -0
  722. psychopy/app/Resources/light/codervar16.png +0 -0
  723. psychopy/app/Resources/light/codervar16@2x.png +0 -0
  724. psychopy/app/Resources/light/cogwindow32.png +0 -0
  725. psychopy/app/Resources/light/cogwindow32@2x.png +0 -0
  726. psychopy/app/Resources/light/color16.png +0 -0
  727. psychopy/app/Resources/light/color16@2x.png +0 -0
  728. psychopy/app/Resources/light/color32.png +0 -0
  729. psychopy/app/Resources/light/color32@2x.png +0 -0
  730. psychopy/app/Resources/light/compile_js.png +0 -0
  731. psychopy/app/Resources/light/compile_js@2x.png +0 -0
  732. psychopy/app/Resources/light/compile_py.png +0 -0
  733. psychopy/app/Resources/light/compile_py@2x.png +0 -0
  734. psychopy/app/Resources/light/copy16.png +0 -0
  735. psychopy/app/Resources/light/copy16@2x.png +0 -0
  736. psychopy/app/Resources/light/currentFile16.png +0 -0
  737. psychopy/app/Resources/light/currentFile16@2x.png +0 -0
  738. psychopy/app/Resources/light/delete16.png +0 -0
  739. psychopy/app/Resources/light/delete16@2x.png +0 -0
  740. psychopy/app/Resources/light/delete8.png +0 -0
  741. psychopy/app/Resources/light/desktop.png +0 -0
  742. psychopy/app/Resources/light/desktop@2x.png +0 -0
  743. psychopy/app/Resources/light/devices.png +0 -0
  744. psychopy/app/Resources/light/devices@2x.png +0 -0
  745. psychopy/app/Resources/light/dirup16.png +0 -0
  746. psychopy/app/Resources/light/dirup16@2x.png +0 -0
  747. psychopy/app/Resources/light/docclose16.png +0 -0
  748. psychopy/app/Resources/light/docclose16@2x.png +0 -0
  749. psychopy/app/Resources/light/download.png +0 -0
  750. psychopy/app/Resources/light/download@2x.png +0 -0
  751. psychopy/app/Resources/light/edit.png +0 -0
  752. psychopy/app/Resources/light/edit@2x.png +0 -0
  753. psychopy/app/Resources/light/editbtn16.png +0 -0
  754. psychopy/app/Resources/light/editbtn16@2x.png +0 -0
  755. psychopy/app/Resources/light/email.png +0 -0
  756. psychopy/app/Resources/light/email@2x.png +0 -0
  757. psychopy/app/Resources/light/experiment.png +0 -0
  758. psychopy/app/Resources/light/experiment@2x.png +0 -0
  759. psychopy/app/Resources/light/expsettings.png +0 -0
  760. psychopy/app/Resources/light/expsettings@2x.png +0 -0
  761. psychopy/app/Resources/light/file.png +0 -0
  762. psychopy/app/Resources/light/file@2x.png +0 -0
  763. psychopy/app/Resources/light/fileaudio.png +0 -0
  764. psychopy/app/Resources/light/fileaudio@2x.png +0 -0
  765. psychopy/app/Resources/light/filecss.png +0 -0
  766. psychopy/app/Resources/light/filecss@2x.png +0 -0
  767. psychopy/app/Resources/light/filecsv.png +0 -0
  768. psychopy/app/Resources/light/filecsv@2x.png +0 -0
  769. psychopy/app/Resources/light/filedesign.png +0 -0
  770. psychopy/app/Resources/light/filedesign@2x.png +0 -0
  771. psychopy/app/Resources/light/filefont.png +0 -0
  772. psychopy/app/Resources/light/filefont@2x.png +0 -0
  773. psychopy/app/Resources/light/filegit.png +0 -0
  774. psychopy/app/Resources/light/filegit@2x.png +0 -0
  775. psychopy/app/Resources/light/filehtml.png +0 -0
  776. psychopy/app/Resources/light/filehtml@2x.png +0 -0
  777. psychopy/app/Resources/light/fileimage.png +0 -0
  778. psychopy/app/Resources/light/fileimage@2x.png +0 -0
  779. psychopy/app/Resources/light/fileinfo.png +0 -0
  780. psychopy/app/Resources/light/fileinfo@2x.png +0 -0
  781. psychopy/app/Resources/light/filejs.png +0 -0
  782. psychopy/app/Resources/light/filejs@2x.png +0 -0
  783. psychopy/app/Resources/light/filejson.png +0 -0
  784. psychopy/app/Resources/light/filejson@2x.png +0 -0
  785. psychopy/app/Resources/light/filenew.png +0 -0
  786. psychopy/app/Resources/light/filenew32.png +0 -0
  787. psychopy/app/Resources/light/filenew32@2x.png +0 -0
  788. psychopy/app/Resources/light/filenew@2x.png +0 -0
  789. psychopy/app/Resources/light/fileopen.png +0 -0
  790. psychopy/app/Resources/light/fileopen32.png +0 -0
  791. psychopy/app/Resources/light/fileopen32@2x.png +0 -0
  792. psychopy/app/Resources/light/fileopen@2x.png +0 -0
  793. psychopy/app/Resources/light/filepkg.png +0 -0
  794. psychopy/app/Resources/light/filepkg@2x.png +0 -0
  795. psychopy/app/Resources/light/filepsyexp.png +0 -0
  796. psychopy/app/Resources/light/filepsyexp@2x.png +0 -0
  797. psychopy/app/Resources/light/filepy.png +0 -0
  798. psychopy/app/Resources/light/filepy@2x.png +0 -0
  799. psychopy/app/Resources/light/filesave.png +0 -0
  800. psychopy/app/Resources/light/filesave32.png +0 -0
  801. psychopy/app/Resources/light/filesave32@2x.png +0 -0
  802. psychopy/app/Resources/light/filesave@2x.png +0 -0
  803. psychopy/app/Resources/light/filesaveas.png +0 -0
  804. psychopy/app/Resources/light/filesaveas32.png +0 -0
  805. psychopy/app/Resources/light/filesaveas32@2x.png +0 -0
  806. psychopy/app/Resources/light/filesaveas@2x.png +0 -0
  807. psychopy/app/Resources/light/filetxt.png +0 -0
  808. psychopy/app/Resources/light/filetxt@2x.png +0 -0
  809. psychopy/app/Resources/light/fileunknown.png +0 -0
  810. psychopy/app/Resources/light/fileunknown@2x.png +0 -0
  811. psychopy/app/Resources/light/filevideo.png +0 -0
  812. psychopy/app/Resources/light/filevideo@2x.png +0 -0
  813. psychopy/app/Resources/light/filter.png +0 -0
  814. psychopy/app/Resources/light/filter@2x.png +0 -0
  815. psychopy/app/Resources/light/find.png +0 -0
  816. psychopy/app/Resources/light/find@2x.png +0 -0
  817. psychopy/app/Resources/light/folder-open16.png +0 -0
  818. psychopy/app/Resources/light/folder-open16@2x.png +0 -0
  819. psychopy/app/Resources/light/folder16.png +0 -0
  820. psychopy/app/Resources/light/folder16@2x.png +0 -0
  821. psychopy/app/Resources/light/foldernew16.png +0 -0
  822. psychopy/app/Resources/light/foldernew16@2x.png +0 -0
  823. psychopy/app/Resources/light/fork.png +0 -0
  824. psychopy/app/Resources/light/fork@2x.png +0 -0
  825. psychopy/app/Resources/light/github.png +0 -0
  826. psychopy/app/Resources/light/github@2x.png +0 -0
  827. psychopy/app/Resources/light/globe.png +0 -0
  828. psychopy/app/Resources/light/globe@2x.png +0 -0
  829. psychopy/app/Resources/light/globe_bug.png +0 -0
  830. psychopy/app/Resources/light/globe_bug@2x.png +0 -0
  831. psychopy/app/Resources/light/globe_greensync.png +0 -0
  832. psychopy/app/Resources/light/globe_greensync@2x.png +0 -0
  833. psychopy/app/Resources/light/globe_info.png +0 -0
  834. psychopy/app/Resources/light/globe_info@2x.png +0 -0
  835. psychopy/app/Resources/light/globe_magnifier.png +0 -0
  836. psychopy/app/Resources/light/globe_magnifier@2x.png +0 -0
  837. psychopy/app/Resources/light/globe_run.png +0 -0
  838. psychopy/app/Resources/light/globe_run@2x.png +0 -0
  839. psychopy/app/Resources/light/globe_user.png +0 -0
  840. psychopy/app/Resources/light/globe_user@2x.png +0 -0
  841. psychopy/app/Resources/light/goto16.png +0 -0
  842. psychopy/app/Resources/light/goto16@2x.png +0 -0
  843. psychopy/app/Resources/light/greendot.png +0 -0
  844. psychopy/app/Resources/light/greendot@2x.png +0 -0
  845. psychopy/app/Resources/light/greenglobe.png +0 -0
  846. psychopy/app/Resources/light/greenglobe@2x.png +0 -0
  847. psychopy/app/Resources/light/greenglobe_bug.png +0 -0
  848. psychopy/app/Resources/light/greenglobe_bug@2x.png +0 -0
  849. psychopy/app/Resources/light/greenglobe_greensync.png +0 -0
  850. psychopy/app/Resources/light/greenglobe_greensync@2x.png +0 -0
  851. psychopy/app/Resources/light/greenglobe_info.png +0 -0
  852. psychopy/app/Resources/light/greenglobe_info@2x.png +0 -0
  853. psychopy/app/Resources/light/greenglobe_magnifier.png +0 -0
  854. psychopy/app/Resources/light/greenglobe_magnifier@2x.png +0 -0
  855. psychopy/app/Resources/light/greenglobe_run.png +0 -0
  856. psychopy/app/Resources/light/greenglobe_run@2x.png +0 -0
  857. psychopy/app/Resources/light/greenglobe_user.png +0 -0
  858. psychopy/app/Resources/light/greenglobe_user@2x.png +0 -0
  859. psychopy/app/Resources/light/greydot.png +0 -0
  860. psychopy/app/Resources/light/greydot@2x.png +0 -0
  861. psychopy/app/Resources/light/greytick.png +0 -0
  862. psychopy/app/Resources/light/greytick@2x.png +0 -0
  863. psychopy/app/Resources/light/invalid_img.png +0 -0
  864. psychopy/app/Resources/light/jsPilot.png +0 -0
  865. psychopy/app/Resources/light/jsPilot@2x.png +0 -0
  866. psychopy/app/Resources/light/jsRun.png +0 -0
  867. psychopy/app/Resources/light/jsRun@2x.png +0 -0
  868. psychopy/app/Resources/light/libroot16.png +0 -0
  869. psychopy/app/Resources/light/libroot16@2x.png +0 -0
  870. psychopy/app/Resources/light/loop.png +0 -0
  871. psychopy/app/Resources/light/loop@2x.png +0 -0
  872. psychopy/app/Resources/light/monitor16.png +0 -0
  873. psychopy/app/Resources/light/monitor16@2x.png +0 -0
  874. psychopy/app/Resources/light/monitors.png +0 -0
  875. psychopy/app/Resources/light/monitors32.png +0 -0
  876. psychopy/app/Resources/light/monitors32@2x.png +0 -0
  877. psychopy/app/Resources/light/monitors@2x.png +0 -0
  878. psychopy/app/Resources/light/orangedot.png +0 -0
  879. psychopy/app/Resources/light/orangedot@2x.png +0 -0
  880. psychopy/app/Resources/light/pavlovia.png +0 -0
  881. psychopy/app/Resources/light/pavlovia16.png +0 -0
  882. psychopy/app/Resources/light/pavlovia16@2x.png +0 -0
  883. psychopy/app/Resources/light/pavlovia@2x.png +0 -0
  884. psychopy/app/Resources/light/pavsync.png +0 -0
  885. psychopy/app/Resources/light/pavsync@2x.png +0 -0
  886. psychopy/app/Resources/light/person_off.png +0 -0
  887. psychopy/app/Resources/light/person_off@2x.png +0 -0
  888. psychopy/app/Resources/light/person_on.png +0 -0
  889. psychopy/app/Resources/light/person_on@2x.png +0 -0
  890. psychopy/app/Resources/light/photometer.png +0 -0
  891. psychopy/app/Resources/light/photometer@2x.png +0 -0
  892. psychopy/app/Resources/light/plugin16.png +0 -0
  893. psychopy/app/Resources/light/plugin16@2x.png +0 -0
  894. psychopy/app/Resources/light/plugins32.png +0 -0
  895. psychopy/app/Resources/light/plugins32@2x.png +0 -0
  896. psychopy/app/Resources/light/plus.png +0 -0
  897. psychopy/app/Resources/light/plus@2x.png +0 -0
  898. psychopy/app/Resources/light/preferences-app.png +0 -0
  899. psychopy/app/Resources/light/preferences-app48.png +0 -0
  900. psychopy/app/Resources/light/preferences-app48@2x.png +0 -0
  901. psychopy/app/Resources/light/preferences-app@2x.png +0 -0
  902. psychopy/app/Resources/light/preferences-conn.png +0 -0
  903. psychopy/app/Resources/light/preferences-conn48.png +0 -0
  904. psychopy/app/Resources/light/preferences-conn48@2x.png +0 -0
  905. psychopy/app/Resources/light/preferences-conn@2x.png +0 -0
  906. psychopy/app/Resources/light/preferences-general.png +0 -0
  907. psychopy/app/Resources/light/preferences-general48.png +0 -0
  908. psychopy/app/Resources/light/preferences-general48@2x.png +0 -0
  909. psychopy/app/Resources/light/preferences-general@2x.png +0 -0
  910. psychopy/app/Resources/light/preferences-hardware.png +0 -0
  911. psychopy/app/Resources/light/preferences-hardware48.png +0 -0
  912. psychopy/app/Resources/light/preferences-hardware48@2x.png +0 -0
  913. psychopy/app/Resources/light/preferences-hardware@2x.png +0 -0
  914. psychopy/app/Resources/light/preferences-keyboard.png +0 -0
  915. psychopy/app/Resources/light/preferences-keyboard48.png +0 -0
  916. psychopy/app/Resources/light/preferences-keyboard48@2x.png +0 -0
  917. psychopy/app/Resources/light/preferences-keyboard@2x.png +0 -0
  918. psychopy/app/Resources/light/preferences-pilot.png +0 -0
  919. psychopy/app/Resources/light/preferences-pilot@2x.png +0 -0
  920. psychopy/app/Resources/light/preferences32.png +0 -0
  921. psychopy/app/Resources/light/preferences32@2x.png +0 -0
  922. psychopy/app/Resources/light/pyPilot.png +0 -0
  923. psychopy/app/Resources/light/pyPilot@2x.png +0 -0
  924. psychopy/app/Resources/light/pyRun.png +0 -0
  925. psychopy/app/Resources/light/pyRun@2x.png +0 -0
  926. psychopy/app/Resources/light/reddot.png +0 -0
  927. psychopy/app/Resources/light/reddot@2x.png +0 -0
  928. psychopy/app/Resources/light/redglobe.png +0 -0
  929. psychopy/app/Resources/light/redglobe@2x.png +0 -0
  930. psychopy/app/Resources/light/redglobe_bug.png +0 -0
  931. psychopy/app/Resources/light/redglobe_bug@2x.png +0 -0
  932. psychopy/app/Resources/light/redglobe_greensync.png +0 -0
  933. psychopy/app/Resources/light/redglobe_greensync@2x.png +0 -0
  934. psychopy/app/Resources/light/redglobe_info.png +0 -0
  935. psychopy/app/Resources/light/redglobe_info@2x.png +0 -0
  936. psychopy/app/Resources/light/redglobe_magnifier.png +0 -0
  937. psychopy/app/Resources/light/redglobe_magnifier@2x.png +0 -0
  938. psychopy/app/Resources/light/redglobe_run.png +0 -0
  939. psychopy/app/Resources/light/redglobe_run@2x.png +0 -0
  940. psychopy/app/Resources/light/redglobe_user.png +0 -0
  941. psychopy/app/Resources/light/redglobe_user@2x.png +0 -0
  942. psychopy/app/Resources/light/redo.png +0 -0
  943. psychopy/app/Resources/light/redo32.png +0 -0
  944. psychopy/app/Resources/light/redo32@2x.png +0 -0
  945. psychopy/app/Resources/light/redo@2x.png +0 -0
  946. psychopy/app/Resources/light/regex.png +0 -0
  947. psychopy/app/Resources/light/regex@2x.png +0 -0
  948. psychopy/app/Resources/light/removeExp32.png +0 -0
  949. psychopy/app/Resources/light/removeExp32@2x.png +0 -0
  950. psychopy/app/Resources/light/rename16.png +0 -0
  951. psychopy/app/Resources/light/rename16@2x.png +0 -0
  952. psychopy/app/Resources/light/restart.png +0 -0
  953. psychopy/app/Resources/light/restart@2x.png +0 -0
  954. psychopy/app/Resources/light/runner.png +0 -0
  955. psychopy/app/Resources/light/runner@2x.png +0 -0
  956. psychopy/app/Resources/light/runnerPilot.png +0 -0
  957. psychopy/app/Resources/light/runnerPilot@2x.png +0 -0
  958. psychopy/app/Resources/light/savebtn16.png +0 -0
  959. psychopy/app/Resources/light/savebtn16@2x.png +0 -0
  960. psychopy/app/Resources/light/search.png +0 -0
  961. psychopy/app/Resources/light/search@2x.png +0 -0
  962. psychopy/app/Resources/light/showBuilder.png +0 -0
  963. psychopy/app/Resources/light/showBuilder@2x.png +0 -0
  964. psychopy/app/Resources/light/showCoder.png +0 -0
  965. psychopy/app/Resources/light/showCoder@2x.png +0 -0
  966. psychopy/app/Resources/light/showRunner.png +0 -0
  967. psychopy/app/Resources/light/showRunner@2x.png +0 -0
  968. psychopy/app/Resources/light/starred.png +0 -0
  969. psychopy/app/Resources/light/starred@2x.png +0 -0
  970. psychopy/app/Resources/light/start.png +0 -0
  971. psychopy/app/Resources/light/start@2x.png +0 -0
  972. psychopy/app/Resources/light/stdout.png +0 -0
  973. psychopy/app/Resources/light/stdout@2x.png +0 -0
  974. psychopy/app/Resources/light/stop.png +0 -0
  975. psychopy/app/Resources/light/stop32.png +0 -0
  976. psychopy/app/Resources/light/stop32@2x.png +0 -0
  977. psychopy/app/Resources/light/stop@2x.png +0 -0
  978. psychopy/app/Resources/light/switchCtrlBot.png +0 -0
  979. psychopy/app/Resources/light/switchCtrlBot@2x.png +0 -0
  980. psychopy/app/Resources/light/switchCtrlLeft.png +0 -0
  981. psychopy/app/Resources/light/switchCtrlLeft@2x.png +0 -0
  982. psychopy/app/Resources/light/switchCtrlRight.png +0 -0
  983. psychopy/app/Resources/light/switchCtrlRight@2x.png +0 -0
  984. psychopy/app/Resources/light/switchCtrlTop.png +0 -0
  985. psychopy/app/Resources/light/switchCtrlTop@2x.png +0 -0
  986. psychopy/app/Resources/light/tick.png +0 -0
  987. psychopy/app/Resources/light/tick@2x.png +0 -0
  988. psychopy/app/Resources/light/undo.png +0 -0
  989. psychopy/app/Resources/light/undo32.png +0 -0
  990. psychopy/app/Resources/light/undo32@2x.png +0 -0
  991. psychopy/app/Resources/light/undo@2x.png +0 -0
  992. psychopy/app/Resources/light/unstarred.png +0 -0
  993. psychopy/app/Resources/light/unstarred@2x.png +0 -0
  994. psychopy/app/Resources/light/user_none.png +0 -0
  995. psychopy/app/Resources/light/view-refresh16.png +0 -0
  996. psychopy/app/Resources/light/view-refresh16@2x.png +0 -0
  997. psychopy/app/Resources/light/viewbtn16.png +0 -0
  998. psychopy/app/Resources/light/viewbtn16@2x.png +0 -0
  999. psychopy/app/Resources/light/windows16.png +0 -0
  1000. psychopy/app/Resources/light/windows16@2x.png +0 -0
  1001. psychopy/app/Resources/moveComponentIcons.py +50 -0
  1002. psychopy/app/Resources/psychopy.desktop +13 -0
  1003. psychopy/app/Resources/psychopy.icns +0 -0
  1004. psychopy/app/Resources/psychopy.ico +0 -0
  1005. psychopy/app/Resources/psychopy.png +0 -0
  1006. psychopy/app/Resources/psychopy.xml +9 -0
  1007. psychopy/app/Resources/psychopy@2x.png +0 -0
  1008. psychopy/app/Resources/routine_templates/Basic.psyexp +344 -0
  1009. psychopy/app/Resources/routine_templates/Misc.psyexp +228 -0
  1010. psychopy/app/Resources/routine_templates/Online.psyexp +200 -0
  1011. psychopy/app/Resources/routine_templates/Trials.psyexp +735 -0
  1012. psychopy/app/Resources/routine_templates/readme.md +14 -0
  1013. psychopy/app/Resources/runner.ico +0 -0
  1014. psychopy/app/Resources/splash.png +0 -0
  1015. psychopy/app/Resources/splash@2x.png +0 -0
  1016. psychopy/app/Resources/tips.txt +45 -0
  1017. psychopy/app/Resources/tips_ar_001.txt +45 -0
  1018. psychopy/app/Resources/tips_fr_FR.txt +45 -0
  1019. psychopy/app/Resources/tips_ja_JP.txt +42 -0
  1020. psychopy/app/Resources/tips_zh_CN.txt +45 -0
  1021. psychopy/app/Resources/window.ico +0 -0
  1022. psychopy/app/__init__.py +339 -0
  1023. psychopy/app/__main__.py +3 -0
  1024. psychopy/app/_psychopyApp.py +1298 -0
  1025. psychopy/app/appData.spec +58 -0
  1026. psychopy/app/builder/__init__.py +5 -0
  1027. psychopy/app/builder/builder.py +4738 -0
  1028. psychopy/app/builder/dialogs/__init__.py +1910 -0
  1029. psychopy/app/builder/dialogs/dlgsCode.py +631 -0
  1030. psychopy/app/builder/dialogs/dlgsConditions.py +669 -0
  1031. psychopy/app/builder/dialogs/findDlg.py +275 -0
  1032. psychopy/app/builder/dialogs/paramCtrls.py +1802 -0
  1033. psychopy/app/builder/validators.py +589 -0
  1034. psychopy/app/coder/__init__.py +8 -0
  1035. psychopy/app/coder/codeEditorBase.py +460 -0
  1036. psychopy/app/coder/coder.py +3100 -0
  1037. psychopy/app/coder/fileBrowser.py +714 -0
  1038. psychopy/app/coder/folding.py +128 -0
  1039. psychopy/app/coder/psychoParser.py +139 -0
  1040. psychopy/app/coder/repl.py +496 -0
  1041. psychopy/app/coder/sourceTree.py +302 -0
  1042. psychopy/app/colorpicker/__init__.py +594 -0
  1043. psychopy/app/colorpicker/ui.py +336 -0
  1044. psychopy/app/connections/__init__.py +10 -0
  1045. psychopy/app/connections/news.py +104 -0
  1046. psychopy/app/connections/sendusage.py +61 -0
  1047. psychopy/app/connections/updates.py +642 -0
  1048. psychopy/app/console.py +164 -0
  1049. psychopy/app/deviceManager/__init__.py +1 -0
  1050. psychopy/app/deviceManager/addDialog.py +218 -0
  1051. psychopy/app/deviceManager/dialog.py +185 -0
  1052. psychopy/app/deviceManager/panel.py +191 -0
  1053. psychopy/app/deviceManager/utils.py +60 -0
  1054. psychopy/app/dialogs.py +664 -0
  1055. psychopy/app/errorDlg.py +238 -0
  1056. psychopy/app/frametracker.py +8 -0
  1057. psychopy/app/idle.py +181 -0
  1058. psychopy/app/jobs.py +676 -0
  1059. psychopy/app/linuxconfig/__init__.py +153 -0
  1060. psychopy/app/linuxconfig/ui.py +88 -0
  1061. psychopy/app/locale/ar_001/LC_MESSAGE/messages.mo +0 -0
  1062. psychopy/app/locale/ar_001/LC_MESSAGE/messages.po +12695 -0
  1063. psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.mo +0 -0
  1064. psychopy/app/locale/cs_CZ/LC_MESSAGE/messages.po +10199 -0
  1065. psychopy/app/locale/da_DK/LC_MESSAGE/messages.mo +0 -0
  1066. psychopy/app/locale/da_DK/LC_MESSAGE/messages.po +10199 -0
  1067. psychopy/app/locale/de_DE/LC_MESSAGE/messages.mo +0 -0
  1068. psychopy/app/locale/de_DE/LC_MESSAGE/messages.po +11221 -0
  1069. psychopy/app/locale/el_GR/LC_MESSAGE/messages.mo +0 -0
  1070. psychopy/app/locale/el_GR/LC_MESSAGE/messages.po +10200 -0
  1071. psychopy/app/locale/en_NZ/LC_MESSAGE/messages.mo +0 -0
  1072. psychopy/app/locale/en_NZ/LC_MESSAGE/messages.po +10200 -0
  1073. psychopy/app/locale/en_US/LC_MESSAGE/messages.mo +0 -0
  1074. psychopy/app/locale/en_US/LC_MESSAGE/messages.po +10195 -0
  1075. psychopy/app/locale/es_CO/LC_MESSAGE/messages.mo +0 -0
  1076. psychopy/app/locale/es_CO/LC_MESSAGE/messages.po +11917 -0
  1077. psychopy/app/locale/es_ES/LC_MESSAGE/messages.mo +0 -0
  1078. psychopy/app/locale/es_ES/LC_MESSAGE/messages.po +11924 -0
  1079. psychopy/app/locale/es_US/LC_MESSAGE/messages.mo +0 -0
  1080. psychopy/app/locale/es_US/LC_MESSAGE/messages.po +11917 -0
  1081. psychopy/app/locale/et_EE/LC_MESSAGE/messages.mo +0 -0
  1082. psychopy/app/locale/et_EE/LC_MESSAGE/messages.po +11084 -0
  1083. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.mo +0 -0
  1084. psychopy/app/locale/fa_IR/LC_MESSAGE/messages.po +11590 -0
  1085. psychopy/app/locale/fi_FI/LC_MESSAGE/messages.mo +0 -0
  1086. psychopy/app/locale/fi_FI/LC_MESSAGE/messages.po +10199 -0
  1087. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.mo +0 -0
  1088. psychopy/app/locale/fr_FR/LC_MESSAGE/messages.po +11091 -0
  1089. psychopy/app/locale/he_IL/LC_MESSAGE/messages.mo +0 -0
  1090. psychopy/app/locale/he_IL/LC_MESSAGE/messages.po +11072 -0
  1091. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.mo +0 -0
  1092. psychopy/app/locale/hi_IN/LC_MESSAGE/messages.po +11071 -0
  1093. psychopy/app/locale/hu_HU/LC_MESSAGE/messages.mo +0 -0
  1094. psychopy/app/locale/hu_HU/LC_MESSAGE/messages.po +10200 -0
  1095. psychopy/app/locale/it_IT/LC_MESSAGE/messages.mo +0 -0
  1096. psychopy/app/locale/it_IT/LC_MESSAGE/messages.po +11072 -0
  1097. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.mo +0 -0
  1098. psychopy/app/locale/ja_JP/LC_MESSAGE/messages.po +11268 -0
  1099. psychopy/app/locale/ko_KR/LC_MESSAGE/messages.mo +0 -0
  1100. psychopy/app/locale/ko_KR/LC_MESSAGE/messages.po +10199 -0
  1101. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.mo +0 -0
  1102. psychopy/app/locale/ms_MY/LC_MESSAGE/messages.po +11463 -0
  1103. psychopy/app/locale/nl_NL/LC_MESSAGE/messages.mo +0 -0
  1104. psychopy/app/locale/nl_NL/LC_MESSAGE/messages.po +10200 -0
  1105. psychopy/app/locale/nn_NO/LC_MESSAGE/messages.mo +0 -0
  1106. psychopy/app/locale/nn_NO/LC_MESSAGE/messages.po +10200 -0
  1107. psychopy/app/locale/pl_PL/LC_MESSAGE/messages.mo +0 -0
  1108. psychopy/app/locale/pl_PL/LC_MESSAGE/messages.po +10200 -0
  1109. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.mo +0 -0
  1110. psychopy/app/locale/pt_PT/LC_MESSAGE/messages.po +11288 -0
  1111. psychopy/app/locale/ro_RO/LC_MESSAGE/messages.mo +0 -0
  1112. psychopy/app/locale/ro_RO/LC_MESSAGE/messages.po +10200 -0
  1113. psychopy/app/locale/ru_RU/LC_MESSAGE/messages.mo +0 -0
  1114. psychopy/app/locale/ru_RU/LC_MESSAGE/messages.po +10199 -0
  1115. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.mo +0 -0
  1116. psychopy/app/locale/sv_SE/LC_MESSAGE/messages.po +11441 -0
  1117. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.mo +0 -0
  1118. psychopy/app/locale/tr_TR/LC_MESSAGE/messages.po +11069 -0
  1119. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.mo +0 -0
  1120. psychopy/app/locale/zh_CN/LC_MESSAGE/messages.po +12085 -0
  1121. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.mo +0 -0
  1122. psychopy/app/locale/zh_TW/LC_MESSAGE/messages.po +11929 -0
  1123. psychopy/app/localizedStrings.py +386 -0
  1124. psychopy/app/pavlovia_ui/__init__.py +22 -0
  1125. psychopy/app/pavlovia_ui/_base.py +268 -0
  1126. psychopy/app/pavlovia_ui/functions.py +176 -0
  1127. psychopy/app/pavlovia_ui/menu.py +140 -0
  1128. psychopy/app/pavlovia_ui/project.py +943 -0
  1129. psychopy/app/pavlovia_ui/search.py +444 -0
  1130. psychopy/app/pavlovia_ui/sync.py +137 -0
  1131. psychopy/app/pavlovia_ui/user.py +264 -0
  1132. psychopy/app/plugin_manager/__init__.py +5 -0
  1133. psychopy/app/plugin_manager/dialog.py +402 -0
  1134. psychopy/app/plugin_manager/output.py +132 -0
  1135. psychopy/app/plugin_manager/packageIndex.py +303 -0
  1136. psychopy/app/plugin_manager/packages.py +643 -0
  1137. psychopy/app/plugin_manager/plugins.py +1363 -0
  1138. psychopy/app/plugin_manager/utils.py +115 -0
  1139. psychopy/app/preferencesDlg.py +771 -0
  1140. psychopy/app/psychopyApp.py +207 -0
  1141. psychopy/app/ribbon.py +1019 -0
  1142. psychopy/app/runner/__init__.py +1 -0
  1143. psychopy/app/runner/runner.py +1299 -0
  1144. psychopy/app/runner/scriptProcess.py +363 -0
  1145. psychopy/app/stdout/__init__.py +1 -0
  1146. psychopy/app/stdout/stdOutRich.py +410 -0
  1147. psychopy/app/sysInfoDlg.py +242 -0
  1148. psychopy/app/themes/__init__.py +78 -0
  1149. psychopy/app/themes/colors.py +201 -0
  1150. psychopy/app/themes/css/contrast_black.css +112 -0
  1151. psychopy/app/themes/css/contrast_white.css +115 -0
  1152. psychopy/app/themes/css/dark.css +112 -0
  1153. psychopy/app/themes/css/light.css +115 -0
  1154. psychopy/app/themes/fonts.py +629 -0
  1155. psychopy/app/themes/handlers.py +321 -0
  1156. psychopy/app/themes/icons.py +267 -0
  1157. psychopy/app/themes/spec/Classic.json +154 -0
  1158. psychopy/app/themes/spec/ClassicDark.json +154 -0
  1159. psychopy/app/themes/spec/GitHub.json +154 -0
  1160. psychopy/app/themes/spec/HiVisDark.json +153 -0
  1161. psychopy/app/themes/spec/HiVisLight.json +154 -0
  1162. psychopy/app/themes/spec/MinimalDark.json +154 -0
  1163. psychopy/app/themes/spec/MinimalLight.json +153 -0
  1164. psychopy/app/themes/spec/PsychopyDark.json +231 -0
  1165. psychopy/app/themes/spec/PsychopyLight.json +236 -0
  1166. psychopy/app/themes/ui.py +74 -0
  1167. psychopy/app/ui/__init__.py +184 -0
  1168. psychopy/app/urls.py +31 -0
  1169. psychopy/app/utils.py +1741 -0
  1170. psychopy/app/viewer/__init__.py +0 -0
  1171. psychopy/assets/Psychopy Window Favicon@16w.png +0 -0
  1172. psychopy/assets/Psychopy Window Favicon@32w.png +0 -0
  1173. psychopy/assets/USB-C.png +0 -0
  1174. psychopy/assets/USB.png +0 -0
  1175. psychopy/assets/__init__.py +0 -0
  1176. psychopy/assets/click.png +0 -0
  1177. psychopy/assets/clicknext.png +0 -0
  1178. psychopy/assets/creditCard.png +0 -0
  1179. psychopy/assets/default.mp3 +0 -0
  1180. psychopy/assets/default.mp4 +0 -0
  1181. psychopy/assets/default.png +0 -0
  1182. psychopy/assets/fonts/Arvo-Bold.ttf +0 -0
  1183. psychopy/assets/fonts/Arvo-BoldItalic.ttf +0 -0
  1184. psychopy/assets/fonts/Arvo-Italic.ttf +0 -0
  1185. psychopy/assets/fonts/Arvo-Regular.ttf +0 -0
  1186. psychopy/assets/fonts/DejaVuSerif.ttf +0 -0
  1187. psychopy/assets/fonts/IndieFlower-Regular.ttf +0 -0
  1188. psychopy/assets/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
  1189. psychopy/assets/fonts/JetBrainsMono-VariableFont_wght.ttf +0 -0
  1190. psychopy/assets/fonts/NotoSans-Bold.ttf +0 -0
  1191. psychopy/assets/fonts/NotoSans-BoldItalic.ttf +0 -0
  1192. psychopy/assets/fonts/NotoSans-Italic.ttf +0 -0
  1193. psychopy/assets/fonts/NotoSans-Regular.ttf +0 -0
  1194. psychopy/assets/next.png +0 -0
  1195. psychopy/assets/psychopy.ico +0 -0
  1196. psychopy/assets/psychopy.png +0 -0
  1197. psychopy/assets/templates/__init__.py +0 -0
  1198. psychopy/assets/templates/instruct1.png +0 -0
  1199. psychopy/assets/templates/instruct2.png +0 -0
  1200. psychopy/assets/touch.png +0 -0
  1201. psychopy/assets/touchnext.png +0 -0
  1202. psychopy/assets/voicekeyThresholdStim.wav +0 -0
  1203. psychopy/assets/window.ico +0 -0
  1204. psychopy/changes/2023.1.0.md +9 -0
  1205. psychopy/changes/2024.1.0.md +16 -0
  1206. psychopy/changes/__init__.py +0 -0
  1207. psychopy/clock.py +619 -0
  1208. psychopy/colors.py +1058 -0
  1209. psychopy/compatibility.py +147 -0
  1210. psychopy/constants.py +87 -0
  1211. psychopy/contrib/__init__.py +0 -0
  1212. psychopy/contrib/configobj/LICENSE +39 -0
  1213. psychopy/contrib/configobj/__init__.py +2455 -0
  1214. psychopy/contrib/configobj/_version.py +2 -0
  1215. psychopy/contrib/configobj/validate.py +1458 -0
  1216. psychopy/contrib/lazy_import.py +402 -0
  1217. psychopy/contrib/mseq.py +273 -0
  1218. psychopy/contrib/mseqSearch.py +183 -0
  1219. psychopy/contrib/psi.py +100 -0
  1220. psychopy/contrib/quest.py +484 -0
  1221. psychopy/contrib/tesselate.py +188 -0
  1222. psychopy/core.py +167 -0
  1223. psychopy/data/__init__.py +45 -0
  1224. psychopy/data/base.py +566 -0
  1225. psychopy/data/counterbalance.py +210 -0
  1226. psychopy/data/experiment.py +1049 -0
  1227. psychopy/data/fit.py +248 -0
  1228. psychopy/data/routine.py +94 -0
  1229. psychopy/data/shelf.py +237 -0
  1230. psychopy/data/staircase.py +2270 -0
  1231. psychopy/data/trial.py +2505 -0
  1232. psychopy/data/utils.py +858 -0
  1233. psychopy/demos/__init__.py +0 -0
  1234. psychopy/demos/builder/Design Templates/branchedExperiment/README.md +5 -0
  1235. psychopy/demos/builder/Design Templates/branchedExperiment/branchedExperiment.psyexp +354 -0
  1236. psychopy/demos/builder/Design Templates/branchedExperiment/trialTypes.xlsx +0 -0
  1237. psychopy/demos/builder/Design Templates/psychophysicsStaircase/README.md +20 -0
  1238. psychopy/demos/builder/Design Templates/psychophysicsStaircase/psychophysicsStaircase.psyexp +286 -0
  1239. psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/README.md +14 -0
  1240. psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/psychophysicsStaircaseInterleaved.psyexp +340 -0
  1241. psychopy/demos/builder/Design Templates/psychophysicsStairsInterleaved/stairDefinitions.xlsx +0 -0
  1242. psychopy/demos/builder/Design Templates/randomisedBlocks/README.md +18 -0
  1243. psychopy/demos/builder/Design Templates/randomisedBlocks/chooseBlock.xlsx +0 -0
  1244. psychopy/demos/builder/Design Templates/randomisedBlocks/facesBlock.xlsx +0 -0
  1245. psychopy/demos/builder/Design Templates/randomisedBlocks/housesBlock.xlsx +0 -0
  1246. psychopy/demos/builder/Design Templates/randomisedBlocks/randomisedBlocks.psyexp +219 -0
  1247. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/face01.jpg +0 -0
  1248. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/face02.jpg +0 -0
  1249. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/face03.jpg +0 -0
  1250. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/house01.jpg +0 -0
  1251. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/house02.jpg +0 -0
  1252. psychopy/demos/builder/Design Templates/randomisedBlocks/stims/house03.jpg +0 -0
  1253. psychopy/demos/builder/Experiments/BART/README.md +30 -0
  1254. psychopy/demos/builder/Experiments/BART/assets/background.jpg +0 -0
  1255. psychopy/demos/builder/Experiments/BART/assets/background.png +0 -0
  1256. psychopy/demos/builder/Experiments/BART/assets/bang.mp3 +0 -0
  1257. psychopy/demos/builder/Experiments/BART/assets/bang.wav +0 -0
  1258. psychopy/demos/builder/Experiments/BART/assets/blueBalloon.png +0 -0
  1259. psychopy/demos/builder/Experiments/BART/assets/greenBalloon.png +0 -0
  1260. psychopy/demos/builder/Experiments/BART/assets/redBalloon.png +0 -0
  1261. psychopy/demos/builder/Experiments/BART/bart.psyexp +844 -0
  1262. psychopy/demos/builder/Experiments/BART/spreadsheets/conditions.xlsx +0 -0
  1263. psychopy/demos/builder/Experiments/BigFiveInventory/BFI.psyexp +255 -0
  1264. psychopy/demos/builder/Experiments/BigFiveInventory/README.md +23 -0
  1265. psychopy/demos/builder/Experiments/BigFiveInventory/TIPI.xlsx +0 -0
  1266. psychopy/demos/builder/Experiments/BigFiveInventory/bigFiveItems.xlsx +0 -0
  1267. psychopy/demos/builder/Experiments/BigFiveInventory/demographics.xlsx +0 -0
  1268. psychopy/demos/builder/Experiments/BigFiveInventory/mini_IPIP.xlsx +0 -0
  1269. psychopy/demos/builder/Experiments/GoNoGo/conditions.xlsx +0 -0
  1270. psychopy/demos/builder/Experiments/GoNoGo/gng.psyexp +462 -0
  1271. psychopy/demos/builder/Experiments/GoNoGo/go.png +0 -0
  1272. psychopy/demos/builder/Experiments/GoNoGo/nogo.png +0 -0
  1273. psychopy/demos/builder/Experiments/dragAndDrop/README.md +5 -0
  1274. psychopy/demos/builder/Experiments/dragAndDrop/drag_and_drop.psyexp +494 -0
  1275. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/blank_grid.png +0 -0
  1276. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/make_shapes.psyexp +221 -0
  1277. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/readme.md +4 -0
  1278. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_1.png +0 -0
  1279. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_10.png +0 -0
  1280. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_2.png +0 -0
  1281. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_3.png +0 -0
  1282. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_4.png +0 -0
  1283. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_5.png +0 -0
  1284. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_6.png +0 -0
  1285. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_7.png +0 -0
  1286. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_8.png +0 -0
  1287. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solution_9.png +0 -0
  1288. psychopy/demos/builder/Experiments/dragAndDrop/stimuli/solutions.xlsx +0 -0
  1289. psychopy/demos/builder/Experiments/goNoGo/readme.md +14 -0
  1290. psychopy/demos/builder/Experiments/mentalRotation/F.png +0 -0
  1291. psychopy/demos/builder/Experiments/mentalRotation/FR.png +0 -0
  1292. psychopy/demos/builder/Experiments/mentalRotation/MentalRot.csv +33 -0
  1293. psychopy/demos/builder/Experiments/mentalRotation/MentalRotation.psyexp +646 -0
  1294. psychopy/demos/builder/Experiments/mentalRotation/README.md +23 -0
  1295. psychopy/demos/builder/Experiments/navon/NavonTask.psyexp +509 -0
  1296. psychopy/demos/builder/Experiments/navon/README.md +26 -0
  1297. psychopy/demos/builder/Experiments/navon/bigHsmallH.png +0 -0
  1298. psychopy/demos/builder/Experiments/navon/bigHsmallS.png +0 -0
  1299. psychopy/demos/builder/Experiments/navon/bigSsmallH.png +0 -0
  1300. psychopy/demos/builder/Experiments/navon/bigSsmallS.png +0 -0
  1301. psychopy/demos/builder/Experiments/navon/mask.png +0 -0
  1302. psychopy/demos/builder/Experiments/navon/stimuli.pptx +0 -0
  1303. psychopy/demos/builder/Experiments/navon/trialTypes.xlsx +0 -0
  1304. psychopy/demos/builder/Experiments/sternberg/README.md +14 -0
  1305. psychopy/demos/builder/Experiments/sternberg/mainTrials.xlsx +0 -0
  1306. psychopy/demos/builder/Experiments/sternberg/pracTrials.xlsx +0 -0
  1307. psychopy/demos/builder/Experiments/sternberg/sternberg.psyexp +649 -0
  1308. psychopy/demos/builder/Experiments/stroop/README.md +15 -0
  1309. psychopy/demos/builder/Experiments/stroop/stroop.psyexp +321 -0
  1310. psychopy/demos/builder/Experiments/stroop/trialTypes.csv +7 -0
  1311. psychopy/demos/builder/Experiments/stroopExtended/README.md +14 -0
  1312. psychopy/demos/builder/Experiments/stroopExtended/stroop.psyexp +418 -0
  1313. psychopy/demos/builder/Experiments/stroopExtended/stroopReverse.psyexp +418 -0
  1314. psychopy/demos/builder/Experiments/stroopExtended/trialTypes.xlsx +0 -0
  1315. psychopy/demos/builder/Experiments/stroopExtended/trialTypesReverse.xlsx +0 -0
  1316. psychopy/demos/builder/Experiments/stroopVoice/README.md +27 -0
  1317. psychopy/demos/builder/Experiments/stroopVoice/conditions.xlsx +0 -0
  1318. psychopy/demos/builder/Experiments/stroopVoice/stroopVoice.psyexp +382 -0
  1319. psychopy/demos/builder/Feature Demos/buttonBox/buttonBoxDemo.psyexp +371 -0
  1320. psychopy/demos/builder/Feature Demos/buttonBox/readme.md +5 -0
  1321. psychopy/demos/builder/Feature Demos/counterbalance/counterbalance.psyexp +308 -0
  1322. psychopy/demos/builder/Feature Demos/gratings/gratings.psyexp +391 -0
  1323. psychopy/demos/builder/Feature Demos/gratings/readme.md +8 -0
  1324. psychopy/demos/builder/Feature Demos/movies/movie.psyexp +220 -0
  1325. psychopy/demos/builder/Feature Demos/movies/readme.md +3 -0
  1326. psychopy/demos/builder/Feature Demos/noise/face.jpg +0 -0
  1327. psychopy/demos/builder/Feature Demos/noise/noise.psyexp +477 -0
  1328. psychopy/demos/builder/Feature Demos/noise/readme.md +3 -0
  1329. psychopy/demos/builder/Feature Demos/panorama/panImg.jpg +0 -0
  1330. psychopy/demos/builder/Feature Demos/panorama/panorama.psyexp +177 -0
  1331. psychopy/demos/builder/Feature Demos/pilotMode/pilotMode.psyexp +434 -0
  1332. psychopy/demos/builder/Feature Demos/pilotMode/readme.md +7 -0
  1333. psychopy/demos/builder/Feature Demos/progress/progressBar.psyexp +451 -0
  1334. psychopy/demos/builder/Feature Demos/progress/readme.md +1 -0
  1335. psychopy/demos/builder/Feature Demos/sliders/README.md +8 -0
  1336. psychopy/demos/builder/Feature Demos/sliders/fruitConditions.xlsx +0 -0
  1337. psychopy/demos/builder/Feature Demos/sliders/sliders.psyexp +984 -0
  1338. psychopy/demos/builder/Feature Demos/visualValidator/readme.md +7 -0
  1339. psychopy/demos/builder/Feature Demos/visualValidator/visualValidator.psyexp +199 -0
  1340. psychopy/demos/builder/Hardware/EEG_parallel_component/EEG_triggers_parallel_comp.psyexp +639 -0
  1341. psychopy/demos/builder/Hardware/EEG_serial_code/EEG_triggers_serial_code.psyexp +415 -0
  1342. psychopy/demos/builder/Hardware/EEG_serial_component/EEG_triggers_serial_comp.psyexp +659 -0
  1343. psychopy/demos/builder/Hardware/EGI_netstation/README.md +17 -0
  1344. psychopy/demos/builder/Hardware/EGI_netstation/stroop.psyexp +339 -0
  1345. psychopy/demos/builder/Hardware/EGI_netstation/trialTypesEEG.csv +7 -0
  1346. psychopy/demos/builder/Hardware/Eyetracking_visual_search/readme.md +19 -0
  1347. psychopy/demos/builder/Hardware/Eyetracking_visual_search/trials_params.xlsx +0 -0
  1348. psychopy/demos/builder/Hardware/Eyetracking_visual_search/visualSearch.psyexp +830 -0
  1349. psychopy/demos/builder/Hardware/camera/camera.psyexp +330 -0
  1350. psychopy/demos/builder/Hardware/camera/readme.md +6 -0
  1351. psychopy/demos/builder/Hardware/eyetracking/eyetracking.psyexp +459 -0
  1352. psychopy/demos/builder/Hardware/eyetracking/readme.md +7 -0
  1353. psychopy/demos/builder/Hardware/eyetracking_custom_cal/Bullseye_grey.mov +0 -0
  1354. psychopy/demos/builder/Hardware/eyetracking_custom_cal/eyetracking_custom_cal.psyexp +468 -0
  1355. psychopy/demos/builder/Hardware/eyetracking_custom_cal/readme.md +7 -0
  1356. psychopy/demos/builder/Hardware/fMRI/fMRI_demo.psyexp +211 -0
  1357. psychopy/demos/builder/Hardware/fMRI/readme.md +7 -0
  1358. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo.psyexp +360 -0
  1359. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy.psyexp +360 -0
  1360. psychopy/demos/builder/Hardware/lab_streaming_layer/lsl_triggers_demo_legacy_legacy.psyexp +312 -0
  1361. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy.psyexp +360 -0
  1362. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy.psyexp +360 -0
  1363. psychopy/demos/builder/Hardware/lab_streaming_layer_legacy/lsl_triggers_demo_legacy_legacy_legacy.psyexp +312 -0
  1364. psychopy/demos/builder/Hardware/microphone/microphone.psyexp +484 -0
  1365. psychopy/demos/builder/Hardware/microphone/phrases.xlsx +0 -0
  1366. psychopy/demos/builder/Hardware/microphone/readme.md +9 -0
  1367. psychopy/demos/builder/Hardware/pump/README.md +19 -0
  1368. psychopy/demos/builder/Hardware/pump/pump.psyexp +646 -0
  1369. psychopy/demos/builder/Helper Tools/achorVSalignment/FlowCircular-Regular.ttf +0 -0
  1370. psychopy/demos/builder/Helper Tools/achorVSalignment/anchorAlignment.psyexp +350 -0
  1371. psychopy/demos/builder/Helper Tools/achorVSalignment/readme.md +5 -0
  1372. psychopy/demos/builder/Helper Tools/clockFace/README.md +3 -0
  1373. psychopy/demos/builder/Helper Tools/clockFace/clockFace.psyexp +211 -0
  1374. psychopy/demos/builder/Helper Tools/colors/README.md +5 -0
  1375. psychopy/demos/builder/Helper Tools/colors/colors.psyexp +321 -0
  1376. psychopy/demos/builder/Helper Tools/drawPolygon/README.md +5 -0
  1377. psychopy/demos/builder/Helper Tools/drawPolygon/drawPolygon.psyexp +704 -0
  1378. psychopy/demos/builder/Helper Tools/keyNameFinder/README.md +14 -0
  1379. psychopy/demos/builder/Helper Tools/keyNameFinder/keyNameFinder.psyexp +225 -0
  1380. psychopy/demos/builder/Helper Tools/spatialUnits/README.md +6 -0
  1381. psychopy/demos/builder/Helper Tools/spatialUnits/unitDemo.psyexp +206 -0
  1382. psychopy/demos/builder/README.txt +43 -0
  1383. psychopy/demos/builder/__init__.py +0 -0
  1384. psychopy/demos/coder/__init__.py +0 -0
  1385. psychopy/demos/coder/basic/hello_world.py +37 -0
  1386. psychopy/demos/coder/csvFromPsydat.py +29 -0
  1387. psychopy/demos/coder/experiment control/JND_staircase_analysis.py +85 -0
  1388. psychopy/demos/coder/experiment control/JND_staircase_exp.py +110 -0
  1389. psychopy/demos/coder/experiment control/TrialHandler.py +64 -0
  1390. psychopy/demos/coder/experiment control/TrialHandler2.py +42 -0
  1391. psychopy/demos/coder/experiment control/__init__.py +0 -0
  1392. psychopy/demos/coder/experiment control/autoDraw_autoLog.py +50 -0
  1393. psychopy/demos/coder/experiment control/experimentHandler.py +57 -0
  1394. psychopy/demos/coder/experiment control/fMRI_launchScan.py +74 -0
  1395. psychopy/demos/coder/experiment control/gammaMotionAnalysis.py +68 -0
  1396. psychopy/demos/coder/experiment control/gammaMotionNull.py +169 -0
  1397. psychopy/demos/coder/experiment control/logFiles.py +55 -0
  1398. psychopy/demos/coder/experiment control/piloting.py +65 -0
  1399. psychopy/demos/coder/experiment control/runtimeInfo.py +79 -0
  1400. psychopy/demos/coder/hardware/CRS_BitsBox.py +75 -0
  1401. psychopy/demos/coder/hardware/CRS_BitsPlusPlus.py +73 -0
  1402. psychopy/demos/coder/hardware/RiftHeadTrackingExample.py +95 -0
  1403. psychopy/demos/coder/hardware/RiftMinimal.py +44 -0
  1404. psychopy/demos/coder/hardware/VSHD_Distortion.py +49 -0
  1405. psychopy/demos/coder/hardware/__init__.py +0 -0
  1406. psychopy/demos/coder/hardware/camera.py +90 -0
  1407. psychopy/demos/coder/hardware/cedrusRB730.py +38 -0
  1408. psychopy/demos/coder/hardware/crsBitsAdvancedDemo.py +780 -0
  1409. psychopy/demos/coder/hardware/egi_netstation.py +45 -0
  1410. psychopy/demos/coder/hardware/hdf5_extract.py +133 -0
  1411. psychopy/demos/coder/hardware/ioLab_bbox.py +62 -0
  1412. psychopy/demos/coder/hardware/labjack_u3.py +61 -0
  1413. psychopy/demos/coder/hardware/monitorDemo.py +28 -0
  1414. psychopy/demos/coder/hardware/parallelPortOutput.py +49 -0
  1415. psychopy/demos/coder/hardware/qmixPump.py +79 -0
  1416. psychopy/demos/coder/hardware/testSoundLatency.py +127 -0
  1417. psychopy/demos/coder/input/GUI.py +52 -0
  1418. psychopy/demos/coder/input/__init__.py +0 -0
  1419. psychopy/demos/coder/input/customMouse.py +51 -0
  1420. psychopy/demos/coder/input/joystick_universal.py +84 -0
  1421. psychopy/demos/coder/input/keyNameFinder.py +39 -0
  1422. psychopy/demos/coder/input/mic.png +0 -0
  1423. psychopy/demos/coder/input/mouse.py +66 -0
  1424. psychopy/demos/coder/iohub/delaytest.py +231 -0
  1425. psychopy/demos/coder/iohub/eyetracking/gcCursor/images/canal.jpg +0 -0
  1426. psychopy/demos/coder/iohub/eyetracking/gcCursor/images/fall.jpg +0 -0
  1427. psychopy/demos/coder/iohub/eyetracking/gcCursor/images/lake.jpg +0 -0
  1428. psychopy/demos/coder/iohub/eyetracking/gcCursor/images/party.jpg +0 -0
  1429. psychopy/demos/coder/iohub/eyetracking/gcCursor/images/swimming.jpg +0 -0
  1430. psychopy/demos/coder/iohub/eyetracking/gcCursor/readTrialEventsByConditionVariables.py +67 -0
  1431. psychopy/demos/coder/iohub/eyetracking/gcCursor/readTrialEventsByMessages.py +34 -0
  1432. psychopy/demos/coder/iohub/eyetracking/gcCursor/run.py +323 -0
  1433. psychopy/demos/coder/iohub/eyetracking/gcCursor/trial_conditions.xlsx +0 -0
  1434. psychopy/demos/coder/iohub/eyetracking/simple.py +147 -0
  1435. psychopy/demos/coder/iohub/eyetracking/validation.py +251 -0
  1436. psychopy/demos/coder/iohub/iodatastore/saveEventReport.py +56 -0
  1437. psychopy/demos/coder/iohub/keyboard.py +189 -0
  1438. psychopy/demos/coder/iohub/keyboardreactiontime.py +88 -0
  1439. psychopy/demos/coder/iohub/launchHub.py +160 -0
  1440. psychopy/demos/coder/iohub/mouse.py +112 -0
  1441. psychopy/demos/coder/iohub/mouse_multi_window.py +124 -0
  1442. psychopy/demos/coder/iohub/serial/_parseserial.py +53 -0
  1443. psychopy/demos/coder/iohub/serial/customparser.py +84 -0
  1444. psychopy/demos/coder/iohub/serial/pstbox.py +166 -0
  1445. psychopy/demos/coder/iohub/wintab/_wintabgraphics.py +281 -0
  1446. psychopy/demos/coder/iohub/wintab/pen_demo.py +260 -0
  1447. psychopy/demos/coder/misc/encrypt_data.py +48 -0
  1448. psychopy/demos/coder/misc/hdf5_2_csv +33 -0
  1449. psychopy/demos/coder/misc/makeMovie.py +28 -0
  1450. psychopy/demos/coder/misc/rigidBodyTransform.py +76 -0
  1451. psychopy/demos/coder/stimuli/Campaign.ttf +0 -0
  1452. psychopy/demos/coder/stimuli/MovieStim.py +65 -0
  1453. psychopy/demos/coder/stimuli/__init__.py +0 -0
  1454. psychopy/demos/coder/stimuli/aperture.py +37 -0
  1455. psychopy/demos/coder/stimuli/beach.jpg +0 -0
  1456. psychopy/demos/coder/stimuli/bufferImageStim.py +78 -0
  1457. psychopy/demos/coder/stimuli/clockface.py +43 -0
  1458. psychopy/demos/coder/stimuli/colorPalette.py +134 -0
  1459. psychopy/demos/coder/stimuli/compare_text_timing.py +193 -0
  1460. psychopy/demos/coder/stimuli/counterphase.py +43 -0
  1461. psychopy/demos/coder/stimuli/customTextures.py +57 -0
  1462. psychopy/demos/coder/stimuli/dot_gabors.py +35 -0
  1463. psychopy/demos/coder/stimuli/dots.py +35 -0
  1464. psychopy/demos/coder/stimuli/elementArrays.py +92 -0
  1465. psychopy/demos/coder/stimuli/embeddedOpenGL.py +35 -0
  1466. psychopy/demos/coder/stimuli/face.jpg +0 -0
  1467. psychopy/demos/coder/stimuli/face_jpg.py +48 -0
  1468. psychopy/demos/coder/stimuli/gabor.py +30 -0
  1469. psychopy/demos/coder/stimuli/imagesAndPatches.py +51 -0
  1470. psychopy/demos/coder/stimuli/jwpIntro.mp4 +0 -0
  1471. psychopy/demos/coder/stimuli/kanizsa.py +41 -0
  1472. psychopy/demos/coder/stimuli/maskReveal.py +63 -0
  1473. psychopy/demos/coder/stimuli/plaid.py +43 -0
  1474. psychopy/demos/coder/stimuli/ratingScale.py +183 -0
  1475. psychopy/demos/coder/stimuli/rotatingFlashingWedge.py +37 -0
  1476. psychopy/demos/coder/stimuli/screensAndWindows.py +58 -0
  1477. psychopy/demos/coder/stimuli/secondOrderGratings.py +66 -0
  1478. psychopy/demos/coder/stimuli/shapeContains.py +50 -0
  1479. psychopy/demos/coder/stimuli/shapes.py +63 -0
  1480. psychopy/demos/coder/stimuli/soundStimuli.py +49 -0
  1481. psychopy/demos/coder/stimuli/starField.py +48 -0
  1482. psychopy/demos/coder/stimuli/stim3d.py +107 -0
  1483. psychopy/demos/coder/stimuli/textBoxStim/textbox_glyph_placement.py +93 -0
  1484. psychopy/demos/coder/stimuli/textBoxStim/textbox_simple.py +71 -0
  1485. psychopy/demos/coder/stimuli/textStimuli.py +106 -0
  1486. psychopy/demos/coder/stimuli/textbox_editable.py +64 -0
  1487. psychopy/demos/coder/stimuli/variousVisualStims.py +47 -0
  1488. psychopy/demos/coder/stimuli/visual_noise.py +31 -0
  1489. psychopy/demos/coder/sysInfo.py +56 -0
  1490. psychopy/demos/coder/timing/__init__.py +0 -0
  1491. psychopy/demos/coder/timing/callOnFlip.py +39 -0
  1492. psychopy/demos/coder/timing/clocksAndTimers.py +46 -0
  1493. psychopy/demos/coder/timing/millikeyKeyboardTimingTest.py +323 -0
  1494. psychopy/demos/coder/timing/timeByFrames.py +80 -0
  1495. psychopy/demos/coder/timing/timeByFramesEx.py +107 -0
  1496. psychopy/demos/coder/understanding psychopy/colors.py +70 -0
  1497. psychopy/demos/coder/understanding psychopy/fontLayout.py +69 -0
  1498. psychopy/demos/demo_migration.py +214 -0
  1499. psychopy/demos/modernizeDemos.py +16 -0
  1500. psychopy/demos/test_demo_migration.py +155 -0
  1501. psychopy/devices/__init__.py +8 -0
  1502. psychopy/event.py +1339 -0
  1503. psychopy/exceptions.py +59 -0
  1504. psychopy/experiment/__init__.py +51 -0
  1505. psychopy/experiment/_experiment.py +1514 -0
  1506. psychopy/experiment/blankTemplate.xltx +0 -0
  1507. psychopy/experiment/components/__init__.py +402 -0
  1508. psychopy/experiment/components/_base.py +1689 -0
  1509. psychopy/experiment/components/aperture/__init__.py +153 -0
  1510. psychopy/experiment/components/aperture/classic/aperture.png +0 -0
  1511. psychopy/experiment/components/aperture/classic/aperture@2x.png +0 -0
  1512. psychopy/experiment/components/aperture/dark/aperture.png +0 -0
  1513. psychopy/experiment/components/aperture/dark/aperture@2x.png +0 -0
  1514. psychopy/experiment/components/aperture/light/aperture.png +0 -0
  1515. psychopy/experiment/components/aperture/light/aperture@2x.png +0 -0
  1516. psychopy/experiment/components/brush/__init__.py +165 -0
  1517. psychopy/experiment/components/brush/classic/brush.png +0 -0
  1518. psychopy/experiment/components/brush/classic/brush@2x.png +0 -0
  1519. psychopy/experiment/components/brush/dark/brush.png +0 -0
  1520. psychopy/experiment/components/brush/dark/brush@2x.png +0 -0
  1521. psychopy/experiment/components/brush/light/brush.png +0 -0
  1522. psychopy/experiment/components/brush/light/brush@2x.png +0 -0
  1523. psychopy/experiment/components/button/__init__.py +493 -0
  1524. psychopy/experiment/components/button/classic/button.png +0 -0
  1525. psychopy/experiment/components/button/classic/button@2x.png +0 -0
  1526. psychopy/experiment/components/button/dark/button.png +0 -0
  1527. psychopy/experiment/components/button/dark/button@2x.png +0 -0
  1528. psychopy/experiment/components/button/light/button.png +0 -0
  1529. psychopy/experiment/components/button/light/button@2x.png +0 -0
  1530. psychopy/experiment/components/buttonBox/__init__.py +322 -0
  1531. psychopy/experiment/components/buttonBox/classic/buttonBox.png +0 -0
  1532. psychopy/experiment/components/buttonBox/classic/buttonBox@2x.png +0 -0
  1533. psychopy/experiment/components/buttonBox/dark/buttonBox.png +0 -0
  1534. psychopy/experiment/components/buttonBox/dark/buttonBox@2x.png +0 -0
  1535. psychopy/experiment/components/buttonBox/light/buttonBox.png +0 -0
  1536. psychopy/experiment/components/buttonBox/light/buttonBox@2x.png +0 -0
  1537. psychopy/experiment/components/camera/__init__.py +381 -0
  1538. psychopy/experiment/components/camera/classic/webcam.png +0 -0
  1539. psychopy/experiment/components/camera/classic/webcam@2x.png +0 -0
  1540. psychopy/experiment/components/camera/dark/webcam.png +0 -0
  1541. psychopy/experiment/components/camera/dark/webcam@2x.png +0 -0
  1542. psychopy/experiment/components/camera/light/webcam.png +0 -0
  1543. psychopy/experiment/components/camera/light/webcam@2x.png +0 -0
  1544. psychopy/experiment/components/code/__init__.py +299 -0
  1545. psychopy/experiment/components/code/classic/code.png +0 -0
  1546. psychopy/experiment/components/code/classic/code@2x.png +0 -0
  1547. psychopy/experiment/components/code/dark/code.png +0 -0
  1548. psychopy/experiment/components/code/dark/code@2x.png +0 -0
  1549. psychopy/experiment/components/code/light/code.png +0 -0
  1550. psychopy/experiment/components/code/light/code@2x.png +0 -0
  1551. psychopy/experiment/components/dots/__init__.py +199 -0
  1552. psychopy/experiment/components/dots/classic/dots.png +0 -0
  1553. psychopy/experiment/components/dots/classic/dots@2x.png +0 -0
  1554. psychopy/experiment/components/dots/dark/dots.png +0 -0
  1555. psychopy/experiment/components/dots/dark/dots@2x.png +0 -0
  1556. psychopy/experiment/components/dots/dots.xcf +0 -0
  1557. psychopy/experiment/components/dots/light/dots.png +0 -0
  1558. psychopy/experiment/components/dots/light/dots@2x.png +0 -0
  1559. psychopy/experiment/components/eyetracker_record/__init__.py +194 -0
  1560. psychopy/experiment/components/eyetracker_record/classic/eyetracker_record.png +0 -0
  1561. psychopy/experiment/components/eyetracker_record/classic/eyetracker_record@2x.png +0 -0
  1562. psychopy/experiment/components/eyetracker_record/dark/eyetracker_record.png +0 -0
  1563. psychopy/experiment/components/eyetracker_record/dark/eyetracker_record@2x.png +0 -0
  1564. psychopy/experiment/components/eyetracker_record/light/eyetracker_record.png +0 -0
  1565. psychopy/experiment/components/eyetracker_record/light/eyetracker_record@2x.png +0 -0
  1566. psychopy/experiment/components/form/__init__.py +227 -0
  1567. psychopy/experiment/components/form/classic/form.png +0 -0
  1568. psychopy/experiment/components/form/classic/form@2x.png +0 -0
  1569. psychopy/experiment/components/form/dark/form.png +0 -0
  1570. psychopy/experiment/components/form/dark/form@2x.png +0 -0
  1571. psychopy/experiment/components/form/formItems.xltx +0 -0
  1572. psychopy/experiment/components/form/light/form.png +0 -0
  1573. psychopy/experiment/components/form/light/form@2x.png +0 -0
  1574. psychopy/experiment/components/grating/__init__.py +203 -0
  1575. psychopy/experiment/components/grating/classic/grating.png +0 -0
  1576. psychopy/experiment/components/grating/classic/grating@2x.png +0 -0
  1577. psychopy/experiment/components/grating/dark/grating.png +0 -0
  1578. psychopy/experiment/components/grating/dark/grating@2x.png +0 -0
  1579. psychopy/experiment/components/grating/light/grating.png +0 -0
  1580. psychopy/experiment/components/grating/light/grating@2x.png +0 -0
  1581. psychopy/experiment/components/image/__init__.py +195 -0
  1582. psychopy/experiment/components/image/classic/image.png +0 -0
  1583. psychopy/experiment/components/image/classic/image@2x.png +0 -0
  1584. psychopy/experiment/components/image/dark/image.png +0 -0
  1585. psychopy/experiment/components/image/dark/image@2x.png +0 -0
  1586. psychopy/experiment/components/image/light/image.png +0 -0
  1587. psychopy/experiment/components/image/light/image@2x.png +0 -0
  1588. psychopy/experiment/components/joyButtons/__init__.py +453 -0
  1589. psychopy/experiment/components/joyButtons/classic/joyButtons.png +0 -0
  1590. psychopy/experiment/components/joyButtons/classic/joybuttons@2x.png +0 -0
  1591. psychopy/experiment/components/joyButtons/dark/joyButtons.png +0 -0
  1592. psychopy/experiment/components/joyButtons/dark/joyButtons@2x.png +0 -0
  1593. psychopy/experiment/components/joyButtons/light/joyButtons.png +0 -0
  1594. psychopy/experiment/components/joyButtons/light/joyButtons@2x.png +0 -0
  1595. psychopy/experiment/components/joyButtons/virtualJoyButtons.py +34 -0
  1596. psychopy/experiment/components/joystick/__init__.py +572 -0
  1597. psychopy/experiment/components/joystick/classic/joystick.png +0 -0
  1598. psychopy/experiment/components/joystick/classic/joystick@2x.png +0 -0
  1599. psychopy/experiment/components/joystick/dark/joystick.png +0 -0
  1600. psychopy/experiment/components/joystick/dark/joystick@2x.png +0 -0
  1601. psychopy/experiment/components/joystick/light/joystick.png +0 -0
  1602. psychopy/experiment/components/joystick/light/joystick@2x.png +0 -0
  1603. psychopy/experiment/components/joystick/virtualJoystick.py +40 -0
  1604. psychopy/experiment/components/keyboard/__init__.py +568 -0
  1605. psychopy/experiment/components/keyboard/classic/keyboard.png +0 -0
  1606. psychopy/experiment/components/keyboard/classic/keyboard@2x.png +0 -0
  1607. psychopy/experiment/components/keyboard/dark/keyboard.png +0 -0
  1608. psychopy/experiment/components/keyboard/dark/keyboard@2x.png +0 -0
  1609. psychopy/experiment/components/keyboard/light/keyboard.png +0 -0
  1610. psychopy/experiment/components/keyboard/light/keyboard@2x.png +0 -0
  1611. psychopy/experiment/components/keyboard.xcf +0 -0
  1612. psychopy/experiment/components/microphone/__init__.py +600 -0
  1613. psychopy/experiment/components/microphone/classic/microphone.png +0 -0
  1614. psychopy/experiment/components/microphone/classic/microphone@2x.png +0 -0
  1615. psychopy/experiment/components/microphone/dark/microphone.png +0 -0
  1616. psychopy/experiment/components/microphone/dark/microphone@2x.png +0 -0
  1617. psychopy/experiment/components/microphone/light/microphone.png +0 -0
  1618. psychopy/experiment/components/microphone/light/microphone@2x.png +0 -0
  1619. psychopy/experiment/components/mouse/__init__.py +773 -0
  1620. psychopy/experiment/components/mouse/classic/mouse.png +0 -0
  1621. psychopy/experiment/components/mouse/classic/mouse@2x.png +0 -0
  1622. psychopy/experiment/components/mouse/dark/mouse.png +0 -0
  1623. psychopy/experiment/components/mouse/dark/mouse@2x.png +0 -0
  1624. psychopy/experiment/components/mouse/light/mouse.png +0 -0
  1625. psychopy/experiment/components/mouse/light/mouse@2x.png +0 -0
  1626. psychopy/experiment/components/movie/__init__.py +348 -0
  1627. psychopy/experiment/components/movie/classic/movie.png +0 -0
  1628. psychopy/experiment/components/movie/classic/movie@2x.png +0 -0
  1629. psychopy/experiment/components/movie/dark/movie.png +0 -0
  1630. psychopy/experiment/components/movie/dark/movie@2x.png +0 -0
  1631. psychopy/experiment/components/movie/light/movie.png +0 -0
  1632. psychopy/experiment/components/movie/light/movie@2x.png +0 -0
  1633. psychopy/experiment/components/panorama/__init__.py +456 -0
  1634. psychopy/experiment/components/panorama/classic/panorama.png +0 -0
  1635. psychopy/experiment/components/panorama/classic/panorama@2x.png +0 -0
  1636. psychopy/experiment/components/panorama/dark/panorama.png +0 -0
  1637. psychopy/experiment/components/panorama/dark/panorama@2x.png +0 -0
  1638. psychopy/experiment/components/panorama/light/panorama.png +0 -0
  1639. psychopy/experiment/components/panorama/light/panorama@2x.png +0 -0
  1640. psychopy/experiment/components/parallelOut/__init__.py +178 -0
  1641. psychopy/experiment/components/parallelOut/classic/parallel.png +0 -0
  1642. psychopy/experiment/components/parallelOut/classic/parallel@2x.png +0 -0
  1643. psychopy/experiment/components/parallelOut/dark/parallel.png +0 -0
  1644. psychopy/experiment/components/parallelOut/dark/parallel@2x.png +0 -0
  1645. psychopy/experiment/components/parallelOut/light/parallel.png +0 -0
  1646. psychopy/experiment/components/parallelOut/light/parallel@2x.png +0 -0
  1647. psychopy/experiment/components/polygon/__init__.py +332 -0
  1648. psychopy/experiment/components/polygon/classic/polygon.png +0 -0
  1649. psychopy/experiment/components/polygon/classic/polygon@2x.png +0 -0
  1650. psychopy/experiment/components/polygon/dark/polygon.png +0 -0
  1651. psychopy/experiment/components/polygon/dark/polygon@2x.png +0 -0
  1652. psychopy/experiment/components/polygon/light/polygon.png +0 -0
  1653. psychopy/experiment/components/polygon/light/polygon@2x.png +0 -0
  1654. psychopy/experiment/components/progress/__init__.py +130 -0
  1655. psychopy/experiment/components/progress/classic/progress.png +0 -0
  1656. psychopy/experiment/components/progress/classic/progress@2x.png +0 -0
  1657. psychopy/experiment/components/progress/dark/progress.png +0 -0
  1658. psychopy/experiment/components/progress/dark/progress@2x.png +0 -0
  1659. psychopy/experiment/components/progress/light/progress.png +0 -0
  1660. psychopy/experiment/components/progress/light/progress@2x.png +0 -0
  1661. psychopy/experiment/components/resourceManager/__init__.py +176 -0
  1662. psychopy/experiment/components/resourceManager/classic/resource_manager.png +0 -0
  1663. psychopy/experiment/components/resourceManager/classic/resource_manager@2x.png +0 -0
  1664. psychopy/experiment/components/resourceManager/dark/resource_manager.png +0 -0
  1665. psychopy/experiment/components/resourceManager/dark/resource_manager@2x.png +0 -0
  1666. psychopy/experiment/components/resourceManager/light/resource_manager.png +0 -0
  1667. psychopy/experiment/components/resourceManager/light/resource_manager@2x.png +0 -0
  1668. psychopy/experiment/components/roi/__init__.py +316 -0
  1669. psychopy/experiment/components/roi/classic/eyetracker_roi.png +0 -0
  1670. psychopy/experiment/components/roi/classic/eyetracker_roi@2x.png +0 -0
  1671. psychopy/experiment/components/roi/dark/eyetracker_roi.png +0 -0
  1672. psychopy/experiment/components/roi/dark/eyetracker_roi@2X.png +0 -0
  1673. psychopy/experiment/components/roi/light/eyetracker_roi.png +0 -0
  1674. psychopy/experiment/components/roi/light/eyetracker_roi@2X.png +0 -0
  1675. psychopy/experiment/components/routineSettings/__init__.py +387 -0
  1676. psychopy/experiment/components/routineSettings/classic/routineSettings.png +0 -0
  1677. psychopy/experiment/components/routineSettings/classic/routineSettings@2x.png +0 -0
  1678. psychopy/experiment/components/routineSettings/dark/routineSettings.png +0 -0
  1679. psychopy/experiment/components/routineSettings/dark/routineSettings@2x.png +0 -0
  1680. psychopy/experiment/components/routineSettings/light/routineSettings.png +0 -0
  1681. psychopy/experiment/components/routineSettings/light/routineSettings@2x.png +0 -0
  1682. psychopy/experiment/components/serialOut/__init__.py +304 -0
  1683. psychopy/experiment/components/serialOut/classic/serial.png +0 -0
  1684. psychopy/experiment/components/serialOut/classic/serial@2x.png +0 -0
  1685. psychopy/experiment/components/serialOut/dark/serial.png +0 -0
  1686. psychopy/experiment/components/serialOut/dark/serial@2x.png +0 -0
  1687. psychopy/experiment/components/serialOut/light/serial.png +0 -0
  1688. psychopy/experiment/components/serialOut/light/serial@2x.png +0 -0
  1689. psychopy/experiment/components/settings/JS_htmlHeader.tmpl +23 -0
  1690. psychopy/experiment/components/settings/JS_setupExp.tmpl +28 -0
  1691. psychopy/experiment/components/settings/__init__.py +2254 -0
  1692. psychopy/experiment/components/settings/classic/settings.png +0 -0
  1693. psychopy/experiment/components/settings/classic/settings@2x.png +0 -0
  1694. psychopy/experiment/components/settings/dark/settings.png +0 -0
  1695. psychopy/experiment/components/settings/dark/settings@2x.png +0 -0
  1696. psychopy/experiment/components/settings/eyetracking.py +108 -0
  1697. psychopy/experiment/components/settings/light/settings.png +0 -0
  1698. psychopy/experiment/components/settings/light/settings@2x.png +0 -0
  1699. psychopy/experiment/components/slider/__init__.py +410 -0
  1700. psychopy/experiment/components/slider/classic/slider.png +0 -0
  1701. psychopy/experiment/components/slider/classic/slider@2x.png +0 -0
  1702. psychopy/experiment/components/slider/dark/slider.png +0 -0
  1703. psychopy/experiment/components/slider/dark/slider@2x.png +0 -0
  1704. psychopy/experiment/components/slider/light/slider.png +0 -0
  1705. psychopy/experiment/components/slider/light/slider@2x.png +0 -0
  1706. psychopy/experiment/components/sound/__init__.py +441 -0
  1707. psychopy/experiment/components/sound/classic/sound.png +0 -0
  1708. psychopy/experiment/components/sound/classic/sound@2x.png +0 -0
  1709. psychopy/experiment/components/sound/dark/sound.png +0 -0
  1710. psychopy/experiment/components/sound/dark/sound@2x.png +0 -0
  1711. psychopy/experiment/components/sound/light/sound.png +0 -0
  1712. psychopy/experiment/components/sound/light/sound@2x.png +0 -0
  1713. psychopy/experiment/components/soundsensor/__init__.py +324 -0
  1714. psychopy/experiment/components/soundsensor/classic/soundsensor.png +0 -0
  1715. psychopy/experiment/components/soundsensor/classic/soundsensor@2x.png +0 -0
  1716. psychopy/experiment/components/soundsensor/dark/soundsensor.png +0 -0
  1717. psychopy/experiment/components/soundsensor/dark/soundsensor@2x.png +0 -0
  1718. psychopy/experiment/components/soundsensor/light/soundsensor.png +0 -0
  1719. psychopy/experiment/components/soundsensor/light/soundsensor@2x.png +0 -0
  1720. psychopy/experiment/components/static/__init__.py +293 -0
  1721. psychopy/experiment/components/static/classic/static.png +0 -0
  1722. psychopy/experiment/components/static/classic/static@2x.png +0 -0
  1723. psychopy/experiment/components/static/dark/static.png +0 -0
  1724. psychopy/experiment/components/static/dark/static@2x.png +0 -0
  1725. psychopy/experiment/components/static/light/static.png +0 -0
  1726. psychopy/experiment/components/static/light/static@2x.png +0 -0
  1727. psychopy/experiment/components/text/__init__.py +190 -0
  1728. psychopy/experiment/components/text/classic/text.png +0 -0
  1729. psychopy/experiment/components/text/classic/text@2x.png +0 -0
  1730. psychopy/experiment/components/text/dark/text.png +0 -0
  1731. psychopy/experiment/components/text/dark/text@2x.png +0 -0
  1732. psychopy/experiment/components/text/light/text.png +0 -0
  1733. psychopy/experiment/components/text/light/text@2x.png +0 -0
  1734. psychopy/experiment/components/textbox/__init__.py +336 -0
  1735. psychopy/experiment/components/textbox/classic/textbox.png +0 -0
  1736. psychopy/experiment/components/textbox/classic/textbox@2x.png +0 -0
  1737. psychopy/experiment/components/textbox/dark/textbox.png +0 -0
  1738. psychopy/experiment/components/textbox/dark/textbox@2x.png +0 -0
  1739. psychopy/experiment/components/textbox/light/textbox.png +0 -0
  1740. psychopy/experiment/components/textbox/light/textbox@2x.png +0 -0
  1741. psychopy/experiment/components/unknown/__init__.py +87 -0
  1742. psychopy/experiment/components/unknown/classic/unknown.png +0 -0
  1743. psychopy/experiment/components/unknown/classic/unknown@2x.png +0 -0
  1744. psychopy/experiment/components/unknown/dark/unknown.png +0 -0
  1745. psychopy/experiment/components/unknown/dark/unknown@2x.png +0 -0
  1746. psychopy/experiment/components/unknown/light/unknown.png +0 -0
  1747. psychopy/experiment/components/unknown/light/unknown@2x.png +0 -0
  1748. psychopy/experiment/components/unknownPlugin/__init__.py +86 -0
  1749. psychopy/experiment/components/unknownPlugin/classic/unknownPlugin.png +0 -0
  1750. psychopy/experiment/components/unknownPlugin/classic/unknownPlugin@2x.png +0 -0
  1751. psychopy/experiment/components/unknownPlugin/dark/unknownPlugin.png +0 -0
  1752. psychopy/experiment/components/unknownPlugin/dark/unknownPlugin@2x.png +0 -0
  1753. psychopy/experiment/components/unknownPlugin/light/unknownPlugin.png +0 -0
  1754. psychopy/experiment/components/unknownPlugin/light/unknownPlugin@2x.png +0 -0
  1755. psychopy/experiment/components/utils.py +0 -0
  1756. psychopy/experiment/components/variable/__init__.py +184 -0
  1757. psychopy/experiment/components/variable/classic/variable.png +0 -0
  1758. psychopy/experiment/components/variable/classic/variable@2x.png +0 -0
  1759. psychopy/experiment/components/variable/dark/variable.png +0 -0
  1760. psychopy/experiment/components/variable/dark/variable@2x.png +0 -0
  1761. psychopy/experiment/components/variable/light/variable.png +0 -0
  1762. psychopy/experiment/components/variable/light/variable@2x.png +0 -0
  1763. psychopy/experiment/devices.py +303 -0
  1764. psychopy/experiment/experiment.xsd +223 -0
  1765. psychopy/experiment/exports.py +390 -0
  1766. psychopy/experiment/flow.py +547 -0
  1767. psychopy/experiment/localization.py +11 -0
  1768. psychopy/experiment/loopTemplate.xltx +0 -0
  1769. psychopy/experiment/loops.py +1051 -0
  1770. psychopy/experiment/monitor.py +74 -0
  1771. psychopy/experiment/params.py +541 -0
  1772. psychopy/experiment/plugins.py +42 -0
  1773. psychopy/experiment/py2js.py +183 -0
  1774. psychopy/experiment/py2js_transpiler.py +613 -0
  1775. psychopy/experiment/questPlusTemplate.xltx +0 -0
  1776. psychopy/experiment/questTemplate.xltx +0 -0
  1777. psychopy/experiment/routines/__init__.py +108 -0
  1778. psychopy/experiment/routines/_base.py +1172 -0
  1779. psychopy/experiment/routines/audioValidator/__init__.py +229 -0
  1780. psychopy/experiment/routines/audioValidator/classic/audio_validator.png +0 -0
  1781. psychopy/experiment/routines/audioValidator/classic/audio_validator@2x.png +0 -0
  1782. psychopy/experiment/routines/audioValidator/dark/audio_validator.png +0 -0
  1783. psychopy/experiment/routines/audioValidator/dark/audio_validator@2x.png +0 -0
  1784. psychopy/experiment/routines/audioValidator/light/audio_validator.png +0 -0
  1785. psychopy/experiment/routines/audioValidator/light/audio_validator@2x.png +0 -0
  1786. psychopy/experiment/routines/counterbalance/__init__.py +320 -0
  1787. psychopy/experiment/routines/counterbalance/classic/counterbalance.png +0 -0
  1788. psychopy/experiment/routines/counterbalance/classic/counterbalance@2x.png +0 -0
  1789. psychopy/experiment/routines/counterbalance/counterbalanceItems.xltx +0 -0
  1790. psychopy/experiment/routines/counterbalance/dark/counterbalance.png +0 -0
  1791. psychopy/experiment/routines/counterbalance/dark/counterbalance@2x.png +0 -0
  1792. psychopy/experiment/routines/counterbalance/light/counterbalance.png +0 -0
  1793. psychopy/experiment/routines/counterbalance/light/counterbalance@2x.png +0 -0
  1794. psychopy/experiment/routines/eyetracker_calibrate/__init__.py +334 -0
  1795. psychopy/experiment/routines/eyetracker_calibrate/classic/eyetracker_calib.png +0 -0
  1796. psychopy/experiment/routines/eyetracker_calibrate/dark/eyetracker_calib.png +0 -0
  1797. psychopy/experiment/routines/eyetracker_calibrate/dark/eyetracker_calib@2x.png +0 -0
  1798. psychopy/experiment/routines/eyetracker_calibrate/light/eyetracker_calib.png +0 -0
  1799. psychopy/experiment/routines/eyetracker_calibrate/light/eyetracker_calib@2x.png +0 -0
  1800. psychopy/experiment/routines/eyetracker_validate/__init__.py +354 -0
  1801. psychopy/experiment/routines/eyetracker_validate/classic/eyetracker_valid.png +0 -0
  1802. psychopy/experiment/routines/eyetracker_validate/dark/eyetracker_valid.png +0 -0
  1803. psychopy/experiment/routines/eyetracker_validate/dark/eyetracker_valid@2x.png +0 -0
  1804. psychopy/experiment/routines/eyetracker_validate/light/eyetracker_valid.png +0 -0
  1805. psychopy/experiment/routines/eyetracker_validate/light/eyetracker_valid@2x.png +0 -0
  1806. psychopy/experiment/routines/pavlovia_survey/__init__.py +236 -0
  1807. psychopy/experiment/routines/pavlovia_survey/classic/survey.png +0 -0
  1808. psychopy/experiment/routines/pavlovia_survey/classic/survey@2x.png +0 -0
  1809. psychopy/experiment/routines/pavlovia_survey/dark/survey.png +0 -0
  1810. psychopy/experiment/routines/pavlovia_survey/dark/survey@2x.png +0 -0
  1811. psychopy/experiment/routines/pavlovia_survey/light/survey.png +0 -0
  1812. psychopy/experiment/routines/pavlovia_survey/light/survey@2x.png +0 -0
  1813. psychopy/experiment/routines/unknown/__init__.py +30 -0
  1814. psychopy/experiment/routines/unknown/classic/eyetracker_record.png +0 -0
  1815. psychopy/experiment/routines/unknown/classic/unknown.png +0 -0
  1816. psychopy/experiment/routines/unknown/dark/eyetracker_record.png +0 -0
  1817. psychopy/experiment/routines/unknown/dark/eyetracker_record@2x.png +0 -0
  1818. psychopy/experiment/routines/unknown/dark/unknown.png +0 -0
  1819. psychopy/experiment/routines/unknown/dark/unknown@2x.png +0 -0
  1820. psychopy/experiment/routines/unknown/light/eyetracker_record.png +0 -0
  1821. psychopy/experiment/routines/unknown/light/eyetracker_record@2x.png +0 -0
  1822. psychopy/experiment/routines/unknown/light/unknown.png +0 -0
  1823. psychopy/experiment/routines/unknown/light/unknown@2x.png +0 -0
  1824. psychopy/experiment/routines/utils.py +0 -0
  1825. psychopy/experiment/routines/visualValidator/__init__.py +395 -0
  1826. psychopy/experiment/routines/visualValidator/classic/visual_validator.png +0 -0
  1827. psychopy/experiment/routines/visualValidator/classic/visual_validator@2x.png +0 -0
  1828. psychopy/experiment/routines/visualValidator/dark/visual_validator.png +0 -0
  1829. psychopy/experiment/routines/visualValidator/dark/visual_validator@2x.png +0 -0
  1830. psychopy/experiment/routines/visualValidator/light/visual_validator.png +0 -0
  1831. psychopy/experiment/routines/visualValidator/light/visual_validator@2x.png +0 -0
  1832. psychopy/experiment/staircaseTemplate.xltx +0 -0
  1833. psychopy/experiment/utils.py +44 -0
  1834. psychopy/filters.py +11 -0
  1835. psychopy/gamma.py +9 -0
  1836. psychopy/gui/__init__.py +47 -0
  1837. psychopy/gui/qtgui.py +882 -0
  1838. psychopy/gui/util.py +74 -0
  1839. psychopy/gui/wxgui.py +420 -0
  1840. psychopy/hardware/__init__.py +178 -0
  1841. psychopy/hardware/base.py +466 -0
  1842. psychopy/hardware/bbtk/__init__.py +24 -0
  1843. psychopy/hardware/brainproducts.py +25 -0
  1844. psychopy/hardware/button.py +238 -0
  1845. psychopy/hardware/buttonbox/__init__.py +122 -0
  1846. psychopy/hardware/camera/__init__.py +3657 -0
  1847. psychopy/hardware/cedrus.py +24 -0
  1848. psychopy/hardware/crs/__init__.py +46 -0
  1849. psychopy/hardware/crs/bits.py +37 -0
  1850. psychopy/hardware/crs/colorcal.py +18 -0
  1851. psychopy/hardware/crs/optical.py +33 -0
  1852. psychopy/hardware/crs/shaders.py +34 -0
  1853. psychopy/hardware/emotiv.py +33 -0
  1854. psychopy/hardware/emulator.py +46 -0
  1855. psychopy/hardware/exceptions.py +86 -0
  1856. psychopy/hardware/eyetracker.py +132 -0
  1857. psychopy/hardware/forp.py +37 -0
  1858. psychopy/hardware/gammasci.py +26 -0
  1859. psychopy/hardware/iolab.py +24 -0
  1860. psychopy/hardware/joystick/__init__.py +1196 -0
  1861. psychopy/hardware/joystick/_base.py +251 -0
  1862. psychopy/hardware/joystick/backend_glfw.py +306 -0
  1863. psychopy/hardware/joystick/backend_pyglet.py +309 -0
  1864. psychopy/hardware/joystick/mappings.py +287 -0
  1865. psychopy/hardware/keyboard.py +975 -0
  1866. psychopy/hardware/knownDevices.json +52 -0
  1867. psychopy/hardware/labhackers.py +27 -0
  1868. psychopy/hardware/labjacks.py +26 -0
  1869. psychopy/hardware/lightsensor.py +789 -0
  1870. psychopy/hardware/listener.py +330 -0
  1871. psychopy/hardware/manager.py +992 -0
  1872. psychopy/hardware/microphone.py +1630 -0
  1873. psychopy/hardware/minolta.py +33 -0
  1874. psychopy/hardware/monitor.py +144 -0
  1875. psychopy/hardware/mouse/__init__.py +885 -0
  1876. psychopy/hardware/photometer/__init__.py +207 -0
  1877. psychopy/hardware/pr.py +33 -0
  1878. psychopy/hardware/qmix.py +32 -0
  1879. psychopy/hardware/serialdevice.py +387 -0
  1880. psychopy/hardware/soundsensor.py +476 -0
  1881. psychopy/hardware/spatial/__init__.py +231 -0
  1882. psychopy/hardware/speaker.py +351 -0
  1883. psychopy/hardware/triggerbox/__init__.py +56 -0
  1884. psychopy/hardware/triggerbox/base.py +170 -0
  1885. psychopy/hardware/triggerbox/parallel.py +362 -0
  1886. psychopy/info.py +719 -0
  1887. psychopy/iohub/__init__.py +50 -0
  1888. psychopy/iohub/client/__init__.py +1481 -0
  1889. psychopy/iohub/client/connect.py +260 -0
  1890. psychopy/iohub/client/eyetracker/__init__.py +4 -0
  1891. psychopy/iohub/client/eyetracker/validation/__init__.py +8 -0
  1892. psychopy/iohub/client/eyetracker/validation/posgrid.py +274 -0
  1893. psychopy/iohub/client/eyetracker/validation/procedure.py +1292 -0
  1894. psychopy/iohub/client/eyetracker/validation/trigger.py +240 -0
  1895. psychopy/iohub/client/keyboard.py +513 -0
  1896. psychopy/iohub/client/wintab.py +378 -0
  1897. psychopy/iohub/constants.py +1176 -0
  1898. psychopy/iohub/datastore/__init__.py +439 -0
  1899. psychopy/iohub/datastore/default_datastore.yaml +8 -0
  1900. psychopy/iohub/datastore/util.py +868 -0
  1901. psychopy/iohub/default_config.yaml +17 -0
  1902. psychopy/iohub/devices/__init__.py +1047 -0
  1903. psychopy/iohub/devices/computer.py +607 -0
  1904. psychopy/iohub/devices/default_device.yaml +15 -0
  1905. psychopy/iohub/devices/deviceConfigValidation.py +519 -0
  1906. psychopy/iohub/devices/display/__init__.py +755 -0
  1907. psychopy/iohub/devices/display/default_display.yaml +118 -0
  1908. psychopy/iohub/devices/display/supported_config_settings.yaml +69 -0
  1909. psychopy/iohub/devices/eventfilters.py +3572 -0
  1910. psychopy/iohub/devices/experiment/__init__.py +316 -0
  1911. psychopy/iohub/devices/experiment/default_experiment.yaml +74 -0
  1912. psychopy/iohub/devices/experiment/supported_config_settings.yaml +26 -0
  1913. psychopy/iohub/devices/eyetracker/__init__.py +474 -0
  1914. psychopy/iohub/devices/eyetracker/calibration/__init__.py +1 -0
  1915. psychopy/iohub/devices/eyetracker/calibration/procedure.py +391 -0
  1916. psychopy/iohub/devices/eyetracker/default_eyetracker.yaml +18 -0
  1917. psychopy/iohub/devices/eyetracker/eye_events.py +1751 -0
  1918. psychopy/iohub/devices/eyetracker/filters/__init__.py +4 -0
  1919. psychopy/iohub/devices/eyetracker/filters/parser.py +913 -0
  1920. psychopy/iohub/devices/eyetracker/hw/__init__.py +4 -0
  1921. psychopy/iohub/devices/eyetracker/hw/gazepoint/__init__.py +29 -0
  1922. psychopy/iohub/devices/eyetracker/hw/gazepoint/gp3/__init__.py +29 -0
  1923. psychopy/iohub/devices/eyetracker/hw/gazepoint/gp3/calibration.py +18 -0
  1924. psychopy/iohub/devices/eyetracker/hw/gazepoint/gp3/eyetracker.py +31 -0
  1925. psychopy/iohub/devices/eyetracker/hw/mouse/__init__.py +8 -0
  1926. psychopy/iohub/devices/eyetracker/hw/mouse/calibration.py +10 -0
  1927. psychopy/iohub/devices/eyetracker/hw/mouse/default_eyetracker.yaml +102 -0
  1928. psychopy/iohub/devices/eyetracker/hw/mouse/eyetracker.py +443 -0
  1929. psychopy/iohub/devices/eyetracker/hw/mouse/supported_config_settings.yaml +110 -0
  1930. psychopy/iohub/devices/eyetracker/hw/pupil_labs/__init__.py +4 -0
  1931. psychopy/iohub/devices/eyetracker/hw/pupil_labs/neon/__init__.py +27 -0
  1932. psychopy/iohub/devices/eyetracker/hw/pupil_labs/neon/eyetracker.py +18 -0
  1933. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/__init__.py +29 -0
  1934. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/bisector.py +20 -0
  1935. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/constants.py +19 -0
  1936. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/data_parse.py +22 -0
  1937. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/eyetracker.py +18 -0
  1938. psychopy/iohub/devices/eyetracker/hw/pupil_labs/pupil_core/pupil_remote.py +18 -0
  1939. psychopy/iohub/devices/eyetracker/hw/sr_research/__init__.py +4 -0
  1940. psychopy/iohub/devices/eyetracker/hw/sr_research/eyelink/__init__.py +28 -0
  1941. psychopy/iohub/devices/eyetracker/hw/sr_research/eyelink/calibration.py +22 -0
  1942. psychopy/iohub/devices/eyetracker/hw/sr_research/eyelink/eyetracker.py +38 -0
  1943. psychopy/iohub/devices/eyetracker/hw/tobii/__init__.py +29 -0
  1944. psychopy/iohub/devices/eyetracker/hw/tobii/calibration.py +19 -0
  1945. psychopy/iohub/devices/eyetracker/hw/tobii/eyetracker.py +17 -0
  1946. psychopy/iohub/devices/eyetracker/hw/tobii/tobiiwrapper.py +19 -0
  1947. psychopy/iohub/devices/eyetracker/supported_config_settings.yaml +44 -0
  1948. psychopy/iohub/devices/keyboard/__init__.py +309 -0
  1949. psychopy/iohub/devices/keyboard/darwin.py +431 -0
  1950. psychopy/iohub/devices/keyboard/darwinkey.py +94 -0
  1951. psychopy/iohub/devices/keyboard/default_keyboard.yaml +94 -0
  1952. psychopy/iohub/devices/keyboard/linux2.py +102 -0
  1953. psychopy/iohub/devices/keyboard/supported_config_settings.yaml +39 -0
  1954. psychopy/iohub/devices/keyboard/win32.py +356 -0
  1955. psychopy/iohub/devices/mouse/__init__.py +709 -0
  1956. psychopy/iohub/devices/mouse/darwin.py +414 -0
  1957. psychopy/iohub/devices/mouse/default_mouse.yaml +92 -0
  1958. psychopy/iohub/devices/mouse/linux2.py +172 -0
  1959. psychopy/iohub/devices/mouse/supported_config_settings.yaml +39 -0
  1960. psychopy/iohub/devices/mouse/win32.py +284 -0
  1961. psychopy/iohub/devices/pyXHook.py +619 -0
  1962. psychopy/iohub/devices/serial/__init__.py +779 -0
  1963. psychopy/iohub/devices/serial/default_pstbox.yaml +108 -0
  1964. psychopy/iohub/devices/serial/default_serial.yaml +108 -0
  1965. psychopy/iohub/devices/serial/supported_config_settings.yaml +85 -0
  1966. psychopy/iohub/devices/serial/supported_config_settings_pstbox.yaml +85 -0
  1967. psychopy/iohub/devices/supported_config_settings.yaml +36 -0
  1968. psychopy/iohub/devices/wintab/__init__.py +580 -0
  1969. psychopy/iohub/devices/wintab/default_wintab.yaml +89 -0
  1970. psychopy/iohub/devices/wintab/supported_config_settings.yaml +42 -0
  1971. psychopy/iohub/devices/wintab/win32.py +722 -0
  1972. psychopy/iohub/devices/xlib.py +6795 -0
  1973. psychopy/iohub/errors.py +61 -0
  1974. psychopy/iohub/lazy_import.py +582 -0
  1975. psychopy/iohub/net.py +349 -0
  1976. psychopy/iohub/server.py +1075 -0
  1977. psychopy/iohub/start_iohub_process.py +121 -0
  1978. psychopy/iohub/util/__init__.py +832 -0
  1979. psychopy/iohub/util/visualangle.py +126 -0
  1980. psychopy/layout.py +916 -0
  1981. psychopy/liaison.py +471 -0
  1982. psychopy/locale_setup.py +41 -0
  1983. psychopy/localization/__init__.py +22 -0
  1984. psychopy/localization/_localization.py +155 -0
  1985. psychopy/localization/generateTranslationTemplate.py +257 -0
  1986. psychopy/localization/mappings.txt +170 -0
  1987. psychopy/localization/messages.pot +9950 -0
  1988. psychopy/localization/readme.txt +68 -0
  1989. psychopy/logging.py +415 -0
  1990. psychopy/microphone.py +28 -0
  1991. psychopy/misc.py +40 -0
  1992. psychopy/monitors/MonitorCenter.py +1354 -0
  1993. psychopy/monitors/__init__.py +30 -0
  1994. psychopy/monitors/calibData.py +78 -0
  1995. psychopy/monitors/calibTools.py +1301 -0
  1996. psychopy/monitors/getLumSeries.py +50 -0
  1997. psychopy/monitors/psychopy-icon.svg +395 -0
  1998. psychopy/monitors/psychopy.ico +0 -0
  1999. psychopy/parallel/__init__.py +206 -0
  2000. psychopy/parallel/_dlportio.py +150 -0
  2001. psychopy/parallel/_inpout.py +120 -0
  2002. psychopy/parallel/_linux.py +105 -0
  2003. psychopy/piloting.py +61 -0
  2004. psychopy/platform_specific/__init__.py +46 -0
  2005. psychopy/platform_specific/darwin.py +326 -0
  2006. psychopy/platform_specific/linux.py +77 -0
  2007. psychopy/platform_specific/win32.py +124 -0
  2008. psychopy/plugins/__init__.py +1397 -0
  2009. psychopy/plugins/util.py +104 -0
  2010. psychopy/preferences/Darwin.spec +294 -0
  2011. psychopy/preferences/FreeBSD.spec +294 -0
  2012. psychopy/preferences/Linux.spec +294 -0
  2013. psychopy/preferences/Windows.spec +294 -0
  2014. psychopy/preferences/__init__.py +20 -0
  2015. psychopy/preferences/baseNoArch.spec +290 -0
  2016. psychopy/preferences/devices.py +80 -0
  2017. psychopy/preferences/generateHints.py +93 -0
  2018. psychopy/preferences/generateSpec.py +80 -0
  2019. psychopy/preferences/hints.py +367 -0
  2020. psychopy/preferences/preferences.py +448 -0
  2021. psychopy/projects/__init__.py +11 -0
  2022. psychopy/projects/gitignore.py +45 -0
  2023. psychopy/projects/pavlovia.py +1674 -0
  2024. psychopy/projects/sshkeys.py +107 -0
  2025. psychopy/psychojs.zip +0 -0
  2026. psychopy/pylintrc +69 -0
  2027. psychopy/scripts/__init__.py +0 -0
  2028. psychopy/scripts/psychopy-pkgutil.py +969 -0
  2029. psychopy/scripts/psyexpCompile.py +229 -0
  2030. psychopy/session.py +1651 -0
  2031. psychopy/sound/__init__.py +50 -0
  2032. psychopy/sound/_base.py +399 -0
  2033. psychopy/sound/audioclip.py +1325 -0
  2034. psychopy/sound/audiodevice.py +857 -0
  2035. psychopy/sound/backend_ptb.py +406 -0
  2036. psychopy/sound/backend_pygame.py +323 -0
  2037. psychopy/sound/backend_pyo.py +64 -0
  2038. psychopy/sound/backend_pysound.py +324 -0
  2039. psychopy/sound/backend_sounddevice.py +44 -0
  2040. psychopy/sound/backends/__init__.py +0 -0
  2041. psychopy/sound/exceptions.py +115 -0
  2042. psychopy/sound/microphone.py +357 -0
  2043. psychopy/sound/sound.py +58 -0
  2044. psychopy/sound/transcribe.py +1321 -0
  2045. psychopy/tests/README.md +344 -0
  2046. psychopy/tests/__init__.py +47 -0
  2047. psychopy/tests/data/Electronic_Chime-KevanGC-495939803.wav +0 -0
  2048. psychopy/tests/data/TestCircle_w128h128_bottom_left.png +0 -0
  2049. psychopy/tests/data/TestCircle_w128h128_bottom_right.png +0 -0
  2050. psychopy/tests/data/TestCircle_w128h128_center_center.png +0 -0
  2051. psychopy/tests/data/TestCircle_w128h128_top_left.png +0 -0
  2052. psychopy/tests/data/TestCircle_w128h128_top_right.png +0 -0
  2053. psychopy/tests/data/TestCircle_w128h64_bottom_left.png +0 -0
  2054. psychopy/tests/data/TestCircle_w128h64_bottom_right.png +0 -0
  2055. psychopy/tests/data/TestCircle_w128h64_center_center.png +0 -0
  2056. psychopy/tests/data/TestCircle_w128h64_top_left.png +0 -0
  2057. psychopy/tests/data/TestCircle_w128h64_top_right.png +0 -0
  2058. psychopy/tests/data/TestCircle_w64h128_bottom_left.png +0 -0
  2059. psychopy/tests/data/TestCircle_w64h128_bottom_right.png +0 -0
  2060. psychopy/tests/data/TestCircle_w64h128_center_center.png +0 -0
  2061. psychopy/tests/data/TestCircle_w64h128_top_left.png +0 -0
  2062. psychopy/tests/data/TestCircle_w64h128_top_right.png +0 -0
  2063. psychopy/tests/data/TestCircle_w64h64_bottom_left.png +0 -0
  2064. psychopy/tests/data/TestCircle_w64h64_bottom_right.png +0 -0
  2065. psychopy/tests/data/TestCircle_w64h64_center_center.png +0 -0
  2066. psychopy/tests/data/TestCircle_w64h64_top_left.png +0 -0
  2067. psychopy/tests/data/TestCircle_w64h64_top_right.png +0 -0
  2068. psychopy/tests/data/TestForm_scrolling_nq10_s0.5.png +0 -0
  2069. psychopy/tests/data/TestForm_scrolling_nq10_s0.png +0 -0
  2070. psychopy/tests/data/TestForm_scrolling_nq10_s1.png +0 -0
  2071. psychopy/tests/data/TestForm_scrolling_nq1_s0.5.png +0 -0
  2072. psychopy/tests/data/TestForm_scrolling_nq1_s0.png +0 -0
  2073. psychopy/tests/data/TestForm_scrolling_nq1_s1.png +0 -0
  2074. psychopy/tests/data/TestForm_scrolling_nq3_s0.5.png +0 -0
  2075. psychopy/tests/data/TestForm_scrolling_nq3_s0.png +0 -0
  2076. psychopy/tests/data/TestForm_scrolling_nq3_s1.png +0 -0
  2077. psychopy/tests/data/TestImage_w128h128_bottom_left.png +0 -0
  2078. psychopy/tests/data/TestImage_w128h128_bottom_right.png +0 -0
  2079. psychopy/tests/data/TestImage_w128h128_center_center.png +0 -0
  2080. psychopy/tests/data/TestImage_w128h128_top_left.png +0 -0
  2081. psychopy/tests/data/TestImage_w128h128_top_right.png +0 -0
  2082. psychopy/tests/data/TestImage_w128h64_bottom_left.png +0 -0
  2083. psychopy/tests/data/TestImage_w128h64_bottom_right.png +0 -0
  2084. psychopy/tests/data/TestImage_w128h64_center_center.png +0 -0
  2085. psychopy/tests/data/TestImage_w128h64_top_left.png +0 -0
  2086. psychopy/tests/data/TestImage_w128h64_top_right.png +0 -0
  2087. psychopy/tests/data/TestImage_w64h128_bottom_left.png +0 -0
  2088. psychopy/tests/data/TestImage_w64h128_bottom_right.png +0 -0
  2089. psychopy/tests/data/TestImage_w64h128_center_center.png +0 -0
  2090. psychopy/tests/data/TestImage_w64h128_top_left.png +0 -0
  2091. psychopy/tests/data/TestImage_w64h128_top_right.png +0 -0
  2092. psychopy/tests/data/TestImage_w64h64_bottom_left.png +0 -0
  2093. psychopy/tests/data/TestImage_w64h64_bottom_right.png +0 -0
  2094. psychopy/tests/data/TestImage_w64h64_center_center.png +0 -0
  2095. psychopy/tests/data/TestImage_w64h64_top_left.png +0 -0
  2096. psychopy/tests/data/TestImage_w64h64_top_right.png +0 -0
  2097. psychopy/tests/data/TestProgress_testValue_horizontal_center center_0.3.png +0 -0
  2098. psychopy/tests/data/TestProgress_testValue_horizontal_center center_0.6.png +0 -0
  2099. psychopy/tests/data/TestProgress_testValue_horizontal_left center_0.3.png +0 -0
  2100. psychopy/tests/data/TestProgress_testValue_horizontal_left center_0.6.png +0 -0
  2101. psychopy/tests/data/TestProgress_testValue_horizontal_right center_0.3.png +0 -0
  2102. psychopy/tests/data/TestProgress_testValue_horizontal_right center_0.6.png +0 -0
  2103. psychopy/tests/data/TestProgress_testValue_minmax_0.png +0 -0
  2104. psychopy/tests/data/TestProgress_testValue_minmax_1.png +0 -0
  2105. psychopy/tests/data/TestProgress_testValue_vertical_bottom center_0.3.png +0 -0
  2106. psychopy/tests/data/TestProgress_testValue_vertical_bottom center_0.6.png +0 -0
  2107. psychopy/tests/data/TestProgress_testValue_vertical_center center_0.3.png +0 -0
  2108. psychopy/tests/data/TestProgress_testValue_vertical_center center_0.6.png +0 -0
  2109. psychopy/tests/data/TestProgress_testValue_vertical_top center_0.3.png +0 -0
  2110. psychopy/tests/data/TestProgress_testValue_vertical_top center_0.6.png +0 -0
  2111. psychopy/tests/data/TestProgress_w128h128_bottom_left.png +0 -0
  2112. psychopy/tests/data/TestProgress_w128h128_bottom_right.png +0 -0
  2113. psychopy/tests/data/TestProgress_w128h128_center_center.png +0 -0
  2114. psychopy/tests/data/TestProgress_w128h128_top_left.png +0 -0
  2115. psychopy/tests/data/TestProgress_w128h128_top_right.png +0 -0
  2116. psychopy/tests/data/TestProgress_w128h64_bottom_left.png +0 -0
  2117. psychopy/tests/data/TestProgress_w128h64_bottom_right.png +0 -0
  2118. psychopy/tests/data/TestProgress_w128h64_center_center.png +0 -0
  2119. psychopy/tests/data/TestProgress_w128h64_top_left.png +0 -0
  2120. psychopy/tests/data/TestProgress_w128h64_top_right.png +0 -0
  2121. psychopy/tests/data/TestProgress_w64h128_bottom_left.png +0 -0
  2122. psychopy/tests/data/TestProgress_w64h128_bottom_right.png +0 -0
  2123. psychopy/tests/data/TestProgress_w64h128_center_center.png +0 -0
  2124. psychopy/tests/data/TestProgress_w64h128_top_left.png +0 -0
  2125. psychopy/tests/data/TestProgress_w64h128_top_right.png +0 -0
  2126. psychopy/tests/data/TestProgress_w64h64_bottom_left.png +0 -0
  2127. psychopy/tests/data/TestProgress_w64h64_bottom_right.png +0 -0
  2128. psychopy/tests/data/TestProgress_w64h64_center_center.png +0 -0
  2129. psychopy/tests/data/TestProgress_w64h64_top_left.png +0 -0
  2130. psychopy/tests/data/TestProgress_w64h64_top_right.png +0 -0
  2131. psychopy/tests/data/TestROI_w128h128_bottom_left.png +0 -0
  2132. psychopy/tests/data/TestROI_w128h128_bottom_right.png +0 -0
  2133. psychopy/tests/data/TestROI_w128h128_center_center.png +0 -0
  2134. psychopy/tests/data/TestROI_w128h128_top_left.png +0 -0
  2135. psychopy/tests/data/TestROI_w128h128_top_right.png +0 -0
  2136. psychopy/tests/data/TestROI_w128h64_bottom_left.png +0 -0
  2137. psychopy/tests/data/TestROI_w128h64_bottom_right.png +0 -0
  2138. psychopy/tests/data/TestROI_w128h64_center_center.png +0 -0
  2139. psychopy/tests/data/TestROI_w128h64_top_left.png +0 -0
  2140. psychopy/tests/data/TestROI_w128h64_top_right.png +0 -0
  2141. psychopy/tests/data/TestROI_w64h128_bottom_left.png +0 -0
  2142. psychopy/tests/data/TestROI_w64h128_bottom_right.png +0 -0
  2143. psychopy/tests/data/TestROI_w64h128_center_center.png +0 -0
  2144. psychopy/tests/data/TestROI_w64h128_top_left.png +0 -0
  2145. psychopy/tests/data/TestROI_w64h128_top_right.png +0 -0
  2146. psychopy/tests/data/TestROI_w64h64_bottom_left.png +0 -0
  2147. psychopy/tests/data/TestROI_w64h64_bottom_right.png +0 -0
  2148. psychopy/tests/data/TestROI_w64h64_center_center.png +0 -0
  2149. psychopy/tests/data/TestROI_w64h64_top_left.png +0 -0
  2150. psychopy/tests/data/TestROI_w64h64_top_right.png +0 -0
  2151. psychopy/tests/data/TestSession_exp1.png +0 -0
  2152. psychopy/tests/data/TestSession_exp2.png +0 -0
  2153. psychopy/tests/data/TestShape_w128h128_bottom_left.png +0 -0
  2154. psychopy/tests/data/TestShape_w128h128_bottom_right.png +0 -0
  2155. psychopy/tests/data/TestShape_w128h128_center_center.png +0 -0
  2156. psychopy/tests/data/TestShape_w128h128_top_left.png +0 -0
  2157. psychopy/tests/data/TestShape_w128h128_top_right.png +0 -0
  2158. psychopy/tests/data/TestShape_w128h64_bottom_left.png +0 -0
  2159. psychopy/tests/data/TestShape_w128h64_bottom_right.png +0 -0
  2160. psychopy/tests/data/TestShape_w128h64_center_center.png +0 -0
  2161. psychopy/tests/data/TestShape_w128h64_top_left.png +0 -0
  2162. psychopy/tests/data/TestShape_w128h64_top_right.png +0 -0
  2163. psychopy/tests/data/TestShape_w64h128_bottom_left.png +0 -0
  2164. psychopy/tests/data/TestShape_w64h128_bottom_right.png +0 -0
  2165. psychopy/tests/data/TestShape_w64h128_center_center.png +0 -0
  2166. psychopy/tests/data/TestShape_w64h128_top_left.png +0 -0
  2167. psychopy/tests/data/TestShape_w64h128_top_right.png +0 -0
  2168. psychopy/tests/data/TestShape_w64h64_bottom_left.png +0 -0
  2169. psychopy/tests/data/TestShape_w64h64_bottom_right.png +0 -0
  2170. psychopy/tests/data/TestShape_w64h64_center_center.png +0 -0
  2171. psychopy/tests/data/TestShape_w64h64_top_left.png +0 -0
  2172. psychopy/tests/data/TestShape_w64h64_top_right.png +0 -0
  2173. psychopy/tests/data/TestTarget_w128h128_bottom_left.png +0 -0
  2174. psychopy/tests/data/TestTarget_w128h128_bottom_right.png +0 -0
  2175. psychopy/tests/data/TestTarget_w128h128_center_center.png +0 -0
  2176. psychopy/tests/data/TestTarget_w128h128_top_left.png +0 -0
  2177. psychopy/tests/data/TestTarget_w128h128_top_right.png +0 -0
  2178. psychopy/tests/data/TestTarget_w128h64_bottom_left.png +0 -0
  2179. psychopy/tests/data/TestTarget_w128h64_bottom_right.png +0 -0
  2180. psychopy/tests/data/TestTarget_w128h64_center_center.png +0 -0
  2181. psychopy/tests/data/TestTarget_w128h64_top_left.png +0 -0
  2182. psychopy/tests/data/TestTarget_w128h64_top_right.png +0 -0
  2183. psychopy/tests/data/TestTarget_w64h128_bottom_left.png +0 -0
  2184. psychopy/tests/data/TestTarget_w64h128_bottom_right.png +0 -0
  2185. psychopy/tests/data/TestTarget_w64h128_center_center.png +0 -0
  2186. psychopy/tests/data/TestTarget_w64h128_top_left.png +0 -0
  2187. psychopy/tests/data/TestTarget_w64h128_top_right.png +0 -0
  2188. psychopy/tests/data/TestTarget_w64h64_bottom_left.png +0 -0
  2189. psychopy/tests/data/TestTarget_w64h64_bottom_right.png +0 -0
  2190. psychopy/tests/data/TestTarget_w64h64_center_center.png +0 -0
  2191. psychopy/tests/data/TestTarget_w64h64_top_left.png +0 -0
  2192. psychopy/tests/data/TestTarget_w64h64_top_right.png +0 -0
  2193. psychopy/tests/data/TestTextbox_testLetterSpacing_0p6.png +0 -0
  2194. psychopy/tests/data/TestTextbox_testLetterSpacing_0p8.png +0 -0
  2195. psychopy/tests/data/TestTextbox_testLetterSpacing_1.png +0 -0
  2196. psychopy/tests/data/TestTextbox_testLetterSpacing_1p2.png +0 -0
  2197. psychopy/tests/data/TestTextbox_testLetterSpacing_1p4.png +0 -0
  2198. psychopy/tests/data/TestTextbox_testLetterSpacing_1p6.png +0 -0
  2199. psychopy/tests/data/TestTextbox_testLetterSpacing_1p8.png +0 -0
  2200. psychopy/tests/data/TestTextbox_testLetterSpacing_2p0.png +0 -0
  2201. psychopy/tests/data/TestTextbox_testLetterSpacing_None.png +0 -0
  2202. psychopy/tests/data/TestUnknownPluginComponent_load_resave.psyexp +135 -0
  2203. psychopy/tests/data/Test_textbox/test_ori_0_bottom right.png +0 -0
  2204. psychopy/tests/data/Test_textbox/test_ori_0_center.png +0 -0
  2205. psychopy/tests/data/Test_textbox/test_ori_0_top left.png +0 -0
  2206. psychopy/tests/data/Test_textbox/test_ori_120_bottom right.png +0 -0
  2207. psychopy/tests/data/Test_textbox/test_ori_120_center.png +0 -0
  2208. psychopy/tests/data/Test_textbox/test_ori_120_top left.png +0 -0
  2209. psychopy/tests/data/Test_textbox/test_ori_180_bottom right.png +0 -0
  2210. psychopy/tests/data/Test_textbox/test_ori_180_center.png +0 -0
  2211. psychopy/tests/data/Test_textbox/test_ori_180_top left.png +0 -0
  2212. psychopy/tests/data/Test_textbox/test_ori_240_bottom right.png +0 -0
  2213. psychopy/tests/data/Test_textbox/test_ori_240_center.png +0 -0
  2214. psychopy/tests/data/Test_textbox/test_ori_240_top left.png +0 -0
  2215. psychopy/tests/data/Test_textbox_testSpeechpoint_-3ovr8_0ovr8.png +0 -0
  2216. psychopy/tests/data/Test_textbox_testSpeechpoint_0ovr8_-3ovr8.png +0 -0
  2217. psychopy/tests/data/Test_textbox_testSpeechpoint_0ovr8_3ovr8.png +0 -0
  2218. psychopy/tests/data/Test_textbox_testSpeechpoint_3ovr8_0ovr8.png +0 -0
  2219. psychopy/tests/data/Test_textbox_w128h128_bottom_left.png +0 -0
  2220. psychopy/tests/data/Test_textbox_w128h128_bottom_right.png +0 -0
  2221. psychopy/tests/data/Test_textbox_w128h128_center_center.png +0 -0
  2222. psychopy/tests/data/Test_textbox_w128h128_top_left.png +0 -0
  2223. psychopy/tests/data/Test_textbox_w128h128_top_right.png +0 -0
  2224. psychopy/tests/data/Test_textbox_w128h64_bottom_left.png +0 -0
  2225. psychopy/tests/data/Test_textbox_w128h64_bottom_right.png +0 -0
  2226. psychopy/tests/data/Test_textbox_w128h64_center_center.png +0 -0
  2227. psychopy/tests/data/Test_textbox_w128h64_top_left.png +0 -0
  2228. psychopy/tests/data/Test_textbox_w128h64_top_right.png +0 -0
  2229. psychopy/tests/data/Test_textbox_w64h128_bottom_left.png +0 -0
  2230. psychopy/tests/data/Test_textbox_w64h128_bottom_right.png +0 -0
  2231. psychopy/tests/data/Test_textbox_w64h128_center_center.png +0 -0
  2232. psychopy/tests/data/Test_textbox_w64h128_top_left.png +0 -0
  2233. psychopy/tests/data/Test_textbox_w64h128_top_right.png +0 -0
  2234. psychopy/tests/data/Test_textbox_w64h64_bottom_left.png +0 -0
  2235. psychopy/tests/data/Test_textbox_w64h64_bottom_right.png +0 -0
  2236. psychopy/tests/data/Test_textbox_w64h64_center_center.png +0 -0
  2237. psychopy/tests/data/Test_textbox_w64h64_top_left.png +0 -0
  2238. psychopy/tests/data/Test_textbox_w64h64_top_right.png +0 -0
  2239. psychopy/tests/data/Test_uax14_textbox_w128h128_bottom_left.png +0 -0
  2240. psychopy/tests/data/Test_uax14_textbox_w128h128_bottom_right.png +0 -0
  2241. psychopy/tests/data/Test_uax14_textbox_w128h128_center_center.png +0 -0
  2242. psychopy/tests/data/Test_uax14_textbox_w128h128_top_left.png +0 -0
  2243. psychopy/tests/data/Test_uax14_textbox_w128h128_top_right.png +0 -0
  2244. psychopy/tests/data/Test_uax14_textbox_w128h64_bottom_left.png +0 -0
  2245. psychopy/tests/data/Test_uax14_textbox_w128h64_bottom_right.png +0 -0
  2246. psychopy/tests/data/Test_uax14_textbox_w128h64_center_center.png +0 -0
  2247. psychopy/tests/data/Test_uax14_textbox_w128h64_top_left.png +0 -0
  2248. psychopy/tests/data/Test_uax14_textbox_w128h64_top_right.png +0 -0
  2249. psychopy/tests/data/Test_uax14_textbox_w64h128_bottom_left.png +0 -0
  2250. psychopy/tests/data/Test_uax14_textbox_w64h128_bottom_right.png +0 -0
  2251. psychopy/tests/data/Test_uax14_textbox_w64h128_center_center.png +0 -0
  2252. psychopy/tests/data/Test_uax14_textbox_w64h128_top_left.png +0 -0
  2253. psychopy/tests/data/Test_uax14_textbox_w64h128_top_right.png +0 -0
  2254. psychopy/tests/data/Test_uax14_textbox_w64h64_bottom_left.png +0 -0
  2255. psychopy/tests/data/Test_uax14_textbox_w64h64_bottom_right.png +0 -0
  2256. psychopy/tests/data/Test_uax14_textbox_w64h64_center_center.png +0 -0
  2257. psychopy/tests/data/Test_uax14_textbox_w64h64_top_left.png +0 -0
  2258. psychopy/tests/data/Test_uax14_textbox_w64h64_top_right.png +0 -0
  2259. psychopy/tests/data/TextComponent_disabled.psyexp +63 -0
  2260. psychopy/tests/data/TextComponent_not_disabled.psyexp +63 -0
  2261. psychopy/tests/data/aperture1_deg.png +0 -0
  2262. psychopy/tests/data/aperture1_degFlat.png +0 -0
  2263. psychopy/tests/data/aperture1_degFlatPos.png +0 -0
  2264. psychopy/tests/data/aperture1_norm.png +0 -0
  2265. psychopy/tests/data/aperture1_normHexbackground.png +0 -0
  2266. psychopy/tests/data/aperture1_normNoShade.png +0 -0
  2267. psychopy/tests/data/aperture1_pix.png +0 -0
  2268. psychopy/tests/data/aperture1_stencil.png +0 -0
  2269. psychopy/tests/data/aperture2_deg.png +0 -0
  2270. psychopy/tests/data/aperture2_degFlat.png +0 -0
  2271. psychopy/tests/data/aperture2_degFlatPos.png +0 -0
  2272. psychopy/tests/data/aperture2_norm.png +0 -0
  2273. psychopy/tests/data/aperture2_normHexbackground.png +0 -0
  2274. psychopy/tests/data/aperture2_normNoShade.png +0 -0
  2275. psychopy/tests/data/aperture2_pix.png +0 -0
  2276. psychopy/tests/data/aperture2_stencil.png +0 -0
  2277. psychopy/tests/data/beatandrcos_cm.png +0 -0
  2278. psychopy/tests/data/beatandrcos_deg.png +0 -0
  2279. psychopy/tests/data/beatandrcos_degFlat.png +0 -0
  2280. psychopy/tests/data/beatandrcos_degFlatPos.png +0 -0
  2281. psychopy/tests/data/beatandrcos_height.png +0 -0
  2282. psychopy/tests/data/beatandrcos_norm.png +0 -0
  2283. psychopy/tests/data/beatandrcos_normAddBlend.png +0 -0
  2284. psychopy/tests/data/beatandrcos_normHexbackground.png +0 -0
  2285. psychopy/tests/data/beatandrcos_pix.png +0 -0
  2286. psychopy/tests/data/beatandrcos_stencil.png +0 -0
  2287. psychopy/tests/data/blend_add_cm.png +0 -0
  2288. psychopy/tests/data/blend_add_deg.png +0 -0
  2289. psychopy/tests/data/blend_add_degFlat.png +0 -0
  2290. psychopy/tests/data/blend_add_degFlatPos.png +0 -0
  2291. psychopy/tests/data/blend_add_height.png +0 -0
  2292. psychopy/tests/data/blend_add_norm.png +0 -0
  2293. psychopy/tests/data/blend_add_normAddBlend.png +0 -0
  2294. psychopy/tests/data/blend_add_normHexbackground.png +0 -0
  2295. psychopy/tests/data/blend_add_normNoShade.png +0 -0
  2296. psychopy/tests/data/blend_add_pix.png +0 -0
  2297. psychopy/tests/data/blend_add_stencil.png +0 -0
  2298. psychopy/tests/data/broken2020_2_5_resources/broken_resources.psyexp +84 -0
  2299. psychopy/tests/data/broken2020_2_5_resources/psychopy72.png +0 -0
  2300. psychopy/tests/data/bufferimg_gabor_cm.png +0 -0
  2301. psychopy/tests/data/bufferimg_gabor_deg.png +0 -0
  2302. psychopy/tests/data/bufferimg_gabor_degFlat.png +0 -0
  2303. psychopy/tests/data/bufferimg_gabor_degFlatPos.png +0 -0
  2304. psychopy/tests/data/bufferimg_gabor_height.png +0 -0
  2305. psychopy/tests/data/bufferimg_gabor_norm.png +0 -0
  2306. psychopy/tests/data/bufferimg_gabor_normAddBlend.png +0 -0
  2307. psychopy/tests/data/bufferimg_gabor_normHexbackground.png +0 -0
  2308. psychopy/tests/data/bufferimg_gabor_normNoShade.png +0 -0
  2309. psychopy/tests/data/bufferimg_gabor_pix.png +0 -0
  2310. psychopy/tests/data/bufferimg_gabor_stencil.png +0 -0
  2311. psychopy/tests/data/circleHex_cm.png +0 -0
  2312. psychopy/tests/data/circleHex_deg.png +0 -0
  2313. psychopy/tests/data/circleHex_degFlat.png +0 -0
  2314. psychopy/tests/data/circleHex_degFlatPos.png +0 -0
  2315. psychopy/tests/data/circleHex_height.png +0 -0
  2316. psychopy/tests/data/circleHex_norm.png +0 -0
  2317. psychopy/tests/data/circleHex_normAddBlend.png +0 -0
  2318. psychopy/tests/data/circleHex_normHexbackground.png +0 -0
  2319. psychopy/tests/data/circleHex_normNoShade.png +0 -0
  2320. psychopy/tests/data/circleHex_pix.png +0 -0
  2321. psychopy/tests/data/circleHex_stencil.png +0 -0
  2322. psychopy/tests/data/corrFullRandom.csv +16 -0
  2323. psychopy/tests/data/corrFullRandom.tsv +6 -0
  2324. psychopy/tests/data/corrFullRandomTH2.csv +16 -0
  2325. psychopy/tests/data/corrMultiKeyExpWide.csv +3 -0
  2326. psychopy/tests/data/corrMultiKeyTrials.csv +8 -0
  2327. psychopy/tests/data/corrMultiKeyTrials.xlsx +0 -0
  2328. psychopy/tests/data/corrRandom.csv +16 -0
  2329. psychopy/tests/data/corrRandom.tsv +6 -0
  2330. psychopy/tests/data/corrRandomTH2.csv +16 -0
  2331. psychopy/tests/data/corrXlsx.xlsx +0 -0
  2332. psychopy/tests/data/correctScript/js/correctCodeComponent.js +181 -0
  2333. psychopy/tests/data/correctScript/js/correctImageComponent.js +204 -0
  2334. psychopy/tests/data/correctScript/js/correctKeyboardComponent.js +225 -0
  2335. psychopy/tests/data/correctScript/js/correctMouseComponent.js +221 -0
  2336. psychopy/tests/data/correctScript/js/correctMovieComponent.js +210 -0
  2337. psychopy/tests/data/correctScript/js/correctPolygonComponent.js +205 -0
  2338. psychopy/tests/data/correctScript/js/correctSliderComponent.js +209 -0
  2339. psychopy/tests/data/correctScript/js/correctSoundComponent.js +205 -0
  2340. psychopy/tests/data/correctScript/js/correctTextComponent.js +207 -0
  2341. psychopy/tests/data/correctScript/python/correctApertureComponent.py +157 -0
  2342. psychopy/tests/data/correctScript/python/correctCodeComponent.py +135 -0
  2343. psychopy/tests/data/correctScript/python/correctDotsComponent.py +161 -0
  2344. psychopy/tests/data/correctScript/python/correctEnvGratingComponent.py +167 -0
  2345. psychopy/tests/data/correctScript/python/correctFormComponent.py +150 -0
  2346. psychopy/tests/data/correctScript/python/correctGratingComponent.py +158 -0
  2347. psychopy/tests/data/correctScript/python/correctImageComponent.py +160 -0
  2348. psychopy/tests/data/correctScript/python/correctJoyButtonsComponent.py +204 -0
  2349. psychopy/tests/data/correctScript/python/correctJoystickComponent.py +214 -0
  2350. psychopy/tests/data/correctScript/python/correctKeyboardComponent.py +169 -0
  2351. psychopy/tests/data/correctScript/python/correctMicrophoneComponent.py +163 -0
  2352. psychopy/tests/data/correctScript/python/correctMouseComponent.py +174 -0
  2353. psychopy/tests/data/correctScript/python/correctMovieComponent.py +160 -0
  2354. psychopy/tests/data/correctScript/python/correctNoiseStimComponent.py +169 -0
  2355. psychopy/tests/data/correctScript/python/correctParallelOutComponent.py +156 -0
  2356. psychopy/tests/data/correctScript/python/correctPatchComponent.py +159 -0
  2357. psychopy/tests/data/correctScript/python/correctPolygonComponent.py +159 -0
  2358. psychopy/tests/data/correctScript/python/correctQmixPumpComponent.py +174 -0
  2359. psychopy/tests/data/correctScript/python/correctRatingScaleComponent.py +152 -0
  2360. psychopy/tests/data/correctScript/python/correctSliderComponent.py +159 -0
  2361. psychopy/tests/data/correctScript/python/correctSoundComponent.py +157 -0
  2362. psychopy/tests/data/correctScript/python/correctStaticComponent.py +176 -0
  2363. psychopy/tests/data/correctScript/python/correctTextComponent.py +159 -0
  2364. psychopy/tests/data/correctScript/python/correctVariableComponent.py +139 -0
  2365. psychopy/tests/data/correctScript/python/correctcedrusButtonBoxComponent.py +199 -0
  2366. psychopy/tests/data/correctScript/python/correctioLabsButtonBoxComponent.py +187 -0
  2367. psychopy/tests/data/dataTest.xlsx +0 -0
  2368. psychopy/tests/data/dots_cm.png +0 -0
  2369. psychopy/tests/data/dots_deg.png +0 -0
  2370. psychopy/tests/data/dots_degFlat.png +0 -0
  2371. psychopy/tests/data/dots_degFlatPos.png +0 -0
  2372. psychopy/tests/data/dots_height.png +0 -0
  2373. psychopy/tests/data/dots_norm.png +0 -0
  2374. psychopy/tests/data/dots_normAddBlend.png +0 -0
  2375. psychopy/tests/data/dots_normHexbackground.png +0 -0
  2376. psychopy/tests/data/dots_normNoShade.png +0 -0
  2377. psychopy/tests/data/dots_pix.png +0 -0
  2378. psychopy/tests/data/dots_stencil.png +0 -0
  2379. psychopy/tests/data/duplicateHeaders.csv +2 -0
  2380. psychopy/tests/data/elarray1_cm.png +0 -0
  2381. psychopy/tests/data/elarray1_deg.png +0 -0
  2382. psychopy/tests/data/elarray1_degFlat.png +0 -0
  2383. psychopy/tests/data/elarray1_degFlatPos.png +0 -0
  2384. psychopy/tests/data/elarray1_height.png +0 -0
  2385. psychopy/tests/data/elarray1_norm.png +0 -0
  2386. psychopy/tests/data/elarray1_normAddBlend.png +0 -0
  2387. psychopy/tests/data/elarray1_normHexbackground.png +0 -0
  2388. psychopy/tests/data/elarray1_pix.png +0 -0
  2389. psychopy/tests/data/elarray1_stencil.png +0 -0
  2390. psychopy/tests/data/envelopeandrcos_cm.png +0 -0
  2391. psychopy/tests/data/envelopeandrcos_deg.png +0 -0
  2392. psychopy/tests/data/envelopeandrcos_degFlat.png +0 -0
  2393. psychopy/tests/data/envelopeandrcos_degFlatPos.png +0 -0
  2394. psychopy/tests/data/envelopeandrcos_height.png +0 -0
  2395. psychopy/tests/data/envelopeandrcos_norm.png +0 -0
  2396. psychopy/tests/data/envelopeandrcos_normAddBlend.png +0 -0
  2397. psychopy/tests/data/envelopeandrcos_normHexbackground.png +0 -0
  2398. psychopy/tests/data/envelopeandrcos_pix.png +0 -0
  2399. psychopy/tests/data/envelopeandrcos_stencil.png +0 -0
  2400. psychopy/tests/data/envelopepowerandrcos_cm.png +0 -0
  2401. psychopy/tests/data/envelopepowerandrcos_deg.png +0 -0
  2402. psychopy/tests/data/envelopepowerandrcos_degFlat.png +0 -0
  2403. psychopy/tests/data/envelopepowerandrcos_degFlatPos.png +0 -0
  2404. psychopy/tests/data/envelopepowerandrcos_height.png +0 -0
  2405. psychopy/tests/data/envelopepowerandrcos_norm.png +0 -0
  2406. psychopy/tests/data/envelopepowerandrcos_normAddBlend.png +0 -0
  2407. psychopy/tests/data/envelopepowerandrcos_normHexbackground.png +0 -0
  2408. psychopy/tests/data/envelopepowerandrcos_pix.png +0 -0
  2409. psychopy/tests/data/envelopepowerandrcos_stencil.png +0 -0
  2410. psychopy/tests/data/filltext.png +0 -0
  2411. psychopy/tests/data/form_font_demographics.png +0 -0
  2412. psychopy/tests/data/form_font_demographics.xlsx +0 -0
  2413. psychopy/tests/data/form_font_languages.png +0 -0
  2414. psychopy/tests/data/form_font_languages.xlsx +0 -0
  2415. psychopy/tests/data/form_font_nonstandard.png +0 -0
  2416. psychopy/tests/data/futureParams.psyexp +150 -0
  2417. psychopy/tests/data/gabor1_cm.png +0 -0
  2418. psychopy/tests/data/gabor1_deg.png +0 -0
  2419. psychopy/tests/data/gabor1_degFlat.png +0 -0
  2420. psychopy/tests/data/gabor1_degFlatPos.png +0 -0
  2421. psychopy/tests/data/gabor1_height.png +0 -0
  2422. psychopy/tests/data/gabor1_norm.png +0 -0
  2423. psychopy/tests/data/gabor1_normAddBlend.png +0 -0
  2424. psychopy/tests/data/gabor1_normHexbackground.png +0 -0
  2425. psychopy/tests/data/gabor1_normNoShade.png +0 -0
  2426. psychopy/tests/data/gabor1_pix.png +0 -0
  2427. psychopy/tests/data/gabor1_stencil.png +0 -0
  2428. psychopy/tests/data/gabor2_cm.png +0 -0
  2429. psychopy/tests/data/gabor2_deg.png +0 -0
  2430. psychopy/tests/data/gabor2_degFlat.png +0 -0
  2431. psychopy/tests/data/gabor2_degFlatPos.png +0 -0
  2432. psychopy/tests/data/gabor2_height.png +0 -0
  2433. psychopy/tests/data/gabor2_norm.png +0 -0
  2434. psychopy/tests/data/gabor2_normAddBlend.png +0 -0
  2435. psychopy/tests/data/gabor2_normHexbackground.png +0 -0
  2436. psychopy/tests/data/gabor2_normNoShade.png +0 -0
  2437. psychopy/tests/data/gabor2_pix.png +0 -0
  2438. psychopy/tests/data/gabor2_stencil.png +0 -0
  2439. psychopy/tests/data/ghost_stroop.psyexp +131 -0
  2440. psychopy/tests/data/ghost_trialTypes.xlsx +0 -0
  2441. psychopy/tests/data/green_48000.flac.dist +0 -0
  2442. psychopy/tests/data/greyscale.jpg +0 -0
  2443. psychopy/tests/data/greyscale2.png +0 -0
  2444. psychopy/tests/data/greyscale2_cm.png +0 -0
  2445. psychopy/tests/data/greyscale2_deg.png +0 -0
  2446. psychopy/tests/data/greyscale2_degFlat.png +0 -0
  2447. psychopy/tests/data/greyscale2_degFlatPos.png +0 -0
  2448. psychopy/tests/data/greyscale2_height.png +0 -0
  2449. psychopy/tests/data/greyscale2_norm.png +0 -0
  2450. psychopy/tests/data/greyscale2_normAddBlend.png +0 -0
  2451. psychopy/tests/data/greyscale2_normHexbackground.png +0 -0
  2452. psychopy/tests/data/greyscale2_normNoShade.png +0 -0
  2453. psychopy/tests/data/greyscale2_pix.png +0 -0
  2454. psychopy/tests/data/greyscale2_stencil.png +0 -0
  2455. psychopy/tests/data/greyscaleLowContr_cm.png +0 -0
  2456. psychopy/tests/data/greyscaleLowContr_deg.png +0 -0
  2457. psychopy/tests/data/greyscaleLowContr_degFlat.png +0 -0
  2458. psychopy/tests/data/greyscaleLowContr_degFlatPos.png +0 -0
  2459. psychopy/tests/data/greyscaleLowContr_height.png +0 -0
  2460. psychopy/tests/data/greyscaleLowContr_norm.png +0 -0
  2461. psychopy/tests/data/greyscaleLowContr_normAddBlend.png +0 -0
  2462. psychopy/tests/data/greyscaleLowContr_normHexbackground.png +0 -0
  2463. psychopy/tests/data/greyscaleLowContr_normNoShade.png +0 -0
  2464. psychopy/tests/data/greyscaleLowContr_pix.png +0 -0
  2465. psychopy/tests/data/greyscaleLowContr_stencil.png +0 -0
  2466. psychopy/tests/data/greyscale_cm.png +0 -0
  2467. psychopy/tests/data/greyscale_deg.png +0 -0
  2468. psychopy/tests/data/greyscale_degFlat.png +0 -0
  2469. psychopy/tests/data/greyscale_degFlatPos.png +0 -0
  2470. psychopy/tests/data/greyscale_height.png +0 -0
  2471. psychopy/tests/data/greyscale_norm.png +0 -0
  2472. psychopy/tests/data/greyscale_normAddBlend.png +0 -0
  2473. psychopy/tests/data/greyscale_normHexbackground.png +0 -0
  2474. psychopy/tests/data/greyscale_normNoShade.png +0 -0
  2475. psychopy/tests/data/greyscale_pix.png +0 -0
  2476. psychopy/tests/data/greyscale_stencil.png +0 -0
  2477. psychopy/tests/data/imageAndGauss_cm.png +0 -0
  2478. psychopy/tests/data/imageAndGauss_deg.png +0 -0
  2479. psychopy/tests/data/imageAndGauss_degFlat.png +0 -0
  2480. psychopy/tests/data/imageAndGauss_degFlatPos.png +0 -0
  2481. psychopy/tests/data/imageAndGauss_height.png +0 -0
  2482. psychopy/tests/data/imageAndGauss_norm.png +0 -0
  2483. psychopy/tests/data/imageAndGauss_normAddBlend.png +0 -0
  2484. psychopy/tests/data/imageAndGauss_normHexbackground.png +0 -0
  2485. psychopy/tests/data/imageAndGauss_normNoShade.png +0 -0
  2486. psychopy/tests/data/imageAndGauss_pix.png +0 -0
  2487. psychopy/tests/data/imageAndGauss_stencil.png +0 -0
  2488. psychopy/tests/data/movFrame1_cm.png +0 -0
  2489. psychopy/tests/data/movFrame1_deg.png +0 -0
  2490. psychopy/tests/data/movFrame1_degFlat.png +0 -0
  2491. psychopy/tests/data/movFrame1_degFlatPos.png +0 -0
  2492. psychopy/tests/data/movFrame1_height.png +0 -0
  2493. psychopy/tests/data/movFrame1_norm.png +0 -0
  2494. psychopy/tests/data/movFrame1_normAddBlend.png +0 -0
  2495. psychopy/tests/data/movFrame1_normHexbackground.png +0 -0
  2496. psychopy/tests/data/movFrame1_normNoShade.png +0 -0
  2497. psychopy/tests/data/movFrame1_pix.png +0 -0
  2498. psychopy/tests/data/movFrame1_stencil.png +0 -0
  2499. psychopy/tests/data/multiKeypressExperiment.psydat +357 -0
  2500. psychopy/tests/data/multiKeypressTrialhandler.psydat +252 -0
  2501. psychopy/tests/data/multiStairConds.xlsx +0 -0
  2502. psychopy/tests/data/multiStairQuestPlus.xlsx +0 -0
  2503. psychopy/tests/data/newstyle.psydat +6155 -0
  2504. psychopy/tests/data/noiseAndRcos_cm.png +0 -0
  2505. psychopy/tests/data/noiseAndRcos_deg.png +0 -0
  2506. psychopy/tests/data/noiseAndRcos_degFlat.png +0 -0
  2507. psychopy/tests/data/noiseAndRcos_degFlatPos.png +0 -0
  2508. psychopy/tests/data/noiseAndRcos_height.png +0 -0
  2509. psychopy/tests/data/noiseAndRcos_norm.png +0 -0
  2510. psychopy/tests/data/noiseAndRcos_normAddBlend.png +0 -0
  2511. psychopy/tests/data/noiseAndRcos_normHexbackground.png +0 -0
  2512. psychopy/tests/data/noiseAndRcos_normNoShade.png +0 -0
  2513. psychopy/tests/data/noiseAndRcos_pix.png +0 -0
  2514. psychopy/tests/data/noiseAndRcos_stencil.png +0 -0
  2515. psychopy/tests/data/noiseFiltersAndRcos_cm.png +0 -0
  2516. psychopy/tests/data/noiseFiltersAndRcos_deg.png +0 -0
  2517. psychopy/tests/data/noiseFiltersAndRcos_degFlat.png +0 -0
  2518. psychopy/tests/data/noiseFiltersAndRcos_degFlatPos.png +0 -0
  2519. psychopy/tests/data/noiseFiltersAndRcos_height.png +0 -0
  2520. psychopy/tests/data/noiseFiltersAndRcos_norm.png +0 -0
  2521. psychopy/tests/data/noiseFiltersAndRcos_normAddBlend.png +0 -0
  2522. psychopy/tests/data/noiseFiltersAndRcos_normHexbackground.png +0 -0
  2523. psychopy/tests/data/noiseFiltersAndRcos_normNoShade.png +0 -0
  2524. psychopy/tests/data/noiseFiltersAndRcos_pix.png +0 -0
  2525. psychopy/tests/data/noiseFiltersAndRcos_stencil.png +0 -0
  2526. psychopy/tests/data/numpyImage_cm.png +0 -0
  2527. psychopy/tests/data/numpyImage_deg.png +0 -0
  2528. psychopy/tests/data/numpyImage_degFlat.png +0 -0
  2529. psychopy/tests/data/numpyImage_degFlatPos.png +0 -0
  2530. psychopy/tests/data/numpyImage_height.png +0 -0
  2531. psychopy/tests/data/numpyImage_norm.png +0 -0
  2532. psychopy/tests/data/numpyImage_normAddBlend.png +0 -0
  2533. psychopy/tests/data/numpyImage_normHexbackground.png +0 -0
  2534. psychopy/tests/data/numpyImage_normNoShade.png +0 -0
  2535. psychopy/tests/data/numpyImage_pix.png +0 -0
  2536. psychopy/tests/data/numpyImage_stencil.png +0 -0
  2537. psychopy/tests/data/numpyLowContr_cm.png +0 -0
  2538. psychopy/tests/data/numpyLowContr_deg.png +0 -0
  2539. psychopy/tests/data/numpyLowContr_degFlat.png +0 -0
  2540. psychopy/tests/data/numpyLowContr_degFlatPos.png +0 -0
  2541. psychopy/tests/data/numpyLowContr_height.png +0 -0
  2542. psychopy/tests/data/numpyLowContr_norm.png +0 -0
  2543. psychopy/tests/data/numpyLowContr_normAddBlend.png +0 -0
  2544. psychopy/tests/data/numpyLowContr_normHexbackground.png +0 -0
  2545. psychopy/tests/data/numpyLowContr_normNoShade.png +0 -0
  2546. psychopy/tests/data/numpyLowContr_pix.png +0 -0
  2547. psychopy/tests/data/numpyLowContr_stencil.png +0 -0
  2548. psychopy/tests/data/oldstyle.psydat +1534 -0
  2549. psychopy/tests/data/oldstyle_stair.psydat +263 -0
  2550. psychopy/tests/data/ratingscale1_cm.png +0 -0
  2551. psychopy/tests/data/ratingscale1_deg.png +0 -0
  2552. psychopy/tests/data/ratingscale1_degFlat.png +0 -0
  2553. psychopy/tests/data/ratingscale1_degFlatPos.png +0 -0
  2554. psychopy/tests/data/ratingscale1_height.png +0 -0
  2555. psychopy/tests/data/ratingscale1_norm.png +0 -0
  2556. psychopy/tests/data/ratingscale1_normAddBlend.png +0 -0
  2557. psychopy/tests/data/ratingscale1_normHexbackground.png +0 -0
  2558. psychopy/tests/data/ratingscale1_normNoShade.png +0 -0
  2559. psychopy/tests/data/ratingscale1_pix.png +0 -0
  2560. psychopy/tests/data/ratingscale1_stencil.png +0 -0
  2561. psychopy/tests/data/red_16000.flac.dist +0 -0
  2562. psychopy/tests/data/retroListParam.psyexp +82 -0
  2563. psychopy/tests/data/right_to_left_unidcode.xlsx +0 -0
  2564. psychopy/tests/data/sample.meshwarp.data +11522 -0
  2565. psychopy/tests/data/shape2_1_cm.png +0 -0
  2566. psychopy/tests/data/shape2_1_deg.png +0 -0
  2567. psychopy/tests/data/shape2_1_degFlat.png +0 -0
  2568. psychopy/tests/data/shape2_1_degFlatPos.png +0 -0
  2569. psychopy/tests/data/shape2_1_height.png +0 -0
  2570. psychopy/tests/data/shape2_1_norm.png +0 -0
  2571. psychopy/tests/data/shape2_1_normAddBlend.png +0 -0
  2572. psychopy/tests/data/shape2_1_normHexbackground.png +0 -0
  2573. psychopy/tests/data/shape2_1_normNoShade.png +0 -0
  2574. psychopy/tests/data/shape2_1_pix.png +0 -0
  2575. psychopy/tests/data/shape2_1_stencil.png +0 -0
  2576. psychopy/tests/data/shape2_2_cm.png +0 -0
  2577. psychopy/tests/data/shape2_2_deg.png +0 -0
  2578. psychopy/tests/data/shape2_2_degFlat.png +0 -0
  2579. psychopy/tests/data/shape2_2_degFlatPos.png +0 -0
  2580. psychopy/tests/data/shape2_2_height.png +0 -0
  2581. psychopy/tests/data/shape2_2_norm.png +0 -0
  2582. psychopy/tests/data/shape2_2_normAddBlend.png +0 -0
  2583. psychopy/tests/data/shape2_2_normHexbackground.png +0 -0
  2584. psychopy/tests/data/shape2_2_normNoShade.png +0 -0
  2585. psychopy/tests/data/shape2_2_pix.png +0 -0
  2586. psychopy/tests/data/shape2_2_stencil.png +0 -0
  2587. psychopy/tests/data/simpleimage1_cm.png +0 -0
  2588. psychopy/tests/data/simpleimage1_deg.png +0 -0
  2589. psychopy/tests/data/simpleimage1_degFlat.png +0 -0
  2590. psychopy/tests/data/simpleimage1_degFlatPos.png +0 -0
  2591. psychopy/tests/data/simpleimage1_height.png +0 -0
  2592. psychopy/tests/data/simpleimage1_norm.png +0 -0
  2593. psychopy/tests/data/simpleimage1_normAddBlend.png +0 -0
  2594. psychopy/tests/data/simpleimage1_normHexbackground.png +0 -0
  2595. psychopy/tests/data/simpleimage1_normNoShade.png +0 -0
  2596. psychopy/tests/data/simpleimage1_pix.png +0 -0
  2597. psychopy/tests/data/simpleimage1_stencil.png +0 -0
  2598. psychopy/tests/data/test001EntryImporting.psyexp +66 -0
  2599. psychopy/tests/data/testMovie.mp4 +0 -0
  2600. psychopy/tests/data/test_basic_run.py +1 -0
  2601. psychopy/tests/data/test_circle_radius_.1height.png +0 -0
  2602. psychopy/tests/data/test_circle_radius_.2height.png +0 -0
  2603. psychopy/tests/data/test_circle_radius_10pix.png +0 -0
  2604. psychopy/tests/data/test_circle_radius_20pix.png +0 -0
  2605. psychopy/tests/data/test_components/testClearKeyboard/testClearKeyboard.psyexp +200 -0
  2606. psychopy/tests/data/test_form_combinations_choice_bigItem.png +0 -0
  2607. psychopy/tests/data/test_form_combinations_choice_bigItemOverflow.png +0 -0
  2608. psychopy/tests/data/test_form_combinations_choice_bigResp.png +0 -0
  2609. psychopy/tests/data/test_form_combinations_choice_bigRespOverflow.png +0 -0
  2610. psychopy/tests/data/test_form_combinations_description_bigItem.png +0 -0
  2611. psychopy/tests/data/test_form_combinations_description_bigItemOverflow.png +0 -0
  2612. psychopy/tests/data/test_form_combinations_description_bigResp.png +0 -0
  2613. psychopy/tests/data/test_form_combinations_description_bigRespOverflow.png +0 -0
  2614. psychopy/tests/data/test_form_combinations_free text_bigItem.png +0 -0
  2615. psychopy/tests/data/test_form_combinations_free text_bigItemOverflow.png +0 -0
  2616. psychopy/tests/data/test_form_combinations_free text_bigResp.png +0 -0
  2617. psychopy/tests/data/test_form_combinations_free text_bigRespOverflow.png +0 -0
  2618. psychopy/tests/data/test_form_combinations_heading_bigItem.png +0 -0
  2619. psychopy/tests/data/test_form_combinations_heading_bigItemOverflow.png +0 -0
  2620. psychopy/tests/data/test_form_combinations_heading_bigResp.png +0 -0
  2621. psychopy/tests/data/test_form_combinations_heading_bigRespOverflow.png +0 -0
  2622. psychopy/tests/data/test_form_combinations_radio_bigItem.png +0 -0
  2623. psychopy/tests/data/test_form_combinations_radio_bigItemOverflow.png +0 -0
  2624. psychopy/tests/data/test_form_combinations_radio_bigResp.png +0 -0
  2625. psychopy/tests/data/test_form_combinations_radio_bigRespOverflow.png +0 -0
  2626. psychopy/tests/data/test_form_combinations_rating_bigItem.png +0 -0
  2627. psychopy/tests/data/test_form_combinations_rating_bigItemOverflow.png +0 -0
  2628. psychopy/tests/data/test_form_combinations_rating_bigResp.png +0 -0
  2629. psychopy/tests/data/test_form_combinations_rating_bigRespOverflow.png +0 -0
  2630. psychopy/tests/data/test_form_combinations_slider_bigItem.png +0 -0
  2631. psychopy/tests/data/test_form_combinations_slider_bigItemOverflow.png +0 -0
  2632. psychopy/tests/data/test_form_combinations_slider_bigResp.png +0 -0
  2633. psychopy/tests/data/test_form_combinations_slider_bigRespOverflow.png +0 -0
  2634. psychopy/tests/data/test_get_resources/blue.png +0 -0
  2635. psychopy/tests/data/test_get_resources/groupA.csv +3 -0
  2636. psychopy/tests/data/test_get_resources/groupB.csv +3 -0
  2637. psychopy/tests/data/test_get_resources/groups.csv +3 -0
  2638. psychopy/tests/data/test_get_resources/handledbyrm_constrloop.psyexp +143 -0
  2639. psychopy/tests/data/test_get_resources/handledbyrm_noloop.psyexp +114 -0
  2640. psychopy/tests/data/test_get_resources/handledbyrm_recurloop.psyexp +138 -0
  2641. psychopy/tests/data/test_get_resources/handledbyrm_strloop.psyexp +126 -0
  2642. psychopy/tests/data/test_get_resources/handledbystatic_constrloop.psyexp +141 -0
  2643. psychopy/tests/data/test_get_resources/handledbystatic_noloop.psyexp +112 -0
  2644. psychopy/tests/data/test_get_resources/handledbystatic_recurloop.psyexp +136 -0
  2645. psychopy/tests/data/test_get_resources/handledbystatic_strloop.psyexp +124 -0
  2646. psychopy/tests/data/test_get_resources/unhandled_constrloop.psyexp +128 -0
  2647. psychopy/tests/data/test_get_resources/unhandled_noloop.psyexp +99 -0
  2648. psychopy/tests/data/test_get_resources/unhandled_recurloop.psyexp +123 -0
  2649. psychopy/tests/data/test_get_resources/unhandled_strloop.psyexp +111 -0
  2650. psychopy/tests/data/test_get_resources/white.png +0 -0
  2651. psychopy/tests/data/test_get_resources/yellow.png +0 -0
  2652. psychopy/tests/data/test_image_aspect_default_None.png +0 -0
  2653. psychopy/tests/data/test_image_aspect_default_xFull_yNone.png +0 -0
  2654. psychopy/tests/data/test_image_aspect_default_xNone_yFull.png +0 -0
  2655. psychopy/tests/data/test_image_aspect_default_xNone_yNone.png +0 -0
  2656. psychopy/tests/data/test_image_flip_anchor_horiz.png +0 -0
  2657. psychopy/tests/data/test_image_flip_anchor_vert.png +0 -0
  2658. psychopy/tests/data/test_loaded_namespace/test_counterbalance.psyexp +142 -0
  2659. psychopy/tests/data/test_loaded_namespace/test_custom_missing.psyexp +129 -0
  2660. psychopy/tests/data/test_loaded_namespace/test_missing_counterbalance.psyexp +116 -0
  2661. psychopy/tests/data/test_loaded_namespace/test_mix_exp.psyexp +181 -0
  2662. psychopy/tests/data/test_loaded_namespace/test_mix_missing.psyexp +140 -0
  2663. psychopy/tests/data/test_loaded_namespace/test_mix_name_calibration.psyexp +164 -0
  2664. psychopy/tests/data/test_loops/testLoopsBlocks.psyexp +161 -0
  2665. psychopy/tests/data/test_loops/testStaircase.psyexp +105 -0
  2666. psychopy/tests/data/test_loops/test_current_loop_attr.psyexp +185 -0
  2667. psychopy/tests/data/test_panorama/panoramaTestImage.png +0 -0
  2668. psychopy/tests/data/test_panorama/panoramaTestImage.svg +1 -0
  2669. psychopy/tests/data/test_panorama/testPanorama_mvmt_-0.3_-0.3.png +0 -0
  2670. psychopy/tests/data/test_panorama/testPanorama_mvmt_-0.3_0.3.png +0 -0
  2671. psychopy/tests/data/test_panorama/testPanorama_mvmt_-1.0_-0.3.png +0 -0
  2672. psychopy/tests/data/test_panorama/testPanorama_mvmt_-1.0_0.3.png +0 -0
  2673. psychopy/tests/data/test_panorama/testPanorama_mvmt_0.0_-1.0.png +0 -0
  2674. psychopy/tests/data/test_panorama/testPanorama_mvmt_0.0_1.0.png +0 -0
  2675. psychopy/tests/data/test_panorama/testPanorama_mvmt_0.3_-0.3.png +0 -0
  2676. psychopy/tests/data/test_panorama/testPanorama_mvmt_0.3_0.3.png +0 -0
  2677. psychopy/tests/data/test_resources.psyexp +491 -0
  2678. psychopy/tests/data/test_session/outside_root/externalExp.psyexp +116 -0
  2679. psychopy/tests/data/test_session/root/annotation/annotation.psyexp +161 -0
  2680. psychopy/tests/data/test_session/root/error/error.psyexp +93 -0
  2681. psychopy/tests/data/test_session/root/exp1/exp1.psyexp +133 -0
  2682. psychopy/tests/data/test_session/root/exp2/exp2.psyexp +133 -0
  2683. psychopy/tests/data/test_session/root/frameRate/frameRate.psyexp +114 -0
  2684. psychopy/tests/data/test_session/root/invUseVersion/invUseVersion.psyexp +133 -0
  2685. psychopy/tests/data/test_session/root/testClockFormat/testClockFormat.psyexp +122 -0
  2686. psychopy/tests/data/test_session/root/testCtrls/testCtrls.psyexp +115 -0
  2687. psychopy/tests/data/test_session/root/testEditExpInfo/testEditExpInfo.psyexp +135 -0
  2688. psychopy/tests/data/test_session/root/testFutureTrials/testFutureTrials.psyexp +155 -0
  2689. psychopy/tests/data/test_session/root/testNamedButtonBox/testNamedButtonBox.psyexp +145 -0
  2690. psychopy/tests/data/test_session/root/testTrialNav/trialNav.psyexp +158 -0
  2691. psychopy/tests/data/test_slider_horiz_accute_horiz.png +0 -0
  2692. psychopy/tests/data/test_slider_horiz_accute_vert.png +0 -0
  2693. psychopy/tests/data/test_slider_horiz_horiz.png +0 -0
  2694. psychopy/tests/data/test_slider_horiz_obtuse_horiz.png +0 -0
  2695. psychopy/tests/data/test_slider_horiz_obtuse_vert.png +0 -0
  2696. psychopy/tests/data/test_slider_horiz_vert.png +0 -0
  2697. psychopy/tests/data/test_slider_ticklabelloc_blanks.png +0 -0
  2698. psychopy/tests/data/test_slider_ticklabelloc_clustered.png +0 -0
  2699. psychopy/tests/data/test_slider_ticklabelloc_morelabels.png +0 -0
  2700. psychopy/tests/data/test_slider_ticklabelloc_morelabelsclustered.png +0 -0
  2701. psychopy/tests/data/test_slider_ticklabelloc_moreticks.png +0 -0
  2702. psychopy/tests/data/test_slider_ticklabelloc_moreticksclustered.png +0 -0
  2703. psychopy/tests/data/test_slider_ticklabelloc_nolabels.png +0 -0
  2704. psychopy/tests/data/test_slider_ticklabelloc_noticks.png +0 -0
  2705. psychopy/tests/data/test_slider_ticklabelloc_simple.png +0 -0
  2706. psychopy/tests/data/test_slider_triangle_horiz_False_flip_False.png +0 -0
  2707. psychopy/tests/data/test_slider_triangle_horiz_False_flip_True.png +0 -0
  2708. psychopy/tests/data/test_slider_triangle_horiz_True_flip_False.png +0 -0
  2709. psychopy/tests/data/test_slider_triangle_horiz_True_flip_True.png +0 -0
  2710. psychopy/tests/data/test_sounds/default_16000.wav +0 -0
  2711. psychopy/tests/data/test_sounds/default_192000.wav +0 -0
  2712. psychopy/tests/data/test_sounds/default_22050.wav +0 -0
  2713. psychopy/tests/data/test_sounds/default_32000.wav +0 -0
  2714. psychopy/tests/data/test_sounds/default_44100.wav +0 -0
  2715. psychopy/tests/data/test_sounds/default_48000.wav +0 -0
  2716. psychopy/tests/data/test_sounds/default_8000.wav +0 -0
  2717. psychopy/tests/data/test_sounds/default_96000.wav +0 -0
  2718. psychopy/tests/data/test_static_component_script.psyexp +76 -0
  2719. psychopy/tests/data/test_win_bg_large_256_default.png +0 -0
  2720. psychopy/tests/data/test_win_bg_large_500_default.png +0 -0
  2721. psychopy/tests/data/test_win_bg_small_200_default.png +0 -0
  2722. psychopy/tests/data/test_win_bg_small_256_default.png +0 -0
  2723. psychopy/tests/data/test_win_bg_tall_200_default.png +0 -0
  2724. psychopy/tests/data/test_win_bg_tall_256_default.png +0 -0
  2725. psychopy/tests/data/test_win_bg_tall_500_default.png +0 -0
  2726. psychopy/tests/data/test_win_bg_tall_fill_default.png +0 -0
  2727. psychopy/tests/data/test_win_bg_wide_200_default.png +0 -0
  2728. psychopy/tests/data/test_win_bg_wide_256_default.png +0 -0
  2729. psychopy/tests/data/test_win_bg_wide_500_default.png +0 -0
  2730. psychopy/tests/data/test_win_bg_wide_fill_default.png +0 -0
  2731. psychopy/tests/data/test_win_bgcolor_blue.png +0 -0
  2732. psychopy/tests/data/test_win_bgcolor_green.png +0 -0
  2733. psychopy/tests/data/test_win_bgcolor_red.png +0 -0
  2734. psychopy/tests/data/testimage.jpg +0 -0
  2735. psychopy/tests/data/testimagegray.jpg +0 -0
  2736. psychopy/tests/data/testpixels.png +0 -0
  2737. psychopy/tests/data/testwedges.png +0 -0
  2738. psychopy/tests/data/text1_cm.png +0 -0
  2739. psychopy/tests/data/text1_deg.png +0 -0
  2740. psychopy/tests/data/text1_degFlat.png +0 -0
  2741. psychopy/tests/data/text1_degFlatPos.png +0 -0
  2742. psychopy/tests/data/text1_height.png +0 -0
  2743. psychopy/tests/data/text1_norm.png +0 -0
  2744. psychopy/tests/data/text1_normAddBlend.png +0 -0
  2745. psychopy/tests/data/text1_normHexbackground.png +0 -0
  2746. psychopy/tests/data/text1_normNoShade.png +0 -0
  2747. psychopy/tests/data/text1_pix.png +0 -0
  2748. psychopy/tests/data/text1_stencil.png +0 -0
  2749. psychopy/tests/data/text2_cm.png +0 -0
  2750. psychopy/tests/data/text2_deg.png +0 -0
  2751. psychopy/tests/data/text2_degFlat.png +0 -0
  2752. psychopy/tests/data/text2_degFlatPos.png +0 -0
  2753. psychopy/tests/data/text2_norm.png +0 -0
  2754. psychopy/tests/data/text2_normNoShade.png +0 -0
  2755. psychopy/tests/data/text2_pix.png +0 -0
  2756. psychopy/tests/data/textbox_charcolors_default_roygbiv.png +0 -0
  2757. psychopy/tests/data/textbox_charcolors_default_white_hello_black_there.png +0 -0
  2758. psychopy/tests/data/textbox_default_align_bottom_center.png +0 -0
  2759. psychopy/tests/data/textbox_default_align_bottom_left.png +0 -0
  2760. psychopy/tests/data/textbox_default_align_bottom_right.png +0 -0
  2761. psychopy/tests/data/textbox_default_align_center.png +0 -0
  2762. psychopy/tests/data/textbox_default_align_center_center.png +0 -0
  2763. psychopy/tests/data/textbox_default_align_center_left.png +0 -0
  2764. psychopy/tests/data/textbox_default_align_center_right.png +0 -0
  2765. psychopy/tests/data/textbox_default_align_centre.png +0 -0
  2766. psychopy/tests/data/textbox_default_align_centre_centre.png +0 -0
  2767. psychopy/tests/data/textbox_default_align_more_than_two_words.png +0 -0
  2768. psychopy/tests/data/textbox_default_align_someword.png +0 -0
  2769. psychopy/tests/data/textbox_default_align_top_center.png +0 -0
  2770. psychopy/tests/data/textbox_default_align_top_left.png +0 -0
  2771. psychopy/tests/data/textbox_default_align_top_right.png +0 -0
  2772. psychopy/tests/data/textbox_default_colors_WOB.png +0 -0
  2773. psychopy/tests/data/textbox_default_colors_exemplar1.png +0 -0
  2774. psychopy/tests/data/textbox_default_colors_exemplar2.png +0 -0
  2775. psychopy/tests/data/textbox_default_colors_exemplar3.png +0 -0
  2776. psychopy/tests/data/textbox_default_colors_tyke1.png +0 -0
  2777. psychopy/tests/data/textbox_default_colors_tyke2.png +0 -0
  2778. psychopy/tests/data/textbox_default_colors_tyke3.png +0 -0
  2779. psychopy/tests/data/textbox_default_cutoff_top.png +0 -0
  2780. psychopy/tests/data/textbox_default_exemplar_1.png +0 -0
  2781. psychopy/tests/data/textbox_default_exemplar_2.png +0 -0
  2782. psychopy/tests/data/textbox_default_exemplar_3.png +0 -0
  2783. psychopy/tests/data/textbox_default_exemplar_4.png +0 -0
  2784. psychopy/tests/data/textbox_default_tyke_1.png +0 -0
  2785. psychopy/tests/data/textbox_default_tyke_2.png +0 -0
  2786. psychopy/tests/data/textbox_typing_blank.png +0 -0
  2787. psychopy/tests/data/textbox_typing_longKoeran.png +0 -0
  2788. psychopy/tests/data/textbox_typing_longWord.png +0 -0
  2789. psychopy/tests/data/textbox_typing_navDel.png +0 -0
  2790. psychopy/tests/data/textbox_typing_navLR.png +0 -0
  2791. psychopy/tests/data/textbox_typing_newline.png +0 -0
  2792. psychopy/tests/data/textbox_typing_pangram.png +0 -0
  2793. psychopy/tests/data/textbox_uax14_align_bottom_center.png +0 -0
  2794. psychopy/tests/data/textbox_uax14_align_bottom_left.png +0 -0
  2795. psychopy/tests/data/textbox_uax14_align_bottom_right.png +0 -0
  2796. psychopy/tests/data/textbox_uax14_align_center.png +0 -0
  2797. psychopy/tests/data/textbox_uax14_align_center_center.png +0 -0
  2798. psychopy/tests/data/textbox_uax14_align_center_left.png +0 -0
  2799. psychopy/tests/data/textbox_uax14_align_center_right.png +0 -0
  2800. psychopy/tests/data/textbox_uax14_align_centre.png +0 -0
  2801. psychopy/tests/data/textbox_uax14_align_centre_centre.png +0 -0
  2802. psychopy/tests/data/textbox_uax14_align_more_than_two_words.png +0 -0
  2803. psychopy/tests/data/textbox_uax14_align_someword.png +0 -0
  2804. psychopy/tests/data/textbox_uax14_align_top_center.png +0 -0
  2805. psychopy/tests/data/textbox_uax14_align_top_left.png +0 -0
  2806. psychopy/tests/data/textbox_uax14_align_top_right.png +0 -0
  2807. psychopy/tests/data/textbox_uax14_colors_WOB.png +0 -0
  2808. psychopy/tests/data/textbox_uax14_colors_exemplar1.png +0 -0
  2809. psychopy/tests/data/textbox_uax14_colors_exemplar2.png +0 -0
  2810. psychopy/tests/data/textbox_uax14_colors_exemplar3.png +0 -0
  2811. psychopy/tests/data/textbox_uax14_colors_tyke1.png +0 -0
  2812. psychopy/tests/data/textbox_uax14_colors_tyke2.png +0 -0
  2813. psychopy/tests/data/textbox_uax14_colors_tyke3.png +0 -0
  2814. psychopy/tests/data/textbox_uax14_cutoff_top.png +0 -0
  2815. psychopy/tests/data/textbox_uax14_exemplar_1.png +0 -0
  2816. psychopy/tests/data/textbox_uax14_exemplar_2.png +0 -0
  2817. psychopy/tests/data/textbox_uax14_exemplar_3.png +0 -0
  2818. psychopy/tests/data/textbox_uax14_exemplar_4.png +0 -0
  2819. psychopy/tests/data/textbox_uax14_tyke_1.png +0 -0
  2820. psychopy/tests/data/textbox_uax14_tyke_2.png +0 -0
  2821. psychopy/tests/data/trialTypes.csv +1 -0
  2822. psychopy/tests/data/trialTypes.docx +0 -0
  2823. psychopy/tests/data/trialTypes.pkl +0 -0
  2824. psychopy/tests/data/trialTypes.tsv +7 -0
  2825. psychopy/tests/data/trialTypes.xls +0 -0
  2826. psychopy/tests/data/trialTypes.xlsx +0 -0
  2827. psychopy/tests/data/trialTypes_eu.csv +7 -0
  2828. psychopy/tests/data/trialsBlankCols.xlsx +0 -0
  2829. psychopy/tests/data/wedge1_cm.png +0 -0
  2830. psychopy/tests/data/wedge1_deg.png +0 -0
  2831. psychopy/tests/data/wedge1_degFlat.png +0 -0
  2832. psychopy/tests/data/wedge1_degFlatPos.png +0 -0
  2833. psychopy/tests/data/wedge1_height.png +0 -0
  2834. psychopy/tests/data/wedge1_norm.png +0 -0
  2835. psychopy/tests/data/wedge1_normAddBlend.png +0 -0
  2836. psychopy/tests/data/wedge1_normHexbackground.png +0 -0
  2837. psychopy/tests/data/wedge1_normNoShade.png +0 -0
  2838. psychopy/tests/data/wedge1_pix.png +0 -0
  2839. psychopy/tests/data/wedge1_stencil.png +0 -0
  2840. psychopy/tests/data/wedge2_cm.png +0 -0
  2841. psychopy/tests/data/wedge2_deg.png +0 -0
  2842. psychopy/tests/data/wedge2_degFlat.png +0 -0
  2843. psychopy/tests/data/wedge2_degFlatPos.png +0 -0
  2844. psychopy/tests/data/wedge2_height.png +0 -0
  2845. psychopy/tests/data/wedge2_norm.png +0 -0
  2846. psychopy/tests/data/wedge2_normAddBlend.png +0 -0
  2847. psychopy/tests/data/wedge2_normHexbackground.png +0 -0
  2848. psychopy/tests/data/wedge2_normNoShade.png +0 -0
  2849. psychopy/tests/data/wedge2_pix.png +0 -0
  2850. psychopy/tests/data/wedge2_stencil.png +0 -0
  2851. psychopy/tests/data/winScalePos_ori0_scale-1_-1_pos-0.4_0.png +0 -0
  2852. psychopy/tests/data/winScalePos_ori0_scale-1_-1_pos0_0.png +0 -0
  2853. psychopy/tests/data/winScalePos_ori0_scale-1_1_pos-0.4_0.png +0 -0
  2854. psychopy/tests/data/winScalePos_ori0_scale-1_1_pos0_0.png +0 -0
  2855. psychopy/tests/data/winScalePos_ori0_scale-2_-2_pos-0.4_0.png +0 -0
  2856. psychopy/tests/data/winScalePos_ori0_scale-2_-2_pos0_0.png +0 -0
  2857. psychopy/tests/data/winScalePos_ori0_scale-2_2_pos-0.4_0.png +0 -0
  2858. psychopy/tests/data/winScalePos_ori0_scale-2_2_pos0_0.png +0 -0
  2859. psychopy/tests/data/winScalePos_ori0_scale1_-1_pos-0.4_0.png +0 -0
  2860. psychopy/tests/data/winScalePos_ori0_scale1_-1_pos0_0.png +0 -0
  2861. psychopy/tests/data/winScalePos_ori0_scale1_1_pos-0.4_0.png +0 -0
  2862. psychopy/tests/data/winScalePos_ori0_scale1_1_pos0_0.png +0 -0
  2863. psychopy/tests/data/winScalePos_ori0_scale2_-2_pos-0.4_0.png +0 -0
  2864. psychopy/tests/data/winScalePos_ori0_scale2_-2_pos0_0.png +0 -0
  2865. psychopy/tests/data/winScalePos_ori0_scale2_2_pos-0.4_0.png +0 -0
  2866. psychopy/tests/data/winScalePos_ori0_scale2_2_pos0_0.png +0 -0
  2867. psychopy/tests/data/winScalePos_ori45_scale-1_-1_pos0_0.png +0 -0
  2868. psychopy/tests/data/winScalePos_ori45_scale-1_1_pos0_0.png +0 -0
  2869. psychopy/tests/data/winScalePos_ori45_scale-2_-2_pos0_0.png +0 -0
  2870. psychopy/tests/data/winScalePos_ori45_scale-2_2_pos0_0.png +0 -0
  2871. psychopy/tests/data/winScalePos_ori45_scale1_-1_pos0_0.png +0 -0
  2872. psychopy/tests/data/winScalePos_ori45_scale1_1_pos0_0.png +0 -0
  2873. psychopy/tests/data/winScalePos_ori45_scale2_-2_pos0_0.png +0 -0
  2874. psychopy/tests/data/winScalePos_ori45_scale2_2_pos0_0.png +0 -0
  2875. psychopy/tests/doc/run_btn.png +0 -0
  2876. psychopy/tests/doc/test-suite-bugs.jpg +0 -0
  2877. psychopy/tests/doc/user-bugs.jpg +0 -0
  2878. psychopy/tests/dummy_xorg.conf +21 -0
  2879. psychopy/tests/run.py +50 -0
  2880. psychopy/tests/test_Installation.py +38 -0
  2881. psychopy/tests/test_alerts/test_alerts.py +37 -0
  2882. psychopy/tests/test_alerts/test_alerttools.py +132 -0
  2883. psychopy/tests/test_app/__init__.py +0 -0
  2884. psychopy/tests/test_app/conftest.py +40 -0
  2885. psychopy/tests/test_app/test_builder/__init__.py +0 -0
  2886. psychopy/tests/test_app/test_builder/test_BuilderFrame.py +166 -0
  2887. psychopy/tests/test_app/test_builder/test_CompileFromBuilder.py +133 -0
  2888. psychopy/tests/test_app/test_builder/test_ComponentDialogs.py +98 -0
  2889. psychopy/tests/test_app/test_command_line.py +65 -0
  2890. psychopy/tests/test_app/test_runner/__init__.py +0 -0
  2891. psychopy/tests/test_app/test_runner/test_RunnerFrame.py +166 -0
  2892. psychopy/tests/test_app/test_speed.py +147 -0
  2893. psychopy/tests/test_app/test_themes/test_icons.py +79 -0
  2894. psychopy/tests/test_codecov.py +29 -0
  2895. psychopy/tests/test_colors/test_Color.py +41 -0
  2896. psychopy/tests/test_data/dataPrev.xlsx +0 -0
  2897. psychopy/tests/test_data/test_ExperimentHandler.py +171 -0
  2898. psychopy/tests/test_data/test_MultiStairHandler.py +174 -0
  2899. psychopy/tests/test_data/test_StairHandlers.py +1241 -0
  2900. psychopy/tests/test_data/test_TrialHandler.py +335 -0
  2901. psychopy/tests/test_data/test_TrialHandler2.py +584 -0
  2902. psychopy/tests/test_data/test_TrialHandlerExt.py +359 -0
  2903. psychopy/tests/test_data/test_fitFunctions.py +101 -0
  2904. psychopy/tests/test_data/test_utils.py +173 -0
  2905. psychopy/tests/test_data/test_xlsx.py +92 -0
  2906. psychopy/tests/test_demos/test_builder_demos.py +52 -0
  2907. psychopy/tests/test_experiment/__init__.py +0 -0
  2908. psychopy/tests/test_experiment/known_py_diffs.txt +47 -0
  2909. psychopy/tests/test_experiment/needs_wx/__init__.py +0 -0
  2910. psychopy/tests/test_experiment/needs_wx/componsTemplate.txt +14780 -0
  2911. psychopy/tests/test_experiment/needs_wx/genComponsTemplate.py +130 -0
  2912. psychopy/tests/test_experiment/needs_wx/test_Experiment.py +406 -0
  2913. psychopy/tests/test_experiment/needs_wx/test_components.py +170 -0
  2914. psychopy/tests/test_experiment/test_component_compile_js.py +59 -0
  2915. psychopy/tests/test_experiment/test_component_compile_python.py +165 -0
  2916. psychopy/tests/test_experiment/test_components/__init__.py +1 -0
  2917. psychopy/tests/test_experiment/test_components/test_ButtonBoxComponent.py +218 -0
  2918. psychopy/tests/test_experiment/test_components/test_CodeComponent.py +70 -0
  2919. psychopy/tests/test_experiment/test_components/test_GratingComponent.py +7 -0
  2920. psychopy/tests/test_experiment/test_components/test_ImageComponent.py +8 -0
  2921. psychopy/tests/test_experiment/test_components/test_KeyboardComponent.py +28 -0
  2922. psychopy/tests/test_experiment/test_components/test_MouseComponent.py +136 -0
  2923. psychopy/tests/test_experiment/test_components/test_PolygonComponent.py +65 -0
  2924. psychopy/tests/test_experiment/test_components/test_ResourceManagerComponent.py +50 -0
  2925. psychopy/tests/test_experiment/test_components/test_RoutineSettingsComponent.py +16 -0
  2926. psychopy/tests/test_experiment/test_components/test_SettingsComponent.py +80 -0
  2927. psychopy/tests/test_experiment/test_components/test_StaticComponent.py +51 -0
  2928. psychopy/tests/test_experiment/test_components/test_UnknownPluginComponent.py +27 -0
  2929. psychopy/tests/test_experiment/test_components/test_all_components.py +104 -0
  2930. psychopy/tests/test_experiment/test_components/test_base_components.py +477 -0
  2931. psychopy/tests/test_experiment/test_experiment.py +199 -0
  2932. psychopy/tests/test_experiment/test_loops.py +103 -0
  2933. psychopy/tests/test_experiment/test_params.py +363 -0
  2934. psychopy/tests/test_experiment/test_py2js.py +230 -0
  2935. psychopy/tests/test_experiment/test_routines/__init__.py +1 -0
  2936. psychopy/tests/test_experiment/test_routines/test_EyetrackerCalibrationRoutine.py +9 -0
  2937. psychopy/tests/test_experiment/test_routines/test_PhotodiodeValidationRoutine.py +9 -0
  2938. psychopy/tests/test_experiment/test_routines/test_all_routines.py +23 -0
  2939. psychopy/tests/test_experiment/test_routines/test_base_routine.py +154 -0
  2940. psychopy/tests/test_experiment/test_routines/test_standalone_routines.py +36 -0
  2941. psychopy/tests/test_gui/test_DlgFromDictQt.py +82 -0
  2942. psychopy/tests/test_gui/test_DlgFromDictWx.py +82 -0
  2943. psychopy/tests/test_hardware/__init__.py +0 -0
  2944. psychopy/tests/test_hardware/test_device_manager.py +36 -0
  2945. psychopy/tests/test_hardware/test_emulator.py +106 -0
  2946. psychopy/tests/test_hardware/test_gammasci.py +35 -0
  2947. psychopy/tests/test_hardware/test_keyboard.py +241 -0
  2948. psychopy/tests/test_hardware/test_keyboard_events.py +362 -0
  2949. psychopy/tests/test_hardware/test_photodiode.py +66 -0
  2950. psychopy/tests/test_hardware/test_ports.py +129 -0
  2951. psychopy/tests/test_iohub/__init__.py +1 -0
  2952. psychopy/tests/test_iohub/test_computer.py +124 -0
  2953. psychopy/tests/test_iohub/test_event_get_and_clear.py +94 -0
  2954. psychopy/tests/test_iohub/test_keyboard.py +91 -0
  2955. psychopy/tests/test_iohub/test_launch.py +19 -0
  2956. psychopy/tests/test_iohub/testutil.py +54 -0
  2957. psychopy/tests/test_liaison/test_Liaison.py +275 -0
  2958. psychopy/tests/test_misc/__init__.py +0 -0
  2959. psychopy/tests/test_misc/memory_usage.py +164 -0
  2960. psychopy/tests/test_misc/test_GammaFun.py +15 -0
  2961. psychopy/tests/test_misc/test_clock.py +63 -0
  2962. psychopy/tests/test_misc/test_color.py +205 -0
  2963. psychopy/tests/test_misc/test_core.py +451 -0
  2964. psychopy/tests/test_misc/test_event.py +308 -0
  2965. psychopy/tests/test_misc/test_info.py +18 -0
  2966. psychopy/tests/test_misc/test_layout.py +49 -0
  2967. psychopy/tests/test_misc/test_locale.py +38 -0
  2968. psychopy/tests/test_misc/test_web.py +22 -0
  2969. psychopy/tests/test_monitors/test_monitors.py +91 -0
  2970. psychopy/tests/test_plugins/__init__.py +0 -0
  2971. psychopy/tests/test_plugins/test_plugin_stubs.py +125 -0
  2972. psychopy/tests/test_preferences/__init__.py +0 -0
  2973. psychopy/tests/test_preferences/test_prefs.py +28 -0
  2974. psychopy/tests/test_session/test_Session.py +257 -0
  2975. psychopy/tests/test_sound/__init__.py +0 -0
  2976. psychopy/tests/test_sound/test_audioclip.py +331 -0
  2977. psychopy/tests/test_sound/test_hamming.py +45 -0
  2978. psychopy/tests/test_sound/test_sound.py +138 -0
  2979. psychopy/tests/test_sound/test_sound_pygame.py +67 -0
  2980. psychopy/tests/test_tools/test_animationtools.py +51 -0
  2981. psychopy/tests/test_tools/test_arraytools.py +242 -0
  2982. psychopy/tests/test_tools/test_attributetools.py +257 -0
  2983. psychopy/tests/test_tools/test_colorspacetools.py +150 -0
  2984. psychopy/tests/test_tools/test_environmenttools.py +52 -0
  2985. psychopy/tests/test_tools/test_fileerrortools.py +97 -0
  2986. psychopy/tests/test_tools/test_filetools.py +104 -0
  2987. psychopy/tests/test_tools/test_imagetools.py +57 -0
  2988. psychopy/tests/test_tools/test_mathtools.py +688 -0
  2989. psychopy/tests/test_tools/test_stringtools.py +143 -0
  2990. psychopy/tests/test_tools/test_versionchooser.py +209 -0
  2991. psychopy/tests/test_tools/test_viewtools.py +168 -0
  2992. psychopy/tests/test_validators/__init__.py +0 -0
  2993. psychopy/tests/test_validators/test_voicekeyValidator.py +95 -0
  2994. psychopy/tests/test_visual/__init__.py +0 -0
  2995. psychopy/tests/test_visual/measure_parity.py +243 -0
  2996. psychopy/tests/test_visual/test_all_stimuli.py +655 -0
  2997. psychopy/tests/test_visual/test_basevisual.py +564 -0
  2998. psychopy/tests/test_visual/test_brush.py +68 -0
  2999. psychopy/tests/test_visual/test_button.py +15 -0
  3000. psychopy/tests/test_visual/test_circle.py +74 -0
  3001. psychopy/tests/test_visual/test_contains_overlaps.py +242 -0
  3002. psychopy/tests/test_visual/test_custommouse.py +47 -0
  3003. psychopy/tests/test_visual/test_dots.py +155 -0
  3004. psychopy/tests/test_visual/test_form.py +414 -0
  3005. psychopy/tests/test_visual/test_framepacking.py +41 -0
  3006. psychopy/tests/test_visual/test_gamma.py +152 -0
  3007. psychopy/tests/test_visual/test_glfw_backend.py +14 -0
  3008. psychopy/tests/test_visual/test_image.py +219 -0
  3009. psychopy/tests/test_visual/test_panorama.py +41 -0
  3010. psychopy/tests/test_visual/test_progress.py +96 -0
  3011. psychopy/tests/test_visual/test_projections.py +215 -0
  3012. psychopy/tests/test_visual/test_projections_interactive.py +163 -0
  3013. psychopy/tests/test_visual/test_roi.py +105 -0
  3014. psychopy/tests/test_visual/test_shape.py +23 -0
  3015. psychopy/tests/test_visual/test_slider.py +328 -0
  3016. psychopy/tests/test_visual/test_target.py +35 -0
  3017. psychopy/tests/test_visual/test_textbox.py +508 -0
  3018. psychopy/tests/test_visual/test_winFlipTiming.py +95 -0
  3019. psychopy/tests/test_visual/test_winScalePos.py +78 -0
  3020. psychopy/tests/test_visual/test_window.py +124 -0
  3021. psychopy/tests/utils.py +372 -0
  3022. psychopy/tools/LineBreak.txt +3597 -0
  3023. psychopy/tools/__init__.py +9 -0
  3024. psychopy/tools/animationtools.py +49 -0
  3025. psychopy/tools/apptools.py +32 -0
  3026. psychopy/tools/arraytools.py +561 -0
  3027. psychopy/tools/attributetools.py +263 -0
  3028. psychopy/tools/audiotools.py +361 -0
  3029. psychopy/tools/colorspacetools.py +717 -0
  3030. psychopy/tools/coordinatetools.py +104 -0
  3031. psychopy/tools/environmenttools.py +62 -0
  3032. psychopy/tools/fileerrortools.py +66 -0
  3033. psychopy/tools/filetools.py +406 -0
  3034. psychopy/tools/fontmanager.py +1065 -0
  3035. psychopy/tools/gltools.py +7367 -0
  3036. psychopy/tools/imagetools.py +65 -0
  3037. psychopy/tools/linebreak.py +322 -0
  3038. psychopy/tools/mathtools.py +4910 -0
  3039. psychopy/tools/monitorunittools.py +276 -0
  3040. psychopy/tools/movietools.py +1111 -0
  3041. psychopy/tools/pkgtools.py +654 -0
  3042. psychopy/tools/plottools.py +25 -0
  3043. psychopy/tools/rifttools.py +76 -0
  3044. psychopy/tools/stereotools.py +9 -0
  3045. psychopy/tools/stimulustools.py +198 -0
  3046. psychopy/tools/stringtools.py +466 -0
  3047. psychopy/tools/systemtools.py +1331 -0
  3048. psychopy/tools/typetools.py +52 -0
  3049. psychopy/tools/unittools.py +16 -0
  3050. psychopy/tools/versionchooser.py +604 -0
  3051. psychopy/tools/viewtools.py +1068 -0
  3052. psychopy/tools/wizard.py +804 -0
  3053. psychopy/validation/__init__.py +6 -0
  3054. psychopy/validation/audio.py +78 -0
  3055. psychopy/validation/visual.py +119 -0
  3056. psychopy/visual/__init__.py +121 -0
  3057. psychopy/visual/aperture.py +333 -0
  3058. psychopy/visual/backends/__init__.py +77 -0
  3059. psychopy/visual/backends/_base.py +481 -0
  3060. psychopy/visual/backends/gamma.py +349 -0
  3061. psychopy/visual/backends/glfwbackend.py +24 -0
  3062. psychopy/visual/backends/pygamebackend.py +343 -0
  3063. psychopy/visual/backends/pygletbackend.py +970 -0
  3064. psychopy/visual/basevisual.py +2027 -0
  3065. psychopy/visual/brush.py +204 -0
  3066. psychopy/visual/bufferimage.py +311 -0
  3067. psychopy/visual/button.py +194 -0
  3068. psychopy/visual/circle.py +165 -0
  3069. psychopy/visual/custommouse.py +263 -0
  3070. psychopy/visual/dot.py +734 -0
  3071. psychopy/visual/dropdown.py +165 -0
  3072. psychopy/visual/elementarray.py +802 -0
  3073. psychopy/visual/filters.py +419 -0
  3074. psychopy/visual/form.py +1195 -0
  3075. psychopy/visual/globalVars.py +24 -0
  3076. psychopy/visual/grating.py +581 -0
  3077. psychopy/visual/helpers.py +336 -0
  3078. psychopy/visual/image.py +438 -0
  3079. psychopy/visual/line.py +227 -0
  3080. psychopy/visual/movie.py +12 -0
  3081. psychopy/visual/movie2.py +21 -0
  3082. psychopy/visual/movie3.py +18 -0
  3083. psychopy/visual/movies/__init__.py +2334 -0
  3084. psychopy/visual/movies/frame.py +258 -0
  3085. psychopy/visual/movies/metadata.py +242 -0
  3086. psychopy/visual/movies/players/_base.py +364 -0
  3087. psychopy/visual/nnlvs.py +830 -0
  3088. psychopy/visual/noise.py +32 -0
  3089. psychopy/visual/panorama.py +313 -0
  3090. psychopy/visual/patch.py +21 -0
  3091. psychopy/visual/pie.py +237 -0
  3092. psychopy/visual/polygon.py +226 -0
  3093. psychopy/visual/progress.py +313 -0
  3094. psychopy/visual/radial.py +29 -0
  3095. psychopy/visual/ratingscale.py +18 -0
  3096. psychopy/visual/rect.py +195 -0
  3097. psychopy/visual/rift.py +2660 -0
  3098. psychopy/visual/roi.py +141 -0
  3099. psychopy/visual/secondorder.py +27 -0
  3100. psychopy/visual/shaders.py +787 -0
  3101. psychopy/visual/shape.py +897 -0
  3102. psychopy/visual/simpleimage.py +303 -0
  3103. psychopy/visual/slider.py +1222 -0
  3104. psychopy/visual/stim3d.py +2109 -0
  3105. psychopy/visual/target.py +278 -0
  3106. psychopy/visual/text.py +769 -0
  3107. psychopy/visual/textbox/__init__.py +1280 -0
  3108. psychopy/visual/textbox/fontmanager.py +574 -0
  3109. psychopy/visual/textbox/parsedtext.py +317 -0
  3110. psychopy/visual/textbox/textgrid.py +278 -0
  3111. psychopy/visual/textbox/textureatlas.py +248 -0
  3112. psychopy/visual/textbox2/__init__.py +4 -0
  3113. psychopy/visual/textbox2/textbox2.py +1970 -0
  3114. psychopy/visual/vlcmoviestim.py +1294 -0
  3115. psychopy/visual/window.py +3910 -0
  3116. psychopy/visual/windowframepack.py +86 -0
  3117. psychopy/visual/windowwarp.py +457 -0
  3118. psychopy/voicekey/__init__.py +56 -0
  3119. psychopy/voicekey/labjack_vks.py +9 -0
  3120. psychopy/voicekey/parallel_vks.py +9 -0
  3121. psychopy/voicekey/vk_tools.py +131 -0
  3122. psychopy/web.py +289 -0
  3123. psychopy-2025.2.4.dist-info/METADATA +160 -0
  3124. psychopy-2025.2.4.dist-info/RECORD +3127 -0
  3125. psychopy-2025.2.4.dist-info/WHEEL +4 -0
  3126. psychopy-2025.2.4.dist-info/entry_points.txt +5 -0
  3127. psychopy-2025.2.4.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,3572 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Part of the PsychoPy library
3
+ # Copyright (C) 2012-2020 iSolver Software Solutions (C) 2021 Open Science Tools Ltd.
4
+ # Distributed under the terms of the GNU General Public License (GPL).
5
+
6
+ import numpy as np
7
+ from collections import deque
8
+
9
+ from ..util import NumPyRingBuffer
10
+ from . import Device, DeviceEvent, Computer
11
+ from ..constants import EventConstants
12
+
13
+ # Event Filter / Translator / Parser Class Prototype
14
+
15
+ class DeviceEventFilter():
16
+ """Base class for creating a filtered / processed event stream from a
17
+ device's iohub events. Any device event filter class MUST use this class as
18
+ the base class type.
19
+
20
+ The following properties must be implemented by a DeviceEventFilter subclass:
21
+ * filter_id
22
+ * input_event_types
23
+
24
+ The following methods must be implemented by a DeviceEventFilter subclass:
25
+ * process
26
+
27
+ The class __init__ can accept a set of kwargs, which will automatically be
28
+ converted into class_instance.key = value attributes.
29
+
30
+ """
31
+ event_filter_id_index = DeviceEvent.EVENT_FILTER_ID_INDEX
32
+ event_id_index = DeviceEvent.EVENT_ID_INDEX
33
+ event_time_index = DeviceEvent.EVENT_HUB_TIME_INDEX
34
+
35
+ def __init__(self, **kwargs):
36
+ # _parent_device_type filled in by iohub
37
+ self._parent_device_type = None
38
+ # _filter_id filled in by iohub
39
+ self._filter_key = None
40
+
41
+ self._input_events = []
42
+ self._output_events = []
43
+
44
+ for key, value in list(kwargs.items()):
45
+ setattr(self, key, value)
46
+
47
+ self._enabled = False
48
+
49
+ @property
50
+ def enable(self):
51
+ return self._enabled
52
+
53
+ @enable.setter
54
+ def enable(self, v):
55
+ self._enabled = v
56
+
57
+ def getInputEvents(self):
58
+ return self._input_events
59
+
60
+ def clearInputEvents(self):
61
+ self._input_events = []
62
+
63
+ def reset(self):
64
+ self._input_events = []
65
+ self._output_events = []
66
+
67
+ @property
68
+ def filter_id(self):
69
+ raise RuntimeError('filter_id property must be set by subclass.')
70
+
71
+ @property
72
+ def input_event_types(self):
73
+ raise RuntimeError(
74
+ 'input_event_types property must be set by subclass.')
75
+
76
+ # Example:
77
+ #
78
+ # Request MouseMove events that have not been filtered (filter id 0):
79
+ #
80
+ # event_type_and_filter_ids = dict()
81
+ # event_type_and_filter_ids[EventConstants.MOUSE_MOVE]=[0,]
82
+ # return event_type_and_filter_ids
83
+
84
+ def process(self):
85
+ """
86
+ *** This method must be implemented by the sub class. ***
87
+
88
+ # Process / filter events.
89
+ #
90
+ # Called by the iohub server each time an iohub device
91
+ # receives a new iohub event.
92
+ #
93
+ # Get new events to process by calling getInputEvents().
94
+ # Add processed events that are ready to be output by iohub by
95
+ # calling addOutputEvent(e).
96
+ #
97
+ # Optionally remove the input events processed so they are not
98
+ # repeatedly retrieved using clearInputEvents(.
99
+ #
100
+ # The events returned by getInputEvents() are copies of the
101
+ # original event lists, so it is fine to filter in place if desired.
102
+ #
103
+ # Each event passed to addOutputEvent() will have it's event_id and
104
+ # filter_id updated appropriately; this is done for you.
105
+ """
106
+ raise RuntimeError('process method must be implemented by subclass.')
107
+
108
+ def addOutputEvent(self, e):
109
+ e[self.event_id_index] = Device._getNextEventID()
110
+ e[self.event_filter_id_index] = self.filter_id
111
+ self._output_events.append(e)
112
+
113
+ def _addInputEvent(self, evt):
114
+ """Takes event from parent device for processing."""
115
+ self._input_events.append(evt)
116
+ self.process()
117
+
118
+ def _removeOutputEvents(self):
119
+ """Called by the iohub Server when processing device events."""
120
+ oevts = self._output_events
121
+ self._output_events = []
122
+ return oevts
123
+
124
+ ####################### Device Event Field Filter Types ##################
125
+
126
+
127
+ class MovingWindowFilter():
128
+ """Maintains a moving window of size 'length', for a specific event field
129
+ value, given by 'event_field_name'. knot_pos defines where in the window
130
+ the next filtered value should always be returned from.
131
+
132
+ knot_pos can be an index between 0 - length-1, or a string constant:
133
+ 'center': use the middle value in the window. Window length must be odd.
134
+ 'latest': the value just added to the window is filtered and returned
135
+ 'oldest': the last value in the buffer is filtered and returned
136
+
137
+ If the windowing buffer is full, a filtered value is returned when a
138
+ value is added to the MovingWindow using MovingWindow.add.
139
+ None is returned until the MovingWindow is full.
140
+
141
+ The base class implements a moving window averaging filter, no weights.
142
+ To change the filter used, extend this class and replace the filteredValue
143
+ method.
144
+
145
+ """
146
+
147
+ def __init__(self, **kwargs):
148
+ self._inplace = kwargs.get('inplace')
149
+ knot_pos = kwargs.get('knot_pos')
150
+ length = kwargs.get('length')
151
+ event_type = kwargs.get('event_type')
152
+ event_field_name = kwargs.get('event_field_name')
153
+ if isinstance(knot_pos, str):
154
+ if knot_pos == 'center' and length % 2 == 0:
155
+ raise ValueError(
156
+ 'MovingWindow length must be odd for a centered knot_pos.')
157
+ if knot_pos == 'center':
158
+ self._active_index = length // 2
159
+ elif knot_pos == 'latest':
160
+ self._active_index = 0
161
+ elif knot_pos == 'oldest':
162
+ self._active_index = length - 1
163
+ else:
164
+ raise ValueError(
165
+ "MovingWindow knot_pos must be an index between 0 - length-1, or a string constantin ['center','latest','oldest']")
166
+ else:
167
+ if knot_pos < 0 or knot_pos >= length:
168
+ raise ValueError(
169
+ 'MovingWindow knot_pos must be between 0 and length-1.')
170
+ self._active_index = knot_pos
171
+
172
+ self._event_field_index = None
173
+ self._events = None
174
+ if event_type and event_field_name:
175
+ self._event_field_index = EventConstants.getClass(
176
+ event_type).CLASS_ATTRIBUTE_NAMES.index(event_field_name)
177
+ self._events = deque(maxlen=length)
178
+
179
+ self._filtering_buffer = NumPyRingBuffer(length)
180
+
181
+ def filteredValue(self):
182
+ """Returns a filtered value based on the data in the window.
183
+
184
+ The base implementation returns the average value of the window
185
+ values. Sub classes of MovingWindowFilter can implement their
186
+ own filteredValue method so that different moving window filter
187
+ types can be created.
188
+
189
+ """
190
+ return self._filtering_buffer.mean()
191
+
192
+ def add(self, event):
193
+ """Add the given iohub event ( in list form ) to the moving window. The
194
+ value of the specified event attribute when the filter was created is
195
+ what is used to calculate return values for the filter.
196
+
197
+ If the window is full, this method returns an iohub event that
198
+ has been filtered, and the filtered value of the field being
199
+ filtered.
200
+
201
+ """
202
+ if isinstance(event, (list, tuple)):
203
+ self._filtering_buffer.append(event[self._event_field_index])
204
+ self._events.append(event)
205
+ if self.isFull():
206
+ if self._inplace:
207
+ self._events[
208
+ self._active_index][
209
+ self._event_field_index] = self.filteredValue()
210
+ return self._events[self._active_index], self.filteredValue()
211
+ else:
212
+ self._filtering_buffer.append(event)
213
+ if self.isFull():
214
+ return None, self.filteredValue()
215
+
216
+ def isFull(self):
217
+ return self._filtering_buffer.isFull()
218
+
219
+ def clear(self):
220
+ self._filtering_buffer.clear()
221
+ if self._events:
222
+ self._events.clear()
223
+ # ------
224
+
225
+
226
+ class PassThroughFilter(MovingWindowFilter):
227
+ """Returns the median value of the moving window.
228
+
229
+ Length must be odd.
230
+
231
+ """
232
+
233
+ def __init__(self, **kwargs):
234
+ kwargs['length'] = 1
235
+ kwargs['knot_pos'] = 0
236
+ MovingWindowFilter.__init__(self, **kwargs)
237
+
238
+ def filteredValue(self):
239
+ return self._filtering_buffer[0]
240
+
241
+ # ------
242
+
243
+
244
+ class MedianFilter(MovingWindowFilter):
245
+ """Returns the median value of the moving window.
246
+
247
+ Length must be odd.
248
+
249
+ """
250
+
251
+ def __init__(self, **kwargs):
252
+ MovingWindowFilter.__init__(self, **kwargs)
253
+
254
+ def filteredValue(self):
255
+ return np.median(self._filtering_buffer.getElements())
256
+
257
+ # ------
258
+
259
+
260
+ class WeightedAverageFilter(MovingWindowFilter):
261
+ """
262
+ Returns the weighted average of the moving window. Window length is equal to
263
+ len(weights). The weights array will be normalized using:
264
+
265
+ weights = weights / numpy.sum(weights)
266
+
267
+ before being used by the filter.
268
+ """
269
+
270
+ def __init__(self, **kwargs):
271
+ weights = kwargs.get('weights')
272
+ length = len(weights)
273
+ kwargs['length'] = length
274
+ MovingWindowFilter.__init__(self, **kwargs)
275
+ weights = np.asanyarray(weights)
276
+ self._weights = weights / np.sum(weights)
277
+
278
+ def filteredValue(self):
279
+ return np.convolve(
280
+ self._filtering_buffer.getElements(),
281
+ self._weights,
282
+ 'valid')
283
+
284
+
285
+ # ------
286
+
287
+ class StampFilter(MovingWindowFilter):
288
+ """
289
+ Implements The Stampe Filter (created by Dave Stampe of SR Research).
290
+ The filter has a window length of 3. If the window values (v1,v2,v3) are
291
+ non monotonic, then the middle value is replaced by the mean of v1 and v3.
292
+ Otherwise v2 is returned unmodified.
293
+
294
+ level arg indicates how many iterations of the Stampe filter should be
295
+ applied before starting to return filtered data. Default = 1.
296
+
297
+ If levels = 2, then the filter would use data returned from a sub filter
298
+ instance of the Stampe filter., Etc.
299
+ """
300
+
301
+ def __init__(self, **kwargs):
302
+ level = kwargs.get('level')
303
+ self._level = level
304
+ kwargs['knot_pos'] = 'center'
305
+ kwargs['length'] = 3
306
+ self.sub_filter = None
307
+ MovingWindowFilter.__init__(self, **kwargs)
308
+ if level > 1:
309
+ level = level - 1
310
+ kwargs['inplace'] = False
311
+ kwargs['level'] = level
312
+ self.sub_filter = StampFilter(**kwargs)
313
+
314
+ def filteredValue(self):
315
+ if self.sub_filter:
316
+ return self.sub_filter.filteredValue()
317
+
318
+ e1, e2, e3 = self._filtering_buffer[0:3]
319
+ if not(e1 < e2 and e2 < e3) or not (e3 < e2 and e2 < e1):
320
+ return (e1 + e3) / 2.0
321
+ return e2
322
+
323
+ def add(self, event):
324
+ if self.sub_filter:
325
+ sub_result = self.sub_filter.add(event)
326
+ if sub_result:
327
+ self._filtering_buffer.append(sub_result[1])
328
+ self._events.append(event)
329
+ return MovingWindowFilter.add(self, event)
330
+
331
+ # ------
332
+
333
+ #################### TEST ###############################
334
+
335
+ if __name__ == '__main__':
336
+ # Create a list of iohub Mouse move events.
337
+ from collections import OrderedDict
338
+ events = []
339
+ events.append(
340
+ OrderedDict(
341
+ experiment_id=0,
342
+ session_id=0,
343
+ device_id=0,
344
+ event_id=12,
345
+ type=36,
346
+ device_time=139960.228,
347
+ logged_time=4.668474991165567,
348
+ time=4.668474991165567,
349
+ confidence_interval=0.0,
350
+ delay=0.0,
351
+ filter_id=0,
352
+ display_id=0,
353
+ button_state=0,
354
+ button_id=0,
355
+ pressed_buttons=0,
356
+ x_position=-84,
357
+ y_position=157,
358
+ scroll_dx=0,
359
+ scroll_x=0,
360
+ scroll_dy=0,
361
+ scroll_y=0,
362
+ modifiers=[],
363
+ window_id=984208))
364
+ events.append(
365
+ OrderedDict(
366
+ experiment_id=0,
367
+ session_id=0,
368
+ device_id=0,
369
+ event_id=13,
370
+ type=36,
371
+ device_time=139960.228,
372
+ logged_time=4.67646576158586,
373
+ time=4.67646576158586,
374
+ confidence_interval=0.0,
375
+ delay=0.0,
376
+ filter_id=0,
377
+ display_id=0,
378
+ button_state=0,
379
+ button_id=0,
380
+ pressed_buttons=0,
381
+ x_position=-85,
382
+ y_position=157,
383
+ scroll_dx=0,
384
+ scroll_x=0,
385
+ scroll_dy=0,
386
+ scroll_y=0,
387
+ modifiers=[],
388
+ window_id=984208))
389
+ events.append(
390
+ OrderedDict(
391
+ experiment_id=0,
392
+ session_id=0,
393
+ device_id=0,
394
+ event_id=14,
395
+ type=36,
396
+ device_time=139960.243,
397
+ logged_time=4.684467700717505,
398
+ time=4.684467700717505,
399
+ confidence_interval=0.0,
400
+ delay=0.0,
401
+ filter_id=0,
402
+ display_id=0,
403
+ button_state=0,
404
+ button_id=0,
405
+ pressed_buttons=0,
406
+ x_position=-87,
407
+ y_position=158,
408
+ scroll_dx=0,
409
+ scroll_x=0,
410
+ scroll_dy=0,
411
+ scroll_y=0,
412
+ modifiers=[],
413
+ window_id=984208))
414
+ events.append(
415
+ OrderedDict(
416
+ experiment_id=0,
417
+ session_id=0,
418
+ device_id=0,
419
+ event_id=15,
420
+ type=36,
421
+ device_time=139960.243,
422
+ logged_time=4.692443981941324,
423
+ time=4.692443981941324,
424
+ confidence_interval=0.0,
425
+ delay=0.0,
426
+ filter_id=0,
427
+ display_id=0,
428
+ button_state=0,
429
+ button_id=0,
430
+ pressed_buttons=0,
431
+ x_position=-88,
432
+ y_position=158,
433
+ scroll_dx=0,
434
+ scroll_x=0,
435
+ scroll_dy=0,
436
+ scroll_y=0,
437
+ modifiers=[],
438
+ window_id=984208))
439
+ events.append(
440
+ OrderedDict(
441
+ experiment_id=0,
442
+ session_id=0,
443
+ device_id=0,
444
+ event_id=16,
445
+ type=36,
446
+ device_time=139960.259,
447
+ logged_time=4.700467051123269,
448
+ time=4.700467051123269,
449
+ confidence_interval=0.0,
450
+ delay=0.0,
451
+ filter_id=0,
452
+ display_id=0,
453
+ button_state=0,
454
+ button_id=0,
455
+ pressed_buttons=0,
456
+ x_position=-93,
457
+ y_position=157,
458
+ scroll_dx=0,
459
+ scroll_x=0,
460
+ scroll_dy=0,
461
+ scroll_y=0,
462
+ modifiers=[],
463
+ window_id=984208))
464
+ events.append(
465
+ OrderedDict(
466
+ experiment_id=0,
467
+ session_id=0,
468
+ device_id=0,
469
+ event_id=17,
470
+ type=36,
471
+ device_time=139960.259,
472
+ logged_time=4.708441823080648,
473
+ time=4.708441823080648,
474
+ confidence_interval=0.0,
475
+ delay=0.0,
476
+ filter_id=0,
477
+ display_id=0,
478
+ button_state=0,
479
+ button_id=0,
480
+ pressed_buttons=0,
481
+ x_position=-96,
482
+ y_position=154,
483
+ scroll_dx=0,
484
+ scroll_x=0,
485
+ scroll_dy=0,
486
+ scroll_y=0,
487
+ modifiers=[],
488
+ window_id=984208))
489
+ events.append(
490
+ OrderedDict(
491
+ experiment_id=0,
492
+ session_id=0,
493
+ device_id=0,
494
+ event_id=18,
495
+ type=36,
496
+ device_time=139960.275,
497
+ logged_time=4.716453723493032,
498
+ time=4.716453723493032,
499
+ confidence_interval=0.0,
500
+ delay=0.0,
501
+ filter_id=0,
502
+ display_id=0,
503
+ button_state=0,
504
+ button_id=0,
505
+ pressed_buttons=0,
506
+ x_position=-103,
507
+ y_position=150,
508
+ scroll_dx=0,
509
+ scroll_x=0,
510
+ scroll_dy=0,
511
+ scroll_y=0,
512
+ modifiers=[],
513
+ window_id=984208))
514
+ events.append(
515
+ OrderedDict(
516
+ experiment_id=0,
517
+ session_id=0,
518
+ device_id=0,
519
+ event_id=19,
520
+ type=36,
521
+ device_time=139960.275,
522
+ logged_time=4.724468038795749,
523
+ time=4.724468038795749,
524
+ confidence_interval=0.0,
525
+ delay=0.0,
526
+ filter_id=0,
527
+ display_id=0,
528
+ button_state=0,
529
+ button_id=0,
530
+ pressed_buttons=0,
531
+ x_position=-117,
532
+ y_position=145,
533
+ scroll_dx=0,
534
+ scroll_x=0,
535
+ scroll_dy=0,
536
+ scroll_y=0,
537
+ modifiers=[],
538
+ window_id=984208))
539
+ events.append(
540
+ OrderedDict(
541
+ experiment_id=0,
542
+ session_id=0,
543
+ device_id=0,
544
+ event_id=20,
545
+ type=36,
546
+ device_time=139960.29,
547
+ logged_time=4.73246877049678,
548
+ time=4.73246877049678,
549
+ confidence_interval=0.0,
550
+ delay=0.0,
551
+ filter_id=0,
552
+ display_id=0,
553
+ button_state=0,
554
+ button_id=0,
555
+ pressed_buttons=0,
556
+ x_position=-126,
557
+ y_position=138,
558
+ scroll_dx=0,
559
+ scroll_x=0,
560
+ scroll_dy=0,
561
+ scroll_y=0,
562
+ modifiers=[],
563
+ window_id=984208))
564
+ events.append(
565
+ OrderedDict(
566
+ experiment_id=0,
567
+ session_id=0,
568
+ device_id=0,
569
+ event_id=21,
570
+ type=36,
571
+ device_time=139960.29,
572
+ logged_time=4.740443542454159,
573
+ time=4.740443542454159,
574
+ confidence_interval=0.0,
575
+ delay=0.0,
576
+ filter_id=0,
577
+ display_id=0,
578
+ button_state=0,
579
+ button_id=0,
580
+ pressed_buttons=0,
581
+ x_position=-135,
582
+ y_position=129,
583
+ scroll_dx=0,
584
+ scroll_x=0,
585
+ scroll_dy=0,
586
+ scroll_y=0,
587
+ modifiers=[],
588
+ window_id=984208))
589
+ events.append(
590
+ OrderedDict(
591
+ experiment_id=0,
592
+ session_id=0,
593
+ device_id=0,
594
+ event_id=22,
595
+ type=36,
596
+ device_time=139960.306,
597
+ logged_time=4.748473252460826,
598
+ time=4.748473252460826,
599
+ confidence_interval=0.0,
600
+ delay=0.0,
601
+ filter_id=0,
602
+ display_id=0,
603
+ button_state=0,
604
+ button_id=0,
605
+ pressed_buttons=0,
606
+ x_position=-141,
607
+ y_position=123,
608
+ scroll_dx=0,
609
+ scroll_x=0,
610
+ scroll_dy=0,
611
+ scroll_y=0,
612
+ modifiers=[],
613
+ window_id=984208))
614
+ events.append(
615
+ OrderedDict(
616
+ experiment_id=0,
617
+ session_id=0,
618
+ device_id=0,
619
+ event_id=23,
620
+ type=36,
621
+ device_time=139960.306,
622
+ logged_time=4.756493303051684,
623
+ time=4.756493303051684,
624
+ confidence_interval=0.0,
625
+ delay=0.0,
626
+ filter_id=0,
627
+ display_id=0,
628
+ button_state=0,
629
+ button_id=0,
630
+ pressed_buttons=0,
631
+ x_position=-145,
632
+ y_position=117,
633
+ scroll_dx=0,
634
+ scroll_x=0,
635
+ scroll_dy=0,
636
+ scroll_y=0,
637
+ modifiers=[],
638
+ window_id=984208))
639
+ events.append(
640
+ OrderedDict(
641
+ experiment_id=0,
642
+ session_id=0,
643
+ device_id=0,
644
+ event_id=24,
645
+ type=36,
646
+ device_time=139960.321,
647
+ logged_time=4.764460830425378,
648
+ time=4.764460830425378,
649
+ confidence_interval=0.0,
650
+ delay=0.0,
651
+ filter_id=0,
652
+ display_id=0,
653
+ button_state=0,
654
+ button_id=0,
655
+ pressed_buttons=0,
656
+ x_position=-151,
657
+ y_position=113,
658
+ scroll_dx=0,
659
+ scroll_x=0,
660
+ scroll_dy=0,
661
+ scroll_y=0,
662
+ modifiers=[],
663
+ window_id=984208))
664
+ events.append(
665
+ OrderedDict(
666
+ experiment_id=0,
667
+ session_id=0,
668
+ device_id=0,
669
+ event_id=25,
670
+ type=36,
671
+ device_time=139960.321,
672
+ logged_time=4.772470014140708,
673
+ time=4.772470014140708,
674
+ confidence_interval=0.0,
675
+ delay=0.0,
676
+ filter_id=0,
677
+ display_id=0,
678
+ button_state=0,
679
+ button_id=0,
680
+ pressed_buttons=0,
681
+ x_position=-153,
682
+ y_position=109,
683
+ scroll_dx=0,
684
+ scroll_x=0,
685
+ scroll_dy=0,
686
+ scroll_y=0,
687
+ modifiers=[],
688
+ window_id=984208))
689
+ events.append(
690
+ OrderedDict(
691
+ experiment_id=0,
692
+ session_id=0,
693
+ device_id=0,
694
+ event_id=26,
695
+ type=36,
696
+ device_time=139960.337,
697
+ logged_time=4.780456860404229,
698
+ time=4.780456860404229,
699
+ confidence_interval=0.0,
700
+ delay=0.0,
701
+ filter_id=0,
702
+ display_id=0,
703
+ button_state=0,
704
+ button_id=0,
705
+ pressed_buttons=0,
706
+ x_position=-153,
707
+ y_position=109,
708
+ scroll_dx=0,
709
+ scroll_x=0,
710
+ scroll_dy=0,
711
+ scroll_y=0,
712
+ modifiers=[],
713
+ window_id=984208))
714
+ events.append(
715
+ OrderedDict(
716
+ experiment_id=0,
717
+ session_id=0,
718
+ device_id=0,
719
+ event_id=27,
720
+ type=36,
721
+ device_time=139960.337,
722
+ logged_time=4.788497135421494,
723
+ time=4.788497135421494,
724
+ confidence_interval=0.0,
725
+ delay=0.0,
726
+ filter_id=0,
727
+ display_id=0,
728
+ button_state=0,
729
+ button_id=0,
730
+ pressed_buttons=0,
731
+ x_position=-153,
732
+ y_position=108,
733
+ scroll_dx=0,
734
+ scroll_x=0,
735
+ scroll_dy=0,
736
+ scroll_y=0,
737
+ modifiers=[],
738
+ window_id=984208))
739
+ events.append(
740
+ OrderedDict(
741
+ experiment_id=0,
742
+ session_id=0,
743
+ device_id=0,
744
+ event_id=28,
745
+ type=36,
746
+ device_time=139960.353,
747
+ logged_time=4.796479151962558,
748
+ time=4.796479151962558,
749
+ confidence_interval=0.0,
750
+ delay=0.0,
751
+ filter_id=0,
752
+ display_id=0,
753
+ button_state=0,
754
+ button_id=0,
755
+ pressed_buttons=0,
756
+ x_position=-153,
757
+ y_position=103,
758
+ scroll_dx=0,
759
+ scroll_x=0,
760
+ scroll_dy=0,
761
+ scroll_y=0,
762
+ modifiers=[],
763
+ window_id=984208))
764
+ events.append(
765
+ OrderedDict(
766
+ experiment_id=0,
767
+ session_id=0,
768
+ device_id=0,
769
+ event_id=29,
770
+ type=36,
771
+ device_time=139960.353,
772
+ logged_time=4.804472035379149,
773
+ time=4.804472035379149,
774
+ confidence_interval=0.0,
775
+ delay=0.0,
776
+ filter_id=0,
777
+ display_id=0,
778
+ button_state=0,
779
+ button_id=0,
780
+ pressed_buttons=0,
781
+ x_position=-150,
782
+ y_position=97,
783
+ scroll_dx=0,
784
+ scroll_x=0,
785
+ scroll_dy=0,
786
+ scroll_y=0,
787
+ modifiers=[],
788
+ window_id=984208))
789
+ events.append(
790
+ OrderedDict(
791
+ experiment_id=0,
792
+ session_id=0,
793
+ device_id=0,
794
+ event_id=30,
795
+ type=36,
796
+ device_time=139960.368,
797
+ logged_time=4.81250325468136,
798
+ time=4.81250325468136,
799
+ confidence_interval=0.0,
800
+ delay=0.0,
801
+ filter_id=0,
802
+ display_id=0,
803
+ button_state=0,
804
+ button_id=0,
805
+ pressed_buttons=0,
806
+ x_position=-146,
807
+ y_position=91,
808
+ scroll_dx=0,
809
+ scroll_x=0,
810
+ scroll_dy=0,
811
+ scroll_y=0,
812
+ modifiers=[],
813
+ window_id=984208))
814
+ events.append(
815
+ OrderedDict(
816
+ experiment_id=0,
817
+ session_id=0,
818
+ device_id=0,
819
+ event_id=31,
820
+ type=36,
821
+ device_time=139960.368,
822
+ logged_time=4.820451161329402,
823
+ time=4.820451161329402,
824
+ confidence_interval=0.0,
825
+ delay=0.0,
826
+ filter_id=0,
827
+ display_id=0,
828
+ button_state=0,
829
+ button_id=0,
830
+ pressed_buttons=0,
831
+ x_position=-142,
832
+ y_position=87,
833
+ scroll_dx=0,
834
+ scroll_x=0,
835
+ scroll_dy=0,
836
+ scroll_y=0,
837
+ modifiers=[],
838
+ window_id=984208))
839
+ events.append(
840
+ OrderedDict(
841
+ experiment_id=0,
842
+ session_id=0,
843
+ device_id=0,
844
+ event_id=32,
845
+ type=36,
846
+ device_time=139960.384,
847
+ logged_time=4.828460043179803,
848
+ time=4.828460043179803,
849
+ confidence_interval=0.0,
850
+ delay=0.0,
851
+ filter_id=0,
852
+ display_id=0,
853
+ button_state=0,
854
+ button_id=0,
855
+ pressed_buttons=0,
856
+ x_position=-133,
857
+ y_position=78,
858
+ scroll_dx=0,
859
+ scroll_x=0,
860
+ scroll_dy=0,
861
+ scroll_y=0,
862
+ modifiers=[],
863
+ window_id=984208))
864
+ events.append(
865
+ OrderedDict(
866
+ experiment_id=0,
867
+ session_id=0,
868
+ device_id=0,
869
+ event_id=33,
870
+ type=36,
871
+ device_time=139960.384,
872
+ logged_time=4.836455341457622,
873
+ time=4.836455341457622,
874
+ confidence_interval=0.0,
875
+ delay=0.0,
876
+ filter_id=0,
877
+ display_id=0,
878
+ button_state=0,
879
+ button_id=0,
880
+ pressed_buttons=0,
881
+ x_position=-124,
882
+ y_position=69,
883
+ scroll_dx=0,
884
+ scroll_x=0,
885
+ scroll_dy=0,
886
+ scroll_y=0,
887
+ modifiers=[],
888
+ window_id=984208))
889
+ events.append(
890
+ OrderedDict(
891
+ experiment_id=0,
892
+ session_id=0,
893
+ device_id=0,
894
+ event_id=34,
895
+ type=36,
896
+ device_time=139960.399,
897
+ logged_time=4.844488975621061,
898
+ time=4.844488975621061,
899
+ confidence_interval=0.0,
900
+ delay=0.0,
901
+ filter_id=0,
902
+ display_id=0,
903
+ button_state=0,
904
+ button_id=0,
905
+ pressed_buttons=0,
906
+ x_position=-115,
907
+ y_position=63,
908
+ scroll_dx=0,
909
+ scroll_x=0,
910
+ scroll_dy=0,
911
+ scroll_y=0,
912
+ modifiers=[],
913
+ window_id=984208))
914
+ events.append(
915
+ OrderedDict(
916
+ experiment_id=0,
917
+ session_id=0,
918
+ device_id=0,
919
+ event_id=35,
920
+ type=36,
921
+ device_time=139960.399,
922
+ logged_time=4.852467369870283,
923
+ time=4.852467369870283,
924
+ confidence_interval=0.0,
925
+ delay=0.0,
926
+ filter_id=0,
927
+ display_id=0,
928
+ button_state=0,
929
+ button_id=0,
930
+ pressed_buttons=0,
931
+ x_position=-104,
932
+ y_position=58,
933
+ scroll_dx=0,
934
+ scroll_x=0,
935
+ scroll_dy=0,
936
+ scroll_y=0,
937
+ modifiers=[],
938
+ window_id=984208))
939
+ events.append(
940
+ OrderedDict(
941
+ experiment_id=0,
942
+ session_id=0,
943
+ device_id=0,
944
+ event_id=36,
945
+ type=36,
946
+ device_time=139960.415,
947
+ logged_time=4.860472931293771,
948
+ time=4.860472931293771,
949
+ confidence_interval=0.0,
950
+ delay=0.0,
951
+ filter_id=0,
952
+ display_id=0,
953
+ button_state=0,
954
+ button_id=0,
955
+ pressed_buttons=0,
956
+ x_position=-93,
957
+ y_position=54,
958
+ scroll_dx=0,
959
+ scroll_x=0,
960
+ scroll_dy=0,
961
+ scroll_y=0,
962
+ modifiers=[],
963
+ window_id=984208))
964
+ events.append(
965
+ OrderedDict(
966
+ experiment_id=0,
967
+ session_id=0,
968
+ device_id=0,
969
+ event_id=37,
970
+ type=36,
971
+ device_time=139960.415,
972
+ logged_time=4.868483020574786,
973
+ time=4.868483020574786,
974
+ confidence_interval=0.0,
975
+ delay=0.0,
976
+ filter_id=0,
977
+ display_id=0,
978
+ button_state=0,
979
+ button_id=0,
980
+ pressed_buttons=0,
981
+ x_position=-84,
982
+ y_position=52,
983
+ scroll_dx=0,
984
+ scroll_x=0,
985
+ scroll_dy=0,
986
+ scroll_y=0,
987
+ modifiers=[],
988
+ window_id=984208))
989
+ events.append(
990
+ OrderedDict(
991
+ experiment_id=0,
992
+ session_id=0,
993
+ device_id=0,
994
+ event_id=38,
995
+ type=36,
996
+ device_time=139960.431,
997
+ logged_time=4.8764499442477245,
998
+ time=4.8764499442477245,
999
+ confidence_interval=0.0,
1000
+ delay=0.0,
1001
+ filter_id=0,
1002
+ display_id=0,
1003
+ button_state=0,
1004
+ button_id=0,
1005
+ pressed_buttons=0,
1006
+ x_position=-78,
1007
+ y_position=52,
1008
+ scroll_dx=0,
1009
+ scroll_x=0,
1010
+ scroll_dy=0,
1011
+ scroll_y=0,
1012
+ modifiers=[],
1013
+ window_id=984208))
1014
+ events.append(
1015
+ OrderedDict(
1016
+ experiment_id=0,
1017
+ session_id=0,
1018
+ device_id=0,
1019
+ event_id=39,
1020
+ type=36,
1021
+ device_time=139960.431,
1022
+ logged_time=4.8844805598200765,
1023
+ time=4.8844805598200765,
1024
+ confidence_interval=0.0,
1025
+ delay=0.0,
1026
+ filter_id=0,
1027
+ display_id=0,
1028
+ button_state=0,
1029
+ button_id=0,
1030
+ pressed_buttons=0,
1031
+ x_position=-73,
1032
+ y_position=52,
1033
+ scroll_dx=0,
1034
+ scroll_x=0,
1035
+ scroll_dy=0,
1036
+ scroll_y=0,
1037
+ modifiers=[],
1038
+ window_id=984208))
1039
+ events.append(
1040
+ OrderedDict(
1041
+ experiment_id=0,
1042
+ session_id=0,
1043
+ device_id=0,
1044
+ event_id=40,
1045
+ type=36,
1046
+ device_time=139960.446,
1047
+ logged_time=4.892454426211771,
1048
+ time=4.892454426211771,
1049
+ confidence_interval=0.0,
1050
+ delay=0.0,
1051
+ filter_id=0,
1052
+ display_id=0,
1053
+ button_state=0,
1054
+ button_id=0,
1055
+ pressed_buttons=0,
1056
+ x_position=-67,
1057
+ y_position=53,
1058
+ scroll_dx=0,
1059
+ scroll_x=0,
1060
+ scroll_dy=0,
1061
+ scroll_y=0,
1062
+ modifiers=[],
1063
+ window_id=984208))
1064
+ events.append(
1065
+ OrderedDict(
1066
+ experiment_id=0,
1067
+ session_id=0,
1068
+ device_id=0,
1069
+ event_id=41,
1070
+ type=36,
1071
+ device_time=139960.446,
1072
+ logged_time=4.900474174937699,
1073
+ time=4.900474174937699,
1074
+ confidence_interval=0.0,
1075
+ delay=0.0,
1076
+ filter_id=0,
1077
+ display_id=0,
1078
+ button_state=0,
1079
+ button_id=0,
1080
+ pressed_buttons=0,
1081
+ x_position=-64,
1082
+ y_position=54,
1083
+ scroll_dx=0,
1084
+ scroll_x=0,
1085
+ scroll_dy=0,
1086
+ scroll_y=0,
1087
+ modifiers=[],
1088
+ window_id=984208))
1089
+ events.append(
1090
+ OrderedDict(
1091
+ experiment_id=0,
1092
+ session_id=0,
1093
+ device_id=0,
1094
+ event_id=42,
1095
+ type=36,
1096
+ device_time=139960.462,
1097
+ logged_time=4.908475510368589,
1098
+ time=4.908475510368589,
1099
+ confidence_interval=0.0,
1100
+ delay=0.0,
1101
+ filter_id=0,
1102
+ display_id=0,
1103
+ button_state=0,
1104
+ button_id=0,
1105
+ pressed_buttons=0,
1106
+ x_position=-57,
1107
+ y_position=58,
1108
+ scroll_dx=0,
1109
+ scroll_x=0,
1110
+ scroll_dy=0,
1111
+ scroll_y=0,
1112
+ modifiers=[],
1113
+ window_id=984208))
1114
+ events.append(
1115
+ OrderedDict(
1116
+ experiment_id=0,
1117
+ session_id=0,
1118
+ device_id=0,
1119
+ event_id=43,
1120
+ type=36,
1121
+ device_time=139960.462,
1122
+ logged_time=4.916455112048425,
1123
+ time=4.916455112048425,
1124
+ confidence_interval=0.0,
1125
+ delay=0.0,
1126
+ filter_id=0,
1127
+ display_id=0,
1128
+ button_state=0,
1129
+ button_id=0,
1130
+ pressed_buttons=0,
1131
+ x_position=-53,
1132
+ y_position=65,
1133
+ scroll_dx=0,
1134
+ scroll_x=0,
1135
+ scroll_dy=0,
1136
+ scroll_y=0,
1137
+ modifiers=[],
1138
+ window_id=984208))
1139
+ events.append(
1140
+ OrderedDict(
1141
+ experiment_id=0,
1142
+ session_id=0,
1143
+ device_id=0,
1144
+ event_id=44,
1145
+ type=36,
1146
+ device_time=139960.477,
1147
+ logged_time=4.924477879336337,
1148
+ time=4.924477879336337,
1149
+ confidence_interval=0.0,
1150
+ delay=0.0,
1151
+ filter_id=0,
1152
+ display_id=0,
1153
+ button_state=0,
1154
+ button_id=0,
1155
+ pressed_buttons=0,
1156
+ x_position=-49,
1157
+ y_position=73,
1158
+ scroll_dx=0,
1159
+ scroll_x=0,
1160
+ scroll_dy=0,
1161
+ scroll_y=0,
1162
+ modifiers=[],
1163
+ window_id=984208))
1164
+ events.append(
1165
+ OrderedDict(
1166
+ experiment_id=0,
1167
+ session_id=0,
1168
+ device_id=0,
1169
+ event_id=45,
1170
+ type=36,
1171
+ device_time=139960.493,
1172
+ logged_time=4.932478611037368,
1173
+ time=4.932478611037368,
1174
+ confidence_interval=0.0,
1175
+ delay=0.0,
1176
+ filter_id=0,
1177
+ display_id=0,
1178
+ button_state=0,
1179
+ button_id=0,
1180
+ pressed_buttons=0,
1181
+ x_position=-47,
1182
+ y_position=82,
1183
+ scroll_dx=0,
1184
+ scroll_x=0,
1185
+ scroll_dy=0,
1186
+ scroll_y=0,
1187
+ modifiers=[],
1188
+ window_id=984208))
1189
+ events.append(
1190
+ OrderedDict(
1191
+ experiment_id=0,
1192
+ session_id=0,
1193
+ device_id=0,
1194
+ event_id=46,
1195
+ type=36,
1196
+ device_time=139960.493,
1197
+ logged_time=4.940512547065737,
1198
+ time=4.940512547065737,
1199
+ confidence_interval=0.0,
1200
+ delay=0.0,
1201
+ filter_id=0,
1202
+ display_id=0,
1203
+ button_state=0,
1204
+ button_id=0,
1205
+ pressed_buttons=0,
1206
+ x_position=-47,
1207
+ y_position=90,
1208
+ scroll_dx=0,
1209
+ scroll_x=0,
1210
+ scroll_dy=0,
1211
+ scroll_y=0,
1212
+ modifiers=[],
1213
+ window_id=984208))
1214
+ events.append(
1215
+ OrderedDict(
1216
+ experiment_id=0,
1217
+ session_id=0,
1218
+ device_id=0,
1219
+ event_id=47,
1220
+ type=36,
1221
+ device_time=139960.509,
1222
+ logged_time=4.94846588713699,
1223
+ time=4.94846588713699,
1224
+ confidence_interval=0.0,
1225
+ delay=0.0,
1226
+ filter_id=0,
1227
+ display_id=0,
1228
+ button_state=0,
1229
+ button_id=0,
1230
+ pressed_buttons=0,
1231
+ x_position=-47,
1232
+ y_position=101,
1233
+ scroll_dx=0,
1234
+ scroll_x=0,
1235
+ scroll_dy=0,
1236
+ scroll_y=0,
1237
+ modifiers=[],
1238
+ window_id=984208))
1239
+ events.append(
1240
+ OrderedDict(
1241
+ experiment_id=0,
1242
+ session_id=0,
1243
+ device_id=0,
1244
+ event_id=48,
1245
+ type=36,
1246
+ device_time=139960.509,
1247
+ logged_time=4.956459676119266,
1248
+ time=4.956459676119266,
1249
+ confidence_interval=0.0,
1250
+ delay=0.0,
1251
+ filter_id=0,
1252
+ display_id=0,
1253
+ button_state=0,
1254
+ button_id=0,
1255
+ pressed_buttons=0,
1256
+ x_position=-48,
1257
+ y_position=112,
1258
+ scroll_dx=0,
1259
+ scroll_x=0,
1260
+ scroll_dy=0,
1261
+ scroll_y=0,
1262
+ modifiers=[],
1263
+ window_id=984208))
1264
+ events.append(
1265
+ OrderedDict(
1266
+ experiment_id=0,
1267
+ session_id=0,
1268
+ device_id=0,
1269
+ event_id=49,
1270
+ type=36,
1271
+ device_time=139960.524,
1272
+ logged_time=4.964475198852597,
1273
+ time=4.964475198852597,
1274
+ confidence_interval=0.0,
1275
+ delay=0.0,
1276
+ filter_id=0,
1277
+ display_id=0,
1278
+ button_state=0,
1279
+ button_id=0,
1280
+ pressed_buttons=0,
1281
+ x_position=-50,
1282
+ y_position=123,
1283
+ scroll_dx=0,
1284
+ scroll_x=0,
1285
+ scroll_dy=0,
1286
+ scroll_y=0,
1287
+ modifiers=[],
1288
+ window_id=984208))
1289
+ events.append(
1290
+ OrderedDict(
1291
+ experiment_id=0,
1292
+ session_id=0,
1293
+ device_id=0,
1294
+ event_id=50,
1295
+ type=36,
1296
+ device_time=139960.524,
1297
+ logged_time=4.972453894966748,
1298
+ time=4.972453894966748,
1299
+ confidence_interval=0.0,
1300
+ delay=0.0,
1301
+ filter_id=0,
1302
+ display_id=0,
1303
+ button_state=0,
1304
+ button_id=0,
1305
+ pressed_buttons=0,
1306
+ x_position=-55,
1307
+ y_position=132,
1308
+ scroll_dx=0,
1309
+ scroll_x=0,
1310
+ scroll_dy=0,
1311
+ scroll_y=0,
1312
+ modifiers=[],
1313
+ window_id=984208))
1314
+ events.append(
1315
+ OrderedDict(
1316
+ experiment_id=0,
1317
+ session_id=0,
1318
+ device_id=0,
1319
+ event_id=51,
1320
+ type=36,
1321
+ device_time=139960.54,
1322
+ logged_time=4.980477869685274,
1323
+ time=4.980477869685274,
1324
+ confidence_interval=0.0,
1325
+ delay=0.0,
1326
+ filter_id=0,
1327
+ display_id=0,
1328
+ button_state=0,
1329
+ button_id=0,
1330
+ pressed_buttons=0,
1331
+ x_position=-57,
1332
+ y_position=140,
1333
+ scroll_dx=0,
1334
+ scroll_x=0,
1335
+ scroll_dy=0,
1336
+ scroll_y=0,
1337
+ modifiers=[],
1338
+ window_id=984208))
1339
+ events.append(
1340
+ OrderedDict(
1341
+ experiment_id=0,
1342
+ session_id=0,
1343
+ device_id=0,
1344
+ event_id=52,
1345
+ type=36,
1346
+ device_time=139960.54,
1347
+ logged_time=4.9884749790944625,
1348
+ time=4.9884749790944625,
1349
+ confidence_interval=0.0,
1350
+ delay=0.0,
1351
+ filter_id=0,
1352
+ display_id=0,
1353
+ button_state=0,
1354
+ button_id=0,
1355
+ pressed_buttons=0,
1356
+ x_position=-61,
1357
+ y_position=146,
1358
+ scroll_dx=0,
1359
+ scroll_x=0,
1360
+ scroll_dy=0,
1361
+ scroll_y=0,
1362
+ modifiers=[],
1363
+ window_id=984208))
1364
+ events.append(
1365
+ OrderedDict(
1366
+ experiment_id=0,
1367
+ session_id=0,
1368
+ device_id=0,
1369
+ event_id=53,
1370
+ type=36,
1371
+ device_time=139960.555,
1372
+ logged_time=4.997502026119037,
1373
+ time=4.997502026119037,
1374
+ confidence_interval=0.0,
1375
+ delay=0.0,
1376
+ filter_id=0,
1377
+ display_id=0,
1378
+ button_state=0,
1379
+ button_id=0,
1380
+ pressed_buttons=0,
1381
+ x_position=-65,
1382
+ y_position=153,
1383
+ scroll_dx=0,
1384
+ scroll_x=0,
1385
+ scroll_dy=0,
1386
+ scroll_y=0,
1387
+ modifiers=[],
1388
+ window_id=984208))
1389
+ events.append(
1390
+ OrderedDict(
1391
+ experiment_id=0,
1392
+ session_id=0,
1393
+ device_id=0,
1394
+ event_id=54,
1395
+ type=36,
1396
+ device_time=139960.555,
1397
+ logged_time=5.004507533827564,
1398
+ time=5.004507533827564,
1399
+ confidence_interval=0.0,
1400
+ delay=0.0,
1401
+ filter_id=0,
1402
+ display_id=0,
1403
+ button_state=0,
1404
+ button_id=0,
1405
+ pressed_buttons=0,
1406
+ x_position=-69,
1407
+ y_position=156,
1408
+ scroll_dx=0,
1409
+ scroll_x=0,
1410
+ scroll_dy=0,
1411
+ scroll_y=0,
1412
+ modifiers=[],
1413
+ window_id=984208))
1414
+ events.append(
1415
+ OrderedDict(
1416
+ experiment_id=0,
1417
+ session_id=0,
1418
+ device_id=0,
1419
+ event_id=55,
1420
+ type=36,
1421
+ device_time=139960.571,
1422
+ logged_time=5.012471137044486,
1423
+ time=5.012471137044486,
1424
+ confidence_interval=0.0,
1425
+ delay=0.0,
1426
+ filter_id=0,
1427
+ display_id=0,
1428
+ button_state=0,
1429
+ button_id=0,
1430
+ pressed_buttons=0,
1431
+ x_position=-69,
1432
+ y_position=157,
1433
+ scroll_dx=0,
1434
+ scroll_x=0,
1435
+ scroll_dy=0,
1436
+ scroll_y=0,
1437
+ modifiers=[],
1438
+ window_id=984208))
1439
+ events.append(
1440
+ OrderedDict(
1441
+ experiment_id=0,
1442
+ session_id=0,
1443
+ device_id=0,
1444
+ event_id=56,
1445
+ type=36,
1446
+ device_time=139960.571,
1447
+ logged_time=5.02049752662424,
1448
+ time=5.02049752662424,
1449
+ confidence_interval=0.0,
1450
+ delay=0.0,
1451
+ filter_id=0,
1452
+ display_id=0,
1453
+ button_state=0,
1454
+ button_id=0,
1455
+ pressed_buttons=0,
1456
+ x_position=-70,
1457
+ y_position=157,
1458
+ scroll_dx=0,
1459
+ scroll_x=0,
1460
+ scroll_dy=0,
1461
+ scroll_y=0,
1462
+ modifiers=[],
1463
+ window_id=984208))
1464
+ events.append(
1465
+ OrderedDict(
1466
+ experiment_id=0,
1467
+ session_id=0,
1468
+ device_id=0,
1469
+ event_id=57,
1470
+ type=36,
1471
+ device_time=139960.587,
1472
+ logged_time=5.028478637599619,
1473
+ time=5.028478637599619,
1474
+ confidence_interval=0.0,
1475
+ delay=0.0,
1476
+ filter_id=0,
1477
+ display_id=0,
1478
+ button_state=0,
1479
+ button_id=0,
1480
+ pressed_buttons=0,
1481
+ x_position=-73,
1482
+ y_position=158,
1483
+ scroll_dx=0,
1484
+ scroll_x=0,
1485
+ scroll_dy=0,
1486
+ scroll_y=0,
1487
+ modifiers=[],
1488
+ window_id=984208))
1489
+ events.append(
1490
+ OrderedDict(
1491
+ experiment_id=0,
1492
+ session_id=0,
1493
+ device_id=0,
1494
+ event_id=58,
1495
+ type=36,
1496
+ device_time=139960.587,
1497
+ logged_time=5.036483293457422,
1498
+ time=5.036483293457422,
1499
+ confidence_interval=0.0,
1500
+ delay=0.0,
1501
+ filter_id=0,
1502
+ display_id=0,
1503
+ button_state=0,
1504
+ button_id=0,
1505
+ pressed_buttons=0,
1506
+ x_position=-76,
1507
+ y_position=158,
1508
+ scroll_dx=0,
1509
+ scroll_x=0,
1510
+ scroll_dy=0,
1511
+ scroll_y=0,
1512
+ modifiers=[],
1513
+ window_id=984208))
1514
+ events.append(
1515
+ OrderedDict(
1516
+ experiment_id=0,
1517
+ session_id=0,
1518
+ device_id=0,
1519
+ event_id=59,
1520
+ type=36,
1521
+ device_time=139960.602,
1522
+ logged_time=5.044499118026579,
1523
+ time=5.044499118026579,
1524
+ confidence_interval=0.0,
1525
+ delay=0.0,
1526
+ filter_id=0,
1527
+ display_id=0,
1528
+ button_state=0,
1529
+ button_id=0,
1530
+ pressed_buttons=0,
1531
+ x_position=-80,
1532
+ y_position=156,
1533
+ scroll_dx=0,
1534
+ scroll_x=0,
1535
+ scroll_dy=0,
1536
+ scroll_y=0,
1537
+ modifiers=[],
1538
+ window_id=984208))
1539
+ events.append(
1540
+ OrderedDict(
1541
+ experiment_id=0,
1542
+ session_id=0,
1543
+ device_id=0,
1544
+ event_id=60,
1545
+ type=36,
1546
+ device_time=139960.602,
1547
+ logged_time=5.052488681016257,
1548
+ time=5.052488681016257,
1549
+ confidence_interval=0.0,
1550
+ delay=0.0,
1551
+ filter_id=0,
1552
+ display_id=0,
1553
+ button_state=0,
1554
+ button_id=0,
1555
+ pressed_buttons=0,
1556
+ x_position=-88,
1557
+ y_position=149,
1558
+ scroll_dx=0,
1559
+ scroll_x=0,
1560
+ scroll_dy=0,
1561
+ scroll_y=0,
1562
+ modifiers=[],
1563
+ window_id=984208))
1564
+ events.append(
1565
+ OrderedDict(
1566
+ experiment_id=0,
1567
+ session_id=0,
1568
+ device_id=0,
1569
+ event_id=61,
1570
+ type=36,
1571
+ device_time=139960.618,
1572
+ logged_time=5.060469188261777,
1573
+ time=5.060469188261777,
1574
+ confidence_interval=0.0,
1575
+ delay=0.0,
1576
+ filter_id=0,
1577
+ display_id=0,
1578
+ button_state=0,
1579
+ button_id=0,
1580
+ pressed_buttons=0,
1581
+ x_position=-95,
1582
+ y_position=143,
1583
+ scroll_dx=0,
1584
+ scroll_x=0,
1585
+ scroll_dy=0,
1586
+ scroll_y=0,
1587
+ modifiers=[],
1588
+ window_id=984208))
1589
+ events.append(
1590
+ OrderedDict(
1591
+ experiment_id=0,
1592
+ session_id=0,
1593
+ device_id=0,
1594
+ event_id=62,
1595
+ type=36,
1596
+ device_time=139960.618,
1597
+ logged_time=5.068480786838336,
1598
+ time=5.068480786838336,
1599
+ confidence_interval=0.0,
1600
+ delay=0.0,
1601
+ filter_id=0,
1602
+ display_id=0,
1603
+ button_state=0,
1604
+ button_id=0,
1605
+ pressed_buttons=0,
1606
+ x_position=-99,
1607
+ y_position=132,
1608
+ scroll_dx=0,
1609
+ scroll_x=0,
1610
+ scroll_dy=0,
1611
+ scroll_y=0,
1612
+ modifiers=[],
1613
+ window_id=984208))
1614
+ events.append(
1615
+ OrderedDict(
1616
+ experiment_id=0,
1617
+ session_id=0,
1618
+ device_id=0,
1619
+ event_id=63,
1620
+ type=36,
1621
+ device_time=139960.633,
1622
+ logged_time=5.07647849994828,
1623
+ time=5.07647849994828,
1624
+ confidence_interval=0.0,
1625
+ delay=0.0,
1626
+ filter_id=0,
1627
+ display_id=0,
1628
+ button_state=0,
1629
+ button_id=0,
1630
+ pressed_buttons=0,
1631
+ x_position=-102,
1632
+ y_position=114,
1633
+ scroll_dx=0,
1634
+ scroll_x=0,
1635
+ scroll_dy=0,
1636
+ scroll_y=0,
1637
+ modifiers=[],
1638
+ window_id=984208))
1639
+ events.append(
1640
+ OrderedDict(
1641
+ experiment_id=0,
1642
+ session_id=0,
1643
+ device_id=0,
1644
+ event_id=64,
1645
+ type=36,
1646
+ device_time=139960.633,
1647
+ logged_time=5.084472590795485,
1648
+ time=5.084472590795485,
1649
+ confidence_interval=0.0,
1650
+ delay=0.0,
1651
+ filter_id=0,
1652
+ display_id=0,
1653
+ button_state=0,
1654
+ button_id=0,
1655
+ pressed_buttons=0,
1656
+ x_position=-100,
1657
+ y_position=91,
1658
+ scroll_dx=0,
1659
+ scroll_x=0,
1660
+ scroll_dy=0,
1661
+ scroll_y=0,
1662
+ modifiers=[],
1663
+ window_id=984208))
1664
+ events.append(
1665
+ OrderedDict(
1666
+ experiment_id=0,
1667
+ session_id=0,
1668
+ device_id=0,
1669
+ event_id=65,
1670
+ type=36,
1671
+ device_time=139960.649,
1672
+ logged_time=5.092484189372044,
1673
+ time=5.092484189372044,
1674
+ confidence_interval=0.0,
1675
+ delay=0.0,
1676
+ filter_id=0,
1677
+ display_id=0,
1678
+ button_state=0,
1679
+ button_id=0,
1680
+ pressed_buttons=0,
1681
+ x_position=-97,
1682
+ y_position=72,
1683
+ scroll_dx=0,
1684
+ scroll_x=0,
1685
+ scroll_dy=0,
1686
+ scroll_y=0,
1687
+ modifiers=[],
1688
+ window_id=984208))
1689
+ events.append(
1690
+ OrderedDict(
1691
+ experiment_id=0,
1692
+ session_id=0,
1693
+ device_id=0,
1694
+ event_id=66,
1695
+ type=36,
1696
+ device_time=139960.649,
1697
+ logged_time=5.1004631873220205,
1698
+ time=5.1004631873220205,
1699
+ confidence_interval=0.0,
1700
+ delay=0.0,
1701
+ filter_id=0,
1702
+ display_id=0,
1703
+ button_state=0,
1704
+ button_id=0,
1705
+ pressed_buttons=0,
1706
+ x_position=-87,
1707
+ y_position=46,
1708
+ scroll_dx=0,
1709
+ scroll_x=0,
1710
+ scroll_dy=0,
1711
+ scroll_y=0,
1712
+ modifiers=[],
1713
+ window_id=984208))
1714
+ events.append(
1715
+ OrderedDict(
1716
+ experiment_id=0,
1717
+ session_id=0,
1718
+ device_id=0,
1719
+ event_id=67,
1720
+ type=36,
1721
+ device_time=139960.665,
1722
+ logged_time=5.108479615621036,
1723
+ time=5.108479615621036,
1724
+ confidence_interval=0.0,
1725
+ delay=0.0,
1726
+ filter_id=0,
1727
+ display_id=0,
1728
+ button_state=0,
1729
+ button_id=0,
1730
+ pressed_buttons=0,
1731
+ x_position=-75,
1732
+ y_position=25,
1733
+ scroll_dx=0,
1734
+ scroll_x=0,
1735
+ scroll_dy=0,
1736
+ scroll_y=0,
1737
+ modifiers=[],
1738
+ window_id=984208))
1739
+ events.append(
1740
+ OrderedDict(
1741
+ experiment_id=0,
1742
+ session_id=0,
1743
+ device_id=0,
1744
+ event_id=68,
1745
+ type=36,
1746
+ device_time=139960.665,
1747
+ logged_time=5.116496345784981,
1748
+ time=5.116496345784981,
1749
+ confidence_interval=0.0,
1750
+ delay=0.0,
1751
+ filter_id=0,
1752
+ display_id=0,
1753
+ button_state=0,
1754
+ button_id=0,
1755
+ pressed_buttons=0,
1756
+ x_position=-59,
1757
+ y_position=2,
1758
+ scroll_dx=0,
1759
+ scroll_x=0,
1760
+ scroll_dy=0,
1761
+ scroll_y=0,
1762
+ modifiers=[],
1763
+ window_id=984208))
1764
+ events.append(
1765
+ OrderedDict(
1766
+ experiment_id=0,
1767
+ session_id=0,
1768
+ device_id=0,
1769
+ event_id=69,
1770
+ type=36,
1771
+ device_time=139960.68,
1772
+ logged_time=5.124480173457414,
1773
+ time=5.124480173457414,
1774
+ confidence_interval=0.0,
1775
+ delay=0.0,
1776
+ filter_id=0,
1777
+ display_id=0,
1778
+ button_state=0,
1779
+ button_id=0,
1780
+ pressed_buttons=0,
1781
+ x_position=-49,
1782
+ y_position=-10,
1783
+ scroll_dx=0,
1784
+ scroll_x=0,
1785
+ scroll_dy=0,
1786
+ scroll_y=0,
1787
+ modifiers=[],
1788
+ window_id=984208))
1789
+ events.append(
1790
+ OrderedDict(
1791
+ experiment_id=0,
1792
+ session_id=0,
1793
+ device_id=0,
1794
+ event_id=70,
1795
+ type=36,
1796
+ device_time=139960.68,
1797
+ logged_time=5.132490866468288,
1798
+ time=5.132490866468288,
1799
+ confidence_interval=0.0,
1800
+ delay=0.0,
1801
+ filter_id=0,
1802
+ display_id=0,
1803
+ button_state=0,
1804
+ button_id=0,
1805
+ pressed_buttons=0,
1806
+ x_position=-40,
1807
+ y_position=-17,
1808
+ scroll_dx=0,
1809
+ scroll_x=0,
1810
+ scroll_dy=0,
1811
+ scroll_y=0,
1812
+ modifiers=[],
1813
+ window_id=984208))
1814
+ events.append(
1815
+ OrderedDict(
1816
+ experiment_id=0,
1817
+ session_id=0,
1818
+ device_id=0,
1819
+ event_id=71,
1820
+ type=36,
1821
+ device_time=139960.696,
1822
+ logged_time=5.140464430995053,
1823
+ time=5.140464430995053,
1824
+ confidence_interval=0.0,
1825
+ delay=0.0,
1826
+ filter_id=0,
1827
+ display_id=0,
1828
+ button_state=0,
1829
+ button_id=0,
1830
+ pressed_buttons=0,
1831
+ x_position=-34,
1832
+ y_position=-23,
1833
+ scroll_dx=0,
1834
+ scroll_x=0,
1835
+ scroll_dy=0,
1836
+ scroll_y=0,
1837
+ modifiers=[],
1838
+ window_id=984208))
1839
+ events.append(
1840
+ OrderedDict(
1841
+ experiment_id=0,
1842
+ session_id=0,
1843
+ device_id=0,
1844
+ event_id=72,
1845
+ type=36,
1846
+ device_time=139960.696,
1847
+ logged_time=5.148476935137296,
1848
+ time=5.148476935137296,
1849
+ confidence_interval=0.0,
1850
+ delay=0.0,
1851
+ filter_id=0,
1852
+ display_id=0,
1853
+ button_state=0,
1854
+ button_id=0,
1855
+ pressed_buttons=0,
1856
+ x_position=-26,
1857
+ y_position=-25,
1858
+ scroll_dx=0,
1859
+ scroll_x=0,
1860
+ scroll_dy=0,
1861
+ scroll_y=0,
1862
+ modifiers=[],
1863
+ window_id=984208))
1864
+ events.append(
1865
+ OrderedDict(
1866
+ experiment_id=0,
1867
+ session_id=0,
1868
+ device_id=0,
1869
+ event_id=73,
1870
+ type=36,
1871
+ device_time=139960.711,
1872
+ logged_time=5.156460762809729,
1873
+ time=5.156460762809729,
1874
+ confidence_interval=0.0,
1875
+ delay=0.0,
1876
+ filter_id=0,
1877
+ display_id=0,
1878
+ button_state=0,
1879
+ button_id=0,
1880
+ pressed_buttons=0,
1881
+ x_position=-17,
1882
+ y_position=-27,
1883
+ scroll_dx=0,
1884
+ scroll_x=0,
1885
+ scroll_dy=0,
1886
+ scroll_y=0,
1887
+ modifiers=[],
1888
+ window_id=984208))
1889
+ events.append(
1890
+ OrderedDict(
1891
+ experiment_id=0,
1892
+ session_id=0,
1893
+ device_id=0,
1894
+ event_id=74,
1895
+ type=36,
1896
+ device_time=139960.711,
1897
+ logged_time=5.164469040959375,
1898
+ time=5.164469040959375,
1899
+ confidence_interval=0.0,
1900
+ delay=0.0,
1901
+ filter_id=0,
1902
+ display_id=0,
1903
+ button_state=0,
1904
+ button_id=0,
1905
+ pressed_buttons=0,
1906
+ x_position=-3,
1907
+ y_position=-26,
1908
+ scroll_dx=0,
1909
+ scroll_x=0,
1910
+ scroll_dy=0,
1911
+ scroll_y=0,
1912
+ modifiers=[],
1913
+ window_id=984208))
1914
+ events.append(
1915
+ OrderedDict(
1916
+ experiment_id=0,
1917
+ session_id=0,
1918
+ device_id=0,
1919
+ event_id=75,
1920
+ type=36,
1921
+ device_time=139960.727,
1922
+ logged_time=5.172525616275379,
1923
+ time=5.172525616275379,
1924
+ confidence_interval=0.0,
1925
+ delay=0.0,
1926
+ filter_id=0,
1927
+ display_id=0,
1928
+ button_state=0,
1929
+ button_id=0,
1930
+ pressed_buttons=0,
1931
+ x_position=10,
1932
+ y_position=-24,
1933
+ scroll_dx=0,
1934
+ scroll_x=0,
1935
+ scroll_dy=0,
1936
+ scroll_y=0,
1937
+ modifiers=[],
1938
+ window_id=984208))
1939
+ events.append(
1940
+ OrderedDict(
1941
+ experiment_id=0,
1942
+ session_id=0,
1943
+ device_id=0,
1944
+ event_id=76,
1945
+ type=36,
1946
+ device_time=139960.727,
1947
+ logged_time=5.180502199393231,
1948
+ time=5.180502199393231,
1949
+ confidence_interval=0.0,
1950
+ delay=0.0,
1951
+ filter_id=0,
1952
+ display_id=0,
1953
+ button_state=0,
1954
+ button_id=0,
1955
+ pressed_buttons=0,
1956
+ x_position=22,
1957
+ y_position=-19,
1958
+ scroll_dx=0,
1959
+ scroll_x=0,
1960
+ scroll_dy=0,
1961
+ scroll_y=0,
1962
+ modifiers=[],
1963
+ window_id=984208))
1964
+ events.append(
1965
+ OrderedDict(
1966
+ experiment_id=0,
1967
+ session_id=0,
1968
+ device_id=0,
1969
+ event_id=77,
1970
+ type=36,
1971
+ device_time=139960.743,
1972
+ logged_time=5.188485725229839,
1973
+ time=5.188485725229839,
1974
+ confidence_interval=0.0,
1975
+ delay=0.0,
1976
+ filter_id=0,
1977
+ display_id=0,
1978
+ button_state=0,
1979
+ button_id=0,
1980
+ pressed_buttons=0,
1981
+ x_position=31,
1982
+ y_position=-10,
1983
+ scroll_dx=0,
1984
+ scroll_x=0,
1985
+ scroll_dy=0,
1986
+ scroll_y=0,
1987
+ modifiers=[],
1988
+ window_id=984208))
1989
+ events.append(
1990
+ OrderedDict(
1991
+ experiment_id=0,
1992
+ session_id=0,
1993
+ device_id=0,
1994
+ event_id=78,
1995
+ type=36,
1996
+ device_time=139960.743,
1997
+ logged_time=5.19647377889487,
1998
+ time=5.19647377889487,
1999
+ confidence_interval=0.0,
2000
+ delay=0.0,
2001
+ filter_id=0,
2002
+ display_id=0,
2003
+ button_state=0,
2004
+ button_id=0,
2005
+ pressed_buttons=0,
2006
+ x_position=40,
2007
+ y_position=-3,
2008
+ scroll_dx=0,
2009
+ scroll_x=0,
2010
+ scroll_dy=0,
2011
+ scroll_y=0,
2012
+ modifiers=[],
2013
+ window_id=984208))
2014
+ events.append(
2015
+ OrderedDict(
2016
+ experiment_id=0,
2017
+ session_id=0,
2018
+ device_id=0,
2019
+ event_id=79,
2020
+ type=36,
2021
+ device_time=139960.758,
2022
+ logged_time=5.20449745177757,
2023
+ time=5.20449745177757,
2024
+ confidence_interval=0.0,
2025
+ delay=0.0,
2026
+ filter_id=0,
2027
+ display_id=0,
2028
+ button_state=0,
2029
+ button_id=0,
2030
+ pressed_buttons=0,
2031
+ x_position=46,
2032
+ y_position=8,
2033
+ scroll_dx=0,
2034
+ scroll_x=0,
2035
+ scroll_dy=0,
2036
+ scroll_y=0,
2037
+ modifiers=[],
2038
+ window_id=984208))
2039
+ events.append(
2040
+ OrderedDict(
2041
+ experiment_id=0,
2042
+ session_id=0,
2043
+ device_id=0,
2044
+ event_id=80,
2045
+ type=36,
2046
+ device_time=139960.758,
2047
+ logged_time=5.212564893969102,
2048
+ time=5.212564893969102,
2049
+ confidence_interval=0.0,
2050
+ delay=0.0,
2051
+ filter_id=0,
2052
+ display_id=0,
2053
+ button_state=0,
2054
+ button_id=0,
2055
+ pressed_buttons=0,
2056
+ x_position=51,
2057
+ y_position=19,
2058
+ scroll_dx=0,
2059
+ scroll_x=0,
2060
+ scroll_dy=0,
2061
+ scroll_y=0,
2062
+ modifiers=[],
2063
+ window_id=984208))
2064
+ events.append(
2065
+ OrderedDict(
2066
+ experiment_id=0,
2067
+ session_id=0,
2068
+ device_id=0,
2069
+ event_id=81,
2070
+ type=36,
2071
+ device_time=139960.774,
2072
+ logged_time=5.22048744460335,
2073
+ time=5.22048744460335,
2074
+ confidence_interval=0.0,
2075
+ delay=0.0,
2076
+ filter_id=0,
2077
+ display_id=0,
2078
+ button_state=0,
2079
+ button_id=0,
2080
+ pressed_buttons=0,
2081
+ x_position=53,
2082
+ y_position=30,
2083
+ scroll_dx=0,
2084
+ scroll_x=0,
2085
+ scroll_dy=0,
2086
+ scroll_y=0,
2087
+ modifiers=[],
2088
+ window_id=984208))
2089
+ events.append(
2090
+ OrderedDict(
2091
+ experiment_id=0,
2092
+ session_id=0,
2093
+ device_id=0,
2094
+ event_id=82,
2095
+ type=36,
2096
+ device_time=139960.774,
2097
+ logged_time=5.228505080303876,
2098
+ time=5.228505080303876,
2099
+ confidence_interval=0.0,
2100
+ delay=0.0,
2101
+ filter_id=0,
2102
+ display_id=0,
2103
+ button_state=0,
2104
+ button_id=0,
2105
+ pressed_buttons=0,
2106
+ x_position=53,
2107
+ y_position=41,
2108
+ scroll_dx=0,
2109
+ scroll_x=0,
2110
+ scroll_dy=0,
2111
+ scroll_y=0,
2112
+ modifiers=[],
2113
+ window_id=984208))
2114
+ events.append(
2115
+ OrderedDict(
2116
+ experiment_id=0,
2117
+ session_id=0,
2118
+ device_id=0,
2119
+ event_id=83,
2120
+ type=36,
2121
+ device_time=139960.789,
2122
+ logged_time=5.236476531834342,
2123
+ time=5.236476531834342,
2124
+ confidence_interval=0.0,
2125
+ delay=0.0,
2126
+ filter_id=0,
2127
+ display_id=0,
2128
+ button_state=0,
2129
+ button_id=0,
2130
+ pressed_buttons=0,
2131
+ x_position=52,
2132
+ y_position=52,
2133
+ scroll_dx=0,
2134
+ scroll_x=0,
2135
+ scroll_dy=0,
2136
+ scroll_y=0,
2137
+ modifiers=[],
2138
+ window_id=984208))
2139
+ events.append(
2140
+ OrderedDict(
2141
+ experiment_id=0,
2142
+ session_id=0,
2143
+ device_id=0,
2144
+ event_id=84,
2145
+ type=36,
2146
+ device_time=139960.805,
2147
+ logged_time=5.244548803777434,
2148
+ time=5.244548803777434,
2149
+ confidence_interval=0.0,
2150
+ delay=0.0,
2151
+ filter_id=0,
2152
+ display_id=0,
2153
+ button_state=0,
2154
+ button_id=0,
2155
+ pressed_buttons=0,
2156
+ x_position=45,
2157
+ y_position=67,
2158
+ scroll_dx=0,
2159
+ scroll_x=0,
2160
+ scroll_dy=0,
2161
+ scroll_y=0,
2162
+ modifiers=[],
2163
+ window_id=984208))
2164
+ events.append(
2165
+ OrderedDict(
2166
+ experiment_id=0,
2167
+ session_id=0,
2168
+ device_id=0,
2169
+ event_id=85,
2170
+ type=36,
2171
+ device_time=139960.805,
2172
+ logged_time=5.252519349713111,
2173
+ time=5.252519349713111,
2174
+ confidence_interval=0.0,
2175
+ delay=0.0,
2176
+ filter_id=0,
2177
+ display_id=0,
2178
+ button_state=0,
2179
+ button_id=0,
2180
+ pressed_buttons=0,
2181
+ x_position=40,
2182
+ y_position=76,
2183
+ scroll_dx=0,
2184
+ scroll_x=0,
2185
+ scroll_dy=0,
2186
+ scroll_y=0,
2187
+ modifiers=[],
2188
+ window_id=984208))
2189
+ events.append(
2190
+ OrderedDict(
2191
+ experiment_id=0,
2192
+ session_id=0,
2193
+ device_id=0,
2194
+ event_id=86,
2195
+ type=36,
2196
+ device_time=139960.821,
2197
+ logged_time=5.260487480816664,
2198
+ time=5.260487480816664,
2199
+ confidence_interval=0.0,
2200
+ delay=0.0,
2201
+ filter_id=0,
2202
+ display_id=0,
2203
+ button_state=0,
2204
+ button_id=0,
2205
+ pressed_buttons=0,
2206
+ x_position=36,
2207
+ y_position=85,
2208
+ scroll_dx=0,
2209
+ scroll_x=0,
2210
+ scroll_dy=0,
2211
+ scroll_y=0,
2212
+ modifiers=[],
2213
+ window_id=984208))
2214
+ events.append(
2215
+ OrderedDict(
2216
+ experiment_id=0,
2217
+ session_id=0,
2218
+ device_id=0,
2219
+ event_id=87,
2220
+ type=36,
2221
+ device_time=139960.821,
2222
+ logged_time=5.26849726823275,
2223
+ time=5.26849726823275,
2224
+ confidence_interval=0.0,
2225
+ delay=0.0,
2226
+ filter_id=0,
2227
+ display_id=0,
2228
+ button_state=0,
2229
+ button_id=0,
2230
+ pressed_buttons=0,
2231
+ x_position=32,
2232
+ y_position=91,
2233
+ scroll_dx=0,
2234
+ scroll_x=0,
2235
+ scroll_dy=0,
2236
+ scroll_y=0,
2237
+ modifiers=[],
2238
+ window_id=984208))
2239
+ events.append(
2240
+ OrderedDict(
2241
+ experiment_id=0,
2242
+ session_id=0,
2243
+ device_id=0,
2244
+ event_id=88,
2245
+ type=36,
2246
+ device_time=139960.836,
2247
+ logged_time=5.27647656807676,
2248
+ time=5.27647656807676,
2249
+ confidence_interval=0.0,
2250
+ delay=0.0,
2251
+ filter_id=0,
2252
+ display_id=0,
2253
+ button_state=0,
2254
+ button_id=0,
2255
+ pressed_buttons=0,
2256
+ x_position=28,
2257
+ y_position=94,
2258
+ scroll_dx=0,
2259
+ scroll_x=0,
2260
+ scroll_dy=0,
2261
+ scroll_y=0,
2262
+ modifiers=[],
2263
+ window_id=984208))
2264
+ events.append(
2265
+ OrderedDict(
2266
+ experiment_id=0,
2267
+ session_id=0,
2268
+ device_id=0,
2269
+ event_id=89,
2270
+ type=36,
2271
+ device_time=139960.836,
2272
+ logged_time=5.284469451493351,
2273
+ time=5.284469451493351,
2274
+ confidence_interval=0.0,
2275
+ delay=0.0,
2276
+ filter_id=0,
2277
+ display_id=0,
2278
+ button_state=0,
2279
+ button_id=0,
2280
+ pressed_buttons=0,
2281
+ x_position=25,
2282
+ y_position=96,
2283
+ scroll_dx=0,
2284
+ scroll_x=0,
2285
+ scroll_dy=0,
2286
+ scroll_y=0,
2287
+ modifiers=[],
2288
+ window_id=984208))
2289
+ events.append(
2290
+ OrderedDict(
2291
+ experiment_id=0,
2292
+ session_id=0,
2293
+ device_id=0,
2294
+ event_id=90,
2295
+ type=36,
2296
+ device_time=139960.852,
2297
+ logged_time=5.292507009784458,
2298
+ time=5.292507009784458,
2299
+ confidence_interval=0.0,
2300
+ delay=0.0,
2301
+ filter_id=0,
2302
+ display_id=0,
2303
+ button_state=0,
2304
+ button_id=0,
2305
+ pressed_buttons=0,
2306
+ x_position=19,
2307
+ y_position=96,
2308
+ scroll_dx=0,
2309
+ scroll_x=0,
2310
+ scroll_dy=0,
2311
+ scroll_y=0,
2312
+ modifiers=[],
2313
+ window_id=984208))
2314
+ events.append(
2315
+ OrderedDict(
2316
+ experiment_id=0,
2317
+ session_id=0,
2318
+ device_id=0,
2319
+ event_id=91,
2320
+ type=36,
2321
+ device_time=139960.852,
2322
+ logged_time=5.300493554183049,
2323
+ time=5.300493554183049,
2324
+ confidence_interval=0.0,
2325
+ delay=0.0,
2326
+ filter_id=0,
2327
+ display_id=0,
2328
+ button_state=0,
2329
+ button_id=0,
2330
+ pressed_buttons=0,
2331
+ x_position=14,
2332
+ y_position=96,
2333
+ scroll_dx=0,
2334
+ scroll_x=0,
2335
+ scroll_dy=0,
2336
+ scroll_y=0,
2337
+ modifiers=[],
2338
+ window_id=984208))
2339
+ events.append(
2340
+ OrderedDict(
2341
+ experiment_id=0,
2342
+ session_id=0,
2343
+ device_id=0,
2344
+ event_id=92,
2345
+ type=36,
2346
+ device_time=139960.867,
2347
+ logged_time=5.308489758026553,
2348
+ time=5.308489758026553,
2349
+ confidence_interval=0.0,
2350
+ delay=0.0,
2351
+ filter_id=0,
2352
+ display_id=0,
2353
+ button_state=0,
2354
+ button_id=0,
2355
+ pressed_buttons=0,
2356
+ x_position=8,
2357
+ y_position=95,
2358
+ scroll_dx=0,
2359
+ scroll_x=0,
2360
+ scroll_dy=0,
2361
+ scroll_y=0,
2362
+ modifiers=[],
2363
+ window_id=984208))
2364
+ events.append(
2365
+ OrderedDict(
2366
+ experiment_id=0,
2367
+ session_id=0,
2368
+ device_id=0,
2369
+ event_id=93,
2370
+ type=36,
2371
+ device_time=139960.867,
2372
+ logged_time=5.316499545471743,
2373
+ time=5.316499545471743,
2374
+ confidence_interval=0.0,
2375
+ delay=0.0,
2376
+ filter_id=0,
2377
+ display_id=0,
2378
+ button_state=0,
2379
+ button_id=0,
2380
+ pressed_buttons=0,
2381
+ x_position=-1,
2382
+ y_position=91,
2383
+ scroll_dx=0,
2384
+ scroll_x=0,
2385
+ scroll_dy=0,
2386
+ scroll_y=0,
2387
+ modifiers=[],
2388
+ window_id=984208))
2389
+ events.append(
2390
+ OrderedDict(
2391
+ experiment_id=0,
2392
+ session_id=0,
2393
+ device_id=0,
2394
+ event_id=94,
2395
+ type=36,
2396
+ device_time=139960.883,
2397
+ logged_time=5.324469487706665,
2398
+ time=5.324469487706665,
2399
+ confidence_interval=0.0,
2400
+ delay=0.0,
2401
+ filter_id=0,
2402
+ display_id=0,
2403
+ button_state=0,
2404
+ button_id=0,
2405
+ pressed_buttons=0,
2406
+ x_position=-7,
2407
+ y_position=87,
2408
+ scroll_dx=0,
2409
+ scroll_x=0,
2410
+ scroll_dy=0,
2411
+ scroll_y=0,
2412
+ modifiers=[],
2413
+ window_id=984208))
2414
+ events.append(
2415
+ OrderedDict(
2416
+ experiment_id=0,
2417
+ session_id=0,
2418
+ device_id=0,
2419
+ event_id=95,
2420
+ type=36,
2421
+ device_time=139960.883,
2422
+ logged_time=5.332472936133854,
2423
+ time=5.332472936133854,
2424
+ confidence_interval=0.0,
2425
+ delay=0.0,
2426
+ filter_id=0,
2427
+ display_id=0,
2428
+ button_state=0,
2429
+ button_id=0,
2430
+ pressed_buttons=0,
2431
+ x_position=-14,
2432
+ y_position=80,
2433
+ scroll_dx=0,
2434
+ scroll_x=0,
2435
+ scroll_dy=0,
2436
+ scroll_y=0,
2437
+ modifiers=[],
2438
+ window_id=984208))
2439
+ events.append(
2440
+ OrderedDict(
2441
+ experiment_id=0,
2442
+ session_id=0,
2443
+ device_id=0,
2444
+ event_id=96,
2445
+ type=36,
2446
+ device_time=139960.899,
2447
+ logged_time=5.340496307122521,
2448
+ time=5.340496307122521,
2449
+ confidence_interval=0.0,
2450
+ delay=0.0,
2451
+ filter_id=0,
2452
+ display_id=0,
2453
+ button_state=0,
2454
+ button_id=0,
2455
+ pressed_buttons=0,
2456
+ x_position=-18,
2457
+ y_position=74,
2458
+ scroll_dx=0,
2459
+ scroll_x=0,
2460
+ scroll_dy=0,
2461
+ scroll_y=0,
2462
+ modifiers=[],
2463
+ window_id=984208))
2464
+ events.append(
2465
+ OrderedDict(
2466
+ experiment_id=0,
2467
+ session_id=0,
2468
+ device_id=0,
2469
+ event_id=97,
2470
+ type=36,
2471
+ device_time=139960.899,
2472
+ logged_time=5.348478927393444,
2473
+ time=5.348478927393444,
2474
+ confidence_interval=0.0,
2475
+ delay=0.0,
2476
+ filter_id=0,
2477
+ display_id=0,
2478
+ button_state=0,
2479
+ button_id=0,
2480
+ pressed_buttons=0,
2481
+ x_position=-22,
2482
+ y_position=68,
2483
+ scroll_dx=0,
2484
+ scroll_x=0,
2485
+ scroll_dy=0,
2486
+ scroll_y=0,
2487
+ modifiers=[],
2488
+ window_id=984208))
2489
+ events.append(
2490
+ OrderedDict(
2491
+ experiment_id=0,
2492
+ session_id=0,
2493
+ device_id=0,
2494
+ event_id=98,
2495
+ type=36,
2496
+ device_time=139960.914,
2497
+ logged_time=5.356487809243845,
2498
+ time=5.356487809243845,
2499
+ confidence_interval=0.0,
2500
+ delay=0.0,
2501
+ filter_id=0,
2502
+ display_id=0,
2503
+ button_state=0,
2504
+ button_id=0,
2505
+ pressed_buttons=0,
2506
+ x_position=-24,
2507
+ y_position=60,
2508
+ scroll_dx=0,
2509
+ scroll_x=0,
2510
+ scroll_dy=0,
2511
+ scroll_y=0,
2512
+ modifiers=[],
2513
+ window_id=984208))
2514
+ events.append(
2515
+ OrderedDict(
2516
+ experiment_id=0,
2517
+ session_id=0,
2518
+ device_id=0,
2519
+ event_id=99,
2520
+ type=36,
2521
+ device_time=139960.914,
2522
+ logged_time=5.3645060486742295,
2523
+ time=5.3645060486742295,
2524
+ confidence_interval=0.0,
2525
+ delay=0.0,
2526
+ filter_id=0,
2527
+ display_id=0,
2528
+ button_state=0,
2529
+ button_id=0,
2530
+ pressed_buttons=0,
2531
+ x_position=-24,
2532
+ y_position=56,
2533
+ scroll_dx=0,
2534
+ scroll_x=0,
2535
+ scroll_dy=0,
2536
+ scroll_y=0,
2537
+ modifiers=[],
2538
+ window_id=984208))
2539
+ events.append(
2540
+ OrderedDict(
2541
+ experiment_id=0,
2542
+ session_id=0,
2543
+ device_id=0,
2544
+ event_id=100,
2545
+ type=36,
2546
+ device_time=139960.93,
2547
+ logged_time=5.3725043655140325,
2548
+ time=5.3725043655140325,
2549
+ confidence_interval=0.0,
2550
+ delay=0.0,
2551
+ filter_id=0,
2552
+ display_id=0,
2553
+ button_state=0,
2554
+ button_id=0,
2555
+ pressed_buttons=0,
2556
+ x_position=-24,
2557
+ y_position=53,
2558
+ scroll_dx=0,
2559
+ scroll_x=0,
2560
+ scroll_dy=0,
2561
+ scroll_y=0,
2562
+ modifiers=[],
2563
+ window_id=984208))
2564
+ events.append(
2565
+ OrderedDict(
2566
+ experiment_id=0,
2567
+ session_id=0,
2568
+ device_id=0,
2569
+ event_id=101,
2570
+ type=36,
2571
+ device_time=139960.93,
2572
+ logged_time=5.380504493514309,
2573
+ time=5.380504493514309,
2574
+ confidence_interval=0.0,
2575
+ delay=0.0,
2576
+ filter_id=0,
2577
+ display_id=0,
2578
+ button_state=0,
2579
+ button_id=0,
2580
+ pressed_buttons=0,
2581
+ x_position=-24,
2582
+ y_position=50,
2583
+ scroll_dx=0,
2584
+ scroll_x=0,
2585
+ scroll_dy=0,
2586
+ scroll_y=0,
2587
+ modifiers=[],
2588
+ window_id=984208))
2589
+ events.append(
2590
+ OrderedDict(
2591
+ experiment_id=0,
2592
+ session_id=0,
2593
+ device_id=0,
2594
+ event_id=102,
2595
+ type=36,
2596
+ device_time=139960.945,
2597
+ logged_time=5.388510054937797,
2598
+ time=5.388510054937797,
2599
+ confidence_interval=0.0,
2600
+ delay=0.0,
2601
+ filter_id=0,
2602
+ display_id=0,
2603
+ button_state=0,
2604
+ button_id=0,
2605
+ pressed_buttons=0,
2606
+ x_position=-23,
2607
+ y_position=47,
2608
+ scroll_dx=0,
2609
+ scroll_x=0,
2610
+ scroll_dy=0,
2611
+ scroll_y=0,
2612
+ modifiers=[],
2613
+ window_id=984208))
2614
+ events.append(
2615
+ OrderedDict(
2616
+ experiment_id=0,
2617
+ session_id=0,
2618
+ device_id=0,
2619
+ event_id=103,
2620
+ type=36,
2621
+ device_time=139960.945,
2622
+ logged_time=5.396494788175914,
2623
+ time=5.396494788175914,
2624
+ confidence_interval=0.0,
2625
+ delay=0.0,
2626
+ filter_id=0,
2627
+ display_id=0,
2628
+ button_state=0,
2629
+ button_id=0,
2630
+ pressed_buttons=0,
2631
+ x_position=-19,
2632
+ y_position=41,
2633
+ scroll_dx=0,
2634
+ scroll_x=0,
2635
+ scroll_dy=0,
2636
+ scroll_y=0,
2637
+ modifiers=[],
2638
+ window_id=984208))
2639
+ events.append(
2640
+ OrderedDict(
2641
+ experiment_id=0,
2642
+ session_id=0,
2643
+ device_id=0,
2644
+ event_id=104,
2645
+ type=36,
2646
+ device_time=139960.961,
2647
+ logged_time=5.404487973457435,
2648
+ time=5.404487973457435,
2649
+ confidence_interval=0.0,
2650
+ delay=0.0,
2651
+ filter_id=0,
2652
+ display_id=0,
2653
+ button_state=0,
2654
+ button_id=0,
2655
+ pressed_buttons=0,
2656
+ x_position=-13,
2657
+ y_position=37,
2658
+ scroll_dx=0,
2659
+ scroll_x=0,
2660
+ scroll_dy=0,
2661
+ scroll_y=0,
2662
+ modifiers=[],
2663
+ window_id=984208))
2664
+ events.append(
2665
+ OrderedDict(
2666
+ experiment_id=0,
2667
+ session_id=0,
2668
+ device_id=0,
2669
+ event_id=105,
2670
+ type=36,
2671
+ device_time=139960.961,
2672
+ logged_time=5.412510740745347,
2673
+ time=5.412510740745347,
2674
+ confidence_interval=0.0,
2675
+ delay=0.0,
2676
+ filter_id=0,
2677
+ display_id=0,
2678
+ button_state=0,
2679
+ button_id=0,
2680
+ pressed_buttons=0,
2681
+ x_position=-4,
2682
+ y_position=32,
2683
+ scroll_dx=0,
2684
+ scroll_x=0,
2685
+ scroll_dy=0,
2686
+ scroll_y=0,
2687
+ modifiers=[],
2688
+ window_id=984208))
2689
+ events.append(
2690
+ OrderedDict(
2691
+ experiment_id=0,
2692
+ session_id=0,
2693
+ device_id=0,
2694
+ event_id=106,
2695
+ type=36,
2696
+ device_time=139960.977,
2697
+ logged_time=5.420487323863199,
2698
+ time=5.420487323863199,
2699
+ confidence_interval=0.0,
2700
+ delay=0.0,
2701
+ filter_id=0,
2702
+ display_id=0,
2703
+ button_state=0,
2704
+ button_id=0,
2705
+ pressed_buttons=0,
2706
+ x_position=4,
2707
+ y_position=30,
2708
+ scroll_dx=0,
2709
+ scroll_x=0,
2710
+ scroll_dy=0,
2711
+ scroll_y=0,
2712
+ modifiers=[],
2713
+ window_id=984208))
2714
+ events.append(
2715
+ OrderedDict(
2716
+ experiment_id=0,
2717
+ session_id=0,
2718
+ device_id=0,
2719
+ event_id=107,
2720
+ type=36,
2721
+ device_time=139960.977,
2722
+ logged_time=5.4285116004466545,
2723
+ time=5.4285116004466545,
2724
+ confidence_interval=0.0,
2725
+ delay=0.0,
2726
+ filter_id=0,
2727
+ display_id=0,
2728
+ button_state=0,
2729
+ button_id=0,
2730
+ pressed_buttons=0,
2731
+ x_position=15,
2732
+ y_position=30,
2733
+ scroll_dx=0,
2734
+ scroll_x=0,
2735
+ scroll_dy=0,
2736
+ scroll_y=0,
2737
+ modifiers=[],
2738
+ window_id=984208))
2739
+ events.append(
2740
+ OrderedDict(
2741
+ experiment_id=0,
2742
+ session_id=0,
2743
+ device_id=0,
2744
+ event_id=108,
2745
+ type=36,
2746
+ device_time=139960.992,
2747
+ logged_time=5.436502069002017,
2748
+ time=5.436502069002017,
2749
+ confidence_interval=0.0,
2750
+ delay=0.0,
2751
+ filter_id=0,
2752
+ display_id=0,
2753
+ button_state=0,
2754
+ button_id=0,
2755
+ pressed_buttons=0,
2756
+ x_position=26,
2757
+ y_position=32,
2758
+ scroll_dx=0,
2759
+ scroll_x=0,
2760
+ scroll_dy=0,
2761
+ scroll_y=0,
2762
+ modifiers=[],
2763
+ window_id=984208))
2764
+ events.append(
2765
+ OrderedDict(
2766
+ experiment_id=0,
2767
+ session_id=0,
2768
+ device_id=0,
2769
+ event_id=109,
2770
+ type=36,
2771
+ device_time=139960.992,
2772
+ logged_time=5.4445049136993475,
2773
+ time=5.4445049136993475,
2774
+ confidence_interval=0.0,
2775
+ delay=0.0,
2776
+ filter_id=0,
2777
+ display_id=0,
2778
+ button_state=0,
2779
+ button_id=0,
2780
+ pressed_buttons=0,
2781
+ x_position=37,
2782
+ y_position=36,
2783
+ scroll_dx=0,
2784
+ scroll_x=0,
2785
+ scroll_dy=0,
2786
+ scroll_y=0,
2787
+ modifiers=[],
2788
+ window_id=984208))
2789
+ events.append(
2790
+ OrderedDict(
2791
+ experiment_id=0,
2792
+ session_id=0,
2793
+ device_id=0,
2794
+ event_id=110,
2795
+ type=36,
2796
+ device_time=139961.008,
2797
+ logged_time=5.452508362126537,
2798
+ time=5.452508362126537,
2799
+ confidence_interval=0.0,
2800
+ delay=0.0,
2801
+ filter_id=0,
2802
+ display_id=0,
2803
+ button_state=0,
2804
+ button_id=0,
2805
+ pressed_buttons=0,
2806
+ x_position=43,
2807
+ y_position=38,
2808
+ scroll_dx=0,
2809
+ scroll_x=0,
2810
+ scroll_dy=0,
2811
+ scroll_y=0,
2812
+ modifiers=[],
2813
+ window_id=984208))
2814
+ events.append(
2815
+ OrderedDict(
2816
+ experiment_id=0,
2817
+ session_id=0,
2818
+ device_id=0,
2819
+ event_id=111,
2820
+ type=36,
2821
+ device_time=139961.008,
2822
+ logged_time=5.4604792099271435,
2823
+ time=5.4604792099271435,
2824
+ confidence_interval=0.0,
2825
+ delay=0.0,
2826
+ filter_id=0,
2827
+ display_id=0,
2828
+ button_state=0,
2829
+ button_id=0,
2830
+ pressed_buttons=0,
2831
+ x_position=49,
2832
+ y_position=42,
2833
+ scroll_dx=0,
2834
+ scroll_x=0,
2835
+ scroll_dy=0,
2836
+ scroll_y=0,
2837
+ modifiers=[],
2838
+ window_id=984208))
2839
+ events.append(
2840
+ OrderedDict(
2841
+ experiment_id=0,
2842
+ session_id=0,
2843
+ device_id=0,
2844
+ event_id=112,
2845
+ type=36,
2846
+ device_time=139961.023,
2847
+ logged_time=5.468485676916316,
2848
+ time=5.468485676916316,
2849
+ confidence_interval=0.0,
2850
+ delay=0.0,
2851
+ filter_id=0,
2852
+ display_id=0,
2853
+ button_state=0,
2854
+ button_id=0,
2855
+ pressed_buttons=0,
2856
+ x_position=53,
2857
+ y_position=46,
2858
+ scroll_dx=0,
2859
+ scroll_x=0,
2860
+ scroll_dy=0,
2861
+ scroll_y=0,
2862
+ modifiers=[],
2863
+ window_id=984208))
2864
+ events.append(
2865
+ OrderedDict(
2866
+ experiment_id=0,
2867
+ session_id=0,
2868
+ device_id=0,
2869
+ event_id=113,
2870
+ type=36,
2871
+ device_time=139961.023,
2872
+ logged_time=5.476476145471679,
2873
+ time=5.476476145471679,
2874
+ confidence_interval=0.0,
2875
+ delay=0.0,
2876
+ filter_id=0,
2877
+ display_id=0,
2878
+ button_state=0,
2879
+ button_id=0,
2880
+ pressed_buttons=0,
2881
+ x_position=53,
2882
+ y_position=49,
2883
+ scroll_dx=0,
2884
+ scroll_x=0,
2885
+ scroll_dy=0,
2886
+ scroll_y=0,
2887
+ modifiers=[],
2888
+ window_id=984208))
2889
+ events.append(
2890
+ OrderedDict(
2891
+ experiment_id=0,
2892
+ session_id=0,
2893
+ device_id=0,
2894
+ event_id=114,
2895
+ type=36,
2896
+ device_time=139961.039,
2897
+ logged_time=5.484498309058836,
2898
+ time=5.484498309058836,
2899
+ confidence_interval=0.0,
2900
+ delay=0.0,
2901
+ filter_id=0,
2902
+ display_id=0,
2903
+ button_state=0,
2904
+ button_id=0,
2905
+ pressed_buttons=0,
2906
+ x_position=52,
2907
+ y_position=54,
2908
+ scroll_dx=0,
2909
+ scroll_x=0,
2910
+ scroll_dy=0,
2911
+ scroll_y=0,
2912
+ modifiers=[],
2913
+ window_id=984208))
2914
+ events.append(
2915
+ OrderedDict(
2916
+ experiment_id=0,
2917
+ session_id=0,
2918
+ device_id=0,
2919
+ event_id=115,
2920
+ type=36,
2921
+ device_time=139961.039,
2922
+ logged_time=5.492511718766764,
2923
+ time=5.492511718766764,
2924
+ confidence_interval=0.0,
2925
+ delay=0.0,
2926
+ filter_id=0,
2927
+ display_id=0,
2928
+ button_state=0,
2929
+ button_id=0,
2930
+ pressed_buttons=0,
2931
+ x_position=50,
2932
+ y_position=60,
2933
+ scroll_dx=0,
2934
+ scroll_x=0,
2935
+ scroll_dy=0,
2936
+ scroll_y=0,
2937
+ modifiers=[],
2938
+ window_id=984208))
2939
+ events.append(
2940
+ OrderedDict(
2941
+ experiment_id=0,
2942
+ session_id=0,
2943
+ device_id=0,
2944
+ event_id=116,
2945
+ type=36,
2946
+ device_time=139961.055,
2947
+ logged_time=5.500507318880409,
2948
+ time=5.500507318880409,
2949
+ confidence_interval=0.0,
2950
+ delay=0.0,
2951
+ filter_id=0,
2952
+ display_id=0,
2953
+ button_state=0,
2954
+ button_id=0,
2955
+ pressed_buttons=0,
2956
+ x_position=44,
2957
+ y_position=69,
2958
+ scroll_dx=0,
2959
+ scroll_x=0,
2960
+ scroll_dy=0,
2961
+ scroll_y=0,
2962
+ modifiers=[],
2963
+ window_id=984208))
2964
+ events.append(
2965
+ OrderedDict(
2966
+ experiment_id=0,
2967
+ session_id=0,
2968
+ device_id=0,
2969
+ event_id=117,
2970
+ type=36,
2971
+ device_time=139961.055,
2972
+ logged_time=5.508503522723913,
2973
+ time=5.508503522723913,
2974
+ confidence_interval=0.0,
2975
+ delay=0.0,
2976
+ filter_id=0,
2977
+ display_id=0,
2978
+ button_state=0,
2979
+ button_id=0,
2980
+ pressed_buttons=0,
2981
+ x_position=40,
2982
+ y_position=73,
2983
+ scroll_dx=0,
2984
+ scroll_x=0,
2985
+ scroll_dy=0,
2986
+ scroll_y=0,
2987
+ modifiers=[],
2988
+ window_id=984208))
2989
+ events.append(
2990
+ OrderedDict(
2991
+ experiment_id=0,
2992
+ session_id=0,
2993
+ device_id=0,
2994
+ event_id=118,
2995
+ type=36,
2996
+ device_time=139961.07,
2997
+ logged_time=5.516478294681292,
2998
+ time=5.516478294681292,
2999
+ confidence_interval=0.0,
3000
+ delay=0.0,
3001
+ filter_id=0,
3002
+ display_id=0,
3003
+ button_state=0,
3004
+ button_id=0,
3005
+ pressed_buttons=0,
3006
+ x_position=36,
3007
+ y_position=79,
3008
+ scroll_dx=0,
3009
+ scroll_x=0,
3010
+ scroll_dy=0,
3011
+ scroll_y=0,
3012
+ modifiers=[],
3013
+ window_id=984208))
3014
+ events.append(
3015
+ OrderedDict(
3016
+ experiment_id=0,
3017
+ session_id=0,
3018
+ device_id=0,
3019
+ event_id=119,
3020
+ type=36,
3021
+ device_time=139961.07,
3022
+ logged_time=5.524498647137079,
3023
+ time=5.524498647137079,
3024
+ confidence_interval=0.0,
3025
+ delay=0.0,
3026
+ filter_id=0,
3027
+ display_id=0,
3028
+ button_state=0,
3029
+ button_id=0,
3030
+ pressed_buttons=0,
3031
+ x_position=33,
3032
+ y_position=81,
3033
+ scroll_dx=0,
3034
+ scroll_x=0,
3035
+ scroll_dy=0,
3036
+ scroll_y=0,
3037
+ modifiers=[],
3038
+ window_id=984208))
3039
+ events.append(
3040
+ OrderedDict(
3041
+ experiment_id=0,
3042
+ session_id=0,
3043
+ device_id=0,
3044
+ event_id=120,
3045
+ type=36,
3046
+ device_time=139961.086,
3047
+ logged_time=5.532514773571165,
3048
+ time=5.532514773571165,
3049
+ confidence_interval=0.0,
3050
+ delay=0.0,
3051
+ filter_id=0,
3052
+ display_id=0,
3053
+ button_state=0,
3054
+ button_id=0,
3055
+ pressed_buttons=0,
3056
+ x_position=29,
3057
+ y_position=82,
3058
+ scroll_dx=0,
3059
+ scroll_x=0,
3060
+ scroll_dy=0,
3061
+ scroll_y=0,
3062
+ modifiers=[],
3063
+ window_id=984208))
3064
+ events.append(
3065
+ OrderedDict(
3066
+ experiment_id=0,
3067
+ session_id=0,
3068
+ device_id=0,
3069
+ event_id=121,
3070
+ type=36,
3071
+ device_time=139961.086,
3072
+ logged_time=5.5405037328309845,
3073
+ time=5.5405037328309845,
3074
+ confidence_interval=0.0,
3075
+ delay=0.0,
3076
+ filter_id=0,
3077
+ display_id=0,
3078
+ button_state=0,
3079
+ button_id=0,
3080
+ pressed_buttons=0,
3081
+ x_position=24,
3082
+ y_position=82,
3083
+ scroll_dx=0,
3084
+ scroll_x=0,
3085
+ scroll_dy=0,
3086
+ scroll_y=0,
3087
+ modifiers=[],
3088
+ window_id=984208))
3089
+ events.append(
3090
+ OrderedDict(
3091
+ experiment_id=0,
3092
+ session_id=0,
3093
+ device_id=0,
3094
+ event_id=122,
3095
+ type=36,
3096
+ device_time=139961.101,
3097
+ logged_time=5.548520764830755,
3098
+ time=5.548520764830755,
3099
+ confidence_interval=0.0,
3100
+ delay=0.0,
3101
+ filter_id=0,
3102
+ display_id=0,
3103
+ button_state=0,
3104
+ button_id=0,
3105
+ pressed_buttons=0,
3106
+ x_position=18,
3107
+ y_position=81,
3108
+ scroll_dx=0,
3109
+ scroll_x=0,
3110
+ scroll_dy=0,
3111
+ scroll_y=0,
3112
+ modifiers=[],
3113
+ window_id=984208))
3114
+ events.append(
3115
+ OrderedDict(
3116
+ experiment_id=0,
3117
+ session_id=0,
3118
+ device_id=0,
3119
+ event_id=123,
3120
+ type=36,
3121
+ device_time=139961.117,
3122
+ logged_time=5.556483160646167,
3123
+ time=5.556483160646167,
3124
+ confidence_interval=0.0,
3125
+ delay=0.0,
3126
+ filter_id=0,
3127
+ display_id=0,
3128
+ button_state=0,
3129
+ button_id=0,
3130
+ pressed_buttons=0,
3131
+ x_position=9,
3132
+ y_position=79,
3133
+ scroll_dx=0,
3134
+ scroll_x=0,
3135
+ scroll_dy=0,
3136
+ scroll_y=0,
3137
+ modifiers=[],
3138
+ window_id=984208))
3139
+ events.append(
3140
+ OrderedDict(
3141
+ experiment_id=0,
3142
+ session_id=0,
3143
+ device_id=0,
3144
+ event_id=124,
3145
+ type=36,
3146
+ device_time=139961.117,
3147
+ logged_time=5.564633311791113,
3148
+ time=5.564633311791113,
3149
+ confidence_interval=0.0,
3150
+ delay=0.0,
3151
+ filter_id=0,
3152
+ display_id=0,
3153
+ button_state=0,
3154
+ button_id=0,
3155
+ pressed_buttons=0,
3156
+ x_position=-6,
3157
+ y_position=72,
3158
+ scroll_dx=0,
3159
+ scroll_x=0,
3160
+ scroll_dy=0,
3161
+ scroll_y=0,
3162
+ modifiers=[],
3163
+ window_id=984208))
3164
+ events.append(
3165
+ OrderedDict(
3166
+ experiment_id=0,
3167
+ session_id=0,
3168
+ device_id=0,
3169
+ event_id=125,
3170
+ type=36,
3171
+ device_time=139961.133,
3172
+ logged_time=5.572515413514338,
3173
+ time=5.572515413514338,
3174
+ confidence_interval=0.0,
3175
+ delay=0.0,
3176
+ filter_id=0,
3177
+ display_id=0,
3178
+ button_state=0,
3179
+ button_id=0,
3180
+ pressed_buttons=0,
3181
+ x_position=-15,
3182
+ y_position=63,
3183
+ scroll_dx=0,
3184
+ scroll_x=0,
3185
+ scroll_dy=0,
3186
+ scroll_y=0,
3187
+ modifiers=[],
3188
+ window_id=984208))
3189
+ events.append(
3190
+ OrderedDict(
3191
+ experiment_id=0,
3192
+ session_id=0,
3193
+ device_id=0,
3194
+ event_id=126,
3195
+ type=36,
3196
+ device_time=139961.133,
3197
+ logged_time=5.580504372774158,
3198
+ time=5.580504372774158,
3199
+ confidence_interval=0.0,
3200
+ delay=0.0,
3201
+ filter_id=0,
3202
+ display_id=0,
3203
+ button_state=0,
3204
+ button_id=0,
3205
+ pressed_buttons=0,
3206
+ x_position=-24,
3207
+ y_position=54,
3208
+ scroll_dx=0,
3209
+ scroll_x=0,
3210
+ scroll_dy=0,
3211
+ scroll_y=0,
3212
+ modifiers=[],
3213
+ window_id=984208))
3214
+ events.append(
3215
+ OrderedDict(
3216
+ experiment_id=0,
3217
+ session_id=0,
3218
+ device_id=0,
3219
+ event_id=127,
3220
+ type=36,
3221
+ device_time=139961.148,
3222
+ logged_time=5.588501180318417,
3223
+ time=5.588501180318417,
3224
+ confidence_interval=0.0,
3225
+ delay=0.0,
3226
+ filter_id=0,
3227
+ display_id=0,
3228
+ button_state=0,
3229
+ button_id=0,
3230
+ pressed_buttons=0,
3231
+ x_position=-28,
3232
+ y_position=42,
3233
+ scroll_dx=0,
3234
+ scroll_x=0,
3235
+ scroll_dy=0,
3236
+ scroll_y=0,
3237
+ modifiers=[],
3238
+ window_id=984208))
3239
+ events.append(
3240
+ OrderedDict(
3241
+ experiment_id=0,
3242
+ session_id=0,
3243
+ device_id=0,
3244
+ event_id=128,
3245
+ type=36,
3246
+ device_time=139961.148,
3247
+ logged_time=5.596497686026851,
3248
+ time=5.596497686026851,
3249
+ confidence_interval=0.0,
3250
+ delay=0.0,
3251
+ filter_id=0,
3252
+ display_id=0,
3253
+ button_state=0,
3254
+ button_id=0,
3255
+ pressed_buttons=0,
3256
+ x_position=-33,
3257
+ y_position=31,
3258
+ scroll_dx=0,
3259
+ scroll_x=0,
3260
+ scroll_dy=0,
3261
+ scroll_y=0,
3262
+ modifiers=[],
3263
+ window_id=984208))
3264
+ events.append(
3265
+ OrderedDict(
3266
+ experiment_id=0,
3267
+ session_id=0,
3268
+ device_id=0,
3269
+ event_id=129,
3270
+ type=36,
3271
+ device_time=139961.164,
3272
+ logged_time=5.604483324859757,
3273
+ time=5.604483324859757,
3274
+ confidence_interval=0.0,
3275
+ delay=0.0,
3276
+ filter_id=0,
3277
+ display_id=0,
3278
+ button_state=0,
3279
+ button_id=0,
3280
+ pressed_buttons=0,
3281
+ x_position=-33,
3282
+ y_position=23,
3283
+ scroll_dx=0,
3284
+ scroll_x=0,
3285
+ scroll_dy=0,
3286
+ scroll_y=0,
3287
+ modifiers=[],
3288
+ window_id=984208))
3289
+ events.append(
3290
+ OrderedDict(
3291
+ experiment_id=0,
3292
+ session_id=0,
3293
+ device_id=0,
3294
+ event_id=130,
3295
+ type=36,
3296
+ device_time=139961.164,
3297
+ logged_time=5.612715279363329,
3298
+ time=5.612715279363329,
3299
+ confidence_interval=0.0,
3300
+ delay=0.0,
3301
+ filter_id=0,
3302
+ display_id=0,
3303
+ button_state=0,
3304
+ button_id=0,
3305
+ pressed_buttons=0,
3306
+ x_position=-33,
3307
+ y_position=17,
3308
+ scroll_dx=0,
3309
+ scroll_x=0,
3310
+ scroll_dy=0,
3311
+ scroll_y=0,
3312
+ modifiers=[],
3313
+ window_id=984208))
3314
+ events.append(
3315
+ OrderedDict(
3316
+ experiment_id=0,
3317
+ session_id=0,
3318
+ device_id=0,
3319
+ event_id=131,
3320
+ type=36,
3321
+ device_time=139961.179,
3322
+ logged_time=5.620532481727423,
3323
+ time=5.620532481727423,
3324
+ confidence_interval=0.0,
3325
+ delay=0.0,
3326
+ filter_id=0,
3327
+ display_id=0,
3328
+ button_state=0,
3329
+ button_id=0,
3330
+ pressed_buttons=0,
3331
+ x_position=-32,
3332
+ y_position=12,
3333
+ scroll_dx=0,
3334
+ scroll_x=0,
3335
+ scroll_dy=0,
3336
+ scroll_y=0,
3337
+ modifiers=[],
3338
+ window_id=984208))
3339
+ events.append(
3340
+ OrderedDict(
3341
+ experiment_id=0,
3342
+ session_id=0,
3343
+ device_id=0,
3344
+ event_id=132,
3345
+ type=36,
3346
+ device_time=139961.179,
3347
+ logged_time=5.6285226484178565,
3348
+ time=5.6285226484178565,
3349
+ confidence_interval=0.0,
3350
+ delay=0.0,
3351
+ filter_id=0,
3352
+ display_id=0,
3353
+ button_state=0,
3354
+ button_id=0,
3355
+ pressed_buttons=0,
3356
+ x_position=-30,
3357
+ y_position=6,
3358
+ scroll_dx=0,
3359
+ scroll_x=0,
3360
+ scroll_dy=0,
3361
+ scroll_y=0,
3362
+ modifiers=[],
3363
+ window_id=984208))
3364
+ events.append(
3365
+ OrderedDict(
3366
+ experiment_id=0,
3367
+ session_id=0,
3368
+ device_id=0,
3369
+ event_id=133,
3370
+ type=36,
3371
+ device_time=139961.195,
3372
+ logged_time=5.636515531834448,
3373
+ time=5.636515531834448,
3374
+ confidence_interval=0.0,
3375
+ delay=0.0,
3376
+ filter_id=0,
3377
+ display_id=0,
3378
+ button_state=0,
3379
+ button_id=0,
3380
+ pressed_buttons=0,
3381
+ x_position=-28,
3382
+ y_position=2,
3383
+ scroll_dx=0,
3384
+ scroll_x=0,
3385
+ scroll_dy=0,
3386
+ scroll_y=0,
3387
+ modifiers=[],
3388
+ window_id=984208))
3389
+ events.append(
3390
+ OrderedDict(
3391
+ experiment_id=0,
3392
+ session_id=0,
3393
+ device_id=0,
3394
+ event_id=134,
3395
+ type=36,
3396
+ device_time=139961.195,
3397
+ logged_time=5.644488794496283,
3398
+ time=5.644488794496283,
3399
+ confidence_interval=0.0,
3400
+ delay=0.0,
3401
+ filter_id=0,
3402
+ display_id=0,
3403
+ button_state=0,
3404
+ button_id=0,
3405
+ pressed_buttons=0,
3406
+ x_position=-24,
3407
+ y_position=-4,
3408
+ scroll_dx=0,
3409
+ scroll_x=0,
3410
+ scroll_dy=0,
3411
+ scroll_y=0,
3412
+ modifiers=[],
3413
+ window_id=984208))
3414
+ events.append(
3415
+ OrderedDict(
3416
+ experiment_id=0,
3417
+ session_id=0,
3418
+ device_id=0,
3419
+ event_id=135,
3420
+ type=36,
3421
+ device_time=139961.211,
3422
+ logged_time=5.652492544788402,
3423
+ time=5.652492544788402,
3424
+ confidence_interval=0.0,
3425
+ delay=0.0,
3426
+ filter_id=0,
3427
+ display_id=0,
3428
+ button_state=0,
3429
+ button_id=0,
3430
+ pressed_buttons=0,
3431
+ x_position=-15,
3432
+ y_position=-8,
3433
+ scroll_dx=0,
3434
+ scroll_x=0,
3435
+ scroll_dy=0,
3436
+ scroll_y=0,
3437
+ modifiers=[],
3438
+ window_id=984208))
3439
+ events.append(
3440
+ OrderedDict(
3441
+ experiment_id=0,
3442
+ session_id=0,
3443
+ device_id=0,
3444
+ event_id=136,
3445
+ type=36,
3446
+ device_time=139961.211,
3447
+ logged_time=5.660516519506928,
3448
+ time=5.660516519506928,
3449
+ confidence_interval=0.0,
3450
+ delay=0.0,
3451
+ filter_id=0,
3452
+ display_id=0,
3453
+ button_state=0,
3454
+ button_id=0,
3455
+ pressed_buttons=0,
3456
+ x_position=-7,
3457
+ y_position=-13,
3458
+ scroll_dx=0,
3459
+ scroll_x=0,
3460
+ scroll_dy=0,
3461
+ scroll_y=0,
3462
+ modifiers=[],
3463
+ window_id=984208))
3464
+ events.append(
3465
+ OrderedDict(
3466
+ experiment_id=0,
3467
+ session_id=0,
3468
+ device_id=0,
3469
+ event_id=137,
3470
+ type=36,
3471
+ device_time=139961.226,
3472
+ logged_time=5.668525703222258,
3473
+ time=5.668525703222258,
3474
+ confidence_interval=0.0,
3475
+ delay=0.0,
3476
+ filter_id=0,
3477
+ display_id=0,
3478
+ button_state=0,
3479
+ button_id=0,
3480
+ pressed_buttons=0,
3481
+ x_position=7,
3482
+ y_position=-13,
3483
+ scroll_dx=0,
3484
+ scroll_x=0,
3485
+ scroll_dy=0,
3486
+ scroll_y=0,
3487
+ modifiers=[],
3488
+ window_id=984208))
3489
+ events.append(
3490
+ OrderedDict(
3491
+ experiment_id=0,
3492
+ session_id=0,
3493
+ device_id=0,
3494
+ event_id=138,
3495
+ type=36,
3496
+ device_time=139961.226,
3497
+ logged_time=5.676524020062061,
3498
+ time=5.676524020062061,
3499
+ confidence_interval=0.0,
3500
+ delay=0.0,
3501
+ filter_id=0,
3502
+ display_id=0,
3503
+ button_state=0,
3504
+ button_id=0,
3505
+ pressed_buttons=0,
3506
+ x_position=18,
3507
+ y_position=-11,
3508
+ scroll_dx=0,
3509
+ scroll_x=0,
3510
+ scroll_dy=0,
3511
+ scroll_y=0,
3512
+ modifiers=[],
3513
+ window_id=984208))
3514
+ #events = [e.values() for e in events]
3515
+
3516
+ # Using event class and fields
3517
+ #mx_filter = MedianFilter(5, EventConstants.MOUSE_MOVE, 'x_position', knot_pos='center', inplace = True)
3518
+ #my_filter = MedianFilter(5, EventConstants.MOUSE_MOVE, 'y_position', knot_pos='center', inplace = True)
3519
+ # mx_filter = WeightedAverageFilter([17.0,33.0,50.0,33.0,17.0], EventConstants.MOUSE_MOVE, 'x_position', knot_pos='center', inplace = True)
3520
+ # my_filter = WeightedAverageFilter([17.0,33.0,50.0,33.0,17.0], EventConstants.MOUSE_MOVE, 'y_position', knot_pos='center', inplace = True)
3521
+ #mx_filter = StampFilter(EventConstants.MOUSE_MOVE, 'x_position', level = 2, inplace = True)
3522
+ #my_filter = StampFilter(EventConstants.MOUSE_MOVE, 'y_position', level = 2, inplace = True)
3523
+
3524
+ # print "FIRST SOURCE EVENT ID:",events[0]['event_id']
3525
+ # for e in events:
3526
+ # r = mx_filter.add(e)
3527
+ # if r:
3528
+ # event, filtered_x=r
3529
+
3530
+ # r = my_filter.add(e)
3531
+ # if r:
3532
+ # event, filtered_y=r
3533
+ # if r:
3534
+ # print "filtered event: ",event['event_id'],filtered_x, filtered_y
3535
+
3536
+ # Using values only
3537
+ mx_filter = WeightedAverageFilter(
3538
+ weights=[
3539
+ 17.0,
3540
+ 33.0,
3541
+ 50.0,
3542
+ 33.0,
3543
+ 17.0],
3544
+ event_type=None,
3545
+ event_field_name=None,
3546
+ knot_pos='center',
3547
+ inplace=True)
3548
+ my_filter = WeightedAverageFilter(
3549
+ weights=[
3550
+ 17.0,
3551
+ 33.0,
3552
+ 50.0,
3553
+ 33.0,
3554
+ 17.0],
3555
+ event_type=None,
3556
+ event_field_name=None,
3557
+ knot_pos='center',
3558
+ inplace=True)
3559
+
3560
+ print('FIRST SOURCE EVENT ID:', events[0]['event_id'])
3561
+ for e in events:
3562
+ r = mx_filter.add(e['x_position'])
3563
+ filtered_x = None
3564
+ filtered_y = None
3565
+ if r:
3566
+ _junk, filtered_x = r
3567
+
3568
+ r = my_filter.add(e['y_position'])
3569
+ if r:
3570
+ _junk, filtered_y = r
3571
+
3572
+ print('filtered values: ', filtered_x, filtered_y)