window["sap-ui-optimized"]=true;try{ /*! * UI development toolkit for HTML5 (OpenUI5) * (c) Copyright 2009-2018 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ if(!('baseURI'in Node.prototype)){Object.defineProperty(Node.prototype,'baseURI',{get:function(){var d=this.ownerDocument||this,b=d.querySelector("base[href]")||window.location;return b.href;},configurable:true});} /* the subsequent text seems not to contain a copyright or license statement */ if(typeof Object.assign!='function'){Object.defineProperty(Object,"assign",{value:function assign(t,v){'use strict';if(t==null){throw new TypeError('Cannot convert undefined or null to object');}t=Object(t);for(var i=1;i * MIT License * @author Mathias Bynens * @version v0.2.0 */ if(!String.prototype.startsWith){(function(){'use strict';var t={}.toString;var s=function(a){if(this==null){throw TypeError();}var b=String(this);if(a&&t.call(a)=='[object RegExp]'){throw TypeError();}var c=b.length;var d=String(a);var e=d.length;var p=arguments.length>1?arguments[1]:undefined;var f=p?Number(p):0;if(f!=f){f=0;}var g=Math.min(Math.max(f,0),c);if(e+g>c){return false;}var i=-1;while(++i * MIT License * @author Mathias Bynens * @version v0.2.0 */ if(!String.prototype.endsWith){(function(){'use strict';var t={}.toString;var e=function(s){if(this==null){throw TypeError();}var a=String(this);if(s&&t.call(s)=='[object RegExp]'){throw TypeError();}var b=a.length;var c=String(s);var d=c.length;var p=b;if(arguments.length>1){var f=arguments[1];if(f!==undefined){p=f?Number(f):0;if(p!=p){p=0;}}}var g=Math.min(Math.max(p,0),b);var h=g-d;if(h<0){return false;}var i=-1;while(++i * MIT License * @author Mathias Bynens * @version v1.0.0 */ if(!String.prototype.includes){(function(){'use strict';var t={}.toString;var i=''.indexOf;var a=function(s){if(this==null){throw TypeError();}var b=String(this);if(s&&t.call(s)=='[object RegExp]'){throw TypeError();}var c=b.length;var d=String(s);var e=d.length;var p=arguments.length>1?arguments[1]:undefined;var f=p?Number(p):0;if(f!=f){f=0;}var g=Math.min(Math.max(f,0),c);if(e+g>c){return false;}return i.call(b,d,f)!=-1;};Object.defineProperty(String.prototype,'includes',{'value':a,'configurable':true,'writable':true});}());} /** @license * String.prototype.repeat * MIT License * @author Mathias Bynens * @version v0.2.0 */ if(!String.prototype.repeat){(function(){'use strict';var r=function(c){if(this==null){throw TypeError();}var s=String(this);var n=c?Number(c):0;if(n!=n){n=0;}if(n<0||n==Infinity){throw RangeError();}var a='';while(n){if(n%2==1){a+=s;}if(n>1){s+=s;}n>>=1;}return a;};Object.defineProperty(String.prototype,'repeat',{'value':r,'configurable':true,'writable':true});}());} /** @license * String.prototype.padStart * MIT License * @author Behnam Mohammadi * @version v1.0.1 */ if(!String.prototype.padStart){String.prototype.padStart=function padStart(t,p){t=t>>0;p=String((typeof p!=='undefined'?p:' '));if(this.length>t){return String(this);}else{t=t-this.length;if(t>p.length){p+=p.repeat(t/p.length);}return p.slice(0,t)+String(this);}};} /** @license * String.prototype.padEnd * MIT License * @author Behnam Mohammadi * @version v1.0.1 */ if(!String.prototype.padEnd){String.prototype.padEnd=function padEnd(t,p){t=t>>0;p=String((typeof p!=='undefined'?p:' '));if(this.length>t){return String(this);}else{t=t-this.length;if(t>p.length){p+=p.repeat(t/p.length);}return String(this)+p.slice(0,t);}};} /*! * UI development toolkit for HTML5 (OpenUI5) * (c) Copyright 2009-2018 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ (function(__global){"use strict";function pathOnly(h){var p=h.search(/[?#]/);return p<0?h:h.slice(0,p);}function docBase(){return pathOnly(document.baseURI);}var resolveURL=(function(_){try{if(!/localhost/.test(new _('index.html','http://localhost:8080/'))){_=null;}}catch(e){_=null;}if(_){return function(u,B){return new _(u,B?new _(B,docBase()):docBase()).toString();};}var d=document.implementation.createHTMLDocument("Dummy doc for resolveURI");var b=d.createElement('base');b.href=docBase();d.head.appendChild(b);var a=d.createElement("A");d.body.appendChild(a);return function(u,B){b.href=docBase();if(B!=null){a.href=B;b.href=a.href;}a.href=u;return a.href;};}(__global.URL||__global.webkitURL));function noop(){}function forEach(o,c){Object.keys(o).forEach(function(k){c(k,o[k]);});}var log={debug:noop,info:noop,warning:noop,error:noop,isLoggable:noop};var assert=noop;var measure;var translate;var strictModuleDefinitions=true;var bGlobalAsyncMode=false;var bExposeAsAMDLoader=false;var syncCallBehavior=0;var DEFAULT_BASE_URL="./";var vOriginalDefine;var vOriginalRequire;var mUrlPrefixes=Object.create(null);mUrlPrefixes['']={url:DEFAULT_BASE_URL,absoluteUrl:resolveURL(DEFAULT_BASE_URL,document.baseURI)};var mMaps=Object.create(null),mShims=Object.create(null),mDepCache=Object.create(null),bDebugSources=false,fnIgnorePreload;var mModules=Object.create(null),bForceSyncDefines=null,_execStack=[],sLogPrefix="",iAnonymousModuleCount=0,MAX_EXEC_SCRIPT_LENGTH=512*1024;function urnToUI5(n){if(!/\.js$/.test(n)){return undefined;}n=n.slice(0,-3);if(/^jquery\.sap\./.test(n)){return n;}return n.replace(/\//g,".");}function urnToIDAndType(r){var b=r.lastIndexOf('/'),d=r.lastIndexOf('.');if(d>b){return{id:r.slice(0,d),type:r.slice(d)};}return{id:r,type:''};}var rJSSubTypes=/(\.controller|\.fragment|\.view|\.designtime|\.support)?.js$/;function urnToBaseIDAndSubType(r){var m=rJSSubTypes.exec(r);if(m){return{baseID:r.slice(0,m.index),subType:m[0]};}}var rDotSegmentAnywhere=/(?:^|\/)\.+(?=\/|$)/;var rDotSegment=/^\.*$/;function normalize(r,b){var p=r.search(rDotSegmentAnywhere),s,S,i,j,l;if(p<0){return r;}if(p===0){if(b==null){throw new Error("relative name not supported ('"+r+"'");}r=b.slice(0,b.lastIndexOf('/')+1)+r;}s=r.split('/');for(i=0,j=0,l=s.length;i0&&!mUrlPrefixes[n]){p=n.lastIndexOf('/');n=p>0?n.slice(0,p):'';}assert((p>0||n==='')&&mUrlPrefixes[n],"there always must be a mapping");P=mUrlPrefixes[n].url+r.slice(p+1);if(P.slice(-1)==='/'){P=P.slice(0,-1);}return P+(s||'');}function getSyncCallBehavior(){return syncCallBehavior;}function guessResourceName(u){var n,U,r;u=pathOnly(resolveURL(u));for(n in mUrlPrefixes){U=mUrlPrefixes[n].absoluteUrl.slice(0,-1);if(u.indexOf(U)===0){r=n+u.slice(U.length);if(r.charAt(0)==='/'){r=r.slice(1);}if(mModules[r]&&mModules[r].data){return r;}}}}function findMapForContext(c){var p,m;if(c!=null){c=urnToIDAndType(c).id;p=c.length;m=mMaps[c];while(p>0&&m==null){p=c.lastIndexOf('/');if(p>0){c=c.slice(0,p);m=mMaps[c];}}}return m||mMaps['*'];}function getMappedName(r,R){var m=findMapForContext(R),P,p;r=normalize(r,R);if(m!=null){P=urnToIDAndType(r).id;p=P.length;while(p>0&&m[P]==null){p=P.lastIndexOf('/');P=p>0?P.slice(0,p):'';}if(p>0){if(log.isLoggable()){log.debug('module ID '+r+" mapped to "+m[P]+r.slice(p));}return m[P]+r.slice(p);}}return r;}function getGlobalObject(o,n,l,c){for(var i=0;o&&i1){log.error("[nosync] getGlobalProperty called to retrieve global name '"+n+"'");}return getGlobalObject(__global,N,N.length);}function setGlobalProperty(n,v){var N=n?n.split("."):[],o;if(N.length>0){o=getGlobalObject(__global,N,N.length-1,true);o[N[N.length-1]]=v;}}var INITIAL=0,PRELOADED=-1,LOADING=1,LOADED=2,EXECUTING=3,READY=4,FAILED=5,NOT_YET_DETERMINED={};function Module(n){this.name=n;this.state=INITIAL;this.settled=false;this.url=this._deferred=this.data=this.group=this.error=this.pending=null;this.content=NOT_YET_DETERMINED;}Module.prototype.deferred=function(){if(this._deferred==null){var d=this._deferred={};d.promise=new Promise(function(r,a){d.resolve=r;d.reject=a;});d.promise.catch(noop);}return this._deferred;};Module.prototype.api=function(){if(this._api==null){this._exports={};this._api={id:this.name.slice(0,-3),exports:this._exports,url:this.url,config:noop};}return this._api;};Module.prototype.ready=function(v){assert(!this.settled,"Module "+this.name+" is already settled");this.state=READY;this.settled=true;if(arguments.length>0){this.content=v;}this.deferred().resolve(this.value());if(this.aliases){v=this.value();this.aliases.forEach(function(a){Module.get(a).ready(v);});}};Module.prototype.fail=function(e){assert(!this.settled,"Module "+this.name+" is already settled");this.settled=true;if(this.state!==FAILED){this.state=FAILED;this.error=e;this.deferred().reject(e);if(this.aliases){this.aliases.forEach(function(a){Module.get(a).fail(e);});}}};Module.prototype.addPending=function(d){(this.pending||(this.pending=[])).push(d);};Module.prototype.addAlias=function(a){(this.aliases||(this.aliases=[])).push(a);Module.get(a).addPending(this.name);};Module.prototype.preload=function(u,d,b){if(this.state===INITIAL&&!(fnIgnorePreload&&fnIgnorePreload(this.name))){this.state=PRELOADED;this.url=u;this.data=d;this.group=b;}return this;};Module.prototype.value=function(){if(this.state===READY){if(this.content===NOT_YET_DETERMINED){var s=mShims[this.name],e=s&&(Array.isArray(s.exports)?s.exports[0]:s.exports);this.content=getGlobalProperty(e||urnToUI5(this.name));}return this.content;}return undefined;};Module.prototype.dependsOn=function(d){var a=d.name,v=Object.create(null);function b(m){if(!v[m]){v[m]=true;var p=mModules[m]&&mModules[m].pending;return Array.isArray(p)&&(p.indexOf(a)>=0||p.some(b));}return false;}return this.name===a||b(this.name);};Module.get=function(m){return mModules[m]||(mModules[m]=new Module(m));};function ensureStacktrace(e){if(!e.stack){try{throw e;}catch(a){return a;}}return e;}function makeNestedError(m,c){var e=new Error(m+": "+c.message);e.cause=c;e.loadError=c.loadError;ensureStacktrace(e);ensureStacktrace(c);if(e.stack&&c.stack){try{e.stack=e.stack+"\nCaused by: "+c.stack;}catch(a){}}return e;}function declareModule(m){var M;assert(/\.js$/.test(m),"must be a Javascript module");M=Module.get(m);if(M.state>INITIAL){return M;}if(log.isLoggable()){log.debug(sLogPrefix+"declare module '"+m+"'");}M.state=READY;return M;}function defineModuleSync(r,v){Module.get(r).ready(v);}var queue=new function ModuleDefinitionQueue(){var q=[],r=0,t;this.push=function(n,d,f,_){if(log.isLoggable()){log.debug("pushing define from "+(document.currentScript&&document.currentScript.src));}q.push({name:n,deps:d,factory:f,_export:_,guess:document.currentScript&&document.currentScript.getAttribute('data-sap-ui-module')});if(!t){t=setTimeout(this.process.bind(this,null));}};this.clear=function(){q=[];if(t){clearTimeout(t);t=null;}};this.process=function(R){var l=log.isLoggable(),c=r++,Q=q,m=null;this.clear();if(R){if(R.execError){if(l){log.debug("module execution error detected, ignoring queued define calls ("+Q.length+")");}R.fail(R.execError);return;}}m=R&&R.name;Q.forEach(function(e){if(e.name==null){if(m!=null){e.name=m;m=null;}else{if(strictModuleDefinitions){var E=new Error("Modules that use an anonymous define() call must be loaded with a require() call; "+"they must not be executed via script tag or nested into other modules. ");if(R){R.fail(E);}else{throw E;}}e.name='~anonymous~'+(++iAnonymousModuleCount)+'.js';log.error("Modules that use an anonymous define() call must be loaded with a require() call; "+"they must not be executed via script tag or nested into other modules. "+"All other usages will fail in future releases or when standard AMD loaders are used. "+"Now using substitute name "+e.name);}}else if(R&&e.name===R.name){if(m==null&&!strictModuleDefinitions){log.error("Duplicate module definition: both, an unnamed module and a module with the expected name exist."+"This use case will fail in future releases or when standard AMD loaders are used. ");}m=null;}});if(m&&Q.length>0){if(l){log.debug("No queued module definition matches the ID of the request. "+"Now assuming that the first definition '"+Q[0].name+"' is an alias of '"+m+"'");}Module.get(Q[0].name).addAlias(m);m=null;}if(l){log.debug("processing define queue "+c+(R?" for "+R.name:"")+" with "+Q.map(function(e){return e.name;}));}Q.forEach(function(e){executeModuleDefinition(e.name,e.deps,e.factory,e._export,true);if(l){log.debug("define called for "+e.name);}});if(m!=null&&!R.settled){if(l){log.debug("no queued module definition for the requested module found, assume the module to be ready");}R.data=undefined;R.ready();}if(l){log.debug("processing define queue done "+c);}};}();function loadSyncXHR(m){var x=new XMLHttpRequest();function a(b){b=b||ensureStacktrace(new Error(x.status+" - "+x.statusText));b.status=x.status;b.statusText=x.statusText;b.loadError=true;return b;}x.addEventListener('load',function(e){if(x.status===200||x.status===0){m.state=LOADED;m.data=x.responseText;}else{m.error=a();}});x.addEventListener('error',function(e){m.error=a();});x.open('GET',m.url,false);try{x.send();}catch(b){m.error=a(b);}}if('currentScript'in document){window.addEventListener('error',function onUncaughtError(e){var m=document.currentScript&&document.currentScript.getAttribute('data-sap-ui-module');var M=m&&Module.get(m);if(M&&M.execError==null){if(log.isLoggable()){log.debug("unhandled exception occurred while executing "+m+": "+e.message);}M.execError=e.error||{name:'Error',message:e.message};return false;}});}function loadScript(m,a){var s;function o(e){if(log.isLoggable()){log.debug("Javascript resource loaded: "+m.name);}s.removeEventListener('load',o);s.removeEventListener('error',b);queue.process(m);}function b(e){s.removeEventListener('load',o);s.removeEventListener('error',b);if(a){log.warning("retry loading Javascript resource: "+m.name);if(s&&s.parentNode){s.parentNode.removeChild(s);}m.url=a;loadScript(m,null);return;}log.error("failed to load Javascript resource: "+m.name);m.fail(ensureStacktrace(new Error("failed to load '"+m.name+"' from "+m.url+": script load error")));}s=document.createElement('SCRIPT');s.src=m.url;s.setAttribute("data-sap-ui-module",m.name);if(a!==undefined){s.addEventListener('load',o);s.addEventListener('error',b);}document.head.appendChild(s);}function preloadDependencies(m){var k=mDepCache[m];if(Array.isArray(k)){log.debug("preload dependencies for "+m+": "+k);k.forEach(function(d){d=getMappedName(d,m);if(/\.js$/.test(d)){requireModule(null,d,true);}});}}function requireModule(r,m,a,s){var l=log.isLoggable(),S=urnToBaseIDAndSubType(m),o=mShims[m],M,e,i,b,E;if(!S){throw new Error("can only require Javascript module, not "+m);}if(m[0]=="/"){log.error("Module names that start with a slash should not be used, as they are reserved for future use.");}M=Module.get(m);if(o&&o.deps&&!s){if(l){log.debug("require dependencies of raw module "+m);}return requireAll(M,o.deps,function(){return requireModule(r,m,a,true);},function(c){M.fail(c);if(a){return;}throw c;},a);}if(l){log.debug(sLogPrefix+"require '"+m+"' of type '"+S.subType+"'");}if(M.state!==INITIAL){if(M.state===PRELOADED){M.state=LOADED;M.async=a;E=true;measure&&measure.start(m,"Require module "+m+" (preloaded)",["require"]);execModule(m,a);measure&&measure.end(m);}if(M.state===READY){if(l){log.debug(sLogPrefix+"module '"+m+"' has already been loaded (skipped).");}return a?Promise.resolve(M.value()):M.value();}else if(M.state===FAILED){if(a){return M.deferred().promise;}else{throw(E?M.error:makeNestedError("found in negative cache: '"+m+"' from "+M.url,M.error));}}else{if(a){if(r&&M.dependsOn(r)){if(log.isLoggable()){log.debug("cycle detected between '"+r.name+"' and '"+m+"', returning undefined for '"+m+"'");}return Promise.resolve(undefined);}return M.deferred().promise;}if(!a&&!M.async){if(log.isLoggable()){log.debug("cycle detected between '"+(r?r.name:"unknown")+"' and '"+m+"', returning undefined for '"+m+"'");}return undefined;}log.warning("Sync request triggered for '"+m+"' while async request was already pending."+" Loading a module twice might cause issues and should be avoided by fully migrating to async APIs.");}}measure&&measure.start(m,"Require module "+m,["require"]);M.state=LOADING;M.async=a;e=bDebugSources?["-dbg",""]:[""];if(!a){for(i=0;i=READY&&a&&m.async===false){log.warning("Repeated module execution skipped after async/sync conflict for "+m.name);return true;}if(strictModuleDefinitions&&a){log.warning("Module '"+m.name+"' has been defined more than once. "+"All but the first definition will be ignored, don't try to define the same module again.");return true;}if(!b){log.error("Module '"+m.name+"' is executed more than once. "+"This is an unsupported scenario and will fail in future versions of UI5 or "+"when a standard AMD loader is used. Don't define the same module again.");b=true;}}}if(s()){return;}m.content=undefined;requireAll(m,d,function(M){if(s()){return;}if(l){log.debug("define("+r+"): calling factory "+typeof f);}if(e&&syncCallBehavior!==2){var p=r.split('/');if(p.length>1){getGlobalObject(__global,p,p.length-1,true);}}if(typeof f==='function'){try{var c=f.apply(__global,M);if(m._api&&m._api.exports!==undefined&&m._api.exports!==m._exports){c=m._api.exports;}else if(c===undefined&&m._exports){c=m._exports;}m.content=c;}catch(g){m.fail(g);if(a){return;}throw g;}}else{m.content=f;}if(e&&syncCallBehavior!==2){if(m.content==null){log.error("Module '"+r+"' returned no content, but should export to global?");}else{if(l){log.debug("exporting content of '"+r+"': as global object");}var h=urnToUI5(r);setGlobalProperty(h,m.content);}}m.ready();},function(E){m.fail(E);if(!a){throw E;}},a);}function ui5Define(m,d,f,e){var r,c;if(typeof m==='string'){r=m+'.js';}else{e=f;f=d;d=m;r=null;}if(!Array.isArray(d)){e=f;f=d;if(typeof f==='function'&&f.length>0){d=['require','exports','module'].slice(0,f.length);}else{d=[];}}if(bForceSyncDefines===false||(bForceSyncDefines==null&&bGlobalAsyncMode)){queue.push(r,d,f,e);if(r!=null){var M=Module.get(r);if(M.state===INITIAL){M.state=EXECUTING;M.async=true;}}return;}c=_execStack.length>0?_execStack[_execStack.length-1]:null;if(!r){if(c&&!c.used){r=c.name;c.used=true;}else{r='~anonymous~'+(++iAnonymousModuleCount)+'.js';if(c){r=c.name.slice(0,c.name.lastIndexOf('/')+1)+r;}log.error("Modules that use an anonymous define() call must be loaded with a require() call; "+"they must not be executed via script tag or nested into other modules. "+"All other usages will fail in future releases or when standard AMD loaders are used "+"or when ui5loader runs in async mode. Now using substitute name "+r);}}else if(c&&!c.used&&r!==c.name){log.debug("module names don't match: requested: "+m+", defined: ",c.name);Module.get(c.name).addAlias(m);}executeModuleDefinition(r,d,f,e,false);}function amdDefine(m,d,f){var a=arguments;var e=typeof a[a.length-1]==="boolean";if(e){a=Array.prototype.slice.call(a,0,a.length-1);}ui5Define.apply(this,a);}amdDefine.amd={};function createContextualRequire(c,a){var r=function(d,C,e){var m;assert(typeof d==='string'||Array.isArray(d),"dependency param either must be a single string or an array of strings");assert(C==null||typeof C==='function',"callback must be a function or null/undefined");assert(e==null||typeof e==='function',"error callback must be a function or null/undefined");if(typeof d==='string'){m=getMappedName(d+'.js',c);var M=Module.get(m);if(a&&M.state!==EXECUTING&&M.state!==READY){throw new Error("Module '"+m+"' has not been loaded yet. "+"Use require(['"+m+"']) to load it.");}return M.value();}requireAll(c,d,function(b){if(typeof C==='function'){if(bGlobalAsyncMode){C.apply(__global,b);}else{setTimeout(function(){C.apply(__global,b);},0);}}},function(E){if(typeof e==='function'){if(bGlobalAsyncMode){e.call(__global,E);}else{setTimeout(function(){e.call(__global,E);},0);}}else{throw E;}},bGlobalAsyncMode);};r.toUrl=function(n){var m=ensureTrailingSlash(getMappedName(n,c),n);return toUrl(m);};return r;}function ensureTrailingSlash(n,i){if(i.slice(-1)==="/"&&n.slice(-1)!=="/"){return n+"/";}return n;}function toUrl(n){if(n.indexOf("/")===0){throw new Error("The provided argument '"+n+"' may not start with a slash");}return ensureTrailingSlash(getResourcePath(n),n);}var ui5Require=createContextualRequire(null,false);var amdRequire=createContextualRequire(null,true);function requireSync(m){m=getMappedName(m+'.js');return requireModule(null,m,false);}function predefine(m,d,f,e){if(typeof m!=='string'){throw new Error("predefine requires a module name");}m=normalize(m);Module.get(m+'.js').preload("/"+m,[m,d,f,e],null);}function preload(m,g,u){g=g||null;u=u||"";for(var n in m){n=normalize(n);Module.get(n).preload(u+"/"+n,m[n],g);}}function dumpInternals(t){var s=[PRELOADED,INITIAL,LOADED,READY,FAILED,EXECUTING,LOADING];var a={};a[PRELOADED]='PRELOADED';a[INITIAL]='INITIAL';a[LOADING]='LOADING';a[LOADED]='LOADED';a[EXECUTING]='EXECUTING';a[READY]='READY';a[FAILED]='FAILED';if(t==null){t=PRELOADED;}var i=log.isLoggable('INFO')?log.info.bind(log):console.info.bind(console);var m=Object.keys(mModules).sort();s.forEach(function(b){if(b0){e="waiting for "+p.join(", ");}}else if(o.state===FAILED){e=(o.error.name||"Error")+": "+o.error.message;}i(" "+(d+1)+" "+M+(e?" ("+e+")":""));c++;}});if(c===0){i(" none");}});}function getUrlPrefixes(){var u=Object.create(null);forEach(mUrlPrefixes,function(n,U){u[n]=U.url;});return u;}function unloadResources(n,p,u,d){var m=[],U,M;if(p==null){p=true;}if(p){for(U in mModules){M=mModules[U];if(M&&M.group===n){m.push(U);}}}else{if(mModules[n]){m.push(n);}}m.forEach(function(U){var M=mModules[U];if(M&&d&&U.match(/\.js$/)){setGlobalProperty(urnToUI5(U),undefined);}if(M&&(u||M.state===PRELOADED)){delete mModules[U];}});}function getModuleContent(n,u){if(n){n=getMappedName(n);}else{n=guessResourceName(u);}var m=n&&mModules[n];if(m){m.state=LOADED;return m.data;}else{return undefined;}}function getAllModules(){var s=Object.create(null);forEach(mModules,function(u,m){s[u]={state:m.state,ui5:urnToUI5(u)};});return s;}function loadJSResourceAsync(r,i){r=getMappedName(r);var p=requireModule(null,r,true);return i?p.catch(noop):p;}var mUI5ConfigHandlers={baseUrl:function(u){registerResourcePath("",u);},paths:registerResourcePath,shim:function(m,s){if(Array.isArray(s)){s={deps:s};}mShims[m+'.js']=s;},amd:function(v){v=!!v;if(bExposeAsAMDLoader!==v){bExposeAsAMDLoader=v;if(v){vOriginalDefine=__global.define;vOriginalRequire=__global.require;__global.define=amdDefine;__global.require=amdRequire;bGlobalAsyncMode=true;}else{__global.define=vOriginalDefine;__global.require=vOriginalRequire;}}},async:function(a){if(bGlobalAsyncMode&&!a){throw new Error("Changing the ui5loader config from async to sync is not supported. Only a change from sync to async is allowed.");}bGlobalAsyncMode=!!a;},debugSources:function(d){bDebugSources=!!d;},depCache:function(m,d){mDepCache[m+'.js']=d.map(function(a){return a+'.js';});},depCacheUI5:function(m,d){mDepCache[m]=d;},ignoreBundledResources:function(f){if(f==null||typeof f==='function'){fnIgnorePreload=f;}},map:function(c,m){if(m==null){delete mMaps[c];}else if(typeof m==='string'){mMaps['*'][c]=m;}else{mMaps[c]=mMaps[c]||Object.create(null);forEach(m,function(a,n){mMaps[c][a]=n;});}},reportSyncCalls:function(r){if(r===0||r===1||r===2){syncCallBehavior=r;}},noConflict:function(v){log.warning("Config option 'noConflict' has been deprecated, use option 'amd' instead, if still needed.");mUI5ConfigHandlers.amd(!v);}};var mAMDConfigHandlers={baseUrl:mUI5ConfigHandlers.baseUrl,paths:function(m,u){registerResourcePath(m,resolveURL(u,getResourcePath("")+"/"));},map:mUI5ConfigHandlers.map,shim:mUI5ConfigHandlers.shim};function handleConfigObject(c,h){function p(k,v){var a=h[k];if(typeof a==='function'){if(a.length===1){a(v);}else if(v!=null){forEach(v,a);}}else{log.warning("configuration option "+k+" not supported (ignored)");}}if(c.baseUrl){p("baseUrl",c.baseUrl);}forEach(c,function(k,v){if(k!=="baseUrl"){p(k,v);}});}function ui5Config(c){if(c===undefined){return{amd:bExposeAsAMDLoader,async:bGlobalAsyncMode,noConflict:!bExposeAsAMDLoader};}handleConfigObject(c,mUI5ConfigHandlers);}function amdConfig(c){if(c===undefined){return undefined;}handleConfigObject(c,mAMDConfigHandlers);}ui5Require.preload=preload;ui5Require.load=function(c,u,i){};var privateAPI={amdDefine:amdDefine,amdRequire:amdRequire,config:ui5Config,declareModule:function(r){declareModule(normalize(r));},defineModuleSync:defineModuleSync,dump:dumpInternals,getAllModules:getAllModules,getModuleContent:getModuleContent,getModuleState:function(r){return mModules[r]?mModules[r].state:INITIAL;},getResourcePath:getResourcePath,getSyncCallBehavior:getSyncCallBehavior,getUrlPrefixes:getUrlPrefixes,loadJSResourceAsync:loadJSResourceAsync,resolveURL:resolveURL,toUrl:toUrl,unloadResources:unloadResources};Object.defineProperties(privateAPI,{logger:{get:function(){return log;},set:function(v){log=v;}},measure:{get:function(){return measure;},set:function(v){measure=v;}},assert:{get:function(){return assert;},set:function(v){assert=v;}},translate:{get:function(){return translate;},set:function(v){translate=v;}}});__global.sap=__global.sap||{};sap.ui=sap.ui||{};sap.ui.loader={config:ui5Config,_:privateAPI};amdRequire.config=amdConfig;sap.ui.define=ui5Define;sap.ui.predefine=predefine;sap.ui.require=ui5Require;sap.ui.requireSync=requireSync;}(window));(function(){"use strict";var u=window.sap&&window.sap.ui&&window.sap.ui.loader,c=window['sap-ui-config']||{},b,n,s,r,i,B,a,E=false;function f(S,e){var U=S&&S.getAttribute("src"),M=e.exec(U);if(M){b=M[1]||"";B=S;a=U;n=/sap-ui-core-nojQuery\.js(?:\?|#|$)/.test(U);return true;}}function d(p){return p&&p[p.length-1]!=='/'?p+'/':p;}if(u==null){throw new Error("ui5loader-autoconfig.js: ui5loader is needed, but could not be found");}if(!f(document.querySelector('SCRIPT[src][id=sap-ui-bootstrap]'),/^((?:.*\/)?resources\/)/)){r=/^(.*\/)?(?:sap-ui-(?:core|custom|boot|merged)(?:-[^?#/]*)?|jquery.sap.global|ui5loader(?:-autoconfig)?)\.js(?:[?#]|$)/;s=document.scripts;for(i=0;i");var o=new Error("This is not a real error. Aborting UI5 bootstrap and rebooting from: "+R);o.name="Restart";throw o;}})();(function(){var U=/(?:^|\?|&)sap-ui-debug=([^&]*)(?:&|$)/.exec(window.location.search),D=U&&decodeURIComponent(U[1]);try{D=D||window.localStorage.getItem("sap-ui-debug");}catch(e){}D=D||(B&&B.getAttribute("data-sap-ui-debug"));if(typeof D==='string'){if(/^(?:false|true|x|X)$/.test(D)){D=D!=='false';}}else{D=!!D;}if(/-dbg\.js([?#]|$)/.test(a)){window['sap-ui-loaddbg']=true;D=D||true;}window["sap-ui-debug"]=D;if(window["sap-ui-optimized"]&&D){window['sap-ui-loaddbg']=true;if(D===true){var j;if(a!=null){j=a.replace(/\/(?:sap-ui-cachebuster\/)?([^\/]+)\.js/,"/$1-dbg.js");}else{j=d(b)+'sap-ui-core.js';}u.config({amd:false});window["sap-ui-optimized"]=false;if(u.config().async){var k=document.createElement("script");k.src=j;document.head.appendChild(k);}else{document.write("");}var R=new Error("This is not a real error. Aborting UI5 bootstrap and restarting from: "+j);R.name="Restart";throw R;}}function l(G){if(!/\/\*\*\/$/.test(G)){G=G.replace(/\/$/,'/**/');}return G.replace(/\*\*\/|\*|[[\]{}()+?.\\^$|]/g,function(M){switch(M){case'**/':return'(?:[^/]+/)*';case'*':return'[^/]*';default:return'\\'+M;}});}var I;if(typeof D==='string'){var p="^(?:"+D.split(/,/).map(l).join("|")+")",o=new RegExp(p);I=function(M){return o.test(M);};u._.logger.debug("Modules that should be excluded from preload: '"+p+"'");}else if(D===true){I=function(){return true;};u._.logger.debug("All modules should be excluded from preload");}u.config({debugSources:!!window['sap-ui-loaddbg'],ignoreBundledResources:I});})();function _(e,j,p){var k=window.location.search.match(new RegExp("(?:^\\??|&)sap-ui-"+e+"=([^&]*)(?:&|$)"));if(k&&(p==null||p.test(k[1]))){return k[1];}var l=B&&B.getAttribute("data-sap-ui-"+e.toLowerCase());if(l!=null&&(p==null||p.test(l))){return l;}if(Object.prototype.hasOwnProperty.call(c,e)&&(p==null||p.test(c[e]))){return c[e];}if(e.slice(0,3)!=="xx-"){return _("xx-"+e,j,p);}return j;}function g(e,j){return/^(?:true|x|X)$/.test(_(e,j,/^(?:true|x|X|false)$/));}if(g("async",false)){u.config({async:true});}var E=g("amd",!g("noLoaderConflict",true));u.config({baseUrl:b,amd:E,map:{"*":{'blanket':'sap/ui/thirdparty/blanket','crossroads':'sap/ui/thirdparty/crossroads','d3':'sap/ui/thirdparty/d3','handlebars':'sap/ui/thirdparty/handlebars','hasher':'sap/ui/thirdparty/hasher','IPv6':'sap/ui/thirdparty/IPv6','jquery':'sap/ui/thirdparty/jquery','jszip':'sap/ui/thirdparty/jszip','less':'sap/ui/thirdparty/less','OData':'sap/ui/thirdparty/datajs','punycode':'sap/ui/thirdparty/punycode','SecondLevelDomains':'sap/ui/thirdparty/SecondLevelDomains','sinon':'sap/ui/thirdparty/sinon','signals':'sap/ui/thirdparty/signals','URI':'sap/ui/thirdparty/URI','URITemplate':'sap/ui/thirdparty/URITemplate','esprima':'sap/ui/demokit/js/esprima'}},shim:{'sap/ui/thirdparty/bignumber':{amd:true,exports:'BigNumber'},'sap/ui/thirdparty/blanket':{amd:true,exports:'blanket'},'sap/ui/thirdparty/caja-html-sanitizer':{amd:false,exports:'html'},'sap/ui/thirdparty/crossroads':{amd:true,exports:'crossroads',deps:['sap/ui/thirdparty/signals']},'sap/ui/thirdparty/d3':{amd:true,exports:'d3'},'sap/ui/thirdparty/datajs':{amd:true,exports:'OData'},'sap/ui/thirdparty/es6-promise':{amd:true,exports:'ES6Promise'},'sap/ui/thirdparty/flexie':{amd:false,exports:'Flexie'},'sap/ui/thirdparty/handlebars':{amd:true,exports:'Handlebars'},'sap/ui/thirdparty/hasher':{amd:true,exports:'hasher',deps:['sap/ui/thirdparty/signals']},'sap/ui/thirdparty/IPv6':{amd:true,exports:'IPv6'},'sap/ui/thirdparty/iscroll-lite':{amd:false,exports:'iScroll'},'sap/ui/thirdparty/iscroll':{amd:false,exports:'iScroll'},'sap/ui/thirdparty/jquery':{amd:true,exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-datepicker':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-core'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-draggable':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-mouse'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-droppable':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-mouse','sap/ui/thirdparty/jqueryui/jquery-ui-draggable'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-effect':{deps:['sap/ui/thirdparty/jquery'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-mouse':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-core','sap/ui/thirdparty/jqueryui/jquery-ui-widget'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-position':{deps:['sap/ui/thirdparty/jquery'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-resizable':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-mouse'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-selectable':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-mouse'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-sortable':{deps:['sap/ui/thirdparty/jqueryui/jquery-ui-mouse'],exports:'jQuery'},'sap/ui/thirdparty/jqueryui/jquery-ui-widget':{deps:['sap/ui/thirdparty/jquery'],exports:'jQuery'},'sap/ui/thirdparty/jquery-mobile-custom':{amd:true,deps:['sap/ui/thirdparty/jquery','sap/ui/Device'],exports:'jQuery.mobile'},'sap/ui/thirdparty/jszip':{amd:true,exports:'JSZip'},'sap/ui/thirdparty/less':{amd:true,exports:'less'},'sap/ui/thirdparty/mobify-carousel':{amd:false,exports:'Mobify'},'sap/ui/thirdparty/qunit-2':{amd:false,exports:'QUnit'},'sap/ui/thirdparty/punycode':{amd:true,exports:'punycode'},'sap/ui/thirdparty/RequestRecorder':{amd:true,exports:'RequestRecorder',deps:['sap/ui/thirdparty/URI','sap/ui/thirdparty/sinon']},'sap/ui/thirdparty/require':{exports:'define'},'sap/ui/thirdparty/SecondLevelDomains':{amd:true,exports:'SecondLevelDomains'},'sap/ui/thirdparty/signals':{amd:true,exports:'signals'},'sap/ui/thirdparty/sinon':{amd:true,exports:'sinon'},'sap/ui/thirdparty/sinon-4':{amd:true,exports:'sinon'},'sap/ui/thirdparty/sinon-server':{amd:true,exports:'sinon'},'sap/ui/thirdparty/unorm':{amd:false,exports:'UNorm'},'sap/ui/thirdparty/unormdata':{exports:'UNorm',deps:['sap/ui/thirdparty/unorm']},'sap/ui/thirdparty/URI':{amd:true,exports:'URI'},'sap/ui/thirdparty/URITemplate':{amd:true,exports:'URITemplate',deps:['sap/ui/thirdparty/URI']},'sap/ui/thirdparty/vkbeautify':{amd:false,exports:'vkbeautify'},'sap/ui/thirdparty/zyngascroll':{amd:false,exports:'Scroller'},'sap/ui/demokit/js/esprima':{amd:true,exports:'esprima'},'sap/viz/libs/canvg':{amd:true,deps:['sap/viz/libs/rgbcolor']},'sap/viz/libs/rgbcolor':{amd:true},'sap/viz/libs/sap-viz':{amd:true,deps:['sap/ui/thirdparty/jquery','sap/ui/thirdparty/d3','sap/viz/libs/canvg']},'sap/viz/libs/sap-viz-info-charts':{amd:true,deps:['sap/viz/libs/sap-viz-info-framework']},'sap/viz/libs/sap-viz-info-framework':{amd:true,deps:['sap/ui/thirdparty/jquery','sap/ui/thirdparty/d3']},'sap/viz/ui5/container/libs/sap-viz-controls-vizcontainer':{amd:true,deps:['sap/viz/libs/sap-viz','sap/viz/ui5/container/libs/common/libs/rgbcolor/rgbcolor_static']},'sap/viz/ui5/controls/libs/sap-viz-vizframe':{amd:true,deps:['sap/viz/libs/sap-viz-info-charts']},'sap/viz/ui5/controls/libs/sap-viz-vizservices':{amd:true,deps:['sap/viz/libs/sap-viz-info-charts']}}});var h=u._.defineModuleSync;h('sap/ui/thirdparty/baseuri.js',null);if(typeof ES6Promise!=='undefined'){h('sap/ui/thirdparty/es6-promise.js',ES6Promise);}h('sap/ui/thirdparty/es6-object-assign.js',null);h('sap/ui/thirdparty/es6-string-methods.js',null);h('ui5loader.js',null);h('ui5loader-autoconfig.js',null);if(n&&typeof jQuery==='function'){h('sap/ui/thirdparty/jquery.js',jQuery);if(jQuery.ui&&jQuery.ui.position){h('sap/ui/thirdparty/jqueryui/jquery-ui-position.js',jQuery);}}var m=B&&B.getAttribute('data-sap-ui-main');if(m){sap.ui.require(m.trim().split(/\s*,\s*/));}}());sap.ui.predefine('jquery.sap.encoder',['jquery.sap.global','sap/base/security/encodeXML','sap/base/security/encodeJS','sap/base/security/encodeURL','sap/base/security/encodeURLParameters','sap/base/security/encodeCSS','sap/base/security/URLWhitelist','sap/base/security/sanitizeHTML'],function(q,e,a,b,c,d,U,s){"use strict";q.sap.encodeHTML=e;q.sap.encodeXML=e;q.sap.escapeHTML=e;q.sap.encodeJS=a;q.sap.escapeJS=a;q.sap.encodeURL=b;q.sap.encodeURLParameters=c;q.sap.encodeCSS=d;q.sap.clearUrlWhitelist=U.clear;q.sap.addUrlWhitelist=U.add;q.sap.removeUrlWhitelist=function(i){U.delete(U.entries()[i]);};q.sap.getUrlWhitelist=U.entries;q.sap.validateUrl=U.validate;q.sap._sanitizeHTML=s;return q;});sap.ui.predefine('jquery.sap.events',['jquery.sap.global','sap/ui/events/ControlEvents','sap/ui/events/PseudoEvents','sap/ui/events/checkMouseEnterOrLeave','sap/ui/events/isSpecialKey','sap/ui/events/isMouseEventDelayed','sap/ui/events/F6Navigation','sap/ui/events/jquery/EventExtension','sap/ui/events/jquery/EventSimulation','sap/ui/events/KeyCodes','sap/base/util/defineCoupledProperty'],function(q,C,P,c,i,I,F,E,a,K,d){"use strict";q.sap.PseudoEvents=P.events;q.sap.ControlEvents=C.events;q.sap.disableTouchToMouseHandling=a.disableTouchToMouseHandling;d(q.sap,"touchEventMode",a,"touchEventMode");q.sap.bindAnyEvent=C.bindAnyEvent;q.sap.unbindAnyEvent=C.unbindAnyEvent;q.sap.checkMouseEnterOrLeave=c;q.sap.isSpecialKey=function(e){if(e.key){return i(e);}function b(e){var k=e.which;return(k===K.SHIFT)||(k===K.CONTROL)||(k===K.ALT)||(k===K.CAPS_LOCK)||(k===K.NUM_LOCK);}function f(e){var k=e.which,A=(k>=37&&k<=40);switch(e.type){case"keydown":case"keyup":return A;case"keypress":return k===0;default:return false;}}var k=e.which,s=b(e)||f(e)||(k>=33&&k<=36)||(k>=44&&k<=46)||(k>=112&&k<=123)||(k===K.BREAK)||(k===K.BACKSPACE)||(k===K.TAB)||(k===K.ENTER)||(k===K.ESCAPE)||(k===K.SCROLL_LOCK);switch(e.type){case"keydown":case"keyup":return s;case"keypress":return(k===0||k===K.BACKSPACE||k===K.ESCAPE||k===K.ENTER)||false;default:return false;}};q.sap.handleF6GroupNavigation=function(e,s){if(!e.key&&e.keyCode===K.F6){e.key="F6";}return F.handleF6GroupNavigation(e,s);};q.sap._FASTNAVIGATIONKEY=F.fastNavigationKey;q.sap._refreshMouseEventDelayedFlag=function(n){q.sap.isMouseEventDelayed=I.apply(this,arguments);};q.sap._refreshMouseEventDelayedFlag(navigator);return q;});sap.ui.predefine('jquery.sap.global',["sap/base/util/now","sap/base/util/Version","sap/base/assert","sap/base/Log","sap/ui/dom/getComputedStyleFix","sap/ui/dom/activeElementFix","sap/ui/dom/includeScript","sap/ui/dom/includeStylesheet","sap/ui/core/support/Hotkeys","sap/ui/security/FrameOptions","sap/ui/performance/Measurement","sap/ui/performance/trace/Interaction","sap/ui/base/syncXHRFix","sap/base/util/LoaderExtensions","sap/ui/Device","sap/ui/thirdparty/URI","sap/ui/thirdparty/jquery","sap/ui/thirdparty/jqueryui/jquery-ui-position","ui5loader-autoconfig","jquery.sap.stubs"],function(now,Version,assert,Log,getComputedStyleFix,activeElementFix,includeScript,includeStylesheet,SupportHotkeys,FrameOptions,Measurement,Interaction,syncXHRFix,LoaderExtensions,Device,URI,jQuery){"use strict";if(!jQuery){throw new Error("Loading of jQuery failed");}var ui5loader=sap.ui.loader;if(!ui5loader||!ui5loader._){throw new Error("The UI5 compatilbility module requires a UI5 specific AMD implementation");}var _ui5loader=ui5loader._;var _earlyLogs=[];function _earlyLog(l,m){_earlyLogs.push({level:l,message:m});}var oJQVersion=Version(jQuery.fn.jquery);(function(){jQuery.support=jQuery.support||{};jQuery.support.retina=Device.support.retina;jQuery.support.touch=Device.support.touch;jQuery.support.cssTransforms=true;jQuery.support.cssTransforms3d=true;jQuery.support.cssTransitions=true;jQuery.support.cssAnimations=true;jQuery.support.cssGradients=true;jQuery.support.flexBoxPrefixed=false;jQuery.support.flexBoxLayout=false;jQuery.support.newFlexBoxLayout=true;jQuery.support.ie10FlexBoxLayout=false;jQuery.support.hasFlexBoxSupport=true;}());if(Device.browser.msie){jQuery.support.cors=true;if(window.ActiveXObject!==undefined&&oJQVersion.inRange("1.11","2")){var fnCreateStandardXHR=function(){try{return new XMLHttpRequest();}catch(e){}};var fnCreateActiveXHR=function(){try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}};jQuery.ajaxSettings=jQuery.ajaxSettings||{};jQuery.ajaxSettings.xhr=function(){return!this.isLocal?fnCreateStandardXHR():fnCreateActiveXHR();};}}if(Device.browser.firefox){getComputedStyleFix();}if(Device.browser.msie||Device.browser.edge){activeElementFix();}if(Device.browser.firefox&&window.Proxy){syncXHRFix();}var oCfgData=window["sap-ui-config"]=(function(){function n(o){for(var i in o){var v=o[i];var b=i.toLowerCase();if(!o.hasOwnProperty(b)){o[b]=v;delete o[i];}}return o;}function l(u){var b="sap-ui-config.json",d;Log.warning("Loading external bootstrap configuration from \""+u+"\". This is a design time feature and not for productive usage!");if(u!==b){Log.warning("The external bootstrap configuration file should be named \""+b+"\"!");}var x=new XMLHttpRequest();x.addEventListener('load',function(e){if(x.status===200&&x.responseText){try{d=JSON.parse(x.responseText);}catch(f){Log.error("Parsing externalized bootstrap configuration from \""+u+"\" failed! Reason: "+f+"!");}}else{Log.error("Loading externalized bootstrap configuration from \""+u+"\" failed! Response: "+x.status+"!");}});x.open('GET',u,false);try{x.send();}catch(f){Log.error("Loading externalized bootstrap configuration from \""+u+"\" failed! Reason: "+f+"!");}d=d||{};d.__loaded=true;return d;}function g(){function b(o,f){var u=o&&o.getAttribute("src");var M=f.exec(u);if(M){return{tag:o,url:u,resourceRoot:M[1]||""};}}var r=/^((?:.*\/)?resources\/)/,d,S,i,R;R=b(document.querySelector('SCRIPT[src][id=sap-ui-bootstrap]'),r);if(!R){S=document.querySelectorAll('SCRIPT[src]');d=/^(.*\/)?(?:sap-ui-(core|custom|boot|merged)(?:-.*)?)\.js(?:[?#]|$)/;for(i=0;i0){for(i=0;o&&i0);};jQuery.sap.isResourceLoaded=function isResourceLoaded(R){return!!_ui5loader.getModuleState(R);};jQuery.sap.getAllDeclaredModules=LoaderExtensions.getAllRequiredModules;var p={};for(var n in oCfgData.resourceroots){p[u(n)]=oCfgData.resourceroots[n]||".";}ui5loader.config({paths:p});var U=_ui5loader.getUrlPrefixes();l.info("URL prefixes set to:");for(var n in U){l.info(" "+(n?"'"+n+"'":"(default)")+" : "+U[n]);}jQuery.sap.declare=function(m,c){var N=m;if(typeof(m)==="object"){N=m.modName;m=u(m.modName)+(m.type?"."+m.type:"")+".js";}else{m=u(m)+".js";}_ui5loader.declareModule(m);if(c!==false){jQuery.sap.getObject(N,1);}};jQuery.sap.require=function(m){if(arguments.length>1){for(var i=0;i=s.length){return c(s);}var C=s.charAt(p).toUpperCase();if(p>0){return s.substring(0,p)+C+s.substring(p+1);}return C+s.substring(p+1);};q.sap.padLeft=function(s,p,l){if(!s){s="";}if(p&&p.length===1){return s.padStart(l,p);}while(s.length1){break;}}}}if(F==1){var k={oldIndex:t,newIndex:i};if(M[t]){delete O[t];delete N[M[t].newIndex];}else{N[i]={data:n[i],row:t};O[t]={data:o[t],row:i};M[t]=k;}}}for(var i=0;i0;i--){if(N[i]&&!N[i-1]&&N[i].row>0&&!O[N[i].row-1]&&c(o[N[i].row-1],n[i-1])){N[i-1]={data:n[i-1],row:N[i].row-1};O[N[i].row-1]={data:O[N[i].row-1],row:i-1};}}var D=[];if(n.length==0){for(var i=0;il){D.push({index:i,type:'insert'});}else{l=N[i].row+1;for(var j=N[i].row+1;j