diff --git a/src/main/java/org/olat/core/logging/activity/ThreadLocalUserActivityLogger.java b/src/main/java/org/olat/core/logging/activity/ThreadLocalUserActivityLogger.java
index d6975dca7a0df5475978659f6a37cb2f92e54a29..3a6dfe121fd2eed861b6c782c6c4b18797be4a19 100644
--- a/src/main/java/org/olat/core/logging/activity/ThreadLocalUserActivityLogger.java
+++ b/src/main/java/org/olat/core/logging/activity/ThreadLocalUserActivityLogger.java
@@ -147,7 +147,7 @@ public class ThreadLocalUserActivityLogger {
 	public static void log(ILoggingAction loggingAction, Class<?> callingClass, ILoggingResourceable... loggingResourceables) {
 		IUserActivityLogger logger = userActivityLogger_.get();
 		if (logger==null) {
-			log_.error("No ThreadLocal IUserActivityLogger set - cannot log to database: "+loggingAction.getActionVerb());
+			log_.debug("No ThreadLocal IUserActivityLogger set - cannot log to database: {}", loggingAction.getActionVerb());
 		} else {
 			logger.log(loggingAction, callingClass, loggingResourceables);
 		}
diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java
index 0dae436ec6a5048921be42bd2a82de819242ff8e..77567666cd25a97af95fd8b59de15152ba8847ce 100644
--- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java
+++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java
@@ -32,6 +32,7 @@ import org.olat.basesecurity.BaseSecurityModule;
 import org.olat.basesecurity.Group;
 import org.olat.basesecurity.IdentityRef;
 import org.olat.basesecurity.model.IdentityRefImpl;
+import org.olat.core.commons.persistence.DB;
 import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.Component;
@@ -156,6 +157,8 @@ public class IdentityListCourseNodeController extends FormBasicController
 	private ConfirmUserVisibilityController changeUserVisibilityCtrl;
 	private ContactFormController contactCtrl;
 	
+	@Autowired
+	private DB dbInstance;
 	@Autowired
 	private UserManager userManager;
 	@Autowired
@@ -931,6 +934,7 @@ public class IdentityListCourseNodeController extends FormBasicController
 					scoreEval.getCurrentRunStatus(), scoreEval.getAssessmentID());
 			courseAssessmentService.updateScoreEvaluation(courseNode, doneEval, assessedUserCourseEnv, getIdentity(),
 					false, Role.coach);
+			dbInstance.commitAndCloseSession();
 		}
 		loadModel(ureq);
 	}
@@ -952,6 +956,7 @@ public class IdentityListCourseNodeController extends FormBasicController
 			for(AssessedIdentityElementRow row:rows) {
 				Identity assessedIdentity = securityManager.loadIdentityByKey(row.getIdentityKey());
 				doSetDone(assessedIdentity, courseNode, course);
+				dbInstance.commitAndCloseSession();
 			}
 			loadModel(ureq);
 		}
