/*! * PennController for IBEX * This software is licensed under a BSD license; see the LICENSE file for details. * * - Version 2.1.beta * - Last Update: 2021, December 8 * - Major changes in version 2.1.beta: * * Improved resource creation and zip downloads * * Improved preloading of audio and video elements * */!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=37)}([function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(1);let r=[],s={keypress:[]};const o={};class a{constructor(e,t,n=!0){void 0===o[e]&&(o[e]=[]),o[e].push(this);const i=l.controllers.underConstruction;i.resources.push(this),l.resources.list.push(this),this.name=e,this.value=e,this.uris=[e],this.creator=t,this.object=null,this.status="void",this.useURLs=n,this.created_at=0,this.controller=i,this.resolveCallback=[]}addURI(e){this.uris.indexOf(e)>=0||(this.uris.push(e),"pending"==this.status&&this.creator.call(this,e,e=>this.resolve(e)))}callCreatorOnAllURIs(){this.uris.forEach(e=>{this.creator.call(this,e,e=>this.resolve(e))})}create(){"void"==this.status&&(this.created_at=Date.now(),this.useURLs&&l.URLs.forEach(e=>{e.endsWith("/")||(e+="/"),this.addURI(e+this.name)}),this.status="pending",this.callCreatorOnAllURIs())}resolve(e){"ready"!==this.status&&(this.object=e,this.status="ready",l.debug.log("
").addClass("PennController-SendResults");i.a.controllers.running.element.append(s),addSafeBindMethodPair("__SendResults__"),"string"==typeof t&&(window.__server_py_script_name__=t),s.__SendResults__(r)}),o={label:e=>(r[0]=e,o),setOption:(e,t)=>(n[e]=t,o)};o._item=r,o.type="__SendResults__",o._element={id:"SendResults"};const a=e=>{if(e==o){let e=window.items&&window.items.indexOf(r);e>=0&&window.items.splice(e,1),i.a.tmpItems=i.a.tmpItems.filter(e=>e!=r)}};return i.a.ArgumentCallback(a),i.a.NewTrialArgumentCallback(a),o._promises=[s],o._runPromises=s,window.items.push(r),o},d.SetCounter=function(...e){null==window.items&&(window.items=[]);let t="setCounter",n={};e.length&&(isNaN(Number(e[0]))?1==e.length?isNaN(Number(e[0]))?t=e[0]:n.set=Number(e[0]):2!=e.length||isNaN(Number(e[1]))?e.length>2&&!isNaN(Number(e[2]))?(t=e[0],e[1].match(/\s*inc\s*$/i)?n.inc=e[2]:n.set=e[2]):t=e[0]:e[0].match(/\s*inc\s*$/i)?n.inc=e[1]:(n.set=e[1],e[0].match(/\s*set\s*$/i)||(t=e[0])):n.set=Number(e[0]));let i=[t,"__SetCounter__",n];return n.label=e=>(i[0]=e,n),n.setOption=(e,t)=>(n[e]=t,n),window.items.push(i),n},d.Header=function(...e){let t=i.a.controllers.underConstruction;t.id="Header",t.addToItems=!1,i.a.controllers.list.pop(),t.sequence=Object(r.d)(e.map(e=>Object(r.d)(e._promises)));for(let e in t.defaultCommands)for(let n in t.defaultCommands[e])t.defaultCommands[e][n].push("header");return s?(s.resources=s.resources.concat(t.resources),$.extend(!0,s.elements,t.elements),s.headerDefaultCommands=t.headerDefaultCommands,s.sequence=Object(r.d)([s.sequence,t.sequence])):s=t,i.a.controllers.header=s,i.a.controllers.underConstruction=new l,s},d.Footer=function(...e){let t=i.a.controllers.underConstruction;return t.id="Footer",t.addToItems=!1,i.a.controllers.list.pop(),t.sequence=Object(r.d)(e.map(e=>Object(r.d)(e._promises))),o?(o.resources=o.resources.concat(t.resources),$.extend(!0,o.elements,t.elements),o.headerDefaultCommands=t.headerDefaultCommands,o.sequence=Object(r.d)([o.sequence,t.sequence])):o=t,i.a.controllers.footer=o,i.a.controllers.underConstruction=new l,o},define_ibex_controller({name:"PennController",jqueryWidget:{_init:function(){var e=this;i.a.controllers.running=e,e.cssPrefix=e.options._cssPrefix,e.utils=e.options._utils,e.finishedCallback=e.options._finishedCallback,e.id=e.options.id,"string"==typeof e.id&&e.id.match(/^Preloader-/)?e.controller=a[Number(e.id.replace(/Preloader-/,""))]:"Header"==e.id?e.controller=s:"Footer"==e.id?e.controller=o:Number(e.id)>=0&&Number(e.id) Please wait while the resources are preloading This may take up to "+Object(r.f)(t)+". Please note that this project is using a beta version of PennController (2.1.beta). Report new bugs at https://www.pcibex.net/bug-report/\n or at support@pcibex.net").css({display:"table","table-layout":"fixed",height:"100%",width:70*(t.length+1)}),i=$("
").css({display:"table","table-layout":"fixed",height:"100%",width:70*(t.length+1)}),r=$("
");r.append($(" ").html("#").css({width:70,overflow:"hidden"}));for(let e=0;e ").html(""+Number(i+1)+".").css({width:70,overflow:"hidden"}));for(let n=0;n ");for(let t=0;t
");for(let n=0;n