text: /*!
   * UI development toolkit for HTML5 (OpenUI5)
   * (c) Copyright 2009-2017 SAP SE or an SAP affiliate company.
   * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
   */
  sap.ui.define(['jquery.sap.global','sap/ui/thirdparty/URI','sap/ui/Device','sap/ui/test/_LogCollector','sap/ui/test/autowaiter/_autoWaiter'],function(q,U,D,_,a){"use strict";var l="sap.ui.test.Opa5",$=q,f=null,F=null,o=null,b=null,c=null,r=false,u=false,A=null,d=null;function h(){f=F[0].contentWindow;e();g();}function e(){var i=f.onerror;f.onerror=function(E,w,L){var R=false;if(i){R=i.apply(this,arguments);}setTimeout(function(){throw new Error("OpaFrame error message: "+E+",\nurl: "+w+",\nline: "+L);},0);return R;};}function g(){if(u){return true;}if(f&&f.sap&&f.sap.ui&&f.sap.ui.getCore){if(!r){f.sap.ui.getCore().attachInit(k);}r=true;}return u;}function j(i){f.sap.ui.require(["sap/ui/thirdparty/sinon"],function(w){if(!w){setTimeout(function(){j(i);},50);}else{i();}});}function k(){n();if(D.browser.firefox){j(s);}else{s();}}function m(){c.sap.log.addLogListener(_.getInstance()._oListener);u=true;}function n(){c=f.jQuery;t("sap.ui.test");t("sap.ui.qunit");t("sap.ui.thirdparty");}function p(i,H,w){var x=new w(),y=new H(x),O=i.setHash,z=i.getHash,C,K=false,B=f.history.go;i.replaceHash=function(I){K=true;var J=this.getHash();C=I;x.fireEvent("hashReplaced",{sHash:I});this.changed.dispatch(I,J);};i.setHash=function(I){K=true;var R=z.call(this);C=I;x.fireEvent("hashSet",{sHash:I});O.apply(this,arguments);if(R===this.getHash()){this.changed.dispatch(R,y.aHistory[y.iHistoryPosition]);}};i.getHash=function(){if(C===undefined){return z.apply(this,arguments);}return C;};i.changed.add(function(N){if(!K){x.fireEvent("hashSet",{sHash:N});C=N;}K=false;});x.init();function E(){K=true;var N=y.aHistory[y.iHistoryPosition],I=y.getPreviousHash();C=I;i.changed.dispatch(I,N);}function G(){K=true;var N=y.aHistory[y.iHistoryPosition+1],I=y.aHistory[y.iHistoryPosition];if(N===undefined){q.sap.log.error("Could not navigate forwards, there is no history entry in the forwards direction",this);return;}C=N;i.changed.dispatch(N,I);}f.history.back=E;f.history.forward=G;f.history.go=function(S){if(S===-1){E();return;}else if(S===1){G();return;}q.sap.log.error("Using history.go with a number greater than 1 is not supported by OPA5",this);return B.apply(f.history,arguments);};}function s(){f.sap.ui.require(["sap/ui/test/OpaPlugin","sap/ui/test/autowaiter/_autoWaiter","sap/ui/qunit/QUnitUtils","sap/ui/thirdparty/hasher","sap/ui/core/routing/History","sap/ui/core/routing/HashChanger"],function(O,a,Q,i,H,w){o=new O(l);A=a;b=Q;p(i,H,w);d=w;m();});}function t(M){var O=q.sap.getModulePath(M);var i=new U(O).absoluteTo(document.baseURI).search("").toString();c.sap.registerModulePath(M,i);}function v(){if(!f){throw new Error("sap.ui.test.launchers.iFrameLauncher: Teardown has been called but there was no start");}f.onerror=$.noop;for(var i=0;i<F.length;i++){F[0].src="about:blank";F[0].contentWindow.document.write('');F[0].contentWindow.close();}if(typeof CollectGarbage=="function"){CollectGarbage();}F.remove();c=null;o=null;b=null;f=null;u=false;r=false;A=null;d=null;}return{launch:function(i){if(f){$.sap.log.error("sap.ui.test.launchers.iFrameLauncher: Only one IFrame may be loaded at a time.");return;}F=$("#"+i.frameId);if(!F.length){if(!i.source){$.sap.log.error("No source was given to launch the IFrame",this);}F=$('<IFrame id="'+i.frameId+'" class="opaFrame" src="'+i.source+'"></IFrame>');$("body").append(F);}if(F[0].contentDocument&&F[0].contentDocument.readyState==="complete"){h();}else{F.on("load",h);}return g();},getHashChanger:function(){if(!d){return null;}return d.getInstance();},getPlugin:function(){return o;},getJQuery:function(){return c;},getUtils:function(){return b;},hasLaunched:function(){g();return u;},getWindow:function(){return f;},_getAutoWaiter:function(){return A||a;},teardown:function(){v();},_sLogPrefix:l};},true);
  