<?xml version="1.0" ?>
<PsychoPy2experiment encoding="utf-8" version="2023.2.1">
  <Settings>
    <Param val="use prefs" valType="str" updates="None" name="Audio latency priority"/>
    <Param val="use prefs" valType="str" updates="None" name="Audio lib"/>
    <Param val="" valType="str" updates="None" name="Completed URL"/>
    <Param val="auto" valType="str" updates="None" name="Data file delimiter"/>
    <Param val="u'data/%s_%s_%s' % (expInfo['participant'], expName, expInfo['date'])" valType="code" updates="None" name="Data filename"/>
    <Param val="True" valType="bool" updates="None" name="Enable Escape"/>
    <Param val="" valType="str" updates="None" name="End Message"/>
    <Param val="{'participant': '', 'session': '001'}" valType="code" updates="None" name="Experiment info"/>
    <Param val="True" valType="bool" updates="None" name="Force stereo"/>
    <Param val="True" valType="bool" updates="None" name="Full-screen window"/>
    <Param val="" valType="str" updates="None" name="HTML path"/>
    <Param val="" valType="str" updates="None" name="Incomplete URL"/>
    <Param val="testMonitor" valType="str" updates="None" name="Monitor"/>
    <Param val="[]" valType="list" updates="None" name="Resources"/>
    <Param val="False" valType="bool" updates="None" name="Save csv file"/>
    <Param val="False" valType="bool" updates="None" name="Save excel file"/>
    <Param val="False" valType="bool" updates="None" name="Save hdf5 file"/>
    <Param val="True" valType="bool" updates="None" name="Save log file"/>
    <Param val="True" valType="bool" updates="None" name="Save psydat file"/>
    <Param val="True" valType="bool" updates="None" name="Save wide csv file"/>
    <Param val="1" valType="num" updates="None" name="Screen"/>
    <Param val="True" valType="bool" updates="None" name="Show info dlg"/>
    <Param val="False" valType="bool" updates="None" name="Show mouse"/>
    <Param val="height" valType="str" updates="None" name="Units"/>
    <Param val="" valType="str" updates="None" name="Use version"/>
    <Param val="[1920, 1080]" valType="list" updates="None" name="Window size (pixels)"/>
    <Param val="none" valType="str" updates="None" name="backgroundFit"/>
    <Param val="" valType="str" updates="None" name="backgroundImg"/>
    <Param val="avg" valType="str" updates="None" name="blendMode"/>
    <Param val="{'thisRow.t': 'priority.CRITICAL', 'expName': 'priority.LOW'}" valType="dict" updates="None" name="colPriority"/>
    <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
    <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
    <Param val="100.1.1.1" valType="str" updates="None" name="elAddress"/>
    <Param val="FILTER_LEVEL_OFF" valType="str" updates="None" name="elDataFiltering"/>
    <Param val="FILTER_LEVEL_2" valType="str" updates="None" name="elLiveFiltering"/>
    <Param val="EYELINK 1000 DESKTOP" valType="str" updates="None" name="elModel"/>
    <Param val="ELLIPSE_FIT" valType="str" updates="None" name="elPupilAlgorithm"/>
    <Param val="PUPIL_AREA" valType="str" updates="None" name="elPupilMeasure"/>
    <Param val="1000" valType="num" updates="None" name="elSampleRate"/>
    <Param val="False" valType="bool" updates="None" name="elSimMode"/>
    <Param val="RIGHT_EYE" valType="str" updates="None" name="elTrackEyes"/>
    <Param val="PUPIL_CR_TRACKING" valType="str" updates="None" name="elTrackingMode"/>
    <Param val="bart2" valType="str" updates="None" name="expName"/>
    <Param val="on Sync" valType="str" updates="None" name="exportHTML"/>
    <Param val="None" valType="str" updates="None" name="eyetracker"/>
    <Param val="127.0.0.1" valType="str" updates="None" name="gpAddress"/>
    <Param val="4242" valType="num" updates="None" name="gpPort"/>
    <Param val="ioHub" valType="str" updates="None" name="keyboardBackend"/>
    <Param val="exp" valType="code" updates="None" name="logging level"/>
    <Param val="('MIDDLE_BUTTON',)" valType="list" updates="None" name="mgBlink"/>
    <Param val="CONTINUOUS" valType="str" updates="None" name="mgMove"/>
    <Param val="0.5" valType="num" updates="None" name="mgSaccade"/>
    <Param val="0.6" valType="num" updates="None" name="plConfidenceThreshold"/>
    <Param val="True" valType="bool" updates="None" name="plPupilCaptureRecordingEnabled"/>
    <Param val="" valType="str" updates="None" name="plPupilCaptureRecordingLocation"/>
    <Param val="127.0.0.1" valType="str" updates="None" name="plPupilRemoteAddress"/>
    <Param val="50020" valType="num" updates="None" name="plPupilRemotePort"/>
    <Param val="1000" valType="num" updates="None" name="plPupilRemoteTimeoutMs"/>
    <Param val="False" valType="bool" updates="None" name="plPupillometryOnly"/>
    <Param val="psychopy_iohub_surface" valType="str" updates="None" name="plSurfaceName"/>
    <Param val="time" valType="str" updates="None" name="sortColumns"/>
    <Param val="" valType="str" updates="None" name="tbLicenseFile"/>
    <Param val="" valType="str" updates="None" name="tbModel"/>
    <Param val="60" valType="num" updates="None" name="tbSampleRate"/>
    <Param val="" valType="str" updates="None" name="tbSerialNo"/>
    <Param val="pyglet" valType="str" updates="None" name="winBackend"/>
  </Settings>
  <Routines>
    <Routine name="instructions">
      <RoutineSettingsComponent name="instructions" plugin="None">
        <Param val="none" valType="str" updates="None" name="backgroundFit"/>
        <Param val="" valType="str" updates="None" name="backgroundImg"/>
        <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
        <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
        <Param val="" valType="str" updates="constant" name="desc"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="code" updates="None" name="durationEstim"/>
        <Param val="instructions" valType="code" updates="None" name="name"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="code" updates="constant" name="skipIf"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="code" updates="constant" name="stopVal"/>
        <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
      </RoutineSettingsComponent>
      <TextboxComponent name="instr" plugin="None">
        <Param val="center" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.03" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="instr" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="(1, 0.8)" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="This is a game where you have to optimise your earnings in a balloon pumping competition.&amp;#10;&amp;#10;You get prize money for each balloon you pump up, according to its size. But if you pump it too far it will pop and you'll get nothing for that balloon.&amp;#10;&amp;#10;Balloons differ in their maximum size - they can occasionally reach to almost the size of the screen but most will pop well before that.&amp;#10;&amp;#10;Press;&amp;#10;    SPACE to pump the balloon&amp;#10;    RETURN to bank the cash for this balloon and move onto the next&amp;#10;" valType="str" updates="constant" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
      <KeyboardComponent name="resp" plugin="None">
        <Param val="" valType="list" updates="constant" name="allowedKeys"/>
        <Param val="" valType="list" updates="constant" name="correctAns"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="True" valType="bool" updates="constant" name="discard previous"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="True" valType="bool" updates="constant" name="forceEndRoutine"/>
        <Param val="resp" valType="code" updates="None" name="name"/>
        <Param val="press" valType="str" updates="constant" name="registerOn"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="last key" valType="str" updates="constant" name="store"/>
        <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
        <Param val="True" valType="bool" updates="constant" name="syncScreenRefresh"/>
      </KeyboardComponent>
    </Routine>
    <Routine name="trial">
      <RoutineSettingsComponent name="trial" plugin="None">
        <Param val="none" valType="str" updates="None" name="backgroundFit"/>
        <Param val="" valType="str" updates="None" name="backgroundImg"/>
        <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
        <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
        <Param val="" valType="str" updates="constant" name="desc"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="code" updates="None" name="durationEstim"/>
        <Param val="trial" valType="code" updates="None" name="name"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="code" updates="constant" name="skipIf"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="code" updates="constant" name="stopVal"/>
        <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
      </RoutineSettingsComponent>
      <CodeComponent name="checkKeys" plugin="None">
        <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin Routine"/>
        <Param val="Auto-&gt;JS" valType="str" updates="None" name="Code Type"/>
        <Param val="if t &gt; 0.2:&amp;#10;    if bankButton.getKeys(['space']):&amp;#10;      nPumps=nPumps+1&amp;#10;      if nPumps&gt;maxPumps:&amp;#10;        popped=True&amp;#10;        continueRoutine=False&amp;#10;&amp;#10;if bankButton.keys == 'return':&amp;#10;    continueRoutine = False" valType="extendedCode" updates="constant" name="Each Frame"/>
        <Param val="if ((t &gt; 0.2)) {&amp;#10;    if (bankButton.getKeys([&quot;space&quot;])) {&amp;#10;        nPumps = (nPumps + 1);&amp;#10;        if ((nPumps &gt; maxPumps)) {&amp;#10;            popped = true;&amp;#10;            continueRoutine = false;&amp;#10;        }&amp;#10;    }&amp;#10;}&amp;#10;if ((bankButton.keys === &quot;return&quot;)) {&amp;#10;    continueRoutine = false;&amp;#10;}&amp;#10;" valType="extendedCode" updates="constant" name="Each JS Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Routine"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="checkKeys" valType="code" updates="None" name="name"/>
      </CodeComponent>
      <KeyboardComponent name="bankButton" plugin="None">
        <Param val="'return', 'space'" valType="list" updates="constant" name="allowedKeys"/>
        <Param val="" valType="list" updates="constant" name="correctAns"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="True" valType="bool" updates="constant" name="discard previous"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="forceEndRoutine"/>
        <Param val="bankButton" valType="code" updates="None" name="name"/>
        <Param val="press" valType="str" updates="constant" name="registerOn"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="last key" valType="str" updates="constant" name="store"/>
        <Param val="False" valType="bool" updates="constant" name="storeCorrect"/>
        <Param val="True" valType="bool" updates="constant" name="syncScreenRefresh"/>
      </KeyboardComponent>
      <CodeComponent name="updateEarnings" plugin="None">
        <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
        <Param val="bankedEarnings=0.0&amp;#10;lastBalloonEarnings=0.0&amp;#10;thisBalloonEarnings=0.0" valType="extendedCode" updates="constant" name="Begin Experiment"/>
        <Param val="bankedEarnings = 0.0;&amp;#10;lastBalloonEarnings = 0.0;&amp;#10;thisBalloonEarnings = 0.0;&amp;#10;" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
        <Param val="" valType="extendedCode" updates="constant" name="Begin Routine"/>
        <Param val="Auto-&gt;JS" valType="str" updates="None" name="Code Type"/>
        <Param val="thisBalloonEarnings=nPumps*0.05" valType="extendedCode" updates="constant" name="Each Frame"/>
        <Param val="thisBalloonEarnings = (nPumps * 0.05);&amp;#10;" valType="extendedCode" updates="constant" name="Each JS Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
        <Param val="if (popped) {&amp;#10;    thisBalloonEarnings = 0.0;&amp;#10;    lastBalloonEarnings = 0.0;&amp;#10;} else {&amp;#10;    lastBalloonEarnings = thisBalloonEarnings;&amp;#10;}&amp;#10;bankedEarnings = (bankedEarnings + lastBalloonEarnings);&amp;#10;" valType="extendedCode" updates="constant" name="End JS Routine"/>
        <Param val="#calculate cash 'earned'&amp;#10;if popped:&amp;#10;  thisBalloonEarnings=0.0&amp;#10;  lastBalloonEarnings=0.0&amp;#10;else:&amp;#10;    lastBalloonEarnings=thisBalloonEarnings&amp;#10;bankedEarnings = bankedEarnings+lastBalloonEarnings" valType="extendedCode" updates="constant" name="End Routine"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="updateEarnings" valType="code" updates="None" name="name"/>
      </CodeComponent>
      <ImageComponent name="balloonBody" plugin="None">
        <Param val="center-left" valType="str" updates="constant" name="anchor"/>
        <Param val="$[1,1,1]" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="redBalloon.png" valType="file" updates="constant" name="image"/>
        <Param val="linear" valType="str" updates="constant" name="interpolate"/>
        <Param val="None" valType="str" updates="constant" name="mask"/>
        <Param val="balloonBody" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="[-1, 0]" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="0.1+nPumps*0.015" valType="list" updates="set every frame" name="size"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="128" valType="num" updates="constant" name="texture resolution"/>
        <Param val="norm" valType="str" updates="None" name="units"/>
      </ImageComponent>
      <TextboxComponent name="reminderMsg" plugin="None">
        <Param val="top-left" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="reminderMsg" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0.2, -0.4)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="Press SPACE to pump the balloon&amp;#10;Press RETURN to bank this sum" valType="str" updates="constant" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
      <TextboxComponent name="balloonValMsg" plugin="None">
        <Param val="top-left" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="balloonValMsg" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0.2, 0)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="$f&quot;This balloon value:\n£{round(thisBalloonEarnings, 2)}&quot;" valType="str" updates="set every frame" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
      <TextboxComponent name="bankedMsg" plugin="None">
        <Param val="top-left" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="bankedMsg" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0.2, 0.4)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="$f&quot;You have banked:\n£{round(bankedEarnings, 2)}&quot;" valType="str" updates="set every frame" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
      <CodeComponent name="setBalloonSize" plugin="None">
        <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
        <Param val="balloonSize=0.08&amp;#10;balloonMsgHeight=0.01" valType="extendedCode" updates="constant" name="Begin Experiment"/>
        <Param val="balloonSize = 0.08;&amp;#10;balloonMsgHeight = 0.01;&amp;#10;" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
        <Param val="balloonSize = 0.08;&amp;#10;popped = false;&amp;#10;nPumps = 0;&amp;#10;" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
        <Param val="balloonSize=0.08&amp;#10;popped=False&amp;#10;nPumps=0" valType="extendedCode" updates="constant" name="Begin Routine"/>
        <Param val="Auto-&gt;JS" valType="str" updates="None" name="Code Type"/>
        <Param val="" valType="extendedCode" updates="constant" name="Each Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="Each JS Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
        <Param val="trials.addData(&quot;nPumps&quot;, nPumps);&amp;#10;trials.addData(&quot;size&quot;, balloonSize);&amp;#10;trials.addData(&quot;earnings&quot;, thisBalloonEarnings);&amp;#10;trials.addData(&quot;popped&quot;, popped);&amp;#10;" valType="extendedCode" updates="constant" name="End JS Routine"/>
        <Param val="#save data&amp;#10;trials.addData('nPumps', nPumps)&amp;#10;trials.addData('size', balloonSize)&amp;#10;trials.addData('earnings', thisBalloonEarnings)&amp;#10;trials.addData('popped', popped)&amp;#10;" valType="extendedCode" updates="constant" name="End Routine"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="setBalloonSize" valType="code" updates="None" name="name"/>
      </CodeComponent>
    </Routine>
    <Routine name="feedback">
      <RoutineSettingsComponent name="feedback" plugin="None">
        <Param val="none" valType="str" updates="None" name="backgroundFit"/>
        <Param val="" valType="str" updates="None" name="backgroundImg"/>
        <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
        <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
        <Param val="" valType="str" updates="constant" name="desc"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="code" updates="None" name="durationEstim"/>
        <Param val="feedback" valType="code" updates="None" name="name"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="code" updates="constant" name="skipIf"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="code" updates="constant" name="stopVal"/>
        <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
      </RoutineSettingsComponent>
      <CodeComponent name="checkPopped" plugin="None">
        <Param val="" valType="extendedCode" updates="constant" name="Before Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
        <Param val="feedbackText=&quot;&quot;&amp;#10;from psychopy import sound&amp;#10;bang = sound.Sound(&quot;bang.wav&quot;)&amp;#10;" valType="extendedCode" updates="constant" name="Begin Experiment"/>
        <Param val="import {sound} from 'psychopy';&amp;#10;var bang, feedbackText;&amp;#10;feedbackText = &quot;&quot;;&amp;#10;bang = new sound.Sound(&quot;bang.wav&quot;);&amp;#10;" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
        <Param val="/* Syntax Error: Fix Python code */" valType="extendedCode" updates="constant" name="Begin JS Routine"/>
        <Param val="if popped==True:&amp;#10;  feedbackText=&quot;Oops! Lost that one!&quot;&amp;#10;  bang.play()&amp;#10;else:&amp;#10;  feedbackText=u&quot;You banked £%.2f&quot; %lastBalloonEarnings&amp;#10;" valType="extendedCode" updates="constant" name="Begin Routine"/>
        <Param val="Auto-&gt;JS" valType="str" updates="None" name="Code Type"/>
        <Param val="" valType="extendedCode" updates="constant" name="Each Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="Each JS Frame"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
        <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
        <Param val="" valType="extendedCode" updates="constant" name="End Routine"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="checkPopped" valType="code" updates="None" name="name"/>
      </CodeComponent>
      <TextboxComponent name="feedbackMsg" plugin="None">
        <Param val="top-left" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="feedbackMsg" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="1.5" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="$feedbackText" valType="str" updates="set every repeat" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
    </Routine>
    <Routine name="final_score">
      <RoutineSettingsComponent name="final_score" plugin="None">
        <Param val="none" valType="str" updates="None" name="backgroundFit"/>
        <Param val="" valType="str" updates="None" name="backgroundImg"/>
        <Param val="$[0,0,0]" valType="color" updates="None" name="color"/>
        <Param val="rgb" valType="str" updates="None" name="colorSpace"/>
        <Param val="" valType="str" updates="constant" name="desc"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="code" updates="None" name="durationEstim"/>
        <Param val="final_score" valType="code" updates="None" name="name"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="code" updates="constant" name="skipIf"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="code" updates="constant" name="stopVal"/>
        <Param val="False" valType="bool" updates="None" name="useWindowParams"/>
      </RoutineSettingsComponent>
      <TextboxComponent name="finalScore" plugin="None">
        <Param val="top-left" valType="str" updates="constant" name="alignment"/>
        <Param val="center" valType="str" updates="constant" name="anchor"/>
        <Param val="True" valType="bool" updates="constant" name="autoLog"/>
        <Param val="False" valType="bool" updates="constant" name="bold"/>
        <Param val="None" valType="color" updates="constant" name="borderColor"/>
        <Param val="2" valType="num" updates="constant" name="borderWidth"/>
        <Param val="white" valType="color" updates="constant" name="color"/>
        <Param val="rgb" valType="str" updates="constant" name="colorSpace"/>
        <Param val="1" valType="num" updates="constant" name="contrast"/>
        <Param val="False" valType="bool" updates="None" name="disabled"/>
        <Param val="" valType="num" updates="None" name="durationEstim"/>
        <Param val="False" valType="bool" updates="constant" name="editable"/>
        <Param val="None" valType="color" updates="constant" name="fillColor"/>
        <Param val="False" valType="bool" updates="constant" name="flipHoriz"/>
        <Param val="False" valType="bool" updates="constant" name="flipVert"/>
        <Param val="Open Sans" valType="str" updates="constant" name="font"/>
        <Param val="False" valType="bool" updates="constant" name="italic"/>
        <Param val="LTR" valType="str" updates="None" name="languageStyle"/>
        <Param val="0.05" valType="num" updates="constant" name="letterHeight"/>
        <Param val="1.0" valType="num" updates="constant" name="lineSpacing"/>
        <Param val="finalScore" valType="code" updates="None" name="name"/>
        <Param val="1" valType="num" updates="constant" name="opacity"/>
        <Param val="0" valType="num" updates="constant" name="ori"/>
        <Param val="visible" valType="str" updates="constant" name="overflow"/>
        <Param val="" valType="num" updates="constant" name="padding"/>
        <Param val="Type here..." valType="str" updates="constant" name="placeholder"/>
        <Param val="(0, 0)" valType="list" updates="constant" name="pos"/>
        <Param val="True" valType="bool" updates="None" name="saveStartStop"/>
        <Param val="" valType="list" updates="constant" name="size"/>
        <Param val="" valType="list" updates="constant" name="speechPoint"/>
        <Param val="" valType="num" updates="None" name="startEstim"/>
        <Param val="time (s)" valType="str" updates="None" name="startType"/>
        <Param val="0.0" valType="num" updates="None" name="startVal"/>
        <Param val="duration (s)" valType="str" updates="None" name="stopType"/>
        <Param val="" valType="num" updates="constant" name="stopVal"/>
        <Param val="True" valType="bool" updates="None" name="syncScreenRefresh"/>
        <Param val="$f&quot;Well done! You banked a total of\n£{round(bankedEarnings, 2)}&quot;" valType="str" updates="set every repeat" name="text"/>
        <Param val="from exp settings" valType="str" updates="None" name="units"/>
      </TextboxComponent>
    </Routine>
  </Routines>
  <Flow>
    <Routine name="instructions"/>
    <LoopInitiator loopType="TrialHandler" name="trials">
      <Param name="Selected rows" updates="None" val="" valType="str"/>
      <Param name="conditions" updates="None" val="[{'imageFile': 'blueBalloon.png', 'maxPumps': 2}, {'imageFile': 'blueBalloon.png', 'maxPumps': 8}, {'imageFile': 'blueBalloon.png', 'maxPumps': 14}, {'imageFile': 'blueBalloon.png', 'maxPumps': 20}, {'imageFile': 'blueBalloon.png', 'maxPumps': 26}, {'imageFile': 'blueBalloon.png', 'maxPumps': 32}, {'imageFile': 'blueBalloon.png', 'maxPumps': 38}, {'imageFile': 'blueBalloon.png', 'maxPumps': 44}, {'imageFile': 'blueBalloon.png', 'maxPumps': 50}, {'imageFile': 'blueBalloon.png', 'maxPumps': 56}, {'imageFile': 'blueBalloon.png', 'maxPumps': 62}, {'imageFile': 'blueBalloon.png', 'maxPumps': 68}, {'imageFile': 'blueBalloon.png', 'maxPumps': 74}, {'imageFile': 'blueBalloon.png', 'maxPumps': 80}, {'imageFile': 'blueBalloon.png', 'maxPumps': 86}, {'imageFile': 'blueBalloon.png', 'maxPumps': 92}, {'imageFile': 'blueBalloon.png', 'maxPumps': 98}, {'imageFile': 'blueBalloon.png', 'maxPumps': 104}, {'imageFile': 'blueBalloon.png', 'maxPumps': 110}, {'imageFile': 'blueBalloon.png', 'maxPumps': 116}]" valType="str"/>
      <Param name="conditionsFile" updates="None" val="trialTypes.xlsx" valType="file"/>
      <Param name="endPoints" updates="None" val="[0, 1]" valType="num"/>
      <Param name="isTrials" updates="None" val="True" valType="bool"/>
      <Param name="loopType" updates="None" val="random" valType="str"/>
      <Param name="nReps" updates="None" val="1" valType="num"/>
      <Param name="name" updates="None" val="trials" valType="code"/>
      <Param name="random seed" updates="None" val="1832" valType="code"/>
    </LoopInitiator>
    <Routine name="trial"/>
    <Routine name="feedback"/>
    <LoopTerminator name="trials"/>
    <Routine name="final_score"/>
  </Flow>
</PsychoPy2experiment>