diff --git a/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java b/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
index ba8f3dfe80588e44759a04f1ae09e0778523bc56..f90778dfd0b76d04c176fa6dc6aafc8e73fd2942 100644
--- a/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
+++ b/src/main/java/org/olat/dispatcher/AuthenticatedDispatcher.java
@@ -262,8 +262,9 @@ public class AuthenticatedDispatcher implements Dispatcher {
 		ws.disposeClosedWindows(ureq);
 		Window window = ws.getWindow(ureq);
 		if (window == null) {
-			//probably a 
-			if(usess.isSavedSession() && !usess.getHistoryStack().isEmpty()) {
+			if(request.getPathInfo() != null && request.getPathInfo().contains("close-window")) {
+				DispatcherModule.setNotContent(request.getPathInfo(), response);
+			} else if(usess.isSavedSession() && !usess.getHistoryStack().isEmpty()) {
 				redirectToDefaultDispatcher(request, response);
 			} else {
 				DispatcherModule.sendNotFound(request.getRequestURI(), response);
diff --git a/src/main/java/org/olat/dispatcher/RESTDispatcher.java b/src/main/java/org/olat/dispatcher/RESTDispatcher.java
index 01d2b6383460aae4318f92b99aecd18930b95381..8e9e56135b2a0a18470c9c32a6eb605f4719b220 100644
--- a/src/main/java/org/olat/dispatcher/RESTDispatcher.java
+++ b/src/main/java/org/olat/dispatcher/RESTDispatcher.java
@@ -24,7 +24,6 @@
 */
 package org.olat.dispatcher;
 
-import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.Locale;
@@ -40,11 +39,7 @@ import org.olat.core.dispatcher.DispatcherModule;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.UserRequestImpl;
 import org.olat.core.gui.Windows;
-import org.olat.core.gui.components.Window;
-import org.olat.core.gui.control.ChiefController;
 import org.olat.core.gui.media.ServletUtil;
-import org.olat.core.gui.render.StringOutput;
-import org.olat.core.gui.render.URLBuilder;
 import org.olat.core.id.Identity;
 import org.olat.core.id.context.BusinessControl;
 import org.olat.core.id.context.BusinessControlFactory;
@@ -221,17 +216,9 @@ public class RESTDispatcher implements Dispatcher {
 						DispatcherModule.redirectToDefaultDispatcher(response);
 					}
 				} else if (Windows.getWindows(usess).getChiefController(ureq) == null) {
-					/*
 					// Session is already available, but no main window (Head-less REST
 					// session). Only create the base chief controller and the window
-					ChiefController cc = AuthHelper.createAuthHome(ureq);
-					//the user is authenticated successfully with a security token, we can set the authenticated path
-					cc.getWindow().setUriPrefix(WebappHelper.getServletContextPath() + DispatcherModule.PATH_AUTHENTICATED);
-					Windows ws = Windows.getWindows(ureq);
-					ws.registerWindow(cc);
-					// no need to call setIdentityAsActive as this was already done by RestApiLoginFilter...
-					*/
-					redirectAuthenticatedTo(usess, ureq, businessPath, encodedRestPart);
+					redirectAuthenticatedTo(usess, ureq, encodedRestPart);
 					return;
 				}
 			}
@@ -239,14 +226,14 @@ public class RESTDispatcher implements Dispatcher {
 		
 		boolean auth = usess.isAuthenticated();
 		if (auth) {
-			redirectAuthenticatedTo(usess, ureq, businessPath, encodedRestPart);
+			redirectAuthenticatedTo(usess, ureq, encodedRestPart);
 		} else {
 			//prepare for redirect
 			setBusinessPathInUserSession(usess, businessPath, ureq.getParameter(WINDOW_SETTINGS));
 			String invitationAccess = ureq.getParameter(AuthenticatedDispatcher.INVITATION);
 			if (invitationAccess != null && loginModule.isInvitationEnabled()) {
 			// try to log in as anonymous
-				// use the language from the lang paramter if available, otherwhise use the system default locale
+				// use the language from the lang parameter if available, otherwise use the system default locale
 				Locale guestLoc = getLang(ureq);
 				int loginStatus = AuthHelper.doInvitationLogin(invitationAccess, ureq, guestLoc);
 				if ( loginStatus == AuthHelper.LOGIN_OK) {
@@ -266,7 +253,7 @@ public class RESTDispatcher implements Dispatcher {
 					DispatcherModule.redirectToDefaultDispatcher(response);
 				} else if (guestAccess.equals(AuthenticatedDispatcher.TRUE)) {
 					// try to log in as anonymous
-					// use the language from the lang paramter if available, otherwhise use the system default locale
+					// use the language from the lang parameter if available, otherwise use the system default locale
 					Locale guestLoc = getLang(ureq);
 					int loginStatus = AuthHelper.doAnonymousLogin(ureq, guestLoc);
 					if ( loginStatus == AuthHelper.LOGIN_OK) {
@@ -283,20 +270,10 @@ public class RESTDispatcher implements Dispatcher {
 		}
 	}
 	
-	private void redirectAuthenticatedTo(UserSession usess, UserRequest ureq, String businessPath, String encodedRestPart) {
-		String url;
-		if (Windows.getWindows(usess).getChiefController(ureq) == null) {
-			// Session is already available, but no main window (Head-less REST
-			// session). Only create the base chief controller and the window
-			setBusinessPathInUserSession(usess, businessPath, ureq.getParameter(WINDOW_SETTINGS));
-			ChiefController cc = AuthHelper.createAuthHome(ureq);
-			url = getRedirectToURL(cc);
-			if(usess != null && !ureq.getHttpReq().isRequestedSessionIdFromCookie()) {
-				url += ";jsessionid=" + usess.getSessionInfo().getSession().getId();
-			}
-		} else {
-			//redirect to the authenticated dispatcher which support REST url
-			url = WebappHelper.getServletContextPath() + DispatcherModule.PATH_AUTHENTICATED + encodedRestPart;
+	private void redirectAuthenticatedTo(UserSession usess, UserRequest ureq, String encodedRestPart) {
+		String url = WebappHelper.getServletContextPath() + DispatcherModule.PATH_AUTHENTICATED + encodedRestPart;
+		if(usess != null && !ureq.getHttpReq().isRequestedSessionIdFromCookie()) {
+			url += ";jsessionid=" + usess.getSessionInfo().getSession().getId();
 		}
 		DispatcherModule.redirectTo(ureq.getHttpResp(), url);
 	}
@@ -336,16 +313,4 @@ public class RESTDispatcher implements Dispatcher {
 		}
 		return guestLoc;
 	}
-	
-	private String getRedirectToURL(ChiefController cc) {
-		Window w = cc.getWindow();
-		URLBuilder ubu = new URLBuilder(WebappHelper.getServletContextPath() + DispatcherModule.PATH_AUTHENTICATED, w.getInstanceId(), w.getTimestamp(), w.getCsrfToken());
-		try(StringOutput sout = new StringOutput(30)) {
-			ubu.buildURI(sout, null, null);
-			return sout.toString();
-		} catch(IOException e) {
-			log.error("", e);
-			return "";
-		}
-	}
 }
diff --git a/src/main/java/org/olat/ims/qti21/manager/AssessmentTestSessionDAO.java b/src/main/java/org/olat/ims/qti21/manager/AssessmentTestSessionDAO.java
index 4e1a9654dc226b5923136045a14c5176037c77dd..66f461ab479e73a09f6442e7dfc746bf29433cdd 100644
--- a/src/main/java/org/olat/ims/qti21/manager/AssessmentTestSessionDAO.java
+++ b/src/main/java/org/olat/ims/qti21/manager/AssessmentTestSessionDAO.java
@@ -698,7 +698,7 @@ public class AssessmentTestSessionDAO {
 				sb.append(" and membership.role='").append(GroupRoles.participant.name()).append("'");
 			}
 			sb.append(" )");
-		} else if(searchParams.getLimitToIdentities() != null) {
+		} else if(searchParams.getLimitToIdentities() != null && !searchParams.getLimitToIdentities().isEmpty()) {
 			sb.append(" testSession.identity.key in (select membership.identity.key from  bgroupmember as membership, repoentrytogroup as rel")
 			  .append("   where rel.entry.key=:repoEntryKey and rel.group.key=membership.group.key and membership.identity.key in (:limitIdentityKeys)")
 			  .append("   and membership.role='").append(GroupRoles.participant.name()).append("'")
diff --git a/src/main/java/org/olat/ims/qti21/manager/archive/QTI21ArchiveFormat.java b/src/main/java/org/olat/ims/qti21/manager/archive/QTI21ArchiveFormat.java
index e0e13e6f88a77c212fea4a1c46b52e84a70e3090..25fcb8f48f122fb36d3ede73b2dc468bb6b953eb 100644
--- a/src/main/java/org/olat/ims/qti21/manager/archive/QTI21ArchiveFormat.java
+++ b/src/main/java/org/olat/ims/qti21/manager/archive/QTI21ArchiveFormat.java
@@ -476,11 +476,8 @@ public class QTI21ArchiveFormat {
 				AssessmentItemSession itemSession = response.getAssessmentItemSession();
 				sessionResponses.addResponse(itemSession, response);
 			}
-			writeDataRow(i + 1, sessionResponses, exportSheet, workbook);
-			
-			if(i % 25 == 0) {
-				DBFactory.getInstance().commitAndCloseSession();
-			}
+			writeDataRow(i + 1, sessionResponses, exportSheet, workbook);	
+			DBFactory.getInstance().commitAndCloseSession();
 		}
 	}
 	
diff --git a/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java b/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
index 9d8a2452637c25e1f7d1cd588bd2e7be4a17a468..2deb8666a308524f62561ba1de5e2d9b74c3d8ee 100644
--- a/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
+++ b/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
@@ -282,6 +282,12 @@ public class HotspotAssessmentItemBuilder extends AssessmentItemBuilder implemen
 		return correctAnswers.contains(choice.getIdentifier());
 	}
 	
+	public void clearCorrectAnswers() {
+		if(correctAnswers != null) {
+			correctAnswers.clear();
+		}
+	}
+	
 	public void setCorrect(HotspotChoice choice, boolean correct) {
 		if(correctAnswers == null) {
 			correctAnswers = new ArrayList<>();
@@ -425,6 +431,7 @@ public class HotspotAssessmentItemBuilder extends AssessmentItemBuilder implemen
 		//add question
 		getHtmlHelper().appendHtml(assessmentItem.getItemBody(), question);
 		
+		
 		//add interaction
 		if(correctAnswers.size() == 1 && cardinality == Cardinality.SINGLE) {
 			hotspotInteraction.setMaxChoices(1);
diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21ResetDataController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21ResetDataController.java
index 7a76b362b0aa66a1ccd4e66f35f7e7b95ac6c4e5..44b4f62e988c763cb9031ee5332559e2ada3351e 100644
--- a/src/main/java/org/olat/ims/qti21/ui/QTI21ResetDataController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/QTI21ResetDataController.java
@@ -31,6 +31,7 @@ import java.util.zip.ZipOutputStream;
 
 import org.olat.basesecurity.GroupRoles;
 import org.olat.core.commons.modules.bc.FolderConfig;
+import org.olat.core.commons.persistence.DB;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
@@ -87,6 +88,8 @@ public class QTI21ResetDataController extends FormBasicController {
 	private CourseEnvironment courseEnv;
 	private RepositoryEntry assessedEntry;
 	
+	@Autowired
+	private DB dbInstance;
 	@Autowired
 	private QTI21Service qtiService;
 	@Autowired
@@ -213,6 +216,7 @@ public class QTI21ResetDataController extends FormBasicController {
 						Role.coach);
 				courseAssessmentService.updateCurrentCompletion(courseNode, uce, null, AssessmentRunStatus.notStarted,
 						Role.coach);
+				dbInstance.commitAndCloseSession();
 			}
 		} else if(assessedEntry != null) {
 			archiveData(assessedEntry);
diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java
index ffd74086c7e9d45b8c8cc0928bd9464c4800252b..9f8ff3853d1ed1c8e7fd7efb694a3ac7514fc63c 100644
--- a/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/QTI21RetrieveTestsController.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.olat.basesecurity.GroupRoles;
+import org.olat.core.commons.persistence.DB;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
 import org.olat.core.gui.components.form.flexible.impl.FormBasicController;
@@ -73,6 +74,8 @@ public class QTI21RetrieveTestsController extends FormBasicController {
 	private List<Identity> identities;
 	private List<AssessmentTestSession> sessions;
 	
+	@Autowired
+	private DB dbInstance;
 	@Autowired
 	private UserManager userManager;
 	@Autowired
@@ -149,7 +152,7 @@ public class QTI21RetrieveTestsController extends FormBasicController {
 		}
 		
 		String msg;
-		if(sessionsToRetrieve.size() == 0) {
+		if(sessionsToRetrieve.isEmpty()) {
 			msg = translate("retrievetest.nothing.todo");
 		} else if(sessionsToRetrieve.size() == 1) {
 			msg = translate("retrievetest.confirm.text", new String[]{ fullnames.toString() });
@@ -193,6 +196,7 @@ public class QTI21RetrieveTestsController extends FormBasicController {
 					.createAndInitUserCourseEnvironment(session.getIdentity(), courseEnv);
 			courseNode.pullAssessmentTestSession(session, assessedUserCourseEnv, getIdentity(), Role.coach);
 		}
+		dbInstance.commitAndCloseSession();
 	}
 	
 	private DigitalSignatureOptions getSignatureOptions(AssessmentTestSession session) {
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
index c58fb62716f9804382547238d89b629ed8bb1e06..4b29a9350d117c41e5f7177d814afa5ee4995d04 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
@@ -375,9 +375,7 @@ public class HotspotEditorController extends FormBasicController {
 			updateHotspots(ureq);
 			updateHotspotsPosition(backgroundSize);
 		} else if(correctHotspotsEl == source) {
-			MultipleSelectionElement correctEl = (MultipleSelectionElement)source;
-			Collection<String> correctResponseIds = correctEl.getSelectedKeys();
-			doCorrectAnswers(correctResponseIds);
+			doCorrectAnswers(correctHotspotsEl.getSelectedKeys());
 			flc.setDirty(true);
 		} else if(layoutEl == source) {
 			updateLayoutCssClass();
@@ -439,6 +437,7 @@ public class HotspotEditorController extends FormBasicController {
 	
 	private void doCorrectAnswers(Collection<String> correctResponseIds) {
 		List<HotspotChoice> choices = itemBuilder.getHotspotChoices();
+		itemBuilder.clearCorrectAnswers();
 		for(int i=0; i<choices.size(); i++) {
 			HotspotChoice choice = choices.get(i);
 			boolean correct = correctResponseIds.contains(choice.getIdentifier().toString());
@@ -514,6 +513,8 @@ public class HotspotEditorController extends FormBasicController {
 			objectImg = initialBackgroundImage;
 		}
 		
+		doCorrectAnswers(correctHotspotsEl.getSelectedKeys());
+		
 		if(cardinalityEl.isOneSelected()) {
 			String selectedCardinality = cardinalityEl.getSelectedKey();
 			itemBuilder.setCardinality(Cardinality.valueOf(selectedCardinality));
diff --git a/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonAdminController.java b/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonAdminController.java
index 4ac6053ca0e4f3ab50f7245b340f7b7744c08857..090b0e7cf704850d1ddcf445d97532eea9a896e7 100644
--- a/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonAdminController.java
+++ b/src/main/java/org/olat/modules/bigbluebutton/ui/BigBlueButtonAdminController.java
@@ -145,13 +145,12 @@ public class BigBlueButtonAdminController extends BasicController implements Act
 	}
 	
 	private void doOpenConfiguration(UserRequest ureq) {
-		if(configCtrl == null) {
-			WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableInstance("Configuration", 0l), null);
-			configCtrl = new BigBlueButtonConfigurationController(ureq, bwControl);
-			listenTo(configCtrl);
-		} else {
-			addToHistory(ureq, configCtrl);
-		}
+		removeAsListenerAndDispose(configCtrl);
+
+		WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableInstance("Configuration", 0l), null);
+		configCtrl = new BigBlueButtonConfigurationController(ureq, bwControl);
+		listenTo(configCtrl);
+
 		mainVC.put("segmentCmp", configCtrl.getInitialComponent());
 	}
 	
diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties
index 32fa39213a6d7d87b3ec1c76bc5735188fcb5d21..24741615f4e3310fd40ca5ba251cd9b89bc0c805 100644
--- a/src/main/resources/serviceconfig/olat.properties
+++ b/src/main/resources/serviceconfig/olat.properties
@@ -1268,8 +1268,8 @@ ldap.learningResourceManagerRoleValue=
 # Build properties
 #####
 application.name=OpenOlat
-build.version=15.0.5
-build.identifier=openolat1505-dev
+build.version=15.0.6
+build.identifier=openolat1506-dev
 build.repo.revision=local-devel
 
 #####
diff --git a/src/main/webapp/static/movie/player.js b/src/main/webapp/static/movie/player.js
index 9ae1913b1cd494d82fb988f684461dcf94f27034..07b922c82938f1715052c11b1ba2f3375ec3ec33 100644
--- a/src/main/webapp/static/movie/player.js
+++ b/src/main/webapp/static/movie/player.js
@@ -199,7 +199,8 @@ var BPlayer = {
 				var containerWidth =  jQuery(parentContainer).width();
 				var originalWidth = config.width;
 				var originalHeight = config.height;
-				if(containerWidth < originalWidth) {
+				// If container width is available and smaller, resize to fit container 
+				if(containerWidth && containerWidth < originalWidth) {
 					var ratio = originalHeight / originalWidth;
 					var tw = containerWidth;
 					var th = ((containerWidth * ratio)|0);
@@ -210,7 +211,7 @@ var BPlayer = {
 				jQuery(window).resize(function() {
 					var container = jQuery('#' + domId).parent("p , div");
 					var cWidth =  jQuery(container).width();
-					if(cWidth < originalWidth) {
+					if(cWidth && cWidth < originalWidth) {
 						var ratio = originalHeight / originalWidth;
 						var tw = cWidth;
 						var th = ((cWidth * ratio)|0);
diff --git a/src/main/webapp/static/movie/player.min.js b/src/main/webapp/static/movie/player.min.js
index 5c90a7e2964dafa734bd5348f440ecd2c4b6c454..2aaf3295c9e988db27e4efdaa438ed7d4216853c 100644
--- a/src/main/webapp/static/movie/player.min.js
+++ b/src/main/webapp/static/movie/player.min.js
@@ -1 +1 @@
-var BPlayer={insertPlayer:function(l,d,c,m,b,e,j,h,n,a,g,k,f){BPlayer.insertHTML5Player(l,d,c,m,b,e,j,h,n,a,g,k,f)},insertHTML5Player:function(c,g,n,m,e,a,p,t,s,k,o,l,j){var f=c;if(c.indexOf("://")<0&&(c.indexOf("/raw/static/")==0||c.indexOf("/secstatic/qtieditor/")>=0||c.indexOf("/secstatic/qti/")>=0)){f=c}else{if(c.indexOf("://")<0&&((p!="rtmp"&&p!="http")||((p=="rtmp"||p=="http")&&(t==undefined||t.length==0)))){var d=document.location.href;f=d.substring(0,d.lastIndexOf("/"));if(c.indexOf("/")!=0){f+="/"}f+=c}}var b={file:f,width:n,height:m,controlbar:{position:"bottom"}};if(typeof p!="undefined"){b.provider=p}if(p=="rtmp"||p=="http"){b.streamer=t}if(typeof e!="undefined"){var h=BPlayer._convertInSeconds(e);if(h>0){b.start=h}}if(typeof a!="undefined"){var r=BPlayer._convertInSeconds(a);if(r>0){b.duration=r}}if(typeof s!="undefined"&&s){b.autostart=true}if(typeof k!="undefined"&&k){b.repeat="single"}if(typeof o!="undefined"&&!o){b.controlbar="none"}if(typeof l!="undefined"&&l){b.image=l}if(typeof j!="undefined"){b.errorCallback=j}else{b.errorCallback=function(u,w,v){}}if(BPlayer._needJWPlayerFallback(b)){b.flashplayer=BPlayer._jwPlayerBaseUrl()+"movieViewer.swf";var q=function(){jwplayer(g).setup(b)};BPlayer._loadJWPlayer(q)}else{if(p=="nanoo"||f.indexOf("nanoo.tv/")>=0){BPlayer._loadNanooTv(g,b)}else{var q=function(){BPlayer._insertHTML5MediaElementPlayerWorker(g,b)};BPlayer.loadMediaelementJsPlayer(q)}}},loadMediaelementJsPlayer:function(d){var a=BPlayer._mediaElementBaseUrl();var c=a+(BPlayer.debugEnabled?"mediaelementplayer.css":"mediaelementplayer.min.css");var b=a+(BPlayer.debugEnabled?"mediaelement-and-player.js":"mediaelement-and-player.min.js");if(jQuery("#mediaelementplayercss").length==0){jQuery("<link>").appendTo("head").attr({id:"mediaelementplayercss",type:"text/css",rel:"stylesheet"}).attr("href",c)}if(typeof jQuery("body").mediaelementplayer!="undefined"){if(d){d()}}else{jQuery.ajax({dataType:"script",cache:true,async:false,url:b}).done(function(){if(d){d()}})}},_loadNanooTv:function(c,b){var a=c+"_frame";for(i=jQuery("#"+a).length;i-->0;){jQuery("#"+a).remove()}if(b.image===undefined||b.image===null||b.image.length==0){BPlayer._loadNanooTvFrame(c,a,b)}else{BPlayer._loadNanooTvPoster(c,a,b)}},_loadNanooTvPoster:function(f,a,b){if(jQuery("#mediaelementplayercss").length==0){var d=BPlayer._mediaElementBaseUrl();var e=d+(BPlayer.debugEnabled?"mediaelementplayer.css":"mediaelementplayer.min.css");jQuery("<link>").appendTo("head").attr({id:"mediaelementplayercss",type:"text/css",rel:"stylesheet"}).attr("href",e)}BPlayer._loadNanooResize(f,a,b);var g="<div id='"+a+"' class='mejs__container' role='application' style='width:"+b.width+"px; height:"+b.height+"px; overflow:hidden; overflow-x:hidden; overflow-y:hidden;'><div class='mejs__layers'><div class='mejs__poster mejs__layer' style='background-image: url("+b.image+"); width: 100%; height: 100%;'><img src='"+b.image+"' width='0' height='0'></img></div><div class='mejs__overlay mejs__layer mejs__overlay-play' style='width: 100%; height: 100%; z-index:10;'><div class='mejs__overlay-button' style='z-index:10;' role='button' tabindex='0' aria-label='Play' aria-pressed='false'></div></div></div></div>";var c=jQuery("#"+f);c.append(jQuery(g));c.css("border","none");jQuery("#"+f+" div.mejs__overlay-button").on("click",function(k,j){var h={file:b.file,width:b.width,height:b.height,autostart:true};BPlayer._loadNanooTvFrame(f,a,h)})},_loadNanooTvFrame:function(h,b,d){for(i=jQuery("#"+b).length;i-->0;){jQuery("#"+b).remove()}BPlayer._loadNanooResize(h,b,d);var c=d.file;var g=c.split("?");var a=g[0].substring(c.lastIndexOf("/")+1);if(d.autostart){c="https://www.nanoo.tv/link/w/"+a}else{c="https://www.nanoo.tv/link/n/"+a}var f='<iframe name="'+b+'" id="'+b+'" src="'+c+'" style="width:'+d.width+"px; height:"+d.height+'px; overflow:hidden;" frameborder="0" allow="fullscreen" allowfullscreen="true"></iframe>';var e=jQuery("#"+h);e.append(jQuery(f));e.css("border","none")},_loadNanooResize:function(f,h,d){try{var m=jQuery("#"+f);var a=m.parent("p , div");if(a.length==1&&typeof d.width!=="undefined"&&typeof d.height!=="undefined"){var n=jQuery(a).width();var c=d.width;var g=d.height;if(n<c){var l=g/c;var j=n;var b=((n*l)|0);d.width=j;d.height=b}jQuery(window).resize(function(){var e=jQuery("#"+f).parent("p , div");var p=jQuery(e).width();if(p<c){var q=g/c;var o=p;var r=((p*q)|0);jQuery("#"+h).width(o+"px").height(r+"px")}}).trigger("resize")}}catch(k){if(window.console){console.log(k)}}},_loadJWPlayer:function(a){if(BPlayer._isIE8()&&domId!="prev_container"&&jQuery("#"+domId).is("span")){alert("This is video is not supported on Internet Explorer 8. Sorry for the inconvenience")}else{jQuery.getScript(BPlayer._jwPlayerBaseUrl()+"player.jw.js",function(){if(a){a()}})}},_needJWPlayerFallback:function(a){if(a.provider=="rtmp"){if(a.file.match(/(.*)\/((flv|mp4|mp3):.*)/)){return false}else{return true}}return false},_insertHTML5MediaElementPlayerWorker:function(e,d){var k=BPlayer._mediaElementBaseUrl();var l={loop:d.repeat,pluginPath:k,stretching:"responsive",hls:{path:k+"hls/hls.min.js"},flv:{path:k+"flv/flv.min.js",withCredentials:true},error:d.errorCallback,success:function(o,q,p){if(d.start){p.load();o.addEventListener("canplay",function(){try{o.removeEventListener("canplay");p.setCurrentTime(d.start);p.play();if(!d.autostart){setTimeout(function(){p.pause()},100)}}catch(s){if(window.console){console.log(s)}}})}else{if(d.autostart){try{p.load();p.play()}catch(r){if(window.console){console.log(r)}}}}}};var a=null;var n=d.file.split(".").pop().toLowerCase().split("&").shift();if(d.provider=="sound"){if(n=="mp3"){a="audio/mp3"}else{if(n=="aac"){a="audio/aac"}else{if(n=="m4a"){a="audio/mp4"}}}}else{if(d.provider=="youtube"){a="video/youtube"}else{if(d.provider=="vimeo"){a="video/vimeo"}else{if(d.provider=="rtmp"){l.flashStreamer=d.streamer;a="video/rtmp"}else{if(d.provider=="http"){d.enablePseudoStreaming=true;if(n=="flv"){a="video/flv";l.renderers=["flash_video","native_flv"]}else{a="video/mp4"}}else{if(n=="flv"){a="video/flv";l.renderers=["flash_video","native_flv"]}else{if(n=="f4v"){a="video/flv"}else{if(n=="mp4"){a="video/mp4"}else{if(n=="m4v"){a="video/mp4"}else{if(n=="m3u8"){a="application/x-mpegURL"}else{if(n=="aac"){a="audio/mp4";d.provider="sound"}else{if(n=="mp3"){a="audio/mp3";d.provider="sound"}else{if(n=="m4a"){a="audio/mp4";d.provider="sound"}else{if(d.file.indexOf("vimeo.com")>-1){a="video/vimeo"}else{if(d.file.indexOf("youtube.com")>-1||d.file.indexOf("youtu.be")>-1||d.file.indexOf("youtube.be")>-1){a="video/youtube"}else{if(n.indexOf("mp4?")==0){a="video/mp4"}else{if(d.file.indexOf("openmeetings/recording")>0){a="video/mp4"}else{alert("Something go badly wrong!"+d.provider+"  "+n)}}}}}}}}}}}}}}}}}var j;var c=e+"_oo"+Math.floor(Math.random()*1000000)+"vid";var f=e+"_oo"+Math.floor(Math.random()*1000000)+"obj";if(d.provider=="sound"){if(d.height){l.audioHeight=d.height}if(d.width){l.audioWidth=d.width}j="<audio id='"+c+"' controls='controls' oncontextmenu='return false;'";if(typeof d.repeat!="undefined"&&d.repeat){j+=" loop='loop'"}var b="<object id='"+f+"' type='application/x-shockwave-flash'";if(typeof d.height!="undefined"){j+=" height='"+d.height+"'";b+=" height='"+d.height+"'";l.videoHeight=d.height}if(typeof d.width!="undefined"){j+=" width='"+d.width+"'";b+=" width='"+d.width+"'";l.videoWidth=d.width}if(typeof d.image!="undefined"){j+=" poster='"+d.image+"'"}j+="><source type='"+a+"' src='"+d.file+"'>";var g="mediaelement-flash-video.swf";if(a=="audio/mp3"){g="mediaelement-flash-audio.swf"}else{if(a=="audio/ogg"){g="mediaelement-flash-audio-ogg.swf"}}j+=b+" data='"+k+g+"'>";j+="<param name='movie' value='"+k+g+"' />";j+="<param name='flashvars' value='controls=true&amp;";if(typeof d.streamer!="undefined"){j+="&amp;streamer="+d.streamer}j+="&amp;file="+d.file+"' /></object>";j+="</audio>"}else{j="<video id='"+c+"' controls='controls' preload='none' oncontextmenu='return false;'";if(typeof d.repeat!="undefined"&&d.repeat){j+=" loop='loop'"}var b="<object id='"+f+"' type='application/x-shockwave-flash'";if(typeof d.height!="undefined"){l.videoHeight=d.height}if(typeof d.width!="undefined"){l.videoWidth=d.width}if(typeof d.image!="undefined"){j+=" poster='"+d.image+"'"}j+="><source type='"+a+"' src='"+d.file+"' />";j+=b+" data='"+k+"mediaelement-flash-video.swf'>";j+="<param name='movie' value='"+k+"mediaelement-flash-video.swf' />";j+="<param name='flashvars' value='controls=true";if(typeof d.streamer!="undefined"){j+="&amp;streamer="+d.streamer}j+="&amp;file="+d.file+"' /></object></video>"}var h=jQuery("#"+e);h.css({height:""});h.css({border:"none"});if(jQuery(window).width()<=d.width){h.css({width:""})}h.html(j);if(a=="video/vimeo"){var k=BPlayer._mediaElementBaseUrl();var m=k+(BPlayer.debugEnabled?"renderers/vimeo.js":"renderers/vimeo.min.js");jQuery.ajax({dataType:"script",cache:true,async:false,url:m}).done(function(){jQuery("#"+c).mediaelementplayer(l)})}else{jQuery("#"+c).mediaelementplayer(l)}},_mediaElementBaseUrl:function(){var a=BPlayer._findBaseUrl(window);if(a==null){a="/olat/raw/_noversion_/"}a+="movie/mediaelementjs/";return a},_isIE8:function(){return(jQuery.support.opacity==false)},_jwPlayerBaseUrl:function(){var a=BPlayer._findBaseUrl(window);if(a==null){a="/olat/raw/_noversion_/"}a+="movie/jw/";return a},_findBaseUrl:function(a){if(a.o_info){return a.o_info.o_baseURI}else{if(a.opener){return BPlayer._findBaseUrl(a.opener)}else{if(a.parent){return BPlayer._findBaseUrl(a.parent)}else{return null}}}},_convertInSeconds:function(d){if(typeof d=="undefined"||d==null){return 0}if(!d.length){return d}if(d.length==0){return 0}if(d.indexOf(".")>0){d=d.substring(0,d.indexOf("."))}var e=d.lastIndexOf(":");if(e>0){var c=d.substring(e+1,d.length);var a=parseInt(c);d=d.substring(0,e);e=d.lastIndexOf(":");if(e>0){var b=d.substring(e+1,d.length);a+=60*parseInt(b)}d=d.substring(0,e);if(d.length>0){a+=60*60*parseInt(d)}return a}else{return d}},_isOODebug:function(a){if(a.o_info){return a.o_info.debug}else{if(a.opener){return BPlayer._isOODebug(a.opener)}else{if(a.parent){return BPlayer._isOODebug(a.parent)}else{return false}}}}};BPlayer.debugEnabled=BPlayer._isOODebug(window);
\ No newline at end of file
+var BPlayer={insertPlayer:function(l,d,c,m,b,e,j,h,n,a,g,k,f){BPlayer.insertHTML5Player(l,d,c,m,b,e,j,h,n,a,g,k,f)},insertHTML5Player:function(c,g,n,m,e,a,p,t,s,k,o,l,j){var f=c;if(c.indexOf("://")<0&&(c.indexOf("/raw/static/")==0||c.indexOf("/secstatic/qtieditor/")>=0||c.indexOf("/secstatic/qti/")>=0)){f=c}else{if(c.indexOf("://")<0&&((p!="rtmp"&&p!="http")||((p=="rtmp"||p=="http")&&(t==undefined||t.length==0)))){var d=document.location.href;f=d.substring(0,d.lastIndexOf("/"));if(c.indexOf("/")!=0){f+="/"}f+=c}}var b={file:f,width:n,height:m,controlbar:{position:"bottom"}};if(typeof p!="undefined"){b.provider=p}if(p=="rtmp"||p=="http"){b.streamer=t}if(typeof e!="undefined"){var h=BPlayer._convertInSeconds(e);if(h>0){b.start=h}}if(typeof a!="undefined"){var r=BPlayer._convertInSeconds(a);if(r>0){b.duration=r}}if(typeof s!="undefined"&&s){b.autostart=true}if(typeof k!="undefined"&&k){b.repeat="single"}if(typeof o!="undefined"&&!o){b.controlbar="none"}if(typeof l!="undefined"&&l){b.image=l}if(typeof j!="undefined"){b.errorCallback=j}else{b.errorCallback=function(u,w,v){}}if(BPlayer._needJWPlayerFallback(b)){b.flashplayer=BPlayer._jwPlayerBaseUrl()+"movieViewer.swf";var q=function(){jwplayer(g).setup(b)};BPlayer._loadJWPlayer(q)}else{if(p=="nanoo"||f.indexOf("nanoo.tv/")>=0){BPlayer._loadNanooTv(g,b)}else{var q=function(){BPlayer._insertHTML5MediaElementPlayerWorker(g,b)};BPlayer.loadMediaelementJsPlayer(q)}}},loadMediaelementJsPlayer:function(d){var a=BPlayer._mediaElementBaseUrl();var c=a+(BPlayer.debugEnabled?"mediaelementplayer.css":"mediaelementplayer.min.css");var b=a+(BPlayer.debugEnabled?"mediaelement-and-player.js":"mediaelement-and-player.min.js");if(jQuery("#mediaelementplayercss").length==0){jQuery("<link>").appendTo("head").attr({id:"mediaelementplayercss",type:"text/css",rel:"stylesheet"}).attr("href",c)}if(typeof jQuery("body").mediaelementplayer!="undefined"){if(d){d()}}else{jQuery.ajax({dataType:"script",cache:true,async:false,url:b}).done(function(){if(d){d()}})}},_loadNanooTv:function(c,b){var a=c+"_frame";for(i=jQuery("#"+a).length;i-->0;){jQuery("#"+a).remove()}if(b.image===undefined||b.image===null||b.image.length==0){BPlayer._loadNanooTvFrame(c,a,b)}else{BPlayer._loadNanooTvPoster(c,a,b)}},_loadNanooTvPoster:function(f,a,b){if(jQuery("#mediaelementplayercss").length==0){var d=BPlayer._mediaElementBaseUrl();var e=d+(BPlayer.debugEnabled?"mediaelementplayer.css":"mediaelementplayer.min.css");jQuery("<link>").appendTo("head").attr({id:"mediaelementplayercss",type:"text/css",rel:"stylesheet"}).attr("href",e)}BPlayer._loadNanooResize(f,a,b);var g="<div id='"+a+"' class='mejs__container' role='application' style='width:"+b.width+"px; height:"+b.height+"px; overflow:hidden; overflow-x:hidden; overflow-y:hidden;'><div class='mejs__layers'><div class='mejs__poster mejs__layer' style='background-image: url("+b.image+"); width: 100%; height: 100%;'><img src='"+b.image+"' width='0' height='0'></img></div><div class='mejs__overlay mejs__layer mejs__overlay-play' style='width: 100%; height: 100%; z-index:10;'><div class='mejs__overlay-button' style='z-index:10;' role='button' tabindex='0' aria-label='Play' aria-pressed='false'></div></div></div></div>";var c=jQuery("#"+f);c.append(jQuery(g));c.css("border","none");jQuery("#"+f+" div.mejs__overlay-button").on("click",function(k,j){var h={file:b.file,width:b.width,height:b.height,autostart:true};BPlayer._loadNanooTvFrame(f,a,h)})},_loadNanooTvFrame:function(h,b,d){for(i=jQuery("#"+b).length;i-->0;){jQuery("#"+b).remove()}BPlayer._loadNanooResize(h,b,d);var c=d.file;var g=c.split("?");var a=g[0].substring(c.lastIndexOf("/")+1);if(d.autostart){c="https://www.nanoo.tv/link/w/"+a}else{c="https://www.nanoo.tv/link/n/"+a}var f='<iframe name="'+b+'" id="'+b+'" src="'+c+'" style="width:'+d.width+"px; height:"+d.height+'px; overflow:hidden;" frameborder="0" allow="fullscreen" allowfullscreen="true"></iframe>';var e=jQuery("#"+h);e.append(jQuery(f));e.css("border","none")},_loadNanooResize:function(f,h,d){try{var m=jQuery("#"+f);var a=m.parent("p , div");if(a.length==1&&typeof d.width!=="undefined"&&typeof d.height!=="undefined"){var n=jQuery(a).width();var c=d.width;var g=d.height;if(n&&n<c){var l=g/c;var j=n;var b=((n*l)|0);d.width=j;d.height=b}jQuery(window).resize(function(){var e=jQuery("#"+f).parent("p , div");var p=jQuery(e).width();if(p&&p<c){var q=g/c;var o=p;var r=((p*q)|0);jQuery("#"+h).width(o+"px").height(r+"px")}}).trigger("resize")}}catch(k){if(window.console){console.log(k)}}},_loadJWPlayer:function(a){if(BPlayer._isIE8()&&domId!="prev_container"&&jQuery("#"+domId).is("span")){alert("This is video is not supported on Internet Explorer 8. Sorry for the inconvenience")}else{jQuery.getScript(BPlayer._jwPlayerBaseUrl()+"player.jw.js",function(){if(a){a()}})}},_needJWPlayerFallback:function(a){if(a.provider=="rtmp"){if(a.file.match(/(.*)\/((flv|mp4|mp3):.*)/)){return false}else{return true}}return false},_insertHTML5MediaElementPlayerWorker:function(e,d){var k=BPlayer._mediaElementBaseUrl();var l={loop:d.repeat,pluginPath:k,stretching:"responsive",hls:{path:k+"hls/hls.min.js"},flv:{path:k+"flv/flv.min.js",withCredentials:true},error:d.errorCallback,success:function(o,q,p){if(d.start){p.load();o.addEventListener("canplay",function(){try{o.removeEventListener("canplay");p.setCurrentTime(d.start);p.play();if(!d.autostart){setTimeout(function(){p.pause()},100)}}catch(s){if(window.console){console.log(s)}}})}else{if(d.autostart){try{p.load();p.play()}catch(r){if(window.console){console.log(r)}}}}}};var a=null;var n=d.file.split(".").pop().toLowerCase().split("&").shift();if(d.provider=="sound"){if(n=="mp3"){a="audio/mp3"}else{if(n=="aac"){a="audio/aac"}else{if(n=="m4a"){a="audio/mp4"}}}}else{if(d.provider=="youtube"){a="video/youtube"}else{if(d.provider=="vimeo"){a="video/vimeo"}else{if(d.provider=="rtmp"){l.flashStreamer=d.streamer;a="video/rtmp"}else{if(d.provider=="http"){d.enablePseudoStreaming=true;if(n=="flv"){a="video/flv";l.renderers=["flash_video","native_flv"]}else{a="video/mp4"}}else{if(n=="flv"){a="video/flv";l.renderers=["flash_video","native_flv"]}else{if(n=="f4v"){a="video/flv"}else{if(n=="mp4"){a="video/mp4"}else{if(n=="m4v"){a="video/mp4"}else{if(n=="m3u8"){a="application/x-mpegURL"}else{if(n=="aac"){a="audio/mp4";d.provider="sound"}else{if(n=="mp3"){a="audio/mp3";d.provider="sound"}else{if(n=="m4a"){a="audio/mp4";d.provider="sound"}else{if(d.file.indexOf("vimeo.com")>-1){a="video/vimeo"}else{if(d.file.indexOf("youtube.com")>-1||d.file.indexOf("youtu.be")>-1||d.file.indexOf("youtube.be")>-1){a="video/youtube"}else{if(n.indexOf("mp4?")==0){a="video/mp4"}else{if(d.file.indexOf("openmeetings/recording")>0){a="video/mp4"}else{alert("Something go badly wrong!"+d.provider+"  "+n)}}}}}}}}}}}}}}}}}var j;var c=e+"_oo"+Math.floor(Math.random()*1000000)+"vid";var f=e+"_oo"+Math.floor(Math.random()*1000000)+"obj";if(d.provider=="sound"){if(d.height){l.audioHeight=d.height}if(d.width){l.audioWidth=d.width}j="<audio id='"+c+"' controls='controls' oncontextmenu='return false;'";if(typeof d.repeat!="undefined"&&d.repeat){j+=" loop='loop'"}var b="<object id='"+f+"' type='application/x-shockwave-flash'";if(typeof d.height!="undefined"){j+=" height='"+d.height+"'";b+=" height='"+d.height+"'";l.videoHeight=d.height}if(typeof d.width!="undefined"){j+=" width='"+d.width+"'";b+=" width='"+d.width+"'";l.videoWidth=d.width}if(typeof d.image!="undefined"){j+=" poster='"+d.image+"'"}j+="><source type='"+a+"' src='"+d.file+"'>";var g="mediaelement-flash-video.swf";if(a=="audio/mp3"){g="mediaelement-flash-audio.swf"}else{if(a=="audio/ogg"){g="mediaelement-flash-audio-ogg.swf"}}j+=b+" data='"+k+g+"'>";j+="<param name='movie' value='"+k+g+"' />";j+="<param name='flashvars' value='controls=true&amp;";if(typeof d.streamer!="undefined"){j+="&amp;streamer="+d.streamer}j+="&amp;file="+d.file+"' /></object>";j+="</audio>"}else{j="<video id='"+c+"' controls='controls' preload='none' oncontextmenu='return false;'";if(typeof d.repeat!="undefined"&&d.repeat){j+=" loop='loop'"}var b="<object id='"+f+"' type='application/x-shockwave-flash'";if(typeof d.height!="undefined"){l.videoHeight=d.height}if(typeof d.width!="undefined"){l.videoWidth=d.width}if(typeof d.image!="undefined"){j+=" poster='"+d.image+"'"}j+="><source type='"+a+"' src='"+d.file+"' />";j+=b+" data='"+k+"mediaelement-flash-video.swf'>";j+="<param name='movie' value='"+k+"mediaelement-flash-video.swf' />";j+="<param name='flashvars' value='controls=true";if(typeof d.streamer!="undefined"){j+="&amp;streamer="+d.streamer}j+="&amp;file="+d.file+"' /></object></video>"}var h=jQuery("#"+e);h.css({height:""});h.css({border:"none"});if(jQuery(window).width()<=d.width){h.css({width:""})}h.html(j);if(a=="video/vimeo"){var k=BPlayer._mediaElementBaseUrl();var m=k+(BPlayer.debugEnabled?"renderers/vimeo.js":"renderers/vimeo.min.js");jQuery.ajax({dataType:"script",cache:true,async:false,url:m}).done(function(){jQuery("#"+c).mediaelementplayer(l)})}else{jQuery("#"+c).mediaelementplayer(l)}},_mediaElementBaseUrl:function(){var a=BPlayer._findBaseUrl(window);if(a==null){a="/olat/raw/_noversion_/"}a+="movie/mediaelementjs/";return a},_isIE8:function(){return(jQuery.support.opacity==false)},_jwPlayerBaseUrl:function(){var a=BPlayer._findBaseUrl(window);if(a==null){a="/olat/raw/_noversion_/"}a+="movie/jw/";return a},_findBaseUrl:function(a){if(a.o_info){return a.o_info.o_baseURI}else{if(a.opener){return BPlayer._findBaseUrl(a.opener)}else{if(a.parent){return BPlayer._findBaseUrl(a.parent)}else{return null}}}},_convertInSeconds:function(d){if(typeof d=="undefined"||d==null){return 0}if(!d.length){return d}if(d.length==0){return 0}if(d.indexOf(".")>0){d=d.substring(0,d.indexOf("."))}var e=d.lastIndexOf(":");if(e>0){var c=d.substring(e+1,d.length);var a=parseInt(c);d=d.substring(0,e);e=d.lastIndexOf(":");if(e>0){var b=d.substring(e+1,d.length);a+=60*parseInt(b)}d=d.substring(0,e);if(d.length>0){a+=60*60*parseInt(d)}return a}else{return d}},_isOODebug:function(a){if(a.o_info){return a.o_info.debug}else{if(a.opener){return BPlayer._isOODebug(a.opener)}else{if(a.parent){return BPlayer._isOODebug(a.parent)}else{return false}}}}};BPlayer.debugEnabled=BPlayer._isOODebug(window);
\ No newline at end of file
diff --git a/src/test/java/org/olat/selenium/page/user/UserProfilePage.java b/src/test/java/org/olat/selenium/page/user/UserProfilePage.java
index d40714a8a1a6cb20a7fee7923791eef4ed01b608..b2f31b4059f843f4902efb12e4a72956c80c55a5 100644
--- a/src/test/java/org/olat/selenium/page/user/UserProfilePage.java
+++ b/src/test/java/org/olat/selenium/page/user/UserProfilePage.java
@@ -46,7 +46,12 @@ public class UserProfilePage {
 	 */
 	public UserProfilePage assertOnProfile() {
 		By profileSegmentBy = By.cssSelector("div.o_segments a.btn.o_sel_usersettings_profile");
-		OOGraphene.waitElement(profileSegmentBy, 5, browser);
+		try {
+			OOGraphene.waitElement(profileSegmentBy, browser);
+		} catch (Exception e) {
+			OOGraphene.takeScreenshot("Assertonprofile", browser);
+			throw e;
+		}
 		WebElement profileSegmentEl = browser.findElement(profileSegmentBy);
 		Assert.assertTrue(profileSegmentEl.isDisplayed());
 		return this;