===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
##############################################
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-56-
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:57:  WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:58:  WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-59-  WriteRegStr HKCR "${FILECLASS}\shell" "" "open"
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:60:  WriteRegStr HKCR "${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:61:  WriteRegStr HKCR "${FILECLASS}\shell\open\command" "" `${COMMAND}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-62-!macroend
##############################################
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-72-
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:73:  WriteRegStr HKCR "${FILECLASS}" "" `${DESCRIPTION}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:74:  WriteRegStr HKCR "${FILECLASS}\DefaultIcon" "" `${ICON}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:75:  WriteRegStr HKCR "${FILECLASS}\shell" "" `${DEFAULTVERB}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:76:  WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:77:  WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-78-!macroend
##############################################
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-80-!macro APP_ASSOCIATE_ADDVERB FILECLASS VERB COMMANDTEXT COMMAND
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:81:  WriteRegStr HKCR "${FILECLASS}\shell\${VERB}" "" `${COMMANDTEXT}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:82:  WriteRegStr HKCR "${FILECLASS}\shell\${VERB}\command" "" `${COMMAND}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-83-!macroend
##############################################
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-85-!macro APP_ASSOCIATE_REMOVEVERB FILECLASS VERB
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:86:  DeleteRegKey HKCR `${FILECLASS}\shell\${VERB}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-87-!macroend
##############################################
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-91-  ; Backup the previously associated file class
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:92:  ReadRegStr $R0 HKCR ".${EXT}" `${FILECLASS}_backup`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-93-  WriteRegStr HKCR ".${EXT}" "" "$R0"
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-94-
psychopy-2020.2.1+dfsg/building/fileassoc.nsh:95:  DeleteRegKey HKCR `${FILECLASS}`
psychopy-2020.2.1+dfsg/building/fileassoc.nsh-96-!macroend
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/blocksCounterbalance.rst-26-
psychopy-2020.2.1+dfsg/docs/source/builder/blocksCounterbalance.rst:27:**So, how to switch between these files?** That's the trick and that's what the other file is used for. In the `chooseBlocks.xlsx` file you set up a variable called something like `condsFile` and that has values of `facesBlock.xlsx` and `housesBlock.xlsx`. In the outer (blocks) loop you set up the conditions file to be `chooseBlocks.xlsx` which creates a variable `condsFile`. Then, in the inner (trials) loop you set the conditions file not to be any file directly but simply `$condsFile`. Now, when PsychoPy starts this loop it will find the current value of `condsFile` and insert the appropriate thing, which will be the name of an conditions file and we're away!
psychopy-2020.2.1+dfsg/docs/source/builder/blocksCounterbalance.rst-28-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components.rst-20-
psychopy-2020.2.1+dfsg/docs/source/builder/components.rst:21:To indicate to PsychoPy that the value represents a variable or python code, rather than literal text, it should be preceded by a `$`. For example, inserting `intensity` into the text field of the Text Component will cause that word literally to be presented, whereas `$intensity` will cause python to search for the variable called intensity in the script.
psychopy-2020.2.1+dfsg/docs/source/builder/components.rst-22-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-43-====================================================
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst:44:There are many ways to do this, but you could add the following to the `Begin Routine` section of a `Code Component` at the top of your :ref:`Routine <routines>`. Then set your stimulus position to be `$targetPos` and set the correct answer field of a :ref:`keyboard` to be `$corrAns` (set both of these to update on every repeat of the Routine).::
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-45-    
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-54-====================================================
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst:55:As with the above there are many different ways to create noise, but a simple method would be to add the following to the `Begin Routine` section of a `Code Component` at the top of your :ref:`Routine <routines>`. Then set the image as `$noiseTexture`.::
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-56-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-70-
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst:71:Next, add a `Text Component` to the routine, and set the text to `$msg`. Be sure that the text field's updating is set to "Set every repeat" (and not "Constant").
psychopy-2020.2.1+dfsg/docs/source/builder/components/code.rst-72-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/joyButtons.rst-31-Store correct :
psychopy-2020.2.1+dfsg/docs/source/builder/components/joyButtons.rst:32:    Check this box if you wish to store whether or not this button press was correct. If so then fill in the next box that defines what would constitute a correct answer e.g. 1 or `$corrAns` (note this should not be in inverted commas). This is given as Python code that should return True (1) or False (0). Often this correct answer will be defined in the settings of the :ref:`Loops`.
psychopy-2020.2.1+dfsg/docs/source/builder/components/joyButtons.rst-33-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/joystick.rst-29-    Call your `joystickComponent`_ 'joystick', set it to save its state at the end of the trial and set the button press to
psychopy-2020.2.1+dfsg/docs/source/builder/components/joystick.rst:30:    end the Routine. Then for the size setting of your Patch stimulus insert `$joystick.getX()` to use the
psychopy-2020.2.1+dfsg/docs/source/builder/components/joystick.rst:31:    x position of the joystick to control the size or `$joystick.getY()` to use the y position.
psychopy-2020.2.1+dfsg/docs/source/builder/components/joystick.rst-32-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/keyboard.rst-31-Store correct
psychopy-2020.2.1+dfsg/docs/source/builder/components/keyboard.rst:32:    Check this box if you wish to store whether or not this key press was correct. If so then fill in the next box that defines what would constitute a correct answer e.g. left, 1 or `$corrAns` (note this should not be in inverted commas). This is given as Python code that should return True (1) or False (0). Often this correct answer will be defined in the settings of the :ref:`Loops`.
psychopy-2020.2.1+dfsg/docs/source/builder/components/keyboard.rst-33-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/mouse.rst-18-    Call your `mouse`_ 'mouse', set it to save its state at the end of the trial and set the button press to
psychopy-2020.2.1+dfsg/docs/source/builder/components/mouse.rst:19:    end the Routine. Then for the size setting of your Patch stimulus insert `$mouse.getPos()[0]` to use the 
psychopy-2020.2.1+dfsg/docs/source/builder/components/mouse.rst:20:    x position of the mouse to control the size or `$mouse.getPos()[1]` to use the y position.
psychopy-2020.2.1+dfsg/docs/source/builder/components/mouse.rst-21-    
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/components/parallelout.rst-7-
psychopy-2020.2.1+dfsg/docs/source/builder/components/parallelout.rst:8:An example usage would be in EEG experiments to set the port to 0 when no stimuli are present and then set it to an identifier value for each stimulus synchronised to the start/stop of that stimulus. In that case you might set the `Start data` to be `$ID` (with ID being a column in your conditions file) and set the `Stop Data` to be 0.
psychopy-2020.2.1+dfsg/docs/source/builder/components/parallelout.rst-9-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-20-
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:21:It is usually best to use trial information that is contained in an external file (.xlsx or .csv). When inserting a `loop` into the `flow` you can browse to find the file you wish to use for this. An example of this kind of file can be found in the Stroop demo (trialTypes.xlsx). The column names are turned into variables (in this case text, letterColor, corrAns and congruent), these can be used to define parameters in the loop by putting a $ sign before them e.g. `$text`.
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-22-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-61-    - `5:10` selects the 6th to 9th rows
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:62:    - `$myIndices` uses a variable that you've already created
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-63-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-92-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:93:The parameters from your loops are accessible to any component enclosed within that loop. The simplest (and default) way to address these variables is simply to call them by the name of the parameter, prepended with `$` to indicate that this is the name of a variable. For example, if your Flow contains a loop with the above table as its input trial types file then you could give one of your stimuli an orientation `$ori` which would depend on the current trial type being presented. Example scenarios:
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-94-
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:95:#. You want to loop randomly over some conditions in a loop called `trials`. Your conditions are stored in a csv file with headings 'ori', 'text', 'corrAns' which you provide to this loop. You can then access these values from any component using `$ori`, `$text`, and `$corrAns`
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:96:#. You create a random loop called `blocks` and give it an Excel file with a single column called `movieName` listing filenames to be played. On each repeat you can access this with `$movieName`
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:97:#. You create a staircase loop called `stairs`. On each trial you can access the current value in the staircase with `$thisStair`
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-98-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-103-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst:104:The downside of the above approach is that the names of trial parameters must be different between every loop, as well as not matching any of the predefined names in python, numpy and PsychoPy. For example, the stimulus called `movie` cannot use a parameter also called `movie` (so you need to call it `movieName`). An alternative method can be used without these restrictions. If you set the Builder preference `unclutteredNamespace` to True you can then access the variables by referring to parameter as an attribute of the singular name of the loop prepended with `this`. For example, if you have a loop called `trials` which has the above file attached to it, then you can access the stimulus ori with `$thisTrial.ori`. If you have a loop called `blocks` you could use `$thisBlock.corrAns`.
psychopy-2020.2.1+dfsg/docs/source/builder/flow.rst-105-
##############################################
psychopy-2020.2.1+dfsg/docs/source/builder/startStop.rst-23-*   Use `time(s)` or `frameN` and simply enter numeric values into the start and duration boxes.
psychopy-2020.2.1+dfsg/docs/source/builder/startStop.rst:24:*   Use `time(s)` or `frameN` and enter a numeric value into the start time and set the duration to a variable name by preceeding it with a $ as described :ref:`here <accessingParams>`. Then set `expected time` to see an approximation in your :ref:`routine <routines>`
psychopy-2020.2.1+dfsg/docs/source/builder/startStop.rst:25:*   Use condition to cause the stimulus to start immediately after a movie component called myMovie, by entering `$myMovie.status==FINISHED` into the `start` time.