(function() { var requirejs,require,define; (function(){function J(d){return ia.call(d)==="[object Function]"}function X(d){return ia.call(d)==="[object Array]"}function Y(d,f,l){for(var j in f)if(!(j in F)&&(!(j in d)||l))d[j]=f[j];return h}function K(d,f,l){d=new Error(f+"\nhttp://requirejs.org/docs/errors.html#"+d);if(l)d.originalError=l;return d}function ja(d,f,l){var j,q,o;for(j=0;o=f[j];j++){o=typeof o==="string"?{name:o}:o;q=o.location;if(l&&(!q||q.indexOf("/")!==0&&q.indexOf(":")===-1))q=l+"/"+(q||o.name);d[o.name]={name:o.name,location:q|| o.name,main:(o.main||"main").replace(ua,"").replace(ka,"")}}}function Z(d,f){if(d.holdReady)d.holdReady(f);else if(f)d.readyWait+=1;else d.ready(true)}function va(d){function f(a){var b,c;for(b=0;c=a[b];b++)if(c==="."){a.splice(b,1);b-=1}else if(c==="..")if(b===1&&(a[2]===".."||a[0]===".."))break;else if(b>0){a.splice(b-1,2);b-=2}}function l(a,b){var c;if(a.charAt(0)===".")if(b){if(r.pkgs[b])b=[b];else{b=b.split("/");b=b.slice(0,b.length-1)}a=b.concat(a.split("/"));f(a);c=r.pkgs[b=a[0]];a=a.join("/"); if(c&&a===b+"/"+c.main)a=b}return a}function j(a,b){var c=a?a.indexOf("!"):-1,e=null,g=b?b.name:null,k=a,n,m;if(c!==-1){e=a.substring(0,c);a=a.substring(c+1,a.length)}if(e)e=l(e,g);if(a){if(e)n=(c=p[e])?c.normalize?c.normalize(a,function(u){return l(u,g)}):l(a,g):"__$p"+g+"@"+a;else n=l(a,g);m=$[n];if(!m){m=h.toModuleUrl?h.toModuleUrl(i,n,b):i.nameToUrl(n,null,b);$[n]=m}}return{prefix:e,name:n,parentMap:b,url:m,originalName:k,fullName:e?e+"!"+n:n}}function q(){var a=true,b=r.priorityWait,c,e;if(b){for(e= 0;c=b[e];e++)if(!v[c]){a=false;break}a&&delete r.priorityWait}return a}function o(a){return function(b){a.exports=b}}function L(a,b,c){return function(){var e=[].concat(wa.call(arguments,0)),g;if(c&&J(g=e[e.length-1]))g.__requireJsBuild=true;e.push(b);return a.apply(null,e)}}function la(a,b){b=L(i.require,a,b);Y(b,{nameToUrl:L(i.nameToUrl,a),toUrl:L(i.toUrl,a),defined:L(i.requireDefined,a),specified:L(i.requireSpecified,a),ready:h.ready,isBrowser:h.isBrowser});if(h.paths)b.paths=h.paths;return b} function xa(a){var b,c,e,g,k,n,m,u=T[a];if(u)for(g=0;c=u[g];g++){b=c.fullName;c=j(c.originalName,c.parentMap);c=c.fullName;e=w[b]||[];k=w[c];if(c!==b){if(b in y){delete y[b];y[c]=true}w[c]=k?k.concat(e):e;delete w[b];for(k=0;k0)){if(r.priorityWait)if(q())C();else return;for(g in v)if(!(g in F)){c=true; if(!v[g])if(b)a+=g+" ";else{e=true;break}}if(c||i.waitCount){if(b&&a){g=K("timeout","Load timeout for modules: "+a);g.requireType="timeout";g.requireModules=a;return h.onError(g)}if(e||i.scriptCount){if((A||qa)&&!da)da=setTimeout(function(){da=0;ca()},50)}else{if(i.waitCount){for(D=0;a=ba[D];D++)pa(a,{});if(ea<5){ea+=1;ca()}}ea=0;h.checkReadyState()}}}}function ra(a,b){var c=b.name,e=b.fullName,g;if(!(e in p||e in v)){G[a]||(G[a]=p[a]);v[e]||(v[e]=false);g=function(k){h.onPluginLoad&&h.onPluginLoad(i, a,c,k);aa({prefix:b.prefix,name:b.name,fullName:b.fullName,callback:function(){return k}});v[e]=true};g.fromText=function(k,n){var m=N;i.loaded[k]=false;i.scriptCount+=1;if(m)N=false;h.exec(n);if(m)N=true;i.completeLoad(k)};G[a].load(c,la(b.parentMap,true),g,r)}}function Ba(a){if(a.prefix&&a.name.indexOf("__$p")===0&&p[a.prefix])a=j(a.originalName,a.parentMap);var b=a.prefix,c=a.fullName,e=i.urlFetched;if(!(y[c]||v[c])){y[c]=true;if(b)if(p[b])ra(b,a);else{if(!O[b]){O[b]=[];(w[b]||(w[b]=[])).push({onDep:function(g){if(g=== b){var k,n=O[b];for(g=0;g0;n--){k=c.slice(0,n).join("/");if(e[k]){c.splice(0,n,e[k]);break}else if(k=g[k]){a=a===k.name?k.location+"/"+k.main:k.location; c.splice(0,n,a);break}}b=c.join("/")+(b||".js");b=(b.charAt(0)==="/"||b.match(/^\w+:/)?"":m.baseUrl)+b}return m.urlArgs?b+((b.indexOf("?")===-1?"?":"&")+m.urlArgs):b}};i.jQueryCheck=U;i.resume=C;return i}function Da(){var d,f,l;if(Q&&Q.readyState==="interactive")return Q;d=document.getElementsByTagName("script");for(f=d.length-1;f>-1&&(l=d[f]);f--)if(l.readyState==="interactive")return Q=l;return null}var Ea=/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg,Fa=/require\(["']([^'"\s]+)["']\)/g,ua=/^\.\//,ka=/\.js$/, ia=Object.prototype.toString,x=Array.prototype,wa=x.slice,Ca=x.splice,A=!!(typeof window!=="undefined"&&navigator&&document),qa=!A&&typeof importScripts!=="undefined",Ga=A&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,sa=typeof opera!=="undefined"&&opera.toString()==="[object Opera]",ya="_r@@",F={},H={},V=[],Q=null,Ha=false,ea=0,N=false,h;x={};var ga,s,I,W,z,R,S,D,ha,ta,E,U,da;if(typeof define==="undefined"){if(typeof requirejs!=="undefined")if(J(requirejs))return;else{x= requirejs;requirejs=undefined}if(typeof require!=="undefined"&&!J(require)){x=require;require=undefined}h=requirejs=function(d,f,l){var j="_",q;if(!X(d)&&typeof d!=="string"){q=d;if(X(f)){d=f;f=l}else d=[]}if(q&&q.context)j=q.context;l=H[j]||(H[j]=va(j));q&&l.configure(q);return l.require(d,f)};if(typeof require==="undefined")require=h;h.toUrl=function(d){return H._.toUrl(d)};h.version="0.25.0";h.isArray=X;h.isFunction=J;h.mixin=Y;h.jsExtRegExp=/^\/|:|\?|\.js$/;s=h.s={contexts:H,skipAsync:{},isPageLoaded:!A, readyCalls:[]};if(h.isAsync=h.isBrowser=A){I=s.head=document.getElementsByTagName("head")[0];if(W=document.getElementsByTagName("base")[0])I=s.head=W.parentNode}h.onError=function(d){throw d;};h.load=function(d,f,l){var j=d.loaded;Ha=false;j[f]||(j[f]=false);d.scriptCount+=1;h.attach(l,d,f);if(d.jQuery&&!d.jQueryIncremented){Z(d.jQuery,true);d.jQueryIncremented=true}};define=h.def=function(d,f,l){var j;if(typeof d!=="string"){l=f;f=d;d=null}if(!h.isArray(f)){l=f;f=[]}if(!d&&!f.length&&h.isFunction(l))if(l.length){l.toString().replace(Ea, "").replace(Fa,function(q,o){f.push(o)});f=(l.length===1?["require"]:["require","exports","module"]).concat(f)}if(N){j=ga||Da();if(!j)return h.onError(K("interactive","No matching script interactive for "+l));d||(d=j.getAttribute("data-requiremodule"));j=H[j.getAttribute("data-requirecontext")]}(j?j.defQueue:V).push([d,f,l])};define.amd={multiversion:true,plugins:true,jQuery:true};h.exec=function(d){return eval(d)};h.execCb=function(d,f,l,j){return f.apply(j,l)};h.onScriptLoad=function(d){var f=d.currentTarget|| d.srcElement,l;if(d.type==="load"||Ga.test(f.readyState)){Q=null;d=f.getAttribute("data-requirecontext");l=f.getAttribute("data-requiremodule");H[d].completeLoad(l);f.detachEvent&&!sa?f.detachEvent("onreadystatechange",h.onScriptLoad):f.removeEventListener("load",h.onScriptLoad,false)}};h.attach=function(d,f,l,j,q){var o;if(A){j=j||h.onScriptLoad;o=f&&f.config&&f.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");o.type=q||"text/javascript"; o.charset="utf-8";o.async=!s.skipAsync[d];f&&o.setAttribute("data-requirecontext",f.contextName);o.setAttribute("data-requiremodule",l);if(o.attachEvent&&!sa){N=true;o.attachEvent("onreadystatechange",j)}else o.addEventListener("load",j,false);o.src=d;ga=o;W?I.insertBefore(o,W):I.appendChild(o);ga=null;return o}else if(qa){j=f.loaded;j[l]=false;importScripts(d);f.completeLoad(l)}return null};if(A){z=document.getElementsByTagName("script");for(D=z.length-1;D>-1&&(R=z[D]);D--){if(!I)I=R.parentNode; if(S=R.getAttribute("data-main")){if(!x.baseUrl){z=S.split("/");R=z.pop();z=z.length?z.join("/")+"/":"./";x.baseUrl=z;S=R.replace(ka,"")}x.deps=x.deps?x.deps.concat(S):[S];break}}}s.baseUrl=x.baseUrl;h.pageLoaded=function(){if(!s.isPageLoaded){s.isPageLoaded=true;ha&&clearInterval(ha);if(ta)document.readyState="complete";h.callReady()}};h.checkReadyState=function(){var d=s.contexts,f;for(f in d)if(!(f in F))if(d[f].waitCount)return;s.isDone=true;h.callReady()};h.callReady=function(){var d=s.readyCalls, f,l,j;if(s.isPageLoaded&&s.isDone){if(d.length){s.readyCalls=[];for(f=0;l=d[f];f++)l()}d=s.contexts;for(j in d)if(!(j in F)){f=d[j];if(f.jQueryIncremented){Z(f.jQuery,false);f.jQueryIncremented=false}}}};h.ready=function(d){s.isPageLoaded&&s.isDone?d():s.readyCalls.push(d);return h};if(A){if(document.addEventListener){document.addEventListener("DOMContentLoaded",h.pageLoaded,false);window.addEventListener("load",h.pageLoaded,false);if(!document.readyState){ta=true;document.readyState="loading"}}else if(window.attachEvent){window.attachEvent("onload", h.pageLoaded);if(self===self.top)ha=setInterval(function(){try{if(document.body){document.documentElement.doScroll("left");h.pageLoaded()}}catch(d){}},30)}document.readyState==="complete"&&h.pageLoaded()}h(x);if(h.isAsync&&typeof setTimeout!=="undefined"){E=s.contexts[x.context||"_"];E.requireWait=true;setTimeout(function(){E.requireWait=false;E.takeGlobalQueue();E.jQueryCheck();E.scriptCount||E.resume();h.checkReadyState()},0)}}})();!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"== typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e, t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+ M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>> 10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\x00"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length, r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1])if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else{if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n, e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r= [];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e? 1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o, le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&& (n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName), d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID= function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1=== n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length|| v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\u000c"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML=""; var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector|| a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1}, j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e, t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling", first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&& (t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n, r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&& 3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn, D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i; ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"], tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t, "handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&& (Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0=== i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i= N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t, e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&& (f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect(); else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent; return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"}, function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}), S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function(e,n){S.fn[n]=function(e,t){return 0=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a= O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype, c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r, e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f= o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect= function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n, t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t]; return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)? n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n, index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n): k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length- t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)|| (e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n, function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this, r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+ (t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o), o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments, t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[]; if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e}, m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n, t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n, t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case "[object RegExp]":case "[object String]":return""+n==""+t;case "[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case "[object Date]":case "[object Boolean]":return+n=== +t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f= l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"], function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined= function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]= t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0: n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate|| K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source= i,a;}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]= function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this)}).call(TDV)})();function i(a){throw a;}var m=void 0,n=!0,r=null,y=!1;function D(){return function(){}}function P(a){return function(b){this[a]=b}}function Q(a){return function(){return this[a]}}function R(a){return function(){return a}} (function(){function a(a){this.Qk=a;this.ip=r;this.Xc={}}function b(){this.ak={};this.ak[b.SCRIPT_URL]=[];this.ak[b.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.ak[b.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.ak[b.HLS_URL]="lib/Hls.js";this.ak[b.CURSORS_DIR_URL]="lib/cursors";this.ak[b.SERVICE_WORKER_URL]="tdvplayersw.js";this.ak[b.BACKGROUND_PRELOAD_ENABLED]=m}function c(){this.$C=[];this.QK=[];this.spa=[];this.QG=r}function e(a){return"[object Array]"==Object.prototype.toString.call(a)}function g(a){return 0<= f.search(a.toLowerCase())}var d=window.TDV=window.TDV||{},f=navigator.userAgent.toLowerCase();c.prototype.getVersion=c.prototype.IM=function(){return{MAJOR:"0",MINOR:"1551"}};c.prototype.S8=function(){if(this.QG)for(;0|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){var a=parseInt(b[2]),d=parseInt(b[3]),f;switch(b[1]){case "<":f=function(a,b){return a":f=function(a,b){return a>b};break;case "=":f=function(a,b){return a==b};break;case "<=":f=function(a,b){return a<=b};break;case ">=":f=function(a,b){return a>=b}}return f(screen.width, a)&&f(screen.height,d)||this.qZ&&f(screen.width,d)&&f(screen.height,a)}return y}if(e(a)){for(b=0;bf;f++){var k=a[f];if(h(k)&&(o.isArray(k)||o.isArguments(k))){b||(k=d(k,b,j));var p=0,l=k.length;for(c.length+=l;l>p;)c[g++]=k[p++]}else j||(c[g++]= k)}return c}function f(a){return function(b,d,j){var f={};return d=l(d,j),o.each(b,function(j,h){var c=d(j,h,b);a(f,j,c)}),f}}function h(a){a=E(a);return"number"==typeof a&&0<=a&&G>=a}function j(a){return function(b){return r==b?m:b[a]}}function p(a){if(!o.Ez(a))return{};if(L)return L(a);t.prototype=a;a=new t;return t.prototype=r,a}function k(a,b){return function(d){var j=arguments.length;if(2>j||r==d)return d;for(var f=1;j>f;f++)for(var h=arguments[f],c=a(h),g=c.length,e=0;g>e;e++){var k=c[e];b&& d[k]!==m||(d[k]=h[k])}return d}}function l(a,b,d){return r==a?o.identity:o.isFunction(a)?q(a,b,d):o.Ez(a)?o.lZ(a):o.Vda(a)}function q(a,b,d){if(b===m)return a;switch(r==d?3:d){case 1:return function(d){return a.call(b,d)};case 2:return function(d,j){return a.call(b,d,j)};case 3:return function(d,j,f){return a.call(b,d,j,f)};case 4:return function(d,j,f,h){return a.call(b,d,j,f,h)}}return function(){return a.apply(b,arguments)}}function o(a){return a instanceof o?a:this instanceof o?void(this.Ev=a): new o(a)}function t(){}function s(a){return function(b,d,j,f){var d=q(d,f,4),c=!h(b)&&o.keys(b),g=(c||b).length,e=0arguments.length&&(j=b[c?c[e]:e],e+=a);for(var k=d,p=j;0<=e&&g>e;e+=a)var l=c?c[e]:e,p=k(p,b[l],l,b);return p}}function v(a){return function(b,d,j){for(var d=l(d,j),j=E(b),f=0f;f+=a)if(d(b[f],f,b))return f;return-1}}function u(a,b,d){return function(j,f,h){var c=0,g=E(j);if("number"==typeof h)0h;h+=a)if(j[h]===f)return h;return-1}}function w(a,b){var d=M.length,j=a.constructor,j=o.isFunction(j)&&j.prototype||A,f="constructor";for(o.has(a,f)&&!o.contains(b,f)&&b.push(f);d--;)f=M[d],f in a&&a[f]!==j[f]&&!o.contains(b,f)&&b.push(f)}var x=this,z=x.qP,C=Array.prototype,A=Object.prototype,K=C.push,F=C.slice,J=A.toString,B=A.hasOwnProperty,O=Array.isArray,N=Object.keys,I=Function.prototype.bind, L=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.Wua&&(exports=module.Wua=o),exports.qP=o):x.qP=o;o.VERSION="1.8.3";o.xBa=function(a,b){return l(a,b,1/0)};var G=Math.pow(2,53)-1,E=j("length");o.each=o.forEach=function(a,b,d){var b=q(b,d),j;if(h(a)){d=0;for(j=a.length;j>d;d++)b(a[d],d,a)}else{var f=o.keys(a),d=0;for(j=f.length;j>d;d++)b(a[f[d]],f[d],a)}return a};o.map=o.bBa=function(a,b,d){for(var b=l(b,d),d=!h(a)&&o.keys(a),j=(d||a).length,f=Array(j),c=0;j>c;c++){var g= d?d[c]:c;f[c]=b(a[g],g,a)}return f};o.reduce=o.iBa=o.tBa=s(1);o.reduceRight=o.jBa=s(-1);o.find=o.detect=function(a,b,d){var j;return j=h(a)?o.Rba(a,b,d):o.bva(a,b,d),j!==m&&-1!==j?a[j]:m};o.filter=o.select=function(a,b,d){var j=[];return b=l(b,d),o.each(a,function(a,d,f){b(a,d,f)&&j.push(a)}),j};o.reject=function(a,b,d){return o.filter(a,o.Ida(l(b)),d)};o.every=o.all=function(a,b,d){for(var b=l(b,d),d=!h(a)&&o.keys(a),j=(d||a).length,f=0;j>f;f++){var c=d?d[f]:f;if(!b(a[c],c,a))return y}return n}; o.some=o.any=function(a,b,d){for(var b=l(b,d),d=!h(a)&&o.keys(a),j=(d||a).length,f=0;j>f;f++){var c=d?d[f]:f;if(b(a[c],c,a))return n}return y};o.contains=o.rBa=o.include=function(a,b,d,j){return h(a)||(a=o.values(a)),("number"!=typeof d||j)&&(d=0),0<=o.indexOf(a,b,d)};o.invoke=function(a,b){var d=F.call(arguments,2),j=o.isFunction(b);return o.map(a,function(a){var f=j?b:a[b];return r==f?f:f.apply(a,d)})};o.pluck=function(a,b){return o.map(a,o.Vda(b))};o.YBa=function(a,b){return o.filter(a,o.lZ(b))}; o.hBa=function(a,b){return o.find(a,o.lZ(b))};o.max=function(a,b,d){var j,f=-1/0,c=-1/0;if(r==b&&r!=a)for(var a=h(a)?a:o.values(a),g=0,e=a.length;e>g;g++)d=a[g],d>f&&(f=d);else b=l(b,d),o.each(a,function(a,d,h){j=b(a,d,h);(j>c||j===-1/0&&f===-1/0)&&(f=a,c=j)});return f};o.min=function(a,b,d){var j,f=1/0,c=1/0;if(r==b&&r!=a)for(var a=h(a)?a:o.values(a),g=0,e=a.length;e>g;g++)d=a[g],f>d&&(f=d);else b=l(b,d),o.each(a,function(a,d,h){j=b(a,d,h);(c>j||1/0===j&&1/0===f)&&(f=a,c=j)});return f};o.uza=function(a){for(var b= h(a)?a:o.values(a),d=b.length,j=Array(d),f=0;d>f;f++)a=o.random(0,f),a!==f&&(j[f]=j[a]),j[a]=b[f];return j};o.sample=function(a,b,d){return r==b||d?(h(a)||(a=o.values(a)),a[o.random(a.length-1)]):o.uza(a).slice(0,Math.max(0,b))};o.sortBy=function(a,b,d){return b=l(b,d),o.pluck(o.map(a,function(a,d,j){return{value:a,index:d,Hba:b(a,d,j)}}).sort(function(a,b){var d=a.Hba,j=b.Hba;if(d!==j){if(d>j||d===m)return 1;if(j>d||j===m)return-1}return a.index-b.index}),"value")};o.groupBy=f(function(a,b,d){o.has(a, d)?a[d].push(b):a[d]=[b]});o.sBa=f(function(a,b,d){a[d]=b});o.dBa=f(function(a,b,d){o.has(a,d)?a[d]++:a[d]=1});o.toArray=function(a){return a?o.isArray(a)?F.call(a):h(a)?o.map(a,o.identity):o.values(a):[]};o.size=function(a){return r==a?0:h(a)?a.length:o.keys(a).length};o.IBa=function(a,b,d){var b=l(b,d),j=[],f=[];return o.each(a,function(a,d,h){(b(a,d,h)?j:f).push(a)}),[j,f]};o.first=o.head=o.QBa=function(a,b,d){return r==a?m:r==b||d?a[0]:o.uwa(a,a.length-b)};o.uwa=function(a,b){return F.call(a, 0,Math.max(0,a.length-(r==b?1:b)))};o.last=function(a,b,d){return r==a?m:r==b||d?a[a.length-1]:o.rest(a,Math.max(0,a.length-b))};o.rest=o.PBa=o.gBa=function(a,b,d){return F.call(a,r==b||d?1:b)};o.compact=function(a){return o.filter(a,o.identity)};o.flatten=function(a,b){return d(a,b,y)};o.without=function(a){return o.difference(a,F.call(arguments,1))};o.uniq=o.unique=function(a,b,d,j){o.isBoolean(b)||(j=d,d=b,b=y);r!=d&&(d=l(d,j));for(var j=[],f=[],h=0,c=E(a);c>h;h++){var g=a[h],e=d?d(g,h,a):g;b? (h&&f===e||j.push(g),f=e):d?o.contains(f,e)||(f.push(e),j.push(g)):o.contains(j,g)||j.push(g)}return j};o.union=function(){return o.uniq(d(arguments,n,n))};o.intersection=function(a){for(var b=[],d=arguments.length,j=0,f=E(a);f>j;j++){var h=a[j];if(!o.contains(b,h)){for(var c=1;d>c&&o.contains(arguments[c],h);c++);c===d&&b.push(h)}}return b};o.difference=function(a){var b=d(arguments,n,n,1);return o.filter(a,function(a){return!o.contains(b,a)})};o.zip=function(){return o.Sza(arguments)};o.Sza=function(a){for(var b= a&&o.max(a,E).length||0,d=Array(b),j=0;b>j;j++)d[j]=o.pluck(a,j);return d};o.object=function(a,b){for(var d={},j=0,f=E(a);f>j;j++)b?d[a[j]]=b[j]:d[a[j][0]]=a[j][1];return d};o.Rba=v(1);o.cva=v(-1);o.sortedIndex=function(a,b,d,j){for(var d=l(d,j,1),b=d(b),j=0,f=E(a);f>j;){var h=Math.floor((j+f)/2);d(a[h])f;f++, a+=d)j[f]=a;return j};o.bind=function(a,b){function d(){return g(a,d,b,this,j.concat(F.call(arguments)))}if(I&&a.bind===I)return I.apply(a,F.call(arguments,1));o.isFunction(a)||i(new TypeError("Bind must be called on a function"));var j=F.call(arguments,2);return d};o.uZ=function(a){function b(){for(var j=0,f=d.length,h=Array(f),c=0;f>c;c++)h[c]=d[c]===o?arguments[j++]:d[c];for(;j=j&&i(Error("bindAll must be passed function names"));for(b=1;j>b;b++)d=arguments[b],a[d]=o.bind(a[d],a);return a};o.memoize=function(a,b){function d(j){var f=d.mua,h=""+(b?b.apply(this,arguments):j);return o.has(f,h)||(f[h]=a.apply(this,arguments)),f[h]}return d.mua={},d};o.delay=function(a,b){var d=F.call(arguments,2);return setTimeout(function(){return a.apply(r,d)},b)};o.defer=o.uZ(o.delay,o,1);o.throttle=function(a,b,d){function j(){e=d.Vwa===y?0:o.now();g=r;c=a.apply(f, h);g||(f=h=r)}var f,h,c,g=r,e=0;d||(d={});return function(){var k=o.now();e||d.Vwa!==y||(e=k);var p=b-(k-e);return f=this,h=arguments,0>=p||p>b?(g&&(clearTimeout(g),g=r),e=k,c=a.apply(f,h),g||(f=h=r)):g||d.RBa===y||(g=setTimeout(j,p)),c}};o.debounce=function(a,b,d){function j(){var k=o.now()-g;b>k&&0<=k?f=setTimeout(j,b-k):(f=r,d||(e=a.apply(c,h),f||(c=h=r)))}var f,h,c,g,e;return function(){c=this;h=arguments;g=o.now();var k=d&&!f;return f||(f=setTimeout(j,b)),k&&(e=a.apply(c,h),c=h=r),e}};o.wrap= function(a,b){return o.uZ(b,a)};o.Ida=function(a){return function(){return!a.apply(this,arguments)}};o.compose=function(){var a=arguments,b=a.length-1;return function(){for(var d=b,j=a[b].apply(this,arguments);d--;)j=a[d].call(this,j);return j}};o.after=function(a,b){return function(){return 1>--a?b.apply(this,arguments):m}};o.before=function(a,b){var d;return function(){return 0<--a&&(d=b.apply(this,arguments)),1>=a&&(b=r),d}};o.once=o.uZ(o.before,2);var H=!{toString:r}.propertyIsEnumerable("toString"), M="valueOf,isPrototypeOf,toString,propertyIsEnumerable,hasOwnProperty,toLocaleString".split(",");o.keys=function(a){if(!o.Ez(a))return[];if(N)return N(a);var b=[],d;for(d in a)o.has(a,d)&&b.push(d);return H&&w(a,b),b};o.WX=function(a){if(!o.Ez(a))return[];var b=[],d;for(d in a)b.push(d);return H&&w(a,b),b};o.values=function(a){for(var b=o.keys(a),d=b.length,j=Array(d),f=0;d>f;f++)j[f]=a[b[f]];return j};o.ABa=function(a,b,d){for(var b=l(b,d),j=o.keys(a),f=j.length,h={},c=0;f>c;c++)d=j[c],h[d]=b(a[d], d,a);return h};o.HBa=function(a){for(var b=o.keys(a),d=b.length,j=Array(d),f=0;d>f;f++)j[f]=[b[f],a[b[f]]];return j};o.bda=function(a){for(var b={},d=o.keys(a),j=0,f=d.length;f>j;j++)b[a[d[j]]]=d[j];return b};o.functions=o.DBa=function(a){var b=[],d;for(d in a)o.isFunction(a[d])&&b.push(d);return b.sort()};o.extend=k(o.WX);o.Pba=o.assign=k(o.keys);o.bva=function(a,b,d){for(var b=l(b,d),j,d=o.keys(a),f=0,h=d.length;h>f;f++)if(j=d[f],b(a[j],j,a))return j};o.qxa=function(a,b,j){var f,h,c={},g=a;if(r== g)return c;o.isFunction(b)?(h=o.WX(g),f=q(b,j)):(h=d(arguments,y,y,1),f=function(a,b,d){return b in d},g=Object(g));for(var e=0,k=h.length;k>e;e++){var p=h[e],l=g[p];f(l,p,g)&&(c[p]=l)}return c};o.FBa=function(a,b,j){if(o.isFunction(b))b=o.Ida(b);else var f=o.map(d(arguments,y,y,1),String),b=function(a,b){return!o.contains(f,b)};return o.qxa(a,b,j)};o.defaults=k(o.WX,n);o.create=function(a,b){var d=p(a);return b&&o.Pba(d,b),d};o.clone=function(a){return o.Ez(a)?o.isArray(a)?a.slice():o.extend({}, a):a};o.tap=function(a,b){return b(a),a};o.Kwa=function(a,b){var d=o.keys(b),j=d.length;if(r==a)return!j;for(var f=Object(a),h=0;j>h;h++){var c=d[h];if(b[c]!==f[c]||!(c in f))return y}return n};o.isEqual=function(a,b){return e(a,b)};o.isEmpty=function(a){return r==a?n:h(a)&&(o.isArray(a)||o.isString(a)||o.isArguments(a))?0===a.length:0===o.keys(a).length};o.isElement=function(a){return!(!a||1!==a.nodeType)};o.isArray=O||function(a){return"[object Array]"===J.call(a)};o.Ez=function(a){var b=typeof a; return"function"===b||"object"===b&&!!a};o.each("Arguments,Function,String,Number,Date,RegExp,Error".split(","),function(a){o["is"+a]=function(b){return J.call(b)==="[object "+a+"]"}});o.isArguments(arguments)||(o.isArguments=function(a){return o.has(a,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(o.isFunction=function(a){return"function"==typeof a||y});o.uBa=function(a){return isFinite(a)&&!isNaN(parseFloat(a))};o.isNaN=function(a){return o.isNumber(a)&&a!==+a};o.isBoolean=function(a){return a=== n||a===y||"[object Boolean]"===J.call(a)};o.isNull=function(a){return r===a};o.isUndefined=function(a){return a===m};o.has=function(a,b){return r!=a&&B.call(a,b)};o.noConflict=function(){return x.qP=z,this};o.identity=function(a){return a};o.cBa=function(a){return function(){return a}};o.noop=D();o.Vda=j;o.JBa=function(a){return r==a?D():function(b){return a[b]}};o.lZ=o.BBa=function(a){return a=o.Pba({},a),function(b){return o.Kwa(b,a)}};o.times=function(a,b,d){for(var j=Array(Math.max(0,a)),b=q(b, d,1),d=0;a>d;d++)j[d]=b(d);return j};o.random=function(a,b){return r==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};o.now=Date.now||function(){return(new Date).getTime()};var O={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},U=o.bda(O);o.escape=c(O);o.unescape=c(U);o.result=function(a,b,d){b=r==a?m:a[b];return b===m&&(b=d),o.isFunction(b)?b.call(a):b};var V=0;o.uniqueId=function(a){var b=++V+"";return a?a+b:b};o.Kza={evaluate:/<%([\s\S]+?)%>/g,ywa:/<%=([\s\S]+?)%>/g, escape:/<%-([\s\S]+?)%>/g};var S=/(.)^/,T={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g;o.template=function(a,d,j){function f(a){return g.call(this,a,o)}!d&&j&&(d=j);var d=o.defaults({},d,o.Kza),h=0,c="__p+='";a.replace(RegExp([(d.escape||S).source,(d.ywa||S).source,(d.evaluate||S).source].join("|")+"|$","g"),function(d,j,f,g,e){return c+=a.slice(h,e).replace(W,b),h=e+d.length,j?c+="'+\n((__t=("+j+"))==null?'':_.escape(__t))+\n'":f?c+="'+\n((__t=("+ f+"))==null?'':__t)+\n'":g&&(c+="';\n"+g+"\n__p+='"),d});c+="';\n";d.ifa||(c="with(obj||{}){\n"+c+"}\n");c="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+c+"return __p;\n";try{var g=new Function(d.ifa||"obj","_",c)}catch(e){i((e.source=c,e))}return f.source="function("+(d.ifa||"obj")+"){\n"+c+"}",f};o.chain=function(a){a=o(a);return a.Fia=n,a};o.mixin=function(b){o.each(o.functions(b),function(d){var j=o[d]=b[d];o.prototype[d]=function(){var b=[this.Ev]; return K.apply(b,arguments),a(this,j.apply(o,b))}})};o.mixin(o);o.each("pop,push,reverse,shift,sort,splice,unshift".split(","),function(b){var d=C[b];o.prototype[b]=function(){var j=this.Ev;return d.apply(j,arguments),"shift"!==b&&"splice"!==b||0!==j.length||delete j[0],a(this,j)}});o.each(["concat","join","slice"],function(b){var d=C[b];o.prototype[b]=function(){return a(this,d.apply(this.Ev,arguments))}});o.prototype.value=Q("Ev");o.prototype.valueOf=o.prototype.toJSON=o.prototype.value;o.prototype.toString= function(){return""+this.Ev};"function"==typeof define&&define.QAa&&define("lz",[],function(){return o})}).call(this)}).call(window.TDV||(window.TDV={}));define("underscore-min",D());define("do",["underscore-min"],function(){return window.TDV._.noConflict()}); define("ll",[],function(){return{D:function(a){return a+"_change"},dd:"default",Hb:"mouseDown",Mc:"mouseMove",fc:"mouseUp",rq:"mouseWheel",U:"click",CG:"doubleClick",xc:"rollOver",Qb:"rollOut",Mh:"mouseEnter",Kf:"mouseLeave",Nh:"pointerOver",pAa:"pointerOut",P0:"pointerDown",Q0:"pointerUp",Li:"pointerClick",wG:"gestureStart",Jfa:"gestureChange",vG:"gestureEnd",Kfa:"gestureRotate",Kw:"gestureScale",wc:"progress",ct:"close",OPEN:"open",Mi:"select",zb:"resize",ZN:"changing",aa:"change",gc:"stateChange", Jf:"cueChange",S:"loaded",oe:"loadingError",lh:"start",pe:"stop",vt:"play",HG:"pause",Lb:"ready",Sk:"begin",Ba:"end",cAa:"cancel",Dg:"press",Ph:"release",wt:"repeatEnd",bl:"scroll",DG:"movementChange",bAa:"beforeShow",C_:"beforeHide",INIT:"init",od:"show",Ad:"hide",Tw:"showEnd",Lw:"hideEnd",Tfa:"loadingScript",mga:"processingScript",Iw:"enableCookies",rfa:"applicationSet",rG:"userInteraction",d1:"toolTipShow",lP:"toolTipHide"}}); define("bZ",[],function(){return function(a,b){this.name=a;this.source=m;this.data=b}}); define("ky",[],function(){function a(){this.Ye=[];this.rn=[]}a.prototype.rI=function(a){for(var c=0;c=b?n:0==a.indexOf("filesystem:")};b.dw=function(a){return a&&0==a.indexOf("data:")};b.getDirectory=function(a){a=b.Zs(a);a=a.split("?")[0];a=a.split("/");1");e.ey.css({overflow:"auto",position:"absolute",bottom:0,left:0,right:0,padding:"20px",fontFamily:"Verdana",backgroundColor:"#FFFFFF",color:"#000000","z-index":100});a?e.ey.css({top:0}):e.ey.css({width:"40%",right:"0",left:"auto",height:"50%",filter:"alpha(opacity=60)",opacity:0.6});c("body").append(e.ey);console.log=function(a){e.log(a)}}},g;e.log=function(a){if(a!=g){g=a;try{e.ey?c("
").text(a).prependTo(e.ey):console.log(a)}catch(b){}}};e.KBa=function(a){this.UR.push(a)}; e.UR=[];e.debug=function(a,b){try{b.apply(this,arguments)}catch(h){e.bN(a,h),i(h)}};e.bN=function(a,b){var h=[];h.push("Exception: "+a);b.message?(h.push(b.message),h.push(b.stack)):h.push(b);this.log(h.join("\n"));for(h=0;h0};b.prototype.hasAttribute=function(a){return this.tY(a)?n:y};b.prototype.uY=function(){this.gx==m&&this.F3();return this.gx};b.prototype.Sya=function(){this.xU=["definitions"];return this};b.prototype.mca=function(){if(this.xU)return this.xU;if(this.mr())this.Ho().mca(); else return[]};b.prototype.tY=function(a){this.It==m&&this.F3();return this.It[a]};b.prototype.hh=function(a){this.u8=a;this.Xia();return this};b.prototype.kwa=function(){return this.uca().length>0};b.prototype.uca=function(){this.Av==m&&this.K3();return this.Av};b.prototype.Vva=function(){this.uE==m&&this.K3();return this.uE};b.prototype.fq=function(a){this.t8=a;this.Via();return this};b.prototype.jwa=function(){return this.sca().length>0};b.prototype.sca=function(){this.nv==m&&this.J3();return this.nv}; b.prototype.Uva=function(){this.LD==m&&this.J3();return this.LD};b.prototype.Xb=function(a){this.q8=a;this.zQ();return this};b.prototype.dwa=function(){return this.yY().length>0};b.prototype.Dca=function(a){this.br==m&&this.LH();return e(this.br).contains(a)};b.prototype.yY=function(){this.br==m&&this.LH();return this.br};b.prototype.Hf=function(a){this.r8=a;this.zQ();return this};b.prototype.gwa=function(){return this.DY().length>0};b.prototype.Eca=function(a){this.sr==m&&this.LH();return e(this.sr).contains(a)}; b.prototype.DY=function(){this.sr==m&&this.LH();return this.sr};b.prototype.Cg=function(a){this.s8=a;this.k3();return this};b.prototype.kca=function(){this.jC==m&&this.Kja();return this.jC};b.prototype.zya=function(){this.Y5=n;return this};b.prototype.eca=function(){return this.Y5||this.mr()&&this.Ho().eca()};b.prototype.Bs=function(a,b,d,f){this.ppa(b,d);var g=this.GQ,c;c=f&&f.length>0?new (h.extend(g,function(){g.apply(this,f)})):new g;c.set("application",a);c.set("baseDirectoy",b);c.set("queryStringParameters", d);c.set("class",this.sz());return c};b.prototype.ppa=function(a,b){if(!this.W5){this.W5=n;this.Vja(a,b);this.Aka()}};b.prototype.Vja=function(a,b){if(this.kwa()||this.jwa()){var h=this.GQ.prototype,g=this.Vva(),c=this.Uva(),e=h.set;h.set=function(h,k){if(g[h]){k&&!f.dw(k)&&!f.$Y(k)&&(k=f.Iv(f.Zs(k,a),b));e.call(this,h,k)}else c[h]?d.get(this.get("application")||this.Ta()).hua(this,e,h,k):e.call(this,h,k)}}};b.prototype.Aka=function(){var a=this.GQ.prototype,b=this;if(this.hasAttributes()){a.set= a.set;a.get=a.get}if(this.dwa()||this.gwa()){a.bind=a.bind;a.getBindings=a.bF;a.hasBindings=a.Bca;a.trigger=a.trigger;a.unbind=a.unbind}a.getClassName=function(){return b.sz()};a.getClassPath=function(){return b.dF()};a.getAttributeNames=function(){return b.uY()};var d=this.kca(),f;for(f in d)a[f]=d[f]};b.prototype.g3=function(){this.It=this.gx=m};b.prototype.F3=function(){this.gx=[];this.It={};for(var a in this.BU){this.gx.push(a);this.It[a]=b.lS(this.BU[a])}if(this.mr())for(var d=this.Ho(),f=d.uY(), h=0;h=0&&a.lastIndexOf("]")==a.length-1};b.hla=function(a){return a.substring(0,a.indexOf("["))};b.G4=function(a){return a.substring(a.indexOf("[")+1,a.lastIndexOf("]"))};b.H4=function(a){for(var a=b.G4(a),d=[],f="",h=0,g=0;gg;++d)b=a.charCodeAt(d),128>b?l[g>>2]|=b<b?l[g>>2]|=(192|b>>6)<b||57344<=b?l[g>> 2]|=(224|b>>12)<>2]|=(240|b>>18)<>2]|=(128|b>>12&63)<>2]|=(128|b>>6&63)<>2]|=(128|b&63)<>2]|=c[b&3]; this.NE=a[16];56<=b&&(this.SM||this.hash(),a[0]=this.NE,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0);a[14]=this.PY<<3|this.As>>>29;a[15]=this.As<<3;this.hash()}};a.prototype.hash=function(){var a=this.KM,b=this.LM,d=this.MM,c=this.NM,e=this.OM,l=this.PM,q=this.QM,o=this.RM,t=this.ZX,s,v,u,w,x,z,C;for(s=16;64>s;++s)u=t[s-15],v=(u>>>7|u<<25)^(u>>>18|u<<14)^u>>>3,u=t[s-2],u=(u>>>17|u<<15)^(u>>>19|u<<13)^u>>>10,t[s]=t[s-16]+v+t[s-7]+u<<0;C=b&d;for(s=0;64>s;s+= 4)this.first?(z=704751109,u=t[0]-210244248,o=u-1521486534<<0,c=u+143694565<<0,this.first=y):(v=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),u=(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7),z=a&b,w=z^a&d^C,x=e&l^~e&q,u=o+u+x+g[s]+t[s],v+=w,o=c+u<<0,c=u+v<<0),v=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),u=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),C=c&a,w=C^c&b^z,x=o&e^~o&l,u=q+u+x+g[s+1]+t[s+1],v+=w,q=d+u<<0,d=u+v<<0,v=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),u=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25| q<<7),z=d&c,w=z^d&a^C,x=q&o^~q&e,u=l+u+x+g[s+2]+t[s+2],v+=w,l=b+u<<0,b=u+v<<0,v=(b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10),u=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),C=b&d,w=C^b&c^z,x=l&q^~l&o,u=e+u+x+g[s+3]+t[s+3],v+=w,e=a+u<<0,a=u+v<<0;this.KM=this.KM+a<<0;this.LM=this.LM+b<<0;this.MM=this.MM+d<<0;this.NM=this.NM+c<<0;this.OM=this.OM+e<<0;this.PM=this.PM+l<<0;this.QM=this.QM+q<<0;this.RM=this.RM+o<<0};a.prototype.mwa=function(){this.ava();var a=this.KM,d=this.LM,j=this.MM,g=this.NM,c=this.OM, e=this.PM,q=this.QM,o=this.RM;return b[a>>28&15]+b[a>>24&15]+b[a>>20&15]+b[a>>16&15]+b[a>>12&15]+b[a>>8&15]+b[a>>4&15]+b[a&15]+b[d>>28&15]+b[d>>24&15]+b[d>>20&15]+b[d>>16&15]+b[d>>12&15]+b[d>>8&15]+b[d>>4&15]+b[d&15]+b[j>>28&15]+b[j>>24&15]+b[j>>20&15]+b[j>>16&15]+b[j>>12&15]+b[j>>8&15]+b[j>>4&15]+b[j&15]+b[g>>28&15]+b[g>>24&15]+b[g>>20&15]+b[g>>16&15]+b[g>>12&15]+b[g>>8&15]+b[g>>4&15]+b[g&15]+b[c>>28&15]+b[c>>24&15]+b[c>>20&15]+b[c>>16&15]+b[c>>12&15]+b[c>>8&15]+b[c>>4&15]+b[c&15]+b[e>>28&15]+b[e>> 24&15]+b[e>>20&15]+b[e>>16&15]+b[e>>12&15]+b[e>>8&15]+b[e>>4&15]+b[e&15]+b[q>>28&15]+b[q>>24&15]+b[q>>20&15]+b[q>>16&15]+b[q>>12&15]+b[q>>8&15]+b[q>>4&15]+b[q&15]+b[o>>28&15]+b[o>>24&15]+b[o>>20&15]+b[o>>16&15]+b[o>>12&15]+b[o>>8&15]+b[o>>4&15]+b[o&15]};return function(b){return(new a).update(b).mwa()}}); define("jE",["require","jt"],function(a){var a=a("jt"),b={};b.I_=a.$g("debug",y);b.Nfa=a.zg("hqhls");b.B_=a.$g("audiocontext",n);b.vga=a.$g("testhash",y);b.Efa=a.$g("exitvronblur",y);b.zfa=a.$g("download",n);return b}); define("bF",["require","gG","jE"],function(a){function b(a){switch(Array.isArray(a)?"array":a===r?"null":typeof a){case "array":return"["+a.map(b).join(",")+"]";case "object":return"{"+Object.keys(a).sort().map(function(f){return b(f)+":"+b(a[f])}).join(",")+"}";case "boolean":return a?"true":"false";case "number":return a.toFixed(3);case "string":return'"'+a.split('"').join('\\"')+'"';case "null":return"null";case "undefined":return"undefined";case "function":return""}return""}var c=a("gG"), e=a("jE"),g=TDV.Da.IM().MAJOR+"."+TDV.Da.IM().MINOR;return{Xza:function(a){var f=a.hash;delete a.hash;var a=b(a),h=c(g+a);e.vga&&h!=f&&(console.log(g+a),console.log(h),console.log(f))}}}); define("iN",[],function(){function a(){var a=d.length,b=d.splice(0,a);g+=a;for(var j=0;j0||!b&&!c)return~setTimeout(g,k||1);if(d.length==0){c?j.then(a):f.textContent=e;h=(new Date).getTime()}e++;d.push(g); return e-1},cancel:function(a){if(a<0)clearTimeout(~a);else{var b=a-g;if(b>=0){d[b]||i("invalid async handle: "+a);d[b]=r}}}}}); define("eO",["do","iN","bZ","fg"],function(a,b,c,e){function g(){this.Xc={}}g.prototype.bind=function(a,b,h,j,g){a===m&&i("Event name undefined");b===m&&i("Event handler undefined");a in this.Xc||(this.Xc[a]=[]);this.Xc[a].push({handler:b,handlerDef:g||b,context:h||this,immediate:j?n:y});return this};g.prototype.unbind=function(b,f,h){if(b in this.Xc){var h=h||this,j=a(this.Xc[b]).select(function(a){return a.handler!=f||a.context!=h});0 a)break}0180;)this.Bo= this.Bo-360;for(;this.Bo<-180;)this.Bo=this.Bo+360}return this.Bo};a.prototype.uva=function(){if(this.zX===m)this.zX=d.Mp(this.T4()*Math.PI/180,0);return this.zX};a.prototype.pua=function(){return this.get("yaw")!==m&&this.get("backwardYaw")!==m};a.prototype.T4=function(){return this.get("backwardYaw")-180};return a});define("fu",[],function(){return{H:"stopped",P:"playing",mc:"paused"}}); define("dY",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("ImageResource",b).B("Object").J({levels:"array[ImageResourceLevel]"});return b}); define("dw","require,fg,ll,fu,dY,dW".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("dY"),a=a("dW"),b=b.extend(g,function(){g.call(this);this.set("state",e.H);this.set("autoplay",n);this.set("repeat",0);this.set("visibleOnStop",n);this.set("finalFrame","last")});b.prototype.play=function(){this.set("state",e.P)};b.prototype.pause=function(){this.set("state",e.mc)};b.prototype.stop=function(){this.set("state",e.H)};a.A("AnimatedImageResource",b).B("ImageResource").J({autoplay:"bool", finalFrame:"enum[first, last]",frameCount:"number",frameDuration:"number",rowCount:"number",colCount:"number",repeat:"number",state:"enum[stopped, playing, paused]",visibleOnStop:"bool"}).Xb([c.Ba,c.wt,c.lh]).Cg({pause:b.prototype.pause,play:b.prototype.play,stop:b.prototype.stop});b.prototype.set=function(a,b){switch(a){case "state":(this.get("state")||e.H)==e.H&&b==e.P&&this.trigger(c.lh)}g.prototype.set.call(this,a,b)};b.prototype.ah=function(a,b,h){b||(b=1);h||(h=1);return g.prototype.ah.call(this, a,b*this.get("colCount",1),h*this.get("rowCount",1))};return b}); define("gs",["fg","jd","dW"],function(a,b,c){a=a.extend(b,function(a){b.call(this);this.Hy=a===m?n:a;this.cy=this.Tl=this.Sl=this.Y=m;this.set("enabled",n);this.set("selected",y)});c.A("HotspotMapOverlay",a).B("MapOverlay").J({areas:"array[HotspotMapOverlayArea]",enabled:"bool",image:"HotspotMapOverlayImage",map:"HotspotMapOverlayMap",rollOverDisplay:"bool",rollOverImage:"HotspotMapOverlayImage",rollOverMap:"HotspotMapOverlayMap",selectedImage:"HotspotMapOverlayImage",selectedMap:"HotspotMapOverlayMap", selected:"bool",useHandCursor:"bool"});a.prototype.getItem=function(){if(this.Y===m){var a=this.get("image");this.Y=a?a.kM(this.Hy):r}return this.Y};a.prototype.pca=function(){if(this.Sl===m){var a=this.get("rollOverImage");this.Sl=a?a.kM(this.Hy):r}return this.Sl};a.prototype.rca=function(){if(this.Tl===m){var a=this.get("selectedImage");this.Tl=a?a.kM(this.Hy):r}return this.Tl};a.prototype.Fva=function(){if(this.cy===m){this.cy=[];var a=this.getItem();a&&this.cy.push(a);(a=this.pca())&&this.cy.push(a); (a=this.rca())&&this.cy.push(a)}return this.cy};return a});define("dN",["fg","dW","gs"],function(a,b,c){a=a.extend(c,function(){c.call(this,n)});b.A("AreaHotspotMapOverlay",a).B("HotspotMapOverlay");return a}); define("kU",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("gain",1);this.set("fadeOutTime",0)});a.A("AudioResource",b).B("Object").J({fadeOutTime:"number",gain:"number",mp3Url:"string",oggUrl:"string"}).hh(["mp3Url","oggUrl"]);return b});define("ck",[],function(){return{ut:"inAdvance",K_:"delayed"}}); define("R",[],function(){return{xG:"grab",yG:"grabbing",Zfa:"move",y0:"move-n",z0:"move-ne",p0:"move-e",C0:"move-se",B0:"move-s",D0:"move-sw",E0:"move-w",A0:"move-nw",$fa:"move-ew",bga:"move-ns",aga:"move-nesw",cga:"move-nwse",r0:"move-fast-n",s0:"move-fast-ne",q0:"move-fast-e",v0:"move-fast-se",u0:"move-fast-s",w0:"move-fast-sw",x0:"move-fast-w",t0:"move-fast-nw",Ue:"hand",dd:"default",pq:"inherit"}}); define("fF",["require","ll"],function(a){function b(){this.gg=[]}var c=a("ll");b.prototype.register=function(a){this.$ga(a);this.gg.push(a);a.get("pressed")&&this.R9(a)};b.prototype.cG=function(a){this.Fpa(a)};b.prototype.$ga=function(a){a.bind(c.Dg,this.U6,this,n)};b.prototype.Fpa=function(a){a.unbind(c.Dg,this.U6,this)};b.prototype.U6=function(a){this.R9(a.source)};b.prototype.R9=function(a){this.gg.forEach(function(b){b.set("pressed",b==a)})};b.register=function(a,b){this.cG(a);var d=this.Of(b); a.EP=d;d.register(a)};b.cG=function(a){a.EP&&(a.EP.cG(a),delete a.EP)};b.Of=function(a){return this.M5[a]||(this.M5[a]=new b)};b.M5={};return b});define("dm",[],function(){return{Wc:"push",Qh:"toggle"}});define("fV",[],function(){return{yt:"visible",g0:"hidden",bl:"scroll"}});define("fm",[],function(){return{dd:m,v:"over",Ca:"pressed",$a:"pressedOver",G:"selected"}});define("ep",[],function(){return{xc:"rollOver",ALWAYS:"always"}}); define("cJ",["require"],function(){var a={},b;a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){b=n;break a}}catch(c){}b=y}if(b)a.setItem=function(a,b){window.localStorage.setItem(a,b)},a.getItem=function(a){return window.localStorage.getItem(a)},a.removeItem=function(a){return window.localStorage.removeItem(a)},a.clear=function(){try{window.localStorage.clear()}catch(a){}};else{var e={};a.setItem=function(a,b){e[a]=b};a.getItem= function(a){return e[a]};a.removeItem=function(a){delete e[a]};a.clear=function(){e={}}}return a}); define("r",["require","fg","jt","cJ"],function(a){function b(){}var c=a("fg"),e=a("jt"),g=a("cJ");b.Lh=TDV.Da.FG;b.A_=TDV.Da.WO;b.oP=TDV.Da.I0;b.EAa=TDV.Da.$O;b.Vfa=TDV.Da.XO;b.Sfa=TDV.Da.H0;b.rAa=TDV.Da.ZO;b.YO=TDV.Da.YO;b.hA=TDV.Da.hA;b.VN=TDV.Da.VN;b.UN=TDV.Da.UN;b.TN=TDV.Da.TN;b.WN=TDV.Da.WN;b.If=TDV.Da.If;b.hG=TDV.Da.hG;b.Ji=TDV.Da.Ji;b.Ii=TDV.Da.Ii;b.Ew=TDV.Da.Ew;b.mq=TDV.Da.mq;b.cA=TDV.Da.cA;b.at=TDV.Da.at;b.SN=TDV.Da.SN;b.gA=TDV.Da.gA;b.Vn=TDV.Da.Vn;b.lG=TDV.Da.lG;b.eA=TDV.Da.eA;b.iG=TDV.Da.iG; b.Fw=TDV.Da.Fw;b.fA=TDV.Da.fA;b.bt=TDV.Da.bt;b.D_=TDV.Da.D_;b.dA=TDV.Da.dA;b.Gw=TDV.Da.Gw;b.jG=TDV.Da.jG;b.kG=TDV.Da.kG;b.XN=TDV.Da.XN;b.aO=TDV.Da.aO;b.Hw=TDV.Da.Hw;b.bO=TDV.Da.bO;b.cO=TDV.Da.cO;b.fr=function(a){a="force_"+a;if(e.zg("debug")&&e.zg(a))return e.Jn(a)};b.Rka=b.fr("os");b.Rd=function(){return b.Rka||TDV.Da.Rd};b.Mka=b.fr("browser");b.browser=function(){return b.Mka||TDV.Da.browser};b.Nka=b.fr("browser_type");b.hz=function(){return b.Nka||TDV.Da.hz};b.u4=b.fr("browser_subtype");b.Uc=function(){return b.u4? b.u4:TDV.Da.Uc};b.Oka=b.fr("browser_version");b.tba=function(){return b.Oka||TDV.Da.tba};b.Qka=b.fr("device");b.Ds=function(){return b.Qka||TDV.Da.Ds};b.Za=function(){return TDV.Da.qZ};b.Cka=function(){for(var a=navigator.userAgent.toLowerCase(),b=["SM-G960","SM-G965"],d=0;dnavigator.userAgent.indexOf("; wv")?y:n;b.Pka=!!b.fr("chromewebview");b.Cba=function(){return b.Pka||b.Iia};b.le=function(){return b.Uc()==b.Vn||b.Uc()==b.lG||b.Uc()==b.Gw||b.Uc()==b.dA};b.eZ=function(){return b.pda()||b.jda()||b.rda()};b.Nwa=function(){return!!(window.location.hash&&0<=window.location.hash.indexOf("device=picog2"))}; b.Lwa=function(){return!!(window.location.hash&&0<=window.location.hash.indexOf("device=piconeo2"))};b.jda=function(){return!!(window.location.hash&&0<=window.location.hash.indexOf("device=piconeo3"))};b.rda=function(){return!!(window.location.hash&&0<=window.location.hash.indexOf("device=vivefocus"))};b.pda=function(){return b.Uc()==b.Vn&&0<=navigator.userAgent.indexOf("Quest 2")};b.oda=function(){return b.Uc()==b.Vn&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")}; b.Dwa=function(){return b.Uc()==b.Vn&&0>navigator.userAgent.indexOf("Quest")};b.bZ=function(){return b.le()&&b.$E()};b.jD=m;b.yxa=function(){b.jD===m&&(b.jD=parseInt(e.Jn("sts")),isNaN(b.jD)&&(b.jD=b.le()&&!b.Cka?512:b.Za()&&b.Rd()==b.Lh?512:b.Za()?256:1024));return b.jD};var d;if(b.browser()==b.Ji||b.browser()==b.If)try{d=parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1])}catch(f){}b.dqa=d;b.GF=function(){return b.dqa};b.zma=function(){var a;try{a=parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)|| [0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||y}catch(d){}a||(a=b.GF());return a}();b.cw=function(){return b.zma};b.v5=function(){var a={yca:"unknown",wda:1},b=document.createElement("canvas");if(b&&(b=b.getContext("webgl")||b.getContext("experimental-webgl"))){var d=b.getExtension("WEBGL_debug_renderer_info");d&&(a.yca=b.getParameter(d.UNMASKED_RENDERER_WEBGL));a.$wa=b.getParameter(b.MAX_TEXTURE_SIZE);if(d=b.getExtension("EXT_texture_filter_anisotropic")||b.getExtension("MOZ_EXT_texture_filter_anisotropic")|| b.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))a.wda=b.getParameter(d.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return a}();b.xca=function(){return b.v5};b.vha=function(){var a=b.v5.yca.match(/Apple\s+(.+)\s+GPU/);return a?a[1].toUpperCase():"unknown"}();b.RAa=function(){return b.vha};b.dna=b.Ds()==b.Hw?n:y;b.Tp=function(){return b.dna};b.fY=function(){return b.browser()==b.Ji&&14<=b.GF()};var h=!!g.getItem("tdvp_video_drift_2");b.Mca=function(){return h};b.fza=function(){h=n;g.setItem("tdvp_video_drift_2", n)};b.jna="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},eva:function(a,b,c){var e=document.createElement("canvas");e.width=b;e.height=c;c=e.getContext("2d");c.translate(b,0);c.scale(-1,1);c.drawImage(a,0,0);a.src=e.toDataURL()}}}); define("gx",["require","r","jt","iN","cJ"],function(a){function b(a,b,d,f,h){this.url=a;this.Td=b;this.time=d;this.xza=f;this.qua=h}var c=a("r"),e=a("jt"),g=a("iN"),d=a("cJ");b.prototype.loaded=function(){f.TV(this.url);f.qD(this)};b.prototype.cancel=function(){f.qD(this)};var f={Zr:[],Om:[],VD:[],rX:r,i6:{},add:function(a,d,f,h){a=new b(a,d,(new Date).getTime(),f,h);this.Zr.push(a);this.L();return a},Dza:function(a){this.VD.push(a);this.L()},Cza:function(a){var b=this.VD,a=b.indexOf(a);0<=a&&b.splice(a, 1);this.L()}};if(c.Uc()==c.bt)f.y_=R(n),f.TV=D();else if(!e.zg("debug")||!e.$g("disable-cache")){f.y_=function(a){return this.i6[a]||d.getItem("tdvp_"+a)};var h=y;f.TV=function(a){this.i6[a]=n;try{d.setItem("tdvp_"+a,n)}catch(b){h||(h=n,d.clear())}}}else f.y_=R(y),f.TV=D();f.L=function(){this.rX||(this.rX=g.ow(f.bta))};f.bta=function(){f.rX=r;for(var a=this.iqa(),b=0,d=this.Om.length;ba.indexOf(h)&&h.qua()}var c=this.Om;this.Om=a;b=0;for(d=this.Om.length;bc.indexOf(h)&&h.xza()}.bind(f);f.Cra=function(){this.Zr.sort(function(a,b){return a.Td-b.Td||b.time-a.time});this.VD.sort(function(a,b){return a-b})};f.iqa=function(){this.Cra();var a=[];if(this.Zr.length)for(var b=this.VD.length?this.VD[0]:this.Zr[0].Td,d=0;10>d&&d-1&&this.Eka();this.lk.loaded();this.lk=r;this.j9(this.kb);this.zr=n;this.X=this.kb.width;this.ia=this.kb.height;h.ewa(this.vd)&& h.eva(this.kb,this.X,this.ia);this.trigger(new c(g.S))};a.prototype.II=function(){this.cancel();if(this.FK0)b=k.pop();else{b=document.createElement("img");if(f.fda(a))b.crossOrigin="Anonymous"}b.setAttribute("draggable","false");b.style.position="static";b.style.border="none";b.style.display="none";this.dha(b);b.src=a;return b};a.prototype.a4=function(a){this.j9(a);a.parentNode&&a.parentNode.removeChild(a);a.src="";k.length>p&&k.push(a)};var p=100,k=[],l=5;a.o_=function(a){return j.y_(a)};return a}); define("eY","require,do,jquery.mod,ll,ge,W,lC,fe,id".split(","),function(a){function b(){this.jl=this.ll=this.ml=this.kl=this.oo=this.mo=this.qo=this.po=0;this.cH=this.eH=this.fH=this.dH="";this.Bb=1;this.Ub=m;this.Vt=[];this.KQ=[];this.HQ=f.mP;this.uH=y;this.EI=m;this.xf=r;this.FS=this.IX=0;this.hb=document.createElement("canvas");this.hb.setAttribute("tdvlayer","background");this.K=e(this.hb);j.css(this.hb,{position:"absolute",left:0,top:0,"z-index":h.gG,"user-select":"none","-ms-user-select":"none", "-moz-user-select":"none","-webkit-user-select":"none"});this.se=n}var c=a("do"),e=a("jquery.mod"),g=a("ll"),d=a("ge"),f=a("W"),h=a("lC"),j=a("fe"),p=a("id");b.prototype.setSize=function(a,b){if(this.IX!=a||this.FS!=b){this.IX=a||0;this.FS=b||0;this.se=n}};b.prototype.Fea=function(a){if(this.ul!=a){this.ul=a;this.se=n}};b.prototype.Gb=Q("K");b.prototype.eF=Q("hb");b.prototype.wya=function(a){if(this.EI!=a){if(this.xf){this.xf.unbind(g.S,this.IB,this);this.xf.cancel();this.xf=r}if(this.EI=a){this.xf= new p(d.X0);this.xf.bind(g.S,this.IB,this);this.xf.load(this.EI)}this.se=n}};b.prototype.QZ=function(a){if(this.po!=a){this.po=a;this.se=n}};b.prototype.RZ=function(a){if(this.qo!=a){this.qo=a;this.se=n}};b.prototype.LZ=function(a){if(this.mo!=a){this.mo=a;this.se=n}};b.prototype.MZ=function(a){if(this.oo!=a){this.oo=a;this.se=n}};b.prototype.OZ=function(a){if(this.kl!=a){this.kl=a;this.se=n}};b.prototype.SZ=function(a){if(this.ml!=a){this.ml=a;this.se=n}};b.prototype.PZ=function(a){if(this.ll!=a){this.ll= a;this.se=n}};b.prototype.NZ=function(a){if(this.jl!=a){this.jl=a;this.se=n}};b.prototype.bya=function(a){if(this.dH!=a){this.dH=a;this.se=n}};b.prototype.dya=function(a){if(this.fH!=a){this.fH=a;this.se=n}};b.prototype.cya=function(a){if(this.eH!=a){this.eH=a;this.se=n}};b.prototype.aya=function(a){if(this.cH!=a){this.cH=a;this.se=n}};b.prototype.Jj=function(a){if(this.Bb!=a){this.Bb=a;this.se=n}};b.prototype.Hh=Q("Bb");b.prototype.Sz=function(a){if(!c.isEqual(this.Ub,a)){this.Ub=a;c(a).isArray()|| (a=[a]);a=c(a).filter(function(a){return c(a).isString()});this.xea(a)}};b.prototype.xea=function(a){if(!c.isEqual(this.Vt,a)){this.Vt=a;this.se=n}};b.prototype.hya=function(a){if(this.KAa!=a){this.KQ=a;this.se=n}};b.prototype.gya=function(a){if(this.HQ!=a){this.HQ=a;this.se=n}};b.prototype.IB=function(){this.se=n;this.Se()};b.prototype.Se=function(){if(this.se){this.L();this.se=y}};b.prototype.L=function(){var a=Math.max(0,this.IX-(this.kl+this.ll)),b=Math.max(0,this.FS-(this.ml+this.jl)),d=this.K.get(0); d.width=a;d.height=b;var d=d.getContext("2d"),j=this.wia(),h=j.length>0,g=this.xf&&this.xf.Sp(),e=this.kl>0&&this.dH||this.ml>0&&this.fH||this.ll>0&&this.eH||this.jl>0&&this.cH,e=h||g||e;if(h){var p;p=this.HQ==f.PO?d.createLinearGradient(0,0,a,0):d.createLinearGradient(0,0,0,b);c(j).forEach(function(a){p.addColorStop(a.ratio,a.color)});d.fillStyle=p;d.fillRect(0,0,a,b);this.uH=n}else if(this.uH){d.clearRect(0,0,a,b);this.uH=y}if(g){d.drawImage(this.xf.we(),0,0,a,b);this.uH=n}this.hb.style.opacity= this.Bb;this.hb.style.filter="alpha(opacity="+Math.round(this.Bb*100)+")";this.hb.style["-ms-filter"]="alpha(opacity="+Math.round(this.Bb*100)+")";this.hb.style.borderTopLeftRadius=this.po+"px";this.hb.style.borderTopRightRadius=this.qo+"px";this.hb.style.borderBottomLeftRadius=this.mo+"px";this.hb.style.borderBottomRightRadius=this.oo+"px";this.hb.style.borderLeft=this.oI(this.kl,this.dH);this.hb.style.borderTop=this.oI(this.ml,this.fH);this.hb.style.borderRight=this.oI(this.ll,this.eH);this.hb.style.borderBottom= this.oI(this.jl,this.cH);this.hb.style.width=a+"px";this.hb.style.height=b+"px";this.hb.style.cursor="inherit";this.hb.style.display=e?"block":"none";if(this.hb.clientWidth===0&&a!==0){this.hb.style.width=0;this.hb.style.width=a+"px"}};b.prototype.oI=function(a,b){return a>0?b?a+"px solid "+b:a+"px solid transparent":"none"};b.prototype.wia=function(){var a=[];if(this.Vt.length>0){for(var b=this.Vt.slice(),b=[].concat([b[0]],b,[b[b.length-1]]),d=this.via(),d=[].concat([0],d,[1]),f=0;f=0&&a.push({color:b[f],ratio:j})}for(f=0;f0?c(this.KQ).map(function(a){return Math.min(1,Math.max(0,a))}):a==1?[0.5]:c(c.range(a)).map(function(b,d){return 1*d/(a-1)});b.lengtha&&b.splice(a,b.length-a);return b};return b}); define("dH",["jquery.mod","lC","fe"],function(a,b,c){function e(){this.UJ=this.WJ=this.XJ=this.VJ=this.jl=this.ll=this.ml=this.kl=0;this.WC=this.ul=n;this.DX=this.WS=0;this.Z=n;this.yD=document.createElement("div");this.yD.setAttribute("tdvlayer","content");this.D9=a(this.yD);c.css(this.yD,{position:"absolute"});this.YA=document.createElement("div");this.A3=a(this.YA);c.css(this.YA,{position:"absolute"});this.D9.append(this.A3)}e.prototype.append=function(a){this.A3.append(a)};e.prototype.XX=function(a){this.YA.appendChild(a)}; e.prototype.Kxa=function(a){this.YA.removeChild(a)};e.prototype.Gb=Q("D9");e.prototype.eF=Q("yD");e.prototype.tya=function(a){this.WS!=a&&(this.WS=a,this.Z=n)};e.prototype.qza=function(a){this.DX!=a&&(this.DX=a,this.Z=n)};e.prototype.vz=function(){return this.VJ+this.kl};e.prototype.yz=function(){return this.XJ+this.ml};e.prototype.xz=function(){return this.WJ+this.ll};e.prototype.rz=function(){return this.UJ+this.jl};e.prototype.Uz=function(a){this.WC!=a&&(this.WC=a,this.Z=n)};e.prototype.Vya=function(a){this.VJ!= a&&(this.VJ=a,this.Z=n)};e.prototype.Xya=function(a){this.XJ!=a&&(this.XJ=a,this.Z=n)};e.prototype.Wya=function(a){this.WJ!=a&&(this.WJ=a,this.Z=n)};e.prototype.Uya=function(a){this.UJ!=a&&(this.UJ=a,this.Z=n)};e.prototype.OZ=function(a){this.kl!=a&&(this.kl=a,this.Z=n)};e.prototype.SZ=function(a){this.ml!=a&&(this.ml=a,this.Z=n)};e.prototype.PZ=function(a){this.ll!=a&&(this.ll=a,this.Z=n)};e.prototype.NZ=function(a){this.jl!=a&&(this.jl=a,this.Z=n)};e.prototype.Fea=function(a){this.ul!=a&&(this.ul= a,this.Z=n)};e.prototype.Se=function(){this.Z&&(this.L(),this.Z=y)};e.prototype.L=function(){c.css(this.yD,{overflow:this.WC?"visible":"hidden","z-index":this.ul?b.H_:b.G_,left:this.vz()+"px",top:this.yz()+"px",right:this.xz()+"px",bottom:this.rz()+"px",cursor:"inherit"});c.css(this.YA,{left:-this.WS+"px",top:-this.DX+"px",right:this.WC?0:"initial",bottom:this.WC?0:"initial",cursor:"inherit"})};return e}); define("hF",["do","jquery.mod","fg","lC","fe"],function(a,b,c,e,g){function d(){this.ia=this.X=this.fa=this.da=m;this.oo=this.mo=this.qo=this.po=0;this.Ic=y;this.VS=0;this.CX=4;this.jQ=6;this.kW=0;this.Ub="#000000";this.Bb=1;this.hb=document.createElement("div");this.hb.setAttribute("tdvlayer","shadow");this.K=b(this.hb);g.css(this.hb,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.Z=y}d.prototype.Gb=Q("K");d.prototype.eF=Q("hb");d.prototype.QZ=function(a){this.po!=a&&(this.po=a,this.Z= n)};d.prototype.RZ=function(a){this.qo!=a&&(this.qo=a,this.Z=n)};d.prototype.LZ=function(a){this.mo!=a&&(this.mo=a,this.Z=n)};d.prototype.MZ=function(a){this.oo!=a&&(this.oo=a,this.Z=n)};d.prototype.Jj=function(a){this.Bb!=a&&(this.Bb=a,this.Z=n)};d.prototype.Hh=Q("Bb");d.prototype.xe=function(a){this.Ic!=a&&(this.Ic=a,this.Z=n)};d.prototype.sya=function(a){this.VS!=a&&(this.VS=a,this.Z=n)};d.prototype.pza=function(a){this.CX!=a&&(this.CX=a,this.Z=n)};d.prototype.$xa=function(a){this.jQ!=a&&(this.jQ= a,this.Z=n)};d.prototype.gza=function(a){this.kW!=a&&(this.kW=a,this.Z=n)};d.prototype.Sz=function(a){this.Ub!=a&&(this.Ub=a,this.Z=n)};d.prototype.Se=function(){this.Z&&(this.L(),this.Z=y)};d.prototype.L=function(){var a=this.VS+"px "+this.CX+"px "+this.jQ+"px "+this.kW+"px "+this.Ub;this.hb.style.display=this.Ic?"block":"none";this.hb.style.boxShadow=a;this.hb.style["-webkit-box-shadow"]=a;this.hb.style["-moz-box-shadow"]=a;this.hb.style.borderTopLeftRadius=this.po+"px";this.hb.style.borderTopRightRadius= this.qo+"px";this.hb.style.borderBottomLeftRadius=this.mo+"px";this.hb.style.borderBottomRightRadius=this.oo+"px";this.hb.style.filter="alpha(opacity="+Math.round(100*this.Bb)+")";this.hb.style["-ms-filter"]="alpha(opacity="+Math.round(100*this.Bb)+")";this.hb.style.opacity=this.Bb;this.hb.style.zIndex=e.W0};return d}); define("kc","require,jquery.mod,do,fg,jd,R,ll,eY,dH,hF,lC,bZ,fe,r".split(","),function(a){var b=a("jquery.mod");a("do");var c=a("fg"),e=a("jd"),g=a("R"),d=a("ll"),f=a("eY"),h=a("dH"),j=a("hF"),p=a("lC"),k=a("bZ"),l=a("fe");a("r");var q=c.extend(e,function(){e.call(this);this.pr=q.pr++;this.QQ=this.Bd=this.AU=this.VC=this.dW=this.K=this.hb=r;this.taa=this.Q5=y;this.Q=this.pa=r;this.ia=this.X=this.Gu=this.Fu=0;this.ur=this.Ic=y;this.I5=n;this.eC=this.fC=this.ci=this.di=0;this.Bb=1;this.tf=g.dd;this.set("inView", y);this.set("toolTip",m);this.kv(n);this.WV(n)});q.prototype.Tc=P("px");q.prototype.toString=function(){return"["+this.K.attr("tdvclass")+"::"+this.pr+"]"};q.prototype.log=function(a){c.log(a+" "+this.toString()+" "+(new Date).getTime().toString())};q.prototype.Ta=Q("pa");q.prototype.cn=function(a){(this.pa=a)&&this.fT();this.Zy();this.trigger(d.rfa)};q.prototype.Gb=function(){this.K=b(this.Lm());this.Gb=Q("K");return this.K};q.prototype.Lm=function(){this.hb=document.createElement("div");this.hb.setAttribute("id", this.pr);this.px&&this.hb.setAttribute("tdvclass",this.px);l.css(this.hb,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.Lm=Q("hb");return this.hb};q.prototype.Wh=function(){this.dW=new j;this.Wh=Q("dW");return this.dW};q.prototype.Jb=function(){this.Bd=new f;this.Jb=Q("Bd");return this.Bd};q.prototype.Qx=function(){this.VC=document.createElement("div");this.VC.setAttribute("tdvlayer","overShadow");l.css(this.VC,{position:"absolute",left:0,top:0,cursor:"inherit"}); this.Qx=Q("VC");return this.VC};q.prototype.wS=function(){this.AU=b(this.Qx());this.wS=Q("AU");return this.AU};q.prototype.Ra=function(){this.QQ=new h;this.Ra=Q("QQ");return this.QQ};q.prototype.getParent=Q("Q");q.prototype.Aa=Q("X");q.prototype.eb=Q("ia");q.prototype.cwa=function(){return this.X!==m&&this.ia!==m};q.prototype.Jd=function(){return this.X-this.Ra().vz()-this.Ra().xz()};q.prototype.Id=function(){return this.ia-this.Ra().yz()-this.Ra().rz()};q.prototype.xi=function(){return this.Ra().vz()}; q.prototype.Cn=function(){return this.Ra().yz()};q.prototype.Bn=function(){return this.Ra().xz()};q.prototype.tz=function(){return this.Ra().rz()};q.prototype.xe=function(a){if(this.Ic!=a){this.Ic=a;this.Dc();if(this.Q){this.Q.Xa();this.Q.Kc()}this.Zy()}};q.prototype.Zy=function(){var a=y;this.pa&&this.Ic&&this.Hh()>0&&(this==this.pa?a=n:this.Q&&(a=this.Q.ur));this.ur!=a&&this.WP(a)};q.prototype.WP=function(a){this.ur=a;this.set("inView",a);this.ur?this.trigger(new k(d.od)):this.trigger(new k(d.Ad))}; q.prototype.Wqa=function(a){if(this.I5!=a){this.I5=a;this.Q&&this.Q.Kc()}};q.prototype.Qqa=function(a){if(this.Kx!=a){this.Kx=a;this.Xa()}};q.prototype.Pqa=function(a){if(this.Jx!=a){this.Jx=a;this.Xa()}};q.prototype.Oqa=function(a){if(this.Ix!=a){this.Ix=a;this.Xa()}};q.prototype.Nqa=function(a){if(this.Hx!=a){this.Hx=a;this.Xa()}};q.prototype.Rqa=function(a){if(this.Yi!=a){this.Yi=a;if(this.Yi!=m)this.mj=m;this.Xa()}};q.prototype.Mqa=function(a){if(this.eu!=a){this.eu=a;if(this.eu!=m)this.lj=m; this.Xa()}};q.prototype.gra=function(a){if(this.mj!=a){this.mj=a;if(this.mj!=m)this.Yi=m;this.Xa()}};q.prototype.cra=function(a){if(this.lj!=a){this.lj=a;if(this.lj!=m)this.eu=m;this.Xa()}};q.prototype.Yqa=function(a){if(this.So!=a){if(a!=m)this.iK=m;this.So=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.tra=function(a){if(this.Ap!=a){if(a!=m)this.kK=m;this.Ap=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.ira=function(a){if(this.uD!=a){if(a!=m)this.jK=m;this.uD=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.Eqa= function(a){if(this.NA!=a){if(a!=m)this.hK=m;this.NA=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.dra=function(a){if(this.iK!=a){if(a!=m)this.So=m;this.iK=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.fra=function(a){if(this.kK!=a){if(a!=m)this.Ap=m;this.kK=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.era=function(a){if(this.jK!=a){if(a!=m)this.uD=m;this.jK=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.bra=function(a){if(this.hK!=a){if(a!=m)this.NA=m;this.hK=a;this.Q&&this.Q.Kc();this.Xa()}};q.prototype.Hqa= function(a){if(this.Kq!=a){this.Kq=a;this.Q&&this.Q.Kc()}};q.prototype.Iqa=function(a){if(this.Lq!=a){this.Lq=a;this.Q&&this.Q.Kc()}};q.prototype.Hn=function(){return isNaN(this.Yi)?this.di:this.Yi};q.prototype.Gn=function(){return isNaN(this.eu)?this.ci:this.eu};q.prototype.Pla=function(){return isNaN(this.zka)?this.r6:this.zka};q.prototype.En=function(){return isNaN(this.Kx)?this.fC:this.Kx};q.prototype.Pp=function(){return isNaN(this.Jx)?this.eC:this.Jx};q.prototype.GM=function(){return isNaN(this.Ix)? 1E4:this.Ix};q.prototype.FM=function(){return isNaN(this.Hx)?1E4:this.Hx};q.prototype.f$=function(a){if(this.zS()!=a){this.Ra().Vya(a);this.Xa()}};q.prototype.zS=function(){return this.Ra().VJ};q.prototype.h$=function(a){if(this.BS()!=a){this.Ra().Xya(a);this.Xa()}};q.prototype.BS=function(){return this.Ra().XJ};q.prototype.g$=function(a){if(this.AS()!=a){this.Ra().Wya(a);this.Xa()}};q.prototype.AS=function(){return this.Ra().WJ};q.prototype.e$=function(a){if(this.yS()!=a){this.Ra().Uya(a);this.Xa()}}; q.prototype.yS=function(){return this.Ra().UJ};q.prototype.SF=function(a){if(this.Fu!=a){this.Fu=a;this.Ih()}};q.prototype.TF=function(a){if(this.Gu!=a){this.Gu=a;this.Ih()}};q.prototype.Jj=function(a){if(this.Bb!=a){this.Bb=a;l.css(this.Qx(),{filter:"alpha(opacity="+Math.round(this.Bb*100)+") ",opacity:this.Bb});this.Zy();this.Ih()}};q.prototype.Hh=Q("Bb");q.prototype.Bqa=function(a){if(this.Jb().po!=a){this.Wh().QZ(a);this.Jb().QZ(a)}};q.prototype.fla=function(){return this.Jb().po};q.prototype.Cqa= function(a){if(this.Jb().qo!=a){this.Wh().RZ(a);this.Jb().RZ(a)}};q.prototype.gla=function(){return this.Jb().qo};q.prototype.tqa=function(a){if(this.Jb().mo!=a){this.Wh().LZ(a);this.Jb().LZ(a)}};q.prototype.dla=function(){return this.Jb().mo};q.prototype.uqa=function(a){if(this.Jb().oo!=a){this.Wh().MZ(a);this.Jb().MZ(a)}};q.prototype.ela=function(){return this.Jb().oo};q.prototype.xqa=function(a){if(this.Jb().kl!=a){this.Jb().OZ(a);this.Ra().OZ(a);this.Xa()}};q.prototype.J4=function(){return this.Jb().kl}; q.prototype.Dqa=function(a){if(this.Jb().ml!=a){this.Jb().SZ(a);this.Ra().SZ(a);this.Xa()}};q.prototype.L4=function(){return this.Jb().ml};q.prototype.zqa=function(a){if(this.Jb().ll!=a){this.Jb().PZ(a);this.Ra().PZ(a);this.Xa()}};q.prototype.K4=function(){return this.Jb().ll};q.prototype.vqa=function(a){if(this.Jb().jl!=a){this.Jb().NZ(a);this.Ra().NZ(a);this.Xa()}};q.prototype.I4=function(){return this.Jb().jl};q.prototype.wqa=function(a){this.Jb().bya(a)};q.prototype.Aqa=function(a){this.Jb().dya(a)}; q.prototype.yqa=function(a){this.Jb().cya(a)};q.prototype.sqa=function(a){this.Jb().aya(a)};q.prototype.ZK=function(a){this.Wh().xe(a)};q.prototype.ora=function(a){this.Wh().sya(a)};q.prototype.rra=function(a){this.Wh().pza(a)};q.prototype.mra=function(a){this.Wh().$xa(a)};q.prototype.qra=function(a){this.Wh().gza(a)};q.prototype.pra=function(a){this.Wh().Jj(a)};q.prototype.nra=function(a){this.Wh().Sz(a)};q.prototype.pqa=function(a){this.bla()!=a&&this.Jb().Jj(a)};q.prototype.bla=function(){return this.Jb().Hh()}; q.prototype.lqa=function(a){this.ala()!=a&&this.Jb().Sz(a)};q.prototype.ala=function(){return this.Jb().Ub};q.prototype.nqa=function(a){this.Jb().hya(a)};q.prototype.mqa=function(a){this.Jb().gya(a)};q.prototype.oqa=function(a){this.Jb().wya(a)};q.prototype.js=function(a){if(this.tf!=a){this.tf=a;this.Ih()}};q.prototype.kv=function(a){if(this.ul!=a){this.ul=a;l.css(this.Qx(),{"z-index":this.ul?p.K0:p.J0});this.Ra().Fea(this.ul);this.Ih()}};q.prototype.WV=function(a){if(this.B8!=a){this.B8=a;l.css(this.Lm(), {"z-index":this.B8?p.m1:p.l1});this.Ih()}};q.prototype.el=function(){this.Zy();this.lF()};q.prototype.qj=function(){this.Zy()};q.prototype.vV=D();q.prototype.fT=function(){this.lF();this.Dc();this.Xa();this.Kc();this.Ih()};q.prototype.Xo=function(){this.eC=this.fC=this.ci=this.di=0;this.r6=m};q.prototype.lF=function(){var a=this.Ta();a&&a.cx.lF(this)};q.prototype.Dc=function(){var a=this.Ta();a&&a.cx.Dc(this)};q.prototype.Xa=function(){var a=this.Ta();a&&a.cx.Xa(this)};q.prototype.Kc=function(){var a= this.Ta();a&&a.cx.Kc(this)};q.prototype.Ih=function(){var a=this.Ta();a&&a.cx.Ih(this)};q.prototype.KS=function(){var a=isNaN(this.iK)&&isNaN(this.So),b=isNaN(this.jK)&&isNaN(this.uD);return isNaN(this.Yi)&&isNaN(this.mj)&&(a||b)?n:y};q.prototype.w5=function(){var a=isNaN(this.kK)&&isNaN(this.Ap),b=isNaN(this.hK)&&isNaN(this.NA);return isNaN(this.eu)&&isNaN(this.lj)&&(a||b)?n:y};q.prototype.tta=function(){this.Xo();var a=this.Pla();if(a){var b=this.KS(),d=this.w5();if(b&&!d){b=this.Id();if(b!=0){this.di= b*a+this.xi()+this.Bn();this.ci=b+this.Cn()+this.tz()}}else if(!b&&d){b=this.Jd();if(b!=0){this.ci=b/a+this.xi()+this.Bn();this.di=b+this.xi()+this.Bn()}}}if(!isNaN(this.Kx)&&this.dithis.Ix)this.di=this.Ix;if(!isNaN(this.Jx)&&this.cithis.Hx)this.ci=this.Hx};q.prototype.Ga=function(){if(!this.taa){this.taa=n;var a=this.Lm(),b=this.Qx();a.appendChild(this.Wh().eF());a.appendChild(b);b.appendChild(this.Jb().eF()); b.appendChild(this.Ra().eF())}};q.prototype.Uza=function(){this.tta();var a=this.Hn(),b=this.Gn(),d=this.En(),j=this.Pp();if(a!=this.Gna||b!=this.Fna||d!=this.Cna||j!=this.Bna||this.mj!=this.Ena||this.lj!=this.Dna){this.Gna=a;this.Fna=b;this.Cna=d;this.Bna=j;this.Ena=this.mj;this.Dna=this.lj;return n}return y};q.prototype.ka=function(){this.Ih()};q.prototype.Gi=D();q.prototype.wea=function(a,b,j,f){if(this.da!=a||this.fa!=b||this.X!=j||this.ia!=f){this.da=a;this.fa=b;this.X=j;this.ia=f;this.Jb().setSize(this.X, this.ia);this.Kc();this.Ih();this.trigger(new k(d.zb))}};q.prototype.Se=function(){var a=this.Lm(),b=this.Qx();if(this.Ic){b.style.width=this.X+"px";b.style.height=this.ia+"px";a.style.left=this.da+this.Fu+"px";a.style.top=this.fa+this.Gu+"px";a.style.width=this.X+"px";a.style.height=this.ia+"px";a.style.visibility="inherit";a.style.overflow="visible";a.style.cursor=this.pa&&this.pa.oR.Vba(this.tf);if(b.clientWidth===0&&this.X!==0){a.style.width=0;a.style.width=this.X+"px"}}else{a.style.visibility= "hidden";a.style.width=0;a.style.height=0;a.style.overflow="hidden";b.style.width=0;b.style.height=0}this.Wh().Se();this.Jb().Se();this.Ra().Se();if(!this.Q5&&this.pa){this.Q5=n;this.pa.C$?this.gT():this.pa.bind(d.lh,this.gT,this,n)}};q.prototype.gT=function(){this.trigger(d.INIT)};q.prototype.Rva=function(a){var a=a.Gb().offset(),b=this.Gb().offset(),d={};d.left=b.left-a.left;d.top=b.top-a.top;if(this.pa){d.left=d.left/this.pa.Qu;d.top=d.top/this.pa.Qu}return d};q.pr=0;return q}); define("J","require,do,fg,ll,bZ,fm,kc".split(","),function(a){var b=a("do"),c=a("fg"),e=a("ll"),g=a("bZ"),d=a("fm"),f=a("kc"),h=c.extend(f,function(){this.V={};this.np=this.w4=m;this.Yr={};this.s4=n;this.D$={};f.call(this);this.Xja();this.za();this.Tc("UICustomizable");this.Dc()});h.pb={visible:n,includeInLayout:n,state:m,left:m,right:m,top:m,bottom:m,centerX:m,centerY:m,width:m,height:m,minWidth:m,minHeight:m,maxWidth:m,maxHeight:m,actualWidth:m,actualHeight:m,paddingLeft:0,paddingTop:0,paddingRight:0, paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:m,borderBottomRadius:m,borderLeftRadius:m,borderRightRadius:m,borderTopLeftRadius:m,borderTopRightRadius:m,borderBottomLeftRadius:m,borderBottomRightRadius:m,borderSize:0,borderLeftSize:m,borderTopSize:m,borderRightSize:m,borderBottomSize:m,borderColor:m,borderLeftColor:m,borderTopColor:m,borderRightColor:m,borderBottomColor:m,shadow:y,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:m, backgroundOpacity:1,backgroundColor:m,backgroundColorRatios:m,backgroundColorDirection:m,backgroundImageUrl:m,hideEffect:m,showEffect:m};h.prototype.Xja=function(){this.D$[d.$a]=d.Ca};h.prototype.za=function(){this.bk(h.pb)};h.prototype.bk=function(a){for(var b in a){var d=a[b],f=d&&d.length;!f||typeof d=="string"?this.f(b,d):f==1?this.f(b,d[0]):f==2?this.h(b,d[0],d[1]):f==3&&this.h(b,d[0],d[1],d[2])}};h.prototype.f=function(a,b){this.V[a]={i:n,d:b}};h.prototype.Vla=function(){var a=[],b;for(b in this.V)a.push(b); return a};h.prototype.h=function(a,b,d,f){this.Yr[b]||(this.Yr[b]={});this.f(a,f);this.Yr[b][d]=a};h.prototype.My=function(a,b){if(b)this.w4=a;else if(this.w4!=m)return;if(this.np!=a){var d=this.Yr[this.np];if(d)for(var f in d)(this.V[f]||(this.V[f]={})).i=n;this.np=a;if(d=this.Yr[this.np])for(f in d)(this.V[f]||(this.V[f]={})).i=n;this.Dc()}};h.prototype.M=function(a){if(b(a).isString())this.set(a,m);else{var d=a;for(a in d)this.set(a,d[a])}};h.prototype.set=function(a,d){var h=this.V[a];if(h){d== m&&(d=h.d);if(!b.isEqual(this.get(a),d)){a=="state"&&this.My(d,n);f.prototype.set.call(this,a,d);h.i=n;this.Dc()}}else f.prototype.set.call(this,a,d)};h.prototype.get=function(a,b){switch(a){case "actualWidth":return this.Aa();case "actualHeight":return this.eb();default:var d=f.prototype.get.call(this,a);if(d===m){var h=this.V[a];h&&(d=h.d);d===m&&(d=b)}return d}};h.prototype.o2=function(){for(var a=["paddingLeft","paddingTop","paddingRight","paddingBottom","borderRadius","borderTopRadius","borderBottomRadius", "borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize"],b=0;b=2)return parseFloat(a[1])}; return h});define("hp",["do","fg","bZ"],function(a,b,c){return b.extend(c,function(b,g,d){a.isNumber(g)||(g=1);a.isNumber(d)||(d=0);c.call(this,b);this.scale=g;this.rotation=d})});define("lp",["do","fg","bZ"],function(a,b,c){return b.extend(c,function(a,b,d,f,h,j,p){c.call(this,a);this.x=b;this.y=d;this.pageX=f;this.pageY=h;this.Jp=j;this.lY=p})}); define("d","require,jquery.mod,do,fg,ll,fm,jg,J,hp,lp,fe,r,jt".split(","),function(a){var b=a("jquery.mod"),c=a("do"),e=a("fg"),g=a("ll"),d=a("fm"),f=a("jg"),h=a("J"),j=a("hp"),p=a("lp");a("fe");var k=a("r"),a=a("jt"),l=e.extend(h,function(){h.call(this);this.Tc("UIComponent");this.$H=[];this.mC=[];this.ika=500;this.sb=1;this.ik=k.HN();this.MB=this.Mo=this.QI=y;this.set("propagateClick",n)});l.pb={autoRolledOver:y,autoPressed:y,contentOpaque:n,cursor:m,inheritedCursor:m,inheritedInteractionEnabled:n, interactionEnabled:n,rollOverOpacity:[d.v,"opacity"],rollOverShadow:[d.v,"shadow"],toolTipFollowMouse:y};c.defaults(l.pb,h.pb);l.prototype.za=function(){this.bk(l.pb)};l.prototype.A2=function(){this.k$(n)};l.prototype.z2=function(){this.k$(y)};l.prototype.x2=function(){this.Ly(n)};l.prototype.y2=function(){this.Ly(y)};l.prototype.DD=function(a){if(this.Mo!=a){this.Mo=a;this.je()}};l.prototype.Ly=function(a){if(this.MB!=a){this.MB=a;this.je()}};l.prototype.k$=function(a){if(this.QI!=a){this.QI=a;this.je()}}; l.prototype.je=function(){this.Mo?this.My(d.G):this.MB&&this.QI?this.My(d.$a):this.MB?this.My(d.Ca):this.QI?this.My(d.v):this.My(d.dd)};l.prototype.trigger=function(){h.prototype.trigger.apply(this,arguments)};l.prototype.maa=function(a){this.trigger(new p(g.Hb,a.x,a.y,a.pageX,a.pageY))};l.prototype.naa=function(a){this.trigger(new p(g.Mc,a.x,a.y,a.pageX,a.pageY))};l.prototype.oaa=function(a){this.trigger(new p(g.fc,a.x,a.y,a.pageX,a.pageY))};l.prototype.Fsa=function(a,b){this.trigger(new p(g.rq, a.x,a.y,a.pageX,a.pageY,b.Jp,b.lY))};l.prototype.haa=function(a){this.trigger(new p(g.U,a.x,a.y,a.pageX,a.pageY))};l.prototype.iaa=function(a){this.trigger(new p(g.CG,a.x,a.y,a.pageX,a.pageY))};l.prototype.Hsa=function(){this.trigger(new p(g.xc))};l.prototype.Gsa=function(){this.trigger(new p(g.Qb))};l.prototype.Dsa=function(){this.trigger(new p(g.Mh))};l.prototype.Esa=function(){this.trigger(new p(g.Kf))};l.prototype.Csa=function(a,b){this.trigger(new j(g.wG,a,b))};l.prototype.Asa=function(a,b){this.trigger(new j(g.Jfa, a,b))};l.prototype.Bsa=function(a,b){this.trigger(new j(g.vG,a,b))};l.prototype.kaa=function(a){this.trigger(new j(g.Kfa,m,a))};l.prototype.laa=function(a){this.trigger(new j(g.Kw,a))};l.prototype.KW=function(a){a.stopImmediatePropagation();this.Fx(["touchend"]);if(this.sT(a))this.fV(a);else{this.K5();this.a9(a,n)}};l.prototype.a9=function(a,b){var d=this.AB(a);b&&this.wsa(d);this.maa(d);this.Q&&this.Q.a9(a,b&&this.get("propagateClick"))};l.prototype.JW=function(a){a.preventDefault();a.stopImmediatePropagation(); this.sT(a)?this.dV(a):this.Z8(a)};l.prototype.Z8=function(a){var b=this.AB(a);this.vsa(b);this.naa(b);this.Q&&this.Q.Z8(a)};l.prototype.O4=function(a,b){var d=a.pageX-b.pageX,f=a.pageY-b.pageY;return Math.sqrt(d*d+f*f)};l.prototype.ps=function(a,b){this.lB(["touchend"]);b!==y&&a.preventDefault();a.stopImmediatePropagation();this.sT(a)?this.eV(a):this.Y8(a,this.T5());this.GA()};l.prototype.Y8=function(a,b){this.oaa(this.AB(a));this.usa(b);this.Q&&this.Q.Y8(a)};l.prototype.wsa=function(a){this.bind(g.Qb, this.caa,this,n);this.sv=a};l.prototype.vsa=function(a){if(this.sv){var a=this.O4(this.sv,a),b;if(k.Za()){b=this.Ta();b=Math.min(b.Aa(),b.eb())*0.01;b=l.Oga*b}else b=l.Uga;a>b&&this.xL()}};l.prototype.usa=function(a){if(this.sv){this.haa(this.sv);a&&this.iaa(this.sv);this.xL()}};l.prototype.xL=function(){if(this.sv){this.unbind(g.Qb,this.caa,this);this.sv=m}};l.prototype.caa=function(){this.xL()};l.prototype.fS=function(a){this.Fx(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation(); this.fV(a)};l.prototype.fV=function(a){var b=this.qS(a);this.yy=b;this.Csa(b.scale,b.rotation);this.Q&&this.Q.fV(a)};l.prototype.z4=function(a){a.preventDefault();a.stopImmediatePropagation();this.dV(a)};l.prototype.dV=function(a){var b=this.qS(a,this.yy),d=b.rotation-this.yy.rotation,f=b.scale/this.yy.scale;this.yy=b;this.sb=this.sb*f;for(this.ie=this.ie+d;this.ie>180;)this.ie=this.ie-360;for(;this.ie<-180;)this.ie=this.ie+360;this.Asa(this.sb,this.ie);d!=0&&this.kaa(this.ie);f!=1&&this.laa(this.sb); this.xL();this.Q&&this.Q.dV(a)};l.prototype.B4=function(a){this.lB(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.eV(a)};l.prototype.eV=function(a){var b=this.qS(a),d=b.rotation-this.yy.rotation,b=b.scale/this.yy.scale;this.sb=this.sb*b;for(this.ie=this.ie+d;this.ie>180;)this.ie=this.ie-360;for(;this.ie<-180;)this.ie=this.ie+360;this.Bsa(this.sb,this.ie);d!=0&&this.kaa(this.ie);b!=1&&this.laa(this.sb);this.Q&&this.Q.eV(a)};l.prototype.ZT=function(a){this.Fx(["mouseup"]); a.stopImmediatePropagation();this.K5();this.U8(a,n);q&&this.tna(a.ctrlKey)};l.prototype.U8=function(a,b){var d=this.mu(a);b&&this.aja(d);this.maa(d);this.Q&&this.Q.U8(a,b&&this.get("propagateClick"))};l.prototype.$T=function(a){a.preventDefault();a.stopImmediatePropagation();this.Ta().qw(this);this.V8(a)};l.prototype.V8=function(a){var b=this.mu(a);this.$ia(b);this.naa(b);this.Q&&this.Q.V8(a)};l.prototype.qJ=function(a){this.lB(["mouseup"]);a.preventDefault();a.stopImmediatePropagation();this.W8(a, this.T5())};l.prototype.W8=function(a,b){this.oaa(this.mu(a));this.Zia(b);this.Q&&this.Q.W8(a,b)};l.prototype.aja=function(a){this.bind(g.Qb,this.o3,this,n);this.Ut=a};l.prototype.$ia=function(a){this.Ut&&this.O4(this.Ut,a)>l.Jga&&this.FQ()};l.prototype.Zia=function(a){if(this.Ut){this.haa(this.Ut);a&&this.iaa(this.Ut);this.FQ()}};l.prototype.FQ=function(){if(this.Ut){this.unbind(g.Qb,this.o3,this);this.Ut=m}};l.prototype.o3=function(){this.FQ()};l.prototype.x6=function(a){if(this.pa.w6){a.preventDefault(); a.stopImmediatePropagation();this.X8(a)}};l.prototype.U2=R(y);l.prototype.X8=function(a){var b=this.mu(a),d=this.Ila(a);this.Q&&!this.U2(d.Jp)&&this.Q.X8(a);this.Fsa(b,d)};l.prototype.mu=function(a){return this.iS(a.pageX,a.pageY)};l.prototype.Ila=function(a){var a=window.event||a.originalEvent||a,b={};b.Jp=Math.max(-1,Math.min(1,a.wheelDelta||-a.detail));b.lY=a.wheelDelta?a.wheelDelta*0.01:b.Jp;return b};l.prototype.AB=function(a){var b=this.nS(a);return this.rpa=a=b===m?this.iS(a.pageX,a.pageY): b.length==0?this.rpa:this.iS(b[0].pageX,b[0].pageY)};l.prototype.sT=function(a){if((a=this.nS(a))&&a.length>1)for(var b=0,d=0;d1)return n}return y};l.prototype.Xma=function(a){for(;a;){if(a==this.hb)return n;a=a.parentNode}return y};l.prototype.nS=function(a){return a.originalEvent.touches||a.originalEvent.targetTouches||a.originalEvent.changedTouches};l.prototype.iS=function(a,b){var d=this.Gb().offset(),f=this.pa?this.pa.Qu:1,h={};h.x=(a-d.left)/ f;h.y=(b-d.top)/f;h.pageX=a/f;h.pageY=b/f;h.Kda=a;h.Lda=b;return h};l.prototype.qS=function(a,b){if(a.originalEvent.scale!==m||a.originalEvent.rotation!==m)return{scale:a.originalEvent.scale,rotation:a.originalEvent.rotation};if(b){var d=this.V4(a);return{scale:b.scale*d/b.touchesDistance,rotation:0,touchesDistance:d}}return{scale:1,rotation:0,touchesDistance:this.V4(a)}};l.prototype.V4=function(a){var b=this.nS(a);if(b&&b.length>1){a=Math.abs(b[0].pageX-b[1].pageX);b=Math.abs(b[0].pageY-b[1].pageY); return Math.sqrt(a*a+b*b)}return 0};l.prototype.Fx=function(a){this.$H=c(this.$H).union(a);for(var a=this.U4(a),b=0;b1){var b=this.mC.slice(-2)[0];if(a-b<=this.ika)return n}return y};l.prototype.lB=function(a){this.$H=c(this.$H).difference(a);for(var a=this.U4(a),b=0;b0&&b.Vt.length>0,d=this.k("contentOpaque"), f=this.k("inheritedInteractionEnabled"),c=this.k("interactionEnabled");this.jv(f&&c&&(d||b))}if(a||this.n("cursor")||this.n("inheritedCursor")){this.q("cursor");this.q("inheritedCursor");this.XG?this.js(this.k("cursor")):this.js(this.k("inheritedCursor"))}};l.prototype.jv=function(a){if(this.XG!=a){(this.XG=a)?this.Fx(l.a2):this.lB(l.a2);this.GA()}};l.prototype.GA=function(){this.Lm().style["pointer-events"]=this.l5()};l.prototype.l5=function(){return this.XG?"auto":"none"};l.prototype.tna=function(a){if(a){for(var a= [],b=this;b;){a.push(b);b=b.getParent()}console.log(a.map(function(a){return a.LA}))}else console.log(this.LA)};l.pF=function(){return l.xE>0};l.a2=function(){var a=[],a=a.concat(["touchstart","touchmove","gesturestart"]);k.Rd()!=k.Lh&&(a=a.concat(["mousedown","mousemove","mousewheel"]));return a}();l.xE=0;l.HAa=1E3;l.Uga=10;l.Oga=5;l.Jga=10;var q=a.$g("debug");return l});define("jY",[],function(){return{ra:"left",Na:"right",Lc:"center",ob:"top",nb:"bottom",vc:"middle"}}); define("c",[],function(){return{fG:"absolute",Be:"horizontal",oq:"grid",of:"vertical"}});define("ca",[],function(){return function(a){this.Vc=a;this.height=this.width=this.y=this.x=0}});define("cV",[],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}}); define("bL",["jY","ca","cV"],function(a,b,c){function e(){this.Tb=r;this.ti=a.ob;this.Zh=a.ra;this.Bv=this.Io=0}e.prototype.Eea=function(a){this.Io!=a&&(this.Io=a,this.ed())};e.prototype.CN=function(a){this.Bv!=a&&(this.Bv=a,this.ed())};e.prototype.Nea=function(a){this.Tb=a;this.ed()};e.prototype.Tz=function(a){this.Zh!=a&&(this.Zh=a,this.ed())};e.prototype.Xz=function(a){this.ti!=a&&(this.ti=a,this.ed())};e.prototype.tF=function(){return new c};e.prototype.update=function(){var a=this.sja();this.Yy(a); this.Jqa(a)};e.prototype.Yy=function(a){this.lE(a);this.kE(a)};e.prototype.sI=function(){for(var a=this.t5(),b=[],f=0;fa&&(a=this.vu,e=n),e)a=Math.max(1,Math.floor((l+q)/(a+q))),a=(l-(a-1)*q)/a}else a=this.Oo;a=Math.max(1,a);o=Math.max(1,Math.floor(0.001+(l+q)/(a+q)));var e=o*a,t=o*(a+q)-q,s=0;if(l>=t)switch(this.Zh){case b.Na:s=l-t;break;case b.Lc:s=Math.round(0.5*(l-t));break;default:s=0}for(var l=[],t=[],v=0;vq&&(q=this.QB,e=n),e)q=Math.max(1,Math.floor((s+v)/(q+v))),q=(s-(q-1)*v)/q}else q=this.No;e=Math.max(1,Math.ceil(k/o));d=e*q;var k=e*(q+v)-v,u=0;if(s>=k)switch(this.ti){case b.nb:u=s-k;break;case b.vc:u=Math.round(0.5*(s-k))}k=[];s=[];for(f=0;fs?(l.width=s,b-=l.width,a=n):(e+=q.mj,c.push(l))}k=c}while(a);for(f=0;f=c)switch(this.Zh){case b.Na:f-=c;break;case b.Lc:f= Math.round(0.5*(f-c));break;default:f=0}else f=0;for(k=0;k=l.height)switch(this.ti){case b.nb:l.y=h-l.height;break;case b.vc:l.y=Math.round(0.5*(h-l.height));break;default:l.y=0}else l.y=0;l.x=f;f+=l.width+d}else l.x=0,l.y=0};return a}); define("cv",["fg","jY","bL","cV"],function(a,b,c,e){a=a.extend(c,function(){c.call(this)});a.prototype.tF=function(){for(var a=new e,b=this.sI(),f=0;fs?(l.height=s,b-=l.height,a=n):(e+=q.lj,c.push(l))}k=c}while(a);for(f=0;ff&&(f=l.width),e++)}c+=d*(e-1);if(h>=c)switch(this.ti){case b.nb:h-=c;break;case b.vc:h= Math.round(0.5*(h-c));break;default:h=0}else h=0;for(k=0;k=0&&!c;e--)b(this.nl).contains(this.zc[e])||(c=this.zc[e]);for(e=f+1;e0){b(this.nl).forEach(function(a){this.Ra().XX(a.Lm());a.cn(this.Ta())},this);this.nl=[];this.Xa();this.Kc()}};l.prototype.OF=function(a){if(this.jk!=a){this.jk&&this.jk.Nea(r); (this.jk=a)&&this.jk.Nea(this)}};l.prototype.ka=function(){var a=y,b=this.k("layout");if(this.n("layout")){switch(b){case f.oq:this.OF(new j);break;case f.Be:this.OF(new p);break;case f.of:this.OF(new k);break;default:this.OF(new h)}this.q("layout");a=n}var d=this.jk;if(this.n("horizontalAlign")||a){d.Tz(this.k("horizontalAlign"));this.q("horizontalAlign")}if(this.n("verticalAlign")||a){d.Xz(this.k("verticalAlign"));this.q("verticalAlign")}if(this.n("gap")||a){if(b==f.oq){d.Eea(this.k("gap"));d.CN(this.k("gap"))}else b== f.Be?d.Eea(this.k("gap")):b==f.of&&d.CN(this.k("gap"));this.q("gap")}if(b==f.oq){if(this.n("itemWidth")||a){var g=this.k("itemWidth"),l=e.Ok(g);l!==m?d.Jya(l):d.Bya(g);this.q("itemWidth")}if(this.n("itemHeight")||a){g=this.k("itemHeight");l=e.Ok(g);l!==m?d.Iya(l):d.Aya(g);this.q("itemHeight")}if(this.n("itemMinWidth")){d.Gya(this.k("itemMinWidth"));this.q("itemMinWidth")}if(this.n("itemMinHeight")){d.Fya(this.k("itemMinHeight"));this.q("itemMinHeight")}if(this.n("itemMaxWidth")){d.Eya(this.k("itemMaxWidth")); this.q("itemMaxWidth")}if(this.n("itemMaxHeight")){d.Dya(this.k("itemMaxHeight"));this.q("itemMaxHeight")}}if(this.n("childrenInteractionEnabled")){this.q("childrenInteractionEnabled");this.zaa()}this.ib(["cursor"],{cursor:"inheritedCursor"},this.zc,n,y);c.prototype.ka.call(this);b==f.oq&&d.pya(this.Yi)};l.prototype.ib=function(a,b,d,f,c){for(var h=0;hthis.va?this.va=0:this.va>a&&(this.va=a)};g.Be="horizontal";g.of="vertical";return g});define("hB",["fg","ln"],function(a,b){return a.extend(b,function(a){b.call(this,b.Be,a)})});define("dx",["fg","ln"],function(a,b){return a.extend(b,function(a){b.call(this,b.of,a)})}); define("V",["require"],function(){function a(){}function b(d){var c=f;f=[];a.WY=n;var e=d-a.wd,e=1e?e:100:1;a.wd=d;for(d=0;d=c?0:c>=e?1:c/e;0.5>c?c=Math.pow(2*c,a):(c=1-Math.pow(1-(2*c-1),a),c+=1);return b+(f-b)*0.5*c}};b.pZ=e(a);return b}function b(a){var b={qY:function(b,c,f,e){return b+(c-b)*(1-Math.pow(1-(0>=f?0:f>=e?1:f/e),a))}};b.pZ=e(a);return b}function c(a){var b={qY:function(b,c,f,e){return b+(c-b)*Math.pow(0>=f?0:f>=e?1:f/e,a)}};b.pZ=e(a);return b}function e(a){return function(b,c,e){b=Math.abs(c-b);return 1>b/e?0:1/(1-Math.pow((b-e)/b, 1/a))}}function g(d,f,h){this.oh=r;switch(d){case "quad_in":this.oh=c(2);break;case "quad_out":this.oh=b(2);break;case "quad_in_out":this.oh=a(2);break;case "cubic_in":this.oh=c(3);break;case "cubic_out":this.oh=b(3);break;case "cubic_in_out":this.oh=a(3);break;case "quart_in":this.oh=c(4);break;case "quart_out":this.oh=b(4);break;case "quart_in_out":this.oh=a(4);break;case "quint_in":this.oh=c(5);break;case "quint_out":this.oh=b(5);break;case "quint_in_out":this.oh=a(5);break;default:this.oh=c(1)}this.Co= f.slice();this.tc=0;this.gb=this.er(f,h);this.uR={};for(d=0;d=this.gb};g.prototype.Cj=Q("gb");g.prototype.setTime=function(a){this.tc=Math.min(Math.max(0,a),this.gb);for(a=0;athis.Fc?this.rH()&&(d=Math.min(a,this.Oa-this.He)):athis.kc?this.pH()&&(c=Math.min(b,this.Ya-this.fe)):bthis.kc+this.fe&&h>=b&&h=a+this.fe&&fd+this.fe&& (d=f-this.fe)}this.SD(this.Fc,d)}};o.prototype.sH=function(){return this.S2()&&this.kc>0};o.prototype.sea=function(){if(this.rH()){for(var a=Math.max(0,this.Oa-this.He),b=Math.min(a,this.Fc+this.He*0.5),d=a=Math.min(a,this.Fc+this.He),c=this.Pa().slice(),f=c.shift();c.length;f=c.shift())if(f.get("visible")){var h=f.da;h+f.Aa()>this.Fc+this.He&&h>=b&&h=a+this.He&&fd+this.He&&(d=f-this.He)}this.SD(d,this.kc)}};o.prototype.qH=function(){return this.R2()&&this.Fc>0};o.prototype.SD=function(a,b){this.ei=this.Fc!=a;this.fi=this.kc!=b;this.ln();this.fs=new l("cubic_in_out",[new q("hScrollPosition",this.Fc,a),new q("vScrollPosition",this.kc,b)],500);k.Ma(this.NP,this)}; o.prototype.S2=function(){return this.qn&&this.fe0&&this.kc>0||a<0&&this.kc25){this.ei=this.lr;this.fi=this.qn;this.ln()}if(this.ei||this.fi){this.Fc=this.Fc-b;this.kc=this.kc-d;this.Pq=a.pageX;this.Qq=a.pageY;this.Ep();this.Ysa()}};o.prototype.y3=function(){this.Ta().unbind(e.Mc, this.x3,this);this.Ta().unbind(e.fc,this.y3,this);this.nT=y;this.ln();var a=Math.max(Math.abs(this.OQ/0.001),Math.abs(this.PQ/0.001));this.fs=new l("linear",[new q("hScrollPosition",this.Fc,this.Fc-0.5*this.OQ*a),new q("vScrollPosition",this.kc,this.kc-0.5*this.PQ*a)],a);k.Ma(this.NP,this)};o.prototype.Fma=function(){this.MQ=this.Pq;this.NQ=this.Qq};o.prototype.Ysa=function(){var a=(new Date).getTime(),b=a-this.v3;if(b>10){this.v3=a;this.OQ=(this.Pq-this.MQ)/b;this.PQ=(this.Qq-this.NQ)/b;this.MQ= this.Pq;this.NQ=this.Qq}};o.prototype.NP=function(a){if(this.fs&&!this.fs.Re()&&(this.ei||this.fi)){this.fs.fb(a);if(this.ei){this.Fc=this.fs.Fb("hScrollPosition");if(this.Fc<0||this.Fc>this.Oa-this.He)this.ei=y}if(this.fi){this.kc=this.fs.Fb("vScrollPosition");if(this.kc<0||this.kc>this.Ya-this.fe)this.fi=y}this.Ep();k.Ma(this.NP,this)}else{this.fi=this.ei=y;this.fs=r;this.ln()}};o.prototype.Ep=function(){this.Fc=this.lr?Math.max(0,Math.min(this.Oa-this.He,this.Fc)):0;this.kc=this.qn?Math.max(0, Math.min(this.Ya-this.fe,this.kc)):0;this.ek().Ka(this.Fc);this.fk().Ka(this.kc);this.Ra().tya(this.Fc);this.Ra().qza(this.kc);this.Ih();if(this.M8!=this.Fc||this.N8!=this.kc){this.M8!==m&&this.N8!==m&&this.trigger(new g(e.bl));this.M8=this.Fc;this.N8=this.kc}};o.prototype.ln=function(){var a;a=this.get("scrollBarVisible")==f.ALWAYS?n:this.ik?this.ei||this.fi||this.nT:this.ei||this.fi||this.tT;this.ek().xe(this.lr&&a);this.fk().xe(this.qn&&a);this.Ih()};o.prototype.Ga=function(){h.prototype.Ga.call(this); if(!this.hja){this.hja=n;if(this.ik)this.bind(e.Hb,this.w3,this);else{this.bind(e.Hb,this.gja,this);this.bind(e.xc,this.kja,this);this.bind(e.Qb,this.jja,this);this.bind(e.rq,this.ija,this)}}};o.prototype.ka=function(){if(this.n("overflow")){this.TJ=this.k("overflow");this.q("overflow");this.Kc()}if(this.n("scrollBarColor")){this.ek().Sz(this.k("scrollBarColor"));this.fk().Sz(this.k("scrollBarColor"));this.q("scrollBarColor")}if(this.n("scrollBarWidth")){this.ek().VF(this.k("scrollBarWidth"));this.fk().VF(this.k("scrollBarWidth")); this.q("scrollBarWidth")}if(this.n("scrollBarMargin")||this.n("scrollBarVerticalMargin")||this.n("scrollBarHorizontalMargin")){var a=this.k("scrollBarHorizontalMargin","scrollBarMargin"),b=this.k("scrollBarVerticalMargin","scrollBarMargin");this.ek().Cea(a);this.ek().Oea(b);this.fk().Cea(a);this.fk().Oea(b);this.q("scrollBarMargin");this.q("scrollBarVerticalMargin");this.q("scrollBarHorizontalMargin")}if(this.n("scrollBarOpacity")){this.ek().Jj(this.k("scrollBarOpacity"));this.fk().Jj(this.k("scrollBarOpacity")); this.q("scrollBarOpacity")}h.prototype.ka.call(this)};o.prototype.Gi=function(){h.prototype.Gi.call(this);this.$sa();this.mta();this.kta();this.ln();this.Ih()};o.prototype.$sa=function(){for(var a=0,b=0,d=0,c=0,f=this.Pa(),h=0;hthis.He||this.Ya>this.fe;if(this.TJ==d.bl){this.lr=this.He"));break;default:b["line-height"]="normal";this.uj.text(this.k("text")); this.uj.html(this.uj.html().split(" ").join(" "))}this.q("direction");this.q("text");setTimeout(function(){this.Xa();this.Kc()}.bind(this),0)}if(this.n("fontFamily")){a=this.k("fontFamily");e(a).isString()||(a="");b.fontFamily=j.Es(a);this.q("fontFamily");this.Xa();this.Kc()}if(this.n("fontSize")){a=this.k("fontSize");e(a).isNumber()?a=a+"px":e(a).isString()||(a="");b.fontSize=a;this.q("fontSize");this.Xa();this.Kc()}if(this.n("fontColor")){a=this.k("fontColor");e(a).isString()||(a="");b.color= a;this.q("fontColor")}if(this.n("fontWeight")){a=this.k("fontWeight");switch(a){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:a="normal"}b.fontWeight=a;this.q("fontWeight");this.Xa();this.Kc()}if(this.n("fontStyle")){a=this.k("fontStyle");switch(a){case "italic":case "normal":break;default:a="normal"}b.fontStyle=a;this.q("fontStyle");this.Xa();this.Kc()}if(this.n("textDecoration")){a= this.k("textDecoration");switch(a){case "underline":case "overline":case "line-through":case "none":break;default:a="none"}b.textDecoration=a;this.q("textDecoration");this.Xa();this.Kc()}if(this.n("horizontalAlign")){this.Kc();this.q("horizontalAlign")}if(this.n("verticalAlign")){this.Kc();this.q("verticalAlign")}a=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(e(a).any(function(a){return this.n(a)},this)){var d={};e(a).each(function(a){d[a]= this.k(a);this.q(a)},this);b["-moz-text-shadow"]=b["-webkit-text-shadow"]=b["text-shadow"]=[d.textShadowHorizontalLength+"px",d.textShadowVerticalLength+"px",d.textShadowBlurRadius+"px","rgba("+parseInt("0x"+d.textShadowColor.substr(1,2))+", "+parseInt("0x"+d.textShadowColor.substr(3,2))+", "+parseInt("0x"+d.textShadowColor.substr(5,2))+", "+d.textShadowOpacity+")"].join(" ");a=d.textShadowVerticalLength==0&&this.k("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(d.textShadowHorizontalLength, -d.textShadowVerticalLength)/Math.PI)*45;b.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*d.textShadowOpacity).toString(16)).slice(-2)+d.textShadowColor.substr(1,6)+",direction="+a+")";this.Ra().Uz((d.textShadowHorizontalLength>0||d.textShadowVerticalLength>0||d.textShadowBlurRadius>0)&&d.textShadowOpacity>0)}this.jW(b);h.prototype.ka.call(this)};a.prototype.Gi=function(){var a={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.k("horizontalAlign")){case d.ra:a.left= "0";break;case d.Na:this.Se();a.left=this.Jd()-b(this)+"px";break;case d.Lc:this.Se();a.left=Math.max(0,Math.round((this.Jd()-b(this))*0.5))+"px"}switch(this.k("verticalAlign")){case d.ob:a.top="0";break;case d.nb:this.Se();a.top=this.Id()-this.ND.clientHeight+"px";break;case d.vc:this.Se();a.top=Math.max(0,Math.round((this.Id()-this.ND.clientHeight)*0.5))+"px"}this.jW(a)};a.prototype.jW=function(a){var b=this.ND.style,d;for(d in a)b[d]=a[d]};var p=function(){function a(){!h&&d()&&(h=setTimeout(function(){h= r;var d=(new Date).getTime()-5E3,c;for(c in f){var e=f[c];e.timestampthis.pQ;)this.fd.pop().cancel();if(b){var e=this.Th,j=function(){b.call(h||window,e.we(),e.ad(),e.Pd())};this.Th.Sp()?j():this.Th.bind(d.S,j)}};b.prototype.clear=function(){this.fd.forEach(function(a){a.cancel()});this.Th=r};a=g.extend(k,function(a){k.call(this);this.Tc("Image");this.pQ=a||1;this.vX=y;this.Zh=j.ra;this.yI=y;this.ti=j.ob;this.QL=y;this.Fd=p.NONE;this.FV=y; this.my=this.ny=0;this.cT=this.zU=y;this.Ya=this.Oa=0;this.uo=y;this.NT=this.$h=this.kb=this.GI=this.FI=r;this.bind(d.zb,this.Dma,this);this.bind(d.od,this.Ema,this)});a.prototype.vS=function(){this.NT=new b(this.pQ);this.vS=Q("NT");return this.NT};a.prototype.za=function(){k.prototype.za.call(this);this.f("horizontalAlign",j.ra);this.f("verticalAlign",j.ob);this.f("scaleMode",p.NONE)};a.prototype.set=function(a,b){if(a=="url"&&this.get("url")!=b){this.vX=n;this.Dc()}k.prototype.set.call(this,a,b)}; a.prototype.Tz=function(a){if(this.Zh!=a){this.Zh=a;this.yI=n;this.Dc()}};a.prototype.Xz=function(a){if(this.ti!=a){this.ti=a;this.QL=n;this.Dc()}};a.prototype.Xs=function(a){if(this.Fd!=a){this.Fd=a;this.FV=n;this.Dc();this.Xa()}};a.prototype.Dma=function(){this.uo=n;this.Dc()};a.prototype.Ema=function(){this.Saa()};var o={position:"static",cursor:"inherit",display:"inline",verticalAlign:"top",visibility:"hidden","pointer-events":"none","user-select":"none","-ms-user-select":"none","-moz-user-select":"none", "-webkit-user-select":"none","touch-callout":"none","-webkit-touch-callout":"none"};h.browser()==h.Ii&&h.Za()&&(o.transform="translate3d(0,0,0)");a.prototype.s2=function(a,b,c){this.ny=b?b:0;this.my=c?c:0;if(this.kb){this.kb.remove();this.kb=r}if(this.$h=a){this.kb=e(this.$h);l.css(this.$h,o);this.FI.append(this.kb)}this.zU=this.cT=n;this.Dc();this.Xa();this.kb&&this.trigger(d.S)};a.prototype.Ga=function(){k.prototype.Ga.call(this);if(!this.FI){this.GI=document.createElement("div");this.FI=e(this.GI); l.css(this.GI,{position:"static",overflow:"hidden",cursor:"inherit"});this.Ra().append(this.FI)}};a.prototype.Xo=function(){this.di=this.ny+this.xi()+this.Bn();this.ci=this.my+this.Cn()+this.tz();this.r6=this.ny==0&&this.my==0?0:this.ny/this.my;this.eC=this.fC=0};a.prototype.ka=function(){if(this.n("scaleMode")){this.Xs(this.k("scaleMode"));this.q("scaleMode")}if(this.n("horizontalAlign")){this.Tz(this.k("horizontalAlign"));this.q("horizontalAlign")}if(this.n("verticalAlign")){this.Xz(this.k("verticalAlign")); this.q("verticalAlign")}if(this.o2())this.uo=n;k.prototype.ka.call(this);this.Saa();if(this.cwa()){var a=y;if(this.FV||this.zU||this.uo){var b=this.Jd(),d=this.Id(),c=this.ny,f=this.my,h,e;if(c==0||f==0)e=h=0;else switch(this.Fd){case p.NONE:h=c;e=f;break;case p.Zn:h=b;e=d;break;case p.Te:if(c*d>f*b){h=b;e=f*b/c}else{h=c*d/f;e=d}break;case p.xm:if(c*d>f*b){h=c*d/f;e=d}else{h=b;e=f*b/c}break;case p.Zk:h=b;e=f*b/c;break;case p.kh:h=c*d/f;e=d}if(this.Oa!=h||this.Ya!=e){this.Oa=h;this.Ya=e;a=n}this.zU= this.FV=y}if(a||this.uo||this.cT){this.QL=this.yI=n;this.$h&&l.css(this.$h,{width:this.Oa+"px",height:this.Ya+"px",visibility:"inherit"});l.css(this.GI,{width:this.Jd()+"px",height:this.Id()+"px","border-top-left-radius":this.uI(this.fla(),this.L4(),this.J4())+"px","border-top-right-radius":this.uI(this.gla(),this.L4(),this.K4())+"px","border-bottom-left-radius":this.uI(this.dla(),this.I4(),this.J4())+"px","border-bottom-right-radius":this.uI(this.ela(),this.I4(),this.K4())+"px"});this.Xa();this.cT= this.uo=y}if(this.yI&&this.$h){switch(this.Zh){case j.ra:l.css(this.$h,{"margin-left":0,"margin-right":this.Jd()-this.Oa+"px"});break;case j.Na:l.css(this.$h,{"margin-left":this.Jd()-this.Oa+"px","margin-right":0});break;case j.Lc:l.css(this.$h,{"margin-left":Math.floor((this.Jd()-this.Oa)*0.5)+"px","margin-right":Math.ceil((this.Jd()-this.Oa)*0.5)+"px"})}this.yI=y}if(this.QL&&this.$h){switch(this.ti){case j.ob:l.css(this.$h,{"margin-top":0,"margin-bottom":this.Id()-this.Ya+"px"});break;case j.nb:l.css(this.$h, {"margin-top":this.Id()-this.Ya+"px","margin-bottom":0});break;case j.vc:l.css(this.$h,{"margin-top":Math.floor((this.Id()-this.Ya)*0.5)+"px","margin-bottom":Math.ceil((this.Id()-this.Ya)*0.5)+"px"})}this.QL=y}}};a.prototype.Saa=function(){if(this.vX){var a=this.get("url");if(a)this.vS().load(a,this.s2,this);else{this.vS().clear();this.s2(r,0,0)}this.vX=y}};a.prototype.uI=function(a,b,d){if(!a)return 0;var c=0;b&&(c=Math.max(c,b));d&&(c=Math.max(c,d));return Math.max(0,a-c)};return a}); define("ez",["fg","jn","fm","jb","jF"],function(a,b,c,e,g){a=a.extend(e,function(){e.call(this)});a.prototype.za=function(){e.prototype.za.call(this);this.f("iconURL");this.h("rollOverIconURL",c.v,"iconURL");this.h("pressedIconURL",c.Ca,"iconURL");this.h("pressedRollOverIconURL",c.$a,"iconURL")};a.prototype.YQ=function(){var a=new g(3);a.set("scaleMode",b.Te);return a};a.prototype.ka=function(){if(this.n("iconURL")){var a=this.k("iconURL");this.Qf.set("url",a);this.Qf.set("visible",a?n:y);this.q("iconURL")}e.prototype.ka.call(this)}; return a});define("ey",["fg","ez","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("Button",a).B("BaseButton").J({iconURL:"string",rollOverIconURL:"string",pressedIconURL:"string",pressedRollOverIconURL:"string"}).hh(["iconURL","rollOverIconURL","pressedIconURL","pressedRollOverIconURL"]);return a}); define("gk",["require","fg","jd","ll","dW"],function(a){var b=a("fg"),c=a("jd"),e=a("ll"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("angle",0);this.set("rotate",y);this.set("inertia",y)});a.A("CapPanoramaOverlay",b).B("PanoramaOverlay").J({angle:"number",distance:"number",hfov:"number",image:"ImageResource",inertia:"bool",rotate:"bool",useHandCursor:"bool"}).Xb([e.xc,e.Qb,e.Mh,e.Kf]).Hf([e.U]);return b}); define("gb",["fg","dW","gk"],function(a,b,c){a=a.extend(c,function(){c.call(this)});b.A("CeilingCapPanoramaOverlay",a).B("CapPanoramaOverlay");return a}); define("bY","do,jquery.mod,fg,ll,bZ,d".split(","),function(a,b,c,e,g,d){a=c.extend(d,function(){d.call(this);this.Tc("Canvas");this.KR=n;this.u=r;this.bind(e.zb,this.Dia,this)});a.prototype.Dia=function(){this.WM()};a.prototype.WM=function(){this.KR=n;this.Ih()};a.prototype.Ga=function(){d.prototype.Ga.call(this);if(!this.u){this.u=b("");this.u.css({position:"absolute",left:0,top:0,cursor:"inherit"});this.Ra().append(this.u)}};a.prototype.ka=function(){this.o2()&&this.WM();d.prototype.ka.call(this)}; a.prototype.Se=function(){if(this.KR){this.KR=y;var a=this.u.get(0);a.width=this.Jd();a.height=this.Id();this.Tza()}d.prototype.Se.call(this)};a.prototype.tva=function(){return this.u.get(0).width};a.prototype.sva=function(){return this.u.get(0).height};a.prototype.rva=function(){return this.u.get(0).getContext("2d")};a.prototype.Tza=function(){this.trigger(new g(e.aa))};return a}); define("hJ",["fg","ll","fm","jb","bY"],function(a,b,c,e,g){a=a.extend(e,function(){e.call(this)});a.prototype.Gi=function(){e.prototype.Gi.call(this)};a.prototype.za=function(){e.prototype.za.call(this);this.f("iconColor");this.h("rollOverIconColor",c.v,"iconColor");this.h("pressedIconColor",c.Ca,"iconColor");this.h("pressedRollOverIconColor",c.$a,"iconColor")};a.prototype.YQ=function(){var a=new g;a.bind(b.aa,this.gfa,this,n);return a};a.prototype.ka=function(){this.n("iconColor")&&(this.Qf.WM(), this.q("iconColor"));e.prototype.ka.call(this)};a.prototype.wla=function(){return this.k("iconColor")};a.prototype.xla=function(){return this.Qf.rva()};a.prototype.zla=function(){return this.Qf.tva()};a.prototype.yla=function(){return this.Qf.sva()};a.prototype.gfa=D();return a}); define("eF",["fg","hJ","jY","fm"],function(a,b,c,e){a=a.extend(b,function(){b.call(this);this.M({horizontalAlign:c.Lc,verticalAlign:c.vc})});a.prototype.za=function(){b.prototype.za.call(this);this.f("iconLineWidth");this.h("rollOverIconLineWidth",e.v,"iconLineWidth");this.h("pressedIconLineWidth",e.Ca,"iconLineWidth");this.h("pressedRollOverIconLineWidth",e.$a,"iconLineWidth")};a.prototype.Gla=function(){return this.k("iconLineWidth")};a.prototype.ka=function(){this.n("iconLineWidth")&&(this.Qf.WM(), this.q("iconLineWidth"));b.prototype.ka.call(this)};a.prototype.gfa=function(){var a=this.xla(),b=this.wla(),c=this.zla(),h=this.yla(),e=this.Gla();a.clearRect(0,0,c,h);a.lineWidth=e||1;a.strokeStyle=b||"#000000";a.beginPath();a.moveTo(0,0);a.lineTo(c,h);a.moveTo(0,h);a.lineTo(c,0);a.closePath();a.stroke()};return a}); define("hc",["fg","eF","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("CloseButton",a).B("BaseButton").J({iconColor:"color",iconLineWidth:"number",rollOverIconColor:"color",rollOverIconLineWidth:"number",pressedIconColor:"color",pressedIconLineWidth:"number",pressedRollOverIconColor:"color",pressedRollOverIconLineWidth:"number"});return a}); define("hM",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("CookiesPolicy",b).B("Object").J({url:"string",geographicArea:"or[array[string], string]"}).hh(["url"]);return b}); define("jc","require,do,iN,fg,kS,dW".split(","),function(a){a("do");var b=a("iN"),c=a("fg"),e=a("kS"),a=a("dW"),c=c.extend(e,function(){e.call(this)});a.A("Container",c).B("UIComponent").J({children:"array[UIComponent]",contentOpaque:"bool",childrenInteractionEnabled:"bool",creationPolicy:"enum[inAdvance, delayed]",layout:"enum[absolute, vertical, horizontal]",gap:"number",horizontalAlign:"enum[center, left, right]",overflow:"enum[scroll, hidden, visible]",scrollBarColor:"color",scrollBarWidth:"number", scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]",verticalAlign:"enum[bottom, middle, top]"}).Cg({scrollTo:function(a,b){e.prototype.scrollTo.call(this,a,b)},scrollIntoView:function(a){b.ow(function(){e.prototype.scrollIntoView.call(this,a)}.bind(this))}});return c}); define("iR",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),e=a("dW"),a=b.extend(c,function(){c.call(this);this.N=r});e.A("PanoramaFrame",a).B("Object").J({thumbnailUrl:"string",snapshots:"array[PanoramaSnapshot]",overlays:"array[PanoramaOverlay]"}).hh(["thumbnailUrl"]);a.prototype.get=function(a,b){switch(a){case "overlays":return this.xS();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":if(this.N)return this.N.get(a,b)}return c.prototype.get.call(this,a,b)};a.prototype.xS= function(){var a=c.prototype.get.call(this,"overlays");a||(a=[]);return this.hW(a)};a.prototype.hW=function(a){if(this.Qy===m||this.ZI!=a){var b=function(a){return e.ub("PopupPanoramaOverlay",a)},c=function(a){return e.ub("LensFlarePanoramaOverlay",a)};this.ZI=a;this.Qy=[].concat(a.filter(function(a){return!(b(a)||c(a))}),a.filter(c),a.filter(b))}return this.Qy};a.prototype.kua=P("N");a.prototype.wz=Q("N");a.prototype.Jh=R(y);return a}); define("la",["require","fg","dW","iR"],function(a){var b=a("fg"),c=a("dW"),e=a("iR"),a=b.extend(e,function(){e.call(this)});c.A("CubicPanoramaFrame",a).B("PanoramaFrame").J({cube:"ImageResource",stereoCube:"ImageResource",front:"ImageResource",left:"ImageResource",back:"ImageResource",right:"ImageResource",top:"ImageResource",bottom:"ImageResource"});return a}); define("gt",["require"],function(){return{"ar-ar":{mute:"\u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0635\u0648\u062a","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0633\u062d\u0628 \u0648\u0627\u0644\u0625\u0641\u0631\u0627\u062c", accept:"\u0642\u0628\u0648\u0644",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u062a\u063a\u064a\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u062a\u062d\u0643\u0645 \u0644\u0644\u0646\u0642\u0631 \u0648\u0627\u0644\u062a\u062d\u0631\u0643", yes:"\u0646\u0639\u0645 \u0641\u0639\u0644\u0627","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0627\u0644\u062e\u0631\u0648\u062c \u0645\u0646 \u0648\u0636\u0639 \u0645\u0644\u0626 \u0644\u0644\u0634\u0627\u0634\u0629",no:"\u0644\u0627","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"\u062a\u0633\u062a\u062e\u062f\u0645 \u0635\u0641\u062d\u0629 \u0627\u0644\u0648\u064a\u0628 \u0647\u0630\u0647 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0644\u062c\u0645\u0639 \u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u060c \u064a\u0631\u062c\u0649 \u0632\u064a\u0627\u0631\u0629 \u0633\u064a\u0627\u0633\u0629 \u0645\u0644\u0641\u0627\u062a \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 .", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u064a\u0631\u0641\u0636","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a \u0648\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f", "storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0641\u064a\u062f\u064a\u0648\u061f","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0623\u062f\u062e\u0644 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629", "use-cardboard-v2":"Use Cardboard v2",unmute:"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u062a\u0645\u0643\u064a\u0646 \u0627\u0644\u0635\u0648\u062a\u061f"},"bg-bg":{mute:"\u0417\u0430\u0433\u043b\u0443\u0448\u0430\u0432\u0430\u043d\u0435", "cardboard-v1":"\u0410\u043a\u043e \u043d\u0435 \u0441\u0442\u0435 \u0441\u0438\u0433\u0443\u0440\u043d\u0438 \u043a\u043e\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 Cardboard \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435, \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. \u0421\u043b\u0435\u0434 \u0442\u043e\u0432\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0449\u0435 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0449\u0435 \u0438\u0437\u0447\u0430\u043a\u0430\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u0441\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430.", "download-tour":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u0442\u0443\u0440\u0430 \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d","change-to-drag-and-release":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041f\u043b\u044a\u0437\u0433\u0430\u043d\u0435 \u0438 \u041f\u0443\u0441\u043a\u0430\u043d\u0435", accept:"\u041f\u0440\u0438\u0435\u043c\u0435\u0442\u0435",cancel:"\u041e\u0442\u043a\u0430\u0437","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0442\u043e \u0441\u044a\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0438 \u0434\u0430 \u044f \u043f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0438\u0442\u0435.", "dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0432\u0430\u0439 \u0442\u0430\u0437\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0442\u043d\u043e\u0432\u043e","web-server-required":"\u0422\u043e\u0437\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u0435\u043b\u0435\u043d \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043f\u0443\u0441\u043d\u0430\u0442 \u043e\u0442 \u043b\u043e\u043a\u0430\u043b\u043d\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u041c\u043e\u043b\u044f, \u043a\u0430\u0447\u0435\u0442\u0435 \u0433\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043e\u043f\u0438\u0442\u0430\u0439\u0442\u0435 \u043e\u0442\u043d\u043e\u0432\u043e.\n\u0410\u043a\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0442\u0435, \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u0442\u0435 htm \u0444\u0430\u0439\u043b\u0430 (\u0438\u043b\u0438 \u0446\u044f\u043b\u0430\u0442\u0430 \u043f\u0430\u043f\u043a\u0430 \u043d\u0430 \u0442\u0443\u0440\u0430) \u0432\u044a\u0440\u0445\u0443 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e TourViewer.", download:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","change-to-click-and-move":"\u041f\u0440\u043e\u043c\u0435\u043d\u0435\u0442\u0435 \u0440\u0435\u0436\u0438\u043c\u0430 \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u041a\u043b\u0438\u043a\u0432\u0430\u043d\u0435 \u0438 \u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0432\u0430\u043d\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435","use-safari-for-vr":"\u041f\u0440\u0435\u043f\u043e\u0440\u044a\u0447\u0432\u0430\u043c\u0435 Safari, \u0437\u0430 \u0434\u0430 \u0440\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0442\u0435 \u0442\u043e\u0437\u0438 \u0442\u0443\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c VR", "exit-fullscreen":"\u0418\u0437\u043b\u0435\u0437\u0442\u0435 \u043e\u0442 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d",no:"\u043d\u0435","download-failed":"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435\u0442\u043e \u0441\u0435 \u043f\u0440\u043e\u0432\u0430\u043b\u0438","giroscope-disabled-http":"\u0418\u043c\u0430\u0442\u0435 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0447\u0440\u0435\u0437 http, \u0442\u0430\u043a\u0430 \u0447\u0435 \u0434\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0434\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f\u0442\u0430 \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438, \u043c\u043e\u043b\u044f, \u043e\u0442\u0432\u043e\u0440\u0435\u0442\u0435 \u0433\u043e \u0447\u0440\u0435\u0437 https, \u0437\u0430 \u0434\u0430 \u0433\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435.", "cookies-notice":"\u0422\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438 \u0437\u0430 \u0441\u044a\u0431\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u0437\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e. \u0417\u0430 \u043f\u043e\u0432\u0435\u0447\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043c\u043e\u043b\u044f, \u043f\u043e\u0441\u0435\u0442\u0435\u0442\u0435 \u041f\u0440\u0430\u0432\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0431\u0438\u0441\u043a\u0432\u0438\u0442\u043a\u0438\u0442\u0435 .", "use-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard","launch-default-browser":"\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u044a\u0440\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","rotate-device":"\u041c\u043e\u043b\u044f \u0437\u0430\u0432\u044a\u0440\u0442\u0435\u0442\u0435 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", "exit-vr":"\u0418\u0437\u043b\u0438\u0437\u0430\u043d\u0435 \u043e\u0442 \u0440\u0435\u0436\u0438\u043c VR","storage-not-provided-launch-from-desktop":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u0430, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.", "disable-measure":"Stop measuring",downloading:"\u0418\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435","cardboard-v2":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Cardboard v2, \u043a\u043e\u0438\u0442\u043e \u0440\u0430\u0437\u043f\u043e\u043b\u0430\u0433\u0430\u0442 \u0441 \u0431\u0443\u0442\u043e\u043d, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u043f\u043e\u0433\u043b\u0435\u0434\u043d\u0435\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442\u0430 \u0438 \u0434\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0435\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430, \u0437\u0430 \u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u0442\u043e \u043c\u0443.", "enable-video-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?",reject:"\u041e\u0442\u0445\u0432\u044a\u0440\u043b\u0435\u0442\u0435",downloaded:"\u0422\u043e\u0437\u0438 \u0442\u0443\u0440 \u0435 \u0438\u0437\u0442\u0435\u0433\u043b\u0435\u043d \u0437\u0430 \u0432\u044a\u0437\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0436\u0434\u0430\u043d\u0435 \u043e\u0444\u043b\u0430\u0439\u043d.","samsung-internet-vr-app-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0422\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u0435 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u044a\u0440 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435.", "samsung-internet-vr-info":"\u0410\u043a\u043e \u0438\u043c\u0430\u0442\u0435 \u043e\u0447\u0438\u043b\u0430 Gear VR, \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 \u0441 \u0442\u043e\u0432\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0438 \u0441\u0442\u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043b\u0438 Samsung Internet for VR, \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0433\u0438 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0438 \u0437\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u043d\u0430 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR. \u0421\u0435\u0433\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0441\u043b\u043e\u0436\u0438\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u043d\u0438\u044f \u0441\u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0432 \u043e\u0447\u0438\u043b\u0430\u0442\u0430 \u0437\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043d\u0430 \u0440\u0435\u0430\u043b\u043d\u043e\u0441\u0442.", "enable-video-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u044a\u043f\u044a\u0442 \u0437\u0430 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u0432\u0430\u0448\u0435\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u0440\u0435\u0436\u0438\u043c\u044a\u0442 VR \u0441\u0430 \u0434\u0435\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0438 \u0437\u0430 \u0442\u043e\u0437\u0438 \u0441\u0430\u0439\u0442.", "\u0417\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043d\u043e \u0442\u0430\u0437\u0438 \u0443\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043c\u043e\u043b\u044f, \u043a\u043b\u0438\u043a\u043d\u0435\u0442\u0435 \u0432\u044a\u0440\u0445\u0443 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438 \u0438 \u043f\u0440\u0438\u0435\u043c\u0435\u0442\u0435 \u0438\u0441\u043a\u0430\u043d\u0435\u0442\u043e \u0437\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435."], "storage-not-provided-launch-from-homescreen":"\u041c\u043e\u043b\u044f, \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439\u0442\u0435 \u043e\u0431\u0438\u043a\u043e\u043b\u043a\u0430\u0442\u0430 \u043e\u0442 \u0438\u043a\u043e\u043d\u0430\u0442\u0430 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043d\u0438\u044f \u0435\u043a\u0440\u0430\u043d, \u0437\u0430 \u0434\u0430 \u044f \u0438\u0437\u0442\u0435\u0433\u043b\u0438\u0442\u0435.","enter-fullscreen":"\u0412\u043b\u0435\u0437\u0442\u0435 \u0432 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d", "use-cardboard-v2":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 Cardboard v2",unmute:"\u041f\u0443\u0441\u043a\u0430\u043d\u0435 \u0437\u0432\u0443\u043a","enter-vr":"\u0412\u043b\u0435\u0437 \u0432\u044a\u0432 VR \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435","enable-measure":"Start measuring","use-cardboard-info":"\u041c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0442\u0435 \u0432\u0441\u044f\u043a\u0430\u043a\u0432\u0438 \u0441\u044a\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0438 Google Cardboard \u043e\u0447\u0438\u043b\u0430, \u0437\u0430 \u0434\u0430 \u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u043e\u0432\u0430 \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044a\u0432 VR.", "refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435","use-default-cardboard":"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435","enable-audio-prompt":"\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0430\u0443\u0434\u0438\u043e?"},"ca-es":{mute:"Silenciar","cardboard-v1":"Si no esteu segurs de quina versi\u00f3 de cartr\u00f3 utilitzeu, seleccioneu el control de punt d'acc\u00e9s per defecte. Despr\u00e9s, simplement veureu un punt d'acc\u00e9s i espereu fins que s'activi l'acci\u00f3.", "download-tour":"Descarregueu la visita virtual per a jugar fora de l\u00ednia","change-to-drag-and-release":"Canvieu el mode de control a Arrossegar i deixeu anar",accept:"Accepta",cancel:"Cancel\u00b7lar","storage-not-provided-bookmark":"S'ha denegat l'emmagatzematge persistent. Proveu de marcar aquesta p\u00e0gina web i torneu-la a carregar.","dont-display-again":"No tornis a mostrar aquesta informaci\u00f3","web-server-required":"Aquesta visita virtual no es pot reproduir des d'una unitat local. Carregueu-lo a Internet i torneu-ho a provar.\nSi ho preferiu, arrossegueu el fitxer htm (o tota la carpeta de la visita virtual) a la icona de l'aplicaci\u00f3 TourViewer.", download:"Descarregar","change-to-click-and-move":"Canvieu el mode de control a Fer clic i desplaceu",yes:"s\u00ed","delete-downloaded":"Suprimeix","use-safari-for-vr":"Recomanem Safari per a visualitzar aquesta visita virtual en mode VR","exit-fullscreen":"Surt de pantalla completa",no:"no","download-failed":"Error de desc\u00e0rrega","giroscope-disabled-http":"Accediu a aquesta p\u00e0gina web a trav\u00e9s de http de manera que el moviment i l\u2019orientaci\u00f3 del dispositiu i el mode VR estan desactivats, accediu-hi mitjan\u00e7ant https per habilitar-les.", "cookies-notice":"Aquesta p\u00e0gina web utilitza cookies per recopilar estad\u00edstiques d\u2019\u00fas. Per obtenir m\u00e9s informaci\u00f3, visiteu la Pol\u00edtica de cookies.","use-cardboard":"Utilitzeu Cardboard","launch-default-browser":"Inicieu el navegador per defecte","rotate-device":"Gireu el dispositiu","exit-vr":"Surt de VR","storage-not-provided-launch-from-desktop":"Torneu a iniciar la visita virtual des de la icona de l'escriptori per a descarregar-la.","disable-measure":"Stop measuring", downloading:"Baixant","cardboard-v2":"Si teniu unes Cardboard v2, que venen amb un bot\u00f3, podeu mirar cap a un punt de vista i pr\u00e9mer el bot\u00f3 per activar-lo.","enable-video-audio-prompt":"Habilitar v\u00eddeo i \u00e0udio?",reject:"Rebutjar",downloaded:"Aquesta visita virtual es descarrega per a reproduir-la fora de l\u00ednia.","samsung-internet-vr-app-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, heu de fer que Samsung Internet sigui el vostre navegador predeterminat.", "samsung-internet-vr-info":"Si teniu un auricular Gear VR compatible amb aquest dispositiu i heu instal\u00b7lat Samsung Internet per a VR, tamb\u00e9 podeu utilitzar-lo per visualitzar aquest contingut en VR, nom\u00e9s heu de posar el tel\u00e8fon m\u00f2bil als auriculars.","enable-video-prompt":"Activar v\u00eddeo?","giroscope-disabled-safari-request-permission":["Aquest lloc web est\u00e0 desactivat en el moviment i en la direcci\u00f3 o en mode VR del dispositiu.","Per veure correctament aquesta p\u00e0gina web, feu clic a Continuar i accepteu la sol\u00b7licitud de perm\u00eds si se us demana."], "storage-not-provided-launch-from-homescreen":"Torneu a iniciar la visita virtual des de la icona de la pantalla inicial.","enter-fullscreen":"Entra a pantalla completa","use-cardboard-v2":"Utilitzeu Cardboard v2",unmute:"No activa","enter-vr":"Introdu\u00efu contingut de VR","enable-measure":"Start measuring","use-cardboard-info":"Podeu utilitzar qualsevol auricular de Google Cardboard compatible per a visualitzar aquest contingut en VR.","refresh-downloaded":"Actualitzaci\u00f3","use-default-cardboard":"\u00das per defecte", "enable-audio-prompt":"Activar \u00e0udio?"},"da-dk":{mute:"Deaktiver lyd","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Skift kontroltilstand for at tr\u00e6kke og slippe",accept:"Acceptere",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.", "dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Skift kontroltilstand for at klikke og flytte",yes:"Ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Afslut fuldsk\u00e6rm", no:"ingen","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denne webside bruger cookies til at indsamle brugsstatistikker. For mere information, se venligst Cookiepolitik .","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device", "exit-vr":"Exit VR",reject:"Afvise","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktiv\u00e9r lyd og video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Aktiv\u00e9r video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Indtast fuldsk\u00e6rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktiv\u00e9r lyd","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktiv\u00e9r lyd?"},"de-de":{mute:"Deaktiviere Audio", "cardboard-v1":"Wenn Sie sich nicht sicher sind, welche Cardboard-Version Sie verwenden, w\u00e4hlen Sie die Standard-Hotspot-Steuerung. Sie schauen dann einfach auf einen Hotspot und warten, bis die jeweilige Aktion ausgel\u00f6st wird.","download-tour":"Tour zum Offline-Abspielen herunterladen","giroscope-disabled-safari-request-permission":["Der Bewegungs- und Orientierungszugriff, sowie VR Modus Ihres Ger\u00e4ts ist f\u00fcr diese Seite deaktiviert.","Um diese Webseite korrekt anzuzeigen, klicken Sie auf Weiter und akzeptieren Sie die Erlaubnisanfrage, wenn Sie dazu aufgefordert werden."], accept:"Akzeptieren",download:"Download",downloading:"Downloading","dont-display-again":"Diese Info nicht mehr anzeigen","web-server-required":"Diese Virtual Tour kann nicht von einem lokalen Laufwerk abgespielt werden. Laden Sie Ihre Tour ins Internet und versuchen Sie es erneut.\nAlternativ, ziehen Sie die htm Datei (oder den ganzen Tour Ordner) auf das Icon der Tour Viewer App, um die Tour direkt lokal abzuspielen.",cancel:"Abbrechen","change-to-click-and-move":"\u00c4ndern Sie den Steuerungsmodus, um zu klicken und zu drehen", yes:"ja","delete-downloaded":"L\u00f6schen","use-safari-for-vr":"Wir empfehlen Safari, um diese Tour im VR-Modus zu sehen","exit-fullscreen":"Vollbild verlassen",no:"nein","storage-not-provided-bookmark":"Dauerhafte Speicherung verweigert. Versuchen Sie, diese Seite als Lesezeichen zu speichern und erneut zu laden.","download-failed":"Download fehlgeschlagen","giroscope-disabled-http":"Der Bewegungs- und Ausrichtungsszugriff Ihres Ger\u00e4ts ist f\u00fcr diese Webseite deaktiviert. Greifen Sie bitte \u00fcber https darauf zu.", "cookies-notice":"Diese Webseite verwendet Cookies, um Nutzungsstatistiken zu sammeln. Weitere Informationen finden Sie in der Cookie-Richtlinie.","use-cardboard":"Cardboard verwenden","launch-default-browser":"Im Standardbrowser starten","rotate-device":"Bitte drehen Sie Ihr Ger\u00e4t","exit-vr":"VR verlassen",reject:"Ablehnen","disable-measure":"Messung beenden","change-to-drag-and-release":"\u00c4ndern Sie den Steuerungsmodus zu Ziehen und Loslassen","cardboard-v2":"Wenn Sie ein Cardboard v2-Headset haben, das mit einer Taste ausgestattet ist, k\u00f6nnen Sie auf einen Hotspot blicken und die Taste dr\u00fccken, um dessen Aktion auszul\u00f6sen.", "enable-video-audio-prompt":"Video und Audio aktivieren?","storage-not-provided-launch-from-desktop":"Bitte starten Sie die Tour erneut \u00fcber das Desktop-Symbol, um sie herunterzuladen.",downloaded:"Diese Tour ist zum Offline-Abspielen heruntergeladen.","samsung-internet-vr-app-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR anzusehen. Machen Sie dazu Samsung Internet zu Ihrem Standardbrowser.", "samsung-internet-vr-info":"Wenn Sie ein Gear VR-Headset haben, das mit diesem Ger\u00e4t kompatibel ist, und Sie Samsung Internet f\u00fcr VR installiert haben, k\u00f6nnen Sie es auch verwenden, um diese Inhalte in VR zu sehen. Setzen Sie dazu nun das Mobiltelefon auf das Headset.","enable-video-prompt":"Video aktivieren?","storage-not-provided-launch-from-homescreen":"Bitte starten Sie die Tour erneut \u00fcber das Symbol auf dem Startbildschirm, um sie herunterzuladen.","enter-fullscreen":"Vollbildmodus aktivieren", "use-cardboard-v2":"Cardboard v2 verwenden",unmute:"Audio aktivieren","enter-vr":"VR Inhalt eingeben","enable-measure":"Messung beginnen","use-cardboard-info":"Sie k\u00f6nnen jedes kompatible Google Cardboard-Headset verwenden, um diese Inhalte in VR zu sehen.","refresh-downloaded":"Aktualisieren","use-default-cardboard":"Standard verwenden","enable-audio-prompt":"Audio aktivieren?"},"el-gr":{mute:"\u0391\u03c0\u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ae\u03c7\u03bf", "cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03c3\u03cd\u03c1\u03b5\u03c4\u03b5 \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03b1\u03c0\u03b5\u03bb\u03b5\u03c5\u03b8\u03b5\u03c1\u03ce\u03c3\u03b5\u03c4\u03b5", accept:"\u0391\u03c0\u03bf\u03b4\u03ad\u03c7\u03bf\u03bc\u03b1\u03b9",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u0391\u03bb\u03bb\u03ac\u03be\u03c4\u03b5 \u03c4\u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b5\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03ba\u03bb\u03b9\u03ba \u03ba\u03b1\u03b9 \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03b9\u03bd\u03b7\u03b8\u03b5\u03af\u03c4\u03b5", yes:"\u039d\u03b1\u03af","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u0388\u03be\u03bf\u03b4\u03bf\u03c2 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7",no:"\u03cc\u03c7\u03b9","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"\u0391\u03c5\u03c4\u03ae \u03b7 \u03b9\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03b5\u03af cookie \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03c3\u03c5\u03bb\u03bb\u03bf\u03b3\u03ae \u03c3\u03c4\u03b1\u03c4\u03b9\u03c3\u03c4\u03b9\u03ba\u03ce\u03bd \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03c9\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7\u03c2. \u0393\u03b9\u03b1 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03c0\u03bb\u03b7\u03c1\u03bf\u03c6\u03bf\u03c1\u03af\u03b5\u03c2, \u03b5\u03c0\u03b9\u03c3\u03ba\u03b5\u03c6\u03b8\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd \u03a0\u03bf\u03bb\u03b9\u03c4\u03b9\u03ba\u03ae cookie .", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"\u0391\u03c0\u03bf\u03c1\u03c1\u03af\u03c0\u03c4\u03c9","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5 \u03ba\u03b1\u03b9 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;", "storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf;","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03bf\u03b8\u03cc\u03bd\u03b7", "use-cardboard-v2":"Use Cardboard v2",unmute:"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ae\u03c7\u03bf\u03c5;"}, "en-us":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Accept",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again", "web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed", "giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"This web page uses cookies to collect usage statistics. For more information, please visit the Cookie Policy.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.", "disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?",reject:"Reject",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"es-es":{mute:"Silenciar", "cardboard-v1":"Si no esta seguro de que versi\u00f3n de Cardboard debe usar escoja la selecci\u00f3n de hotspot por defecto. Solo tendr\u00e1 que apuntar al hotspot y esperar para que se ejecute la acci\u00f3n.","download-tour":"Descargar el tour para reproducirlo sin conexi\u00f3n","change-to-drag-and-release":"Cambiar el modo de control a arrastrar y soltar",accept:"Aceptar","use-cardboard-v2":"Usar Cardboard v2","storage-not-provided-bookmark":"Almacenamiento persistente denagado. Intente a\u00f1adir la p\u00e1gina a los marcadores y recargarla.", "dont-display-again":"No volver a mostrar esta informaci\u00f3n","web-server-required":"Este tour virtual no puede reproducirse desde una unidad local. Por favor s\u00fabalo a internet y pruebe de nuevo.\nSi lo prefiere puede arrastrar el archivo html o la carpeta con el tour sobre el icono de la aplicaci\u00f3n Tour Viewer de su escritorio.",download:"Descargar","change-to-click-and-move":"Cambiar el modo de control a pulsar y mover",yes:"si","delete-downloaded":"Borrar","use-safari-for-vr":"Recomendamos Safari para ver este tour en modo VR", "exit-fullscreen":"Salir de pantalla completa",no:"no","download-failed":"La descarga ha fallado","giroscope-disabled-http":"Est\u00e1 accediendo a esta p\u00e1gina web por http por lo que el acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabilitado, por favor acceda por https.","cookies-notice":"Esta p\u00e1gina usa cookies para recolectar estad\u00edsticas de uso. Para m\u00e1s informaci\u00f3n, visite la Pol\u00edtica de Cookies.","use-cardboard":"Usar Cardboard", "launch-default-browser":"Lanzar en el navegador por defecto","rotate-device":"Por favor, gire el dispositivo","exit-vr":"Salir de VR","storage-not-provided-launch-from-desktop":"Por favor lance el tour desde el escritorio para descargarlo.","disable-measure":"Stop measuring",cancel:"Cancel",downloading:"Descargando","cardboard-v2":"Si tiene unas gafas Cardboard v2, que vienen con un bot\u00f3n, puede apuntar al hotspot y pulsar el bot\u00f3n para que se ejecute su acci\u00f3n.","enable-video-audio-prompt":"\u00bfActivar v\u00eddeo y audio?", reject:"Rechazar",downloaded:"Este tour esta descargado para reproducirlo sin conexi\u00f3n.","samsung-internet-vr-app-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, necesita hacer Samsung Internet su navegador por defecto.","samsung-internet-vr-info":"Si tiene unas gafas Gear VR compatibles con este dispositivo y tiene instalado Samsung Internet for VR puede usarlo para ver este contenido en VR, solo tiene que poner ahora el dispositivo en las gafas.", "enable-video-prompt":"\u00bfActivar v\u00eddeo?","giroscope-disabled-safari-request-permission":["El acceso al movimiento y la orientaci\u00f3n del dispositivo est\u00e1 deshabiltado para este sitio.","Para ver correctamente la p\u00e1gina por favor pulse Continuar y acepte la petici\u00f3n de permiso si se muestra."],"storage-not-provided-launch-from-homescreen":"Por favor lance el tour desde el icono de la pantalla de inicio para descargarlo.","enter-fullscreen":"Mostrar en pantalla completa", unmute:"Habilitar sonido","enter-vr":"Entrar al contenido VR","enable-measure":"Start measuring","use-cardboard-info":"Puede usar unas gafas compatibles con Google Cardboard para ver este contenido en VR.","refresh-downloaded":"Actualizar","use-default-cardboard":"Usar versi\u00f3n por defecto","enable-audio-prompt":"\u00bfActivar audio?"},"fi-fi":{mute:"Poista \u00e4\u00e4ni k\u00e4yt\u00f6st\u00e4","cardboard-v1":"Mik\u00e4li et ole varma, mit\u00e4 Cardboard-versiota k\u00e4yt\u00e4t, valitse oletusarvoinen hotspot-hallinta. T\u00e4m\u00e4n j\u00e4lkeen katsomalla hotspotia, toiminto k\u00e4ynnistyy.", "download-tour":"Lataa t\u00e4m\u00e4 sis\u00e4lt\u00f6 offline-toistoa varten","change-to-drag-and-release":"Muuta ohjaustilaa vet\u00e4m\u00e4ll\u00e4 ja vapauttamalla",accept:"Hyv\u00e4ksy",download:"Lataa","storage-not-provided-bookmark":"Tallennus ep\u00e4onnistui. Kokeile lis\u00e4t\u00e4 t\u00e4m\u00e4 verkkosivu kirjanmerkkeihin ja suorita lataus uudelleen.","dont-display-again":"\u00c4l\u00e4 n\u00e4yt\u00e4 t\u00e4t\u00e4 ilmoitusta uudelleen","web-server-required":"T\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 ei voi toistaa paikalliselta asemalta. Lataa sis\u00e4lt\u00f6 internet-palvelimelle ja yrit\u00e4 uudelleen.\nVoit my\u00f6s vet\u00e4\u00e4 htm-tiedoston (tai koko kansion) TourViewer-sovelluskuvakkeen p\u00e4\u00e4lle.", cancel:"Sulje","change-to-click-and-move":"Muuta ohjaustilaa klikkaamalla ja siirt\u00e4m\u00e4ll\u00e4",yes:"Kyll\u00e4","delete-downloaded":"Poista","use-safari-for-vr":"Suosittelemme Safari-selainta t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa.","exit-fullscreen":"Sulje koko n\u00e4yt\u00f6n n\u00e4kym\u00e4",no:"Ei","download-failed":"Lataus ep\u00e4onnistui","giroscope-disabled-http":"K\u00e4yt\u00e4t t\u00e4t\u00e4 verkkosivua http:n kautta, joten laitteesi liiketunnistimet sek\u00e4 VR-tila on poistettu k\u00e4yt\u00f6st\u00e4. Ota ne k\u00e4ytt\u00f6\u00f6n siirtym\u00e4ll\u00e4 sivulle https:n kautta.", "cookies-notice":"T\u00e4m\u00e4 verkkosivu k\u00e4ytt\u00e4\u00e4 ev\u00e4steit\u00e4 k\u00e4ytt\u00f6tilastojen ker\u00e4\u00e4miseen. Lis\u00e4tietoja ev\u00e4stek\u00e4yt\u00e4nn\u00f6st\u00e4.","use-cardboard":"K\u00e4yt\u00e4 Cardboardia","launch-default-browser":"K\u00e4ynnist\u00e4 oletusselaimessa","rotate-device":"K\u00e4\u00e4nn\u00e4 laitettasi","exit-vr":"Poistu VR-tilasta",reject:"Hylk\u00e4\u00e4","disable-measure":"Lopeta mittaaminen",downloading:"Ladataan","cardboard-v2":"Mik\u00e4li sinulla on Cardboard v2 -virtuaalilasit, joissa on painike, voit katsoa hotspotia ja aktivoida sen painamalla painiketta.", "enable-video-audio-prompt":"Otetaanko \u00e4\u00e4ni ja video k\u00e4ytt\u00f6\u00f6n?","storage-not-provided-launch-from-desktop":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 ty\u00f6p\u00f6yd\u00e4n kuvakkeesta aloittaaksesi lataamisen.",downloaded:"T\u00e4m\u00e4 sis\u00e4lt\u00f6 on ladattu offline-toistoa varten","samsung-internet-vr-app-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Sinun on lis\u00e4ksi m\u00e4\u00e4ritett\u00e4v\u00e4 Samsung Internet oletusselaimeksi.", "samsung-internet-vr-info":"Mik\u00e4li sinulla on t\u00e4m\u00e4n laitteen kanssa yhteensopivat Gear VR -virtuaalilasit ja olet asentanut Samsung Internet for VR:n, voit k\u00e4ytt\u00e4\u00e4 virtuaalilaseja t\u00e4m\u00e4n sis\u00e4ll\u00f6n katseluun VR-tilassa. Aseta \u00e4lypuhelin virtuaalilaseihin aloittaaksesi.","enable-video-prompt":"Otetaanko video k\u00e4ytt\u00f6\u00f6n?","giroscope-disabled-safari-request-permission":["Laitteesi liiketunnistimen k\u00e4ytt\u00f6oikeus ja VR-tila on poistettu k\u00e4yt\u00f6st\u00e4 t\u00e4ll\u00e4 sivustolla.", "N\u00e4hd\u00e4ksesi t\u00e4m\u00e4n verkkosivun oikein, valitse jatka ja hyv\u00e4ksy lupapyynt\u00f6 pyydett\u00e4ess\u00e4."],"storage-not-provided-launch-from-homescreen":"Uudelleenk\u00e4ynnist\u00e4 t\u00e4m\u00e4 sis\u00e4lt\u00f6 kotin\u00e4yt\u00f6n kuvakkeesta aloittaaksesi lataamisen","enter-fullscreen":"Avaa koko n\u00e4yt\u00f6n n\u00e4kym\u00e4","use-cardboard-v2":"K\u00e4yt\u00e4 Cardboard v2:sta",unmute:"Ota \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n","enter-vr":"Siirry VR-tilaan","enable-measure":"Aloita mittaaminen", "use-cardboard-info":"Voit k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa yhteensopivia Google Cardboard -virtuaalilaseja katsellaksesi t\u00e4t\u00e4 sis\u00e4lt\u00f6\u00e4 VR-tilassa.","refresh-downloaded":"P\u00e4ivit\u00e4","use-default-cardboard":"K\u00e4yt\u00e4 oletuksena","enable-audio-prompt":"Otetaanko \u00e4\u00e4ni k\u00e4ytt\u00f6\u00f6n?"},"fr-fr":{mute:"D\u00e9sactiver l'audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"Download Tour for offline playing","giroscope-disabled-safari-request-permission":["L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour ce site.","Pour voir correctement cette page Web, veuillez cliquer sur Continuer et accepter la demande d'autorisation si elle est affich\u00e9e."],accept:"Accepter",download:"Download",downloading:"Downloading","dont-display-again":"Ne plus afficher cette information","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"Changer le mode de contr\u00f4le pour cliquer et d\u00e9placer",yes:"oui","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Quitter le mode plein \u00e9cran",no:"non","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","download-failed":"Download failed","giroscope-disabled-http":"L'acc\u00e8s aux mouvements et \u00e0 l'orientation de votre appareil est d\u00e9sactiv\u00e9 pour cette page Web. Veuillez y acc\u00e9der via https.", "cookies-notice":"Cette page Web utilise des cookies pour collecter des statistiques d'utilisation. Pour plus d'informations, veuillez consulter la Politique relative aux cookies.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rejeter","disable-measure":"Stop measuring","change-to-drag-and-release":"Changer le mode de contr\u00f4le pour faire glisser et rel\u00e2cher","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Activer l'audio? et la vid\u00e9o?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Activer la vid\u00e9o?","storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Passer en mode plein \u00e9cran","use-cardboard-v2":"Use Cardboard v2",unmute:"Activer l'audio","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default", "enable-audio-prompt":"Activer l'audio?"},"hr-hr":{mute:"nijem","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Promijenite na\u010din upravljanja u povla\u010denje i otpu\u0161tanje",accept:"Prihvatiti",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.", "dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"Promijenite na\u010din upravljanja na Klik i Premjesti",yes:"Da","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Iza\u0111ite s punog zaslona", no:"Ne","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Ova web stranica koristi kola\u010di\u0107e za prikupljanje statistike upotrebe. Za vi\u0161e informacija posjetite Pravila o kola\u010di\u0107ima.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device", "exit-vr":"Exit VR",reject:"Odbiti","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Omogu\u0107iti videozapis i zvuk?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"Omogu\u0107ite videozapis?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."], "storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Unesite cijeli zaslon","use-cardboard-v2":"Use Cardboard v2",unmute:"Uklju\u010di mikrofon","enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"\u017delite li omogu\u0107iti zvuk?"}, "hu-hu":{mute:"N\u00e9m\u00edt\u00e1s","cardboard-v1":"Ha nem vagy biztos benne, hogy milyen VR eszk\u00f6zt haszn\u00e1lsz, akkor v\u00e1laszd az alap\u00e9rtelmezettet \u00e9s az egyes hotspot-ok megtekint\u00e9s\u00e9hez csak tartsd ott a jel\u00f6l\u0151t.","download-tour":"T\u00fara let\u00f6lt\u00e9se offline megtekint\u00e9shez","change-to-drag-and-release":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa: megfog \u00e9s mozgat m\u00f3dra",accept:"Elfogad",cancel:"M\u00e9gsem","storage-not-provided-bookmark":"Pr\u00f3b\u00e1lja meg az oldalt megjel\u00f6lni \u00e9s \u00fajrat\u00f6lteni!", "dont-display-again":"Ne mutasd \u00fajra","web-server-required":"Ez a t\u00fara nem j\u00e1tszat\u00f3 le helyi futtat\u00e1ssal, k\u00e9rlek t\u00f6lsd fel az internetre \u00e9s pr\u00f3b\u00e1ld meg \u00fajra\nM\u00e1sik megold\u00e1s, ha a Tourviewer applik\u00e1ci\u00f3ra h\u00fazod a t\u00fara f\u00e1jlt, vagy az azt tartalmaz\u00f3 t\u00fara mapp\u00e1t.",download:"Let\u00f6lt\u00e9s","change-to-click-and-move":"Ir\u00e1ny\u00edt\u00e1s \u00e1t\u00e1ll\u00edt\u00e1sa kattint \u00e9s k\u00f6rben\u00e9z m\u00f3dra", yes:"igen","delete-downloaded":"T\u00f6rl\u00e9s","use-safari-for-vr":"Azt javasoljuk, hogy haszn\u00e1lj Safari b\u00f6ng\u00e9sz\u0151t a VR n\u00e9zet megtekint\u00e9s\u00e9hez","exit-fullscreen":"Kil\u00e9p\u00e9s a teljesk\u00e9perny\u0151 m\u00f3db\u00f3l",no:"nem","download-failed":"Let\u00f6lt\u00e9s sikertelen","giroscope-disabled-http":"Az oldalt https el\u0151taggal sz\u00fcks\u00e9ges megnyitnod ahhoz, hogy a k\u00e9sz\u00fcl\u00e9ked mozg\u00e1s\u00e1t \u00e9rz\u00e9kelni tudja.","cookies-notice":"Ez a weboldal s\u00fctiket haszn\u00e1l a haszn\u00e1lati statisztik\u00e1k gy\u0171jt\u00e9s\u00e9hez. Tov\u00e1bbi inform\u00e1ci\u00f3\u00e9rt l\u00e1togasson el a s\u00fctikre vonatkoz\u00f3 ir\u00e1nyelvekbe.", "use-cardboard":"Cardboard haszn\u00e1lata","launch-default-browser":"Futtat\u00e1s az alap\u00e9rtelmezett b\u00f6ng\u00e9sz\u0151ben","rotate-device":"Forgasd el a telefont!","exit-vr":"Kil\u00e9p\u00e9s a VR m\u00f3db\u00f3l","storage-not-provided-launch-from-desktop":"K\u00e9rlek ind\u00edtsd \u00fajra az oldalt az asztalon tal\u00e1lhat\u00f3 iconra kattintva.","disable-measure":"Stop measuring",downloading:"Let\u00f6lt\u00e9s","cardboard-v2":"Ha Cardboard 2.0 t\u00edpus\u00fa eszk\u00f6zt haszn\u00e1lsz, akkor a kapcsol\u00f3kkal ir\u00e1ny\u00edthatod a t\u00far\u00e1t, kattinthatsz az egyes hotspotokra", "enable-video-audio-prompt":"Hang \u00e9s vide\u00f3 enged\u00e9lyez\u00e9se",reject:"Elutas\u00edt",downloaded:"Let\u00f6ltve offline megtekint\u00e9shez","samsung-internet-vr-app-info":"Ha Samsung Gear VR szem\u00fcveget szeretn\u00e9l haszn\u00e1lni, akkor nyisd meg a Samsung internetb\u00f6ng\u00e9sz\u0151ben a t\u00far\u00e1t.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Vide\u00f3 enged\u00e9lyez\u00e9se","giroscope-disabled-safari-request-permission":["A megjelen\u00edt\u0151 eszk\u00f6z\u00f6d nem adott hozz\u00e1f\u00e9r\u00e9st a mozg\u00e1s \u00e9rz\u00e9kel\u00e9s\u00e9hez ezen az oldalon.","Ahhoz hogy megfelel\u0151en l\u00e1sd az oldalt k\u00e9rlek enged\u00e9lyezd a hozz\u00e1f\u00e9r\u00e9st."],"storage-not-provided-launch-from-homescreen":"Ind\u00edtsd \u00fajra a t\u00far\u00e1t a home ikonra kattintva.","enter-fullscreen":"Teljesk\u00e9perny\u0151", "use-cardboard-v2":"Cardboard 2.0 haszn\u00e1lata",unmute:"N\u00e9m\u00edt\u00e1s kikapcsol\u00e1sa","enter-vr":"VR tartalom megtekint\u00e9se","enable-measure":"Start measuring","use-cardboard-info":"Haszn\u00e1lhatsz b\u00e1rmilyen google cardboard-ot ahhoz, hogy VR m\u00f3dban l\u00e1sd a t\u00far\u00e1t.","refresh-downloaded":"Friss\u00edt\u00e9s","use-default-cardboard":"Alap\u00e9rtelmezett haszn\u00e1lata","enable-audio-prompt":"Hang enged\u00e9lyez\u00e9se"},"id-id":{mute:"Mute","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"Download Tour for offline playing","change-to-drag-and-release":"Change control mode to Drag and Release",accept:"Menerima",cancel:"Cancel","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", download:"Download","change-to-click-and-move":"Change control mode to Click and Move",yes:"yes","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Exit fullscreen",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Halaman web ini menggunakan cookie untuk mengumpulkan statistik penggunaan. Untuk informasi lebih lanjut, silakan kunjungi Kebijakan Cookie.", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Enable video and audio?", reject:"Menolak",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Enable video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Enter fullscreen","use-cardboard-v2":"Use Cardboard v2",unmute:"Unmute","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Enable audio?"},"it-it":{mute:"Disabilita audio","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing", "change-to-drag-and-release":"Cambia la modalit\u00e0 di controllo per trascinare e rilasciare",accept:"Accettare",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"Cambia la modalit\u00e0 di controllo per fare clic e spostare",yes:"s\u00ec","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Esci dalla modalit\u00e0 schermo intero",no:"no","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"Questa pagina web utilizza i cookie per raccogliere statistiche sull'utilizzo. Per ulteriori informazioni, visita la Cookie Policy.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Rifiutare","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Abilita audio e video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Abilita il video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Entra a schermo intero","use-cardboard-v2":"Use Cardboard v2",unmute:"Abilita audio","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Abilita l'audio?"},"ja-jp":{mute:"\u30df\u30e5\u30fc\u30c8","cardboard-v1":"\u4f7f\u7528\u3057\u3066\u3044\u308bCardboard\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u9078\u629e\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u30db\u30c3\u30c8\u30b9\u30dd\u30c3\u30c8\u3092\u6ce8\u8996\u3057\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u52d5\u4f5c\u3059\u308b\u307e\u3067\u5f85\u6a5f\u3057\u307e\u3059\u3002\uff08\u4e00\u90e8\u52d5\u4f5c\u3057\u306a\u3044\u30a2\u30af\u30b7\u30e7\u30f3\u6709\u308a\uff09", "download-tour":"\u30aa\u30d5\u30e9\u30a4\u30f3\u518d\u751f\u7528\u30c4\u30a2\u30fc\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b","change-to-drag-and-release":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30c9\u30e9\u30c3\u30b0\uff06\u30ea\u30ea\u30fc\u30b9\u306b\u5909\u66f4",accept:"\u53d7\u3051\u5165\u308c\u308b",cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb","storage-not-provided-bookmark":"\u6c38\u7d9a\u7684\u306a\u4fdd\u5b58\u304c\u62d2\u5426\u3055\u308c\u305f\u3002\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3057\u3001\u66f4\u65b0\u3057\u3066\u304f\u3060\u3055\u3044", "dont-display-again":"\u4eca\u5f8c\u3053\u306e\u60c5\u5831\u3092\u8868\u793a\u3057\u306a\u3044","web-server-required":"\u3053\u306e\u30d0\u30fc\u30c1\u30e3\u30eb\u30c4\u30a2\u30fc\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30c9\u30e9\u30a4\u30d6\u304b\u3089\u518d\u751f\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u63a5\u7d9a\u3057\u3001\u3082\u3046\u4e00\u5ea6\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\n\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001htm\u30d5\u30a1\u30a4\u30eb\uff08\u307e\u305f\u306f\u30c4\u30a2\u30fc\u306e\u30d5\u30a9\u30eb\u30c0\u30fc\u5168\u4f53\uff09\u3092\u300eTourViewer\u300f\u30a2\u30d7\u30ea\u306e\u30a2\u30a4\u30b3\u30f3\u306b\u30c9\u30e9\u30c3\u30b0\u3057\u307e\u3059", download:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9","change-to-click-and-move":"\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30e2\u30fc\u30c9\u3092\u30af\u30ea\u30c3\u30af\uff06\u30e0\u30fc\u30d6\u306b\u5909\u66f4",yes:"\u306f\u3044","delete-downloaded":"\u524a\u9664","use-safari-for-vr":"\u3053\u306e\u30c4\u30a2\u30fc\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001Safari\u30d6\u30e9\u30a6\u30b6\u306e\u5229\u7528\u3092\u304a\u52e7\u3081\u3057\u307e\u3059","exit-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3092\u7d42\u4e86\u3059\u308b", no:"\u3044\u3044\u3048","download-failed":"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5931\u6557\u3057\u307e\u3057\u305f","giroscope-disabled-http":"\u3053\u306eWeb\u30da\u30fc\u30b8\u306b\u300ehttp\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u300ehttps\u300f\u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u3057\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044", "cookies-notice":"\u3053\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306fCookie\u3092\u4f7f\u7528\u3057\u3066\u4f7f\u7528\u7d71\u8a08\u3092\u53ce\u96c6\u3057\u307e\u3059\u3002 \u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u3001Cookie\u30dd\u30ea\u30b7\u30fc\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002","use-cardboard":"Cardboard\u5229\u7528","launch-default-browser":"\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u8d77\u52d5","rotate-device":"\u7aef\u672b\u3092\u56de\u8ee2\u3055\u305b\u3066\u304f\u3060\u3055\u3044", "exit-vr":"VR\u30d3\u30e5\u30fc \u7d42\u4e86","storage-not-provided-launch-from-desktop":"\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","disable-measure":"Stop measuring",downloading:"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u4e2d","cardboard-v2":"\u30dc\u30bf\u30f3\u304c\u4ed8\u5c5e\u3057\u3066\u3044\u308bCardboard v2\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u304a\u6301\u3061\u306e\u5834\u5408\u306f\u3053\u3061\u3089\u3002", "enable-video-audio-prompt":"\u30d3\u30c7\u30aa\u3068\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f",reject:"\u62d2\u5426\u3059\u308b",downloaded:"\u3053\u306e\u30c4\u30a2\u30fc\u306f\u3001\u30aa\u30d5\u30e9\u30a4\u30f3\u3067\u518d\u751f\u3059\u308b\u305f\u3081\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u3059\u308b","samsung-internet-vr-app-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u300eSamsung Internet\u300f\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30d6\u30e9\u30a6\u30b6\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059", "samsung-internet-vr-info":"\u3053\u306e\u7aef\u672b\u3068\u4e92\u63db\u6027\u306e\u3042\u308bVR\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u6a5f\u5668\u3092\u304a\u6301\u3061\u3067\u3001VR\u7528\u306e\u300eSamsung Internet\u300f\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u308b\u5834\u5408\u3002VR\u30d3\u30e5\u30fc\u3067\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3092\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u306b\u88c5\u7740\u3059\u308b\u3060\u3051\u3067\u3059", "enable-video-prompt":"\u30d3\u30c7\u30aa\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f","giroscope-disabled-safari-request-permission":["\u3054\u5229\u7528\u7aef\u672b\u306e\u30e2\u30fc\u30b7\u30e7\u30f3\u3068\u753b\u9762\u306e\u5411\u304d\u3078\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u305a\u3001VR\u30e2\u30fc\u30c9\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002","\u3053\u306eWeb\u30da\u30fc\u30b8\u3092\u6b63\u3057\u304f\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300eOK\u300f\u3092\u30af\u30ea\u30c3\u30af\u3057\u300e\u8a31\u53ef\u300f\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u53d7\u3051\u5165\u308c\u3066\u304f\u3060\u3055\u3044"], "storage-not-provided-launch-from-homescreen":"\u30db\u30fc\u30e0\u753b\u9762\u306e\u30a2\u30a4\u30b3\u30f3\u304b\u3089\u30c4\u30a2\u30fc\u3092\u518d\u8d77\u52d5\u3057\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044","enter-fullscreen":"\u30d5\u30eb\u30b9\u30af\u30ea\u30fc\u30f3\u3067\u5165\u529b\u3059\u308b","use-cardboard-v2":"Cardboard v2\u5229\u7528",unmute:"\u30df\u30e5\u30fc\u30c8\u89e3\u9664","enter-vr":"VR\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b","enable-measure":"Start measuring", "use-cardboard-info":"\u3053\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092VR\u30d3\u30e5\u30fc\u3067\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u4efb\u610f\u306eGoogle Cardboard\u30d8\u30c3\u30c9\u30bb\u30c3\u30c8\u3092\u5229\u7528\u3067\u304d\u307e\u3059","refresh-downloaded":"\u66f4\u65b0","use-default-cardboard":"\u30c7\u30d5\u30a9\u30eb\u30c8\u5229\u7528","enable-audio-prompt":"\u97f3\u58f0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u304b\uff1f"},"nb-no":{mute:"Skru av lyd", "cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.","download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.", "dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.",download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus", "exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.","cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k retningslinjer for informasjonskapsler.","use-cardboard":"Bruk Cardboard", "launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned","cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.", "enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.","samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.", "enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."],"storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2", unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard","enable-audio-prompt":"Aktivere audio?"},"nl-nl":{mute:"Schakel audio uit","cardboard-v1":"Als u niet weet wat voor versie van Cardboard u gebruikt, selecteer dan de default hotspot control. Dan zult u moeten wachten op een hotspot tot er een bepaald actie is gestart.", "download-tour":"Download Tour voor offline afspelen","change-to-drag-and-release":"Verander de besturingsmodus om te slepen en los te laten",accept:"Aanvaarden",download:"Download","storage-not-provided-bookmark":"Aanhoudende inhoud geweigerd. Probeer deze pagina als bookmark op te slaan en te verversen.","dont-display-again":"Niet meer laten zien","web-server-required":"Deze virtuele tour kan niet worden afgespeeld vanaf een lokale schijf. Upload dit alstublieft op het internet. Je kan ook de htm bestand slepen naar het icoon van de TourViewer app.", cancel:"Annuleren","change-to-click-and-move":"Verander de bedieningsmodus om te klikken en te verplaatsen",yes:"Ja","delete-downloaded":"Verwijderen","use-safari-for-vr":"We raden aan om in Safari deze tour te bekijken in VR mode","exit-fullscreen":"Volledig scherm verlaten",no:"Nee","download-failed":"Download mislukt","giroscope-disabled-http":"Jij betreedt deze pagina door http, dus uw toestel's motion en orientation access en VR modus zijn uitgeschakeld. Betreed deze pagina door https om ze weer aan te schakelen.", "cookies-notice":"Deze webpagina maakt gebruik van cookies om gebruiksstatistieken te verzamelen. Raadpleeg het Cookiebeleid voor meer informatie.","use-cardboard":"Gebruik Cardboard","launch-default-browser":"Start op in standaard browser","rotate-device":"Draai uw toestel om, alstublieft","exit-vr":"VR verlaten",reject:"Weigeren","disable-measure":"Stop meten",downloading:"Downloaden","cardboard-v2":"Als u een Cardboard v2 headset heeft, wat met een knop komt, kunt u wachten op een hotspot en een op een knop drukken om een actie te starten.", "enable-video-audio-prompt":"Audio en video inschakelen?","storage-not-provided-launch-from-desktop":"Start de tour alstublieft opnieuw up vanaf het bureaublad om te kunnen downloaden.",downloaded:"Deze tour is gedownload voor offline afspelen.","samsung-internet-vr-app-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR. U moet alleen Samsung Internet instellen als uw standaard browser.","samsung-internet-vr-info":"Als u een Gear VR headset heeft dat werkt met dit toestel en u Samsung Internet voor VR heeft ge\u00efnstalleerd, kunt u dit ook bekijken in VR, u moet alleen uw mobiele toestel op uw headset zetten.", "enable-video-prompt":"Video inschakelen?","giroscope-disabled-safari-request-permission":["Uw toestel's motion en orientation access en VR modus zijn uitgeschakeld voor deze site..","Om deze pagina goed te kunnen zien, druk op doorgaan en geef toestemming als dat gevraagd wordt."],"storage-not-provided-launch-from-homescreen":"Start de tour alstublieft opnieuw up vanaf het homescherm om te kunnen downloaden.","enter-fullscreen":"Volledig scherm inschakelen","use-cardboard-v2":"Gebruik Cardboard v2", unmute:"Schakel audio in","enter-vr":"Voer VR inhoud in","enable-measure":"Begin meten","use-cardboard-info":"U kunt elk werkend Google Cardboard headset gebruiken om dit te bekijken.","refresh-downloaded":"Verversen","use-default-cardboard":"Standaard gebruiken","enable-audio-prompt":"Audio inschakelen?"},"nn-no":{mute:"Skru av lyd","cardboard-v1":"Hvis du ikke er sikker, hvilken Cardboard versjon du bruker, velger du standard hotspot-kontrollen. Du vil da bare se p\u00e5 et hotspot og vente til handlingen utl\u00f8ses.", "download-tour":"Last ned visningen, s\u00e5 den kan bli sett uten internett","change-to-drag-and-release":"Endre kontrollmodus til Trekk og Slipp",accept:"Aksepterer",cancel:"Avbryt","storage-not-provided-bookmark":"Vedvarende lagring nektet. Pr\u00f8v \u00e5 bokmerke denne nettsiden og laste den inn p\u00e5 nytt.","dont-display-again":"Ikke vis denne informasjonen igjen","web-server-required":"Denne virtuelle visningen kan ikke spilles av lokalt. Vennligst last den opp til internett, og fors\u00f8k igjen.\ndersom du prefererer det, kan du dra htm filen (eller hele mappen som inneholder visningen) over 'TourViewer' appen.", download:"Last ned","change-to-click-and-move":"Endre kontrollmodus til Klikk og Flytt",yes:"Ja","delete-downloaded":"Slett","use-safari-for-vr":"Vi anbefaler Safari for \u00e5 se p\u00e5 venne visningen i VR modus","exit-fullscreen":"G\u00e5 ut av full skjerm",no:"Nei","download-failed":"Nedlastning feilet","giroscope-disabled-http":"Du er koblet til denne nettsiden via http. Dermed er enhetens bevegelses- og orienteringstilgang og VR-modus deaktivert. Koble til via https for \u00e5 aktivere denne.", "cookies-notice":"Denne websiden bruker informasjonskapsler for \u00e5 samle inn bruksstatistikk. For mer informasjon, bes\u00f8k retningslinjer for informasjonskapsler.","use-cardboard":"Bruk Cardboard","launch-default-browser":"\u00c5pne i standard nettleser","rotate-device":"Vennligst roter enheten","exit-vr":"G\u00e5 ut av VR","storage-not-provided-launch-from-desktop":"Start turen p\u00e5 nytt fra skrivebordsikonet for \u00e5 laste ned.","disable-measure":"Stop measuring",downloading:"Laster ned", "cardboard-v2":"Dersom du har Cardboard versjon 2, hvilket kommer med en knapp, kan du kikke p\u00e5 en klikkbar ting i visningen, og bruke knappen for \u00e5 bruke disse tingene, p\u00e5 samme m\u00e5te som p\u00e5 en laptop eller telefon.","enable-video-audio-prompt":"Aktivere video og lyd?",reject:"Avvis",downloaded:"Denne visningen er lastet ned, s\u00e5 den kan bli sett uten internett.","samsung-internet-vr-app-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten og har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du m\u00e5 ogs\u00e5 gj\u00f8re Samsung Internet til standard nettleser.", "samsung-internet-vr-info":"Hvis du har et Gear VR-headset som er kompatibelt med denne enheten, og du har installert Samsung Internet for VR, kan du ogs\u00e5 bruke det til \u00e5 se dette innholdet i VR, du trenger bare \u00e5 sette mobiltelefonen p\u00e5 headsettet n\u00e5.","enable-video-prompt":"Aktivere video?","giroscope-disabled-safari-request-permission":["Din enhet sin bevegelses- og orienterings tilgang, samt VR modus er deaktivert for denne nettsiden.","For \u00e5 se denne siden korrekt, vennligst klikk p\u00e5 fortsett og godta tillatelsesforesp\u00f8rselen hvis du blir bedt om dette."], "storage-not-provided-launch-from-homescreen":"Start turen p\u00e5 nytt fra startskjermikonet for \u00e5 laste ned.","enter-fullscreen":"G\u00e5 til full skjerm","use-cardboard-v2":"Bruk Cardboard Versjon 2",unmute:"Skru p\u00e5 lyd","enter-vr":"\u00c5pne VR Modus","enable-measure":"Start measuring","use-cardboard-info":"Du kan bruke hvilke some helst Google Cardboard kompatible headsett for \u00e5 se denne visningen i VR.","refresh-downloaded":"Last inn p\u00e5 nytt","use-default-cardboard":"Bruk Standard", "enable-audio-prompt":"Aktivere audio?"},"pl-pl":{mute:"Wycisz","cardboard-v1":"Je\u015bli nie masz pewno\u015bci, kt\u00f3rej wersji Cardboard u\u017cywasz, wybierz domy\u015blne sterowanie hotspotem. Nast\u0119pnie skieruj wzrok na hotspot i poczekaj na uruchomienie ich dzia\u0142ania.","download-tour":"Pobierz spacer do odtwarzania w trybie offline","change-to-drag-and-release":"Zmie\u0144 tryb na Przeci\u0105gnij i Upu\u015b\u0107",accept:"Zaakceptowa\u0107",cancel:"Anuluj","storage-not-provided-bookmark":"Odmowa zapisu w pami\u0119ci sta\u0142ej. Spr\u00f3buj doda\u0107 stron\u0119 do zak\u0142adek i za\u0142aduj j\u0105 ponownie.", "dont-display-again":"Nie wy\u015bwietlaj tego ponownie","web-server-required":"Nie mo\u017cna odtworzy\u0107 tego spaceru z dysku lokalnego. Prze\u015blij go do internetu i spr\u00f3buj ponownie.\nMo\u017cesz te\u017c przeci\u0105gn\u0105\u0107 plik htm (lub ca\u0142y folder spaceru) na ikon\u0119 aplikacji TourViewer.",download:"Pobierz","change-to-click-and-move":"Zmie\u0144 tryb na to Kliknij i Przenie\u015b",yes:"tak","delete-downloaded":"Usu\u0144","use-safari-for-vr":"Zalecamy Safari, jako przegl\u0105dark\u0119 spacer\u00f3w w trybie VR", "exit-fullscreen":"Wyjd\u017a z trybu pe\u0142nego ekranu",no:"nie","download-failed":"Pobieranie nie powiod\u0142o si\u0119","giroscope-disabled-http":"To jest dost\u0119p za po\u015brednictwem protoko\u0142u http, wi\u0119c dost\u0119p do ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone. Prze\u0142\u0105cz si\u0119\u00a0na protok\u00f3\u0142 https, aby je w\u0142\u0105czy\u0107.","cookies-notice":"Ta strona u\u017cywa plik\u00f3w cookie do zbierania statystyk u\u017cytkowania. Aby uzyska\u0107 wi\u0119cej informacji, odwied\u017a Zasady dotycz\u0105ce plik\u00f3w cookie.", "use-cardboard":"U\u017cyj Cardboard","launch-default-browser":"Uruchom w domy\u015blnej przegl\u0105darce","rotate-device":"Obr\u00f3\u0107 urz\u0105dzenie","exit-vr":"Wyjd\u017a z VR","storage-not-provided-launch-from-desktop":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 pulpitu.","disable-measure":"Stop measuring",downloading:"Pobieranie","cardboard-v2":"Je\u015bli masz okulary Cardboard v2, kt\u00f3re maj\u0105 przycisk, mo\u017cesz spojrze\u0107 na hotspot i nacisn\u0105\u0107 przycisk, aby uruchomi\u0107 ich dzia\u0142anie.", "enable-video-audio-prompt":"W\u0142\u0105czy\u0107 video i d\u017awi\u0119k?",reject:"Odrzuca\u0107",downloaded:"Spacer jest pobierany do odtwarzania w trybie offline.","samsung-internet-vr-app-info":"Je\u015bli masz okulary zgodne z Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, mo\u017cesz je u\u017cy\u0107 do przegl\u0105dania zawarto\u015bci w VR. Musisz w tym przypadku ustawi\u0107 Samsung Internet jako domy\u015bln\u0105 przegl\u0105dark\u0119.","samsung-internet-vr-info":"Je\u015bli masz okulary Gear VR i zainstalowa\u0142e\u015b Samsung Internet for VR, to mo\u017cesz u\u017cy\u0107 ich do przegl\u0105dania zawarto\u015bci w VR. Umie\u015b\u0107 teraz telefon w okularach Gear VR.", "enable-video-prompt":"W\u0142\u0105czy\u0107 video?","giroscope-disabled-safari-request-permission":["Dost\u0119p do funkcji ruchu i orientacji oraz tryb VR s\u0105 wy\u0142\u0105czone dla tej strony.","Aby poprawnie wy\u015bwietli\u0107 stron\u0119, kliknij kontynuuj i zaakceptuj wszystkie zgody."],"storage-not-provided-launch-from-homescreen":"Aby pobra\u0107, uruchom ponownie spacer klikaj\u0105c ikon\u0119 strony g\u0142\u00f3wnej.","enter-fullscreen":"Uruchom pe\u0142ny ekran","use-cardboard-v2":"U\u017cyj Cardboard v2", unmute:"Wy\u0142\u0105cz Wycisz","enter-vr":"Wejd\u017a do VR","enable-measure":"Start measuring","use-cardboard-info":"Do wy\u015bwietlania w VR mo\u017cesz u\u017cy\u0107 oklular\u00f3w zgodnych z Google Cardboard.","refresh-downloaded":"Od\u015bwie\u017c","use-default-cardboard":"U\u017cyj Domy\u015blnych","enable-audio-prompt":"W\u0142\u0105czy\u0107 d\u017awi\u0119k?"},"pt-br":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.", "download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar","storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.", download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover",yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.", "cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a Pol\u00edtica de cookies.","use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring", downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.","enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.", "samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.","enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."], "storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2",unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o", "enable-audio-prompt":"Ativar \u00e1udio?"},"pt-pt":{mute:"Desativar som","cardboard-v1":"Se voc\u00ea n\u00e3o tiver certeza de qual vers\u00e3o do Cardboard est\u00e1 usando, selecione o controle de ponto de acesso padr\u00e3o. Voc\u00ea simplesmente olha para um ponto de acesso e espera at\u00e9 que a a\u00e7\u00e3o seja acionada.","download-tour":"Download do Tour para reprodu\u00e7\u00e3o offline","change-to-drag-and-release":"Alterar controle para arrastar e soltar",accept:"Aceitar",cancel:"Cancelar", "storage-not-provided-bookmark":"Armazenamento persistente negado. Tente marcar esta p\u00e1gina da Web e recarreg\u00e1-la.","dont-display-again":"N\u00e3o exibir essas informa\u00e7\u00f5es novamente","web-server-required":"Este passeio virtual n\u00e3o pode ser reproduzido a partir de uma unidade local. Envie-o para a Internet e tente novamente.\nSe preferir, arraste o arquivo htm (ou toda a pasta do tour) para o \u00edcone do aplicativo TourViewer.",download:"Download","change-to-click-and-move":"Alterar controle para clicar e mover", yes:"sim","delete-downloaded":"Apagar","use-safari-for-vr":"Recomendamos o Safari para ver este passeio no modo VR","exit-fullscreen":"Sair tela cheia",no:"n\u00e3o","download-failed":"Falha no Download","giroscope-disabled-http":"Voc\u00ea est\u00e1 acessando esta p\u00e1gina da Web por meio do http, para que o acesso \u00e0 orienta\u00e7\u00e3o e movimento do dispositivo e o modo VR sejam desativados, acesse-o atrav\u00e9s de https para ativ\u00e1-los.","cookies-notice":"Esta p\u00e1gina da web usa cookies para coletar estat\u00edsticas de uso. Para obter mais informa\u00e7\u00f5es, visite a Pol\u00edtica de cookies.", "use-cardboard":"Use Cardboard","launch-default-browser":"Iniciar no navegador padr\u00e3o","rotate-device":"Por favor, gire seu dispositivo","exit-vr":"Sair do VR","storage-not-provided-launch-from-desktop":"Por favor, reinicie o tour no \u00edcone da \u00e1rea de trabalho para fazer o download.","disable-measure":"Stop measuring",downloading:"Baixando","cardboard-v2":"Se voc\u00ea tiver um fone de ouvido Cardboard v2, que vem com um bot\u00e3o, poder\u00e1 observar um ponto de acesso e pressionar o bot\u00e3o para acionar sua a\u00e7\u00e3o.", "enable-video-audio-prompt":"Ativar \u00e1udio e v\u00eddeo?",reject:"Rejeitar",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Voc\u00ea precisa tornar o Samsung Internet o seu padr\u00e3o. browser.","samsung-internet-vr-info":"Se voc\u00ea possui um fone de ouvido Gear VR compat\u00edvel com este dispositivo e instalou o Samsung Internet for VR, tamb\u00e9m pode us\u00e1-lo para visualizar esse conte\u00fado em VR. Basta colocar o celular no fone de ouvido agora.", "enable-video-prompt":"Ativar v\u00eddeo?","giroscope-disabled-safari-request-permission":["O acesso a movimento e orienta\u00e7\u00e3o do dispositivo e o modo VR est\u00e3o desativados para este site.","Para ver corretamente esta p\u00e1gina da web, clique em continuar e aceite a solicita\u00e7\u00e3o de permiss\u00e3o, se solicitado."],"storage-not-provided-launch-from-homescreen":"Reinicie o tour no \u00edcone da tela inicial para fazer o download.","enter-fullscreen":"Entrar tela cheia","use-cardboard-v2":"Use Cardboard v2", unmute:"Ativar som","enter-vr":"Inserir conte\u00fado VR","enable-measure":"Start measuring","use-cardboard-info":"Voc\u00ea pode usar qualquer fone de ouvido compat\u00edvel do Google Cardboard para visualizar este conte\u00fado em VR","refresh-downloaded":"Atualizar","use-default-cardboard":"Use o padr\u00e3o","enable-audio-prompt":"Ativar \u00e1udio?"},"ru-ru":{mute:"\u0411\u0435\u0437 \u0437\u0432\u0443\u043a\u0430","cardboard-v1":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Cardboard \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u043a\u0430\u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.", "download-tour":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0440 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f","change-to-drag-and-release":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435", accept:"\u041f\u0440\u0438\u043d\u044f\u0442\u044c",download:"\u0421\u043a\u0430\u0447\u0430\u0442\u044c","storage-not-provided-bookmark":"\u0412 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0435.", "dont-display-again":"\u0411\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e","web-server-required":"\u042d\u0442\u043e\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0443\u0440 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.\n\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 htm-\u0444\u0430\u0439\u043b (\u0438\u043b\u0438 \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0430) \u043d\u0430 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f TourViewer.", cancel:"\u041e\u0442\u043c\u0435\u043d\u0430","change-to-click-and-move":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0440\u0435\u0436\u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u0430\u0436\u0430\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435",yes:"\u0434\u0430","delete-downloaded":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","use-safari-for-vr":"\u041c\u044b \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c Safari \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0440\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 VR.", "exit-fullscreen":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430",no:"\u043d\u0435\u0442","download-failed":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438","giroscope-disabled-http":"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0447\u0435\u0440\u0435\u0437 http, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u043d\u0430 \u043d\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 https, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445.", "cookies-notice":"\u042d\u0442\u0430 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0430\u0439\u043b\u044b cookie \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c. \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 cookie.", "use-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","rotate-device":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e", "exit-vr":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 VR",reject:"\u041e\u0442\u043a\u043b\u043e\u043d\u0438\u0442\u044c","disable-measure":"\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f",downloading:"\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435","cardboard-v2":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Cardboard v2 \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0445\u043e\u0442\u0441\u043f\u043e\u0442 \u0438 \u043d\u0430\u0436\u0430\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.", "enable-video-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e?","storage-not-provided-launch-from-desktop":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435..", downloaded:"\u042d\u0442\u043e\u0442 \u0442\u0443\u0440 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f.","samsung-internet-vr-app-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.", "samsung-internet-vr-info":"\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0430 Gear VR, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u0441 \u044d\u0442\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0434\u0435\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 \u0441\u0435\u0439\u0447\u0430\u0441.", "enable-video-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0438 \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0436\u0438\u043c VR \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430.", "\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u044d\u0442\u0443 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\u00bb \u0438 \u043f\u0440\u0438\u043c\u0438\u0442\u0435 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e."], "storage-not-provided-launch-from-homescreen":"\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0443\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","enter-fullscreen":"\u0412\u043e\u0439\u0442\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c", "use-cardboard-v2":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Cardboard v2",unmute:"\u0421\u043e \u0437\u0432\u0443\u043a\u043e\u043c","enter-vr":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c VR \u043a\u043e\u043d\u0442\u0435\u043d\u0442","enable-measure":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f","use-cardboard-info":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0443\u044e \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 VR.", "refresh-downloaded":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","use-default-cardboard":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","enable-audio-prompt":"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e?"},"sk-sk":{mute:"St\u00ed\u0161i\u0165","cardboard-v1":"Ak ste si nie ist\u00ed, ktor\u00fa verziu Cardboardu pou\u017e\u00edvate, vyberte si predvolen\u00e9 ovl\u00e1danie hotspotu. Potom sa jednoducho pozriete na hotspot a po\u010dkajte, k\u00fdm sa akcia nespust\u00ed.", "download-tour":"Stiahnu\u0165 prehliadku na hranie v offline re\u017eime","change-to-drag-and-release":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Presun\u00fa\u0165 a Uvo\u013eni\u0165",accept:"s\u00fahlasi\u0165",cancel:"Zru\u0161i\u0165","storage-not-provided-bookmark":"Trval\u00e9 \u00falo\u017eisko odmietnut\u00e9. Sk\u00faste si t\u00fato webov\u00fa str\u00e1nku ulo\u017ei\u0165 a na\u010d\u00edta\u0165 ju znova.","dont-display-again":"Tieto inform\u00e1cie u\u017e nezobrazova\u0165","web-server-required":"T\u00e1to virtu\u00e1lna prehliadka sa ned\u00e1 prehra\u0165 z lok\u00e1lneho disku. Nahrajte ju na internet a sk\u00faste to znova.\nAk chcete, potiahnite s\u00fabor htm (alebo cel\u00fd prie\u010dinok prehliadky) na ikonu aplik\u00e1cie TourViewer.", download:"Stiahnu\u0165","change-to-click-and-move":"Zmeni\u0165 re\u017eim ovl\u00e1dania na Klikn\u00fa\u0165 a Presun\u00fa\u0165",yes:"\u00e1no","delete-downloaded":"Zmaza\u0165","use-safari-for-vr":"Odpor\u00fa\u010dame pou\u017e\u00edva\u0165 Safari prehliada\u010d pre t\u00fato prehliadku v re\u017eime VR","exit-fullscreen":"Ukon\u010di\u0165 cel\u00fa obrazovku",no:"nie","download-failed":"S\u0165ahovanie zlyhalo","giroscope-disabled-http":"Na t\u00fato webov\u00fa str\u00e1nku pristupujete cez http protokol, preto pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR s\u00fa deaktivovan\u00e9. Ak ich chcete povoli\u0165, nav\u0161t\u00edvte str\u00e1nku cez https.", "cookies-notice":"T\u00e1to webov\u00e1 str\u00e1nka pou\u017e\u00edva s\u00fabory cookie na zhroma\u017e\u010fovanie \u0161tatist\u00edk pou\u017e\u00edvania. \u010eal\u0161ie inform\u00e1cie n\u00e1jdete v pravidl\u00e1ch pou\u017e\u00edvania s\u00faborov cookie .","use-cardboard":"Pou\u017eite Cardboard okuliare.","launch-default-browser":"Spusti\u0165 v predvolenom prehliada\u010di","rotate-device":"Oto\u010dte svoje zariadenie","exit-vr":"Ukon\u010denie VR","storage-not-provided-launch-from-desktop":"Znovu na\u010d\u00edtajte prehliadku pomocou desktop ikony pre jej stiahnite.", "disable-measure":"Ukon\u010di\u0165 meranie",downloading:"S\u0165ahovanie","cardboard-v2":"Ak m\u00e1te n\u00e1hlavn\u00fa s\u00fapravu Cardboard v2, ktor\u00e1 je dod\u00e1van\u00e1 s tla\u010didlom, m\u00f4\u017eete sa pozrie\u0165 na hotspot a stla\u010den\u00edm tla\u010didla spusti\u0165 akciu.","enable-video-audio-prompt":"Povoli\u0165 video a zvuk?",reject:"Odmietnu\u0165",downloaded:"T\u00e1to prehliadka je stiahnut\u00e1 na hranie v offline re\u017eime.","samsung-internet-vr-app-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Mus\u00edte si nastavi\u0165 Samsung Internet ako predvolen\u00fd prehliada\u010d.", "samsung-internet-vr-info":"Ak m\u00e1te Gear VR sl\u00fachadl\u00e1 kompatibiln\u00e9 s t\u00fdmto zariaden\u00edm a m\u00e1te nain\u0161talovan\u00fd program Samsung Internet pre VR, m\u00f4\u017eete ho tie\u017e pou\u017ei\u0165 na prezeranie tohto obsahu vo VR. Sta\u010d\u00ed teraz vlo\u017ei\u0165 mobiln\u00fd telef\u00f3n do n\u00e1hlavnej s\u00fapravy.","enable-video-prompt":"Povoli\u0165 video?","giroscope-disabled-safari-request-permission":["Pre t\u00fato str\u00e1nku s\u00fa pr\u00edstup k pohybu a orient\u00e1cii v\u00e1\u0161ho zariadenia a re\u017eim VR deaktivovan\u00e9.", "Aby ste korektne videli t\u00fato webov\u00fa str\u00e1nku, pros\u00edm kliknite pokra\u010dova\u0165 a akceptujte po\u017eadovan\u00e9 povolenie."],"storage-not-provided-launch-from-homescreen":"Znovu na\u010d\u00edtajte prehliadku pomocou ikony na ploche pre jej stiahnite.","enter-fullscreen":"Prejs\u0165 na cel\u00fa obrazovku","use-cardboard-v2":"Pou\u017eite Cardboard v2",unmute:"Zapn\u00fa\u0165 zvuk","enter-vr":"Vlo\u017ei\u0165 VR obsah","enable-measure":"Za\u010da\u0165 meranie","use-cardboard-info":"Na zobrazenie tohto obsahu vo VR m\u00f4\u017eete pou\u017ei\u0165 \u013eubovo\u013en\u00fa kompatibiln\u00fa n\u00e1hlavn\u00fa s\u00fapravu Google Cardboard.", "refresh-downloaded":"Obnovi\u0165","use-default-cardboard":"Pou\u017ei\u0165 predvolen\u00e9","enable-audio-prompt":"Povoli\u0165 zvuk?"},"sv-se":{mute:"Inaktivera ljud","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing","change-to-drag-and-release":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att dra och sl\u00e4ppa", accept:"Acceptera",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.",cancel:"Cancel","change-to-click-and-move":"\u00c4ndra kontrolll\u00e4ge f\u00f6r att klicka och flytta", yes:"ja","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Avsluta fullsk\u00e4rmen",no:"Nej","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.","cookies-notice":"Denna webbsida anv\u00e4nder cookies f\u00f6r att samla in anv\u00e4ndningsstatistik. F\u00f6r mer information, bes\u00f6k Cookie Policy.", "use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Avvisa","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"Aktivera ljud och video?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.", downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Aktivera video?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Ange fullsk\u00e4rm","use-cardboard-v2":"Use Cardboard v2",unmute:"Aktivera ljud","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Aktivera ljud?"},"tr-tr":{mute:"Sesi devre d\u0131s\u0131 b\u0131rakmak","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"Download Tour for offline playing", "change-to-drag-and-release":"S\u00fcr\u00fckleyip b\u0131rakmak i\u00e7in kontrol modunu de\u011fi\u015ftirin",accept:"Kabul etmek",download:"Download","storage-not-provided-bookmark":"Persistent storage denied. Try bookmarking this webpage and reloading it.","dont-display-again":"Don't display this info again","web-server-required":"This virtual tour cannot be played from a local drive. Please upload it to the internet and try again.\nIf you prefer, drag the htm file (or the entire folder of the tour) onto the icon of the TourViewer app.", cancel:"Cancel","change-to-click-and-move":"T\u0131klamak ve ta\u015f\u0131mak i\u00e7in kontrol modunu de\u011fi\u015ftirin",yes:"evet","delete-downloaded":"Delete","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"Tam ekrandan \u00e7\u0131k",no:"hay\u0131r","download-failed":"Download failed","giroscope-disabled-http":"You are accessing this webpage through http so your device's motion and orientation access and VR mode are disabled, please access it through https to enable them.", "cookies-notice":"Bu web sayfas\u0131, kullan\u0131m istatistiklerini toplamak i\u00e7in tan\u0131mlama bilgileri kullan\u0131r. Daha fazla bilgi i\u00e7in l\u00fctfen \u00c7erez Politikas\u0131n\u0131 ziyaret edin.","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR",reject:"Reddet","disable-measure":"Stop measuring",downloading:"Downloading","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.", "enable-video-audio-prompt":"Ses ve video etkinle\u015ftirilsin mi?","storage-not-provided-launch-from-desktop":"Please relaunch the tour from the desktop icon to download.",downloaded:"This tour is downloaded for offline playing.","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.","samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.", "enable-video-prompt":"Video aktif edilsin mi?","giroscope-disabled-safari-request-permission":["Your device's motion and orientation access and VR mode are disabled for this site.","To properly see this webpage, please click continue and accept the permission request if prompted."],"storage-not-provided-launch-from-homescreen":"Please relaunch the tour from the home screen icon to download.","enter-fullscreen":"Tam ekran yap","use-cardboard-v2":"Use Cardboard v2",unmute:"Sesi etkinle\u015ftir","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"Refresh","use-default-cardboard":"Use Default","enable-audio-prompt":"Ses aktif edilsin mi?"},"uk-ua":{mute:"\u0412\u0438\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","cardboard-v1":"\u042f\u043a\u0449\u043e \u0432\u0438 \u043d\u0435 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u044f\u043a\u0443 \u0432\u0435\u0440\u0441\u0456\u044e Cardboard \u0432\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u0435, \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0443 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c. \u041f\u043e\u0442\u0456\u043c \u0432\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0435\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043f\u043e\u0447\u0435\u043a\u0430\u0439\u0442\u0435, \u0434\u043e\u043a\u0438 \u0434\u0456\u044f \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f.", "download-tour":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0442\u0443\u0440 \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456","change-to-drag-and-release":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0456 \u0432\u0456\u0434\u043f\u0443\u0441\u0442\u0456\u0442\u044c", accept:"\u041f\u0440\u0438\u0439\u043c\u0456\u0442\u044c",cancel:"\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438","storage-not-provided-bookmark":"\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u043d\u043d\u044f \u0437\u0430\u0431\u043e\u0440\u043e\u043d\u0435\u043d\u043e. \u0421\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0432 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0442\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0457\u0457.", "dont-display-again":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u0443\u0439\u0442\u0435 \u0446\u044e \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044e \u0437\u043d\u043e\u0432\u0443","web-server-required":"\u0426\u0435\u0439 \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0438\u0439 \u0442\u0443\u0440 \u043d\u0435 \u043c\u043e\u0436\u043d\u0430 \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0442\u0435 \u0439\u043e\u0433\u043e \u0432 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0456 \u043f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c \u0441\u043f\u0440\u043e\u0431\u0443.\n\u042f\u043a\u0449\u043e \u0431\u0430\u0436\u0430\u0454\u0442\u0435, \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u0444\u0430\u0439\u043b htm (\u0430\u0431\u043e \u0432\u0441\u044e \u043f\u0430\u043f\u043a\u0443 \u0442\u0443\u0440\u0443) \u043d\u0430 \u043f\u0456\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0438 TourViewer.", download:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","change-to-click-and-move":"\u0417\u043c\u0456\u043d\u0456\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043d\u0430 \u041a\u043b\u0430\u0446\u043d\u0456\u0442\u044c \u0456 \u043f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c",yes:"\u0442\u0430\u043a","delete-downloaded":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","use-safari-for-vr":"\u041c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0454\u043c\u043e Safari \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0442\u0443\u0440\u0443 \u0432 \u0440\u0435\u0436\u0438\u043c\u0456 VR", "exit-fullscreen":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0443",no:"\u043d\u0456","download-failed":"\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438","giroscope-disabled-http":"\u0412\u0438 \u043e\u0442\u0440\u0438\u043c\u0443\u0454\u0442\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0446\u0456\u0454\u0457 \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 http, \u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e \u0442\u0430 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e. \u0429\u043e\u0431 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0457\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0434\u043e \u043d\u0438\u0445 \u0447\u0435\u0440\u0435\u0437 https.", "cookies-notice":"\u0426\u044f \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454 \u0444\u0430\u0439\u043b\u0438 cookie \u0434\u043b\u044f \u0437\u0431\u043e\u0440\u0443 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f. \u0414\u043b\u044f \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f \u0434\u043e\u0434\u0430\u0442\u043a\u043e\u0432\u043e\u0457 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0432\u0456\u0434\u0432\u0456\u0434\u0430\u0439\u0442\u0435 \u041f\u043e\u043b\u0456\u0442\u0438\u043a\u0443 \u0449\u043e\u0434\u043e \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0456\u0432 cookie.", "use-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard","launch-default-browser":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0456 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","rotate-device":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u043e\u0432\u0435\u0440\u043d\u0456\u0442\u044c \u0441\u0432\u0456\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439", "exit-vr":"\u0412\u0438\u0439\u0434\u0456\u0442\u044c \u0456\u0437 VR","storage-not-provided-launch-from-desktop":"\u0429\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u043e\u0433\u043b\u044f\u0434 \u0456\u0437 \u0437\u043d\u0430\u0447\u043a\u0430 \u043d\u0430 \u0440\u043e\u0431\u043e\u0447\u043e\u043c\u0443 \u0441\u0442\u043e\u043b\u0456.","disable-measure":"\u041f\u0440\u0438\u043f\u0438\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u043d\u043d\u044f", downloading:"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f","cardboard-v2":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Cardboard v2, \u044f\u043a\u0430 \u043f\u043e\u0441\u0442\u0430\u0447\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043a\u043d\u043e\u043f\u043a\u043e\u044e, \u0432\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0438\u0432\u0438\u0442\u0438\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0443 \u0442\u0430 \u043d\u0430\u0442\u0438\u0441\u043d\u0443\u0442\u0438 \u043a\u043d\u043e\u043f\u043a\u0443, \u0449\u043e\u0431 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0457\u0457.", "enable-video-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e \u0442\u0430 \u0430\u0443\u0434\u0456\u043e?",reject:"\u0412\u0456\u0434\u0445\u0438\u043b\u0438\u0442\u0438",downloaded:"\u0426\u0435\u0439 \u0442\u0443\u0440 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043e \u0434\u043b\u044f \u0432\u0456\u0434\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0432 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u043c\u0443 \u0440\u0435\u0436\u0438\u043c\u0456.", "samsung-internet-vr-app-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f VR, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0437\u0440\u043e\u0431\u0438\u0442\u0438 Samsung Internet \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c.", "samsung-internet-vr-info":"\u042f\u043a\u0449\u043e \u0443 \u0432\u0430\u0441 \u0454 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0430 Gear VR, \u0441\u0443\u043c\u0456\u0441\u043d\u0430 \u0437 \u0446\u0438\u043c \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u0454\u043c, \u0456 \u0432\u0438 \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Samsung Internet \u0434\u043b\u044f \u0432\u0456\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0457 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0456, \u0432\u0438 \u0442\u0430\u043a\u043e\u0436 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0457\u0457 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR, \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u0440\u0430\u0437 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u043f\u0456\u0434\u2019\u0454\u0434\u043d\u0430\u0442\u0438 \u043c\u043e\u0431\u0456\u043b\u044c\u043d\u0438\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0438.", "enable-video-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0432\u0456\u0434\u0435\u043e?","giroscope-disabled-safari-request-permission":["\u0414\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0440\u0443\u0445\u0443 \u0442\u0430 \u043e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u0457 \u0432\u0430\u0448\u043e\u0433\u043e \u043f\u0440\u0438\u0441\u0442\u0440\u043e\u044e, \u0430 \u0442\u0430\u043a\u043e\u0436 \u0440\u0435\u0436\u0438\u043c VR \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e \u0434\u043b\u044f \u0446\u044c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0443.", "\u0429\u043e\u0431 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0446\u044e \u0432\u0435\u0431-\u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443, \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u00ab\u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438\u00bb \u0442\u0430 \u043f\u0440\u0438\u0439\u043c\u0456\u0442\u044c \u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u0434\u043e\u0437\u0432\u0456\u043b, \u044f\u043a\u0449\u043e \u0437\u2019\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0437\u0430\u043f\u0438\u0442."], "storage-not-provided-launch-from-homescreen":"\u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0442\u0443\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u043a\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0433\u043e \u0435\u043a\u0440\u0430\u043d\u0430, \u0449\u043e\u0431 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438.","enter-fullscreen":"\u041f\u0435\u0440\u0435\u0439\u0434\u0456\u0442\u044c \u0443 \u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", "use-cardboard-v2":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Cardboard v2",unmute:"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0437\u0432\u0443\u043a","enter-vr":"\u041e\u0431\u0435\u0440\u0456\u0442\u044c \u0432\u043c\u0456\u0441\u0442 VR","enable-measure":"\u041f\u043e\u0447\u043d\u0456\u0442\u044c \u0432\u0438\u043c\u0456\u0440\u044e\u0432\u0430\u0442\u0438","use-cardboard-info":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0431\u0443\u0434\u044c-\u044f\u043a\u0443 \u0441\u0443\u043c\u0456\u0441\u043d\u0443 \u0433\u0430\u0440\u043d\u0456\u0442\u0443\u0440\u0443 Google Cardboard \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0443 \u0446\u044c\u043e\u0433\u043e \u0432\u043c\u0456\u0441\u0442\u0443 \u0443 VR.", "refresh-downloaded":"\u041e\u043d\u043e\u0432\u0438\u0442\u0438","use-default-cardboard":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","enable-audio-prompt":"\u0423\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0430\u0443\u0434\u0456\u043e?"},"zh-cn":{mute:"\u9759\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.", "download-tour":"\u4e0b\u8f7d\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e","change-to-drag-and-release":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u62d6\u653e\u201d",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88c5\u7f6e\u5185\u6c38\u4e45\u5b58\u50a8\u88ab\u62d2\u7edd\u3002\u5c1d\u8bd5\u5c06\u6b64\u7f51\u9875\u6dfb\u52a0\u4e3a\u4e66\u7b7e\uff0c \u5e76\u91cd\u65b0\u52a0\u8f7d\u3002","dont-display-again":"\u4e0d\u518d\u663e\u793a\u6b64\u4fe1\u606f", "web-server-required":"\u6b64\u5168\u666f\u6f2b\u6e38\u65e0\u6cd5\u4ece\u672c\u5730\u9a71\u52a8\u5668\u4e0a\u64ad\u653e\u3002 \u8bf7\u5c06\u5176\u4e0a\u4f20\u5230\u4e92\u8054\u7f51\u670d\u52a1\u5668\uff0c\u7136\u540e\u91cd\u8bd5\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9884\u89c8\uff0c\u53ef\u4ee5\u5c06htm\u6587\u4ef6\uff08\u6216\u5168\u666f\u6f2b\u6e38\u7684\u6574\u4e2a\u6587\u4ef6\u5939\uff09\u62d6\u5230TourViewer\u5e94\u7528\u7a0b\u5e8f\u7684\u56fe\u6807\u4e0a\u3002",download:"\u4e0b\u8f7d", "change-to-click-and-move":"\u5c06\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u4e3a\u201c\u5355\u51fb\u5e76\u79fb\u52a8\u201d",yes:"\u662f","delete-downloaded":"\u5220\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u5c4f",no:"\u5426","download-failed":"\u4e0b\u8f7d\u5931\u8d25","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u8fc7http(\u672a\u52a0\u5bc6)\u8bbf\u95ee\u6b64\u7f51\u9875\uff0c\u56e0\u6b64\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8bf7\u901a\u8fc7https(\u52a0\u5bc6)\u5bf9\u5176\u8fdb\u884c\u542f\u7528\u3002", "cookies-notice":"\u8be5\u7f51\u9875\u4f7f\u7528cookie\u6765\u6536\u96c6\u4f7f\u7528\u60c5\u51b5\u7edf\u8ba1\u4fe1\u606f\u3002 \u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95eeCookie\u653f\u7b56\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8bf7\u4ece\u684c\u9762\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002", "disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f7d","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u542f\u7528\u89c6\u9891\u548c\u97f3\u9891\uff1f",reject:"\u62d2\u7edd",downloaded:"\u6b64\u5168\u666f\u6f2b\u6e38\u5df2\u4e0b\u8f7d\uff0c\u53ef\u8fdb\u884c\u79bb\u7ebf\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u542f\u7528\u89c6\u9891\uff1f","giroscope-disabled-safari-request-permission":["\u8be5\u7ad9\u70b9\u5df2\u7981\u7528\u8bbe\u5907\u7684\u8fd0\u52a8\u548c\u65b9\u5411\u8bbf\u95ee\u6743\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002", "\u8981\u6b63\u786e\u67e5\u770b\u6b64\u7f51\u9875\uff0c\u8bf7\u5355\u51fb\u7ee7\u7eed\uff0c\u5e76\u5728\u51fa\u73b0\u63d0\u793a\u65f6\u63a5\u53d7\u8bb8\u53ef\u8bf7\u6c42"],"storage-not-provided-launch-from-homescreen":"\u8bf7\u4ece\u4e3b\u5c4f\u5e55\u70b9\u51fb\u56fe\u6807\uff0c\u91cd\u65b0\u542f\u52a8\u5168\u666f\u6f2b\u6e38\uff0c\u4ee5\u8fdb\u884c\u4e0b\u8f7d\u3002","enter-fullscreen":"\u8fdb\u5165\u5168\u5c4f","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u9759\u97f3","enter-vr":"Enter VR content", "enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u5237\u65b0","use-default-cardboard":"Use Default","enable-audio-prompt":"\u542f\u7528\u97f3\u9891\uff1f"},"zh-tw":{mute:"\u975c\u97f3","cardboard-v1":"If you are not sure, which Cardboard version you're using, select the default hotspot control. You'll then simply gaze at a hotspot and wait until the action is triggered.","download-tour":"\u4e0b\u8f09\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u96e2\u7dda\u64ad\u653e", "change-to-drag-and-release":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u62d6\u653e\u6a21\u5f0f\u201c",accept:"\u63a5\u53d7",cancel:"\u53d6\u6d88","storage-not-provided-bookmark":"\u88dd\u7f6e\u5167\u6c38\u4e45\u5b58\u5132\u88ab\u62d2\u7d55\u3002\u8acb\u5617\u8a66\u5c07\u6b64\u7db2\u9801\u65b0\u589e\u70ba\u66f8\u7c64\uff0c\u4e26\u91cd\u65b0\u8f09\u5165\u3002","dont-display-again":"\u4e0d\u518d\u986f\u793a\u672c\u8a0a\u606f","web-server-required":"\u672c\u865b\u64ec\u5c0e\u89bd\u7121\u6cd5\u5728\u672c\u5730\u96fb\u8166\u4e0a\u64ad\u653e\u3002 \u8acb\u5c07\u5176\u4e0a\u50b3\u5230\u7db2\u969b\u7db2\u8def\u4f3a\u670d\u5668\uff0c\u7136\u5f8c\u91cd\u8a66\u3002\n\u5982\u679c\u9700\u8981\u672c\u5730\u9810\u89bd\uff0c\u8acb\u5c07htm\u6a94\u6848\uff08\u6216\u865b\u64ec\u5c0e\u89bd\u7684\u6574\u500b\u8cc7\u6599\u593e\uff09\u62d6\u653e\u5230TourViewer\u61c9\u7528\u7a0b\u793a\u7684\u5716\u793a\u4e0a\u3002", download:"\u4e0b\u8f09","change-to-click-and-move":"\u5c07\u63a7\u5236\u6a21\u5f0f\u66f4\u6539\u70ba\u201c\u9ede\u64ca\u4e26\u79fb\u52d5\u201d",yes:"\u662f","delete-downloaded":"\u522a\u9664","use-safari-for-vr":"We recommend Safari to view this tour in VR mode","exit-fullscreen":"\u9000\u51fa\u5168\u87a2\u5e55",no:"\u5426","download-failed":"\u4e0b\u8f09\u5931\u6557","giroscope-disabled-http":"\u60a8\u6b63\u5728\u901a\u904ehttp(\u672a\u52a0\u5bc6)\u700f\u89bd\u672c\u7db2\u9801\uff0c\u56e0\u6b64\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0c\u4ee5\u53caVR\u6a21\u5f0f\u5747\u5df2\u7981\u7528\uff0c\u8acb\u53e6\u901a\u904ehttps(\u52a0\u5bc6)\u7db2\u5740\u5c0d\u5176\u9032\u884c\u555f\u7528\u3002", "cookies-notice":"\u8a72\u7db2\u9801\u4f7f\u7528cookie\u4f86\u6536\u96c6\u4f7f\u7528\u60c5\u6cc1\u7d71\u8a08\u4fe1\u606f\u3002 \u6709\u95dc\u66f4\u591a\u4fe1\u606f\uff0c\u8acb\u8a2a\u554f Cookie\u653f\u7b56\u3002","use-cardboard":"Use Cardboard","launch-default-browser":"Launch in default browser","rotate-device":"Please rotate your device","exit-vr":"Exit VR","storage-not-provided-launch-from-desktop":"\u8acb\u5f9e\u684c\u9762\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002", "disable-measure":"Stop measuring",downloading:"\u6b63\u5728\u4e0b\u8f09","cardboard-v2":"If you have a Cardboard v2 headset, which comes with a button, you can gaze at a hotspot and press the button to trigger its action.","enable-video-audio-prompt":"\u5141\u8a31\u5f71\u7247\u53ca\u8072\u97f3\u64ad\u653e?",reject:"\u62d2\u7d55",downloaded:"\u865b\u64ec\u5c0e\u89bd\u5df2\u4e0b\u8f09\uff0c\u53ef\u9032\u884c\u96e2\u7dda\u64ad\u653e\u3002","samsung-internet-vr-app-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you need to make Samsung Internet your default browser.", "samsung-internet-vr-info":"If you have a Gear VR headset compatible with this device and you have installed Samsung Internet for VR you can also use it to view this content in VR, you just need to put the mobile phone on the headset now.","enable-video-prompt":"\u5141\u8a31\u5f71\u7247\u64ad\u653e?","giroscope-disabled-safari-request-permission":["\u8a72\u7db2\u7ad9\u5df2\u7981\u7528\u60a8\u8a2d\u5099\u7684\u904b\u52d5\u548c\u65b9\u5411\u53d6\u7528\u6b0a\u9650\uff0cVR\u6a21\u5f0f\u4e5f\u88ab\u7981\u7528\u3002", "\u8981\u6b63\u78ba\u67e5\u770b\u672c\u7db2\u9801\uff0c\u8acb\u55ae\u64ca\u7e7c\u7e8c\uff0c\u4e26\u5728\u51fa\u73fe\u63d0\u793a\u6642\u63a5\u53d7\u8a31\u53ef\u8acb\u6c42\u3002"],"storage-not-provided-launch-from-homescreen":"\u8acb\u4e3b\u9801\u9762\u87a2\u5e55\u9ede\u64ca\u5716\u793a\uff0c\u91cd\u65b0\u555f\u52d5\u865b\u64ec\u5c0e\u89bd\uff0c\u4ee5\u9032\u884c\u4e0b\u8f09\u3002","enter-fullscreen":"\u9032\u5165\u5168\u87a2\u5e55","use-cardboard-v2":"Use Cardboard v2",unmute:"\u53d6\u6d88\u975c\u97f3", "enter-vr":"Enter VR content","enable-measure":"Start measuring","use-cardboard-info":"You can use any compatible Google Cardboard headset to view this content in VR.","refresh-downloaded":"\u91cd\u65b0\u6574\u7406","use-default-cardboard":"Use Default","enable-audio-prompt":"\u5141\u8a31\u8072\u97f3\u64ad\u653e?"}}}); define("lk",["require","fg","gt","jt"],function(a){function b(a){return e[j][a]||e.en[a]||a}var c=a("fg"),e=a("gt"),g=a("jt"),d;for(d in e)e[d.substr(0,2)]=e[d];e.en["giroscope-disabled-safari-toggle-on"]='
Your device\'s motion and orientation access and VR mode are disabled for this site.
\n
To properly see this webpage, please enable it:
\n
    \n
  • Access you device\'s settings: "Settings > Safari > Privacy & Security" and toggle on: "Motion & Orientation Access".
  • \n
  • Refresh the browser.
  • \n
'; e["zh-hk"]=e["zh-mo"]=e["zh-tw"];e.no=e.nn;var f=function(){var a=window.navigator,b=["language","browserLanguage","systemLanguage","userLanguage"],d,c,f=[];(d=g.Jn("language"))&&f.push(d.toLowerCase());var h=a.languages;if(Array.isArray(h))for(d=0;d0&&a<1&&this.n$();if(this.dr){this.dr.gain.value=a;this.t.volume=1}else this.t.volume=a;this.t.muted=a==0}};b.prototype.ir=function(){var a=this.t.currentSrc||this.t.children.length&&this.t.children[0].src||"";g.dw(a)&&(a=m);return a};return b});define("ga",["require"],function(){return{Ni:"video",sfa:"audio"}}); define("kg","require,fg,ll,fu,ge,bZ,eO,r,jt,gx,fx".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("ge"),d=a("bZ"),f=a("eO"),h=a("r"),j=a("jt"),p=a("gx"),k=a("fx"),l=b.extend(f,function(a){f.call(this);this.t=a;this.Iu=this.Iu.bind(this);this.Yo=this.Yo.bind(this);this.gi=this.gi.bind(this);this.Mu=this.Mu.bind(this);this.Qg=this.Qg.bind(this);this.hi=this.hi.bind(this);this.Vf=this.Vf.bind(this);this.Tm=this.Tm.bind(this);this.qE=this.qE.bind(this);this.t.addEventListener("ended",this.gi, n);this.t.addEventListener("pause",this.hi,y);this.t.addEventListener("stalled",this.hi,y);this.t.addEventListener("waiting",this.hi,y);this.t.addEventListener("canplay",this.Iu,n);this.t.addEventListener("canplaythrough",this.Yo,y);this.t.addEventListener("loadedmetadata",this.Qg,n);this.t.addEventListener("play",this.Vf,y);this.t.addEventListener("playing",this.Tm,y);this.t.addEventListener("error",this.Mu,y);this.GR=y;this.m=e.H;this.sy=this.Ff=r;k.bind(c.aa,this.Ota,this)});l.prototype.clear= function(){if(this.t){this.t.removeEventListener("ended",this.gi,n);this.t.removeEventListener("pause",this.hi,y);this.t.removeEventListener("stalled",this.hi,y);this.t.removeEventListener("waiting",this.hi,y);this.t.removeEventListener("canplay",this.Iu,n);this.t.removeEventListener("canplaythrough",this.Yo,y);this.t.removeEventListener("loadedmetadata",this.Qg,n);this.t.removeEventListener("play",this.Vf,y);this.t.removeEventListener("error",this.Mu,y);this.t=r}};l.prototype.play=function(){this.t.log("PlaybackController", "play");this.sy=e.P;this.nD()};l.prototype.stop=function(){this.t.log("PlaybackController","stop");this.sy=e.H;this.nD()};l.prototype.Qe=function(){return this.Ff||this.m};l.prototype.aw=function(){return this.t.readyState==this.t.HAVE_NOTHING||this.t.readyState==this.t.HAVE_METADATA||this.t.currentTime===0?y:n};l.prototype.nD=function(){if(!this.Ff&&this.sy){this.Ff=this.sy;this.sy=r;this.Ff==e.P?this.oW():this.nW()}};l.prototype.Ota=function(){if(k.visible){this.t.log("PlaybackController","visibile changed to true, setting state to "+ this.m);this.Ff=this.m;this.Ff==e.P?this.oW():this.nW()}else if(!this.t.paused){this.t.log("PlaybackController","paused by visibile changed to false");var a=this.t.pause();a&&a["catch"](this.Mu)}};l.prototype.ir=function(){return this.t.currentSrc||this.t.children.length&&this.t.children[0].src||""};l.prototype.oW=function(){var a=this.ir();this.TK(a&&!j.dw(a));this.aH=h.browser()==h.If;if(this.t.paused){this.t.log("PlaybackController","startPlaying calling play");this.t.muted=n;this.t.log("PlaybackController", "this._media.play()");(a=this.t.play())&&a["catch"](this.Mu)}else{this.t.log("PlaybackController","startPlaying already playing");this.Vf()}};l.prototype.Tm=function(){this.t.log("PlaybackController","onPlaying event received. Visible: "+k.visible)};l.prototype.Vf=function(){if(this.Ff==e.P){this.t.log("PlaybackController","onPlay event received when waiting to play");this.Ff=r;this.m=e.P;this.trigger(new d(l.EO));this.nD()}else this.t.log("PlaybackController","onPlay event received. Visible: "+k.visible)}; l.prototype.nW=function(){this.TK(y);this.aH=y;if(this.t.paused){this.t.log("PlaybackController","startPausing already paused");this.hi()}else{this.t.log("PlaybackController","startPausing calling pause");var a=this.t.pause();a&&a["catch"](this.Mu)}};l.prototype.hi=function(){if(this.Ff==e.H){this.t.log("PlaybackController","onPause event received when waiting to stop");this.Ff=r;this.m=e.H;this.nD()}else if(k.visible){this.t.log("PlaybackController","onPause event received without calling to pause"); (this.m==e.P&&!this.Ff||this.Ff==e.P)&&!this.t.hasAttribute("loop")&&!isNaN(this.t.duration)&&this.t.currentTime==this.t.duration&&this.t.duration>0&&this.gi();this.qE()}else this.t.log("PlaybackController","onPause event received when not visible")};l.prototype.Iu=function(){this.t.log("PlaybackController","on can play");this.qE()};l.prototype.Yo=function(){this.t.log("PlaybackController","can play through");this.qE();this.TK(y)};l.prototype.qE=function(){if(this.r$()){if(this.aH&&this.t.currentTime== 0){this.t.log("PlaybackController","updatePlaying applying ios hack");this.aH=y;try{this.t.currentTime=0.3}catch(a){}}h.browser()!=h.Ew&&this.w9()}};l.prototype.r$=function(){return this.m==e.P&&k.visible&&this.t.paused&&this.t.readyState>=3};l.prototype.w9=function(a){if(!this.x9)if(a){if(this.r$()){this.t.log("PlaybackController","updatePlaying retrying play");this.Ff=e.P;this.oW()}}else this.x9=setTimeout(function(){this.x9=r;this.w9(n)}.bind(this),500)};l.prototype.Mu=function(){if(this.Ff==e.P){this.t.log("PlaybackController", "onError waiting to play");this.Ff=r;this.sy?this.nD():h.browser()==h.If?this.trigger(new d(l.kO)):this.Ff=e.P}};l.prototype.Qg=function(){this.t.log("PlaybackController","on loaded metadata");!isNaN(this.t.duration)&&this.t.currentTime==this.t.duration&&this.t.duration>0&&this.gi()};l.prototype.gi=function(){this.t.log("PlaybackController","onEnded");this.aH=y;if(this.m==e.P&&!this.Ff||this.Ff==e.H){this.t.log("PlaybackController","onEnded finalizing video");this.TK(y);this.Ff=e.H;this.nW();this.trigger(new d(l.Pj))}}; l.prototype.TK=function(a){if(this.GR!=a){this.t.log("PlaybackController","downloading changed to: "+a);(this.GR=a)?p.Dza(g.l0):p.Cza(g.l0)}};l.kO="deactivated";l.Pj="end";l.EO="play";return l}); define("x",["require","fg","ll","bZ","eO"],function(a){var b=a("fg"),c=a("ll");a("bZ");var e=a("eO"),a=b.extend(e,function(a){e.call(this);this.Qg=this.Qg.bind(this);this.gU=this.gU.bind(this);this.Uf=this.Uf.bind(this);this.t=a;this.Ch=r;this.Nc=[];this.t.addEventListener("loadedmetadata",this.Qg,n);this.t.textTracks.addEventListener("addtrack",this.gU,y)});a.prototype.set=function(a){a&&this.pha(a)};a.prototype.clear=function(){this.Wpa()};a.prototype.aF=function(){var a=this.Ch&&this.Ch.track.activeCues; a&&(a=Array.prototype.slice.call(a,0));return a||[]};a.prototype.Qg=function(){this.Qaa()};a.prototype.gU=function(){this.Qaa()};a.prototype.Uf=function(){this.N9(this.Ch.track.activeCues)};a.prototype.N9=function(a){a||(a=[]);0==this.Nc.length&&0==a.length||(this.Nc=Array.prototype.slice.call(a),this.trigger(c.Jf,this.Nc))};a.prototype.pha=function(a){this.t.log("TextTracksController","add text track src: "+a);this.Ch=document.createElement("track");this.Ch.kind="subtitles";this.Ch.src=a;this.t.appendChild(this.Ch)}; a.prototype.Wpa=function(){this.Ch&&(this.t.log("TextTracksController","remove text track"),this.Ch.track.removeEventListener("cuechange",this.Uf),this.Ch.track.mode="disabled",this.Ch.src="",this.t.removeChild(this.Ch),this.Ch=r,this.N9([]))};a.prototype.Qaa=function(){for(var a=0;a=this.t.HAVE_ENOUGH_DATA&&this.iy!==m){this.t.log("TimeController","updateCurrentTime when can play through set time to: "+this.iy);try{this.t.currentTime=this.iy}catch(a){}this.iy=m}};f.prototype.hd=function(){this.trigger(new c(f.Nd))};f.prototype.PJ=function(){if(g.fY()&&!g.Mca()&&!this.t.paused&&this.t.readyState>= this.t.HAVE_ENOUGH_DATA){var a=(new Date).getTime();this.$I||(this.$I=a);if(this.HT&&a-this.HT>500){this.FW++;this.FW/((a-this.$I)*0.001)>0.4&&g.fza()}this.HT=a}if(this.$G!==m&&this.t.currentTime>this.$G){this.$G=m;try{this.t.currentTime=this.t.currentTime-0.01}catch(b){}}this.hd()};f.prototype.$V=function(a){if(!!this.qv!=a)if(this.qv){clearInterval(this.qv);this.qv=r}else this.qv=setInterval(this.hd,16)};f.prototype.ir=function(){return this.t.currentSrc||this.t.children.length&&this.t.children[0].src|| ""};f.Nd="time update";f.cg="duration update";return f}); define("iX","require,jquery.mod,fg,gg,r,jt".split(","),function(a){function b(){}a("jquery.mod");var c=a("fg"),e=a("gg"),g=a("r"),a=a("jt");b.qma=function(){window.MediaSource=window.MediaSource||window.WebKitMediaSource;return window.MediaSource&&typeof window.MediaSource.isTypeSupported==="function"&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')};b.Ama=function(){if(g.browser()==g.If){var a=g.cw();if(a>=10&&a<11||a>=11.3)return n}return y};b.rma=function(){return g.browser()== g.Ji||g.browser()==g.If?n:y};var d;b.xba=function(a){try{d||(d=document.createElement("audio"));return!!d.canPlayType(a).replace(/^no$/,"")}catch(b){}return y};var f;b.lz=function(a){try{if(!f){f=document.createElement("video");f.setAttribute("webkit-playsinline","true");f.setAttribute("playsinline","true")}return!!f.canPlayType(a).replace(/^no$/,"")}catch(b){}return y};b.oua=function(){return g.browser()==g.If?g.cw()>=15||e?n:y:n};b.sma=function(){try{if(document.createElement("canvas").getContext("webgl"))return n}catch(a){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return n}catch(b){}return y}; b.Xea=function(a,b,d){if(g.Rd()==g.Lh)if(!d||d>30){if(a<=3168&&b<=1584)return n}else{if(a<=4096&&b<=2048)return n}else if(g.pda())if(!d||d>30){if(a<=4096&&b<=4096||a<=5760&&b<=5760||a<=5760&&b<=2880||a<=8192&&b<=4096)return n}else{if(a<=5760&&b<=5760||a<=8192&&b<=4096)return n}else if(g.oda())if(!d||d>30){if(a<=2880&&b<=2880||a<=4096&&b<=2048)return n}else{if(a<=3840&&b<=3840||a<=4096&&b<=4096||a<=5760&&b<=2880||a<=2880&&b<=5760)return n}else if(g.Za()){if(a<=3840&&b<=2160)return n}else if(a<=4096&& b<=2048)return n;return y};b.Lza=function(a,d){return b.Xea(a,d,30)};b.log=function(){c.log("webgl: "+b.z_);c.log("html5 audio: "+b.Vca);c.log("html5 video: "+b.Yca)};b.dsa=function(){return["webgl:"+b.z_,"html5audio:"+b.Vca,"html5video:"+b.Yca].join(" ")};b.Xca=b.xba('audio/ogg; codecs="vorbis"');b.Wca=b.xba("audio/mpeg");b.Vca=b.Xca||b.Wca;b.SY=b.lz('video/ogg; codecs="theora"');b.qBa=b.lz('video/mp4; codecs="avc1.42E01E"');b.TY=b.lz('video/webm; codecs="vp8, vorbis"');b.owa=b.lz('video/mp4; codecs="hev1"'); b.TM=b.lz("video/mp4");b.pwa=b.lz("video/quicktime");b.Zca=b.Ama();b.Gca=b.rma();b.fwa=b.Gca||b.TM&&b.qma();b.Yca=b.SY||b.TM||b.TY;b.z_=b.sma();a.zg("debug")&&a.zg("capabilities")&&b.log();b.summary=b.dsa();return b}); define("bW",["require","jt"],function(a){function b(){this.cJ=this.JT=r;this.so=[];this.Om=y;this.yr=m}var c=a("jt");b.prototype.mm=function(a,b){this.JT=c.Zs(a);this.cJ=b;this.L()};b.prototype.load=function(a,b){var d={};d.call=a;d.context=b||window;this.so.push(d);this.yr||(this.yr=this.c5());this.L()};b.prototype.Sp=function(){return this.yr!==m};b.prototype.L=function(){00};o.prototype.mN=function(a){this.$f=[a].concat(e(this.$f).without(a));this.MU()};o.prototype.YX=function(a){this.$f.push(a);this.MU()};o.prototype.Lz=function(a){this.$f=e(this.$f).without(a);this.MU()};o.prototype.MU= function(){var a=this.Ula();if(o.Pca())for(;this.dn.length0?d.P:d.H);a.forEach(function(a){if(!this.Ala(a)){var d=this.qla(a.pN());!d&&!a.pN()&&this.dn.push(d=new b(new l(q.Ni,y)));d&&d.Wza(a)}}.bind(this));this.rla().forEach(function(a){a.IA.stop()})};o.prototype.Ula=function(){return this.$f.map(function(a,b){var d={};d.index=b;d.Td=a.MY();d.item=a;return d}).sort(function(a, b){return a.Td-b.Td||a.index-b.index}).map(function(a){return a.item})};o.prototype.Zb=function(a){if(this.m!=a){this.m=a;this.trigger(new f(this.m==d.H?g.pe:g.lh))}};o.prototype.qla=function(a){var b=this.dn.filter(function(a){return a.aZ()});if(b.length){if(a){a=b.filter(function(a){return a.ZM()});a.length||(a=b.filter(function(a){return a.NN()}))}else{a=b.filter(function(a){return!a.NN()});a.length||(a=b.filter(function(a){return!a.ZM()}))}a.length&&(b=a);if(p.browser()==p.Ji){b.sort(function(a, b){return b.xu-a.xu});return b[Math.min(2,b.length-1)]}return b[0]}return r};o.prototype.rla=function(){return this.dn.filter(function(a){return a.aZ()})};o.prototype.n5=function(){return this.dn.filter(function(a){return!a.aZ()})};o.prototype.Ala=function(a){for(var b=0;b= 0;o.Pca=function(){return t};o.Fz=function(){return o.Of().Fz()};o.YX=function(a){o.Of().YX(a)};o.mN=function(a){o.Of().mN(a)};o.Lz=function(a){o.Of().Lz(a)};o.vo=function(){if(o.hT===r)o.hT=new o;return o.hT};o.Of=o.vo;o.vo();return o}); define("z","require,fg,bZ,eO,ll,fu,kQ,cQ,ka,ga,bD,V,iX".split(","),function(a){var b=a("fg"),c=a("bZ"),e=a("eO"),g=a("ll"),d=a("fu"),f=a("kQ"),h=a("cQ"),j=a("ka"),p=a("ga"),k=a("bD"),l=a("V"),q=a("iX"),o=b.extend(e,function(a,b,c){e.call(this);this.pa=a;this.j=b;this.mD=c;this.V=r;this.HD();this.zJ=this.zJ.bind(this);this.j.bind(g.D("gain"),this.tC,this,n);this.j.bind(g.D("mp3Url"),this.Fl,this,n);this.j.bind(g.D("oggUrl"),this.Fl,this,n);this.m=d.H;this.fj=y;this.Uq=this.gb=0;this.rd=y;this.dm=1; this.qB=y;this.Lx=1;this.$b=r;this.Cm=[]});o.prototype.Ta=Q("pa");o.prototype.Cc=function(a){if(this.m!=a&&!(a==d.mc&&this.m!=d.P)){this.m=a;if(this.m==d.P){this.Aia();k.mN(this)}else this.Jra();this.QW()}};o.prototype.Jra=function(){if(!this.qB){this.qB=n;this.o4=this.j.get("fadeOutTime");this.o4==0?this.M$():this.zJ(0)}};o.prototype.zJ=function(a){if(!this.$b||this.Lx==0||!this.qB||this.Vma())this.M$();else{this.Lx=Math.max(0,this.Lx-a/this.o4);this.bH();l.Ma(this.zJ)}};o.prototype.Aia=function(){this.qB= y;this.Lx=1;this.bH()};o.prototype.M$=function(){this.qB=y;this.Lx=1;if(this.$b){k.Lz(this);this.m==d.H&&this.ZV()}};o.prototype.Qe=Q("m");o.prototype.Cj=Q("gb");o.prototype.sw=function(a){this.Uq=a;this.$b&&this.$b.play(this.pa,this.V,this.Uq)};o.prototype.yi=Q("Uq");o.prototype.gq=function(a){this.dm=a;this.bH()};o.prototype.bH=function(){this.$b&&this.$b.gq(this.dm*this.Lx)};o.prototype.Ld=function(a){this.rd=a;this.$b&&this.$b.Ld(a)};o.prototype.sm=function(a){this.fj=a;this.$b&&this.$b.sm(a)}; o.prototype.pN=function(){return!this.rd};o.prototype.xd=function(){return p.sfa};o.prototype.MY=Q("mD");o.prototype.nY=function(a){this.$b=a;setTimeout(function(){this.$b&&this.$b.bind(f.Pj,this.sC,this,n)}.bind(this),0);this.HD();this.$b.bind(f.Nd,this.hd,this,n);this.$b.bind(f.cg,this.hj,this,n);this.$b.bind(g.Jf,this.Uf,this,n);this.$b.Ld(this.rd);this.bH();this.$b.sm(this.fj);this.$b.play(this.pa,this.V,this.Uq)};o.prototype.jZ=function(){this.Uq=this.$b.yi();this.$b.unbind(f.Pj,this.sC,this, n);this.$b.unbind(f.Nd,this.hd,this,n);this.$b.unbind(f.cg,this.hj,this,n);this.$b.unbind(g.Jf,this.Uf,this,n);this.$b=r};o.prototype.clear=function(){this.Cc(d.H);if(this.j){this.j.unbind(g.D("gain"),this.tC,this,n);this.j.unbind(g.D("mp3Url"),this.Fl,this,n);this.j.unbind(g.D("oggUrl"),this.Fl,this,n);this.j=r}};o.prototype.Fl=function(){this.bv&&clearTimeout(this.bv);this.bv=setTimeout(function(){this.bv=r;if(this.$b){this.V.src=this.ir(this.j);this.$b.play(this.pa,this.V,this.Uq)}}.bind(this), 10)};o.prototype.tC=function(){if(this.$b){var a=this.j.get("gain");if(this.V.gain!=a){this.V.gain=a;this.$b.JF(this.V.gain)}}};o.prototype.HD=function(){this.V=new j;this.V.src=this.ir(this.j);this.V.Rp=n;this.V.gain=this.j.get("gain")};o.prototype.ir=function(a){var b=a.get("mp3Url");if(b&&q.Wca)return b;return(a=a.get("oggUrl"))&&q.Xca?a:b||a};o.prototype.hj=function(){this.gb=this.$b.Cj();this.NW()};o.prototype.hd=function(){this.gb!=this.$b.Cj()&&this.hj();this.Uq=this.$b.yi();this.iE()};o.prototype.Uf= function(){this.Cm=this.$b.aF().map(function(a){for(var b=r,d=0;d 0){f=new b(f[0],h,e,g,b.watch(r,f.slice(1),h,e,g));f.AV(a);return f}return r};return b}); define("lB",["jquery.mod","fg","ll","d"],function(a,b,c,e){var g=b.extend(e,function(){e.call(this);this.Tc("DropDownArrow");this.u=r;this.uo=n;this.bind(c.zb,this.rka,this)});g.prototype.za=function(){e.prototype.za.call(this);this.f("color","#000000");this.f("direction",g.dO)};g.prototype.rka=function(){this.uo=n;this.Dc()};g.prototype.Ga=function(){e.prototype.Ga.call(this);this.u||(this.u=a(""),this.u.css({position:"absolute",left:0,top:0}),this.Ra().append(this.u))};g.prototype.ka=function(){var a= y;this.n("color")&&(a=n,this.q("color"));this.n("direction")&&(a=n,this.q("direction"));this.uo&&(a=n,this.uo=y);if(a){var a=this.Jd(),b=this.Id(),c=this.k("color"),j=this.k("direction"),p=[0.5*a,0,a],j=j==g.dO?[b,0,0]:[0,b,b],k=this.u.get(0);k.width=a;k.height=b;k=k.getContext("2d");k.clearRect(0,0,a,b);k.beginPath();k.moveTo(p[0],j[0]);k.lineTo(p[1],j[1]);k.lineTo(p[2],j[2]);k.fillStyle=c;k.fill()}e.prototype.ka.call(this)};g.dO="down";g.gAa="up";return g}); define("fQ","fg,bZ,jY,R,ll,c,fm,kS,lB,gP".split(","),function(a,b,c,e,g,d,f,h,j,p){a=a.extend(h,function(){h.call(this);this.Tc("DropDownButton");this.Bq=this.sa=r;this.DT=n;this.set("autoRolledOver",n);this.set("autoPressed",n);this.set("childrenInteractionEnabled",y);this.set("contentOpaque",n);this.set("cursor",e.Ue);this.bind(g.U,this.LR,this)});a.prototype.za=function(){h.prototype.za.call(this);this.f("arrowColor","#000000");this.f("arrowBeforeLabel");this.f("arrowWidth",9);this.f("arrowHeight", 5);this.f("arrowGap",5);this.f("shadow",y);this.f("layout",d.Be);this.f("verticalAlign",c.vc);this.f("borderRadius",5);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("backgroundColor",["#FAFAFA","#E5E5E5"]);this.f("backgroundColorRatios",[0,1]);this.f("backgroundColorDirection","vertical");this.f("paddingLeft",5);this.f("paddingTop",5);this.f("paddingRight",5);this.f("paddingBottom",5);this.f("fontFamily");this.f("fontSize");this.f("fontColor","#555555");this.f("fontWeight");this.f("fontStyle"); this.f("textDecoration");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowVerticalLength");this.f("textShadowBlurRadius");this.f("textShadowOpacity");this.h("rollOverBorderColor",f.v,"borderColor");this.h("rollOverArrowColor",f.v,"arrowColor");this.h("rollOverBackgroundColor",f.v,"backgroundColor");this.h("rollOverBackgroundColorRatios",f.v,"backgroundColorRatios");this.h("rollOverShadow",f.v,"shadow");this.h("pressedBorderColor",f.Ca,"borderColor");this.h("pressedArrowColor", f.Ca,"arrowColor");this.h("pressedBackgroundColor",f.Ca,"backgroundColor");this.h("pressedBackgroundColorRatios",f.Ca,"backgroundColorRatios");this.h("pressedShadow",f.Ca,"shadow");this.h("pressedRollOverBorderColor",f.$a,"borderColor");this.h("pressedRollOverArrowColor",f.$a,"arrowColor");this.h("pressedRollOverBackgroundColor",f.$a,"backgroundColor");this.h("pressedRollOverBackgroundColorRatios",f.$a,"backgroundColorRatios");this.h("pressedRollOverShadow",f.$a,"shadow");this.h("pressedBorderColor", f.G,"borderColor");this.h("pressedArrowColor",f.G,"arrowColor");this.h("pressedBackgroundColor",f.G,"backgroundColor");this.h("pressedBackgroundColorRatios",f.G,"backgroundColorRatios");this.h("pressedShadow",f.G,"shadow")};a.prototype.set=function(a,b){if(a=="label"&&this.get("label")!=b){this.DT=n;this.Dc()}h.prototype.set.call(this,a,b)};a.prototype.Ga=function(){h.prototype.Ga.call(this);if(!this.sa){this.sa=new p;this.sa.set("width","100%");this.la(this.sa)}if(!this.Bq){this.Bq=new j;this.Bq.set("direction", j.dO);this.la(this.Bq)}};a.prototype.LR=function(){this.open();this.trigger(new b(g.OPEN))};a.prototype.open=function(){this.unbind(g.U,this.LR,this);this.DD(n)};a.prototype.close=function(){this.bind(g.U,this.LR,this);this.DD(y)};a.prototype.ka=function(){if(this.DT){this.sa.set("text",this.get("label"));this.DT=y}this.ib(["horizontalAlign","fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius", "textShadowOpacity"],{},[this.sa],n,n);if(this.n("arrowGap")){this.set("gap",this.k("arrowGap"));this.q("arrowGap")}if(this.n("arrowColor")){this.Bq.set("color",this.k("arrowColor"));this.q("arrowColor")}if(this.n("arrowBeforeLabel")){this.k("arrowBeforeLabel")==n?this.Hj(this.Bq,0):this.Hj(this.sa,0);this.q("arrowBeforeLabel")}if(this.n("arrowWidth")){this.Bq.set("width",this.k("arrowWidth"));this.q("arrowWidth")}if(this.n("arrowHeight")){this.Bq.set("height",this.k("arrowHeight"));this.q("arrowHeight")}h.prototype.ka.call(this)}; return a});define("fG",["do","fg","kS","c"],function(a,b,c,e){var g=b.extend(c,function(){c.call(this)});g.pb={layout:e.of};a.defaults(g.pb,c.pb);g.prototype.za=function(){this.bk(g.pb)};return g}); define("iQ","require,fg,bZ,jY,R,fV,ll,kS,fG,gP".split(","),function(a){var b=a("fg"),c=a("bZ"),e=a("jY"),g=a("R"),d=a("fV"),f=a("ll"),h=a("kS"),j=a("fG"),p=a("gP"),a=b.extend(h,function(){h.call(this);this.Tc("DropDownPopup");this.yc=r;this.iH=y;this.Fa=r;this.UB=[];this.ns=n});a.prototype.open=function(a){this.yc=a;this.iH=n;this.Ta().Hj(this,this.Ta().Pa().length-1);this.set("overIndex",-1);this.set("visible",n);this.bind(f.Hb,this.pc,this);this.Ta().bind(f.fc,this.v6,this);this.Ta().bind(f.zb, this.lb,this)};a.prototype.close=function(){this.yc=r;this.iH=n;this.set("visible",y);this.Fa.set("overflow",d.yt);this.Fa.set("contentOpaque",n);this.unbind(f.Hb,this.pc,this);this.Ta().unbind(f.fc,this.v6,this);this.Ta().bind(f.zb,this.lb,this)};a.prototype.Ga=function(){h.prototype.Ga.call(this);if(!this.Fa){this.Fa=new j;this.Fa.set("overflow",d.yt);this.Fa.bind(f.zb,this.lb,this);this.Fa.bind(f.bl,this.es,this);this.la(this.Fa)}};a.prototype.lb=function(){this.Kaa()};a.prototype.pc=function(){this.GV= y};a.prototype.es=function(){this.GV=n};a.prototype.v6=function(){this.get("overIndex")==-1&&(!this.GV||!this.ik)&&this.trigger(new c(f.ct));this.GV=y};a.prototype.doa=function(a){this.set("overIndex",this.uS(a.source))};a.prototype.eoa=function(a){a=this.uS(a.source);this.get("overIndex")==a&&this.set("overIndex",-1)};a.prototype.coa=function(a){a=this.uS(a.source);this.set("overIndex",a);this.set("selectedIndex",a);this.trigger(new c(f.Mi))};a.prototype.uS=function(a){for(var b=0;b=w){this.ns=n;this.Fa.set("top",b.top+f+h);this.Fa.set("maxHeight",p)}else{this.ns=y;this.Fa.set("top",b.top-w+h);this.Fa.set("maxHeight",w)}this.Fa.set("overflow",d.bl)}f=x==e.Lc?b.left+Math.round((c- j)*0.5):x==e.Na?b.left+c-j:b.left;f<0?f=b.left:b.left+j>a.Aa()&&(f=b.left+c-j);this.Fa.set("left",f);this.yaa()}};a.prototype.yaa=function(){var a=this.k("popUpBorderRadius");this.Fa.M({borderTopRadius:this.ns?0:a,borderBottomRadius:this.ns?a:0});for(var b=this.Fa.Pa(),d=0;d=0&&b>=d.length&&(b=-1);this.set("selectedIndex",b);this.Sg.set("items",this.k("items"));this.Sg.set("selectedIndex",this.k("selectedIndex"));this.q("items");this.q("selectedIndex");if(this.Dk){this.Dk=y;this.trigger(new c(e.aa))}}if(a){a=this.k("label");if(!a){b=this.k("selectedIndex"); a=b<0?this.k("prompt"):this.k("items")[b]}this.yc.set("label",a)}if(this.w$){this.Sg.set("minWidth",this.yc.Aa());this.Sg.set("buttonWidth",this.yc.Aa())}this.ib(["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","horizontalAlign","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.yc,this.Sg],n,n);this.ib(["popUpBorderRadius","popUpGap","popUpPaddingBottom","popUpPaddingLeft","popUpPaddingRight", "popUpPaddingTop","popUpBackgroundColor","popUpBackgroundOpacity","rollOverPopUpBackgroundColor","selectedPopUpBackgroundColor","popUpFontColor","rollOverPopUpFontColor","selectedPopUpFontColor","popUpShadow","popUpShadowBlurRadius","popUpShadowColor","popUpShadowHorizontalLength","popUpShadowOpacity","popUpShadowSpread","popUpShadowVerticalLength"],{},[this.Sg],n,n);this.ib(["arrowBeforeLabel","arrowWidth","arrowHeight","arrowColor","rollOverArrowColor","pressedArrowColor","pressedRollOverArrowColor", "arrowGap","shadow","shadowBlurRadius","shadowColor","shadowHorizontalLength","shadowOpacity","shadowSpread","shadowVerticalLength","borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","rollOverBorderColor", "pressedBorderColor","pressedRollOverBorderColor","backgroundColor","backgroundColorRatios","backgroundColorDirection","backgroundOpacity","rollOverBackgroundColor","rollOverBackgroundColorRatios","rollOverShadow","pressedBackgroundColor","pressedBackgroundColorRatios","pressedShadow","pressedRollOverBackgroundColor","pressedRollOverBackgroundColorRatios","pressedRollOverShadow","paddingLeft","paddingTop","paddingRight","paddingBottom"],{},[this.yc],n,n);g.prototype.ka.call(this)};return a}); define("es","require,fg,u,ll,lv,dW,do".split(","),function(a){var b=a("fg"),c=a("u"),e=a("ll"),g=a("lv"),d=a("dW"),f=a("do"),a=b.extend(g,function(){g.call(this);this.Yb=r;this.Z5=[];this.bind(e.aa,this.Tna,this)});d.A("DropDown",a).B("UIComponent").J({arrowBeforeLabel:"bool",arrowColor:"color",arrowHeight:"number",arrowWidth:"number",arrowGap:"number",fontFamily:"string",fontSize:"or[number, size]",fontColor:"color",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]", fontStyle:"enum[italic, normal]",gap:"number",horizontalAlign:"enum[left, center, right]",label:"string",playList:"PlayList",popUpGap:"number",popUpBackgroundColor:"color",popUpBackgroundOpacity:"number",popUpBorderRadius:"number",popUpFontColor:"color",popUpPaddingBottom:"number",popUpPaddingLeft:"number",popUpPaddingRight:"number",popUpPaddingTop:"number",popUpShadow:"bool",popUpShadowBlurRadius:"number",popUpShadowColor:"color",popUpShadowHorizontalLength:"number",popUpShadowOpacity:"number",popUpShadowSpread:"number", popUpShadowVerticalLength:"number",pressedArrowColor:"color",pressedShadow:"bool",pressedBackgroundColor:"or[array[color], color]",pressedBackgroundColorRatios:"array[number]",pressedRollOverArrowColor:"color",pressedRollOverShadow:"bool",pressedRollOverBackgroundColor:"or[array[color], color]",pressedRollOverBackgroundColorRatios:"array[number]",prompt:"string",rollOverArrowColor:"color",rollOverBackgroundColor:"or[array[color], color]",rollOverBackgroundColorRatios:"array[number]",rollOverPopUpBackgroundColor:"color", rollOverPopUpFontColor:"color",rollOverShadow:"bool",selectedPopUpBackgroundColor:"color",selectedPopUpFontColor:"color",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number",textShadowColor:"color",textShadowHorizontalLength:"number",textShadowOpacity:"number",textShadowVerticalLength:"number"}).fq(["fontSize"]).Xb([e.aa]);a.prototype.set=function(a,b){if(a=="playList"){if(this.Yb)for(this.Yb.unbind("change",this.dp,this);this.Z5.length;)this.Z5.shift().unwatch(); if(this.Yb=b){c.watch(this.Yb,"items.label",this.DL,this);c.watch(this.Yb,"items.media.label",this.DL,this);this.DL();this.Yb.bind("change",this.dp,this);this.dp()}else this.DL()}g.prototype.set.call(this,a,b)};a.prototype.DL=function(){this.Yb?this.set("items",f(this.Yb.get("items")).map(function(a){return a.get("label")||a.get("media")&&a.get("media").get("label")})):this.set("items",[])};a.prototype.dp=function(){this.set("selectedIndex",this.Yb.get("selectedIndex"))};a.prototype.Tna=function(){this.Yb&& this.Yb.set("selectedIndex",this.get("selectedIndex"))};return a}); define("cH",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("initialState","playing");this.set("distance",0.5);this.set("intensity",0.1);this.set("speed",0.2);this.set("opacity",0.1);this.set("color","#ffffff");this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.A("DustPanoramaOverlay",b).B("PanoramaOverlay").J({intensity:"number",speed:"number",color:"color",opacity:"number",distance:"number", startDuration:"number",initialState:"enum[playing, stopped]",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"});b.prototype.get=function(a,b){"startState"==a&&b===m&&(b=this.get("initialState"));return c.prototype.get.call(this,a,b)};return b}); define("dy","fg,jd,ll,bZ,V,kX,bq".split(","),function(a,b,c,e,g,d,f){var h={},j=a.extend(b,function(){b.call(this);this.gb=m;this.Bk=[];this.m="stopped";this.set("easing","linear");this.set("duration",1E3);this.set("loop",y);this.set("animationDirection","normal")});j.prototype.play=function(a){a||(a=h);if(!this.Fz(a))if(this.m=="stopped"||this.Bk.indexOf(a)<0){this.m="playing";this.Bk.push(a);this.be=0;this.gb=Math.max(this.get("duration",1E3),1);this.Ee=new d(this.get("easing","linear"),[new f("pos", 0,1)],this.gb);this.Ee.setTime(this.be);this.Py();this.rp();this.hD()}else this.m="playing"};j.prototype.reverse=function(a){a||(a=h);if(!this.Owa(a))if(this.m=="stopped"||this.Bk.indexOf(a)<0){this.m="playingReverse";this.Bk.push(a);this.be=this.gb=Math.max(this.get("duration",1E3),0);this.Ee=new d(this.get("easing","linear"),[new f("pos",0,1)],this.gb);this.Ee.setTime(this.be);this.Py();this.rp();this.hD()}else this.m="playingReverse"};j.prototype.stop=function(){this.m="stopped";if(this.be!==0){this.be= 0;this.rp();this.hD()}};j.prototype.end=function(){if(this.m!="stopped"){this.be=this.gb;this.rp();this.hD()}};j.prototype.cancel=function(){this.m="stopped";this.be=0;this.Bk=[]};j.prototype.Fz=function(a){return this.m=="playing"&&this.Bk.indexOf(a)>=0};j.prototype.Owa=function(a){return this.m=="playingReverse"&&this.Bk.indexOf(a)>=0};j.prototype.Pg=function(a){if(this.m!="stopped"){this.be=this.m=="playing"?Math.min(this.gb,this.be+a):Math.max(0,this.be-a);this.Ee.setTime(this.be);this.rp();this.hD()}}; j.prototype.Js=function(){return this.Ee&&this.Ee.Fb("pos")||0};j.prototype.$q=function(a){if(this.Bk)for(var b=0;b=this.gb){this.Ny();this.Bk=[];if(this.m!="stopped"){this.stop();this.get("animationDirection")=="alternate"?this.reverse():this.get("loop")&&this.play()}}else this.m!="stopped"&&g.Ma(this.Pg,this)};j.Z_="start";j.T_="frame";j.Pj="end";j.Y_="reverseStart";j.Jw="reverseEnd";return j}); define("bm",["require","fg","dW","dy"],function(a){var b=a("fg"),c=a("dW"),e=a("dy"),a=b.extend(e,function(){e.call(this)});c.A("Effect",a).B("Object").J({duration:"number",easing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",animationDirection:"enum[normal, alternate]",loop:"bool"}).Hf([e.Pj,e.T_,e.Jw,e.Y_,e.Z_]).Cg({cancel:function(){return e.prototype.cancel.apply(this,arguments)},getPosition:function(){return e.prototype.Js.apply(this, arguments)},play:function(){return e.prototype.play.apply(this,arguments)},reverse:function(){return e.prototype.reverse.apply(this,arguments)},stop:function(){return e.prototype.stop.apply(this,arguments)}});return a}); define("bb",["fg","dy"],function(a,b){var c=a.extend(b,function(){b.call(this);this.LP=this.KP=r});c.prototype.Py=function(){b.prototype.Py.call(this);this.KP=[];this.LP=[];this.$q(function(a){this.KP.push(this.get("alphaFrom",a.Hh()));this.LP.push(this.get("alphaTo",a.Hh()))});this.zK()};c.prototype.rp=function(){b.prototype.rp.call(this);this.zK()};c.prototype.zK=function(){this.$q(function(a,b){var d=this.KP[b],d=d+(this.LP[b]-d)*this.Js(),c=0=0){this.Mf.splice(a, 1);this.Mf.length==0&&this.yoa()}};a.prototype.zoa=function(){var a=this.get("effect"),b=this.get("rollOverEffect");b&&(a&&a.Js()>0?a.reverse():b.play())};a.prototype.yoa=function(){var a=this.get("rollOverEffect");if(a){var b=this.get("effect");a.Js()>0?a.reverse():b&&b.get("loop")&&b.play()}};a.prototype.b7=function(){if(this.Mf.length>0){var a=this.get("rollOverEffect");if(a){this.get("effect").stop();a.play()}}};a.prototype.a8=function(){if(this.Mf.length==0){this.get("rollOverEffect").stop(); var a=this.get("effect");a&&a.get("loop")&&a.play()}};a.prototype.wh=function(){var a=this.get("effect");a&&a.play()};a.prototype.th=function(){var a=this.get("effect");a&&a.stop();(a=this.get("rollOverEffect"))&&a.stop()};return a});define("jG",["require","fg","dW","cj"],function(a){var b=a("fg"),c=a("dW"),e=a("cj"),a=b.extend(e,function(){e.call(this)});c.A("FlatHotspotPanoramaOverlay",a).B("HotspotPanoramaOverlay");return a}); define("q",["fg","jd","dW","ll"],function(a,b,c,e){a=a.extend(b,function(){b.call(this);this.set("displayTooltipInTouchScreens",n)});c.A("HotspotPanoramaOverlayArea",a).B("Object").J({mapColor:"or[color,enum[image,transparent,any]]",toolTip:"string",displayTooltipInTouchScreens:"bool",useHandCursor:"bool"}).Xb([e.xc,e.Qb,e.Mh,e.Kf]).Hf([e.U]);return a});define("en",["dW","q"],function(a,b){a.A("FlatHotspotPanoramaOverlayArea",b).B("HotspotPanoramaOverlayArea");return b}); define("bc",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(a,b,d){c.call(this);a!==m&&this.set("vertices",a);this.set("opacity",b!==m?b:1);d!==m&&this.set("timestamp",d)});a.A("QuadPanoramaOverlayPlaybackPosition",b).B("Object").J({opacity:"number",timestamp:"number",vertices:"array[PanoramaPoint]"});return b}); define("gy",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(a,b,d,f,h){c.call(this);a!==m&&this.set("yaw",a);b!==m&&this.set("pitch",b);d!==m&&this.set("roll",d);this.set("opacity",f!==m?f:1);h!==m&&this.set("timestamp",h)});a.A("FlatPanoramaOverlayPlaybackPosition",b).B("Object").J({opacity:"number",pitch:"number",roll:"number",timestamp:"number",yaw:"number"});return b}); define("eN",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(a,b,d,f,h,j,p,k,l){c.call(this);a!==m&&this.set("yaw",a);b!==m&&this.set("pitch",b);d!==m&&this.set("rotationX",d);f!==m&&this.set("rotationY",f);h!==m&&this.set("roll",h);j!==m&&this.set("hfov",j);p!==m&&this.set("vfov",p);this.set("opacity",k!==m?k:1);l!==m&&this.set("timestamp",l)});a.A("PanoramaOverlayPlaybackPosition",b).B("Object").J({opacity:"number",yaw:"number",pitch:"number",rotationX:"number", rotationY:"number",roll:"number",hfov:"number",vfov:"number",timestamp:"number"});return b});define("cc",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(a,b){c.call(this);this.set("yaw",a);this.set("pitch",b)});a.A("PanoramaPoint",b).B("Object").J({pitch:"number",yaw:"number"});return b}); define("L",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(a,b,d,f,h,j,p){c.call(this);a!==m&&this.set("yaw",a);b!==m&&this.set("pitch",b);d!==m&&this.set("rotationX",d);f!==m&&this.set("rotationY",f);h!==m&&this.set("rotationZ",h);j!==m&&this.set("hfov",j);p!==m&&this.set("timestamp",p)});a.A("PopupPanoramaOverlayPlaybackPosition",b).B("Object").J({yaw:"number",pitch:"number",rotationX:"number",rotationY:"number",rotationZ:"number",hfov:"number",timestamp:"number"}); return b}); define("hW","require,jd,bc,gy,eN,cc,L".split(","),function(a){var b=a("jd"),c=a("bc"),e=a("gy"),g=a("eN"),d=a("cc"),f=a("L");return{wva:function(a){return this.tI(a,this.Jka)},LY:function(a){return this.tI(a,this.gpa)},Ova:function(a){return this.tI(a,this.npa)},NY:function(a){return this.tI(a,this.vpa)},Jka:function(a){return new e(b.prototype.get.call(a,"yaw",0),b.prototype.get.call(a,"pitch",0),b.prototype.get.call(a,"roll",0),b.prototype.get.call(a,"opacity",1),0)},vpa:function(a){var f=b.prototype.get.call(a, "vertices",[r,r,r,r]);return new c([f[0]||new d(0,0),f[1]||new d(0,0),f[2]||new d(0,0),f[3]||new d(0,0)],b.prototype.get.call(a,"opacity",1),0)},gpa:function(a){function d(c,f){return b.prototype.get.call(a,c,f)}return new g(d("yaw",0),d("pitch",0),d("rotationX",0),d("rotationY",0),d("roll",0),d("hfov",d("vfov")===m?45:m),d("vfov"),d("opacity",1),0)},npa:function(a){function d(c,f){return b.prototype.get.call(a,c,f)}return new f(d("yaw",0),d("pitch",0),d("rotationX",0),d("rotationY",0),d("rotationZ", 0),d("hfov",45),0)},tI:function(a,d){var c=b.prototype.get.call(a,"playbackPositions")||[];return c.length>0?c.slice().sort(function(a,b){return a.get("timestamp")-b.get("timestamp")||c.indexOf(a)-c.indexOf(b)}):[d(a)]}}}); define("gZ","require,fg,jd,ll,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("dW"),d=a("hW"),a=b.extend(c,function(){c.call(this);this.set("opacity",1);this.set("scale",1);this.Sb=m});g.A("FlatHotspotPanoramaOverlayImageBase",a).B("Object").J({distance:"number",height:"number",horizontalAlign:"enum[center, left, right]",image:"ImageResource",offsetX:"number",offsetY:"number",opacity:"number",pitch:"number",playbackPositions:"array[FlatPanoramaOverlayPlaybackPosition]",roll:"number", scale:"number",scaleMode:"enum[fill, fit_inside, fit_outside, fit_to_width, fit_to_height, none]",verticalAlign:"enum[bottom, middle, top]",width:"number",yaw:"number"}).Xb([e.od,e.Ad]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=d.wva(this);return this.Sb}return c.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var d=y;switch(a){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.Sb=m;d=n}c.prototype.set.call(this, a,b);d&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};return a});define("n",["require","fg","dW","gZ"],function(a){var b=a("fg"),c=a("dW"),e=a("gZ"),a=b.extend(e,function(){e.call(this)});c.A("FlatHotspotPanoramaOverlayImage",a).B("FlatHotspotPanoramaOverlayImageBase");return a}); define("df",["require","fg","dW","gZ"],function(a){var b=a("fg"),c=a("dW"),e=a("gZ"),a=b.extend(e,function(){e.call(this)});c.A("FlatHotspotPanoramaOverlayMap",a).B("FlatHotspotPanoramaOverlayImageBase");return a}); define("jU","require,fg,jd,ll,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("dW"),d=a("hW"),a=b.extend(c,function(){c.call(this);this.Sb=m;this.set("enabled",n);this.set("interactionEnabled",n);this.set("contentInteractive",y);this.set("transparent",y)});g.A("FramePanoramaOverlay",a).B("PanoramaOverlay").J({contentInteractive:"bool",displayTooltipInTouchScreens:"bool",enabled:"bool",hfov:"number",height:"number",image:"ImageResource",interactionEnabled:"bool",pitch:"number", roll:"number",rotationX:"number",rotationY:"number",toolTip:"string",transparent:"bool",url:"string",useHandCursor:"bool",playbackPositions:"array[PanoramaOverlayPlaybackPosition]",vfov:"number",width:"number",yaw:"number"}).Xb([e.Ad,e.Mh,e.Kf,e.xc,e.Qb,e.od]).Hf([e.U]).hh(["url"]);a.prototype.set=function(a,b){var d=y;switch(a){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.Sb=m;d=n}c.prototype.set.call(this,a,b);d&&a!= "playbackPositions"&&this.trigger(e.D("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=d.LY(this);return this.Sb}return c.prototype.get.call(this,a,b)};return a});define("cE",["do","fg","kS","c"],function(a,b,c,e){var g=b.extend(c,function(){c.call(this)});g.pb={layout:e.oq};a.defaults(g.pb,c.pb);g.prototype.za=function(){this.bk(g.pb)};return g}); define("hx",["do","fg","cE","dW"],function(a,b,c,e){a=b.extend(c,function(){c.call(this)});e.A("GridContainer",a).B("UIComponent").J({children:"array[UIComponent]",contentOpaque:"bool",childrenInteractionEnabled:"bool",creationPolicy:"enum[inAdvance, delayed]",gap:"number",horizontalAlign:"enum[center, left, right]",itemHeight:"or[number, percent]",itemMaxHeight:"number",itemMaxWidth:"number",itemMinHeight:"number",itemMinWidth:"number",itemWidth:"or[number, percent]",overflow:"enum[scroll, hidden, visible]", scrollBarColor:"color",scrollBarWidth:"number",scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]",verticalAlign:"enum[bottom, middle, top]"});return a}); define("hi","require,do,jquery.mod,bZ,eO,ll,ge,jt,id,gx,fg".split(","),function(a){function b(){}function c(a){this.Dxa=a;this.Lk=[];this.Td=0}var e=a("do");a("jquery.mod");var g=a("bZ"),d=a("eO"),f=a("ll"),h=a("ge"),j=a("jt"),p=a("id"),k=a("gx"),l=a("fg").extend(d,function(a){d.call(this);this.url=a;this.DZ=this.Td=0;this.status=l.gP;this.kq=r});l.prototype.rZ=function(a){this.DZ=this.DZ+a};l.prototype.Hz=function(a){this.Td=this.Td+a};l.prototype.start=function(){this.status=l.LG;p.o_(this.url)? this.zr():this.lk=k.add(this.url,h.gG,this.kqa.bind(this),this.T2.bind(this))};l.prototype.kqa=function(){this.kq=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.kq.open("GET",this.url);this.kq.onreadystatechange=function(){this.kq.readyState>3&&this.zr()}.bind(this);this.kq.send()};l.prototype.T2=function(){if(this.kq){this.kq.abort();this.kq=r}};l.prototype.stop=function(){if(this.status==l.LG){this.status=l.gP;this.T2();this.lk&&this.lk.cancel()}};l.prototype.zr= function(){this.kq=r;if(this.lk){this.lk.loaded();this.lk=r}this.status=l.qga;this.trigger(new g(f.S))};l.gP="not loaded";l.LG="loading";l.qga="loaded";c.prototype.eua=function(a){a.forEach(function(a){if(this.Lk.indexOf(a)<0){this.Lk.push(a);a.Hz(this.Td);a.rZ(1)}}.bind(this))};c.prototype.Mxa=function(a){var b=this.Lk;this.Lk=[];b.forEach(function(b){if(a.indexOf(b)<0)this.Lk.push(b);else{b.Hz(-this.Td);b.rZ(-1)}}.bind(this))};c.prototype.Fxa=function(){this.Lk.forEach(function(a){a.Hz(-this.Td); a.rZ(-1)}.bind(this));this.Lk=[];this.Td=0};c.prototype.Hz=function(a){this.Td=this.Td+a;this.Lk.forEach(function(b){b.Hz(a)})};b.Pc=[];b.g9=[];b.Ska=0;b.pba=function(a,b){this.vK(a).eua(b.map(function(a){return this.Y(a)}.bind(this)));this.cL();this.L()};b.Pxa=function(a,b){this.vK(a).Mxa(b.map(function(a){return this.Y(a)}.bind(this)));this.cL();this.L()};b.Gxa=function(a){this.vK(a).Fxa();this.cL();this.L()};b.eN=function(a,b){this.vK(a).Hz(b);this.cL();this.L()};b.cL=function(){this.Pc.sort(function(a, b){return b.Td-a.Td})};b.L=function(a){if(this.enabled()&&(a||!this.mn))if(a){this.mn&&clearTimeout(this.mn);this.mn=r;var a=this.Cla(),b=this.Dla();e(a).difference(b).forEach(function(a){a.stop()});e(b).difference(a).forEach(function(a){a.start()})}else this.mn=setTimeout(function(){this.mn=r;this.L(n)}.bind(this),1E3)};b.mn=r;b.Cla=function(){return this.Pc.filter(function(a){return a.status==l.LG})};b.Dla=function(){for(var a=this.Ela(),b=[],d=0;d0&&(c.status==l.gP||c.status==l.LG)&&b.push(c)}return b};b.Ela=function(){return this.Ska>0?0:1};b.vK=function(a){var b=e(this.g9).find(function(b){return b.Dxa==a});if(!b){b=new c(a);this.g9.push(b)}return b};b.Y=function(a){var b=e(this.Pc).find(function(b){return b.url==a});if(!b){b=new l(a);b.bind(f.S,this.L,this);this.Pc.push(b)}return b};b.enabled=function(a){if(a===m)return b.$ja||b.aka?y:b.PR!==m?b.PR:b.W;b.W=a};b.W=n;b.f_=function(a){b.PR=a.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)}; b.PR=m;b.aka=j.$g("disable-background-preload",y);b.$ja=y;return b});define("du",["fg","jd","dW","hi"],function(a,b,c,e){var g=a.extend(b,function(){b.call(this);this.iX=a.nm(this.iX,this)});c.A("Media",g).B("Object").J({label:"string",thumbnailUrl:"string"}).hh(["thumbnailUrl"]);g.prototype.iX=function(){e.pba(this,this.In())};g.prototype.In=function(){return[]};g.prototype.Oxa=function(){e.Gxa(this)};g.prototype.set=function(a,c){b.prototype.set.call(this,a,c);this.iX()};return g}); define("gC",["require","do","fg","dW","du"],function(a){a("do");var b=a("fg"),c=a("dW"),e=a("du"),a=b.extend(e,function(){e.call(this);this.ZI=this.Qy=m;this.set("distanceToFloor",1.7)});c.A("Panorama",a).B("Media").J({adjacentPanoramas:"array[AdjacentPanorama]",audios:"array[PanoramaAudio]",cardboardMenu:"Menu",flipImageHorizontally:"bool",frames:"array[PanoramaFrame]",distanceToFloor:"number",hfov:"number",hfovMax:"number",hfovMin:"or[number,percent]",mapLocations:"array[PanoramaMapLocation]",overlays:"array[PanoramaOverlay]", partial:"bool",pitch:"number",vfov:"number",vrMenu:"Menu"});a.prototype.get=function(a,b){switch(a){case "overlays":return this.xS();case "frames":return this.Y4()}return e.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){switch(a){case "cardboardMenu":this.set("vrMenu",b)}e.prototype.set.call(this,a,b)};a.prototype.xS=function(){var a=e.prototype.get.call(this,"overlays");a||(a=[]);return this.hW(a)};a.prototype.hW=function(a){if(this.Qy===m||this.ZI!=a){var b=function(a){return c.ub("PopupPanoramaOverlay", a)},f=function(a){return c.ub("LensFlarePanoramaOverlay",a)};this.ZI=a;this.Qy=[].concat(a.filter(function(a){return!(b(a)||f(a))}),a.filter(f),a.filter(b))}return this.Qy};a.prototype.Oca=function(){return 0f.indexOf(e.Am)&&c.prototype.get.call(this,"grayscale")&&(f=f.concat([e.Am]));return f}return c.prototype.get.call(this,a,b)};e.prototype.Nca=function(a){return 0<=this.get("tags").indexOf(a)};e.Am="preload";e.a1="mobile";e.$0="ipadpro";e.jP="mobilevr";e.b1="mobilevr2gen";e.kP="ondemand";return e}); define("eH",["require","jj","r","jt"],function(a){var b=a("jj"),c=a("r"),e=a("jt");return{jm:function(a){return this.ah(a,"load")},Wv:function(a){return this.ah(a,"preload")},Az:function(a){return this.jm(a)!=this.Wv(a)},ah:function(a,b){var c=a.get("levels")||[],e=this.$ka(c),e=this.Sla(b,e),c=this.Gka(c,b),j=this.g5(c,e[0],e[1],this.Qla(b));j||(j=this.g5(c,e[0],e[1],m));return j},Gka:function(a,d){"preload"==d?a=this.rB(a,b.Am):"load"==d&&(a=this.Fka(a,b.Am));c.Tp()&&(a=this.rB(a,b.$0));c.eZ()&& (a=this.rB(a,b.b1));c.le()&&(a=this.rB(a,b.jP));c.Za()&&(a=this.rB(a,b.a1));return a},$ka:function(a){if(0==a.length)return 1;a.sort(function(a,b){return b.get("width")-a.get("width")});return a[0].get("width")/a[0].get("height")},Sla:function(a,b){if("preload"==a)return[0,0];var f=1E4;this.Lka()||(c.le()?f=2048:c.Tp()?f=2048:c.Za()&&(f=1024));return 1>b?[f*b,f]:[f,f/b]},Qla:function(a){if("load"==a)return y},Lka:function(){return c.Tp()&&e.$g("recent_ipad_use_max_res",y)},rB:function(a,b){var c= a.filter(function(a){return a.Nca(b)});0==c.length&&(c=a);return c},Fka:function(a,b){var c=a.filter(function(a){return!a.Nca(b)});0==c.length&&(c=a);return c},g5:function(a,b,c,e){function j(a){return Math.abs(a.get("width")*a.get("height")-b*c)}a=a.filter(function(a){return e!==m&&e!=a.get("grayscale",y)?y:n});if(0==a.length)return r;a.sort(function(a,b){return j(a)-j(b)});return a[0]}}}); define("C","require,fg,jd,dW,eH,jY,jn".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("dW"),g=a("eH"),d=a("jY"),f=a("jn"),a=b.extend(c,function(){c.call(this);this.set("x",0);this.set("y",0);this.set("offsetX",0);this.set("offsetY",0);this.set("width",0);this.set("height",0);this.set("scaleMode",f.Zn);this.set("horizontalAlign",d.Lc);this.set("verticalAlign",d.vc)});e.A("HotspotMapOverlayImageBase",a).B("Object").J({height:"number",horizontalAlign:"enum[center, left, right]",image:"ImageResource", offsetX:"number",offsetY:"number",scaleMode:"enum[none, fill, fit_inside, fit_outside, fit_to_width, fit_to_height]",verticalAlign:"enum[bottom, middle, top]",width:"number",x:"number",y:"number"});a.prototype.jm=function(){return this.get("image")?g.jm(this.get("image")):r};a.prototype.Wv=function(){return this.get("image")?g.Wv(this.get("image")):r};return a});define("iL",["fg","bZ"],function(a,b){return a.extend(b,function(a,e){b.call(this,a);this.Kh=e})}); define("bS",["require","fg","jd","ll","iL"],function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("iL"),a=b.extend(c,function(){c.call(this);this.vE=[];this.Yd=m;this.m="initial"});a.prototype.Kn=Q("vE");a.prototype.h_=function(a){this.vE!=a&&(this.vE=a,this.zr=this.Yd=m)};a.prototype.Mya=function(a){this.Yd!==a&&(this.m="loading",this.Yd=a,this.trigger(new g(e.wc,this.Yd)))};a.prototype.XZ=function(){"loaded"!==this.m&&(this.m="loaded",this.trigger(e.S))};a.prototype.oya=function(){"loaded"!==this.m&& (this.m="error",this.trigger(e.oe))};return a});define("cD",["fg","bS"],function(a,b){var c=a.extend(b,function(a){b.call(this);this.Zd=a;this.j=m});c.prototype.xd=Q("Zd");c.prototype.iwa=function(a){return this.j!==m&&this.j===a.j};c.j1="map";c.k1="overlay";return c});define("hC",["fg","cD"],function(a,b){var c=a.extend(b,function(a,c,d){b.call(this,b.k1);this.Woa=a;this.da=c;this.fa=d});c.prototype.getX=Q("da");c.prototype.getY=Q("fa");c.i1="image";c.h1="fov";return c}); define("jf",["fg","hC"],function(a,b){var c=a.extend(b,function(a,c,d,f,h,j,p,k,l,q,o,t){b.call(this,b.i1,d,f);this.j=a;this.vd=c;this.B9=h;this.Fu=j;this.Gu=p;this.X=k;this.ia=l;this.Fd=q;this.Zh=o;this.ti=t;this.vE=[c]});c.prototype.Dj=Q("vd");c.prototype.ad=Q("X");c.prototype.Pd=Q("ia");return c}); define("fy","require,fg,dW,C,eH,jf".split(","),function(a){var b=a("fg"),c=a("dW"),e=a("C"),g=a("eH"),d=a("jf"),a=b.extend(e,function(){e.call(this);this.Uo=m});c.A("HotspotMapOverlayImage",a).B("HotspotMapOverlayImageBase");a.prototype.getItem=function(){return this.bh()};a.prototype.bh=function(a){if(this.Uo===m)this.Uo=this.kM(a);return this.Uo};a.prototype.kM=function(a){var b=this.get("image");if(b){b=g.jm(b);return new d(this,b.get("url"),this.get("x"),this.get("y"),a,this.get("offsetX"),this.get("offsetY"), this.get("width"),this.get("height"),this.get("scaleMode"),this.get("horizontalAlign"),this.get("verticalAlign"))}return r};return a});define("F",["require","fg","dW","C"],function(a){var b=a("fg"),c=a("dW"),e=a("C"),a=b.extend(e,function(){e.call(this)});c.A("HotspotMapOverlayMap",a).B("HotspotMapOverlayImageBase");return a}); define("eM","require,fg,jd,ll,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("dW"),d=a("hW"),a=b.extend(c,function(){c.call(this);this.set("opacity",1);this.set("scale",1);this.Sb=m});g.A("HotspotPanoramaOverlayImageBase",a).B("Object").J({yaw:"number",pitch:"number",roll:"number",rotationX:"number",rotationY:"number",hfov:"number",vfov:"number",distance:"number",horizontalAlign:"enum[center, left, right]",verticalAlign:"enum[bottom, middle, top]",scaleMode:"enum[fill, fit_inside, fit_outside, fit_to_width, fit_to_height, none]", opacity:"number",scale:"number",image:"ImageResource",playbackPositions:"array[PanoramaOverlayPlaybackPosition]"}).Xb([e.od,e.Ad]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=d.LY(this);return this.Sb}return c.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var d=y;switch(a){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.Sb=m;d=n}c.prototype.set.call(this, a,b);d&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};return a});define("iW",["require","fg","dW","eM"],function(a){var b=a("fg"),c=a("dW"),e=a("eM"),a=b.extend(e,function(){e.call(this)});c.A("HotspotPanoramaOverlayImage",a).B("HotspotPanoramaOverlayImageBase");return a});define("P",["require","fg","dW","eM"],function(a){var b=a("fg"),c=a("dW"),e=a("eM"),a=b.extend(e,function(){e.call(this)});c.A("HotspotPanoramaOverlayMap",a).B("HotspotPanoramaOverlayImageBase");return a}); define("iM",[],function(){function a(a){for(var b={},a=a.split(","),d=0;d\s]+))?)*)\s*(\/?)>/,c=/^<\/([-A-Za-z0-9_]+\:?[-A-Za-z0-9_]*)[^>]*>/,e=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,g=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),d=a("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"), f=a("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),h=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),j=a("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),p=a("script,style");return function(a,l){function q(a,b,c,k){b=b.toLowerCase();if(d[b])for(;v.last()&&f[v.last()];)o(0,v.last());h[b]&& v.last()==b&&o(0,b);(k=g[b]||!!k)||v.push(b);if(l.start){var p=[];c.replace(e,function(a,b,d,c,f){a=d?d:c?c:f?f:j[b]?b:"";p.push({name:b,value:a,oY:a.replace(/(^|[^\\])"/g,'$1\\"')})});l.start&&l.start(b,p,k)}}function o(a,b){if(b){b=b.toLowerCase();for(d=v.length-1;0<=d&&v[d]!=b;d--);}else var d=0;if(0<=d){for(var c=v.length-1;c>=d;c--)l.end&&l.end(v[c]);v.length=d}}var t,s,v=[],u=a;for(v.last=function(){return this[this.length-1]};a;){s=n;if(!v.last()||!p[v.last()]){if(0==a.indexOf("<\!--"))t=a.indexOf("--\>"), 0<=t&&(l.Cua&&l.Cua(a.substring(4,t)),a=a.substring(t+3),s=y);else if(0==a.indexOf("t?a:a.substring(0,t),a=0>t?"":a.substring(t),l.PE&&l.PE(s))}else a=a.replace(RegExp("(.*?)]*>"),function(a,b){b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(//g,"$1");l.PE&&l.PE(b);return""}),o(0, v.last());a==u&&i("Parse Error: "+a);u=a}o()}}); define("ej","require,jquery.mod,do,fg,ll,bZ,eO,r,iM".split(","),function(a){var b=a("jquery.mod");a("do");var c=a("fg"),e=a("ll"),g=a("bZ"),d=a("eO"),f=a("r"),h=a("iM"),j=c.extend(d,function(a){d.call(this);this.Cd=b(a);this.xD=[];this.Wq=r});j.prototype.xwa=function(a){a&&a.toLowerCase().indexOf("=0?f.hz()==f.hA?this.Jma(a):this.Ima(a):this.Hma(a)};j.prototype.Hma=function(a){this.Cd.empty();a&&this.Cd.append(a);this.jaa()};j.prototype.Jma=function(a){this.Cd.empty();var d=this.Cd,c=r, f=[],e=r;new h(a,{start:function(a,f,h){if(a=="script"){for(var h=m,j=0;j");f.attr(p);d.append(f);if(h)c=f;else{d=f;c=r}}},PE:function(a){e?e.content=e.content+a:d.append(a)},end:function(a){if(a=="script"){f.push(e);e=r}else{c=d;d=d.parent()}}});this.xD=f;this.dJ()};j.prototype.Ima=function(a){function d(){e++;return f+ e}this.Cd.empty();var f="fragment_"+c.Xda(6)+"_",e=0,j=d(),g=[j],s=m,v=[],u=r,w="";new h(a,{start:function(a,b,c){if(a=="script"){c=m;for(a=0;a";s=e}else{w=w+">";g.push(e);s=m}}},PE:function(a){u? u.content=u.content+a:w=w+a},end:function(a){if(a=="script"){v.push(u);u=r}else{s=g[g.length-1];g.pop()}}});this.Cd.get(0).innerHTML=w;this.Cd.addClass(j);for(a=0;a0){this.Wq=this.xD[0];this.xD.splice(0,1);var a=this.Wq.src;if(a){var d= this;j.mna(a,function(){d.j6()},function(){d.sna()})}else{var c=this.Wq.parent,a=this.Wq.previousSibling,f;f=a?a.next():c.children(":first");a=document.write;document.write=f.length?function(a){f.before(a)}:function(a){c.append(a)};b.globalEval(this.Wq.content);document.write=a;this.j6()}}else this.jaa()};j.prototype.sna=function(){this.Wq=r;this.dJ()};j.prototype.j6=function(){this.Wq=r;this.dJ()};j.prototype.jaa=function(){this.trigger(new g(e.Ba))};j.h6={};j.mna=function(a,d,c){j.h6[a]?d.call(window): b.ajax({url:a,async:y,dataType:"script",error:c,success:function(){j.h6[a]=n;d.call(window)}})};return j}); define("jM",["fg","ll","bZ","eO"],function(a,b,c,e){a=a.extend(e,function(a,b){e.call(this);this.Rma=a;this.W=b;this.ug=r});a.prototype.bind=function(){var a=e.prototype.bind.apply(this,arguments);this.rE();return a};a.prototype.unbind=function(){var a=e.prototype.unbind.apply(this,arguments);this.rE();return a};a.prototype.start=function(){this.W=n;this.rE()};a.prototype.stop=function(){this.W=y;this.rE()};a.prototype.LC=function(){this.trigger(new c(b.dd))};a.prototype.rE=function(){if(this.W&& this.Bca(b.dd)){if(this.ug==r){var a=this;this.ug=setTimeout(function(){a.ug=r;a.LC();a.rE()},this.Rma)}}else this.ug!=r&&(clearTimeout(this.ug),this.ug=r)};return a}); define("iI","require,jquery.mod,do,fg,ll,gr,jY,d,ej,dK,jM".split(","),function(a){var b=a("jquery.mod"),c=a("do"),e=a("fg"),g=a("ll"),d=a("gr"),f=a("jY"),h=a("d"),j=a("ej"),p=a("dK"),a=a("jM"),k=e.extend(h,function(){h.call(this);this.Tc("HTML");this.Rt=k.PG;this.P8=this.Q8=0;this.x$=(new Date).getTime();this.TH=this.Hg=r;this.dx=this.dx.bind(this);this.QP=[]});k.prototype.za=function(){h.prototype.za.call(this);this.f("content");this.f("horizontalAlign",f.ra);this.f("verticalAlign",f.vc);this.f("fontFamily"); this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textAlign");this.f("textDecoration");this.f("textShadowBlurRadius",3);this.f("textShadowColor","#000000");this.f("textShadowHorizontalLength",0);this.f("textShadowOpacity",0);this.f("textShadowVerticalLength",0)};k.prototype.cn=function(a){this.pa&&d.get(this.pa).Ixa(this.dx);h.prototype.cn.call(this,a);if(this.pa){d.get(this.pa).aua(this.dx);d.get(this.pa).kz(this.dx)}};k.prototype.Ga=function(){h.prototype.Ga.call(this); if(!this.TH){this.Hg=document.createElement("div");this.TH=b(this.Hg);this.AR({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var a=this.Ra();a.Uz(y);a.append(this.TH);this.B5=new j(this.TH);this.B5.bind(g.Ba,this.xma,this,n);this.bind(g.zb,this.C5,this)}};k.prototype.ka=function(){var a={},b=y;this.n("visible")&&(b=n);if(this.n("content")){this.B5.xwa(this.k("content"));this.q("content");b=n}if(this.n("fontFamily")){b=this.k("fontFamily");c(b).isString()||(b="");a.fontFamily= p.Es(b);this.q("fontFamily");b=n}if(this.n("fontSize")){b=this.k("fontSize");c(b).isNumber()?b=b+"px":c(b).isString()||(b="");a.fontSize=b;this.q("fontSize");b=n}if(this.n("fontColor")){b=this.k("fontColor");c(b).isString()||(b="");a.color=b;this.q("fontColor");b=n}if(this.n("fontWeight")){b=this.k("fontWeight");switch(b){case "bold":case "bolder":case "lighter":case "100":case "200":case "300":case "400":case "500":case "600":case "700":case "800":case "900":case "normal":break;default:b="normal"}a.fontWeight= b;this.q("fontWeight");b=n}if(this.n("fontStyle")){b=this.k("fontStyle");switch(b){case "italic":case "normal":break;default:b="normal"}a.fontStyle=b;this.q("fontStyle");b=n}if(this.n("textDecoration")){b=this.k("textDecoration");switch(b){case "underline":case "overline":case "line-through":case "none":break;default:b="none"}a.textDecoration=b;this.q("textDecoration");b=n}if(this.n("textAlign")){b=this.k("textAlign");switch(b){case "left":case "right":case "center":case "justify":break;default:b= ""}a["text-align"]=b;this.q("textAlign");b=n}var d=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(c(d).any(function(a){return this.n(a)},this)){var f={};c(d).each(function(a){f[a]=this.k(a);this.q(a)},this);a["-moz-text-shadow"]=a["-webkit-text-shadow"]=a["text-shadow"]=[f.textShadowHorizontalLength+"px",f.textShadowVerticalLength+"px",f.textShadowBlurRadius+"px","rgba("+parseInt("0x"+f.textShadowColor.substr(1,2))+", "+parseInt("0x"+ f.textShadowColor.substr(3,2))+", "+parseInt("0x"+f.textShadowColor.substr(5,2))+", "+f.textShadowOpacity+")"].join(" ");d=f.textShadowVerticalLength==0&&this.k("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(f.textShadowHorizontalLength,-f.textShadowVerticalLength)/Math.PI)*45;a.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*f.textShadowOpacity).toString(16)).slice(-2)+f.textShadowColor.substr(1,6)+",direction="+d+")"}c(["paddingTop","paddingRight","paddingBottom", "paddingLeft"]).any(function(a){return this.n(a)},this)&&(b=n);this.AR(a);b&&this.D6();h.prototype.ka.call(this)};k.prototype.D6=function(){this.C5();this.Xa();this.k("visible")&&this.k("content")?this.AD(k.v1):this.AD(k.PG)};k.prototype.ps=function(a){for(var b=a.target;b&&b.tagName!="A"&&b.tagName!="BUTTON";)b=b.parentElement;h.prototype.ps.call(this,a,!b)};k.prototype.Xo=function(){h.prototype.Xo.call(this);var a=this.Ra();this.di=this.Hg.clientWidth+a.vz()+a.xz();this.ci=this.Hg.clientHeight+ a.yz()+a.rz()};k.prototype.f$=function(a){if(this.zS()!=a){this.Hg.style.paddingLeft=a+"px";this.Xa()}};k.prototype.zS=function(){return parseInt(this.Hg.style.paddingLeft)||0};k.prototype.h$=function(a){if(this.BS()!=a){this.Hg.style.paddingTop=a+"px";this.Xa()}};k.prototype.BS=function(){return parseInt(this.Hg.style.paddingTop)||0};k.prototype.g$=function(a){if(this.AS!=a){this.Hg.style.paddingRight=a+"px";this.Xa()}};k.prototype.AS=function(){return parseInt(this.Hg.style.paddingRight)||0};k.prototype.e$= function(a){if(this.yS()!=a){this.Hg.style.paddingBottom=a+"px";this.Xa()}};k.prototype.yS=function(){return parseInt(this.Hg.style.paddingBottom)||0};k.prototype.xma=function(){this.QP=Array.prototype.slice.call(this.Hg.querySelectorAll("*[style]")).map(function(a){var b={};b.Tua=a;b.style=a.getAttribute("style");return b}).filter(function(a){return l.test(a.style)}).map(function(a){for(var b=a.style,d=[];;){var c=l.exec(b);if(c){d.push(function(a){return function(){return a}}(b.substr(0,c.index+ 1)));d.push(function(a,b){switch(b){case "vw":return function(b){return Math.round(b*a)+"px"};case "vh":return function(b,d){return Math.round(d*a)+"px"};case "vmin":return function(b,d,c){return Math.round(c*a)+"px"};case "vmax":return function(b,d,c){return Math.round(c*a)+"px"}}}(parseFloat(c[1]),c[3].toLowerCase()));b=b.substr(c.index+c[0].length)}else{d.push(function(a){return function(){return a}}(b));a.functions=d;return a}}});this.pa&&d.get(this.pa).kz(this.dx)};k.prototype.dx=function(a, b,d,c){if(this.QP.length!=0){this.QP.forEach(function(f){var e=f.functions.map(function(f){return f(a,b,d,c)}).join("");f.Tua.setAttribute("style",e)});this.D6()}};k.prototype.C5=function(){var a={width:"auto",height:"auto"},b=this.Ra();if(!this.KS()){this.di!=this.X&&this.Xa();var d=this.X-(b.vz()+b.xz());d>0&&(a.width=d+"px")}if(!this.w5()){this.ci!=this.ia&&this.Xa();b=this.ia-(b.yz()+b.rz());b>0&&(a.height=b+"px")}this.AR(a)};k.prototype.W6=function(){var a=this.Hg.clientWidth,b=this.Hg.clientHeight; if(this.Q8!=a||this.P8!=b){this.Q8=a;this.P8=b;this.Xa();this.AD(k.v1)}else{a=(new Date).getTime()-this.x$;a>k.Tga?this.AD(k.Iga):a>k.Sga&&this.AD(k.Hga)}};k.prototype.$pa=function(){this.x$=(new Date).getTime()};k.prototype.AD=function(a){this.Rt==k.eAa&&this.$pa();if(this.Rt!=a){this.Rt!=k.PG&&k.b3[this.Rt].unbind(g.dd,this.W6,this);this.Rt=a;this.Rt!=k.PG&&k.b3[this.Rt].bind(g.dd,this.W6,this,n)}};k.prototype.AR=function(a){var b=this.Hg.style,d;for(d in a)b[d]=a[d]};var l=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i; k.PG="stopped";k.Iga="slow";k.Hga="normal";k.v1="fast";k.Tga=3E4;k.Sga=5E3;k.b3={slow:new a(2E3,n),normal:new a(500,n),fast:new a(100,n)};return k}); define("hR",["fg","iI","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("HTML",a).B("UIComponent").J({content:"string",fontColor:"color",fontFamily:"string",fontSize:"or[number, size]",fontStyle:"enum[italic, normal]",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",textAlign:"enum[center, justify, left, right]",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number",textShadowColor:"color",textShadowHorizontalLength:"number", textShadowOpacity:"number",textShadowVerticalLength:"number"}).fq(["fontSize"]);return a});define("b",["do","fg","kS","c"],function(a,b,c,e){var g=b.extend(c,function(){c.call(this)});g.pb={layout:e.fG};a.defaults(g.pb,c.pb);g.prototype.za=function(){this.bk(g.pb)};return g}); define("gJ",["fg","fV","b","iI"],function(a,b,c,e){a=a.extend(c,function(){c.call(this);this.or=r;this.set("contentOpaque",n)});a.prototype.za=function(){c.prototype.za.call(this);this.f("overflow",b.bl);this.f("html")};a.prototype.Ga=function(){c.prototype.Ga.call(this);this.or==r&&(this.or=new e,this.or.M({left:0}),this.la(this.or))};a.prototype.ka=function(){this.or.set("width",this.KS()?m:"100%");this.n("html")&&(this.or.set("content",this.k("html")),this.q("html"));this.ib(["paddingLeft","paddingTop", "paddingRight","paddingBottom"],{},[this.or],n,n);this.ib(["cursor"],{},[this.or],n,y);c.prototype.ka.call(this)};return a}); define("bk",["require","fg","gJ","dW"],function(a){var b=a("fg"),c=a("gJ"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("HTMLText",b).B("UIComponent").J({html:"string",overflow:"enum[scroll, hidden, visible]",scrollBarColor:"color",scrollBarWidth:"number",scrollBarMargin:"number",scrollBarHorizontalMargin:"number",scrollBarVerticalMargin:"number",scrollBarOpacity:"number",scrollBarVisible:"enum[rollOver, always]"});return b}); define("hO","require,jquery.mod,fg,ll,bZ,jt,fF,R,jn,fm,dm,jF".split(","),function(a){function b(a,b,d){return function(c){var f;f=b=="mouse"?this.mu(c):this.AB(c);this.S5(f)?a.call(this,c):d=="release"?a.call(this,c):this.Tka(f,c)}}var c=a("jquery.mod"),e=a("fg"),g=a("ll"),d=a("bZ"),f=a("jt"),h=a("fF"),j=a("R"),p=a("jn"),k=a("fm"),l=a("dm"),q=a("jF"),o=f.zg("debug"),a=e.extend(q,function(){this.Tc("Button");q.call(this,3);this.set("autoRolledOver",n);this.set("autoPressed",n);this.set("cursor",j.Ue); this.set("scaleMode",p.Te);this.IQ=document.createElement("canvas");this.IQ.width=1;this.IQ.height=1;this.JQ=this.IQ.getContext("2d");this.JQ.globalCompositeOperation="copy";this.XR=y;this.bind(g.Qb,this.Bma,this)});a.prototype.za=function(){q.prototype.za.call(this);this.f("buttonGroup");this.f("mode",l.Wc);this.f("pressed");this.f("iconURL");this.f("transparencyActive");this.h("rollOverOpacity",k.v,"opacity");this.h("rollOverIconURL",k.v,"iconURL");this.h("pressedOpacity",k.Ca,"opacity");this.h("pressedIconURL", k.Ca,"iconURL");this.h("pressedRollOverOpacity",k.$a,"opacity");this.h("pressedRollOverIconURL",k.$a,"iconURL")};a.prototype.fS=b(q.prototype.fS,"touch","capture");a.prototype.z4=b(q.prototype.Xka,"touch");a.prototype.B4=b(q.prototype.Xka,"touch","release");a.prototype.KW=b(q.prototype.KW,"touch","capture");a.prototype.JW=b(q.prototype.JW,"touch");a.prototype.ps=b(q.prototype.ps,"touch","release");a.prototype.ZT=b(q.prototype.ZT,"mouse","capture");a.prototype.$T=function(a){var b=this.mu(a);if(this.S5(b)|| this.XR){q.prototype.$T.call(this,a);q.prototype.set.call(this,"cursor",this.R3)}else{this.XR=n;if(b=this.X4(b)){c(b).trigger(this.p3(a));a.preventDefault();a.stopImmediatePropagation()}this.S4(b)=="pointer"?q.prototype.set.call(this,"cursor",j.Ue):q.prototype.set.call(this,"cursor",j.dd);this.XR=y}};a.prototype.Bma=function(){q.prototype.set.call(this,"cursor",this.R3)};a.prototype.qJ=b(q.prototype.qJ,"mouse","release");a.prototype.S5=function(a){if(!this.kb)return y;if(this.get("transparencyActive"))return n; var b=this.pa?this.pa.Qu:1,d=this.kb.offset(),c=(a.Kda-d.left)/b,f=this.kb.width(),a=(a.Lda-d.top)/b,b=this.kb.height();if(c>=0&&a>=0&&c0)return n}return y};a.prototype.Tka=function(a,b){var d=this.X4(a);if(d){c(d).trigger(this.p3(b));b.preventDefault();b.stopImmediatePropagation()}};a.prototype.X4=function(a){this.Lm().style.pointerEvents="none";a=document.elementFromPoint(a.Kda, a.Lda);setTimeout(function(){this.Lm().style.pointerEvents=this.l5()}.bind(this),0);return a};a.prototype.p3=function(a){return c.extend(c.Event(a.type),{originalEvent:a.originalEvent,wheelDelta:a.wheelDelta,detail:a.detail,which:1,clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY,screenX:a.screenX,screenY:a.screenY})};a.prototype.S4=function(a){if(a){var b=a.style.cursor;b=="inherit"&&(b=this.S4(a.parentElement))}else b="default";return b};a.prototype.PA=function(){if(this.get("pressed")){this.set("pressed", y);this.trigger(new d(g.Ph))}else{this.set("pressed",n);this.trigger(new d(g.Dg))}};a.prototype.set=function(a,b){if(a==="cursor")this.R3=b;return q.prototype.set.call(this,a,b)};a.prototype.ka=function(){var a=y;if(this.n("backgroundOpacityy")||this.n("backgroundColor"))a=n;if(this.n("iconURL")){this.set("url",this.k("iconURL"));this.q("iconURL")}var b=y;if(this.n("mode")){if(this.k("mode")==l.Wc){this.unbind(g.U,this.PA,this,n);this.set("autoPressed",n)}else{this.bind(g.U,this.PA,this,n);this.set("autoPressed", y)}this.q("mode");b=n}if(b||this.n("pressed"))this.k("mode")==l.Qh?this.Ly(this.k("pressed")==n):b&&this.Ly(y);if(this.n("buttonGroup")){(b=this.k("buttonGroup"))?h.register(this,b):h.cG(this);this.q("buttonGroup")}q.prototype.ka.call(this);if(a){a=this.Jb();if(a.Hh()==0||a.Vt.length==0){a.Jj(0.001);a.xea(["#000000"])}}};return a}); define("Z",["fg","hO","dW","ll"],function(a,b,c,e){a=a.extend(b,function(){b.call(this)});c.A("IconButton",a).B("UIComponent").J({buttonGroup:"string",iconURL:"string",mode:"enum[push, toggle]",horizontalAlign:"enum[left, center, right]",verticalAlign:"enum[bottom, middle, top]",rollOverIconURL:"string",rollOverOpacity:"number",pressed:"bool",pressedIconURL:"string",pressedOpacity:"number",pressedRollOverIconURL:"string",pressedRollOverOpacity:"number",transparencyActive:"bool"}).hh(["iconURL","rollOverIconURL", "pressedIconURL"]).Xb([e.Dg,e.Ph]).Hf([e.U]);return a});define("kk",["fg","dW","gs"],function(a,b,c){a=a.extend(c,function(){c.call(this,y)});b.A("IconHotspotMapOverlay",a).B("HotspotMapOverlay");return a}); define("kR",["require","fg","ll","jF","dW"],function(a){var b=a("fg"),c=a("ll"),e=a("jF"),a=a("dW"),b=b.extend(e,function(){e.call(this)});a.A("Image",b).B("UIComponent").J({horizontalAlign:"enum[center, left, right]",scaleMode:"enum[none, fill, fit_inside, fit_outside, fit_to_width, fit_to_height]",url:"string",verticalAlign:"enum[bottom, middle, top]"}).hh(["url"]).Hf([c.U]);return b}); define("gX",["fg","gP","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("Label",a).B("UIComponent").J({fontFamily:"string",fontSize:"or[number, size]",fontColor:"color",fontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",fontStyle:"enum[italic, normal]",horizontalAlign:"enum[left, center, right]",verticalAlign:"enum[top, middle, bottom]",text:"string",textDecoration:"enum[underline, overline, line-through, none]",textShadowBlurRadius:"number", textShadowColor:"color",textShadowHorizontalLength:"number",textShadowOpacity:"number",textShadowVerticalLength:"number"}).fq(["fontSize"]);return a});define("bu",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("bleaching",0);this.set("bleachingDistance",0.4)});a.A("LensFlarePanoramaOverlay",b).B("PanoramaOverlay").J({yaw:"number",pitch:"number",bleaching:"number",bleachingDistance:"number"});return b}); define("kV",["require","fg","dW","gC"],function(a){var b=a("fg"),c=a("dW"),e=a("gC"),a=b.extend(e,function(){e.call(this)});c.A("LivePanorama",a).B("Panorama").J({frameDisplayTime:"number",frameTransitionTime:"number",initialFrameIndex:"number"});a.prototype.CM=function(){return this.get("initialFrameIndex",0)};return a}); define("ih",["require","do","fg","u"],function(a){var b=a("do"),c=a("fg"),e=a("u");return{iQ:[],Eb:function(a,b,c,e){this.c2(a,b,c,e,y)},mba:function(a,b,c,e){this.c2(a,b,c,e,n)},c2:function(a,b,f,h,j){function p(){for(var e=[],h=0;h=0}.bind(this))};a.prototype.K2=function(){this.trigger(new g(e.Dg))};a.prototype.L2=function(){this.trigger(new g(e.Ph))};a.prototype.D2=function(){this.trigger(new g(e.U))};a.prototype.F2=function(){this.trigger(new g(e.Hb))};a.prototype.G2=function(){this.trigger(new g(e.fc))};a.prototype.N2=function(a){this.Ot.push(a.source);this.wg()};a.prototype.M2=function(a){this.Ot=this.Ot.filter(function(b){return b!=a.source});this.wg()}; a.prototype.set=function(a,b){this.Iq[a]=b;this.gg.forEach(function(a){a.M(this.Iq)}.bind(this));this.wg()};a.prototype.wg=function(){this.gg.forEach(function(a){a.get("state")==h.Ca&&this.Ot.indexOf(a)>=0?a.set("state",h.$a):a.get("state")==h.$a&&this.Ot.indexOf(a)<0&&a.set("state",h.Ca)}.bind(this))};return a}); define("eT","require,do,fg,ll,bZ,fm,R,b,d,ks,kF".split(","),function(a){var b=a("do"),c=a("fg"),e=a("ll"),g=a("bZ"),d=a("fm"),f=a("R"),h=a("b"),j=a("d");a("ks");a("kF");var p=c.extend(h,function(){h.call(this);this.Tc("PlaybackBar");this.li=this.Yd=r;this.Le=[];this.oK=y;this.SU=this.Yu=m;this.rW=y});p.pb={cursor:f.Ue,overflow:"visible",height:20,position:0,duration:100,steps:m,selectedStep:m,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:m,barBackgroundColorRatios:m, barBorderColor:m,barBorderRadius:m,barBorderSize:m,barOpacity:m,liveDragging:m,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:m,playheadBackgroundColorRatios:m,playheadBorderColor:m,playheadBorderRadius:m,playheadBorderSize:m,playheadOpacity:m,playheadWidth:5,playheadHeight:30,playheadShadow:n,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:m,playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF", stepBackgroundColorDirection:m,stepBackgroundColorRatios:m,stepBorderColor:m,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:n,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:m,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:m,selectedStepBackgroundColorRatios:m,selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2, selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:n,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:m,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};b.defaults(p.pb,h.pb);p.prototype.za=function(){this.bk(p.pb)};p.prototype.Ga=function(){h.prototype.Ga.call(this);(!this.Yd||!this.li)&&this.bind(e.zb,this.hpa,this,n);if(this.Yd==r){this.Yd=new j;this.Yd.M({left:"0",height:"100%", cursor:f.Ue});this.la(this.Yd)}if(this.li==r){this.li=new j;this.li.M({left:"0",cursor:f.Ue});this.li.bind(e.zb,this.kpa,this,n);this.li.bind(e.Hb,this.ipa,this,n);this.Ta().bind(e.Mc,this.I8,this,n);this.bind(e.U,this.fpa,this,n);this.li.bind(e.fc,this.jpa,this,n);this.la(this.li)}var a=this.get("steps")||0;if(this.Le.length!=a){for(;this.Le.length>a;)this.Zja(this.Le.pop());for(;this.Le.lengthe)g.ma=2*Math.atan2(a.x,a.w),g.md=Math.PI/2, g.pitch=0;else{var d=a.x*a.x,f=a.z*a.z;g.ma=-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*f);g.md=-Math.asin(2*e);g.pitch=Math.atan2(2*a.x*a.w-2*a.y*a.z,1-2*d-2*f);g.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,g.pitch))}g.ma*=b;g.pitch*=b;g.md*=-b;return g},ma:function(a){var e=a.x*a.y+a.z*a.w;return 0.499e?2*Math.atan2(a.x,a.w)*b:-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*a.z*a.z)*b}}}); define("kD",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(a,c){this.x=a||0;this.y=c||0};a.Vector2.prototype={constructor:a.Vector2,set:function(a,c){this.x=a;this.y=c;return this},copy:function(a){this.x=a.x;this.y=a.y;return this}};a.Vector3=function(a,c,e){this.x=a||0;this.y=c||0;this.z=e||0};a.Vector3.prototype={constructor:a.Vector3,set:function(a,c,e){this.x=a;this.y=c;this.z=e;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this}, length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},normalize:function(){var a=this.length();0!==a?this.Hda(1/a):this.z=this.y=this.x=0;return this},Hda:function(a){this.x*=a;this.y*=a;this.z*=a},applyQuaternion:function(a){var c=this.x,e=this.y,g=this.z,d=a.x,f=a.y,h=a.z,a=a.w,j=a*c+f*g-h*e,p=a*e+h*c-d*g,k=a*g+d*e-f*c,c=-d*c-f*e-h*g;this.x=j*a+c*-d+p*-h-k*-f;this.y=p*a+c*-f+k*-d-j*-h;this.z=k*a+c*-h+j*-f-p*-d;return this},Qua:function(a){return this.x*a.x+this.y*a.y+this.z* a.z},Mua:function(a,c){var e=a.x,g=a.y,d=a.z,f=c.x,h=c.y,j=c.z;this.x=g*j-d*h;this.y=d*f-e*j;this.z=e*h-g*f;return this}};a.Quaternion=function(a,c,e,g){this.x=a||0;this.y=c||0;this.z=e||0;this.w=g!==m?g:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(a,c,e,g){this.x=a;this.y=c;this.z=e;this.w=g;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},zea:function(a,c,e){var g=Math.cos(a/2),d=Math.cos(c/2),f=Math.cos(e/2),a=Math.sin(a/2),c=Math.sin(c/ 2),e=Math.sin(e/2);this.x=a*d*f+g*c*e;this.y=g*c*f-a*d*e;this.z=g*d*e-a*c*f;this.w=g*d*f+a*c*e;return this},setFromAxisAngle:function(a,c){var e=c/2,g=Math.sin(e);this.x=a.x*g;this.y=a.y*g;this.z=a.z*g;this.w=Math.cos(e);return this},multiply:function(a){return this.Gda(this,a)},Gda:function(a,c){var e=a.x,g=a.y,d=a.z,f=a.w,h=c.x,j=c.y,p=c.z,k=c.w;this.x=e*k+f*h+g*p-d*j;this.y=g*k+f*j+d*h-e*p;this.z=d*k+f*p+e*j-g*h;this.w=f*k-e*h-g*j-d*p;return this},inverse:function(){this.x*=-1;this.y*=-1;this.z*= -1;this.normalize();return this},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===a?(this.z=this.y=this.x=0,this.w=1):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},vza:function(a,c){if(0===c)return this;if(1===c)return this.copy(a);var e=this.x,g=this.y,d=this.z,f=this.w,h=f*a.w+e*a.x+g*a.y+d*a.z;0>h?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,h=-h):this.copy(a);if(1<=h)return this.w=f,this.x=e,this.y=g,this.z=d,this;var j=Math.acos(h), p=Math.sqrt(1-h*h);if(0.001>Math.abs(p))return this.w=0.5*(f+this.w),this.x=0.5*(e+this.x),this.y=0.5*(g+this.y),this.z=0.5*(d+this.z),this;h=Math.sin((1-c)*j)/p;j=Math.sin(c*j)/p;this.w=f*h+this.w*j;this.x=e*h+this.x*j;this.y=g*h+this.y*j;this.z=d*h+this.z*j;return this},Aea:function(){var b,c;return function(e,g){b===m&&(b=new a.Vector3);c=e.Qua(g)+1;1.0E-6>c?(c=0,Math.abs(e.x)>Math.abs(e.z)?b.set(-e.y,e.x,0):b.set(0,-e.z,e.y)):b.Mua(e,g);this.x=b.x;this.y=b.y;this.z=b.z;this.w=c;this.normalize(); return this}}()};return a}); define("ef",["require","ll","bZ","eO","kD"],function(a){function b(){p||(p=n,o=new j.Vector3(0,0,1),t=new j.Quaternion,s=new j.Quaternion(-Math.sqrt(0.5),0,0,Math.sqrt(0.5)),v=new j.Quaternion,e(),window.addEventListener("orientationchange",e,y),window.addEventListener("deviceorientation",g,y),c())}function c(){if(u&&!(l===m||q===m)){u=y;var a=j.degToRad*q;v.zea(j.degToRad*l.beta,j.degToRad*l.alpha,-(j.degToRad*l.gamma));v.multiply(s);v.multiply(t.setFromAxisAngle(o,-a));w||(x++,5<=x&&(w=n,k.trigger(new f(d.Lb)))); k.trigger(new f(d.aa))}}function e(){q=window.orientation||0;u=n;c()}function g(a){l=a;u=n;c()}var d=a("ll"),f=a("bZ"),h=a("eO"),j=a("kD"),p=y,k=new h,l,q,o,t,s,v,u,w=y,x=0;b.prototype.Fn=function(){c();return v};b.prototype.bind=function(){k.bind.apply(k,arguments)};b.prototype.unbind=function(){k.unbind.apply(k,arguments)};b.prototype.stop=function(){window.removeEventListener("orientationchange",e,y);window.removeEventListener("deviceorientation",g,y)};return b}); define("gO","require,ll,bZ,eO,r,kD".split(","),function(a){function b(a){this.Twa=a;this.jY=new g;this.mM=new g;this.AZ=new g;this.Pv=new p.Quaternion;this.zZ=new p.Quaternion;this.lba=new p.Quaternion;this.lda=y;this.pM=new p.Vector3;this.nZ=new p.Vector3;this.$va=new p.Quaternion}function c(){this.Dda=y;this.Cda=0;this.ME=new p.Vector3;this.JM=new p.Vector3;this.filter=new b(l);this.wxa=new e(q);this.Dz=o.Dz();this.Fj=o.Fj();o.wY();this.hZ=o.Bwa();this.rM=new p.Quaternion;o.Fj()?this.rM.setFromAxisAngle(new p.Vector3(1, 0,0),Math.PI/2):this.rM.setFromAxisAngle(new p.Vector3(1,0,0),-Math.PI/2);this.ZY=new p.Quaternion;this.aA=new p.Quaternion;this.lxa=new p.Quaternion;this.lxa.setFromAxisAngle(new p.Vector3(0,0,1),-window.orientation*Math.PI/180);this.Mea();o.Gwa()&&this.rM.multiply(this.ZY);this.fea=new p.Quaternion;this.Dz=o.Dz();this.Fj=o.Fj();this.Awa=o.wY()>=66;this.gw=this.gw.bind(this);this.yF=this.yF.bind(this);this.xF=this.xF.bind(this);screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change", this.gw):window.addEventListener("orientationchange",this.gw);this.hZ?window.addEventListener("deviceorientation",this.yF):window.addEventListener("devicemotion",this.xF)}function e(a){this.xxa=a;this.jN=new p.Quaternion;this.Oz=r;this.Kba=new p.Quaternion;this.AF=new p.Quaternion}function g(a,b){this.set(a,b)}var d=a("ll"),f=a("bZ"),h=a("eO"),j=a("r"),p=a("kD"),k=new h,l=0.98,q=0.04;b.prototype.$ta=function(a,b){this.jY.set(a,b)};b.prototype.cua=function(a,b){this.mM.set(a,b);o.Qwa(b-this.AZ.GN)&& this.Vxa();this.AZ.copy(this.mM)};b.prototype.Vxa=function(){if(this.lda){var a=this.awa(this.mM.sample,this.mM.GN-this.AZ.GN);this.$va.multiply(a);this.Pv.copy(this.zZ);this.Pv.multiply(a);a=new p.Quaternion;a.copy(this.Pv);a.inverse();this.pM.set(0,0,-1);this.pM.applyQuaternion(a);this.pM.normalize();this.nZ.copy(this.jY.sample);this.nZ.normalize();a=new p.Quaternion;a.Aea(this.pM,this.nZ);a.inverse();var b=new p.Quaternion;b.copy(this.Pv);b.multiply(a);this.Pv.vza(b,1-this.Twa);this.zZ.copy(this.Pv)}else{this.lba= this.Zta(this.jY.sample);this.zZ.copy(this.lba);this.lda=n}};b.prototype.Fn=Q("Pv");b.prototype.Zta=function(a){var b=new p.Vector3;b.copy(a);b.normalize();a=new p.Quaternion;a.Aea(new p.Vector3(0,0,-1),b);a.inverse();return a};b.prototype.awa=function(a,b){var d=new p.Quaternion,c=new p.Vector3;c.copy(a);c.normalize();d.setFromAxisAngle(c,a.length()*b);return d};c.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&&screen.orientation.removeEventListener("change", this.gw);window.removeEventListener("orientationchange",this.gw);window.removeEventListener("deviceorientation",this.yF);window.removeEventListener("devicemotion",this.xF)};c.prototype.Js=R(r);c.prototype.Fn=function(){var a=m;if(this.hZ&&this.QH){this.Mba=this.Mba||function(){var a=(new p.Quaternion).setFromAxisAngle(new p.Vector3(0,0,-1),0),b=new p.Quaternion;this.PK=="landscape-secondary"?b.setFromAxisAngle(new p.Vector3(0,1,0),Math.PI/-2):b.setFromAxisAngle(new p.Vector3(0,1,0),Math.PI/2);return a.multiply(b)}(); this.Lba=this.Lba||function(){var a=new p.Quaternion;a.setFromAxisAngle(new p.Vector3(1,0,0),-Math.PI/2);return a}();var a=this.QH,b=new p.Quaternion;b.copy(a);b.multiply(this.Lba);b.multiply(this.fea);b.multiply(this.aA);b.Gda(this.Mba,b);if(this.ZBa){b.x=0;b.z=0;b.normalize()}this.gN[0]=b.x;this.gN[1]=b.y;this.gN[2]=b.z;this.gN[3]=b.w;return this.gN}a=this.wxa.Pva(this.filter.Fn(),this.JM,this.Oz);b=new p.Quaternion;b.copy(this.rM);b.multiply(this.fea);b.multiply(a);b.multiply(this.aA);return b}; c.prototype.yF=function(a){this.QH=this.QH||new p.Quaternion;var b=a.alpha,d=a.VAa,a=a.kBa,b=(b||0)*Math.PI/180,d=(d||0)*Math.PI/180,a=(a||0)*Math.PI/180;this.QH.zea(d,b,-a)};c.prototype.xF=function(a){var b=a.rotationRate;if(b){var c=a.accelerationIncludingGravity,a=a.timeStamp/1E3;this.Dz&&(a=a/1E3);var e=a-this.Oz;if(e<=o.m0||e>o.k0)this.Oz=a;else{this.ME.set(-c.x,-c.y,-c.z);this.JM.set(b.alpha,b.beta,b.gamma);(this.Fj||this.Dz||this.Awa)&&this.JM.Hda(Math.PI/180);this.filter.$ta(this.ME,a);this.filter.cua(this.JM, a);this.Oz=a;if(!this.Dda){this.Cda++;if(this.Cda>=5){this.Dda=n;k.trigger(new f(d.Lb))}}this.PK!=this.Wba()&&this.gw();k.trigger(new f(d.aa))}}else{this.hZ=n;window.addEventListener("deviceorientation",this.yF);window.removeEventListener("devicemotion",this.xF)}};c.prototype.bind=function(){k.bind.apply(k,arguments)};c.prototype.unbind=function(){k.unbind.apply(k,arguments)};c.prototype.gw=function(){this.Mea();k.trigger(new f(d.aa))};c.prototype.Mea=function(){this.aA.set(0,0,0,1);this.PK=this.Wba(); switch(this.PK){case "landscape-primary":this.aA.setFromAxisAngle(new p.Vector3(0,0,1),-Math.PI/2);break;case "landscape-secondary":this.aA.setFromAxisAngle(new p.Vector3(0,0,1),Math.PI/2)}this.ZY.copy(this.aA);this.ZY.inverse()};c.prototype.Wba=function(){var a=screen.orientation&&screen.orientation.type;if(!a)switch(window.orientation){case 0:a="portrait-primary";break;case 90:a="landscape-primary";break;case -90:a="landscape-secondary";break;case 180:a="portrait-secondary"}a=="landscape-primary"&& (this.ME.z>4.9||this.ME.z<-4.9?a=this.PK||a:this.ME.x>0&&(a="landscape-secondary"));return a};e.prototype.Pva=function(a,b,d){if(!this.Oz){this.jN.copy(a);this.Oz=d;return a}d=new p.Vector3;d.copy(b);d.normalize();b=b.length();if(bo.k0?y:n}};o.Fj=function(){var a=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return a}}();o.wBa=function(){var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return a}}();o.Dz=function(){var a=navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return a}}();o.wY=function(){var a=navigator.userAgent.match(/.*Chrome\/([0-9]+)/), b=a?parseInt(a[1],10):r;return function(){return b}}();o.Bwa=function(){var a=y;if(o.wY()===65){var b=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(b)var b=b[1].split("."),d=b[3],a=parseInt(b[2],10)===3325&&parseInt(d,10)<148}else"getVRDisplays"in navigator&&j.browser()==j.Ii&&j.$E()&&j.Uc()==j.kG&&(a=n);return function(){return a}}();o.Gwa=function(){return window.orientation==90||window.orientation==-90};return c}); define("fT","require,fg,ll,bZ,eO,ku,r,ef,gO,jt".split(","),function(a){function b(){function a(){q=n;k.trigger(new e(c.aa))}function b(){var f;s&&(d||!l)?f=t:l&&(f=g);if(o!=f){if(o){o.unbind(c.aa,a);o.stop()}if(o=f){o.bind(c.aa,a,this,n);a()}}}var d=f.Rd()==f.Lh||p.zg("debug")&&p.Jn("sensor")=="deviceorientation",g=new j,l=y;g.bind(c.Lb,function(){l=n;b()},this,n);var t=new h,s=y;t.bind(c.Lb,function(){s=n;b()},this,n)}a("fg");var c=a("ll"),e=a("bZ"),g=a("eO"),d=a("ku"),f=a("r"),h=a("ef"),j=a("gO"), p=a("jt"),k=new g,l={},q=y,o,t=[],s=y,v=y;l.EZ=function(a){a&&t.push(a);if(l.disabled){if(f.Rd()==f.Lh&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(a){if(a==="granted"){v=n;d()}})["catch"](D());DeviceMotionEvent.requestPermission().then(function(a){if(a==="granted"){s=n;d()}})["catch"](D());var d=function(){if(l.disabled&&s&&v){l.disabled=y;for(b();t.length;)t.pop()()}};d()}}else for(;t.length;)t.pop()()};l.bind=function(a, b){k.bind(c.aa,a,b)};l.unbind=function(a,b){k.unbind(c.aa,a,b)};l.kxa=function(){return q};l.Fn=function(){q=y;if(o){var a=o.Fn(),a=d.r_(a);return{yaw:a.ma,pitch:a.pitch,roll:a.md}}return{yaw:0,pitch:0,roll:0}};if(f.Rd()==f.oP||f.Rd()==f.Vfa){l.available=y;l.disabled=y}else if(f.Rd()==f.A_&&f.browser()==f.Ii&&window.location.protocol!="https:"&&window.location.hostname!="localhost"){l.available=n;l.disabled=n}else if(f.Rd()==f.Lh){l.available=n;l.disabled=n;if(!window.DeviceMotionEvent||!DeviceMotionEvent.requestPermission){var u= function(){window.removeEventListener("deviceorientation",u,y);l.disabled=y;b()};window.addEventListener("deviceorientation",u,y)}else l.EZ()}else{l.available=window.DeviceMotionEvent!=m;l.disabled=y}l.available&&!l.disabled&&b();return l});define("jL",["require"],function(){return{xAa:"single",FRONT:"front",ra:"left",BACK:"back",Na:"right",ob:"top",nb:"bottom"}}); define("gW",["require","jL"],function(a){var a=a("jL"),b={},c=Math.PI/180,e=new THREE.Matrix4;new THREE.Matrix4;var g=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];b.Md=Math.pow(10,3);b.$N=0.5*b.Md;b.pga=b.Md;b.c1=[a.FRONT,a.Na,a.BACK,a.ra,a.ob,a.nb];b.Fba=function(a,c){for(var e=b.Md,j=b.$N,g=a*c,k=this.vo(),l=[],q=0,o=6*g;q=u)))return s=c.origin.x+c.direction.x*u-k.x,v=c.origin.y+c.direction.y*u-k.y,k=c.origin.z+c.direction.z*u-k.z,c=(b*s+p*v+o*k)/(b*b+p*p+o*o),k=(l*s+t*v+q*k)/(l*l+t*t+q*q),b=a.faceVertexUvs[0][0][0],p=a.faceVertexUvs[0][1][2],l=a.faceVertexUvs[0][0][1],a=b.x+(p.x-b.x)*c+(l.x-b.x)*k,b=b.y+(p.y-b.y)*c+(l.y-b.y)*k,0>c||1k||1=w))){v=e.origin.x+e.direction.x*w-k.x;u=e.origin.y+e.direction.y*w-k.y;e=e.origin.z+e.direction.z* w-k.z;if(0!=(k=s*c-l*o))c=(u*c-v*o)/k,o=(u*l-v*s)/-k;else if(0!=(k=q*c-l*t))c=(u*c-v*o)/k,o=(u*l-v*s)/-k;else if(0!=(k=q*o-s*t))c=(e*o-u*t)/k,o=(e*s-u*q)/-k;else return;if(!(0>o||1c||1a;a++){var p=g[(a+3)%4],k=g[a],q=g[(a+1)%4];if(0>=k.z)l[c++]=k;else{if(0>=p.z){var o=g[e++],t=p.z/(p.z-k.z);o.x=p.x+(k.x-p.x)*t;o.y=p.y+(k.y-p.y)*t;o.z=-1.0E-5; l[c++]=o}0>=q.z&&(o=g[e++],t=k.z/(k.z-q.z),o.x=k.x+(q.x-k.x)*t,o.y=k.y+(q.y-k.y)*t,o.z=-1.0E-5,l[c++]=o)}}if(2c.x&&-1>e.x&&-1>p.x||1c.y&&-1>e.y&&-1>p.y))return n}return y};b.Gba=function(a,e,h,j,g,k,l,q,o){for(var t=a*c,s=0.5*-t+0.5*Math.PI,v=e*c,u=0.5*(Math.PI-v)-h*c,w=0.5*b.pga,x=64/Math.PI,z=Math.max(2,Math.ceil(t/j*x)),x=Math.max(2,Math.ceil(v/g*x)),C=j*z, A=g*x,K=this.vo(),F=0,J=[],B=0;B<=A;B++){for(var O=[],N=u+B*v/A,I=0;I<=C;I++){var L=-(s+I*t/C);K.vertices.push(new THREE.Vector3(-w*Math.cos(L)*Math.sin(N),+w*Math.cos(N),+w*Math.sin(L)*Math.sin(N)));O.push(F++)}J.push(O)}for(s=t=0;s',w='',x='',z='',C='';if(d.Za()){s=s+" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;";l=l+" font-size:3.6vmin; line-height:4.3vmin;";q=q+" margin:5vmin 0;";o=o+" margin:5vmin 0;";t=t+" margin:3vmin 0;";v=v+" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"}else s= s+" font-size:19px; padding:17px 34px;";q=q+l;b.prototype.XQ=function(){if(!this.Eg){this.Eg=c("
");this.Eg.css({position:"fixed","z-index":h.Qfa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});this.Eg.html(this.lja);c(this.Eg).find("button").on("click",function(a){this.Ona(c(a.currentTarget).attr("id"))}.bind(this))}};b.prototype.QV=function(a,b){var d={},c;for(c in b)d[c]=a.css(c);this.vW.push({$el:a,css:d});a.css(b)};b.prototype.aqa= function(){for(;this.vW.length;){var a=this.vW.pop();a.$el.css(a.css)}};b.prototype.show=function(a,b,d){a||(a=D());b||(b=D());if(this.JD){var e=this.GH;this.GH=function(){e();a()};var f=this.tH;this.tH=function(){f();b()}}else{this.XQ();this.GH=a;this.tH=b;var h=this.pla();if(h===m){this.JD=n;var j=this,h=c(p.gm()||document.body);if(d!==n)h.children().each(function(){j.QV(c(this),{visibility:"hidden"})});else{this.QV(h,{overflow:"hidden"});h.children().each(function(){j.QV(c(this),{position:"absolute", "z-index":0})})}h.append(this.Eg)}else{this.JD=y;h?this.GH():this.tH()}}};b.prototype.hide=function(){if(this.JD){this.JD=y;this.Eg.detach();this.aqa()}};b.prototype.pla=function(){var a=k.getItem(this.R4());if(a=="true")return n;if(a=="false")return y};b.prototype.U9=function(a){k.setItem(this.R4(),a?"true":"false")};b.prototype.R4=function(){return this.Sta+"DontDisplay:"+window.location.pathname};b.prototype.Ona=function(a){var b=c("#tdvvriw_dontdisplay").is(":checked");this.hide();if(a=="tdvvriw_continue"){this.GH(); b&&this.U9(n)}else if(a=="tdvvriw_cancel"){this.tH();b&&this.U9(y)}};var a=e.extend(b,function(){var a=['
\n
',u,'
'+g("use-cardboard-info")+"
",'
","
",'
',"
",'
','
'+ g("samsung-internet-vr-app-info")+"
",'
","
",z,"
\n
",'
','","
"].join("\n");b.call(this,"ChromeAppInfoWindow",a)}),A=e.extend(b, function(){var a=['
\n
',u,'
'+g("use-cardboard-info")+"
",'
',"
",'
',"
",'
','
'+g("samsung-internet-vr-info")+"
","
",z,"
\n
", '
','","
"].join("\n");b.call(this,"SamsungInternetInfoWindow",a)}),K=e.extend(b,function(){b.call(this,"SamsungInternetForGearVRInfoWindow",['
\n
', z,'
This content requires access to the WebVR API.
To enable WebVR open the "More" menu you\'ll find above this window and then click on the "Labs" item.
','
',"
\n
"].join("\n"))}),F=e.extend(b,function(){var a=['
','
','
","
"].join("\n");b.call(this,"ExternalVRDisplayVRInfoWindow",a)});F.prototype.XQ=function(){b.prototype.XQ.call(this);f.$g("vrv")===n&&this.Eg.css({background:"none"})};var J=e.extend(b,function(){var a;a=d.browser()==d.If?window.location.protocol!="https:"?"
"+g("giroscope-disabled-http")+"
":window.DeviceMotionEvent.requestPermission? g("giroscope-disabled-safari-request-permission").map(function(a){return"
"+a+"
"}).join("\n"):g("giroscope-disabled-safari-toggle-on"):"
"+g("giroscope-disabled-http")+"
";a=['
\n
','
',a,"
",'
',"
\n
", '
','","
"].join("\n");b.call(this,"GiroscopeDisabledInfoWindow",a)}),B=e.extend(b,function(){var a=['
\n
', u,'
'+g("use-cardboard-info")+'
","
",'
',"
",z,'
It looks like this device is compatible with Gear VR. If you have a Gear VR headset you can view this content using the Carmel Web Browser (by Oculus).
','
',"
\n
"].join("\n");b.call(this,"CarmelInstallationPromptVRInfoWindow", a)}),O=e.extend(b,function(){var a=['
\n
',u,'
'+g("cardboard-v1")+"
",'
","
",'
',"
",'
'+g("cardboard-v2")+"
",'
",x,"
\n
",'
','","
"].join("\n");b.call(this,"CardboardV2InfoWindow",a)}),N=e.extend(b,function(){var a=['
', '
','
","
"].join("\n");b.call(this,"EnterVRInfoWindow",a)}),I=e.extend(b,function(){b.call(this,"PreparingVRInfoWindow",['
','
Preparing VR...
',"
"].join("\n"))}), L=e.extend(b,function(){var a=['
',w,'
\n
',C,'
'+g("use-safari-for-vr")+"
",'
',"
",'
','","
"].join("\n");b.call(this,"UseSafariVRInfoWindow",a)}),e=e.extend(b,function(){var a=['
','','
\n
\n
', '','
'+g("rotate-device")+"
","
\n
"].join("\n");b.call(this,"RotateVRInfoWindow",a)}),G={};G.oga=new A;G.wAa=new K;G.a0=new F;G.dAa=new B;G.hAa=new N;G.qAa=new I;G.n1=new L;G.oA=new e;G.f0=new J;G.ufa=new a;G.YN=new O;return G});define("cw",["require"],function(){return{Oj:"Cardboard",Ega:"WebVR",Fga:"WebXR"}}); define("fK","require,iX,r,gl,jt,V".split(","),function(a){var b=a("iX"),c=a("r"),e=a("gl"),g=a("jt");a("V");var d={Rwa:function(a){return this.rF(a)||this.qda(a)?n:y},bo:function(){var a=c.yxa();d.bo=function(){return a};return a},qda:function(a){return typeof a=="string"&&e.is(a,e.Ni)?n:y},vBa:function(a){return this.cZ(a)||this.dZ(a)?n:y},dZ:function(a){return typeof a=="string"&&(e.is(a,e.Ofa)||e.dw(a,e.Pfa))?n:y},rF:function(a){return!!a&&!!a.tagName&&a.tagName=="VIDEO"},Ks:function(a){return typeof a== "string"&&e.is(a,e.Sj)||this.rF(a)&&e.is(a.currentSrc,e.Sj)?n:y},Jh:function(a){return typeof a=="string"&&e.is(a,e.Ni)||this.rF(a)&&e.is(a.currentSrc,e.Ni)?n:y},cZ:function(a){return!!a&&!!a.tagName&&a.tagName=="IMG"},eda:function(a){return!!a&&!!a.tagName&&a.tagName=="CANVAS"},nca:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},nda:function(a){return a!==0&&(a&a-1)===0},gda:function(){return c.browser()==c.Ji},Jwa:function(){return c.browser()==c.mq},Fj:function(){return c.Rd()== c.Lh},lfa:function(a){if(h)return n;if(c.fY()&&c.GF()<15.1)if(c.GF()>=15){if(c.Mca())return n}else if(d.Ks(a))return n;if(d.Jwa())return n;if(d.Fj()){if(c.Ds()==c.Hw&&c.cw()>=15)return y;if(d.Ks(a)){if(!b.Zca||c.cw()>=14&&c.cw()<14.6)return n}else if(c.cw()<12||a&&a.videoWidth&&a.videoHeight&&a.videoWidth*a.videoHeight<=262144)return n}return y},Rca:function(){return d.gda()||d.Fj()},Qca:function(){return d.Fj()&&b.Zca&&c.cw()<11}},f=y;d.ada=function(){f=y};d.zwa=function(){return f};d.eya=function(){f= n};var h=g.zg("vic");d.uxa=function(){d.Fj()&&(h=n)};d.iY=function(a,b){var e={alpha:n,depth:n,stencil:n,antialias:c.oda()||c.Dwa()||c.bZ()||c.jda()||c.Lwa()||c.Nwa()||c.rda()?y:b||y,premultipliedAlpha:n,preserveDrawingBuffer:y,powerPreference:"default",failIfMajorPerformanceCaveat:y,xrCompatible:!d.gda()};return a.getContext("webgl",e)||a.getContext("experimental-webgl",e)};d.getPixelRatio=function(){if(c.Za()){var a=0,b=0;try{a=window.top.innerWidth;b=window.top.innerHeight}catch(d){}var e=window.devicePixelRatio|| 1,a=[Math.max(document.documentElement.clientWidth,a),Math.max(document.documentElement.clientHeight,b)].sort(function(a,b){return b-a}),e=[screen.width*e,screen.height*e].sort(function(a,b){return b-a}),e=[e[0]/a[0],e[1]/a[1]].sort()[0];if(e!==Infinity)return e}else if(c.Rd()==c.Sfa&&c.browser()==c.Ii)return 1;return window.devicePixelRatio};return d}); define("dc","require,fg,jquery.mod,do,lk,bK,ll,r,d,ks,kF".split(","),function(a){function b(){this.Ic=y;this.$D=r;this.ia=this.X=100;this.ZS=this.Qf=m;this.$S=100;this.K=document.createElement("div");this.K.style.opacity=0;this.K.style.display="none";this.K.style.SBa="opacity 0.3s";this.K.addEventListener("transitionend",this.LW.bind(this));this.Bd=document.createElement("div");this.KZ(n);this.Bd.style.position="absolute";this.Bd.style.left=0;this.Bd.style.top=0;this.Bd.style.right=0;this.Bd.style.bottom= 0;this.K.appendChild(this.Bd);this.kb=document.createElement("img");this.kb.style.cursor="pointer";this.kb.style.position="absolute";this.kb.style.left="50%";this.kb.style.top="50%";this.kb.style.transform="translate(-50%, -50%)";this.K.appendChild(this.kb);this.rP=g(this.K)}function c(a,b){this.reason=a;this.Hp=b}var e=a("fg"),g=a("jquery.mod");a("do");a("lk");var d=a("bK"),f=a("ll"),h=a("r"),j=a("d"),p=a("ks"),k=a("kF"),l=e.extend(j,function(){j.call(this);this.Tc("UserInteractionWindow");this.Ha= r;this.Zm=[];var a=new p;a.set("duration",500);a.set("easing","cubic_in");var b=new k;b.set("duration",500);b.set("easing","cubic_out");this.M({contentOpaque:n,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:y});this.bind(f.zb,this.yX,this,n);this.bind(f.U,this.Hta,this,n)});l.prototype.yX=function(){this.Ha&&this.Ha.setSize(this.Jd(),this.Id())};l.prototype.Hta=function(){var a=this.Zm.slice();this.Zm=[];this.JL();a.forEach(function(a){a.Hp.call(a.context)})};l.prototype.Ga=function(){j.prototype.Ga.call(this); if(!this.Ha){this.Ha=new b;this.Ha.setSize(this.Jd(),this.Id());this.Ha.xe(n);this.Ra().append(this.Ha.Gb().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"}));this.JL()}};l.prototype.el=function(){j.prototype.el.call(this);this.getParent().bind(f.zb,this.yX,this,n);l.hha(this)};l.prototype.qj=function(){this.getParent().unbind(f.zb,this.yX,this,n);j.prototype.qj.call(this);l.Npa(this)};l.prototype.Rxa=function(a){this.cs(o,a)};l.prototype.FZ=function(a){this.cs(q,a)};l.prototype.cs= function(a,b){this.Zm.push(new c(a,b));this.Zm.sort(function(a,b){return t[a.reason]-t[b.reason]});this.JL()};l.prototype.tua=function(a){this.cancel(o,a)};l.prototype.rua=function(){this.cancel(q,m)};l.prototype.cancel=function(a,b){var d=this.Yla(a,b);d>=0&&this.Upa(d)};l.prototype.H2=function(){this.ZG(n)};l.prototype.hH=function(){this.ZG(y)};l.prototype.Yla=function(a,b){for(var d=0;d0?this.Zm[0]:r};var q="vr",o="play",t={};t[q]=0;t[o]=1;b.prototype.Gb=Q("rP");b.prototype.setSize=function(a,b){if(this.X!==a||this.ia!==b){this.X=a;this.ia=b;this.KL()}};b.prototype.KZ=function(a){this.Bd.style.backdropFilter=a?"blur(8px)": "none"};b.prototype.xe=function(a){if(this.Ic!=a){this.Ic=a;if(this.$D){clearTimeout(this.$D);this.$D=r}if(this.Ic){this.K.style.display="block";this.K.style.opacity=0;this.$D=setTimeout(function(){this.$D=r;this.K.style.opacity=1}.bind(this),30)}else this.K.style.opacity=0}};b.prototype.uN=function(a){if(this.Qf!=a){this.Qf=a;this.fta()}};b.prototype.LW=function(){if(!this.Ic)this.K.style.display="none"};b.prototype.fta=function(){switch(this.Qf){case b.AG:this.ZS=d.vt;this.$S=d.jga;break;case b.h0:this.ZS= d.Aga;this.$S=d.Cga}this.kb.src=this.ZS;this.KL()};b.prototype.KL=function(){if(h.Za()){this.kb.style.maxWidth=Math.round(this.X*0.5)+"px";this.kb.style.width="20vmin"}else{this.kb.style.maxWidth=Math.round(this.X*0.33)+"px";this.kb.style.width=this.$S+"px"}};b.AG="play";b.h0="vr";l.GG=b;l.Yc=[];l.JU=[];l.hha=function(a){l.Yc.push(a);l.JU.forEach(function(b){l.L5(a,b)});l.JU=[]};l.Npa=function(a){l.Yc.splice(l.Yc.indexOf(a),1)};l.ready=function(){return l.Yc.length>0};l.FZ=function(a){l.Yc.length? l.Yc.forEach(function(b){l.L5(b,a)}):l.JU.push(a)};l.L5=function(a,b){a.FZ(function(){l.Yc.forEach(function(b){b!=a&&b.rua()});b()})};return l}); define("lb",["require"],function(){var a={Rj:{}};a.Rj.NONE="none";a.Rj.ra="left";a.Rj.Na="right";a.mh=function(){this.y=this.x=0;this.height=this.width=1};a.o1=function(){this.eye=a.Rj.NONE;this.viewport=new a.mh;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.Hfa=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.yM=[]};a.Ufa=function(){this.ZE=r;this.Ik=200;this.Bj=100;this.uM=1};return a}); define("dh",["require"],function(){return{uG:"gaze",NO:"gaze_click"}}); define("fA","require,fg,ll,fK,eO,dc,lb,r,gL,jt,dh".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("fK"),g=a("eO"),d=a("dc"),f=a("lb"),h=a("r"),j=a("gL"),p=a("jt"),k=a("dh"),a=b.extend(g,function(){g.call(this);this.H9=k.uG;this.wk=[];this.jc=new f.Hfa;this.og=new f.o1;this.og.eye=f.Rj.ra;this.sg=new f.o1;this.sg.eye=f.Rj.Na;this.jc.views=[this.og,this.sg];this.Qc=new f.Ufa;this.bind(c.aa,this.Ju,this,y)});a.prototype.mm=D();a.prototype.Fh=D();a.prototype.$d=D();a.prototype.EM=Q("Qc");a.prototype.Dn= Q("jc");a.prototype.Ma=D();a.prototype.isPresenting=D();a.prototype.xd=D();a.prototype.HM=Q("H9");a.prototype.Xv=D();a.prototype.fz=function(a){this.wk.indexOf(a)<0&&this.wk.push(a)};a.prototype.nN=function(a){this.wk.splice(this.wk.indexOf(a),1);this.Xv()==a&&this.$d()};a.prototype.yN=function(a){var b=this.wk.indexOf(a);if(!(b<0||b==this.wk.length-1)){this.wk.splice(b,1);this.wk.splice(this.wk.length,0,a)}};a.prototype.Rla=function(){return this.wk.length>0?this.wk[this.wk.length-1]:r};a.prototype.HV= function(){var a=this.Rla();if(a==r){a=document.createElement("canvas");a=e.iY(a);this.fz(a)}return a};a.prototype.CK=function(a){d.FZ(a)};a.prototype.fW=function(a){if(h.Uc()==h.Fw){this.rV();j.ufa.show(a,function(){this.g2()}.bind(this))}else h.$E()&&h.Uc()==h.gA?j.oga.show(a):h.Uc()==h.iG?j.n1.show(a):h.Uc()==h.jG?j.n1.show():a()};a.prototype.IV=function(a){var b=function(b){this.H9=b;a()}.bind(this);!h.Za()||h.le()?b(k.uG):p.Jn("cardboard_version")=="1"?b(k.uG):p.Jn("cardboard_version")=="2"? b(k.NO):j.YN.show(function(){b(k.NO)}.bind(this),function(){b(k.uG)}.bind(this))};a.prototype.Ju=function(){h.Za()||(this.isPresenting()?j.a0.show(this.$d.bind(this)):j.a0.hide())};a.prototype.g2=function(){this.rV();var a=this.x5();a.push("vr");this.q2(a)};a.prototype.rV=function(){this.q2(this.x5().filter(function(a){return a!="vr"}))};a.prototype.x5=function(){var a=window.location.hash.substring(1);return a.length?a.split("&"):[]};a.prototype.q2=function(a){window.location.hash="#"+(a.length? a.join("&"):"")};return a}); define("p",["require","jquery.mod","ke"],function(a){function b(){k.get(0)==document.body&&f.height(window.innerHeight)}function c(a,b){var d={},c;for(c in b)d[c]=a.css(c);l.push({$el:a,css:d});a.css(b)}function e(a){this.K=a}var g=a("jquery.mod"),d=a("ke");e.prototype.Fh=function(){this.enabled()||this.toggle()};e.prototype.$d=function(){this.enabled()&&this.toggle()};e.prototype.toggle=function(){this.enabled()?e.cancel():e.Bg(this.K)};e.prototype.enabled=function(){return e.enabled(this.K)};var f= g("
").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),h=g("
"),j=r,p=r,k=r,l=[],q=r;e.Bg=function(a){if(a!==j){e.cancel();j=a;var l=d.gm()||document.body;p=g(a);k=g(l);h.insertAfter(p);p.appendTo(f);k.children().each(function(){c(g(this),{visibility:"hidden"})});c(p,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});l==document.body?c(f,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,padding:0}):c(f,{position:"absolute", left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});f.appendTo(k);b();q=setInterval(b,300)}};e.cancel=function(){if(j){f.detach();p.insertBefore(h);for(h.detach();l.length;){var a=l.pop();a.$el.css(a.css)}k=p=j=r;l=[];clearInterval(q)}};e.enabled=function(a){return j==a};return e}); define("iD","require,fg,ll,bZ,eO,lk,bK".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("lk"),a=a("bK"),f=['
','','
\n
\n
'].join("\n"),h=f+['','
'+ d("rotate-device")+"
"].join("\n")+"
\n
",j=f+['','
Please, swipe up to
enter Fullscreen Mode
'].join("\n")+"
\n
",b=b.extend(g,function(){g.call(this);this.ii=this.Zj=this.$j=this.VB=this.WB=this.FT=this.GT=m; this.KI=y;this.es=this.TU=this.ET=this.Cd=r;this.y4=[];this.gT=this.Rl=y;this.lb=this.lb.bind(this)});b.prototype.Bg=function(){if(!this.Rl){this.Rl=n;this.WQ();window.addEventListener("resize",this.lb);document.body.appendChild(this.Cd);document.body.appendChild(this.es);this.bsa=document.documentElement.style.overflow;this.asa=document.body.style.overflow;document.documentElement.style.overflow="auto";document.body.style.overflow="auto";this.KC()}};b.prototype.cancel=function(){if(this.Rl){this.Rl= y;window.removeEventListener("resize",this.lb);document.body.style.overflow=this.asa;document.documentElement.style.overflow=this.bsa;document.body.removeChild(this.Cd);document.body.removeChild(this.es);this.W9(y)}};b.prototype.enabled=Q("KI");b.prototype.WQ=function(){if(!this.Cd){this.Cd=this.KH({position:"fixed",top:0,left:0,zIndex:9999998},n);this.Cd.id="tdvminuictr";this.TU=this.KH({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},n,h);this.Cd.appendChild(this.TU);this.ET= this.KH({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},n,j);this.Cd.appendChild(this.ET);this.es=this.KH({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},y);this.es.id="tdvminuiscrl";this.es.addEventListener("touchend",this.lb)}};b.prototype.KH=function(a,b,d){var c=document.createElement("div");this.BD(c,a);d!==m&&this.Uqa(c,d);b&&this.y4.push(c);return c};b.prototype.lb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.tU.bind(this), a)}.bind(this))};b.prototype.tU=function(){(this.$j!=window.innerWidth||this.Zj!=window.innerHeight)&&this.KC()};b.prototype.KC=function(){this.$j=window.innerWidth;this.Zj=window.innerHeight;this.ii=this.$j>this.Zj?"landscape":"portrait";var a;if(this.ii=="landscape"){if(this.GT&&this.FT&&this.gna(this.GT,this.FT)&&(!this.WB&&!this.VB||this.hna(this.WB,this.VB))){this.WB=this.$j;this.VB=this.Zj}if(this.cna()){this.WB=this.$j;this.VB=this.Zj}this.GT=this.$j;this.FT=this.Zj;a=this.WB==this.$j&&this.VB== this.Zj}else a=y;this.y4.forEach(function(a){a.style.height=this.Zj+"px";a.style.width=this.$j+"px"}.bind(this));var b=this.Rl&&this.ii=="portrait",d=this.Rl&&this.ii=="landscape"&&!a,c=this.Rl&&this.ii=="landscape";this.BD(this.Cd,{display:b||d?"block":"none"});this.BD(this.TU,{display:b?"block":"none"});this.BD(this.ET,{display:d?"block":"none"});this.BD(this.es,{display:c?"block":"none",right:d?0:"99.9%"});this.W9(a)};b.prototype.W9=function(a){if(this.UK!=r){clearTimeout(this.UK);this.UK=r}if(this.KI!= a)this.UK=setTimeout(function(){this.UK=r;(this.KI=a)?this.trigger(new e(c.Sk)):this.trigger(new e(c.Ba));this.trigger(new e(c.aa))}.bind(this),a?1E3:0)};b.prototype.cna=function(){var a=window.innerWidth,b=window.innerHeight,d=Infinity;[[480,320],[960,640],[1136,640],[1334,750],[1920,1080],[2001,1125],[2048,1536],[2172,1125],[2208,1242],[2732,2048],[2436,1125]].forEach(function(c){d=Math.min(d,Math.abs(100-100*a*c[1]/(b*c[0])))});return d<=1?n:y};b.prototype.gna=function(a,b){return a*window.innerHeight> b*window.innerWidth};b.prototype.hna=function(a,b){return a*window.innerHeight>=b*window.innerWidth};b.prototype.BD=function(a,b){for(var d in b)a.style[d]=b[d]};b.prototype.Uqa=function(a,b){a.innerHTML=b};return new b}); define("lq","require,ge,r,ka,ga,bD".split(","),function(a){var b=a("ge"),c=a("r"),e=a("ka"),g=a("ga"),d=a("bD");if(c.browser()==c.Ii){a=function(){this.V=new e;this.V.src="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQADQGgcIQADQGgcAAAACQGeYUQn/wALKCEAA0BoHAAAAAkBnmNEJ/8ACykhAANAaBwhAANAaBwAAAANQZpoNExDP/6plgAMuSEAA0BoHAAAAAtBnoZFESwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBnqVEJ/8ACykhAANAaBwAAAAJAZ6nRCf/AAsoIQADQGgcIQADQGgcAAAADUGarDRMQz/+qZYADLghAANAaBwAAAALQZ7KRRUsK/8ACPkhAANAaBwAAAAJAZ7pRCf/AAsoIQADQGgcIQADQGgcAAAACQGe60Qn/wALKCEAA0BoHAAAAA1BmvA0TEM//qmWAAy5IQADQGgcIQADQGgcAAAAC0GfDkUVLCv/AAj5IQADQGgcAAAACQGfLUQn/wALKSEAA0BoHCEAA0BoHAAAAAkBny9EJ/8ACyghAANAaBwAAAANQZs0NExDP/6plgAMuCEAA0BoHAAAAAtBn1JFFSwr/wAI+SEAA0BoHCEAA0BoHAAAAAkBn3FEJ/8ACyghAANAaBwAAAAJAZ9zRCf/AAsoIQADQGgcIQADQGgcAAAADUGbeDRMQz/+qZYADLkhAANAaBwAAAALQZ+WRRUsK/8ACPghAANAaBwhAANAaBwAAAAJAZ+1RCf/AAspIQADQGgcAAAACQGft0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bm7w0TEM//qmWAAy4IQADQGgcAAAAC0Gf2kUVLCv/AAj5IQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHAAAAAkBn/tEJ/8ACykhAANAaBwAAAANQZvgNExDP/6plgAMuSEAA0BoHCEAA0BoHAAAAAtBnh5FFSwr/wAI+CEAA0BoHAAAAAkBnj1EJ/8ACyghAANAaBwhAANAaBwAAAAJAZ4/RCf/AAspIQADQGgcAAAADUGaJDRMQz/+qZYADLghAANAaBwAAAALQZ5CRRUsK/8ACPkhAANAaBwhAANAaBwAAAAJAZ5hRCf/AAsoIQADQGgcAAAACQGeY0Qn/wALKSEAA0BoHCEAA0BoHAAAAA1Bmmg0TEM//qmWAAy5IQADQGgcAAAAC0GehkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGepUQn/wALKSEAA0BoHAAAAAkBnqdEJ/8ACyghAANAaBwAAAANQZqsNExDP/6plgAMuCEAA0BoHCEAA0BoHAAAAAtBnspFFSwr/wAI+SEAA0BoHAAAAAkBnulEJ/8ACyghAANAaBwhAANAaBwAAAAJAZ7rRCf/AAsoIQADQGgcAAAADUGa8DRMQz/+qZYADLkhAANAaBwhAANAaBwAAAALQZ8ORRUsK/8ACPkhAANAaBwAAAAJAZ8tRCf/AAspIQADQGgcIQADQGgcAAAACQGfL0Qn/wALKCEAA0BoHAAAAA1BmzQ0TEM//qmWAAy4IQADQGgcAAAAC0GfUkUVLCv/AAj5IQADQGgcIQADQGgcAAAACQGfcUQn/wALKCEAA0BoHAAAAAkBn3NEJ/8ACyghAANAaBwhAANAaBwAAAANQZt4NExC//6plgAMuSEAA0BoHAAAAAtBn5ZFFSwr/wAI+CEAA0BoHCEAA0BoHAAAAAkBn7VEJ/8ACykhAANAaBwAAAAJAZ+3RCf/AAspIQADQGgcAAAADUGbuzRMQn/+nhAAYsAhAANAaBwhAANAaBwAAAAJQZ/aQhP/AAspIQADQGgcAAAACQGf+UQn/wALKCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHCEAA0BoHAAACiFtb292AAAAbG12aGQAAAAA1YCCX9WAgl8AAAPoAAAH/AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAGGlvZHMAAAAAEICAgAcAT////v7/AAAF+XRyYWsAAABcdGtoZAAAAAPVgIJf1YCCXwAAAAEAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAygAAAMoAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAB9AAABdwAAEAAAAABXFtZGlhAAAAIG1kaGQAAAAA1YCCX9WAgl8AAV+QAAK/IFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAUcbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAE3HN0YmwAAACYc3RzZAAAAAAAAAABAAAAiGF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAygDKAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAyYXZjQwFNQCj/4QAbZ01AKOyho3ySTUBAQFAAAAMAEAAr8gDxgxlgAQAEaO+G8gAAABhzdHRzAAAAAAAAAAEAAAA8AAALuAAAABRzdHNzAAAAAAAAAAEAAAABAAAB8GN0dHMAAAAAAAAAPAAAAAEAABdwAAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAADqYAAAAAQAAF3AAAAABAAAAAAAAAAEAAAu4AAAAAQAAOpgAAAABAAAXcAAAAAEAAAAAAAAAAQAAC7gAAAABAAA6mAAAAAEAABdwAAAAAQAAAAAAAAABAAALuAAAAAEAAC7gAAAAAQAAF3AAAAABAAAAAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAEEc3RzegAAAAAAAAAAAAAAPAAAAzQAAAAQAAAADQAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAAPAAAADQAAAA0AAAARAAAADwAAAA0AAAANAAAAEQAAAA8AAAANAAAADQAAABEAAAANAAAADQAAAQBzdGNvAAAAAAAAADwAAAAwAAADZAAAA3QAAAONAAADoAAAA7kAAAPQAAAD6wAAA/4AAAQXAAAELgAABEMAAARcAAAEbwAABIwAAAShAAAEugAABM0AAATkAAAE/wAABRIAAAUrAAAFQgAABV0AAAVwAAAFiQAABaAAAAW1AAAFzgAABeEAAAX+AAAGEwAABiwAAAY/AAAGVgAABnEAAAaEAAAGnQAABrQAAAbPAAAG4gAABvUAAAcSAAAHJwAAB0AAAAdTAAAHcAAAB4UAAAeeAAAHsQAAB8gAAAfjAAAH9gAACA8AAAgmAAAIQQAACFQAAAhnAAAIhAAACJcAAAMsdHJhawAAAFx0a2hkAAAAA9WAgl/VgIJfAAAAAgAAAAAAAAf8AAAAAAAAAAAAAAABAQAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACsm1kaWEAAAAgbWRoZAAAAADVgIJf1YCCXwAArEQAAWAAVcQAAAAAACdoZGxyAAAAAAAAAABzb3VuAAAAAAAAAAAAAAAAU3RlcmVvAAAAAmNtaW5mAAAAEHNtaGQAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAidzdGJsAAAAZ3N0c2QAAAAAAAAAAQAAAFdtcDRhAAAAAAAAAAEAAAAAAAAAAAACABAAAAAArEQAAAAAADNlc2RzAAAAAAOAgIAiAAIABICAgBRAFQAAAAADDUAAAAAABYCAgAISEAaAgIABAgAAABhzdHRzAAAAAAAAAAEAAABYAAAEAAAAABxzdHNjAAAAAAAAAAEAAAABAAAAAQAAAAEAAAAUc3RzegAAAAAAAAAGAAAAWAAAAXBzdGNvAAAAAAAAAFgAAAOBAAADhwAAA5oAAAOtAAADswAAA8oAAAPfAAAD5QAAA/gAAAQLAAAEEQAABCgAAAQ9AAAEUAAABFYAAARpAAAEgAAABIYAAASbAAAErgAABLQAAATHAAAE3gAABPMAAAT5AAAFDAAABR8AAAUlAAAFPAAABVEAAAVXAAAFagAABX0AAAWDAAAFmgAABa8AAAXCAAAFyAAABdsAAAXyAAAF+AAABg0AAAYgAAAGJgAABjkAAAZQAAAGZQAABmsAAAZ+AAAGkQAABpcAAAauAAAGwwAABskAAAbcAAAG7wAABwYAAAcMAAAHIQAABzQAAAc6AAAHTQAAB2QAAAdqAAAHfwAAB5IAAAeYAAAHqwAAB8IAAAfXAAAH3QAAB/AAAAgDAAAICQAACCAAAAg1AAAIOwAACE4AAAhhAAAIeAAACH4AAAiRAAAIpAAACKoAAAiwAAAItgAACLwAAAjCAAAAFnVkdGEAAAAObmFtZVN0ZXJlbwAAAHB1ZHRhAAAAaG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAO2lsc3QAAAAzqXRvbwAAACtkYXRhAAAAAQAAAABIYW5kQnJha2UgMC4xMC4yIDIwMTUwNjExMDA=";this.V.loop= n;this.V.Rp=n;this.Ja=r};a.prototype.pN=R(n);a.prototype.xd=function(){return g.Ni};a.prototype.MY=function(){return b.zga};a.prototype.nY=function(a){this.Ja=a;this.Ja.play(r,this.V,0)};a.prototype.jZ=function(){this.Ja=r};var f=y,h=new a;return{enable:function(){if(!f){f=n;d.YX(h)}},disable:function(){if(f){f=y;d.Lz(h)}}}}return{enable:D(),disable:D()}}); define("ia",["require","jquery.mod","lk","bK"],function(a){function b(){this.Eg=r;this.W=y;this.lb=this.lb.bind(this);this.Zj=this.$j=this.ii=m}var c=a("jquery.mod"),e=a("lk"),g=a("bK");b.prototype.vo=function(){this.Eg||(this.Eg=c("
"),this.Eg.css({position:"fixed","z-index":1E6,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"}),this.Eg.html(['
','','
\n
\n
','','
'+e("rotate-device")+"
","
\n
"].join("\n")))};b.prototype.show=function(a){this.W||(this.W=n,this.vo(), c(a).append(this.Eg),c(window).on("resize",this.lb),this.KC())};b.prototype.hide=function(){this.W&&(this.W=y,c(window).off("resize",this.lb),this.Eg.detach())};b.prototype.lb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.tU.bind(this),a)}.bind(this))};b.prototype.tU=function(){(this.$j!=window.innerWidth||this.Zj!=window.innerHeight)&&this.KC()};b.prototype.KC=function(){this.$j=window.innerWidth;this.Zj=window.innerHeight;this.ii=this.$j>this.Zj?"landscape":"portrait";this.Eg.toggle("landscape"!= this.ii)};return new b}); define("is","require,fg,ll,bZ,gW,iX,r,fT,gL,bW,cw,fA,d,V,ke,p,iD,lq,ia".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("gW"),d=a("iX"),f=a("r"),h=a("fT"),j=a("gL"),p=a("bW"),k=a("cw"),l=a("fA"),q=a("d"),o=a("V"),t=a("ke"),s=a("p"),v=a("iD"),u=a("lq"),w=a("ia"),x=b.extend(l,function(){l.call(this);this.Ug=this.Ke=this.Ef=this.vD=this.To=this.Dh=this.lc=r;this.Zd=k.Oj;this.Ma=this.Ma.bind(this)});x.prototype.mm=function(a){if(this.KB()){var b=function(b){if(this.lc=b.length?b[0]:r){this.lc.depthNear= 0.1;this.lc.depthFar=2*g.Md;this.Dh="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange",this.YU.bind(this),y);v.bind(c.Ba,this.$d.bind(this))}a(!!this.lc)}.bind(this),d=window.WebVRConfig||(window.WebVRConfig={});d.BUFFER_SCALE=x.iz;d.ALWAYS_APPEND_POLYFILL_DISPLAY=n;d.LOCK_ORIENTATION=y;p.q1.load(function(){navigator.getVRDisplays().then(b)["catch"](function(){b([])})}.bind(this))}else a(y)};x.prototype.Fh=function(){!this.isPresenting()&&!this.Ke&&this.mv(function(){this.fW(function(){this.IV(function(){if(!this.isPresenting()&& !this.Ke){this.Ke=this.HV();this.cW();this.lc.requestPresent([{source:this.Ke.canvas}]).then(function(){this.Ug=this.Ke;this.Ke=r;f.Uc()!=f.eA&&w.show(t.gm());this.Cy();this.GE()}.bind(this))["catch"](function(){this.Ke=r;this.ZD()}.bind(this))}}.bind(this))}.bind(this))}.bind(this))};x.prototype.$d=function(){this.isPresenting()&&this.lc.exitPresent()};x.prototype.Ma=function(a){return this.lc.requestAnimationFrame(function(b){var d=this.Cy();d&&this.Fv();a(b);d&&this.lc.submitFrame()}.bind(this))}; x.prototype.isPresenting=function(){return!!this.lc&&this.lc.isPresenting};x.prototype.Xv=Q("Ug");x.prototype.xd=Q("Zd");x.prototype.YU=function(){if(this.isPresenting())o.zN(this.Ma,this.lc.cancelAnimationFrame.bind(this.lc));else{o.GZ();(this.Ug||this.Ke)&&this.ZD()}this.trigger(new e(c.aa))};x.prototype.KB=function(){return h.available&&d.z_&&f.Za()&&f.Ds()!=f.Hw};x.prototype.mv=function(a){if(h.disabled)j.f0.show(function(){h.EZ(function(){this.mv(a)}.bind(this))});else if(t.enabled()||!q.pF()){t.$d(); this.CK(function(){this.mv(a)}.bind(this))}else a()};x.prototype.cW=function(){s.Bg(this.Ke.canvas);f.Uc()==f.fA?this.g2():u.enable();f.Uc()==f.eA&&v.Bg()};x.prototype.Cy=function(){this.lc.getFrameData(this.Dh);if(!this.Dh.pose||!this.Dh.pose.orientation)return y;this.To=this.lc.getEyeParameters("left");this.vD=this.lc.getEyeParameters("right");var a=this.lc.getLayers();this.Ef=a&&a.length&&a[0]||r;return!this.Ef?y:n};x.prototype.GE=function(){this.Qc.ZE=r;this.Qc.Ik=this.To.renderWidth*2;this.Qc.Bj= this.To.renderHeight;this.Qc.uM=1};x.prototype.Fv=function(){var a=this.Dh.pose;this.jc.orientation.fromArray(a&&a.orientation||z);this.jc.position.fromArray(a&&a.position||C);this.NX()};x.prototype.NX=function(){this.og.position.fromArray(this.To.offset);this.og.orientation.fromArray(z);this.og.projectionMatrix.fromArray(this.Dh.leftProjectionMatrix);this.og.viewport.x=Math.round(this.Qc.Ik*this.Ef.leftBounds[0]);this.og.viewport.y=Math.round(this.Qc.Bj*this.Ef.leftBounds[1]);this.og.viewport.width= Math.round(this.Qc.Ik*this.Ef.leftBounds[2]);this.og.viewport.height=Math.round(this.Qc.Bj*this.Ef.leftBounds[3]);this.sg.position.fromArray(this.vD.offset);this.sg.orientation.fromArray(z);this.sg.projectionMatrix.fromArray(this.Dh.rightProjectionMatrix);this.sg.viewport.x=Math.round(this.Qc.Ik*this.Ef.rightBounds[0]);this.sg.viewport.y=Math.round(this.Qc.Bj*this.Ef.rightBounds[1]);this.sg.viewport.width=Math.round(this.Qc.Ik*this.Ef.rightBounds[2]);this.sg.viewport.height=Math.round(this.Qc.Bj* this.Ef.rightBounds[3])};x.prototype.ZD=function(){this.rV();this.Ug=this.Ke=r;v.cancel();s.cancel();u.disable();w.hide()};x.iz=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var z=[0,0,0,1],C=[0,0,0];return x}); define("gS","require,fg,bZ,ll,r,cw,fA,gW,d,V,p".split(","),function(a){var b=a("fg"),c=a("bZ"),e=a("ll"),g=a("r"),d=a("cw"),f=a("fA"),h=a("gW"),j=a("d"),p=a("V"),k=a("p"),a=b.extend(f,function(){f.call(this);this.Ug=this.Ke=this.Ef=this.vD=this.To=this.Dh=this.lc=r;this.Ma=this.Ma.bind(this)});a.prototype.mm=function(a){if(this.KB()){var b=function(b){if(this.lc=b.length?b[0]:r){this.lc.depthNear=0.1;this.lc.depthFar=2*h.Md;this.Dh="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange", this.YU.bind(this),y);window.addEventListener("vrdisplayactivate",this.K8.bind(this));window.addEventListener("vrdisplaydeactivate",this.$d.bind(this))}a(!!this.lc)}.bind(this);navigator.getVRDisplays().then(b)["catch"](function(){b([])})}else a(y)};a.prototype.Fh=function(a){!this.isPresenting()&&!this.Ke&&this.mv(a,function(){this.fW(function(){this.IV(function(){!this.isPresenting()&&!this.Ke&&this.K8()}.bind(this))}.bind(this))}.bind(this))};a.prototype.$d=function(){this.isPresenting()&&this.lc.exitPresent()}; a.prototype.Ma=function(a){return this.lc.requestAnimationFrame(function(b){var d=this.Cy();d&&this.Fv();a(b);d&&this.lc.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.lc&&this.lc.isPresenting};a.prototype.Xv=Q("Ug");a.prototype.xd=function(){return d.Ega};a.prototype.KB=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.YU=function(){if(this.isPresenting()){p.zN(this.Ma,this.lc.cancelAnimationFrame.bind(this.lc));this.Cy()&&this.Fv()}else{p.GZ(); (this.Ug||this.Ke)&&this.ZD()}this.trigger(new c(e.aa))};a.prototype.mv=function(a,b){a||j.pF()?b():this.CK(function(){b()})};a.prototype.K8=function(){this.Ke=this.HV();this.cW();this.lc.requestPresent([{source:this.Ke.canvas,attributes:{foveationLevel:3}}]).then(function(){this.Ug=this.Ke;this.Ke=r;this.Cy()&&this.Fv()}.bind(this))["catch"](function(){this.Ke=r;this.ZD()}.bind(this))};a.prototype.cW=function(){k.Bg(this.Ke.canvas)};a.prototype.Cy=function(){this.lc.getFrameData(this.Dh);if(!this.Dh.pose|| !this.Dh.pose.orientation)return y;this.To=this.lc.getEyeParameters("left");this.vD=this.lc.getEyeParameters("right");var a=this.lc.getLayers();this.Ef=a&&a.length&&a[0]||r;return!this.Ef?y:n};a.prototype.Fv=function(){this.GE();var a=this.Dh.pose;this.jc.orientation.fromArray(a&&a.orientation||l);this.jc.position.fromArray(a&&a.position||q);this.NX()};a.prototype.GE=function(){this.Qc.ZE=r;this.Qc.Ik=this.To.renderWidth*2;this.Qc.Bj=this.To.renderHeight;this.Qc.uM=g.le()?2048/this.Qc.Bj:1};a.prototype.NX= function(){this.og.position.fromArray(this.To.offset);this.og.orientation.fromArray(l);this.og.projectionMatrix.fromArray(this.Dh.leftProjectionMatrix);var a=this.Ef.leftBounds&&this.Ef.leftBounds.length==4?this.Ef.leftBounds:o;this.og.viewport.x=Math.round(this.Qc.Ik*a[0]);this.og.viewport.y=Math.round(this.Qc.Bj*a[1]);this.og.viewport.width=Math.round(this.Qc.Ik*a[2]);this.og.viewport.height=Math.round(this.Qc.Bj*a[3]);this.sg.position.fromArray(this.vD.offset);this.sg.orientation.fromArray(l); this.sg.projectionMatrix.fromArray(this.Dh.rightProjectionMatrix);a=this.Ef.rightBounds&&this.Ef.rightBounds.length==4?this.Ef.rightBounds:t;this.sg.viewport.x=Math.round(this.Qc.Ik*a[0]);this.sg.viewport.y=Math.round(this.Qc.Bj*a[1]);this.sg.viewport.width=Math.round(this.Qc.Ik*a[2]);this.sg.viewport.height=Math.round(this.Qc.Bj*a[3])};a.prototype.ZD=function(){this.Ug=this.Ke=r;k.cancel()};var l=[0,0,0,1],q=[0,0,0],o=[0,0,0.5,1],t=[0.5,0,0.5,1];return a}); define("ik","require,fg,bZ,ll,r,jE,cw,fA,gW,d,V,p,jg,fx".split(","),function(a){function b(a){setTimeout(a,10)}var c=a("fg"),e=a("bZ"),g=a("ll"),d=a("r"),f=a("jE"),h=a("cw"),j=a("fA"),p=a("gW"),k=a("d"),l=a("V"),q=a("p"),o=a("jg"),t=a("fx"),s=c.extend(j,function(){j.call(this);this.Gv=this.IE=this.xg=this.Ug=r;this.Ky="stopped";this.Ma=this.Ma.bind(this);this.MV=this.MV.bind(this);this.NV=this.NV.bind(this);this.OV=this.OV.bind(this);this.us=y;o.$z(function(){b(function(){this.us=n}.bind(this))}.bind(this))}); s.prototype.mm=function(a){if(this.KB())this.osa().then(function(b){b?a(n):a(y)})["catch"](function(){a(y)});else a(y)};s.prototype.Fh=function(){this.Ky=="stopped"&&this.mv(function(){this.fW(function(){this.IV(function(){setTimeout(function(){this.Tra()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};s.prototype.Tra=function(){if(this.Ky=="stopped"){this.Ky="starting";this.trigger(new e(g.aa));l.a_(n);navigator.xr.requestSession("immersive-vr").then(function(a){this.xg=a;this.xg.addEventListener("end", this.MV);this.xg.addEventListener("select",this.NV);this.xg.addEventListener("visibilitychange",this.OV);return this.xg.requestReferenceSpace("local")}.bind(this)).then(function(a){this.IE=a;this.Ug=this.HV();return this.Ug.makeXRCompatible()}.bind(this)).then(function(){d.Za()&&q.Bg(this.Ug.canvas);var a=XRWebGLLayer.getNativeFramebufferScaleFactor(this.xg),a=Math.max(a,1);d.bZ()?a=a*1:d.le()?a=a*1.42222:d.Za()&&(a=a*s.iz);this.Gv=new XRWebGLLayer(this.xg,this.Ug,{antialias:y,framebufferScaleFactor:a}); this.xg.updateRenderState({baseLayer:this.Gv,depthNear:0.1,depthFar:2*p.Md});this.GE();this.Ky="started";l.zN(this.Ma,this.xg.cancelAnimationFrame.bind(this.xg));l.a_(y)}.bind(this))["catch"](function(){l.a_(y);this.M9();this.trigger(new e(g.aa))}.bind(this))}};s.prototype.$d=function(){this.isPresenting()&&this.xg.end()};s.prototype.Ma=function(a){return this.xg.requestAnimationFrame(function(b,d){this.PX=d;this.Fv();a(b)}.bind(this))};s.prototype.isPresenting=function(){return this.Ky!="stopped"}; s.prototype.xd=function(){return h.Fga};s.prototype.Xv=Q("Ug");s.prototype.KB=function(){return"xr"in navigator};s.prototype.osa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};s.prototype.mv=function(a){d.Uc()==d.Vn?this.us?a():k.pF()?b(a):this.CK(function(){b(a)}):k.pF()?a():this.CK(function(){a()})};s.prototype.MV=function(){l.GZ();this.M9();this.trigger(new e(g.aa))}; s.prototype.NV=function(){this.trigger(new e(g.Mi))};s.prototype.OV=function(){t.i_(!this.xg||this.xg.visibilityState!="visible");f.Efa&&this.xg.visibilityState!="visible"&&this.$d()};s.prototype.M9=function(){this.Gv=this.IE=this.xg=this.Ug=r;this.Ky="stopped";q.cancel()};s.prototype.GE=function(){this.Qc.ZE=this.Gv.framebuffer;this.Qc.Ik=this.Gv.framebufferWidth;this.Qc.Bj=(d.Uc()==d.Vn?2:1)*this.Gv.framebufferHeight;this.Qc.uM=1};s.prototype.Fv=function(){var a=this.PX.getViewerPose(this.IE);if(a){var b= a&&a.transform.orientation||v;this.jc.orientation.set(b.x,b.y,b.z,b.w);b=a&&a.transform.position||u;this.jc.position.set(b.x,b.y,b.z);for(var a=this.PX.getViewerPose(this.IE.getOffsetReferenceSpace(a.transform)),d=0;d5)window.location.reload();else if(!document.hidden&&!f.isPresenting()){f.Fh(n);a()}}var d,c;document.addEventListener("visibilitychange",function(){if(!document.hidden){if(d){clearTimeout(d);d=r}c=0;a()}},y);if(d){clearTimeout(d);d=r}c=0;a()}():s&&f.Fh()}else u.available=R(y);if(c){clearTimeout(c);c=r;a()}})};u.bind(e.aa,function(){t.vN(u.isPresenting())},window,n);window.addEventListener("vrdisplayblur",function(){t.i_(n)},n);window.addEventListener("vrdisplayfocus",function(){t.i_(y)},n); return u}); define("db","require,ll,iN,eO,V,bi".split(","),function(a){function b(a){this.EH=a;this.Jg=r;this.nQ={};for(a=0;a500};b.prototype.hand=Q("oma");b.prototype.quaternion=Q("Bh");b.prototype.position=Q("va"); b.prototype.pressed=function(a){a||(a=this.EH.zxa);return!a?this.mQ>0:this.nQ[a]};var s=new p;s.all=function(){e();return v};s.cN=function(){e();return u};s.ra="left";s.Na=o;var v=[],u=r,w={},x=m,z=r,C=URL.$g("disable-controller",y);l.bind(h.aa,f);f();return s}); define("cB",["require","fk","a"],function(a){function b(a,b){this.Sd=a||new c(0,0,0);this.Ag=b||new c(1,0,0)}var c=a("fk"),e=a("a");b.prototype.clone=function(){return new b(this.Sd.clone(),this.Ag.clone())};b.prototype.apply=function(a){a.gz(this.Sd);a.gz(this.Ag)};b.prototype.vca=function(){return e.Fs(this.Sd,this.Ag)};return b}); define("gm",["cB","fk"],function(a,b){function c(a,b,d){this.X=a||100;this.ia=b||100;this.ba=d||Math.PI;this.cV=m;this.Fm=n}c.prototype.tw=function(a){this.ba!=a&&(this.ba=a,this.Fm=n)};c.prototype.Op=Q("ba");c.prototype.VF=function(a){this.X!=a&&(this.X=a,this.Fm=n)};c.prototype.ad=Q("X");c.prototype.Dea=function(a){this.ia!=a&&(this.ia=a,this.Fm=n)};c.prototype.Pd=Q("ia");c.prototype.project=function(a){if(0!=a.z){this.Maa();var b=1/a.z,d=this.cV*b;a.x=0.5*this.X-a.x*d;a.y=0.5*this.ia-a.y*d;a.z= b}};c.prototype.unproject=function(c){this.Maa();return new a(new b(0,0,0),new b(0.5*this.X-c.x,0.5*this.ia-c.y,this.cV))};c.prototype.Maa=function(){this.Fm&&(this.cV=0.5*this.X/Math.tan(0.5*this.ba),this.Fm=y)};return c}); define("dS",["require","jquery.mod"],function(a){function b(){this.K=c("
");this.K.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.K.hide()}var c=a("jquery.mod");b.prototype.Gb=Q("K");b.prototype.trigger=function(){this.K.fadeIn(100).fadeOut(100)};return b}); define("lr",["require"],function(){function a(){this.md=this.pitch=this.ma=0;this.Gf=this.bd=90;this.OE=this.gM=this.height=this.width=100;this.eh=1;this.kF=this.tb=y;this.Ei=0;this.xM=this.aM=this.fN=y;this.bw=this.CF=n;this.Jc=this.VE=this.UE=this.ye=r;this.enabled=y;this.wd=0;this.WF=m}a.prototype.clone=function(){var b=new a;b.ma=this.ma;b.pitch=this.pitch;b.md=this.md;b.bd=this.bd;b.Gf=this.Gf;b.width=this.width;b.height=this.height;b.gM=this.gM;b.OE=this.OE;b.eh=this.eh;b.tb=this.tb;b.kF=this.kF; b.Ei=this.Ei;b.fN=this.fN;b.xM=this.xM;b.aM=this.aM;b.CF=this.CF;b.bw=this.bw;b.ye=this.ye;b.UE=this.UE;b.VE=this.VE;b.Jc=this.Jc;b.enabled=this.enabled;b.wd=this.wd;b.WF=this.WF;return b};return a}); define("cR","require,jquery.mod,do,ll,jY,V,dK".split(","),function(a){function b(a){this.k_=a;this.element=document.createElement("div");this.p_=document.createElement("span");this.element.appendChild(this.p_);this.p_.innerHTML=a.text.split("
").join("\n").split("\n").map(e).join("
");this.iM=y}function c(a){this.C=a;this.nE=d.throttle(this.nE.bind(this),100);this.oE=d.throttle(this.oE.bind(this),100);this.K=document.createElement("div");this.K.style.position="absolute";this.K.style.left=0; this.K.style.top=0;this.K.style.right=0;this.K.style.bottom=0;this.K.style.zIndex=1;this.K.style.cursor="inherit";this.K.style.display="none";this.rP=g(this.K);this.ki=document.createElement("div");this.ki.style.position="absolute";this.ki.style.left=0;this.ki.style.right=0;this.ki.style.zIndex=1;this.ki.style.cursor="inherit";this.K.appendChild(this.ki);this.ls=r;this.Ty=[];this.zf=[];this.FU={};this.cz=h.nb;this.C.bind(f.D("subtitlesEnabled"),this.ZW,this);c.L0.forEach(function(a){this.C.bind(f.D(a), this.nE,this)}.bind(this));c.M0.forEach(function(a){this.C.bind(f.D(a),this.oE,this)}.bind(this));this.ZW();this.nE();this.oE()}function e(a){k.innerHTML=a;return k.innerText}var g=a("jquery.mod"),d=a("do"),f=a("ll"),h=a("jY"),j=a("V"),p=a("dK");c.prototype.clear=function(){this.g_(r);if(this.C){this.C.unbind(f.D("subtitlesEnabled"),this.ZW,this);c.L0.forEach(function(a){this.C.unbind(f.D(a),this.nE,this)}.bind(this));c.M0.forEach(function(a){this.C.unbind(f.D(a),this.oE,this)}.bind(this));this.C= r}};c.prototype.Gb=Q("rP");c.prototype.g_=function(a){if(this.ls!=a){this.ls&&this.ls.unbind(f.D("activeSubtitles"),this.fU,this,n);(this.ls=a)&&this.ls.bind(f.D("activeSubtitles"),this.fU,this,n);this.fU()}};c.prototype.fU=function(){this.sra(this.ls&&this.ls.get("activeSubtitles")||[])};c.prototype.ZW=function(){this.W=this.C.get("subtitlesEnabled");this.nX()};c.prototype.nE=function(){this.cz=this.wB("subtitlesVerticalAlign",[h.ob,h.vc,h.nb],h.nb);this.ki.style["text-align"]=this.wB("subtitlesHorizontalAlign", [h.ra,h.Na,h.Lc],h.Lc);this.ki.style.bottom=this.cz==h.nb?this.rh("subtitlesBottom",0):"";this.ki.style.top=this.cz==h.ob?this.rh("subtitlesTop",0):this.cz==h.vc?"50%":"";this.ki.style.transform=this.cz==h.vc?"translate(0, -50%)":"";this.nX()};c.prototype.oE=function(){var a={};a["background-color"]=this.DS("subtitlesBackgroundColor","subtitlesBackgroundOpacity");a.border=[this.rh("subtitlesBorderSize"),"solid",this.Of("subtitlesBorderColor")].join(" ");a["box-shadow"]=this.Of("subtitlesShadow",y)? [this.rh("subtitlesShadowHorizontalLength"),this.rh("subtitlesShadowVerticalLength"),this.rh("subtitlesShadowBlurRadius"),this.DS("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";a.display="inline-block";a["font-family"]=p.Es(this.Of("subtitlesFontFamily"));a["font-size"]=this.rh("subtitlesFontSize");a.color=this.Of("subtitlesFontColor");a["font-weight"]=this.wB("subtitlesFontWeight",["bold","bolder","lighter","100","200","300","400","500","600","700","800","900","normal"], "normal");a["font-style"]=this.wB("subtitlesFontStyle",["italic","normal"],"normal");a["margin-bottom"]=this.rh("subtitlesGap");a.opacity=this.Of("subtitlesOpacity");a["padding-top"]=this.rh("subtitlesPaddingTop");a["padding-bottom"]=this.rh("subtitlesPaddingBottom");a["padding-left"]=this.rh("subtitlesPaddingLeft");a["padding-right"]=this.rh("subtitlesPaddingRight");a.position="relative";a["text-align"]=this.wB("subtitlesHorizontalAlign",["left","right","center"],"center");a["text-decoration"]=this.Of("subtitlesTextDecoration", ["underline","overline","line-through","none"],"none");a["text-shadow"]=[this.rh("subtitlesTextShadowHorizontalLength"),this.rh("subtitlesTextShadowVerticalLength"),this.rh("subtitlesTextShadowBlurRadius"),this.DS("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.FU=a;this.Mha()};c.prototype.sra=function(a){this.Ty=a;this.nX()};c.prototype.nX=function(){for(var a=this.W?this.Ty:[],d=this.zf.length-1;d>=0;d--){var c=this.zf[d];if(a.indexOf(c.k_)>=0)break;this.ki.removeChild(c.element)}for(var e= [],f=y;d>=0;d--){c=this.zf[d];if(!c.iM&&a.indexOf(c.k_)<0){c.iM=n;c.element.style.visibility="hidden";f=n}e.splice(0,0,c)}f&&j.Ma(this.r3,this);this.zf=e;var g=this.zf.filter(function(a){return!a.iM}).map(function(a){return a.k_});a.filter(function(a){return g.indexOf(a)<0}).forEach(function(a){a=new b(a);this.t2(a);this.cz==h.nb&&this.zf.length>0?this.ki.insertBefore(a.element,this.zf[this.zf.length-1].element):this.ki.appendChild(a.element);this.zf.push(a)}.bind(this));this.K.style.display=this.zf.length> 0?"block":"none"};c.prototype.r3=function(a){for(var b=y,a=Math.round(200*a/1E3),d=0;d=c.element.clientHeight){a=a-c.element.clientHeight;this.ki.removeChild(c.element);this.zf.splice(d,1);d--}else{c.element.style.height=c.element.clientHeight-a+"px";break}}}b&&j.Ma(this.r3,this)};c.prototype.Mha=function(){this.zf.forEach(this.t2.bind(this))};c.prototype.t2=function(a){for(var b in this.FU)a.p_.style[b]=this.FU[b]};c.prototype.Of=function(a, b){return this.C.get(a,b)};c.prototype.rh=function(a,b){var d=this.C.get(a,b);isNaN(d)||(d=Math.round(d)+"px");return d};c.prototype.wB=function(a,b,d){a=this.C.get(a);return b.indexOf(a)<0?d:a};c.prototype.DS=function(a,b,d,c){a=this.C.get(a,d);b=this.C.get(b,c);return"rgba("+parseInt("0x"+a.substr(1,2))+", "+parseInt("0x"+a.substr(3,2))+", "+parseInt("0x"+a.substr(5,2))+", "+b+")"};c.L0=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];c.M0=["subtitlesBackgroundColor", "subtitlesBackgroundOpacity","subtitlesBorderColor","subtitlesBorderSize","subtitlesFontFamily","subtitlesFontColor","subtitlesFontSize","subtitlesFontStyle","subtitlesFontWeight","subtitlesGap","subtitlesOpacity","subtitlesPaddingTop","subtitlesPaddingBottom","subtitlesPaddingLeft","subtitlesPaddingRight","subtitlesShadow","subtitlesShadowBlurRadius","subtitlesShadowHorizontalLength","subtitlesShadowVerticalLength","subtitlesShadowColor","subtitlesTextDecoration","subtitlesTextShadowBlurRadius", "subtitlesTextShadowColor","subtitlesTextShadowHorizontalLength","subtitlesTextShadowOpacity","subtitlesTextShadowVerticalLength"];var k=document.createElement("div");return c}); define("hy",["require","fg","ll","cR"],function(a){var b=a("fg"),c=a("ll"),e=a("cR"),a=b.extend(e,function(a,b){e.call(this,a);this.Vb=b;this.Vb.bind(c.D("panorama"),this.pU,this);this.pU()});a.prototype.clear=function(){this.Vb&&(this.Vb.unbind(c.D("panorama"),this.pU,this),this.Vb=r);e.prototype.clear.call(this)};a.prototype.pU=function(){this.g_(this.Vb.get("panorama"))};return a}); define("it",["require","r"],function(a){var b=a("r"),a={},c=180/Math.PI,e=Math.PI/180;a.Kk=function(a,b,c){return this.Kv(a,b,c)};a.Sn=function(a,b,c){return this.Kv(a,c,b)};a.Kv=function(a,b,f){return 2*Math.atan(f*Math.tan(0.5*a*e)/b)*c};a.oBa=function(a){return b.browser()==b.cA?Math.max(a,20):a};return a});define("cT",["require"],function(){return{Un:0,ra:1,Na:2}}); define("hI",["require"],function(){THREE.CopyShader={uniforms:{tDiffuse:{value:r},opacity:{value:1}},vertexShader:"varying vec2 vUv;\nvoid main() {\n\tvUv = uv;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform float opacity;\nuniform sampler2D tDiffuse;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texel = texture2D( tDiffuse, vUv );\n\tgl_FragColor = opacity * texel;\n}"};return THREE.CopyShader}); define("gM",["require"],function(){THREE.Pass=function(){this.sZ=this.enabled=n;this.Yp=this.clear=y};Object.assign(THREE.Pass.prototype,{setSize:D(),render:function(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}});return THREE.Pass}); define("ig",["require","gM"],function(a){a("gM");THREE.Pass.FullScreenQuad=function(){function a(b){this.lJ=new THREE.Mesh(e,b)}var c=new THREE.OrthographicCamera(-1,1,1,-1,0,1),e=new THREE.PlaneBufferGeometry(2,2);Object.defineProperty(a.prototype,"material",{get:function(){return this.lJ.material},set:function(a){this.lJ.material=a}});Object.assign(a.prototype,{dispose:function(){this.lJ.geometry.dispose()},render:function(a){a.render(this.lJ,c)}});return a}();return THREE.Pass.FullScreenQuad}); define("fL",["require","gM","ig"],function(a){a("gM");a("ig");THREE.ShaderPass=function(a,c){THREE.Pass.call(this);this.XF=c!==m?c:"tDiffuse";a instanceof THREE.ShaderMaterial?(this.uniforms=a.uniforms,this.material=a):a&&(this.uniforms=THREE.UniformsUtils.clone(a.uniforms),this.material=new THREE.ShaderMaterial({defines:Object.assign({},a.defines),uniforms:this.uniforms,vertexShader:a.vertexShader,fragmentShader:a.fragmentShader}));this.wM=new THREE.Pass.FullScreenQuad(this.material)};THREE.ShaderPass.prototype= Object.assign(Object.create(THREE.Pass.prototype),{constructor:THREE.ShaderPass,render:function(a,c,e){this.uniforms[this.XF]&&(this.uniforms[this.XF].value=e.texture);this.wM.material=this.material;this.Yp?a.setRenderTarget(r):(a.setRenderTarget(c),this.clear&&a.clear(a.SAa,a.TAa,a.UAa));this.wM.render(a)}});return THREE.ShaderPass}); define("cN",["require","hI","fL"],function(a){a("hI");a("fL");THREE.EffectComposer=function(a,c){this.hf=a;if(c===m){var e={minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,stencilBuffer:y},g=a.getSize(new THREE.Vector2);this.Ml=a.getPixelRatio();this.X=g.width;this.ia=g.height;c=new THREE.WebGLRenderTarget(this.X*this.Ml,this.ia*this.Ml,e);c.texture.name="EffectComposer.rt1"}else this.Ml=1,this.X=c.width,this.ia=c.height;this.Pz=c;this.Qz=c.clone();this.Qz.texture.name= "EffectComposer.rt2";this.eG=this.Pz;this.DF=this.Qz;this.Yp=n;this.Ns=[];this.Eua=new THREE.ShaderPass(THREE.CopyShader);this.Bua=new THREE.Clock};Object.assign(THREE.EffectComposer.prototype,{swapBuffers:function(){var a=this.DF;this.DF=this.eG;this.eG=a},addPass:function(a){this.Ns.push(a);a.setSize(this.X*this.Ml,this.ia*this.Ml)},insertPass:function(a,c){this.Ns.splice(c,0,a)},Hwa:function(a){for(a+=1;a0){this.aS--; if(this.aS===0)this.Fq.uniforms.mixRatio.value=0.65}this.Ui.render()};return b}); define("jw",["require"],function(){THREE.e0={uniforms:{tDiffuse:{value:r},resolution:{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:"varying vec2 vUv;\nvoid main() {\n\tvUv = uv;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:'precision highp float;\n\nuniform sampler2D tDiffuse;\n\nuniform vec2 resolution;\n\nvarying vec2 vUv;\n\n// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)\n\n//----------------------------------------------------------------------------------\n// File: es3-keplerFXAAassetsshaders/FXAA_DefaultES.frag\n// SDK Version: v3.00\n// Email: gameworks@nvidia.com\n// Site: http://developer.nvidia.com/\n//\n// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// * Neither the name of NVIDIA CORPORATION nor the names of its\n// contributors may be used to endorse or promote products derived\n// from this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS\'\' AND ANY\n// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n//\n//----------------------------------------------------------------------------------\n\n#define FXAA_PC 1\n#define FXAA_GLSL_100 1\n#define FXAA_QUALITY_PRESET 12\n\n#define FXAA_GREEN_AS_LUMA 1\n\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_PC_CONSOLE\n //\n // The console algorithm for PC is included\n // for developers targeting really low spec machines.\n // Likely better to just run FXAA_PC, and use a really low preset.\n //\n #define FXAA_PC_CONSOLE 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GLSL_120\n #define FXAA_GLSL_120 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GLSL_130\n #define FXAA_GLSL_130 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_3\n #define FXAA_HLSL_3 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_4\n #define FXAA_HLSL_4 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_HLSL_5\n #define FXAA_HLSL_5 0\n#endif\n/*==========================================================================*/\n#ifndef FXAA_GREEN_AS_LUMA\n //\n // For those using non-linear color,\n // and either not able to get luma in alpha, or not wanting to,\n // this enables FXAA to run using green as a proxy for luma.\n // So with this enabled, no need to pack luma in alpha.\n //\n // This will turn off AA on anything which lacks some amount of green.\n // Pure red and blue or combination of only R and B, will get no AA.\n //\n // Might want to lower the settings for both,\n // fxaaConsoleEdgeThresholdMin\n // fxaaQualityEdgeThresholdMin\n // In order to insure AA does not get turned off on colors\n // which contain a minor amount of green.\n //\n // 1 = On.\n // 0 = Off.\n //\n #define FXAA_GREEN_AS_LUMA 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_EARLY_EXIT\n //\n // Controls algorithm\'s early exit path.\n // On PS3 turning this ON adds 2 cycles to the shader.\n // On 360 turning this OFF adds 10ths of a millisecond to the shader.\n // Turning this off on console will result in a more blurry image.\n // So this defaults to on.\n //\n // 1 = On.\n // 0 = Off.\n //\n #define FXAA_EARLY_EXIT 1\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_DISCARD\n //\n // Only valid for PC OpenGL currently.\n // Probably will not work when FXAA_GREEN_AS_LUMA = 1.\n //\n // 1 = Use discard on pixels which don\'t need AA.\n // For APIs which enable concurrent TEX+ROP from same surface.\n // 0 = Return unchanged color on pixels which don\'t need AA.\n //\n #define FXAA_DISCARD 0\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_FAST_PIXEL_OFFSET\n //\n // Used for GLSL 120 only.\n //\n // 1 = GL API supports fast pixel offsets\n // 0 = do not use fast pixel offsets\n //\n #ifdef GL_EXT_gpu_shader4\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifdef GL_NV_gpu_shader5\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifdef GL_ARB_gpu_shader5\n #define FXAA_FAST_PIXEL_OFFSET 1\n #endif\n #ifndef FXAA_FAST_PIXEL_OFFSET\n #define FXAA_FAST_PIXEL_OFFSET 0\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#ifndef FXAA_GATHER4_ALPHA\n //\n // 1 = API supports gather4 on alpha channel.\n // 0 = API does not support gather4 on alpha channel.\n //\n #if (FXAA_HLSL_5 == 1)\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifdef GL_ARB_gpu_shader5\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifdef GL_NV_gpu_shader5\n #define FXAA_GATHER4_ALPHA 1\n #endif\n #ifndef FXAA_GATHER4_ALPHA\n #define FXAA_GATHER4_ALPHA 0\n #endif\n#endif\n\n\n/*============================================================================\n FXAA QUALITY - TUNING KNOBS\n------------------------------------------------------------------------------\nNOTE the other tuning knobs are now in the shader function inputs!\n============================================================================*/\n#ifndef FXAA_QUALITY_PRESET\n //\n // Choose the quality preset.\n // This needs to be compiled into the shader as it effects code.\n // Best option to include multiple presets is to\n // in each shader define the preset, then include this file.\n //\n // OPTIONS\n // -----------------------------------------------------------------------\n // 10 to 15 - default medium dither (10=fastest, 15=highest quality)\n // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)\n // 39 - no dither, very expensive\n //\n // NOTES\n // -----------------------------------------------------------------------\n // 12 = slightly faster then FXAA 3.9 and higher edge quality (default)\n // 13 = about same speed as FXAA 3.9 and better than 12\n // 23 = closest to FXAA 3.9 visually and performance wise\n // _ = the lowest digit is directly related to performance\n // _ = the highest digit is directly related to style\n //\n #define FXAA_QUALITY_PRESET 12\n#endif\n\n\n/*============================================================================\n\n FXAA QUALITY - PRESETS\n\n============================================================================*/\n\n/*============================================================================\n FXAA QUALITY - MEDIUM DITHER PRESETS\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 10)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 3.0\n #define FXAA_QUALITY_P2 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 11)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 3.0\n #define FXAA_QUALITY_P3 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 12)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 4.0\n #define FXAA_QUALITY_P4 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 13)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 4.0\n #define FXAA_QUALITY_P5 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 14)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 4.0\n #define FXAA_QUALITY_P6 12.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 15)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 12.0\n#endif\n\n/*============================================================================\n FXAA QUALITY - LOW DITHER PRESETS\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 20)\n #define FXAA_QUALITY_PS 3\n #define FXAA_QUALITY_P0 1.5\n #define FXAA_QUALITY_P1 2.0\n #define FXAA_QUALITY_P2 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 21)\n #define FXAA_QUALITY_PS 4\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 22)\n #define FXAA_QUALITY_PS 5\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 23)\n #define FXAA_QUALITY_PS 6\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 24)\n #define FXAA_QUALITY_PS 7\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 3.0\n #define FXAA_QUALITY_P6 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 25)\n #define FXAA_QUALITY_PS 8\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 4.0\n #define FXAA_QUALITY_P7 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 26)\n #define FXAA_QUALITY_PS 9\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 4.0\n #define FXAA_QUALITY_P8 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 27)\n #define FXAA_QUALITY_PS 10\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 4.0\n #define FXAA_QUALITY_P9 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 28)\n #define FXAA_QUALITY_PS 11\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 4.0\n #define FXAA_QUALITY_P10 8.0\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_QUALITY_PRESET == 29)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.5\n #define FXAA_QUALITY_P2 2.0\n #define FXAA_QUALITY_P3 2.0\n #define FXAA_QUALITY_P4 2.0\n #define FXAA_QUALITY_P5 2.0\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n\n/*============================================================================\n FXAA QUALITY - EXTREME QUALITY\n============================================================================*/\n#if (FXAA_QUALITY_PRESET == 39)\n #define FXAA_QUALITY_PS 12\n #define FXAA_QUALITY_P0 1.0\n #define FXAA_QUALITY_P1 1.0\n #define FXAA_QUALITY_P2 1.0\n #define FXAA_QUALITY_P3 1.0\n #define FXAA_QUALITY_P4 1.0\n #define FXAA_QUALITY_P5 1.5\n #define FXAA_QUALITY_P6 2.0\n #define FXAA_QUALITY_P7 2.0\n #define FXAA_QUALITY_P8 2.0\n #define FXAA_QUALITY_P9 2.0\n #define FXAA_QUALITY_P10 4.0\n #define FXAA_QUALITY_P11 8.0\n#endif\n\n\n\n/*============================================================================\n\n API PORTING\n\n============================================================================*/\n#if (FXAA_GLSL_100 == 1) || (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1)\n #define FxaaBool bool\n #define FxaaDiscard discard\n #define FxaaFloat float\n #define FxaaFloat2 vec2\n #define FxaaFloat3 vec3\n #define FxaaFloat4 vec4\n #define FxaaHalf float\n #define FxaaHalf2 vec2\n #define FxaaHalf3 vec3\n #define FxaaHalf4 vec4\n #define FxaaInt2 ivec2\n #define FxaaSat(x) clamp(x, 0.0, 1.0)\n #define FxaaTex sampler2D\n#else\n #define FxaaBool bool\n #define FxaaDiscard clip(-1)\n #define FxaaFloat float\n #define FxaaFloat2 float2\n #define FxaaFloat3 float3\n #define FxaaFloat4 float4\n #define FxaaHalf half\n #define FxaaHalf2 half2\n #define FxaaHalf3 half3\n #define FxaaHalf4 half4\n #define FxaaSat(x) saturate(x)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_100 == 1)\n #define FxaaTexTop(t, p) texture2D(t, p, 0.0)\n #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), 0.0)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_120 == 1)\n // Requires,\n // #version 120\n // And at least,\n // #extension GL_EXT_gpu_shader4 : enable\n // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9)\n #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)\n #if (FXAA_FAST_PIXEL_OFFSET == 1)\n #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)\n #else\n #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)\n #endif\n #if (FXAA_GATHER4_ALPHA == 1)\n // use #extension GL_ARB_gpu_shader5 : enable\n #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)\n #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)\n #define FxaaTexGreen4(t, p) textureGather(t, p, 1)\n #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_GLSL_130 == 1)\n // Requires "#version 130" or better\n #define FxaaTexTop(t, p) textureLod(t, p, 0.0)\n #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)\n #if (FXAA_GATHER4_ALPHA == 1)\n // use #extension GL_ARB_gpu_shader5 : enable\n #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)\n #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)\n #define FxaaTexGreen4(t, p) textureGather(t, p, 1)\n #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)\n #endif\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_3 == 1)\n #define FxaaInt2 float2\n #define FxaaTex sampler2D\n #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))\n #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_4 == 1)\n #define FxaaInt2 int2\n struct FxaaTex { SamplerState smpl; Texture2D tex; };\n #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)\n #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)\n#endif\n/*--------------------------------------------------------------------------*/\n#if (FXAA_HLSL_5 == 1)\n #define FxaaInt2 int2\n struct FxaaTex { SamplerState smpl; Texture2D tex; };\n #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)\n #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)\n #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p)\n #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o)\n #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p)\n #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o)\n#endif\n\n\n/*============================================================================\n GREEN AS LUMA OPTION SUPPORT FUNCTION\n============================================================================*/\n#if (FXAA_GREEN_AS_LUMA == 0)\n FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }\n#else\n FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }\n#endif\n\n\n\n\n/*============================================================================\n\n FXAA3 QUALITY - PC\n\n============================================================================*/\n#if (FXAA_PC == 1)\n/*--------------------------------------------------------------------------*/\nFxaaFloat4 FxaaPixelShader(\n //\n // Use noperspective interpolation here (turn off perspective interpolation).\n // {xy} = center of pixel\n FxaaFloat2 pos,\n //\n // Used only for FXAA Console, and not used on the 360 version.\n // Use noperspective interpolation here (turn off perspective interpolation).\n // {xy_} = upper left of pixel\n // {_zw} = lower right of pixel\n FxaaFloat4 fxaaConsolePosPos,\n //\n // Input color texture.\n // {rgb_} = color in linear or perceptual color space\n // if (FXAA_GREEN_AS_LUMA == 0)\n // {__a} = luma in perceptual color space (not linear)\n FxaaTex tex,\n //\n // Only used on the optimized 360 version of FXAA Console.\n // For everything but 360, just use the same input here as for "tex".\n // For 360, same texture, just alias with a 2nd sampler.\n // This sampler needs to have an exponent bias of -1.\n FxaaTex fxaaConsole360TexExpBiasNegOne,\n //\n // Only used on the optimized 360 version of FXAA Console.\n // For everything but 360, just use the same input here as for "tex".\n // For 360, same texture, just alias with a 3nd sampler.\n // This sampler needs to have an exponent bias of -2.\n FxaaTex fxaaConsole360TexExpBiasNegTwo,\n //\n // Only used on FXAA Quality.\n // This must be from a constant/uniform.\n // {x_} = 1.0/screenWidthInPixels\n // {_y} = 1.0/screenHeightInPixels\n FxaaFloat2 fxaaQualityRcpFrame,\n //\n // Only used on FXAA Console.\n // This must be from a constant/uniform.\n // This effects sub-pixel AA quality and inversely sharpness.\n // Where N ranges between,\n // N = 0.50 (default)\n // N = 0.33 (sharper)\n // {x__} = -N/screenWidthInPixels\n // {_y_} = -N/screenHeightInPixels\n // {_z_} = N/screenWidthInPixels\n // {__w} = N/screenHeightInPixels\n FxaaFloat4 fxaaConsoleRcpFrameOpt,\n //\n // Only used on FXAA Console.\n // Not used on 360, but used on PS3 and PC.\n // This must be from a constant/uniform.\n // {x__} = -2.0/screenWidthInPixels\n // {_y_} = -2.0/screenHeightInPixels\n // {_z_} = 2.0/screenWidthInPixels\n // {__w} = 2.0/screenHeightInPixels\n FxaaFloat4 fxaaConsoleRcpFrameOpt2,\n //\n // Only used on FXAA Console.\n // Only used on 360 in place of fxaaConsoleRcpFrameOpt2.\n // This must be from a constant/uniform.\n // {x__} = 8.0/screenWidthInPixels\n // {_y_} = 8.0/screenHeightInPixels\n // {_z_} = -4.0/screenWidthInPixels\n // {__w} = -4.0/screenHeightInPixels\n FxaaFloat4 fxaaConsole360RcpFrameOpt2,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_SUBPIX define.\n // It is here now to allow easier tuning.\n // Choose the amount of sub-pixel aliasing removal.\n // This can effect sharpness.\n // 1.00 - upper limit (softer)\n // 0.75 - default amount of filtering\n // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)\n // 0.25 - almost off\n // 0.00 - completely off\n FxaaFloat fxaaQualitySubpix,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define.\n // It is here now to allow easier tuning.\n // The minimum amount of local contrast required to apply algorithm.\n // 0.333 - too little (faster)\n // 0.250 - low quality\n // 0.166 - default\n // 0.125 - high quality\n // 0.063 - overkill (slower)\n FxaaFloat fxaaQualityEdgeThreshold,\n //\n // Only used on FXAA Quality.\n // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define.\n // It is here now to allow easier tuning.\n // Trims the algorithm from processing darks.\n // 0.0833 - upper limit (default, the start of visible unfiltered edges)\n // 0.0625 - high quality (faster)\n // 0.0312 - visible limit (slower)\n // Special notes when using FXAA_GREEN_AS_LUMA,\n // Likely want to set this to zero.\n // As colors that are mostly not-green\n // will appear very dark in the green channel!\n // Tune by looking at mostly non-green content,\n // then start at zero and increase until aliasing is a problem.\n FxaaFloat fxaaQualityEdgeThresholdMin,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_SHARPNESS define.\n // It is here now to allow easier tuning.\n // This does not effect PS3, as this needs to be compiled in.\n // Use FXAA_CONSOLE_PS3_EDGE_SHARPNESS for PS3.\n // Due to the PS3 being ALU bound,\n // there are only three safe values here: 2 and 4 and 8.\n // These options use the shaders ability to a free *|/ by 2|4|8.\n // For all other platforms can be a non-power of two.\n // 8.0 is sharper (default!!!)\n // 4.0 is softer\n // 2.0 is really soft (good only for vector graphics inputs)\n FxaaFloat fxaaConsoleEdgeSharpness,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD define.\n // It is here now to allow easier tuning.\n // This does not effect PS3, as this needs to be compiled in.\n // Use FXAA_CONSOLE_PS3_EDGE_THRESHOLD for PS3.\n // Due to the PS3 being ALU bound,\n // there are only two safe values here: 1/4 and 1/8.\n // These options use the shaders ability to a free *|/ by 2|4|8.\n // The console setting has a different mapping than the quality setting.\n // Other platforms can use other values.\n // 0.125 leaves less aliasing, but is softer (default!!!)\n // 0.25 leaves more aliasing, and is sharper\n FxaaFloat fxaaConsoleEdgeThreshold,\n //\n // Only used on FXAA Console.\n // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD_MIN define.\n // It is here now to allow easier tuning.\n // Trims the algorithm from processing darks.\n // The console setting has a different mapping than the quality setting.\n // This only applies when FXAA_EARLY_EXIT is 1.\n // This does not apply to PS3,\n // PS3 was simplified to avoid more shader instructions.\n // 0.06 - faster but more aliasing in darks\n // 0.05 - default\n // 0.04 - slower and less aliasing in darks\n // Special notes when using FXAA_GREEN_AS_LUMA,\n // Likely want to set this to zero.\n // As colors that are mostly not-green\n // will appear very dark in the green channel!\n // Tune by looking at mostly non-green content,\n // then start at zero and increase until aliasing is a problem.\n FxaaFloat fxaaConsoleEdgeThresholdMin,\n //\n // Extra constants for 360 FXAA Console only.\n // Use zeros or anything else for other platforms.\n // These must be in physical constant registers and NOT immediates.\n // Immediates will result in compiler un-optimizing.\n // {xyzw} = float4(1.0, -1.0, 0.25, -0.25)\n FxaaFloat4 fxaaConsole360ConstDir\n) {\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posM;\n posM.x = pos.x;\n posM.y = pos.y;\n #if (FXAA_GATHER4_ALPHA == 1)\n #if (FXAA_DISCARD == 0)\n FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n #if (FXAA_GREEN_AS_LUMA == 0)\n #define lumaM rgbyM.w\n #else\n #define lumaM rgbyM.y\n #endif\n #endif\n #if (FXAA_GREEN_AS_LUMA == 0)\n FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM);\n FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1));\n #else\n FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM);\n FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1));\n #endif\n #if (FXAA_DISCARD == 1)\n #define lumaM luma4A.w\n #endif\n #define lumaE luma4A.z\n #define lumaS luma4A.x\n #define lumaSE luma4A.y\n #define lumaNW luma4B.w\n #define lumaN luma4B.z\n #define lumaW luma4B.x\n #else\n FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);\n #if (FXAA_GREEN_AS_LUMA == 0)\n #define lumaM rgbyM.w\n #else\n #define lumaM rgbyM.y\n #endif\n #if (FXAA_GLSL_100 == 1)\n FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0, 1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 0.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 0.0), fxaaQualityRcpFrame.xy));\n #else\n FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));\n #endif\n #endif\n/*--------------------------------------------------------------------------*/\n FxaaFloat maxSM = max(lumaS, lumaM);\n FxaaFloat minSM = min(lumaS, lumaM);\n FxaaFloat maxESM = max(lumaE, maxSM);\n FxaaFloat minESM = min(lumaE, minSM);\n FxaaFloat maxWN = max(lumaN, lumaW);\n FxaaFloat minWN = min(lumaN, lumaW);\n FxaaFloat rangeMax = max(maxWN, maxESM);\n FxaaFloat rangeMin = min(minWN, minESM);\n FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;\n FxaaFloat range = rangeMax - rangeMin;\n FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);\n FxaaBool earlyExit = range < rangeMaxClamped;\n/*--------------------------------------------------------------------------*/\n if(earlyExit)\n #if (FXAA_DISCARD == 1)\n FxaaDiscard;\n #else\n return rgbyM;\n #endif\n/*--------------------------------------------------------------------------*/\n #if (FXAA_GATHER4_ALPHA == 0)\n #if (FXAA_GLSL_100 == 1)\n FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0,-1.0), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 1.0), fxaaQualityRcpFrame.xy));\n #else\n FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\n #endif\n #else\n FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy));\n FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));\n #endif\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNS = lumaN + lumaS;\n FxaaFloat lumaWE = lumaW + lumaE;\n FxaaFloat subpixRcpRange = 1.0/range;\n FxaaFloat subpixNSWE = lumaNS + lumaWE;\n FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;\n FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNESE = lumaNE + lumaSE;\n FxaaFloat lumaNWNE = lumaNW + lumaNE;\n FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;\n FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;\n/*--------------------------------------------------------------------------*/\n FxaaFloat lumaNWSW = lumaNW + lumaSW;\n FxaaFloat lumaSWSE = lumaSW + lumaSE;\n FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);\n FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);\n FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;\n FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;\n FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;\n FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;\n/*--------------------------------------------------------------------------*/\n FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;\n FxaaFloat lengthSign = fxaaQualityRcpFrame.x;\n FxaaBool horzSpan = edgeHorz >= edgeVert;\n FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;\n/*--------------------------------------------------------------------------*/\n if(!horzSpan) lumaN = lumaW;\n if(!horzSpan) lumaS = lumaE;\n if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;\n FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;\n/*--------------------------------------------------------------------------*/\n FxaaFloat gradientN = lumaN - lumaM;\n FxaaFloat gradientS = lumaS - lumaM;\n FxaaFloat lumaNN = lumaN + lumaM;\n FxaaFloat lumaSS = lumaS + lumaM;\n FxaaBool pairN = abs(gradientN) >= abs(gradientS);\n FxaaFloat gradient = max(abs(gradientN), abs(gradientS));\n if(pairN) lengthSign = -lengthSign;\n FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posB;\n posB.x = posM.x;\n posB.y = posM.y;\n FxaaFloat2 offNP;\n offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;\n offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;\n if(!horzSpan) posB.x += lengthSign * 0.5;\n if( horzSpan) posB.y += lengthSign * 0.5;\n/*--------------------------------------------------------------------------*/\n FxaaFloat2 posN;\n posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;\n posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;\n FxaaFloat2 posP;\n posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;\n posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;\n FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;\n FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));\n FxaaFloat subpixE = subpixC * subpixC;\n FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));\n/*--------------------------------------------------------------------------*/\n if(!pairN) lumaNN = lumaSS;\n FxaaFloat gradientScaled = gradient * 1.0/4.0;\n FxaaFloat lumaMM = lumaM - lumaNN * 0.5;\n FxaaFloat subpixF = subpixD * subpixE;\n FxaaBool lumaMLTZero = lumaMM < 0.0;\n/*--------------------------------------------------------------------------*/\n lumaEndN -= lumaNN * 0.5;\n lumaEndP -= lumaNN * 0.5;\n FxaaBool doneN = abs(lumaEndN) >= gradientScaled;\n FxaaBool doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;\n FxaaBool doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;\n/*--------------------------------------------------------------------------*/\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 3)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 4)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 5)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 6)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 7)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 8)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 9)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 10)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 11)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;\n/*--------------------------------------------------------------------------*/\n #if (FXAA_QUALITY_PS > 12)\n if(doneNP) {\n if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));\n if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));\n if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;\n if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;\n doneN = abs(lumaEndN) >= gradientScaled;\n doneP = abs(lumaEndP) >= gradientScaled;\n if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;\n if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;\n doneNP = (!doneN) || (!doneP);\n if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;\n if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n #endif\n/*--------------------------------------------------------------------------*/\n }\n/*--------------------------------------------------------------------------*/\n FxaaFloat dstN = posM.x - posN.x;\n FxaaFloat dstP = posP.x - posM.x;\n if(!horzSpan) dstN = posM.y - posN.y;\n if(!horzSpan) dstP = posP.y - posM.y;\n/*--------------------------------------------------------------------------*/\n FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;\n FxaaFloat spanLength = (dstP + dstN);\n FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;\n FxaaFloat spanLengthRcp = 1.0/spanLength;\n/*--------------------------------------------------------------------------*/\n FxaaBool directionN = dstN < dstP;\n FxaaFloat dst = min(dstN, dstP);\n FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;\n FxaaFloat subpixG = subpixF * subpixF;\n FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;\n FxaaFloat subpixH = subpixG * fxaaQualitySubpix;\n/*--------------------------------------------------------------------------*/\n FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;\n FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);\n if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;\n if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;\n #if (FXAA_DISCARD == 1)\n return FxaaTexTop(tex, posM);\n #else\n return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);\n #endif\n}\n/*==========================================================================*/\n#endif\n\nvoid main() {\n gl_FragColor = FxaaPixelShader(\n vUv,\n vec4(0.0),\n tDiffuse,\n tDiffuse,\n tDiffuse,\n resolution,\n vec4(0.0),\n vec4(0.0),\n vec4(0.0),\n 0.75,\n 0.166,\n 0.0833,\n 0.0,\n 0.0,\n 0.0,\n vec4(0.0)\n );\n\n // TODO avoid querying texture twice for same texel\n gl_FragColor.a = texture2D(tDiffuse, vUv).a;\n}'};return THREE.e0}); define("hh",["require","cN","jw","iK","fL"],function(a){function b(a,b){this.g=a;this.Dy=b;this.Ui=new THREE.EffectComposer(a);this.Pl=new THREE.CustomRenderPass(b);this.Pl.Yp=y;this.Ui.addPass(this.Pl);this.lI=new THREE.ShaderPass(THREE.e0);this.Ui.addPass(this.lI);this.Nq=this.Oq=m}a("cN");a("jw");a("iK");a("fL");var c=new THREE.Vector2;b.prototype.destroy=function(){this.Ui=this.lI=this.Pl=this.Dy=this.g=r};b.prototype.render=function(a,b){this.g.getSize(c);if(this.Oq!==c.width||this.Nq!==c.height)this.Oq= c.width,this.Nq=c.height,this.Ui.setSize(this.Oq,this.Nq),this.lI.material.uniforms.resolution.value.x=1/this.Oq,this.lI.material.uniforms.resolution.value.y=1/this.Nq;this.Pl.Gj=a;this.Pl.Jc=b;this.Ui.render()};return b}); define("iw",["require","cA","hh"],function(a){function b(a,d){this.g=a;this.Dy=d;this.pJ=new c(a,d);this.eS=new e(a,d);this.ZH=b.NONE}var c=a("cA"),e=a("hh");b.d0="fxaa";b.RO="motionBlur";b.NONE="none";b.prototype.destroy=function(){this.pJ.destroy();this.pJ=r;this.eS.destroy();this.Dy=this.g=this.eS=r};b.prototype.UZ=function(a){this.ZH!=a&&(this.ZH=a,this.ZH==b.RO&&this.pJ.start())};b.prototype.render=function(a,d){switch(this.ZH){case b.d0:this.eS.render(a,d);break;case b.RO:this.pJ.render(a,d); break;default:this.Dy(this.g,a,d,r,y)}};return b});define("io",["require","ge"],function(a){function b(){this.status=b.EG;this.CZ=this.kw=0;this.BZ=[]}a("ge");b.LOADING="loading";b.S="loaded";b.EG="not loaded";return b}); define("iG","require,do,fg,bZ,ll,id,io".split(","),function(a){function b(){this.l4={};this.Pc=[];this.Br=[];this.fd={}}var c=a("do"),e=a("fg");a("bZ");var g=a("ll"),d=a("id"),f=a("io");b.prototype.FN=function(a){for(var a=a.Kn(),b=0,d=a.length;b=0&&t.splice(s,1);if(o.kw==0&&o.status!=f.EG){o.status=f.EG;o.CZ=0;this.Rsa(q)}}}; b.prototype.Gaa=function(a){for(var a=(a==m?this.Br:this.d5(a)).slice(),b=0;b=b.HAVE_CURRENT_DATA&&a.Qma.drawImage(b,0,0,h,j);a.image=a.tl}else a.image=b;a.Rm&&a.image!=a.Rm&&(g.oM(a.Rm),delete a.Rm);a.needsUpdate=n;if((h=g.OY(a))&&h.isShaderMaterial)h.needsUpdate=n;c.ada()},hva:function(a){a?c.dZ(a)?a=b.we(a,y):c.qda(a)?a=this.uz():c.rF(a)&&!(a.readyState>=a.HAVE_CURRENT_DATA&&0 0.0)"," color.rgb /= color.a;"]));if(b.zs){var k=a.image.width||a.image.videoWidth,l=a.image.height||a.image.videoHeight,q=0.5*Math.min(k,l)*b.zs;c.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(q/k,q/l)};e=e.concat(["uniform vec2 blendingLimit;"]);g=g.concat(" float xCoef = 0.0;, float yCoef = 0.0;, if (vUV.x < blendingLimit.x) {, xCoef = 1.0 - (vUV.x / blendingLimit.x);, xCoef = xCoef * xCoef;, } else if ((1.0 - vUV.x) < blendingLimit.x) {, xCoef = 1.0 - ((1.0 - vUV.x) / blendingLimit.x);, xCoef = xCoef * xCoef;, }, if (vUV.y < blendingLimit.y) {, yCoef = 1.0 - (vUV.y / blendingLimit.y);, yCoef = yCoef * yCoef;, } else if ((1.0 - vUV.y) < blendingLimit.y) {, yCoef = 1.0 - ((1.0 - vUV.y) / blendingLimit.y);, yCoef = yCoef * yCoef;, }, alpha = alpha * (1.0 - sqrt(xCoef + yCoef));".split(","))}b.wn&& (c.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(b.wn.substr(1,2),16)/255,parseInt(b.wn.substr(3,2),16)/255,parseInt(b.wn.substr(5,2),16)/255)},c.uniforms.chromaThreshold={type:"f",value:b.RE},c.uniforms.chromaSmoothing={type:"f",value:b.QE},e=e.concat(["uniform vec3 chromaColor;","uniform float chromaThreshold;","uniform float chromaSmoothing;"]),g=g.concat(" float maskY = 0.2989 * chromaColor.r + 0.5866 * chromaColor.g + 0.1145 * chromaColor.b;{ float maskCr = 0.7132 * (chromaColor.r - maskY);{ float maskCb = 0.5647 * (chromaColor.b - maskY);{ float Y = 0.2989 * color.r + 0.5866 * color.g + 0.1145 * color.b;{ float Cr = 0.7132 * (color.r - Y);{ float Cb = 0.5647 * (color.b - Y);{ float chromaBlendValue = smoothstep(chromaThreshold, chromaThreshold + chromaSmoothing, distance(vec2(Cr, Cb), vec2(maskCr, maskCb)));{ alpha = alpha * chromaBlendValue;".split("{"))); g=g.concat(["\tgl_FragColor = vec4(color"+(b.mF?".bgr":".rgb")+", alpha);"]);a.format=THREE.RGBAFormat;c.fragmentShader=[].concat(e,["void main() {"],g,["}"]).join("\n")}else c.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";c=new THREE.ShaderMaterial(c);this.u2(c);return c},dispose:function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){var b=g.GY(a);b&&e.dispose(b);a.dispose()})},u2:function(a){a.side=THREE.FrontSide; a.transparent=n;a.depthTest=y;a.needsUpdate=n;a.userData={};a.userData.vda={};e.iza(g.GY(a),a)},ZZ:function(a,b){a.userData.vda.Mk=b},ica:function(a){return a.userData.vda.Mk}};b.prototype.Txa=function(){return this.bG||this.mF||this.zs||this.wn||this.premultipliedAlpha};b.prototype.isEqual=function(a){return this.bG===a.bG&&this.mF===a.mF&&this.zs===a.zs&&this.wn===a.wn&&this.RE===a.RE&&this.QE===a.QE&&this.premultipliedAlpha===a.premultipliedAlpha&&this.side===a.side};g.Wn=b;return g}); define("dv",["require","gW","bU"],function(a){function b(a){return Array.isArray(a)?a:a?[a]:[]}var c=a("gW"),e=a("bU"),g={create:function(a,c){var h=new THREE.Mesh(a,c);h.overdraw=y;h.matrixAutoUpdate=y;h.userData.Vp={};h.userData.Vp.attributes={};b(c).forEach(function(a){e.ZZ(a,h)});return h},Dba:function(a){var b=new THREE.Group;g.forEach(a,function(a){b.add(a)});return b},Oya:function(a,c){b(c).forEach(function(a){e.ZZ(a,r)});e.dispose(a.material);a.material=c;b(c).forEach(function(b){e.ZZ(b,a)})}, Is:function(a){return b(a.material)},Hva:function(a,b){if(a.layers.mask&b.layers.mask){var e=g.Is(a);return c.Gva(a.geometry,b,a.matrixWorld).map(function(a){return e[a]})}return[]},WZ:function(a,b){a.geometry=b},Dva:function(a,b){var h=[];g.Zg(a,function(a){var d=g.Is(a);b.forEach(function(b){var f=c.Cva(a.geometry,a.matrixWorld,b);if(f){var g=e.GY(d[f.materialIndex]),b=g.image;b==g.Rm&&(b=g.Rm.ha);g=Math.round(f.efa*b.width-0.5);g=0>g?0:g>b.width-1?b.width-1:g;f=Math.round((1-f.hfa)*b.height-0.5); f=0>f?0:f>b.height-1?b.height-1:f;h.push({x:g,y:f,source:b})}})});return h},AN:function(a,b){g.forEach(a,function(a){b?b.add(a):a.parent&&a.parent.remove(a)})},$s:"panoramaId",Dw:"panoramaFrameId",RN:"panoramaOverlayId",QN:"levelIndex",setAttribute:function(a,b,c){g.Zg(a,function(a){a.userData.Vp.attributes[b]=c})},getAttribute:function(a,b){return a.userData.Vp.attributes[b]},Qba:function(a,b,c){for(var e=[],g=0,k=a.length;g\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}\n"; l.side=THREE.BackSide;l.depthWrite=y;l.transparent=n;l.depthTest=y;l.needsUpdate=n;var o=new THREE.Mesh(new THREE.SphereBufferGeometry(5,64,64),l);o.overdraw=y;o.matrixAutoUpdate=y;o.renderOrder=1E3;var t=new THREE.Matrix4;this.xw=function(a){k=a};this.setSize=function(b,c){if(d!=b||p!=c)a.setSize(d=b,p=c)};this.start=function(c){c.add(o);c.add(q);c.traverse(function(a){if(a.layers.test(q.layers)){a.userData.iZ=a.layers.mask;a.layers.mask=q.layers.mask}});q.visible=n;o.visible=n;e.TZ(c,[b]);a.setClearColor(16777215, 1);a.setPixelRatio(g.getPixelRatio())};this.stop=function(b){a.setClearColor(0,0);b.traverse(function(a){if(a.userData.iZ!==m){a.layers.mask=a.userData.iZ;delete a.userData.iZ}});q.visible=y;o.visible=y;b.remove(o);b.remove(q)};this.fov=function(){return b.fov};this.v_=function(){if(k>0){o.matrix.copy(b.matrixWorld);o.matrix.multiply(t.makeTranslation(0,0,-k*5));o.matrixWorldNeedsUpdate=n}};this.Jc=function(){return b};var s=0;this.render=function(c,d,e){if(k>0){s++;if(!g.zwa()||s%10==0){g.eya(); o.visible=y;q.update(a,c);o.visible=n}}a.setRenderTarget(d);e&&a.clear();a.render(c,b)}}}}); define("dG","require,jquery.mod,it,ku,cT,iw,X,gW,fK,bi".split(","),function(a){function b(){this.K=c("
");this.K.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.Ab=new THREE.PerspectiveCamera(90,16/9,0.1,2*j.Md);this.Ab.layers.enable(d.ra);this.NH=new THREE.PerspectiveCamera;this.tj=new THREE.Scene;this.M3=new THREE.Scene;this.N3=new THREE.Scene;window.zAa=THREE;this.tj.add(this.Ab);this.yo=this.Tq=this.g=r;this.xu=0;this.jp=this.ig=this.lW=this.HX= r;this.C6=this.aR=y}var c=a("jquery.mod"),e=a("it"),g=a("ku"),d=a("cT"),f=a("iw"),h=a("X"),j=a("gW"),p=a("fK"),k=a("bi");b.prototype.Gs=Q("NH");b.prototype.jva=function(){return this.ig.fov(this.Ab)};b.prototype.getPixelRatio=function(){return this.g.getPixelRatio()};b.prototype.Gb=Q("K");b.prototype.mva=function(){return this.g?this.g.domElement.width:this.K.width()};b.prototype.lva=function(){return this.g?this.g.domElement.height:this.K.height()};b.prototype.yg=function(){return this.g.domElement}; b.prototype.update=function(a){this.vta(a);this.cta(a);this.Wsa(a);this.sta(a)};b.prototype.render=function(){this.xK()};b.prototype.vta=function(a){if(a.enabled){this.xu=(new Date).getTime();this.g||this.yra(a);if(a.tb&&k.xd()==k.uA.Oj)this.C6=n;k.yN(this.g.getContext())}if(this.aR=a.enabled&&!a.tb){this.Tq.setSize(a.width,a.height);this.yo.setSize(a.width,a.height)}};b.prototype.yra=function(a){if(!this.g&&a.enabled){for(;l.length>=q;){l.sort(function(a,b){return a.xu-b.xu});l[0].Pia()}l.push(this); var b=this.Gb().get(0);this.Tq=new THREE.CSS3DRenderer;this.Tq.domElement.style.position="absolute";this.Tq.domElement.style.zIndex=0;b.appendChild(this.Tq.domElement);var c={precision:"mediump",alpha:n};if(l.length==1&&a.tb){a=k.Xv();c.context=a;c.canvas=a.canvas}else{c.canvas=document.createElement("canvas");c.context=p.iY(c.canvas,a.aM)}this.g=new THREE.WebGLRenderer(c);this.g.domElement.style.position="absolute";this.g.domElement.style.zIndex=1;this.g.domElement.style.pointerEvents="none";this.g.setClearColor(0, 0);b.appendChild(this.g.domElement);this.yo=new THREE.CSS3DRenderer;this.yo.domElement.style.position="absolute";this.yo.domElement.style.zIndex=2;this.yo.domElement.style.pointerEvents="none";b.appendChild(this.yo.domElement);this.jp=new f(this.g,function(a,b,c,d,e){this.C6&&this.g.resetState();this.ig.render(b,d,e)}.bind(this));this.lW=new h.ega(this.g,this.Ab);this.G$=new h.uga(this.g,this.Ab);this.HX=new h.Bga(this.g,this.Ab);k.fz(this.g.getContext())}};b.prototype.Pia=function(){if(this.g){l.splice(l.indexOf(this), 1);this.ig=this.lW=this.HX=r;this.jp.destroy();this.jp=r;k.nN(this.g.getContext());var a=this.Gb().get(0);a.removeChild(this.yo.domElement);this.yo=r;a.removeChild(this.g.domElement);this.g.dispose();this.g=r;a.removeChild(this.Tq.domElement);this.Tq=r}};b.prototype.Wsa=function(a){this.Ab.quaternion.copy(g.Uba(a.ma,a.pitch,a.md));this.Ab.fov=e.Kk(a.bd,a.width,a.height);this.Ab.aspect=a.width/a.height;this.Ab.updateProjectionMatrix();this.Ab.updateMatrixWorld();this.ig&&this.ig.v_();this.ig&&this.NH.copy(this.ig.Jc()); this.NH.updateProjectionMatrix();this.NH.updateMatrixWorld();this.tj.autoUpdate===n&&this.tj.updateMatrixWorld()};b.prototype.cta=function(a){var b=a.tb?this.HX:a.Ei>0?this.G$:this.lW;if(this.ig!=b){this.ig&&this.ig.stop(this.tj);(this.ig=b)&&this.ig.start(this.tj)}if(this.ig){this.ig.setSize(a.width,a.height);this.ig==this.G$&&this.ig.xw(a.Ei)}};b.prototype.sta=function(a){this.jp&&(a.fN?this.jp.UZ(f.RO):a.xM&&!a.tb?this.jp.UZ(f.d0):this.jp.UZ(f.NONE))};b.prototype.xK=function(){this.jp&&this.jp.render(this.tj, this.Ab);if(this.aR){this.Tq.render(this.M3,this.Ab);this.yo.render(this.N3,this.Ab)}};var l=[],q=10;return b}); define("gU",["require","fg","eO","fK"],function(a){var b=a("fg"),c=a("eO"),e=a("fK"),a=b.extend(c,function(){c.call(this);this.Q=this.Va=r;this.zc=[];this.JI=this.Wg=y;this.rC=r;this.sh=[this];this.rn={};this.Fm={};this.DB=y;this.gV={};this.hV={};this.dl(["blendingActive"]);this.aha();this.set("alpha",1);this.set("translationX",0);this.set("translationY",0);this.set("translationZ",0);this.set("deltaYaw",0);this.set("deltaPitch",0);this.set("deltaRoll",0);this.set("flipHorizontally",y);this.set("index", 0)});a.prototype.aha=function(){var a="alpha,deltaYaw,deltaPitch,deltaRoll,translationX,translationY,translationZ".split(",");Array.isArray(a)||(a=[a]);a.forEach(function(a){this.gV[a]=n}.bind(this))};a.prototype.dl=function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){this.hV[a]=n}.bind(this))};a.prototype.set=function(a,b){this.rn[a]!==b&&(this.hV[a]&&this.zc.forEach(function(c){c.set(a,b)}),this.Aha(a,b),this.zD(a))};a.prototype.get=function(a){return this.rn[a]};a.prototype.zD=function(a){this.Fm[a]|| (this.Fm[a]=n,this.DB||(this.DB=n,this.Ia()),this.gV[a]&&this.zc.forEach(function(b){b.zD(a)}))};a.prototype.Ria=function(){this.DB&&(this.DB=y,this.Fm={})};a.prototype.p=function(){if(this.DB)for(var a=0;a0&&e(c);if(c.visible!=f){c.visible=f;a=n}});var f=p.Qba(f,p.Dw,m),f=p.zca(f,p.$s),j;for(j in f){var s=f[j],v=d.map(R(y));s.sort(function(a,b){return p.wca(b)-p.wca(a)});var u=s.some(g);s.forEach(function(f){var h=b(d,f)&&p.zM(f)>0&&e(f)&&(!u||c(f));if(h){for(var h=n,j=u||c(f)&&p.zM(f)>0.999,g=0;g0?1E3:this.m.OE/Math.tan(Math.min(this.m.Gf*0.5,89.99)*s);o.Za()||(a=a*1.5);var d=q.vY(this.m.ye),e=q.Gh(this.m.ye).filter(b),f=e.filter(g),h={},h=l.Qba(f,l.Dw,m),h=l.zca(h,l.Dw);h.none=l.qM(f,l.Dw,m);var f=[],j;for(j in h)for(var k=h[j],v=0,J=k.length;vG){L=B;G=M}else if(M>=a&&M0.75*a?f.push(L):f.push(E);else{E&&f.indexOf(E)<0&&f.push(E);L&&f.indexOf(L)<0&&f.push(L)}}}a=[];for(d=0;d=0)}return a};t.prototype.ss=function(){this.mn=r;for(var a=[],b=[],e=[],f=(new Date).getTime()-v,j=q.vY(this.m.ye),g=q.Gh(this.m.ye),k=0,p=g.length;k=0){if(this.m.Ei>0||(c(o).mZ||t.QO)==t.Tj)N=O;else for(var I=0,L=j.length;IE){this.Ar.sort(function(a,b){return c(a).sda-c(b).sda});k=this.Ar.splice(0,this.Ar.length-E);E=0;for(H=k.length;E0&&b.push(o)}e=Number.POSITIVE_INFINITY;k=0;for(p=b.length;k=0&&d.splice(e,1);this.Ar.push(b);this.VV(b,n);a=a.Mk();c(a).om.indexOf(b)>=0&&this.XP(a,c(a).Zp);this.Iaa()};t.prototype.XP=function(a,b){var e=c(a).Zp,e=e?e.length:m,f=c(a).om,f=f?f.length:m;c(a).Zp=b;c(a).om=b.filter(d);p.XZ(a,c(a).om.length==0&&(c(a).mZ||t.QO)==t.Tj);var j= c(a).Zp,j=j?j.length:m,g=c(a).om,g=g?g.length:m;if(f!==g||e!==j)a.dispatchEvent({type:h.wc,Kh:j?100-100*g/j:100});f!==g&&g===0&&a.dispatchEvent({type:h.S})};t.prototype.VV=function(a,c){if(c!=a.visible){var d=k.ica(a),f=l.getAttribute(d,l.$s),h=l.getAttribute(d,l.QN);if(f===m||h===m)a.visible=c;else{for(var j=q.Gh(this.m.ye).filter(b),f=l.qM(j,l.$s,f),h=l.qM(f,l.QN,h),g=l.Is(d).indexOf(a),d=h.map(function(a){return l.Is(a)[g]}),h=c,f=0;fa?(o.iq=a/o.width, o.aG=l==c.ra?0:l==c.Na?1-o.iq:0.5*(1-o.iq),o.width=a):(o.aG=0,o.iq=1);o.height>b?(o.jq=b/o.height,o.dG=q==c.ob?1-o.jq:q==c.nb?0:0.5*(1-o.jq),o.height=b):(o.dG=0,o.jq=1);return o},IY:function(a,h,j,p,k,l,q,o){h||(h=b.Kk(a,j,p));k||(k=e.Zn);l||(l=4096/360);var t={};switch(k){case e.Zn:t.bd=a;t.um=h;break;case e.NONE:t.bd=2*Math.atan2(0.5*j,45*l)*g;t.um=b.Kk(t.bd,j,p);break;case e.Te:t.bd=Math.min(b.Sn(h,j,p),a);t.um=Math.min(b.Kk(a,j,p),h);break;case e.xm:t.bd=Math.max(b.Sn(h,j,p),a);t.um=Math.max(b.Kk(a, j,p),h);break;case e.Zk:t.bd=a;t.um=b.Kk(a,j,p);break;case e.kh:t.bd=b.Sn(h,j,p),t.um=h}t.bd>a?(t.iq=Math.tan(0.5*a*d)*j/Math.tan(0.5*t.bd*d)/j,t.aG=q==c.ra?0:q==c.Na?1-t.iq:0.5*(1-t.iq),t.bd=a):(t.aG=0,t.iq=1);t.um>h?(t.jq=Math.tan(0.5*h*d)*p/Math.tan(0.5*t.um*d)/p,t.dG=o==c.ob?1-t.jq:o==c.nb?0:0.5*(1-t.jq),t.um=h):(t.dG=0,t.jq=1);return t}}}); define("kO","require,ge,gW,dv,hK,hZ,it,ku,jY".split(","),function(a){var b=a("ge"),c=a("gW"),e=a("dv"),g=a("hK"),d=a("hZ"),f=a("it"),h=a("ku"),j=a("jY"),p=new THREE.Matrix4,k=Math.PI/180;return{wo:function(){this.set("distance",m);this.set("rotationX",0);this.set("rotationY",0);this.set("rotationZ",0);this.set("yaw",0);this.set("pitch",0);this.set("roll",0);this.set("scale",1);this.set("contentWidth",100);this.set("contentHeight",100);this.set("hfov",m);this.set("vfov",r);this.set("scaleMode",r); this.set("horizontalAlign",r);this.set("verticalAlign",r);this.set("attachToCamera",y);this.wf=this.Rq();this.ef=new THREE.Matrix4;this.ic=new THREE.Matrix4;this.tk=new THREE.Matrix4;this.Xi=new THREE.Matrix4;this.tg=new THREE.Matrix4;this.ZP=new THREE.Matrix4;this.w2=new THREE.Quaternion;this.z3=new THREE.Matrix4;this.OA=new THREE.Matrix4;this.ZA=new THREE.Matrix4;this.Hq=new THREE.Matrix4;this.rf=new THREE.Matrix4},Dp:function(a){this.Zl(a);this.qX()},qX:function(){if(this.p("hfov","vfov","contentWidth", "contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var a=g.IY(this.get("hfov"),this.get("vfov"),this.get("contentWidth"),this.get("contentHeight"),this.get("scaleMode"),this.get("panoramaPixelsPerDegree"),this.get("horizontalAlign"),this.get("verticalAlign")),a=c.Lea(this.wf[1],a.aG,a.dG,a.iq,a.jq);if(this.wf[1]!=a){this.wf[1]=a;(a=this.Nx())&&e.WZ(a,this.wf[1])}}},Nx:function(){var a=this.get("meshGroup");return a?e.Gh(a)[1]:r},Vi:function(){return[0,1].map(function(a){var c= a==0?this.G3():this.vx(),a=e.create(this.wf[a],c);d.On(a,d.Tj);d.Pn(a,d.$k);d.Ts(a,b.Sw);d.Vz(a,1);return a}.bind(this))},Rq:function(){return[c.nz(),c.nz()]},Zl:function(a){var b=y;if(this.p("composedTranslationX","composedTranslationY","composedTranslationZ")){this.ef.makeTranslation(-this.get("composedTranslationX")*0.5*c.Md,this.get("composedTranslationY")*0.5*c.Md,this.get("composedTranslationZ")*0.5*c.Md);b=n}if(this.p("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.ic.makeRotationY(-a.ma* k);this.ic.multiply(p.makeRotationX(-this.get("composedDeltaPitch")*k));this.ic.multiply(p.makeRotationY(this.get("composedDeltaYaw")*k));this.ic.multiply(p.makeRotationY(a.ma*k));b=n}if(this.p("yaw","pitch")){this.tk.makeRotationY(-this.get("yaw")*k);this.tk.multiply(p.makeRotationX(this.get("pitch")*k));b=n}if(this.p("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX","composedTranslationY","composedTranslationZ")){var d= this.Q.get("composedTranslationX")==0&&this.Q.get("composedTranslationY")==0&&this.Q.get("composedTranslationZ")==0&&this.get("distance")!==m?c.Vv(this.get("distance")):c.Np();this.Xi.makeTranslation(0,0,-d);var t=this.get("contentWidth"),s=this.get("contentHeight"),v=this.get("hfov"),u=this.get("vfov")||f.Kk(v,t,s),w=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),z=this.get("scaleMode"),C=this.get("panoramaPixelsPerDegree"),b=this.get("horizontalAlign")||j.Lc,A=this.get("verticalAlign")|| j.vc,t=g.IY(v,u,t,s,z,C,b,A),v=w*c.JY(d,v),u=x*c.KY(d,u);this.OA.makeScale(v,u,1);w=w*c.JY(d,t.bd);d=x*c.KY(d,t.um);this.ZA.makeScale(w,d,1);this.z3.makeTranslation(b==j.ra?-(v-w)*0.5:b==j.Na?(v-w)*0.5:0,A==j.ob?(u-d)*0.5:A==j.nb?-(u-d)*0.5:0,0);b=n}if(this.p("rotationX","rotationY","rotationZ","roll")){this.tg.makeRotationZ(this.get("roll")*k);this.tg.multiply(p.makeRotationY(this.get("rotationY")*k));this.tg.multiply(p.makeRotationX(this.get("rotationX")*k));this.tg.multiply(p.makeRotationZ(this.get("rotationZ")* k));b=n}this.set("cameraYaw",a.ma);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.md);if(this.get("attachToCamera")&&this.p("cameraYaw","cameraPitch","cameraRoll")){this.w2.copy(h.Uba(a.ma,a.pitch,a.md));this.ZP.makeRotationFromQuaternion(this.w2);b=n}else if(this.p("attachToCamera")){this.ZP.identity();b=n}if(b||this.p("meshGroup")){this.rf.copy(this.ef);this.rf.multiply(this.ic);this.rf.multiply(this.ZP);this.rf.multiply(this.tk);this.rf.multiply(this.Xi);this.rf.multiply(this.tg);this.Hq.copy(this.rf); this.Hq.multiply(this.OA);this.rf.multiply(this.z3);this.rf.multiply(this.ZA);a=e.Gh(this.get("meshGroup"));e.fm(a[0],this.Hq);e.fm(a[1],this.rf)}}}});define("hk",["require","fg","eg","kO"],function(a){var b=a("fg"),c=a("eg"),a=a("kO");return b.extend(c,a,function(){c.call(this);this.set("tag","Plane")})}); define("cW","require,fg,ll,eO,kz,V".split(","),function(a){function b(){if(!p){p=n;h.Ma(c,r)}}function c(){for(p=y;j.length;){var a=j.shift();a.add();if(a.cxa())break}j.length&&b()}var e=a("fg"),g=a("ll"),d=a("eO"),f=a("kz"),h=a("V"),j=[],p=y,k=e.extend(d,function(a,b){d.call(this);this.texture=a;this.source=b});k.prototype.cxa=function(){return!this.source.Y1&&f.nua(this.source)};k.prototype.Iba=function(){if(!this.source.Y1){f.Iba(this.source);this.source.Y1=n}};k.prototype.add=function(){f.JN(this.texture, this.source);this.trigger(g.S)};k.prototype.remove=function(){var a=j.indexOf(this);a>=0&&j.splice(a,1);f.JN(this.texture,r)};return{add:function(a,c){var d=new k(a,c);j.push(d);b();return d}}}); define("jS","require,fg,ll,bS,iG,cW,jZ".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bS"),g=a("iG"),d=a("cW"),f=a("jZ"),a=b.extend(f,function(a){f.call(this);this.Zd=f.yga;this.vd=a;this.ue=this.Ay=this.he=r});a.prototype.we=Q("ue");a.prototype.fQ=function(){this.ZQ()};a.prototype.nL=function(){this.Do()};a.prototype.dQ=function(){this.Oja()};a.prototype.UD=function(){this.Do();this.yR()};a.prototype.rs=function(){this.Do();this.yR()};a.prototype.dispose=function(){this.Do();this.yR();f.prototype.dispose.call(this)}; a.prototype.Ze=function(){this.ue=g.we(this.vd);this.ky(n)};a.prototype.Er=function(){this.ky(y)};a.prototype.L6=function(){this.K6()};a.prototype.ZQ=function(){if(!this.he){this.he=new e;this.he.h_([this.vd]);this.he.bind(c.S,this.Ze,this,n);this.he.bind(c.oe,this.Er,this,n);g.Mn(this.he,this.ZB)}};a.prototype.Do=function(){if(this.he){this.he.unbind(c.S,this.Ze,this,n);this.he.unbind(c.oe,this.Er,this,n);g.Fi(this.he,this.ZB);this.he=r}};a.prototype.Oja=function(){this.Ay=d.add(this.yb,this.ue); this.Ay.bind(c.S,this.L6,this,n)};a.prototype.yR=function(){if(this.Ay){this.Ay.unbind(c.S,this.L6,this,n);this.Ay.remove();this.Ay=r}};return a}); define("gf",["require"],function(){function a(){this.pr=b++;this.bC="_map_"+this.pr+"_key";this.VI={};this.Ye=[];this.length=0}var b=0;a.prototype.set=a.prototype.add=function(a,b){var g;0>this.Ye.indexOf(a)&&this.Ye.push(a);if("object"===typeof a&&a!==r){if(g=a[this.bC],!g){g=this.bC;for(var d=[],f=0;8>f;f++)d.push(Math.floor(16*Math.random()).toString(16));g=a[g]=d.join("")}}else g=a;this.VI[g]=b;this.length=this.Ye.length};a.prototype.get=function(a){return this.VI["object"===typeof a&&a!==r?a[this.bC]: a]};a.prototype.Fca=function(a){return 0<=this.Ye.indexOf(a)};a.prototype.remove=function(a){var b=this.Ye.indexOf(a);0>b||(this.Ye.splice(b,1),"object"===typeof a&&a!==r?(b=a[this.bC],delete a[this.bC]):b=a,delete this.VI[b],this.length=this.Ye.length)};a.prototype.forEach=function(a){this.Ye.slice().forEach(function(b){a(b,this.get(b))}.bind(this))};a.prototype.dispose=function(){for(;this.Ye.length;)this.remove(this.Ye.pop());this.Ye=this.VI=r};return a}); define("hS",["require","fg","eO","gf"],function(a){function b(){this.Ov=[]}var c=a("fg"),e=a("eO"),g=a("gf"),a=c.extend(e,function(a){e.call(this);this.Vd=a;this.Yc=[];this.Ko=new g;this.EE=[];this.MR=[];this.jy=this.jy.bind(this)});a.prototype.zd=function(a){this.Yc.forEach(function(a){a.removeEventListener?a.removeEventListener(this.Vd,this.jy):a.unbind?a.unbind(this.Vd,this.jy,this,n):i("invalid instance type")}.bind(this));this.Yc=a.slice();this.Yc.forEach(function(a){a.addEventListener?a.addEventListener(this.Vd, this.jy):a.bind?a.bind(this.Vd,this.jy,this,n):i("invalid instance type");this.Ko.Fca(a)||this.Ko.set(a,new b)}.bind(this));this.XW()};a.prototype.dispose=function(){this.zd([]);this.Yc=r;this.Ko.dispose();this.MR=this.EE=this.Ko=r};a.prototype.Hi=function(a){this.EE.push(a);this.XW();return this};a.prototype.Nk=function(a){this.MR.push(a);return this};a.prototype.zn=function(a){this.Yc.forEach(function(b){a(b,this.Ko.get(b).Ov)}.bind(this))};a.prototype.Ai=function(a){a=this.Ko.get(a).Ov;return 0== a.length?r:a[a.length-1]};a.prototype.jy=function(a){var b=a.target||a.source;if(b=this.Ko&&this.Ko.get(b))b.Ov.push(a),this.MR.forEach(function(b){b(a,this)}.bind(this)),this.XW()};a.prototype.XW=function(){if(0!=this.Yc.length){for(var a=0;a0&&this.qe>this.gb-0.15&&!this.mT()&&!this.fj&&this.JR();this.iE()};w.prototype.Uf=function(){this.Cm=this.Ja.aF().map(function(a){for(var b=r,c=0;c2?[d*4,d*4/b]:[d*2*b,d*2]}function d(a){if(c())return[m,m];switch(a){case w.qq:if(z.le()||z.Za())return[18432,1536];break;case w.zm:if(z.le())return[5352,5352];if(z.Za())return[6086,6086];break;case w.$n:if(z.le())return[7168,3584];if(z.Za()&&z.Tp())return[8192,4096]}return[m,m]}function f(a,b){var c=d(b);return a.filter(function(a){return t.ub("TiledImageResourceLevel",a)?n:c[0]!==m&&a.get("width")> c[0]||c[1]!==m&&a.get("height")>c[1]?y:n})}function h(){return z.Tp()?[s.$0]:z.eZ()?[s.b1,s.jP]:z.le()?[s.jP]:z.Za()?[s.a1]:[]}function j(a){a.sort(function(a,b){return a.get("width")-b.get("width")});return a}function p(a,b){function c(a){return Math.abs(a.get("width")*a.get("height")-b[0]*b[1])}a.sort(function(a,b){return c(a)-c(b)});return a.length&&a[0]||r}function k(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)<0});return a.length?a:c!==m?c:[]}function l(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)>= 0});return a.length?a:c!==m?c:[]}function q(a,b){switch(b){case w.xt:return a.get("stereoCube").get("levels");case w.qq:return a.get("cube").get("levels");case w.Ki:return a.get("front").get("levels");case w.$n:return a.get("sphere").get("levels");case w.zm:case w.ao:return a.get("stereoSphere").get("levels")}}function o(a){for(var b=[],c=0;c 0)return j(d);d=this.Ola(a);if(b&&!this.P5(d)){c=this.m5(a);if(c!=d)return[c,d]}return[d]},Mwa:function(a){return a.get("tags").indexOf(s.kP)>=0},zY:function(a,b,c){if(w.get(a)!=w.Ki)return b;var d;switch(c){case u.FRONT:d=a.get("front");break;case u.ra:d=a.get("left");break;case u.BACK:d=a.get("back");break;case u.Na:d=a.get("right");break;case u.ob:d=a.get("top");break;case u.nb:d=a.get("bottom")}a=d&&d.get("levels")||[];if(a.length==0)return r;a=a.filter(function(a){return a.get("width")==b.get("width")&& a.get("height")==b.get("height")&&a.get("grayscale",y)==b.get("grayscale",y)&&a.get("colCount",1)==b.get("colCount",1)&&a.get("rowCount",1)==b.get("rowCount",1)});return a[0]},tca:function(a,c,d,e,f,h,j,g){var a=a.get("url"),k=0;a.indexOf("{eye}")>=0||a.indexOf(encodeURI("{eye}"))>=0?a=b(a,"{eye}",I[d]):k=k+6*(f?O:B)[d];a.indexOf("{face}")>=0||a.indexOf(encodeURI("{face}"))>=0?a=b(a,"{face}",N[e]):c!=w.Ki&&(k=k+J[e]);a=b(a,"{row}",j);return a=b(a,"{column}",g+k*h)},Nva:function(a,b){return F.xB(F.lu(a.get("image")), 90,90,C.Te,b)},nva:function(a,b){return F.xB(F.lu(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},Ava:function(a,b){return F.xB(F.lu(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},Yva:function(a,b){return F.xB(F.lu(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},$ba:function(a,b){return F.xB(F.lu(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},lu:function(a){return a&&a.get("levels")||[]},xB:function(a,b,d,e,f){if(!a||!a.length)return r; for(var a=k(a,s.Am,a),g=h(),o=0;o=0?y:z.Uc()==z.bt?n:A.o_(a.get("url"))}},J=function(){var a={};a[u.Na]=0;a[u.ra]=1;a[u.ob]=2;a[u.nb]=3;a[u.FRONT]=4;a[u.BACK]=5;return a}(),B=function(){var a= {};a[v.Na]=0;a[v.ra]=1;a[v.Un]=0;return a}(),O=function(){var a={};a[v.Na]=1;a[v.ra]=0;a[v.Un]=0;return a}(),N=function(){var a={};a[u.Na]="r";a[u.ra]="l";a[u.ob]="u";a[u.nb]="d";a[u.FRONT]="f";a[u.BACK]="b";return a}(),I=function(){var a={};a[v.ra]="l";a[v.Na]="r";a[v.Un]="b";return a}();return F}); define("dD",["require","r"],function(a){function b(a){this.ue=a;"CANVAS"==a.tagName?(this.u=a,this.sb=1):(this.u=document.createElement("canvas"),this.sb=e.Rd()==e.Lh?0.5:1,this.u.width=Math.round(a.width*this.sb),this.u.height=Math.round(a.height*this.sb));this.ja=this.u.getContext("2d");this.ja.globalCompositeOperation="copy";this.u!=a&&this.ja.drawImage(a,0,0,a.width,a.height,0,0,this.u.width,this.u.height)}function c(a,b,c){try{if(a instanceof CanvasRenderingContext2D)return a.getImageData(b, c,1,1).data;if(a.tagName&&"CANVAS"==a.tagName)return a.ana?[0,0,0,0]:a.getContext("2d").getImageData(b,c,1,1).data;g.drawImage(a,b,c,1,1,0,0,1,1);return g.getImageData(0,0,1,1).data}catch(d){return[0,0,0,0]}}var e=a("r");b.prototype.transparent=function(a,c){return b.transparent(this.ja,Math.round(a*this.sb),Math.round(c*this.sb))};b.prototype.hq=function(a,c){return b.hq(this.ja,Math.round(a*this.sb),Math.round(c*this.sb))};b.prototype.info=function(a,c){return b.info(this.ja,Math.round(a*this.sb), Math.round(c*this.sb))};b.prototype.dispose=function(){this.u!=this.ue&&(this.u.width=this.u.height=0);this.ue=this.u=this.ja=r};b.transparent=function(a,c,d){return!b.hq(a,c,d)};b.hq=function(a,b,d){return a.tagName&&"VIDEO"==a.tagName?n:0b;b++)a[b]="0"+b.toString(16);for(;256>b;b++)a[b]=b.toString(16);return a}();return b}); define("iU","require,fg,ih,ll,dW,hk,jS,hS,km,dD,iL".split(","),function(a){function b(a,b,d,e,f,h){for(a=(a-b)/h;d+180e;)e=e+360;d=(d-e)/h;return d=a<-0.1||a>0.1?c(f,d,Math.abs(1/(1500*a))):c(f,d,0.08)}function c(a,b,c){a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var e=a("fg"),g=a("ih"),d=a("ll"),f=a("dW"),h=a("hk"),j=a("jS"),p=a("hS"),k=a("km"),l=a("dD"),q=a("iL"),a=e.extend(h,function(a){h.call(this);this.j=a;this.sh.push(this.j);this.Xd=this.Xd.bind(this);this.Zd= f.ub("CeilingCapPanoramaOverlay",this.j)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch",this.Zd=="tripod"?-90:90);this.Wf=y;this.av=this.aV=this.lD=m;this.opa=this.Zd=="tripod"?1:-1;this.Fg=this.Ah=this.Ge=r});a.prototype.Qa=function(){h.prototype.Qa.call(this);this.Ge=(new p(d.S)).Hi(this.Al.bind(this));this.Ah=(new p(d.wc)).Nk(this.Lu.bind(this));g.Eb(this.j,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.Xd,n)};a.prototype.Sa=function(){this.Fg&&this.Fg.dispose(); this.Fg=r;this.Ge.dispose();this.Ah.dispose();g.Pb(this.j,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.Xd);h.prototype.Sa.call(this)};a.prototype.Xd=function(){this.set("angle",this.j.get("angle"));this.set("distance",this.j.get("distance"));this.set("hfov",this.j.get("hfov"));var a=k.nva(this.j,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("inertia",this.j.get("inertia")); this.set("rotate",this.j.get("rotate"))};a.prototype.Vi=function(){var a=h.prototype.Vi.call(this);this.Ge.zd(a);this.Ah.zd(a);return a};a.prototype.L=function(a){this.cX();this.az(a);h.prototype.L.call(this,a)};a.prototype.cX=function(){if(this.p("imageURL")&&this.get("imageURL")){this.set("textureSource",new j(this.get("imageURL")));this.set("contentWidth",this.get("imageWidth"));this.set("contentHeight",this.get("imageHeight"))}};a.prototype.Al=function(){this.Fg&&this.Fg.dispose();this.Fg=new l(this.get("textureSource").we()); this.trigger(d.Lb);this.trigger(d.S)};a.prototype.Lu=function(a,b){var c=0;b.zn(function(a){(a=b.Ai(a))&&(c=c+a.Kh)});this.trigger(new q(d.wc,c/b.Yc.length))};a.prototype.az=function(a){this.set("rendererYaw",a.ma);if(this.p("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.p("rendererYaw")){var c=this.get("angle"),d=this.get("rotate"),e=this.get("inertia"),f=this.opa*a.ma;d&&(c=c+f);var h=0,j=c-f;if(this.lD!==m){if(e)if(d){h=b(f,this.av,c,this.lD,this.aV,a.wd);c=this.lD+ h*a.wd}else{h=b(f,this.av,j,this.O8,this.aV,a.wd);j=this.O8+h*a.wd;c=j+f}this.lD!=c&&this.Ia()}this.O8=j;this.lD=c;this.aV=h;this.av=f;this.set("rotationZ",-c)}};a.prototype.Lj=function(a){if(a.Vd==d.Nh){var b=!a.Eh()&&this.Xl(a);if(b){a.ws(this.j);this.j.get("useHandCursor")&&a.xs(this.j);a.vi(this.get("distance"))}if(this.Wf!=b){this.Wf=b;this.j.trigger(this.Wf?d.xc:d.Qb);a.Ls()&&this.j.trigger(this.Wf?d.Mh:d.Kf)}}else if(a.Vd==d.Li&&!a.Eh()&&this.Xl(a)){this.j.bF(d.U,n).length>1&&a.cq(this.j); a.vi(this.get("distance"));this.j.trigger(d.U)}};a.prototype.Xl=function(a){return this.Go(a.Ol).some(function(a){return this.Fg&&this.Fg.hq(a.x,a.y)}.bind(this))};return a}); define("hL",["require","fg","ll","fu","gU"],function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("gU"),a=b.extend(g,function(){g.call(this);this.ef=new THREE.Matrix4;this.Yaa=y;this.Tf=new THREE.Matrix4;this.re=r;this.pi=new THREE.Matrix4;this.rD=this.eD=0;this.EA=0.75;this.mB=0.5;this.Pm=4;this.WT=0;this.Qm=-2;this.wl=3;this.jJ=0;this.fu=7;this.ZC=this.Sr=1;this.kC=0.15;this.gu=this.Su=0;this.LI=this.pK=e.H;this.lL=this.gL=1E3}),d=Math.PI/180,f=new THREE.Matrix4;a.prototype.Si=D();a.prototype.Qa=function(){g.prototype.Qa.call(this); this.trigger(c.Lb);this.trigger(c.S)};a.prototype.Sa=function(){this.AQ()};a.prototype.uh=function(){this.Si();this.EK()};a.prototype.vh=function(){this.Ia()};a.prototype.EK=function(){this.re&&(this.AQ(),this.I3())};a.prototype.MH=D();a.prototype.I3=function(){this.Zpa();this.re=new THREE.Group;for(var a=this.LI==e.P,b=this.Su,c=this.gu;0c);var e=360*Math.random(),g=Math.sin(e*d)*Math.sin(c*d)*b,q=-Math.cos(c* d)*b,b=Math.cos(e*d)*Math.sin(c*d)*b;a.userData.pfa=q*this.Sr;a.userData.qba.makeTranslation(g,q,b);a.userData.HZ.makeRotationY(e*d);a.userData.HZ.multiply(f.makeRotationX(-c*d))};a.prototype.L=function(a){g.prototype.L.call(this,a);this.JX=a.ye;this.JX!=(this.re&&this.re.parent)?(this.AQ(),this.JX&&this.I3()):this.p("index")&&this.v2();this.nta(a)};a.prototype.nta=function(a){if(this.re){this.p("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.Yaa=0!=this.get("composedTranslationX")|| 0!=this.get("composedTranslationY")||0!=this.get("composedTranslationZ"),this.ef.makeTranslation(-this.get("composedTranslationX")*this.Pm,this.get("composedTranslationY")*this.Pm,this.get("composedTranslationZ")*this.Pm));var b=this.pK==e.P,c=this.re.children,d=c.length,f=b?Math.round(d*a.wd/this.gL):0;if(0this.wl){if(0this.wl-this.EA&&(o*=(this.wl-g.userData.y)/this.EA);g.material.opacity=o*this.ZC;this.Yaa?(g.matrix.copy(this.ef),g.matrix.multiply(g.userData.Mz)): g.matrix.copy(g.userData.Mz);g.matrix.multiply(g.userData.HZ);g.matrixWorldNeedsUpdate=n}this.Ia()}}};a.prototype.v2=function(){if(this.re)for(var a=this.get("index"),b=0;b=this.wL){this.AK++;if(this.p9&&this.AK==this.p9){this.Cc(g.H);this.Gm=this.r4?0:this.wL-0.1;this.trigger(e.Ba)}else{this.Gm=this.Gm%this.wL;this.trigger(e.wt)}}this.qh();this.m==g.P&&f.Ma(this.Pg,this)}};a.prototype.clear=function(){this.Cc(g.H);this.u.width=this.u.height=0;this.u=r;h.Exa(this.Xe);this.Xe=r};a.prototype.yg=Q("u");a.prototype.qh=function(){var a=Math.floor(this.Gm/this.be);if(this.bR!=a&&a0?b[0]:this.Mg[0];b.Zua();if(b.vf.length==b.Xe.vM){this.Mg.splice(this.Mg.indexOf(b),1);if(this.Mg.length==0)return}}this.C9()}}};return a}); define("fs","require,ih,ll,fu,ge,dW,bU,dv,eK,dX,hZ,dD,U".split(","),function(a){var b=a("ih"),c=a("ll"),e=a("fu"),g=a("ge"),d=a("dW"),f=a("bU"),h=a("dv"),j=a("eK"),p=a("dX"),k=a("hZ"),l=a("dD"),q=a("U");return{Yt:function(){this.set("visible",y);this.set("inView",y);this.set("blending",0);this.set("chromaColor",m);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("premultipliedAlpha",y);this.set("projected",y);this.set("image",r);this.set("level",r);this.set("levelURL",r);this.set("state", r);this.set("visibleOnStop",n);this.set("side",m);this.BJ=this.BJ.bind(this);this.DJ=this.DJ.bind(this);this.Fg=this.ha=this.bx=this.ce=r},$y:function(){this.cX();this.jE();this.uta()},cX:function(){if(this.p("level")){var a=this.get("level");this.set("levelURL",a&&a.get("url"))}if(this.p("image","level","levelURL","projected")){this.j3();this.ha=this.get("image");this.ab=this.get("level");this.set("textureSource",new p(this.ha&&this.ab.get("url")));this.set("premultipliedAlpha",this.ha&&this.ab.get("premultipliedAlpha")); this.qha();if(this.ha){this.gha();this.jha()}else{this.trigger(c.Lb);this.trigger(c.S)}}},jE:function(){if(this.p("blending","chromaColor","chromaThreshold","chromaSmoothing","premultipliedAlpha","side")){var a=new f.Wn;a.zs=this.get("blending");a.wn=this.get("chromaColor");a.RE=this.get("chromaThreshold");a.QE=this.get("chromaSmoothing");a.premultipliedAlpha=this.get("premultipliedAlpha");a.side=this.get("side");this.set("materialConfig",a)}},uta:function(){if(this.p("meshGroup","projected","visible")){var a= this.get("projected")&&this.get("visible")?g.aP:g.Sw;h.Gh(this.get("meshGroup")).forEach(function(b){k.Ts(b,a)}.bind(this))}},si:function(){this.p("visible","composedAlpha","image","state","visibleOnStop")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0&&(this.get("visibleOnStop")||this.get("state")!=e.H));this.p("composedAlpha","meshGroup","inView")&&h.yd(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.bx&&this.bx.xe(this.get("inView"))},BJ:function(){this.ha&& d.ub("AnimatedImageResource",this.ha)?this.set("visibleOnStop",this.ha.get("visibleOnStop")):this.set("visibleOnStop",n)},DJ:function(){this.set("levelURL",this.ab.get("url"))},fy:function(){this.j3()},j3:function(){if(this.bx){this.bx.clear();this.bx=r}if(this.ce){this.ce.unbind(c.aa,this.D5,this,n);this.ce.unbind(c.gc,this.E5,this,n);this.ce.clear();this.ce=r}if(this.Fg){this.Fg.dispose();this.Fg=r}if(this.get("textureSource")){this.uV();this.set("textureSource",r)}if(this.ha){this.Mpa();this.ha= r}if(this.ab){this.Ppa();this.ab=r}},gha:function(){b.Eb(this.ha,["visibleOnStop"],this.BJ,n)},Mpa:function(){b.Pb(this.ha,["visibleOnStop"],this.BJ,n)},jha:function(){b.Eb(this.ab,["url"],this.DJ,n)},Ppa:function(){b.Pb(this.ab,["url"],this.DJ,n)},IB:function(){this.uV();var a,b=this.get("image");if(d.ub("AnimatedImageResource",b)){this.ce=new q(this.get("textureSource").we(),b.get("rowCount",1),b.get("colCount",1),b.get("frameDuration"),b.get("frameCount",b.get("rowCount",1)*b.get("colCount",1)), b.get("repeat"),b.get("finalFrame")=="first");a=this.ce.yg();this.ce.bind(c.gc,this.E5,this,n);this.ce.bind(c.aa,this.D5,this,n);this.bx=new j(b,this.ce);this.set("visibleOnStop",b.get("visibleOnStop"));this.set("state",this.ce.Qe())}else{a=this.get("textureSource").we();this.Fg=new l(a);this.set("visibleOnStop",n);this.set("state",r)}this.si();this.set("contentWidth",a.width);this.set("contentHeight",a.height);this.get("textureSource").Di(a);this.trigger(c.Lb);this.trigger(c.S)},F5:function(){this.uV(); this.trigger(c.Lb);this.trigger(c.S)},E5:function(){this.set("state",this.ce.Qe())},D5:function(){this.get("textureSource").update();this.Ia()},qha:function(){var a=this.get("textureSource");a.bind(c.S,this.IB,this,n);a.bind(c.oe,this.F5,this,n)},uV:function(){var a=this.get("textureSource");a.unbind(c.S,this.IB,this,n);a.unbind(c.oe,this.F5,this,n)},sS:function(a){return this.Fg&&this.Fg.ue==a.source?this.Fg.info(a.x,a.y):l.info(a.source,a.x,a.y)}}}); define("lj","require,ih,ll,dW,kA,gf".split(","),function(a){function b(a){a=a.get("mapColor");return a=="image"||a=="transparent"||a=="any"}function c(a){a=a.get("mapColor");return a!="image"&&a!="transparent"&&a!="any"}var e=a("ih"),g=a("ll"),d=a("dW"),f=a("kA"),h=new (a("gf"));return{Sq:function(){this.set("beamEnabled",y);this.AJ=this.AJ.bind(this);this.XS=r;this.Mf=[];this.nr=r},uya:function(a){if(this.nr!=a){this.nV();this.nr=a;this.b2()}},bm:function(a){this.bs=a.ma;this.as=a.pitch},nV:function(){this.nr&& e.Pb(this.nr,["areas"],this.AJ,n)},b2:function(){this.nr&&e.Eb(this.nr,["areas"],this.AJ,n)},ty:function(){this.nV();this.b2()},uy:function(){this.Q9([]);this.nV()},AJ:function(){var a=this.nr.get("areas",[]);this.XS=d.ub("HotspotPanoramaOverlayImage",this.j)||d.ub("FlatHotspotPanoramaOverlayImage",this.j)||d.ub("QuadHotspotPanoramaOverlayImage",this.j)?a.filter(b):a.filter(c);this.XS.forEach(function(a){h.set(a,0)})},Lj:function(a){if(a.Vd==g.Nh){var b=this.get("beamEnabled")&&this.get("alpha")> 0&&!a.Eh()?this.F4(a):[];if(b.length>0){a.ws(b);this.pn(b)&&a.xs(b);a.vi(this.get("distance"));var c=this.ya(b,a.ew());c&&a.cM(c,this.ms(a.ew()))}this.Q9(b,a.Ls(),a.ew())}else if(a.Vd==g.Li){b=this.get("beamEnabled")&&this.get("alpha")>0&&!a.Eh()?this.F4(a):[];if(b.length>0){var d=y;b.forEach(function(a){a.trigger(g.U);!d&&a.bF(g.U,n).length>1&&(d=n)});a.vi(this.get("distance"));d&&a.cq(b)}}},F4:function(a){var b=this.Go(a.Ol);return b.length==0?[]:this.XS.filter(function(a){var c=a.get("mapColor"); return c=="any"?n:c=="image"?b.some(function(a){return this.sS(a).hq}.bind(this)):c=="transparent"?b.every(function(a){return!this.sS(a).hq}.bind(this)):c&&c[0]=="#"?b.some(function(a){return f.xY(this.sS(a).color,c)<10}.bind(this)):y}.bind(this))},Q9:function(a,b,c){this.Mf.forEach(function(d){if(a.indexOf(d)<0){var e=h.get(d)-1;h.set(d,e);if(e==0){d.trigger(g.Qb,{gY:c});b&&d.trigger(g.Kf)}}});var d=this.Mf;this.Mf=a;this.Mf.forEach(function(a){if(d.indexOf(a)<0){var e=(h.get(a)||0)+1;h.set(a,e); if(e==1){a.trigger(g.xc,{gY:c});b&&a.trigger(g.Mh)}}})},ya:function(a,b){for(var c="",d=a.length-1;d>=0&&c=="";d--){var e=a[d];if(!b||e.get("displayTooltipInTouchScreens")&&this.Va.C.get("displayTooltipInTouchScreens")!==y)c=e.get("toolTip","")}return c},ms:function(a){if(a){var a=this.get("yaw")-this.bs,b=this.get("pitch")-this.as;return Math.sqrt(a*a+b*b)}return 0},pn:function(a){for(var b=this.nr.get("useHandCursor"),c=a.length-1;c>=0&&b===m;c--)b=a[c].get("useHandCursor");return!!b}}}); define("kx",["require","r","cc"],function(a){function b(){this.Tg=m;this.Vx=this.Xu=0;this.Z=n;this.DH=this.HW=this.cS=m;this.Ic=y}var c=a("r"),e=a("cc"),g=Math.PI/180,d=c.browser()==c.If?[-0.5,0]:[0,0];b.prototype.Ws=function(a){this.Tg!=a&&(this.Tg=a,this.Z=n)};b.prototype.Vs=function(a){if(athis.Xu+d[1])this.Xu=a,this.Z=n};b.prototype.get=function(a,b){b!==m||(b=n);this.Z&&(this.L(),this.Z=y);var c=this.cS.get(a)||0,d=(this.HW.get(a)||0)-c;b&&(180d&&(d+=360));return c+ d*this.DH};b.prototype.HY=function(){this.Z&&(this.L(),this.Z=y);for(var a=this.cS.get("vertices"),b=this.HW.get("vertices"),c=[],d=0;dl&&(l+=360);var q=a[d].get("pitch")||0,o=(b[d].get("pitch")||0)-q;c.push(new e(g+l*this.DH,q+o*this.DH))}return c};b.prototype.Hh=function(){return this.get("opacity",y)};b.prototype.Yv=function(){var a=this.get("hfov")||this.get("vfov"),b=this.Tg[0].get("hfov")||this.Tg[0].get("vfov"); return Math.tan(0.5*a*g)/Math.tan(0.5*b*g)};b.prototype.L=function(){for(var a=this.Vx,b,c=this.Tg.length-1,d,e;;){b=Math.min(a+1,c);d=this.q5(a);e=this.q5(b);if(d<=this.Xu&&this.Xu<=e)break;if(d>this.Xu){if(0==a){b=a;break}a-=1}else{if(a==c){b=a;break}a+=1}}this.cS=this.Tg[a];this.HW=this.Tg[b];a=e-d;this.DH=00,d=this.get("interactionEnabled");if(c){a=this.get("centerOver")&&!this.get("inVR");b=this.get("over")||a;a=!this.get("rollOverDisplay")&&!this.get("centerOverDisplay")||this.get("over")&&this.get("rollOverDisplay")|| a&&this.get("centerOverDisplay")!==y&&this.get("rollOverDisplay")}this.get("rollOverItems").forEach(function(a){a.set("visible",b);a.set("beamEnabled",c&&b&&d)});var g=this.get("rollOverItems").length==0;this.get("items").forEach(function(a){a.set("visible",g||!b);a.set("beamEnabled",c&&(g||!b)&&d)});this.get("rollOverMaps").forEach(function(a){a.set("visible",y);a.set("beamEnabled",c&&b&&d)});var j=this.get("rollOverMaps").length==0;this.get("maps").forEach(function(a){a.set("visible",y);a.set("beamEnabled", c&&(j||!b)&&d)});this.set("visible",a)}if(this.p("visible")){var a=this.get("alpha"),s=this.get("visible")?1:0,v=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(a-s);this.ui=new f("linear",[new h("alpha",a,s)],Math.max(v,1));this.Ia();this.get("visible")?this.j.trigger(e.od):this.j.trigger(e.Ad)}};a.prototype.si=function(a){if(this.ui){if(this.ui.Re())this.ui=r;else{this.ui.fb(a.wd);this.set("alpha",this.ui.Fb("alpha"))}this.Ia()}};a.prototype.Hu=function(){this.cm(); this.trigger(e.S)};a.prototype.Rna=function(){this.cm();this.trigger(e.Lb)};a.prototype.Ku=function(){this.cm()};a.prototype.cm=function(){var a=0;this.rc.zn(function(b){var c=0,d;this.Ed.Ai(b)?c=100:(d=this.rc.Ai(b))&&(c=d.Kh);a=a+c}.bind(this));this.trigger(new j(e.wc,a/this.rc.Yc.length))};a.prototype.Kna=function(a){a.data.gY?this.VW([a.source],[]):this.Wy([a.source],[])};a.prototype.Jna=function(a){a.data.gY?this.VW([],[a.source]):this.Wy([],[a.source])};a.prototype.Wy=function(a,b){this.waa(this.Mf, a,b);this.set("over",this.Mf.length>0)};a.prototype.VW=function(a,b){this.waa(this.SP,a,b);this.set("centerOver",this.SP.length>0)};a.prototype.waa=function(a,b,c){b||(b=[]);c||(c=[]);c.forEach(function(b){b=a.indexOf(b);b>=0&&a.splice(b,1)});b.forEach(function(b){a.indexOf(b)<0&&a.push(b)})};return a}); define("cd",["require","ih","kx"],function(a){var b=a("ih"),c=a("kx");return{Yj:function(){this.set("playbackPositions",r);this.set("scaleMode",m);this.set("distance",m);this.qc=this.qc.bind(this);this.xa=new c},sk:function(){b.Eb(this.j,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.qc,n)},uk:function(){b.Pb(this.j,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.qc)},qc:function(){this.set("horizontalAlign",this.j.get("horizontalAlign")); this.set("verticalAlign",this.j.get("verticalAlign"));this.set("scaleMode",this.j.get("scaleMode"));this.set("distance",this.j.get("distance"));this.set("scale",this.j.get("scale"));this.set("playbackPositions",this.j.get("playbackPositions"))},Ne:function(){this.p("playbackPositions","currentTime")&&(this.xa.Ws(this.get("playbackPositions")),this.xa.Vs(this.get("currentTime")),this.set("yaw",this.xa.get("yaw")),this.set("pitch",this.xa.get("pitch")),this.set("roll",this.xa.get("roll")),this.set("rotationX", this.xa.get("rotationX")),this.set("rotationY",this.xa.get("rotationY")),this.set("hfov",this.xa.get("hfov")),this.set("vfov",this.xa.get("vfov")),this.set("alpha",this.xa.Hh()))}}}); define("hs","require,fg,ih,ll,dv,eg,kO,fs,lj,cd,km".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("dv"),d=a("eg"),f=a("kO"),h=a("fs"),j=a("lj"),p=a("cd"),k=a("km"),l=0,a=b.extend(d,f,h,j,p,function(a){d.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+l++);this.set("side",THREE.DoubleSide);this.j=a;this.sh.push(this.j);this.Xd=this.Xd.bind(this)});a.prototype.Qa=function(){d.prototype.Qa.call(this);c.Eb(this.j,["image.levels"],this.Xd,n)};a.prototype.Sa=function(){c.Pb(this.j, ["image.levels"],this.Xd);d.prototype.Sa.call(this)};a.prototype.Xd=function(){this.set("image",this.j.get("image"));this.set("level",k.Ava(this.j,this.get("panoramaPixelsPerDegree")))};a.prototype.L=function(a){this.vv();d.prototype.L.call(this,a);this.p("inView")&&this.j.trigger(this.get("inView")?e.od:e.Ad)};a.prototype.vv=function(){if(this.p("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.$s,this.get("panoramaId"));g.setAttribute(a, g.RN,this.get("id"))}.bind(this))}};return a}); define("fJ",["require","fk","a"],function(a){function b(a,b,e){this.Sd=a||new c(0,0,0);this.Ag=b||new c(1,0,0);this.Ms=e||new c(0,1,0)}var c=a("fk"),e=a("a");b.prototype.clone=function(){return new b(this.Sd.clone(),this.Ag.clone(),this.Ms.clone())};b.prototype.apply=function(a){a.gz(this.Sd);a.gz(this.Ag);a.gz(this.Ms)};b.prototype.intersection=function(a,b){var f=e.Fs(a.Sd,a.Ag),h=e.Fs(this.Sd,a.Sd),j=e.Fs(this.Sd,this.Ag);j.lM(e.Fs(this.Sd,this.Ms));f=f.Nv(j);if(!(0==f||b&&0>f))return h=-j.Nv(h)/ f,new c(a.Sd.x+(a.Ag.x-a.Sd.x)*h,a.Sd.y+(a.Ag.y-a.Sd.y)*h,a.Sd.z+(a.Ag.z-a.Sd.z)*h)};b.prototype.kN=function(a,b){var f=e.Fs(this.Sd,this.Ag),h=e.Fs(this.Sd,this.Ms),j=e.Fs(this.Sd,a),p=f.FY(),k=h.FY();return b?new c(j.Nv(f)/(p*p),j.Nv(h)/(k*k),0):new c(j.Nv(f)/p,j.Nv(h)/k,0)};return b}); define("ed",[],function(){function a(a){a%=e;0>a&&(a+=e);return f[a*g|0]}function b(a){a%=e;0>a&&(a+=e);return d[a*g|0]}function c(){this.identity()}c.prototype.identity=function(){this.m11=1;this.m21=this.m13=this.m12=0;this.m22=1;this.m32=this.m31=this.m23=0;this.m33=1;this.mf=this.lf=this.kf=0};c.prototype.clone=function(){var a=new c;a.m11=this.m11;a.m12=this.m12;a.m13=this.m13;a.m21=this.m21;a.m22=this.m22;a.m23=this.m23;a.m31=this.m31;a.m32=this.m32;a.m33=this.m33;a.kf=this.kf;a.lf=this.lf; a.mf=this.mf;return a};c.prototype.concat=function(a){var b=this.m11,c=this.m12,d=this.m13,e=this.m21,f=this.m22,h=this.m23,g=this.m31,v=this.m32,u=this.m33,w=this.kf,x=this.lf,z=this.mf;this.m11=b*a.m11+c*a.m21+d*a.m31;this.m12=b*a.m12+c*a.m22+d*a.m32;this.m13=b*a.m13+c*a.m23+d*a.m33;this.m21=e*a.m11+f*a.m21+h*a.m31;this.m22=e*a.m12+f*a.m22+h*a.m32;this.m23=e*a.m13+f*a.m23+h*a.m33;this.m31=g*a.m11+v*a.m21+u*a.m31;this.m32=g*a.m12+v*a.m22+u*a.m32;this.m33=g*a.m13+v*a.m23+u*a.m33;this.kf=w*a.m11+x* a.m21+z*a.m31+a.kf;this.lf=w*a.m12+x*a.m22+z*a.m32+a.lf;this.mf=w*a.m13+x*a.m23+z*a.m33+a.mf};c.prototype.translate=function(a,b,c){this.kf+=a;this.lf+=b;this.mf+=c};c.prototype.scale=function(a,b,c){this.m11*=a;this.m12*=b;this.m13*=c;this.m21*=a;this.m22*=b;this.m23*=c;this.m31*=a;this.m32*=b;this.m33*=c;this.kf*=a;this.lf*=b;this.mf*=c};c.prototype.Nn=function(c){var d=a(c),c=b(c),e=this.m12*d+this.m13*c,f=this.m22*c-this.m23*d,h=this.m22*d+this.m23*c,g=this.m32*c-this.m33*d,t=this.m32*d+this.m33* c,s=this.lf*c-this.mf*d,v=this.lf*d+this.mf*c;this.m12=this.m12*c-this.m13*d;this.m13=e;this.m22=f;this.m23=h;this.m32=g;this.m33=t;this.lf=s;this.mf=v};c.prototype.$p=function(c){var d=a(c),c=b(c),e=-this.m11*d+this.m13*c,f=this.m21*c+this.m23*d,h=-this.m21*d+this.m23*c,g=this.m31*c+this.m33*d,t=-this.m31*d+this.m33*c,s=this.kf*c+this.mf*d,v=-this.kf*d+this.mf*c;this.m11=this.m11*c+this.m13*d;this.m13=e;this.m21=f;this.m23=h;this.m31=g;this.m33=t;this.kf=s;this.mf=v};c.prototype.aq=function(c){var d= a(c),c=b(c),e=this.m11*d+this.m12*c,f=this.m21*c-this.m22*d,h=this.m21*d+this.m22*c,g=this.m31*c-this.m32*d,t=this.m31*d+this.m32*c,s=this.kf*c-this.lf*d,v=this.kf*d+this.lf*c;this.m11=this.m11*c-this.m12*d;this.m12=e;this.m21=f;this.m22=h;this.m31=g;this.m32=t;this.kf=s;this.lf=v};c.prototype.rotate=function(a,b,c){this.Nn(a);this.$p(b);this.aq(c)};c.prototype.bda=function(){var a=this.pva();if(0==a)return y;var b=this.clone();this.m11=(b.m22*b.m33-b.m23*b.m32)/a;this.m12=(b.m13*b.m32-b.m12*b.m33)/ a;this.m13=(b.m12*b.m23-b.m13*b.m22)/a;this.m21=(b.m23*b.m31-b.m21*b.m33)/a;this.m22=(b.m11*b.m33-b.m13*b.m31)/a;this.m23=(b.m13*b.m21-b.m11*b.m23)/a;this.m31=(b.m21*b.m32-b.m22*b.m31)/a;this.m32=(b.m12*b.m31-b.m11*b.m32)/a;this.m33=(b.m11*b.m22-b.m12*b.m21)/a;this.kf=-(b.kf*this.m11+b.lf*this.m21+b.mf*this.m31);this.lf=-(b.kf*this.m12+b.lf*this.m22+b.mf*this.m32);this.mf=-(b.kf*this.m13+b.lf*this.m23+b.mf*this.m33);return n};c.prototype.pva=function(){return this.m11*(this.m22*this.m33-this.m23* this.m32)+this.m12*(this.m23*this.m31-this.m21*this.m33)+this.m13*(this.m21*this.m32-this.m22*this.m31)};c.prototype.gz=function(a){var b=a.x*this.m12+a.y*this.m22+a.z*this.m32+this.lf,c=a.x*this.m13+a.y*this.m23+a.z*this.m33+this.mf;a.x=a.x*this.m11+a.y*this.m21+a.z*this.m31+this.kf;a.y=b;a.z=c};for(var e=2*Math.PI,g=18E4/e,d=new Float32Array(180001),f=new Float32Array(180001),h=0;18E4>h;h++)d[h]=Math.cos(h/g),f[h]=Math.sin(h/g);d[18E4]=d[0];f[18E4]=f[0];return c}); define("cU","require,it,gm,cB,fk,fJ,ed,jn".split(","),function(a){var b=a("it"),c=a("gm"),e=a("cB"),g=a("fk"),d=a("fJ"),f=a("ed"),h=a("jn"),j=Math.PI/180,p=180/Math.PI,k=new f,l=new c,q=new d,o=new g;return{get:function(a,b,c,d,e,f,h,p){a=a*j;b=b*j;b=new g(Math.sin(-a)*Math.cos(b),Math.sin(b),Math.cos(-a)*Math.cos(b));k.identity();k.$p(c*j);k.aq(e*j);k.Nn(d*j);b.apply(k);if(b.z>0){l.VF(h);l.Dea(p);l.tw(f*j);l.project(b);return b}return r},Yza:function(a,b,c){k.identity();k.Nn(-c.ec()*j);k.aq(-c.Qd()* j);k.$p(-c.ac()*j);o.set(a,b,0);a=c.unproject(o).vca();a.apply(k);return{ma:a.ac()*p,pitch:a.ec()*p}},WBa:function(a,c,d,e,f,g,l,p,A,K,F,J,B,O){O||(O=h.Zn);B||(B=b.Kk(J,K,F));J||(J=b.Sn(B,K,F));var N=K*0.5/Math.tan(J*0.5*j),I=N*Math.tan(J*0.5*j)*2,L=N*Math.tan(B*0.5*j)*2;q.Sd.set(+I*0.5,+L*0.5,0);q.Ag.set(-I*0.5,+L*0.5,0);q.Ms.set(+I*0.5,-L*0.5,0);k.identity();k.aq(-A*j);k.Nn(-l*j);k.$p(p*j);k.translate(0,0,N);k.aq(-g*j);k.Nn(-f*j);k.$p(-e*j);k.$p(d.ac()*j);k.aq(d.Qd()*j);k.Nn(d.ec()*j);q.apply(k); o.set(a,c,0);f=q.intersection(d.unproject(o));e={x:m,y:m,xScaled:m,yScaled:m};if(f&&f.z>0){f=q.kN(f);e.xScaled=e.x=f.x/I;e.yScaled=e.y=f.y/L}if(O!=h.Zn){var G,E;switch(O){case h.Te:G=Math.min(b.Sn(B,K,F),J);E=Math.min(b.Kk(J,K,F),B);break;case h.xm:G=Math.max(b.Sn(B,K,F),J);E=Math.max(b.Kk(J,K,F),B);break;case h.Zk:G=J;E=b.Kk(J,K,F);break;case h.kh:G=b.Sn(B,K,F);E=B}if(G!=J||E!=B){I=N*Math.tan(G*0.5*j)*2;L=N*Math.tan(E*0.5*j)*2;q.Sd.set(+I*0.5,+L*0.5,0);q.Ag.set(-I*0.5,+L*0.5,0);q.Ms.set(+I*0.5,-L* 0.5,0);q.apply(k);o.set(a,c,0);if((f=q.intersection(d.unproject(o)))&&f.z>0){f=q.kN(f);e.xScaled=f.x/I;e.yScaled=f.y/L}}}return e},$Aa:function(a,b,c,d,f,h,l){l=f*0.5/Math.tan(l*0.5*j);q.Sd.set(+f*0.5,+h*0.5,l);q.Ag.set(-f*0.5,+h*0.5,l);q.Ms.set(+f*0.5,-h*0.5,l);k.identity();k.aq(-d*j);k.Nn(-c*j);k.$p(-b*j);k.$p(a.ac()*j);k.aq(a.Qd()*j);k.Nn(a.ec()*j);q.apply(k);a=new e(new g(0,0,0),new g(0,0,1));if((a=q.intersection(a))&&a.z>0){a=q.kN(a);return{x:a.x/f,y:a.y/h}}return r}}}); define("y","require,fg,gU,dv,M,hZ,jN".split(","),function(a){var b=a("fg"),c=a("gU"),e=a("dv"),g=a("M"),d=a("hZ"),f=a("jN"),a=b.extend(c,function(){c.call(this);this.set("tag","WebGLObject");this.set("zOrder",0);this.set("webglScene",r);this.set("meshGroup",r);this.set("camera",r)});a.prototype.Vi=function(){return[]};a.prototype.Sa=function(){e.dispose(this.get("meshGroup"));e.AN(this.get("meshGroup"),r);this.set("meshGroup",r);c.prototype.Sa.call(this)};a.prototype.L=function(a){c.prototype.L.call(this, a);this.set("camera",g.Gs(a.ye));this.set("webglScene",a.ye);if(!this.get("meshGroup")){this.set("meshGroup",e.Dba(this.Vi()));this.get("meshGroup").userData.nxa=this}this.p("webglScene","meshGroup")&&e.AN(this.get("meshGroup"),this.get("webglScene"));this.si();this.Zl(a);this.zv();this.p("loadingActive","meshGroup")&&d.nd(this.get("meshGroup"),this.get("loadingActive"));this.p("blendingActive","meshGroup")&&f.uea(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.si=function(){this.p("composedAlpha", "meshGroup")&&this.Cq()};a.prototype.Cq=function(){e.yd(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.Zl=function(){i("Must be overridden in descendants.")};a.prototype.zv=function(){if(this.p("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b,c){e.DN(a,this.get("index")+b/c.length)}.bind(this))}};return a}); define("em",["require","fg","gW","y","dv"],function(a){var b=a("fg"),c=a("gW"),e=a("y"),g=a("dv"),d=new THREE.Matrix4,f=Math.PI/180,a=b.extend(e,function(){e.call(this);this.set("tag","Frame");this.ef=new THREE.Matrix4;this.ic=new THREE.Matrix4;this.pi=new THREE.Matrix4;this.Tf=new THREE.Matrix4});a.prototype.L=function(a){e.prototype.L.call(this,a)};a.prototype.Zl=function(a){var b=y;this.p("composedTranslationX","composedTranslationY","composedTranslationZ")&&(this.ef.makeTranslation(0.5*-this.get("composedTranslationX")* c.Md,0.5*this.get("composedTranslationY")*c.Md,0.5*this.get("composedTranslationZ")*c.Md),b=n);this.p("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")&&(this.ic.makeRotationY(-a.ma*f),this.ic.multiply(d.makeRotationX(-this.get("composedDeltaPitch")*f)),this.ic.multiply(d.makeRotationY(this.get("composedDeltaYaw")*f)),this.ic.multiply(d.makeRotationY(a.ma*f)),b=n);this.p("flipHorizontally")&&(this.pi.makeScale(this.get("flipHorizontally")?-1:1,1,1),b=n);if(b||this.p("meshGroup"))this.Tf.copy(this.ef), this.Tf.multiply(this.ic),this.Tf.multiply(this.pi),g.fm(this.get("meshGroup"),this.Tf)};return a}); define("lt",["require","fg","iG","kz","jS"],function(a){var b=a("fg"),c=a("iG"),e=a("kz"),g=a("jS"),a=b.extend(g,function(a,b,c,e,p){g.call(this,a.get("url"));this.da=b;this.fa=c;this.X=e;this.ia=p;this.ina=0!=this.da||0!=this.fa||this.X!=a.get("width")||this.ia!=a.get("height")});a.prototype.Ze=function(){this.ina?(this.Rja(),this.Do(),this.ky(!!this.ue)):g.prototype.Ze.call(this)};a.prototype.UD=function(){g.prototype.UD.call(this);this.zR()};a.prototype.rs=function(){g.prototype.rs.call(this); this.zR()};g.prototype.dispose=function(){g.prototype.dispose.call(this);this.zR()};a.prototype.Rja=function(){var a=c.we(this.vd);this.ue=e.Jua(a,this.da,this.fa,this.X,this.ia)};a.prototype.zR=function(){this.ue&&(e.oM(this.ue),this.ue=r)};return a}); define("eQ","require,dW,cT,jL,fK,dX,jS,lt,gW,bU,dv,bH,km,hZ,r".split(","),function(a){var b=a("dW"),c=a("cT"),e=a("jL"),g=a("fK"),d=a("dX"),f=a("jS"),h=a("lt"),j=a("gW"),p=a("bU"),k=a("dv"),l=a("bH"),q=a("km"),o=a("hZ"),t=a("r"),s={Fua:function(a,b){var c=l.get(a);switch(c){case l.xt:case l.qq:case l.Ki:return this.Cja(c,a,b);case l.$n:case l.zm:case l.ao:return this.Eja(c,a,b)}},Lua:function(a,b){var c=new f(b.get("posterURL"));return this.L3(a,b,c)},Kua:function(a,b){var c=new d;return this.L3(a, b,c)},L3:function(a,b,d){var e=a.get("hfov"),f=a.get("vfov"),h=a.get("pitch"),g=b.get("width"),b=b.get("url"),a=l.get(a),q=a==l.ao?2:1,t=a==l.zm?2:1,a=q+t>2?[c.ra,c.Na]:[c.Un],s=Math.round(g/q),B=p.Cs(d.texture(),new p.Wn(b));o.Wz(B,d);B.visible=n;return a.map(function(a,b){var c=j.Gba(e,f,h,1,1,b%q/q,(t-1-Math.floor(b/q))/t,1/q,1/t),c=k.create(c,[B]);c.layers.set(a);o.xN(c,s/e);return c}.bind(this))},Hua:function(a){var b=[e.Na,e.ra,e.ob,e.nb,e.FRONT,e.BACK].map(function(){var b=new d;b.Di(s.cma(a)); var c=p.Cs(b.texture());o.Wz(c,b);c.visible=n;return c}),f=j.Fba(1,1),b=k.create(f,b);o.xN(b,256/90);b.layers.set(c.Un);return b},gW:{},cma:function(a){if(!s.gW[a]){var b=document.createElement("canvas");b.width=b.height=256;var c=b.getContext("2d");c.fillStyle=a;c.fillRect(0,0,b.width,b.height);s.gW[a]=b}return s.gW[a]},Cja:function(a,d,f){var h=a==l.xt?[c.Na,c.ra]:[c.Un],p=d.get("flipImageHorizontally");p&&(h=h.reverse());var t=a==l.Ki?1:6*h.length,s=f.get("width")/t,K=f.get("height"),F,J;if(b.ub("TiledImageResourceLevel", f)){F=f.get("colCount",t)/t;J=f.get("rowCount",1)}else if(this.s9(a,f)){F=Math.ceil(s/g.bo());J=Math.ceil(K/g.bo())}else J=F=1;var B=[e.Na,e.ra,e.ob,e.nb,e.FRONT,e.BACK];return h.map(function(c,e){var h=Array(6);B.forEach(function(g,k){var o=q.zY(d,f,g);if(b.ub("TiledImageResourceLevel",f))h[j.c1.indexOf(g)]=this.yja(o,a,c,g,p,F,J);else{var t=a==l.Ki?0:Math.round((e*B.length+k)*s),x=F>1||J>1||a!=l.Ki?s>256?1:0.5:0;h[j.c1.indexOf(g)]=this.H3(o,F,J,t,0,s,K,x)}}.bind(this));var g=Array.prototype.concat.apply([], h),t=j.Fba(F,J),g=k.create(t,g);g.layers.set(c);o.xN(g,s/90);return g}.bind(this))},Eja:function(a,b,d){var e=a==l.$n?[c.Un]:[c.ra,c.Na];b.get("flipImageHorizontally")&&(e=e.reverse());var f=d.get("width"),h=d.get("height"),p=b.get("hfov"),q=b.get("vfov"),t=b.get("pitch"),s=Math.round(f/p/(h/q)),B=Math.round(f/s),O=Math.round(h/Math.round(h/q/(f/p))),N=(a=this.s9(a,d))?Math.ceil(B/g.bo()):1,I=a?Math.ceil(O/g.bo()):1;return e.map(function(a,b){var c=this.H3(d,N,I,b%s*B,Math.floor(b/s)*O,B,O),e=j.Gba(p, q,t,N,I,0,0,1,1),c=k.create(e,c);c.layers.set(a);o.xN(c,B/p);return c}.bind(this))},s9:function(a,b){switch(a){case l.xt:case l.qq:case l.zm:case l.ao:return n;case l.Ki:return y;case l.$n:return t.xca().$wab;b++)d=45*Math.PI/180+2*Math.PI* b/6,a=h+Math.cos(d)*p,d=j+Math.sin(d)*p,0==b?k.moveTo(a,d):k.lineTo(a,d);k.closePath();k.fill()};b.iA="circle";b.zG="hexagon";return b}); define("ko","require,fg,ih,ll,cU,gU,cC,jH,fl,dX".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("cU"),d=a("gU"),f=a("cC"),h=a("jH"),j=a("fl"),p=a("dX"),a=b.extend(d,function(a){d.call(this);this.j=a;this.sh.push(this.j);this.Xd=this.Xd.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.VP=this.nja();this.Gd=this.Tja();this.jf(this.VP.concat([this.Gd]))});a.prototype.Qa=function(){d.prototype.Qa.call(this);this.trigger(e.Lb);this.trigger(e.S);c.Eb(this.j,["yaw", "pitch","bleaching","bleachingDistance"],this.Xd,n)};a.prototype.Sa=function(){c.Pb(this.j,["yaw","pitch","bleaching","bleachingDistance"],this.Xd,n);d.prototype.Sa.call(this)};a.prototype.Xd=function(){this.set("yaw",this.j.get("yaw"));this.set("pitch",this.j.get("pitch"));this.set("bleaching",this.j.get("bleaching"));this.set("bleachingDistance",this.j.get("bleachingDistance"))};a.prototype.L=function(a){d.prototype.L.call(this,a);this.set("rendererYaw",a.ma);this.set("rendererPitch",a.pitch);this.set("rendererRoll", a.md);this.set("rendererCameraFOV",a.Gf);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.tb);if(this.p("composedTranslationX","composedTranslationY","composedTranslationZ")){var b=this.get("composedTranslationX"),c=this.get("composedTranslationY"),e=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-Math.sqrt(b*b+c*c+e*e)*10))}if(this.p("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","inVR", "yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var f=a.ma+this.get("composedDeltaYaw"),h=a.pitch+this.get("composedDeltaPitch"),j=a.md+this.get("composedDeltaRoll"),b=this.get("translationAlpha"),e=c=0,p,x,z,C;if(!a.tb)if(f=g.get(this.get("yaw"),this.get("pitch"),f,h,j,a.Gf,a.width,a.height)){x=a.width*0.5;C=a.height*0.5;p=f.x;z=f.y;x=(x-p)*2;C=(C-z)*2;e=Math.sqrt(x*x+C*C);c=Math.sqrt(a.width*a.width,a.height*a.height);a=Math.min(a.width,a.height);c= Math.max(0,Math.min(0.7,1-e/c))*b;f=this.get("bleaching");a=1-Math.max(0,Math.min(1,e/(a*this.get("bleachingDistance"))));e=f*a*b}for(a=0;a0){b.set("centerX",p+x*k[a].position);b.set("centerY",z+C*k[a].position)}}this.Gd.set("alpha",e)}};a.prototype.nja=function(){return k.map(function(a){var b=(new j(a.form,a.zw,a.opacity,a.color,a.Zv,a.$v)).yg(),c=new p;c.Di(b);b=new h;b.set("textureSource",c);b.set("width",a.size);b.set("height",a.size);b.set("offsetX", a.size*0.5);b.set("offsetY",a.size*0.5);b.set("alpha",0);return b})};a.prototype.Tja=function(){return new f("#ffffff")};var k=[{form:j.zG,position:0.1,size:52,zw:128,opacity:0.8,color:"#FCFCFC",Zv:[1,0.5],$v:[0,0.866]},{form:j.zG,position:0.2,size:52,zw:128,opacity:0.6,color:"#C8FCC8",Zv:[1,0.5],$v:[0,0.866]},{form:j.iA,position:0.36,size:112,zw:128,opacity:0.5,color:"#C8C8FC",Zv:[1,0.9,0.6,0],$v:[0,0.2,0.4,1]},{form:j.iA,position:0.47,size:32,zw:128,opacity:0.3,color:"#96C8AF",Zv:[1,1,0],$v:[0, 0.9,1]},{form:j.iA,position:0.65,size:52,zw:128,opacity:0.7,color:"#FCFCFC",Zv:[0.7,0.7,0.2,0],$v:[0,0.1,0.4,1]},{form:j.zG,position:0.88,size:128,zw:128,opacity:0.4,color:"#AF96C8",Zv:[1,0.5],$v:[0,0.866]},{form:j.iA,position:1,size:33,zw:128,opacity:0.8,color:"#C89696",Zv:[0.8,0.8,0.6,0],$v:[0,0.2,0.4,1]}];return a}); define("bA",["require","dK"],function(a){function b(a,b,h){g.style.fontFamily=e.Es(b.fontFamily);g.style.fontSize=b.fontSize;g.style.fontWeight=b.fontWeight;g.style.fontStyle=b.fontStyle;g.innerHTML=a;document.body.appendChild(g);var j=new c(Math.ceil(g.clientWidth),Math.ceil(g.clientHeight));document.body.removeChild(g);h&&(h.font=b.fontSize+" "+e.Es(b.fontFamily),a=h.measureText(a).width,j.height*=a/j.width,j.width=a);return j}function c(a,b){this.width=a;this.height=b}var e=a("dK"),g=document.createElement("div"); g.style.display="inline-block";g.style.margin=0;g.style.padding=0;g.style.whiteSpace="nowrap";b.Z0=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};b.yAa=c;return b}); define("kj",["require","bA","dK"],function(a){function b(a,b){this.Fa=a;this.v8=5;this.Pc=b.map(function(b){return new c(a,b)});this.Zx=this.$x=this.Rh=this.Ce=0;this.eX();this.u=document.createElement("canvas");this.u.width=this.Ce;this.u.height=this.Rh;this.ja=this.u.getContext("2d");this.Z=n;this.td=this.o8=-1}function c(a,b){this.fw=a;this.item=b;this.label=b.get("label");this.fontFamily=this.fw.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.fw.get("backgroundColor", "#000000");this.gea=this.fw.get("rollOverBackgroundColor",this.backgroundColor);this.Yxa=this.fw.get("selectedBackgroundColor",this.gea);this.Sba=this.fw.get("fontColor","#000000");this.hea=this.fw.get("rollOverFontColor",b.Sba);this.Zxa=this.fw.get("selectedFontColor",b.hea);this.Zea=this.Yea=this.$ea=this.afa=this.height=this.width=this.left=this.top=0;this.status=y;this.YY=n}var e=a("bA"),g=a("dK");c.prototype.Vza=function(){var a=new e.Z0;a.fontFamily=this.fontFamily;a.fontSize=this.fontSize; a=e(this.label,a);this.afa=a.width;this.$ea=a.height};c.prototype.hza=function(a){this.status!=a&&(this.status=a,this.YY=n)};c.prototype.Rua=function(a){if(this.YY){this.YY=y;var b,c;switch(this.status){case "normal":b=this.backgroundColor;c=this.Sba;break;case "over":b=this.gea;c=this.hea;break;case "selected":b=this.Yxa,c=this.Zxa}a.clearRect(this.left,this.top,this.width,this.height);a.fillStyle=b;a.fillRect(this.left,this.top,this.width,this.height);a.fillStyle=c;a.font=this.fontSize+" '"+this.fontFamily+ "'";a.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+g.Es(this.fontFamily);a.textBaseline="middle";a.textAlign="center";a.fillText(this.label,Math.round(this.Yea),Math.round(this.Zea));return n}return y};b.prototype.ad=Q("Ce");b.prototype.Pd=Q("Rh");b.prototype.yg=Q("u");b.prototype.eX=function(){var a=0,b=0;this.Pc.forEach(function(c){c.Vza();a=Math.max(c.afa,a);b=Math.max(c.$ea,b)});this.$x=a+2*this.v8;this.Zx=b+2*this.v8;var c=0,e=0,g=0;this.Pc.forEach(function(a){20<=g&&(g=0,e+=this.$x, c=0);a.left=e;a.top=c;a.Yea=e+0.5*this.$x;a.Zea=c+0.5*this.Zx;a.width=this.$x;a.height=this.Zx;g+=1;c+=this.Zx}.bind(this));this.Ce=Math.ceil(this.Pc.length/20)*this.$x;this.Rh=Math.min(20,this.Pc.length)*this.Zx};b.prototype.update=function(){for(var a=y,b=0;b=this.Pc.length&&(c=-1));return c};b.prototype.$Z=P("o8");b.prototype.e_=P("td");b.prototype.clear=function(){this.Pc=this.u=this.ja=this.Fa=r};return b}); define("eE","require,fg,ih,ll,hk,kj,dX,kX,bq,bi".split(","),function(a){function b(a,b){var c=(b-a)*0.98;Math.abs(c)<1.0E-5&&(c=0);return b-c}var c=a("fg"),e=a("ih"),g=a("ll"),d=a("hk"),f=a("kj"),h=a("dX"),j=a("kX"),p=a("bq");VR=a("bi");a=c.extend(d,function(a){d.call(this);this.Fa=a;this.Bl=this.Bl.bind(this);this.gp=this.u=r;this.xp=this.xj=this.bV=this.lp=m;this.W2=20;this.ae=r;this.Bb=this.Fa.get("opacity",0.5);this.UC=this.Fa.get("rollOverOpacity",this.Bb);this.vna=1;this.xna=0.66;this.set("tag", "MenuButton");this.set("visible",y);this.set("over",y);this.set("centerDistance",m)});a.prototype.Qa=function(){d.prototype.Qa.call(this);e.Eb(this.Fa,["label"],this.Bl,n)};a.prototype.Sa=function(){e.Pb(this.Fa,["label"],this.Bl);d.prototype.Sa.call(this)};a.prototype.Bl=function(){this.u=r};a.prototype.L=function(a){this.Cp(a);this.vg(a);this.mE(a);this.Ne(a);this.Fp(a);d.prototype.L.call(this,a)};a.prototype.Cp=function(a){if(a.tb&&!this.gp&&VR.xd()==VR.uA.Oj)this.jf([this.gp=new d])};a.prototype.vg= function(){if(this.get("visible")){if(!this.u){this.get("textureSource")||this.set("textureSource",new h);this.u=new f(this.Fa,[this.Fa]);this.get("textureSource").Di(this.u.yg());this.set("contentWidth",this.u.ad());this.set("contentHeight",this.u.Pd());this.set("hfov",2*Math.atan2(this.u.ad()*0.5,300)*l);this.set("distance",this.Fa.get("distance"))}if(this.u.update()){this.get("textureSource").update();this.Ia()}this.p("over")&&this.u.$Z(this.get("over")?0:-1)}};a.prototype.mE=function(a){if(this.p("visible"))this.ae= new j("linear",[new p("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,m)],300);if(this.ae)this.ae.Re()?this.ae=r:this.ae.fb(a.wd)};a.prototype.Ne=function(a){if(this.get("visible")||this.ae){this.xj=a.ma;this.xp=Math.min(90,Math.max(-90,this.W2+this.W2-a.pitch));if(this.p("visible")&&this.get("visible")){this.set("yaw",a.ma);this.set("pitch",a.pitch)}else{for(;this.xj+180this.lp;)this.lp=this.lp+360;var c=(this.xj-this.lp)/a.wd,d=(this.xp- this.bV)/a.wd,e=Math.atan2(d,c),d=Math.sqrt(d*d+c*c),d=Math.min(d,10*k),c=Math.cos(e)*d,e=Math.sin(e)*d;this.set("yaw",b(this.get("yaw"),this.xj+c));this.set("pitch",b(this.get("pitch"),this.xp+e))}this.lp=this.xj;this.bV=this.xp;e=this.get("yaw")-a.ma;a=this.get("pitch")-a.pitch;this.set("centerDistance",Math.sqrt(e*e+a*a))}};a.prototype.Fp=function(){if(!this.get("visible")&&!this.ae)this.set("alpha",0);else if(this.p("over","centerDistance")||this.ae){var a=this.get("over")?this.UC:this.Bb,b=this.xna, c=this.get("centerDistance")/this.get("hfov");if(c<1){b=b+(1-c)*(this.vna-b);a=a+(1-c)*(this.UC-a)}if(this.ae){a=a*this.ae.Fb("displayCoef");b=b*this.ae.Fb("displayCoef")}this.set("alpha",a);this.set("scale",b)}};a.prototype.Lj=function(a){if(a.Vd==g.Nh){var b=y;this.get("visible")&&!a.Eh()&&(b=this.Go(a.Ol).length>0);if(b){a.ws(this.Fa);a.xs(this.Fa);a.vi(this.get("distance"))}if(this.get("over")!=b){this.get("over")&&this.Fa.trigger(g.Qb);this.set("over",b);this.get("over")&&this.Fa.trigger(g.xc)}}else if(a.Vd== g.Li&&this.get("visible")&&!a.Eh()&&this.Go(a.Ol).length>0){a.cq(this.Fa);this.Fa.trigger(g.U);this.trigger(g.U)}};var k=Math.PI/180,l=180/Math.PI;return a}); define("hn","require,fg,ih,ll,hk,kj,dX,kX,bq,bi".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("hk"),d=a("kj"),f=a("dX"),h=a("kX"),j=a("bq"),p=a("bi"),a=b.extend(g,function(a,b){g.call(this);this.Fa=a;this.Dr=b;this.Bl=this.Bl.bind(this);this.u=r;this.bV=this.lp=m;this.ae=r;this.Bb=this.Fa.get("opacity",0.5);this.UC=this.Fa.get("rollOverOpacity",this.Bb);this.set("textureSource",new f);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.V3=y});a.prototype.Qa= function(){g.prototype.Qa.call(this);c.Eb(this.Fa,["label"],this.Bl,n);this.Dr.forEach(function(a){c.Eb(a,["label"],this.Bl,n)}.bind(this))};a.prototype.Sa=function(){c.Pb(this.Fa,["label"],this.Bl,n);this.Dr.forEach(function(a){c.Pb(a,["label"],this.Bl,n)}.bind(this));g.prototype.Sa.call(this)};a.prototype.Bl=function(){this.u=r};a.prototype.L=function(a){this.Cp(a);this.vg(a);this.mE(a);this.Ne(a);g.prototype.L.call(this,a)};a.prototype.qja=function(){if(!this.u){this.u=new d(this.Fa,this.Dr);this.get("textureSource").Di(this.u.yg()); this.set("contentWidth",this.u.ad());this.set("contentHeight",this.u.Pd());this.set("hfov",2*Math.atan2(this.u.ad()*0.5,300)*k);this.set("distance",this.Fa.get("distance"))}};a.prototype.vg=function(){this.u||this.qja();this.p("selectedIndex")&&this.u.$Z(this.get("selectedIndex"));this.p("overIndex")&&this.u.$Z(this.get("overIndex"));if(this.u.update()){this.get("textureSource").update();this.Ia()}};a.prototype.Cp=function(a){if(a.tb&&!this.gp&&p.xd()==p.uA.Oj)this.jf([this.gp=new g])};a.prototype.mE= function(a){if(!this.ae&&!this.V3)this.ae=new h("linear",[new j("alpha",0,1,m),new j("scale",0,1,m),new j("yaw",a.ma,this.get("yaw"),m),new j("pitch",a.pitch,this.get("pitch"),m)],300);if(this.ae)if(this.ae.Re()){this.V3=n;this.ae=r}else this.ae.fb(a.wd)};a.prototype.Ne=function(){if(this.ae){var a=this.get("overIndex")<0?this.Bb:this.UC;this.set("alpha",a*this.ae.Fb("alpha"));this.set("scale",this.ae.Fb("scale"));this.set("yaw",this.ae.Fb("yaw"));this.set("pitch",this.ae.Fb("pitch"))}else if(this.p("overIndex")){a= this.get("overIndex")<0?this.Bb:this.UC;this.set("alpha",a)}};a.prototype.Lj=function(a){if(a.Vd==e.Nh){var b=-1;if(!a.Eh()){var c=this.Go(a.Ol).filter(function(a){return a.source==this.u.yg()}.bind(this));c.length>0&&(b=this.u.cca(c[0].x,c[0].y))}if(b>=0){a.ws(this.Dr[b]);a.xs(this.Dr[b]);a.vi(this.get("distance"))}this.get("overIndex")>=0!=b>=0&&(b>0?this.trigger(e.xc):this.trigger(e.Qb));if(this.get("overIndex")!=b){this.get("overIndex")>=0&&this.Dr[this.get("overIndex")].trigger(e.Qb);this.set("overIndex", b);this.get("overIndex")>=0&&this.Dr[this.get("overIndex")].trigger(e.xc)}}else if(a.Vd==e.Li&&!a.Eh()){c=this.Go(a.Ol).filter(function(a){return a.source==this.u.yg()}.bind(this));if(c.length>0){b=this.u.cca(c[0].x,c[0].y);if(b>=0){c=this.Dr[b];this.set("selectedIndex",b);a.cq(c);a.vi(this.get("distance"));c.trigger(e.U);this.trigger(e.U,{item:c})}}}};var k=180/Math.PI;return a}); define("iH",["require","fg","ll","gU","hn"],function(a){var b=a("fg"),c=a("ll"),e=a("gU"),g=a("hn"),a=b.extend(e,function(a){e.call(this);this.Fa=a;this.Qr=[];this.oy=r;this.set("tag","MenuPanels");this.set("visible",y)});a.prototype.L=function(a){this.p("visible")&&this.get("visible")&&(this.set("yaw",a.ma),this.set("pitch",a.pitch),this.j2(this.Fa));e.prototype.L.call(this,a)};a.prototype.j2=function(a){var a=new g(this.Fa,a.get("children",[])),b=this.get("yaw");this.Pa().forEach(function(a){b+= a.get("hfov")+f});a.set("yaw",b);a.set("pitch",this.get("pitch"));this.nha(a);this.appendChild(a)};a.prototype.n9=function(a){this.Pa().slice(a).forEach(function(a){this.Spa(a);a.remove()}.bind(this));this.Qr=this.Qr.filter(function(a){return 0<=this.Pa().indexOf(a)}.bind(this))};a.prototype.nha=function(a){a.bind(c.xc,this.A8,this,n);a.bind(c.Qb,this.z8,this,n);a.bind(c.U,this.y8,this,n)};a.prototype.Spa=function(a){a.unbind(c.xc,this.A8,this,n);a.unbind(c.Qb,this.z8,this,n);a.unbind(c.U,this.y8, this,n)};a.prototype.A8=function(a){0>this.Qr.indexOf(a.source)&&(this.Qr.push(a.source),1==this.Qr.length&&this.m3())};a.prototype.z8=function(a){a=this.Qr.indexOf(a.source);0<=a&&(this.Qr.splice(a,1),0==this.Qr.length&&this.ara())};a.prototype.y8=function(a){var b=a.source,a=a.data.item;a.get("children",[]).length?(this.n9(this.Pa().indexOf(b)+1),this.j2(a)):this.q3()};a.prototype.q3=function(){this.set("visible",y);this.n9(0);this.m3();this.trigger(c.ct)};a.prototype.m3=function(){this.oy&&(clearTimeout(this.oy), this.oy=r)};a.prototype.ara=function(){this.oy||(this.oy=setTimeout(function(){this.oy=r;this.q3()}.bind(this),d))};var d=3E3,f=1;return a}); define("eI","require,fg,ll,gU,eE,iH".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("gU"),g=a("eE"),d=a("iH"),a=b.extend(e,function(a){e.call(this);this.j=a;this.sh.push(this.j);this.set("tag","Menu");this.set("visible",y);this.yc=new g(this.j);this.yc.bind(c.U,this.fia,this,y);this.zf=new d(this.j);this.zf.bind(c.ct,this.Xoa,this,y);this.jf([this.yc,this.zf])});a.prototype.Qa=function(){e.prototype.Qa.call(this);this.trigger(c.Lb);this.trigger(c.S)};a.prototype.L=function(a){this.set("visible", a.tb);if(this.p("visible")){this.yc.set("visible",this.get("visible"));this.zf.set("visible",y)}e.prototype.L.call(this,a)};a.prototype.fia=function(){this.yc.set("visible",y);this.zf.set("visible",n)};a.prototype.Xoa=function(){this.yc.set("visible",this.get("visible"))};return a}); define("lg","require,fg,ll,hk,dX,hS,iL".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("hk"),g=a("dX"),d=a("hS"),f=a("iL"),a=b.extend(e,function(){e.call(this);this.set("tag","CustomPlane");this.set("source",r);this.set("sourceUpdated",y);this.rc=this.Ge=r});a.prototype.Qa=function(){this.Ge=(new d(c.S)).Hi(this.Al.bind(this));this.rc=(new d(c.S)).Nk(this.ep.bind(this));e.prototype.Qa.call(this)};a.prototype.Sa=function(){this.Ge.dispose();this.rc.dispose();e.prototype.Sa.call(this)};a.prototype.L= function(a){if(this.p("source","sourceUpdated","useMipmapping","anisotropy")){var b=this.get("textureSource");b||this.set("textureSource",b=new g);this.p("source")&&b.Di(this.get("source"));this.p("sourceUpdated")&&(b.update(),this.set("sourceUpdated",y));this.p("useMipmapping")&&b.KN(this.get("useMipmapping"),this.get("anisotropy"))}e.prototype.L.call(this,a);if(this.p("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.Ge.zd(a);this.rc.zd(a)}}};a.prototype.Al=function(){this.trigger(c.Lb); this.trigger(c.S)};a.prototype.ep=function(a,b){var d=0;b.zn(function(a){(a=b.Ai(a))&&(d=d+a.Kh)});this.trigger(new f(c.wc,d/b.Yc.length))};return a}); define("hu",["require"],function(){function a(a){this.Ub=this.EB(a.get("surfaceReticleColor"));this.bn=this.EB(a.get("surfaceReticleSelectionColor"));this.Bb=a.get("surfaceReticleOpacity");this.I9=a.get("surfaceReticleSelectionOpacity");this.Rh=this.Ce=128;this.Roa=0.456;this.Soa=0.088;this.Gma=0.18;this.u=document.createElement("canvas");this.u.width=this.Ce;this.u.height=this.Rh;this.ja=this.u.getContext("2d");this.ja.fillStyle="red";this.ja.rwa=n;this.ja.fillRect(0,0,this.Ce,this.Rh);this.Wf=this.uQ= y;this.by=this.SJ=m;this.Ht=0}a.prototype.hS=function(a){return this.xk(this.bn[0]*a+(1-a)*this.Ub[0],this.bn[1]*a+(1-a)*this.Ub[1],this.bn[2]*a+(1-a)*this.Ub[2],this.I9*a+(1-a)*this.Bb)};a.prototype.EB=function(a){a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]};a.prototype.xk=function(a,c){return"rgba("+a.join(",")+", "+c+")"};a.prototype.Ka=function(a){this.va!=a&&(this.va=a,this.Z=n)};a.prototype.ad=Q("Ce");a.prototype.Pd=Q("Rh"); a.prototype.yg=Q("u");a.prototype.update=function(){if(!this.Z)return y;this.Z=y;this.ja.clearRect(0,0,this.Ce,this.Rh);var a=[this.bn[0]*this.va+(1-this.va)*this.Ub[0],this.bn[1]*this.va+(1-this.va)*this.Ub[1],this.bn[2]*this.va+(1-this.va)*this.Ub[2]],c=this.I9*this.va+(1-this.va)*this.Bb;this.ja.strokeStyle=this.xk(a,c);this.ja.fillStyle=this.xk(a,c*this.va);this.ja.beginPath();this.ja.lineWidth=this.Ce*this.Soa;this.ja.arc(0.5*this.Ce,0.5*this.Ce,this.Ce*this.Roa,0,2*Math.PI,y);this.ja.stroke(); this.ja.beginPath();this.ja.arc(0.5*this.Ce,0.5*this.Ce,this.Ce*this.Gma,0,2*Math.PI,y);this.ja.fill();return n};return a}); define("fw","require,fg,ih,ll,gW,gU,lg,hu,cB,fJ".split(","),function(a){function b(a,b,c){this.hN=a;this.hN.bind(g.D("distanceToFloor"),this.L,this,y);this.Xg=b;this.Xg.bind(g.D("yaw"),this.L,this,y);this.Xg.bind(g.D("distance"),this.L,this,y);this.Xg.bind(g.D("enabled"),this.L,this,y);this.Xg.bind(g.D("enabledInSurfaceSelection"),this.L,this,y);this.va=r;this.Ci=new h;this.Ci.set("hfov",20);this.Ci.set("vfov",20);this.Ci.set("pitch",-90);this.Ci.set("useMipmapping",n);this.Ci.set("anisotropy",16); this.Ci.set("source",c.yg());this.Ci.set("contentWidth",c.ad());this.Ci.set("contentHeight",c.Pd());this.L()}var c=a("fg"),e=a("ih"),g=a("ll"),d=a("gW"),f=a("gU"),h=a("lg"),j=a("hu"),p=a("cB"),k=a("fJ"),a=c.extend(f,function(a){f.call(this);this.yJ=this.yJ.bind(this);this.Sm=this.Sm.bind(this);this.wJ=this.wJ.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",y);this.set("enabled",y);this.N=a;this.YG=[];this.sB=new k;this.Je=new p;this.Nb=new h;this.Nb.set("useMipmapping",n);this.Nb.set("anisotropy", 16);this.Nb.set("hfov",20);this.Nb.set("vfov",20);this.Nb.set("pitch",-90);this.set("reticleCoef",1);this.jf([this.Nb])});a.prototype.Qa=function(){this.Jja();f.prototype.Qa.call(this);e.Eb(this.N,["distanceToFloor"],this.yJ,n);e.Eb(this.N,["adjacentPanoramas"],this.Sm,n);e.Eb(this.Va.Vb,["adjacentPanoramaPositionsEnabled"],this.wJ,n);this.trigger(g.Lb);this.trigger(g.S)};a.prototype.Sa=function(){f.prototype.Sa.call(this);e.Pb(this.N,["distanceToFloor"],this.yJ);e.Pb(this.N,["adjacentPanoramas"], this.Sm);e.Pb(this.Va.Vb,["adjacentPanoramaPositionsEnabled"],this.wJ);this.P9([])};a.prototype.yJ=function(){var a=this.N.get("distanceToFloor");this.Nb.set("distance",a);var a=d.Vv(a),b=d.JY(a,90),c=d.KY(a,90);this.sB.Sd.set(-b*0.5,-a,-c*0.5);this.sB.Ag.set(b*0.5,-a,-c*0.5);this.sB.Ms.set(-b*0.5,-a,c*0.5);this.v9=a/d.Np()};a.prototype.Sm=function(){this.P9(this.N.get("adjacentPanoramas",[]))};a.prototype.wJ=function(){this.Sm()};a.prototype.P9=function(a){this.YG.forEach(function(a){a.clear()}); this.YG=a.map(function(a){return new b(this.N,a,this.XU)}.bind(this));a=[];this.Va.Vb.get("adjacentPanoramaPositionsEnabled")&&(a=a.concat(this.YG.map(function(a){return a.Ci})));a=a.concat([this.Nb]);this.jf(a)};a.prototype.L=function(a){f.prototype.L.call(this,a);this.set("enabled",a.WF);this.sX(a);this.ss(a)};a.prototype.sX=function(){if(this.p("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.Nb.set("alpha", this.get("reticleVisible")?1:0);this.set("alpha",this.get("enabled")&&!this.get("composedTranslationX")&&!this.get("composedTranslationY")&&!this.get("composedTranslationZ")&&!this.get("composedDeltaYaw")&&!this.get("composedDeltaPitch")&&!this.get("composedDeltaRoll")?1:0);this.Aaa()}};a.prototype.Jja=function(){this.Fy=new j(this.Va.C);this.Fy.Ka(this.get("reticleCoef"));this.Nb.set("source",this.Fy.yg());this.Nb.set("contentWidth",this.Fy.ad());this.Nb.set("contentHeight",this.Fy.Pd());this.XU= new j(this.Va.C);this.XU.Ka(0);this.XU.update(1)};a.prototype.ss=function(a){this.p("reticleCoef")&&this.Fy.Ka(this.get("reticleCoef"));this.Nb.set("sourceUpdated",this.Fy.update(a.wd))};a.prototype.Lj=function(a){if(!this.get("enabled")||a.Ol.length==0||a.Eh()||a.mxa())this.set("reticleVisible",y);else{var b=a.Ol[0];this.Je.Sd.set(b.origin.x,b.origin.y,b.origin.z);this.Je.Ag.set(b.origin.x+b.direction.x,b.origin.y+b.direction.y,b.origin.z+b.direction.z);if(b=this.sB.intersection(this.Je,n)){var c= this.sB.kN(b,n),d=2*(0.5-c.x),c=2*(0.5-c.y),e=l*Math.atan2(-d,c),f=-90+l*Math.atan2(Math.sqrt(d*d+c*c),1);if(f<-75||f>-1)this.set("reticleVisible",y);else{var h={x:d*this.v9,y:-c*this.v9};if(!a.Ls()&&!a.ida())this.set("reticleVisible",y);else if(a.Vd==g.Nh){this.set("reticleVisible",n);this.Nb.set("alpha",Math.min(1,(f- -75)/5));this.Nb.set("translationX",h.x);this.Nb.set("translationZ",h.y)}var j=this.Va.Vb.get("surfaceSelectionHorizontalAngle")*0.5,k=this.Va.Vb.get("surfaceSelectionVerticalAngle")* 0.5,c=this.YG.map(function(a){var b=a.zva(e),c=a.Wva(f),d=a.xY(h);return{Xg:a.Xg,Sca:b,jfa:c,Nba:d}}).filter(function(a){return a.Sca180?360-a:a};b.prototype.Wva=function(a){return!this.va?Infinity:Math.abs(this.va.pitch-a)};b.prototype.xY=function(a){if(!this.Uy)return Infinity;var b=a.x-this.Uy.x,a=a.y-this.Uy.y;return Math.sqrt(b*b+a*a)};b.prototype.L=function(){var a=this.Xg.get("yaw"),b=this.Xg.get("distance"),c=this.Xg.get("enabled")&&this.Xg.get("enabledInSurfaceSelection");if(a===m||b===m||!c){this.Uy=this.va=r;this.Ci.set("alpha",0)}else{var c=this.hN.get("distanceToFloor"),e=-90+Math.atan2(b, c)*l;this.Ci.set("alpha",e<-1?1:0);this.va={ma:a,pitch:e};e=-Math.cos(a*q)*b/c;a=-Math.sin(a*q)*b/c;b=d.Vv(c)/d.Np();this.Uy={x:a*b,y:e*b};this.Ci.set("translationX",this.Uy.x);this.Ci.set("translationZ",this.Uy.y);this.Ci.set("distance",c)}};var l=180/Math.PI,q=Math.PI/180;return a}); define("O","require,fg,ih,ll,iL,gU,hk,fw,hS,km,hi,bi".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("iL"),d=a("gU"),f=a("hk"),h=a("fw"),j=a("hS"),p=a("km"),k=a("hi"),l=a("bi"),q=0,a=b.extend(d,function(a){d.call(this);this.j=a;this.sh.push(this.j);this.xJ=this.xJ.bind(this);this.Wd=this.Wd.bind(this);this.Sm=this.Sm.bind(this);this.dl(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",y);this.set("blendingActive",n);this.set("currentTime", 0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",n);this.set("backgroundPreloadEnabled",n);this.set("surfaceSelectionEnabled",y);this.set("id","panorama_"+q++);this.set("ready",y);this.sK=[];this.vk=this.rc=this.Ed=r;this.vf=new o;this.T8=new t;this.esa=new h(this.j);this.qk=new t;this.jf([this.vf,this.T8,this.esa,this.qk])});a.prototype.Qa=function(){this.Ed=(new j(e.S)).Hi(this.Al.bind(this));this.rc=(new j(e.wc)).Nk(this.Lu.bind(this));this.vk=(new j(e.Lb)).Hi(this.Vna.bind(this)); d.prototype.Qa.call(this);c.Eb(this.j,["currentTime"],this.xJ,n);c.Eb(this.j,["frames","overlays","vrMenu","adjacentPanoramas"],this.Wd,n);c.Eb(this.j,["adjacentPanoramas"],this.Sm,n)};a.prototype.Sa=function(){this.Ed.dispose();this.rc.dispose();this.vk.dispose();d.prototype.Sa.call(this);c.Pb(this.j,["currentTime"],this.xJ);c.Pb(this.j,["frames","overlays","vrMenu","flipImageHorizontally"],this.Wd);c.Pb(this.j,["adjacentPanoramas"],this.Sm);this.sW()};a.prototype.Wd=function(){function a(b,c,e){b= f.indexOf(b);return b<0?e:d[b].get(c,e)}function b(c){return a(c,"projected",y)}var c=this.Va.Qp(this.j.get("frames"));c.forEach(function(a){a.set("panoramaId",this.get("id"));a.set("flipHorizontally",this.j.get("flipImageHorizontally"))}.bind(this));var d=this.j.get("overlays"),e=this.Va.Qp(d),f=e.slice(),g=e.filter(b).filter(function(b){return a(b,"enabled",n)});this.j.get("vrMenu")&&e.push(this.Va.Qp(this.j.get("vrMenu")));e.forEach(function(a){a.set("panoramaId",this.get("id"))}.bind(this));this.Ed.zd(c.concat(e)); this.rc.zd(c.concat(e));this.vk.zd(c.concat(g));this.T8.jf(e.filter(b));this.vf.jf(c);this.qk.jf(e.filter(function(a){return!b(a)}));this.set("panoramaPixelsPerDegree",p.jca(this.j));this.Faa()};a.prototype.xJ=function(){this.set("currentTime",this.j.get("currentTime",0))};a.prototype.Sm=function(){this.set("adjacentPanoramas",this.j.get("adjacentPanoramas",[]))};a.prototype.Al=function(){this.cm();this.trigger(e.S)};a.prototype.Vna=function(){this.cm();this.set("ready",n);this.trigger(e.Lb)};a.prototype.Lu= function(){this.cm()};a.prototype.cm=function(){var a=0;this.rc.zn(function(b){var c=0,d;this.Ed.Ai(b)?c=100:(d=this.rc.Ai(b))&&(c=d.Kh);a=a+c}.bind(this));this.trigger(new g(e.wc,a/this.rc.Yc.length))};a.prototype.L=function(a){if(a.tb&&!this.gp&&l.xd()==l.uA.Oj)this.jf([this.gp=new f].concat(this.Pa()));this.set("blendingActive",this.get("alpha")<1);this.set("backgroundPreloadEnabled",this.Va.jb.get("backgroundPreloadEnabled")!==y);this.set("preloadEnabled",a.CF);this.p("adjacentPanoramas","loadingActive", "preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")?this.Ora():this.sW());this.p("index")&&this.Faa();d.prototype.L.call(this,a)};a.prototype.VY=function(){return p.VY(this.j,this.get("preloadEnabled"))};a.prototype.Ora=function(){this.sW();this.sK=this.get("adjacentPanoramas").map(function(a){a=a.get("panorama");return[a,p.Jk(a,this.get("preloadEnabled"))]}.bind(this));this.sK.forEach(function(a){k.pba(a[0],a[1]);k.eN(a[0],1)})};a.prototype.sW= function(){this.sK.forEach(function(a){k.eN(a[0],-1);k.Pxa(a[0],a[1])});this.sK=[]};a.prototype.Faa=function(){var a=this.get("index");this.vf.Pa().forEach(function(b,c,d){b.set("panoramaIndex",a);b.set("frameIndex",c);b.set("frameCount",d.length)})};var o=b.extend(d,function(){d.call(this);this.dl(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",y);this.set("currentTime",0);this.set("tag","Group")});o.prototype.L=function(a){this.Pa().forEach(function(a,b,c){a.set("frontFrame", c[c.length-1])});d.prototype.L.call(this,a)};var t=b.extend(d,function(){d.call(this);this.dl(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",y);this.set("currentTime",0);this.set("tag","Group")});return a}); define("bs",["require","fg","em","dv"],function(a){var b=a("fg"),c=a("em"),e=a("dv"),g=0,a=b.extend(c,function(){c.call(this);this.set("tag","PanoramaFrame");this.set("panoramaIndex",0);this.set("frameIndex",0);this.set("frameCount",1);this.set("id","frame_"+g++)});a.prototype.L=function(a){c.prototype.L.call(this,a);this.vv()};a.prototype.zv=function(){if(this.p("panoramaIndex","frameIndex","frameCount","meshGroup")){var a=this.get("meshGroup");if(a){var b=this.get("panoramaIndex"),c=this.get("frameIndex"), g=this.get("frameCount"),p=a.children.length;a.children.forEach(function(a,d){e.DN(a,b+(d+c/g)/p)}.bind(this))}}};a.prototype.vv=function(){if(this.p("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b){e.setAttribute(a,e.$s,this.get("panoramaId"));e.setAttribute(a,e.QN,b);e.setAttribute(a,e.Dw,this.get("id"))}.bind(this))}};return a}); define("kJ","require,fg,ih,ll,ge,gU,bs,hS,km,eQ,hZ,iL".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("ge"),d=a("gU"),f=a("bs"),h=a("hS"),j=a("km"),p=a("eQ"),k=a("hZ"),l=a("iL"),a=b.extend(f,function(a){f.call(this);this.set("tag","ImagePanoramaFrame");this.J8=n;this.j=a;this.sh.push(this.j);this.Ah=this.Ge=this.vk=r;this.LT=[];this.Wd=this.Wd.bind(this);this.dl(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.jf([this.qk=new q])});a.prototype.Qa=function(){this.vk= new h(e.S);this.Ge=new h(e.S);this.Ah=new h(e.wc);f.prototype.Qa.call(this);c.Eb(this.j,["overlays"],this.Wd,n)};a.prototype.Sa=function(){this.vk.dispose();this.Ge.dispose();this.Ah.dispose();c.Pb(this.j,["overlays"],this.Wd);f.prototype.Sa.call(this)};a.prototype.Wd=function(){this.qk.jf(this.Va.Qp(this.j.get("overlays")));this.vaa()};a.prototype.vaa=function(){this.Ge.zd([].concat(this.LT,this.qk.Pa()));this.Ah.zd([].concat(this.LT,this.qk.Pa()))};a.prototype.Vi=function(){var a=[],b=[],c=[];j.EY(this.j, this.J8).forEach(function(d,e){var f=p.Fua(this.j,d);if(j.Mwa(d)){if(e==0){a=a.concat(f);b=b.concat(f)}k.Pn(f,e==0?k.$k:k.BG);k.On(f,e==0?k.Tj:k.QO)}else{e==0&&(a=a.concat(f));b=b.concat(f);k.Pn(f,k.$k);k.On(f,k.Tj)}k.Ts(f,e==0?g.aP:g.Uj);k.Vz(f,e);c=c.concat(f)}.bind(this));this.vk.zd(a);this.LT=b;this.vaa();this.Ge.Hi(this.Al.bind(this));this.vk.Hi(this.uoa.bind(this));this.Ah.Nk(this.Lu.bind(this));this.trigger(new l(e.wc,0));return c};a.prototype.uoa=function(){this.trigger(e.Lb)};a.prototype.Al= function(){this.trigger(e.S)};a.prototype.L=function(a){this.J8=a.CF;this.lta();f.prototype.L.call(this,a)};a.prototype.lta=function(){var a=this.get("frontFrame");if(this.p("frontFrame")||a&&a.p("alpha"))this.qk.set("alpha",!a||a==this?1:1-a.get("alpha"))};a.prototype.Lu=function(){var a=0;this.Ah.zn(function(b){var c=0,d;this.Ge.Ai(b)?c=100:(d=this.Ah.Ai(b))&&(c=d.Kh);a=a+c}.bind(this));this.trigger(new l(e.wc,a/this.Ah.Yc.length))};var q=b.extend(d,function(){d.call(this);this.dl(["loadingActive", "panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",y);this.set("tag","Group")});return a}); define("jy","require,do,ll,bZ,fu,kT".split(","),function(a){function b(a,b){this.Db=a;this.F=b;this.pg=y;this.hg=[];this.Wi=this.xx=m;this.Nc=[];this.gQ();this.VQ();this.jL();this.xh()}function c(a,b,c){this.time=a;this.cue=b;this.action=c}var e=a("do"),g=a("ll"),d=a("bZ"),f=a("fu"),h=a("kT");b.prototype.clear=function(){this.VA();this.hg=[];this.TW();this.F=this.Db=r};b.prototype.gQ=function(){this.F.bind(h.Nd,this.hd,this,n);this.F.bind(g.gc,this.xh,this,n);this.F.bind(g.Ba,this.Pr,this,n)};b.prototype.TW= function(){this.F.unbind(h.Nd,this.hd,this,n);this.F.unbind(g.gc,this.xh,this,n);this.F.unbind(g.Ba,this.Pr,this,n)};b.prototype.xh=function(){var a=this.F.Qe()!=f.H;if(this.pg!=a)(this.pg=a)?this.jL():this.VA()};b.prototype.Pr=function(){this.Cv()};b.prototype.hd=function(){this.Cv()};b.prototype.jL=function(){this.Wi=this.xx=0};b.prototype.Cv=function(){if(this.F&&this.pg){var a=this.Nc.slice(),b=this.F.yi(),c=b-this.xx;if(c<0){this.Nc=[];this.Wi=0}c=c>=0&&c<2;this.xx=b;var f;for(f=this.Wi;f b)break;for(;this.Wi0){this.Nc=[];this.fE()}};b.prototype.fE=function(){this.Db.trigger(new d(g.Jf,{activeCues:this.Nc.slice()}))};b.prototype.VQ=function(){this.hg=[];var a= this.Db.get("cues",[]);e(a).each(function(a){this.hg.push(new c(a.get("startTime",0),a,"start"));this.hg.push(new c(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.hg.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return b}); define("dU",["require","ll","fu","bZ","kT"],function(a){function b(a,b,c){this.jb=a;this.Db=b;this.F=c;this.F.sw(this.qe=this.Db.get("currentTime",0));this.F.Ld(this.rd=this.jb.get("mute",y));this.F.Cc(this.m=this.Db.get("state",e.H));this.F.sm(this.fj=this.Db.get("loop"));this.gb=this.F.Cj();this.oha();this.tha();this.io()}var c=a("ll"),e=a("fu"),g=a("bZ"),d=a("kT");b.prototype.clear=function(){this.Tpa();this.Xpa();this.op();this.F.Cc(e.H);this.Db.set("state",e.H);this.Db.set("currentTime",0);this.Db.set("duration", m)};b.prototype.l8=function(){var a=this.Db.get("state",e.H);this.m!=a&&this.F.Cc(this.m=a)};b.prototype.j8=function(){var a=this.Db.get("currentTime",0);this.qe!=a&&this.F.sw(this.qe=a)};b.prototype.IC=function(){var a=this.jb.get("mute",0);this.rd!=a&&this.F.Ld(this.rd=a)};b.prototype.k8=function(){var a=this.Db.get("loop");this.fj!=a&&this.F.sm(this.fj=a)};b.prototype.PC=function(){this.Db.set("currentTime",this.qe=this.F.yi())};b.prototype.NC=function(){this.Db.set("duration",this.gb=this.F.Cj())}; b.prototype.OC=function(){this.Db.set("state",this.m=this.F.Qe())};b.prototype.QC=function(){this.Db.trigger(new g(c.Ba))};b.prototype.oha=function(){this.jb.bind(c.D("mute"),this.IC,this,n)};b.prototype.Tpa=function(){this.jb.unbind(c.D("mute"),this.IC,this,n)};b.prototype.tha=function(){this.Db.bind(c.D("state"),this.l8,this,n);this.Db.bind(c.D("currentTime"),this.j8,this,n);this.Db.bind(c.D("loop"),this.k8,this,n)};b.prototype.Xpa=function(){this.Db.unbind(c.D("state"),this.l8,this,n);this.Db.unbind(c.D("currentTime"), this.j8,this,n);this.Db.unbind(c.D("loop"),this.k8,this,n)};b.prototype.io=function(){this.F.bind(d.Nd,this.PC,this,n);this.F.bind(d.cg,this.NC,this,n);this.F.bind(c.gc,this.OC,this,n);this.F.bind(c.Ba,this.QC,this,n)};b.prototype.op=function(){this.F.unbind(d.Nd,this.PC,this,n);this.F.unbind(d.cg,this.NC,this,n);this.F.unbind(c.gc,this.OC,this,n);this.F.unbind(c.Ba,this.QC,this,n)};return b}); define("hT",["require","kT","ll"],function(a){function b(a,b){this.Db=a;this.F=b;this.HP=[];this.gQ();this.Uf()}a("kT");var c=a("ll");b.prototype.clear=function(){this.Qia();this.TW();this.F=this.Db=r};b.prototype.gQ=function(){this.F.bind(c.Jf,this.Uf,this,n)};b.prototype.TW=function(){this.F.unbind(c.Jf,this.Uf,this,n)};b.prototype.Uf=function(){this.Db.set("activeSubtitles",this.HP=this.F.Cm)};b.prototype.Qia=function(){this.Db.get("activeSubtitles")==this.HP&&this.Db.set("activeSubtitles",this.HP= [])};return b}); define("da","require,fg,ll,ge,fu,bs,hS,eQ,jy,dU,dv,hZ,hT,kT,iL".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("ge"),g=a("fu"),d=a("bs"),f=a("hS"),h=a("eQ"),j=a("jy"),p=a("dU"),k=a("dv"),l=a("hZ"),q=a("hT"),o=a("kT"),t=a("iL"),a=b.extend(d,function(a){d.call(this);this.j=a;this.sh.push(this.j);this.dl(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",m);this.set("atStart",m);this.bba=this.j.get("stereoSphere")||this.j.get("sphere"); this.ab=o.ah(this.bba);this.dz=[];this.Zu=[];this.Ah=this.Ge=this.Cf=this.F=r});a.prototype.Qa=function(){this.Ge=(new f(c.S)).Hi(this.Al.bind(this));this.Ah=(new f(c.wc)).Nk(this.Lu.bind(this));this.F=new o(this.Va.jb,this.bba);this.ol=new j(this.j.wz(),this.F);this.ca=new p(this.Va.jb,this.j.wz(),this.F);this.wp=new q(this.j.wz(),this.F);this.io();d.prototype.Qa.call(this)};a.prototype.Sa=function(){this.Ge.dispose();this.Ah.dispose();this.op();this.ol.clear();this.ol=r;this.ca.clear();this.ca= r;this.wp.clear();this.wp=r;this.F.clear();this.Cf=this.F=r;d.prototype.Sa.call(this)};a.prototype.Vi=function(){this.dz=h.Kua(this.j,this.ab);this.Mta=l.Aw(k.Is(this.dz[0])[0]);this.dz.forEach(function(a){l.Pn(a,l.$k);l.On(a,l.Tj)});if(this.ab.get("posterURL")){this.Zu=h.Lua(this.j,this.ab);this.Zu.forEach(function(a){l.Pn(a,l.$k);l.On(a,l.Tj);l.Ts(a,e.aP)})}else this.Zu=[];var a=[].concat(this.dz,this.Zu);this.Ge.zd(a);this.Ah.zd(a);this.trigger(new t(c.wc,0));return a};a.prototype.L=function(a){var b= this.F.AM();this.set("frameEmpty",b.isEmpty());this.set("atStart",!(this.get("currentTime")>1));d.prototype.L.call(this,a);if(!this.Cf||!this.Cf.isEqual(b)){this.Cf=b;this.Mta.Di(this.Cf.cu);this.Ia()}else this.F.Qe()==g.P&&this.Ia()};a.prototype.si=function(){if(this.p("composedAlpha","meshGroup","frameEmpty","atStart"))if(this.Zu.length&&this.get("frameEmpty")&&this.get("atStart")){this.Zu.forEach(function(a){k.yd(a,this.get("composedAlpha"))}.bind(this));this.dz.forEach(function(a){k.yd(a,0)}.bind(this))}else{this.Zu.forEach(function(a){k.yd(a, 0)}.bind(this));this.dz.forEach(function(a){k.yd(a,this.get("composedAlpha"))}.bind(this))}};a.prototype.Al=function(){this.trigger(c.Lb);this.trigger(c.S)};a.prototype.Lu=function(a,b){var d=0;b.zn(function(a){(a=b.Ai(a))&&(d=d+a.Kh)});this.trigger(new t(c.wc,d/b.Yc.length))};a.prototype.xh=function(){this.Ia()};a.prototype.hd=function(){this.Ia()};a.prototype.io=function(){this.F.bind(o.Nd,this.hd,this,n);this.F.bind(c.gc,this.xh,this,n)};a.prototype.op=function(){this.F.unbind(o.Nd,this.hd,this, n);this.F.unbind(c.gc,this.xh,this,n)};return a}); define("cK","require,fg,ll,hk,jS,hS,iL".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("hk"),g=a("jS"),d=a("hS"),f=a("iL"),a=b.extend(e,function(){e.call(this);this.set("tag","ImagePlane");this.set("url",r);this.rc=this.Ed=r});a.prototype.Qa=function(){this.Ed=(new d(c.S)).Hi(this.Al.bind(this));this.rc=(new d(c.wc)).Nk(this.ep.bind(this));e.prototype.Qa.call(this)};a.prototype.Sa=function(){this.Ed.dispose();this.rc.dispose();e.prototype.Sa.call(this)};a.prototype.L=function(a){if(this.p("url")){var b= this.get("url");this.set("textureSource",b?new g(b):r)}e.prototype.L.call(this,a);if(this.p("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.Ed.zd(a);this.rc.zd(a)}}};a.prototype.Al=function(){this.trigger(c.Lb);this.trigger(c.S)};a.prototype.ep=function(a,b){var d=0;b.zn(function(a){(a=b.Ai(a))&&(d=d+a.Kh)});this.trigger(new f(c.wc,d/b.Yc.length))};return a}); define("bo","require,fg,ih,ll,fu,fK,gU,cC,lg,cK,dU,kx,hS,km,dD,it,J,iL,kX,bq,kT".split(","),function(a){function b(a,b){for(var c=a-b;c>180;)c=c-360;for(;c<-180;)c=c+360;return c+b}var c=a("fg"),e=a("ih"),g=a("ll"),d=a("fu");a("fK");var f=a("gU"),h=a("cC"),j=a("lg"),p=a("cK"),k=a("dU"),l=a("kx"),q=a("hS"),o=a("km"),t=a("dD"),s=a("it"),v=a("J"),u=a("iL"),w=a("kX"),x=a("bq"),z=a("kT"),C=Math.PI/180,a=c.extend(f,function(a){f.call(this);this.j=a;this.sh.push(this.j);this.Wd=this.Wd.bind(this);this.OJ= this.OJ.bind(this);this.dl(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",y);this.set("enabledInStandard",n);this.set("interactionEnabled",n);this.set("loadingActive",y);this.set("frameEmpty",n);this.set("state",d.H);this.set("itemVisible","none");this.set("visible",y);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",y);this.set("gazeOver",y);this.set("video",r);this.set("image",r);this.Bd=this.Ea=this.ha=this.rc=this.Ed=r;this.xa= new l;this.lo=this.vr=this.ui=this.Cf=this.F=r});a.prototype.Qa=function(){this.Ed=(new q(g.S)).Hi(this.Hu.bind(this));this.rc=(new q(g.wc)).Nk(this.Ku.bind(this));f.prototype.Qa.call(this);this.oja();this.appendChild(this.Bd);e.Eb(this.j,A,this.Wd,n);e.mba(this.j,K,this.OJ,n)};var A=["playbackPositions","popupDistance","popupMaxHeight","popupMaxWidth","image.levels.url","video","state"],K=["visible"];a.prototype.Sa=function(){this.Ed.dispose();this.rc.dispose();e.Pb(this.j,A,this.Wd);e.Pb(this.j, K,this.OJ);this.au();this.Zq();this.X3();f.prototype.Sa.call(this)};a.prototype.Wd=function(){var a=o.Nva(this.j,this.get("panoramaPixelsPerDegree"));this.set("imageURL",a&&a.get("url"));this.set("imageWidth",a&&a.get("width"));this.set("imageHeight",a&&a.get("height"));this.set("video",this.j.get("video"));this.set("state",this.j.get("state"));this.set("popupDistance",this.j.get("popupDistance"));this.set("popupMaxWidth",this.j.get("popupMaxWidth"));this.set("popupMaxHeight",this.j.get("popupMaxHeight")); this.set("playbackPositions",this.j.get("playbackPositions"))};a.prototype.OJ=function(){this.set("visible",this.j.get("visible"))};a.prototype.L=function(a){this.bs=a.ma;this.as=a.pitch;this.Cp(a);this.pta();this.tE(a);this.Fp(a);this.hta(a);this.Usa(a);f.prototype.L.call(this,a)};a.prototype.pta=function(){if(this.p("playbackPositions","currentTime")){this.xa.Ws(this.get("playbackPositions"));this.xa.Vs(this.get("currentTime"));this.set("sourceYaw",this.xa.get("yaw"));this.set("sourcePitch",this.xa.get("pitch")); this.set("sourceRotationX",this.xa.get("rotationX"));this.set("sourceRotationY",this.xa.get("rotationY"));this.set("sourceRotationZ",this.xa.get("rotationZ"));this.set("sourceHFOV",this.xa.get("hfov"))}};a.prototype.Cp=function(){if(this.p("video","imageURL")){var a=[this.Bd];if(this.p("imageURL")){this.cB();this.ha&&a.push(this.ha);this.zD("itemVisible")}if(this.p("video")){this.fB();this.Ea&&a.push(this.Ea);this.zD("itemVisible")}this.Ed.zd(a);this.rc.zd(a);this.jf(a)}};a.prototype.tE=function(){if(this.F){var a= this.F.AM();this.set("frameEmpty",!!a&&a.isEmpty());if(!this.Cf||a&&!this.Cf.isEqual(a)){this.Cf=a;this.Ea.set("source",this.Cf.cu);this.Ea.set("sourceUpdated",n);this.Ia()}else this.F.Qe()==d.P&&this.Ia()}else this.set("frameEmpty",y)};a.prototype.Fp=function(a){this.set("inVR",a.tb);this.set("hotspotsEnabled",a.bw);this.set("rendererYaw",a.ma);this.set("rendererPitch",a.pitch);this.set("rendererRoll",a.md);this.set("rendererWidth",a.gM);this.set("rendererHeight",a.OE);this.set("rendererHFOV",a.bd); if(this.p("visible")){var c=this.get("visiblePosition"),e=this.get("visible")?1:0,f=Math.max(1,this.j.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(e-c)),h=this.j.get(this.get("visible")?"showEasing":"hideEasing");if(c!=e)this.ui=new w(h,[new x("position",c,e)],f);this.get("visible")||this.F&&this.F.Cc(d.H)}if(this.ui){if(this.ui.Re()){this.ui=r;if(this.get("visible")){this.j.trigger(g.Tw);this.j.get("autoplay")&&this.F&&this.F.Cc(d.P)}else this.j.trigger(g.Lw)}else this.ui.fb(a.wd); if(this.ui){this.set("visiblePosition",this.ui.Fb("position"));this.Ia()}}c=y;if(c=a.tb?this.p("visible","itemVisible"):this.p("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV")){this.set("targetImageScale",this.p5(this.ha,a));this.set("targetVideoScale",this.p5(this.Ea,a));this.set("targetYaw",b(this.get("rendererYaw"),this.get("sourceYaw")));this.set("targetPitch",this.get("rendererPitch"));this.set("targetRotationZ", b(a.tb?0:this.get("rendererRoll"),this.get("sourceRotationZ")))}if(c||this.p("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){var e=this.get("visiblePosition"),j=this.get("targetYaw")*e+this.get("sourceYaw")*(1-e),k=this.get("targetPitch")*e+this.get("sourcePitch")*(1-e),l=this.get("sourceRotationX")*(1-e),p=this.get("sourceRotationY")*(1-e),o=this.get("targetRotationZ")*e+this.get("sourceRotationZ")*(1-e),a=Math.min(1,2*e),q=this.get("popupDistance"), t=this.get("sourceHFOV"),c=this.get("targetImageScale")*e+(1-e),e=this.get("targetVideoScale")*e+(1-e);this.set("alpha",a);this.ha&&this.ha.set("scale",c);this.Ea&&this.Ea.set("scale",e);[].concat(this.Ea?[this.Ea]:[],this.ha?[this.ha]:[]).forEach(function(a){a.set("yaw",j);a.set("pitch",k);a.set("rotationX",l);a.set("rotationY",p);a.set("rotationZ",o);a.set("distance",q);a.set("hfov",t)})}};a.prototype.hta=function(a){if(this.p("frameEmpty","state","imageURL","video")){var b="none";this.Ea&&(!this.ha|| !this.get("frameEmpty")&&this.get("state")!=d.H)?b="video":this.ha&&(b="image");this.set("itemVisible",b)}if(this.p("itemVisible")){this.get("itemVisible")!="video"&&this.F&&this.F.Cc(d.H);var b=this.ha?this.ha.get("alpha"):0,c=this.Ea?this.Ea.get("alpha"):0,e=this.get("itemVisible")=="image"?1:0,f=this.get("itemVisible")=="video"?1:0,g=this.get("itemVisible")=="video"?1:Math.max(Math.abs(e-b),Math.abs(f-c))*200;this.vr=new w("linear",[new x("imageAlpha",b,e),new x("videoAlpha",c,f)],g)}if(this.vr){this.vr.Re()? this.vr=r:this.vr.fb(a.wd);if(this.vr){this.ha&&this.ha.set("alpha",this.vr.Fb("imageAlpha"));this.Ea&&this.Ea.set("alpha",this.vr.Fb("videoAlpha"));this.Ia()}}};a.prototype.Usa=function(a){if(this.p("gazeOver","inVR")){this.i3();this.get("inVR")&&this.j.get("lookAwayToHide")&&!this.get("gazeOver")&&this.Mra()}if(a.tb&&this.j.get("darkenBackground")&&this.j.get("lookAwayToHide")){if(this.p("visible")&&this.get("visible")){this.Bd.set("alpha",0.8);this.lo=r}if(this.p("gazeOver"))this.lo=new w(this.get("gazeOver")? "linear":"quad_in",[new x("alpha",this.Bd.get("alpha"),this.get("gazeOver")?0.8:0)],this.get("gazeOver")?300:this.j.get("lookAwayToHideTime"))}else{this.lo=r;this.Bd.set("alpha",a.tb&&this.j.get("darkenBackground")?0.8:0)}if(this.lo){this.lo.Re()?this.lo=r:this.lo.fb(a.wd);if(this.lo){this.Bd.set("alpha",this.lo.Fb("alpha"));this.Ia()}}};a.prototype.Mra=function(){this.i3();this.eJ=setTimeout(function(){this.eJ=r;this.j.set("visible",y)}.bind(this),this.j.get("lookAwayToHideTime"))};a.prototype.i3= function(){if(this.eJ){clearTimeout(this.eJ);this.eJ=r}};a.prototype.p5=function(a,b){if(!a)return 1;var c=this.get("popupMaxWidth","100%"),d=v.Ok(c),e=a.get("contentWidth"),f=a.get("contentHeight"),g=this.get("popupMaxHeight","100%"),h=v.Ok(g),j;if(this.get("inVR")){var k=j=this.get("rendererWidth")*0.5,l=Math.min(b.Gf,80),p=s.Kv(l,j,k),o=this.get("sourceHFOV");j=Math.min(Math.tan(p*(d!==m?d/100:c/j)*0.5*C)/Math.tan(o*0.5*C),Math.tan(l*(h!==m?h/100:g/k)*0.5*C)/Math.tan(s.Kv(o,e,f)*0.5*C))}else{j= this.get("rendererWidth");k=this.get("rendererHeight");p=Math.min((d!==m?j*d/100:c)/e,(h!==m?k*h/100:g)/f);e=e*p;p=this.get("rendererHFOV");o=this.get("sourceHFOV");j=Math.tan(p*0.5*C)*e/j/Math.tan(o*0.5*C)}return j};a.prototype.cB=function(){this.au();if(this.get("imageURL")){this.ha=new p;this.ha.set("url",this.get("imageURL"));this.ha.set("contentWidth",this.get("imageWidth"));this.ha.set("contentHeight",this.get("imageHeight"));this.ha.set("alpha",0)}};a.prototype.au=function(){if(this.ha){this.ha.remove(); this.ha=r}};a.prototype.fB=function(){this.Zq();if(this.get("video")){this.Ea=new j;var a=z.ah(this.get("video"));this.Ea.set("contentWidth",a.get("width"));this.Ea.set("contentHeight",a.get("height"));this.Ea.set("alpha",0);this.F=new z(this.Va.jb,this.get("video"));this.ca=new k(this.Va.jb,this.j,this.F);this.io()}};a.prototype.Zq=function(){if(this.Ea){this.op();this.ca.clear();this.ca=r;this.F.clear();this.Cf=this.F=r;this.Ea.remove();this.Ea=r}};a.prototype.oja=function(){this.X3();this.Bd=new h("#000000")}; a.prototype.X3=function(){if(this.Bd){this.Bd.remove();this.Bd=r}};a.prototype.Hu=function(){this.trigger(g.Lb);this.trigger(g.S)};a.prototype.Ku=function(a,b){var c=0;b.zn(function(a){var b=0,d;this.Ed.Ai(a)?b=100:(d=this.rc.Ai(a))&&(b=d.Kh);c=c+b}.bind(this));this.trigger(new u(g.wc,c/b.Yc.length))};a.prototype.xh=function(){this.Ia()};a.prototype.hd=function(){this.Ia()};a.prototype.Pr=function(){this.j.trigger(g.Ba)};a.prototype.io=function(){this.F.bind(z.Nd,this.hd,this,n);this.F.bind(g.gc, this.xh,this,n);this.F.bind(g.Ba,this.Pr,this,n)};a.prototype.op=function(){this.F.unbind(z.Nd,this.hd,this,n);this.F.unbind(g.gc,this.xh,this,n);this.F.unbind(g.Ba,this.Pr,this,n)};a.prototype.Lj=function(a){if(a.Vd==g.Nh){if(!a.Eh()&&this.get("visible")){a.cq(this.j);this.set("over",this.Xl(a));this.set("gazeOver",this.msa(a))}else this.set("over",y);if(this.get("over")){a.ws(this.j);a.Ls()&&a.xs(this.j);a.vi(this.get("popupDistance"))}if(this.p("over")){this.j.trigger(this.get("over")?g.xc:g.Qb); a.Ls()&&this.j.trigger(this.get("over")?g.Mh:g.Kf)}}else if(a.Vd==g.Li&&!a.Eh()&&this.get("visible")){a.cq(this.j);a.vi(this.get("popupDistance"));this.Xl(a)?a.Cwa()||this.j.trigger(g.U):this.j.set("visible",y)}};a.prototype.Xl=function(a){return this.W$(a.Ol)};a.prototype.msa=function(a){a=a.uB;return!!a&&this.W$([a])};a.prototype.W$=function(a){if(this.get("visible"))for(var a=(this.get("itemVisible")=="video"?this.Ea:this.ha).Go(a),b=0;b 0&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.p("blendingActive")&&this.aQ.Zya(this.get("blendingActive"))};a.prototype.tE=function(){this.set("frameEmpty",!this.Ea||this.Ea.get("frameEmpty"))};a.prototype.Fp=function(a){var b=this.get("itemVisible");if(this.p("frameEmpty","state","image","video","inVR","hotspotsEnabled","enabledInVR","enabledInStandard","enabled","interactionEnabled")){var c= "none";if(this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard"))){this.Ea&&(!this.ha||!this.get("frameEmpty")&&(this.get("state")!=g.H||this.FX&&this.get("videoVisibleOnStop")))?c="video":this.ha&&(c="image");if(this.get("state")!=g.H)this.FX=n}this.set("itemVisible",c);this.set("beamEnabled",c!="none"&&this.get("interactionEnabled"))}if(this.p("itemVisible")){var c=this.get("itemVisible")!="none",d=b!="none"; if(c&&d&&!this.get("chromaColor")&&this.Im.length==0){this.ha&&this.ha.set("alpha",this.get("itemVisible")=="image"?1:0);this.Ea&&this.Ea.set("alpha",this.get("itemVisible")=="video"?1:0)}else{b=c==d?100:c?this.get("fadeInDuration"):this.get("fadeOutDuration");c!=d&&this.j.trigger(c?e.od:e.Ad);var d=this.ha?this.ha.get("alpha"):0,f=this.Ea?this.Ea.get("alpha"):0,c=[{Cw:f,image:d}];if(this.get("itemVisible")=="video"){c.push({Cw:1,image:d,time:b*(1-f)});c.push({Cw:1,image:0,time:50*(d-0)})}else if(this.get("itemVisible")== "image"){c.push({Cw:f,image:1,time:b*(1-d)});c.push({Cw:0,image:1,time:50*(f-0)})}else c.push({Cw:0,image:0,time:Math.max(f,d,1/b)*b});this.Im=[];for(b=1;b0&&this.Im.push(new q("linear",[new o("imageAlpha",c[b-1].image,c[b].image),new o("videoAlpha",c[b-1].Cw,c[b].Cw)],c[b].time))}}if(this.Im.length>0){this.Im[0].Re()?this.Im.shift():this.Im[0].fb(a.wd);if(this.Im.length>0){this.ha&&this.ha.set("alpha",this.Im[0].Fb("imageAlpha"));this.Ea&&this.Ea.set("alpha",this.Im[0].Fb("videoAlpha")); this.Ia()}}};a.prototype.cB=function(){this.au();if(this.get("image")&&this.get("imageLevel")){this.ha=new this.ru;this.ha.set("image",this.get("image"));this.ha.set("level",this.get("imageLevel"));this.ha.set("visible",n);this.ha.set("alpha",0);this.ha.set("side",THREE.DoubleSide)}};a.prototype.au=function(){if(this.ha){this.ha.remove();this.ha=r}};a.prototype.fB=function(){this.Zq();if(this.get("video")&&this.get("videoLevel")){this.Ea=new this.EX;this.Ea.set("scriptObject",this.j);this.Ea.set("video", this.get("video"));this.Ea.set("level",this.get("videoLevel"));this.Ea.set("visible",n);this.Ea.set("alpha",0);this.Ea.set("side",THREE.DoubleSide)}};a.prototype.Zq=function(){if(this.Ea){this.Ea.remove();this.Ea=r}};a.prototype.Hu=function(){this.trigger(e.Lb);this.trigger(e.S)};a.prototype.Ku=function(a,b){var c=0;b.zn(function(a){(a=b.Ai(a))&&(c=c+a.Kh)});this.trigger(new l(e.wc,c/b.Yc.length))};a.prototype.CS=function(){return this.get("itemVisible")=="video"?this.Ea:this.ha};return a}); define("fi","require,ll,fu,bU,dv,fK,jy,dU,dX,hT,kT".split(","),function(a){var b=a("ll"),c=a("fu"),e=a("bU"),g=a("dv");a("fK");var d=a("jy"),f=a("dU"),h=a("dX"),j=a("hT"),p=a("kT");return{Yt:function(){this.set("visible",y);this.set("inView",y);this.set("frameEmpty",n);this.set("blending",0);this.set("chromaColor",m);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",r);this.set("video",r);this.set("level",r);this.set("loop",y);this.set("side",m);this.ab=this.Ea=r; this.FX=y;this.tL=this.Cf=this.wp=this.ca=this.ol=this.F=r},fy:function(){this.Zq()},$y:function(){this.Fta();this.jE();this.tE()},Fta:function(){if(this.p("scriptObject","video","level")){this.Zq();this.Ea=this.get("video");this.ab=this.get("level");this.j=this.get("scriptObject");this.fB()}},jE:function(){if(this.p("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.Ea){var a=new e.Wn(this.Ea.Dj());a.zs=this.get("blending");a.wn=this.get("chromaColor");a.RE=this.get("chromaThreshold"); a.QE=this.get("chromaSmoothing");a.side=this.get("side");this.set("materialConfig",a)}},si:function(){this.p("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0);this.p("composedAlpha","meshGroup","inView")&&g.yd(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},tE:function(){var a=this.F&&this.F.AM(),b=!!a&&a.isEmpty();if(b&&!this.get("frameEmpty")&&this.F.Qe()==c.P&&this.j.get("loop")){a=this.Cf;b=y}this.set("frameEmpty", b);if(!this.Cf||a&&!this.Cf.isEqual(a)){this.Cf=a;this.tL.Di(this.Cf.cu);this.tL.update();this.Ia()}else this.F.Qe()==c.P&&this.Ia()},fB:function(){if(this.Ea&&this.ab&&this.j){this.set("textureSource",this.tL=new h);this.set("contentWidth",this.ab.get("width"));this.set("contentHeight",this.ab.get("height"));this.set("alpha",0);this.F=new p(this.Va.jb,this.Ea);this.F.fya();this.ol=new d(this.j,this.F);this.ca=new f(this.Va.jb,this.j,this.F);this.wp=new j(this.Va.Vb.get("panorama"),this.F);this.io(); this.trigger(b.Lb);this.trigger(b.S)}},Zq:function(){if(this.F){this.set("textureSource",this.tL=r);this.op();this.ca.clear();this.ca=r;this.ol.clear();this.ol=r;this.wp.clear();this.wp=r;this.F.clear();this.Cf=this.F=r;this.set("frameEmpty",n);this.ab=this.Ea=r}},io:function(){this.F.bind(p.Nd,this.hd,this,n);this.F.bind(b.gc,this.xh,this,n)},op:function(){this.F.unbind(p.Nd,this.hd,this,n);this.F.unbind(b.gc,this.xh,this,n)},xh:function(){this.Ia()},hd:function(){this.Ia()}}}); define("kW",["require","ih","kx"],function(a){var b=a("ih"),c=a("kx");return{Yj:function(){this.set("playbackPositions",r);this.set("distance",m);this.qc=this.qc.bind(this);this.xa=new c},sk:function(){b.Eb(this.j,["playbackPositions","distance"],this.qc,n)},uk:function(){b.Pb(this.j,["playbackPositions","distance"],this.qc)},qc:function(){this.set("distance",this.j.get("distance"));this.set("playbackPositions",this.j.get("playbackPositions"))},Ne:function(){this.p("playbackPositions","currentTime")&& (this.xa.Ws(this.get("playbackPositions")),this.xa.Vs(this.get("currentTime")),this.set("vertices",this.xa.HY()),this.set("alpha",this.xa.Hh()));this.p("video","image","vertices","distance")&&this.Pa().forEach(function(a){a.set("vertices",this.get("vertices"));a.set("distance",this.get("distance"))}.bind(this))}}}); define("hQ","require,fg,dT,eg,cL,fs,fi,kW".split(","),function(a){var b=a("fg"),c=a("dT"),e=a("eg"),g=a("cL"),d=a("fs"),f=a("fi"),a=a("kW"),h=b.extend(e,g,d,function(){e.call(this);this.set("tag","QuadVideoHotspotImage")}),j=b.extend(e,g,f,function(){e.call(this);this.set("tag","QuadVideoHotspotVideo")});return b.extend(c,a,function(a){c.call(this,a);this.ru=h;this.EX=j})}); define("iq","require,fg,ih,fu,hL,kA,r".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("fu"),g=a("hL"),d=a("kA"),f=a("r"),a=b.extend(g,function(a){g.call(this);this.j=a;this.uh=this.uh.bind(this);this.vh=this.vh.bind(this);this.Si()});a.prototype.Qa=function(){g.prototype.Qa.call(this);this.j.set("state",this.j.get("startState"));c.Eb(this.j,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.uh,n);c.Eb(this.j,["state"],this.vh, n)};a.prototype.Sa=function(){c.Pb(this.j,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.uh);c.Pb(this.j,["state"],this.vh);this.j.set("state",e.H);g.prototype.Sa.call(this)};a.prototype.uh=function(){this.Si();this.EK()};a.prototype.vh=function(){this.pK=this.j.get("state");this.Ia()};a.prototype.Si=function(){g.prototype.Si.call(this);var a,b;if(f.le()){this.fu=this.Pm=4;this.Su=2400;this.gu=1200;a=1.5;b=1.6}else{this.Pm= 2;this.fu=4;this.Su=4800;this.gu=2400;b=a=1}var c=this.j.get("intensity",0.5);this.Ub=d.BF(this.j.get("color","#ffffff"));this.ZC=this.j.get("opacity",0.25)*0.24+0.01;this.ZC=this.ZC*2;this.Sr=(c*(0.37-0.17)+0.17)*a;a=(this.j.get("speed",0.5)*(0.09-0.02)+0.02)/this.Sr*b;this.kC=a*0.9;this.Bu=a*1.1;this.Su=Math.round(this.j.get("particleCount",this.Su)*c);this.gu=Math.round(this.j.get("farPlaneParticleCount",this.gu)*c);this.jJ=0;this.wl=2;this.Qm=-2;this.WT=0;this.EA=0.75;this.mB=0.5;this.LI=this.j.get("initialState"); this.gL=this.j.get("startDuration");this.lL=this.j.get("stopDuration");this.Pm=this.j.get("maxDistance",this.Pm);this.fu=this.j.get("farPlaneDistance",this.fu);this.Xsa()};a.prototype.MH=function(){var a=new THREE.MeshBasicMaterial;a.color=new THREE.Color(this.Ub[0]/255,this.Ub[1]/255,this.Ub[2]/255);a.side=THREE.FrontSide;a.transparent=n;a.depthTest=y;a.needsUpdate=n;if(!this.nI)this.nI=new THREE.BoxGeometry(0.01,0.2,0.01);return new THREE.Mesh(this.nI,a)};a.prototype.Xsa=function(){var a=this.re&& this.re.children||[],b=new THREE.Color(this.Ub[0]/255,this.Ub[1]/255,this.Ub[2]/255);a.forEach(function(a){a.material.color=b;a.material.needsUpdate=n})};return a}); define("eW","require,fg,gf,ll,bZ,gU".split(","),function(a){var b=a("fg"),c=a("gf"),e=a("ll"),g=a("bZ"),d=a("gU"),f=b.extend(d,function(a,b,e,f){d.call(this);this.jb=a;this.C=b;this.Vb=e;this.g=f;this.rC=new c;this.YV(this);this.set("tag","Root")});f.prototype.bg=function(a){return this.rC.get(a)};f.prototype.all=function(){for(var a=[],b=[this];b.length>0;){var c=b.pop();a.push(c);for(var d=c.zc.length-1;d>=0;d--)b.push(c.zc[d])}return a};f.prototype.update=function(a){var b=this.all(),c=b.length, d;for(d=0;dthis.OP;)this.Ht-=this.OP;this.Gia(this.Ht/this.OP);this.by="changing";return n}; a.prototype.f4=function(a){this.qh(this.b4+this.zk,0,this.Bp,this.aL,0,2*Math.PI);this.qh(this.b4,0,this.Bp,a,0,2*Math.PI)};a.prototype.qka=function(a){this.qh(this.yH-0.5*(this.Sh+this.zk),this.Sh+this.zk,this.aL,this.Bp,0,2*Math.PI);this.qh(this.yH-0.5*this.Sh,this.Sh,this.Lia,this.Bp,0,2*Math.PI);this.qh(this.yH-0.5*this.Sh,this.Sh,this.Mia,this.Bp,0.5*Math.PI,(0.5+2*a)*Math.PI)};a.prototype.lka=function(a,c){this.qh(this.c3-0.5*(this.Sh+this.zk),this.Sh+this.zk,this.aL,this.Bp,0,2*Math.PI);this.qh(this.c3- 0.5*this.Sh,this.Sh,this.Jia,this.Bp,0,2*Math.PI);a=(0.5+2*a)*Math.PI;for(c=(0.5+2*c)*Math.PI;ca?(c=a/0.25,a=0.5*c):0.5>a?(c=(a-0.25)/0.25,a=0.5+c,c=1+0.5*c):0.75>a?(c=(a-0.5)/0.25,a=0.5+0.5*c,c=0.5+c):(a=c=(a-0.75)/0.25,c=0.5+0.5*c);this.lka(a,c)};a.prototype.Voa=function(a){this.zH();this.qka(a)};return a}); define("jv","require,fg,dv,hk,eD,dX,bi".split(","),function(a){var b=a("fg"),c=a("dv"),e=a("hk"),g=a("eD"),d=a("dX"),f=a("bi"),a=b.extend(e,function(){e.call(this);this.u=r;this.set("tag","Reticle");this.set("changing",y);this.set("over",y);this.set("overProgress",m);this.set("visible",n);this.set("attachToCamera",n);this.gp=r});a.prototype.L=function(a){this.Cp(a);this.vg(a);this.Ne(a);e.prototype.L.call(this,a)};a.prototype.Cp=function(a){if(a.tb&&!this.gp&&f.xd()==f.uA.Oj)this.jf([this.gp=new e])}; a.prototype.vg=function(a){if(!this.u){this.set("textureSource",new d);this.u=new g(this.Va.C);this.get("textureSource").Di(this.u.yg());this.set("contentWidth",this.u.ad());this.set("contentHeight",this.u.Pd());this.set("hfov",6);this.set("distance",this.Va.C.get("vrPointerDistance"))}this.p("changing")&&this.u.sN(this.get("changing"));this.p("over","overProgress")&&this.u.Tya(this.get("over"),this.get("overProgress"));this.u.update(a.wd)&&this.get("textureSource").update();this.get("changing")&& this.Ia()};a.prototype.Ne=function(){this.Fk()};a.prototype.si=function(){this.p("composedAlpha","meshGroup","visible")&&this.Cq()};a.prototype.Cq=function(){c.yd(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a}); define("Y","require,jquery.mod,do,ll,r,lC,dK".split(","),function(a){function b(a){this.pa=a;this.daa=this.pa.ik;this.pa.bind(g.Mc,this.ij,this);this.K=c("");this.K.css({"pointer-events":"none",position:"absolute","z-index":d.e1,"text-align":"center",display:"none"});this.Bd=c("");this.Bd.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.K.append(this.Bd);this.sL=c("");this.sL.css({position:"relative"});this.K.append(this.sL);this.ug=this.MI=this.sf= r;this.x8=this.w8=m;this.Lo=y;this.eaa=m}var c=a("jquery.mod"),e=a("do"),g=a("ll");a("r");var d=a("lC"),f=a("dK"),h={toolTip:m,toolTipBackgroundColor:"#F6F6F6",toolTipBackgroundOpacity:1,toolTipBorderColor:"#767676",toolTipBorderRadius:3,toolTipBorderSize:1,toolTipFontFamily:"Segoe UI",toolTipFontSize:12,toolTipFontColor:"#606060",toolTipFontWeight:"normal",toolTipFontStyle:"normal",toolTipHorizontalAlign:"center",toolTipOpacity:1,toolTipPaddingBottom:2,toolTipPaddingLeft:4,toolTipPaddingTop:2,toolTipPaddingRight:4, toolTipShadowBlurRadius:3,toolTipShadowColor:"#333333",toolTipShadowHorizontalLength:3,toolTipShadowOpacity:1,toolTipShadowSpread:0,toolTipShadowVerticalLength:3,toolTipTextShadowBlurRadius:3,toolTipTextShadowColor:"#000000",toolTipTextShadowHorizontalLength:0,toolTipTextShadowOpacity:0,toolTipTextShadowVerticalLength:0,toolTipDisplayTime:600};b.prototype.Gb=Q("K");b.prototype.qw=function(a){if(!this.daa){for(;a&&a.get("toolTipDisabled");)a=a.getParent();this.hide();this.sf&&e(e(h).keys()).each(function(a){this.sf.unbind(g.D(a), this.rU,this)},this);if(this.sf=a){e(e(h).keys()).each(function(a){this.sf.bind(g.D(a),this.rU,this)},this);this.rU()}}};b.prototype.tza=function(a,b){this.sf=a;this.eaa=b;this.RI()||(this.Lo?this.u$():this.TD())};b.prototype.s$=function(a,b,c){this.Lo&&this.sf.trigger(g.lP);this.Tsa(a);this.sL.html(this.dma(b));this.X2=c;this.Ne();this.sf.trigger(g.d1);this.Lo=n;this.K.css("display","inline");(c||a.get("checkToolTipOcclusion"))&&this.Fra(a)};b.prototype.Ne=function(){var a=this.hr(),b=a.x,a=a.y, c=this.K.outerWidth(),d=this.K.outerHeight();if(this.X2){b=b-this.K.width()*0.5;a=a-this.K.height()*0.5}b=Math.max(Math.min(b,this.pa.Aa()-c-3),3);a=Math.max(Math.min(a,this.pa.eb()-d-3),3);this.K.css("left",b+"px");this.K.css("top",a+"px")};b.prototype.hr=function(){var a={};if(this.X2){var b=this.sf.Gb().offset();a.x=b.left+this.sf.Aa()*0.5;a.y=b.top+this.sf.eb()*0.5}else{a.x=this.w8;a.y=this.x8+25}return a};b.prototype.hide=function(){this.Tt();this.J$();if(this.Lo){this.K.css("display","none"); this.sf.trigger(g.lP);this.Lo=y}};b.prototype.rU=function(){this.sf.get("toolTip")?this.RI()||(this.Lo?this.t$():this.TD()):this.RI()?this.Tt():this.Lo&&this.hide()};b.prototype.ij=function(a){this.w8=a.pageX;this.x8=a.pageY;this.Lo&&this.sf.get("toolTipFollowMouse")&&this.Ne()};b.prototype.t$=function(){this.s$(this.sf,this.sf.get("toolTip"),y)};b.prototype.u$=function(){this.s$(this.sf,this.eaa,n)};b.prototype.RI=function(){return this.ug!=r};b.prototype.TD=function(){var a=this.sf&&this.sf.get("toolTipDisplayTime"); if(a===m||a===r)a=h.toolTipDisplayTime;this.Tt();this.ug=setTimeout(function(){this.ug=r;this.daa?this.u$():this.t$()}.bind(this),a)};b.prototype.Tt=function(){if(this.RI()){clearTimeout(this.ug);this.ug=r}};b.prototype.Fra=function(a){var b=this.hr();this.J$();var c=function(){this.K.css("display",this.Lo&&!this.Yma(a,b.x,b.y)?"inline":"none")}.bind(this);this.MI=setInterval(c,300);c()};b.prototype.J$=function(){if(this.MI){clearInterval(this.MI);this.MI=r}};b.prototype.Tsa=function(a){function b(c){var d= a.get(c);return d===m?h[c]:d}var c={};c.opacity=b("toolTipOpacity");c.filter=c["-ms-filter"]="alpha(opacity="+Math.round(b("toolTipOpacity")*100)+")";c.paddingTop=b("toolTipPaddingTop")+"px";c.paddingBottom=b("toolTipPaddingBottom")+"px";c.paddingLeft=b("toolTipPaddingLeft")+"px";c.paddingRight=b("toolTipPaddingRight")+"px";c["text-align"]=b("toolTipHorizontalAlign");this.K.css(c);c={};c.opacity=b("toolTipBackgroundOpacity");c.filter=c["-ms-filter"]="alpha(opacity="+Math.round(b("toolTipBackgroundOpacity")* 100)+")";c["background-color"]=b("toolTipBackgroundColor");c.border=[b("toolTipBorderSize")+"px","solid",b("toolTipBorderColor")].join(" ");var d=b("toolTipShadowColor");c["-moz-box-shadow"]=c["-webkit-box-shadow"]=c["box-shadow"]=[b("toolTipShadowHorizontalLength")+"px",b("toolTipShadowVerticalLength")+"px",b("toolTipShadowBlurRadius")+"px",b("toolTipShadowSpread")+"px","rgba("+parseInt("0x"+d.substr(1,2))+", "+parseInt("0x"+d.substr(3,2))+", "+parseInt("0x"+d.substr(5,2))+", "+b("toolTipShadowOpacity")+ ")"].join(" ");c["-moz-border-radius"]=c["-webkit-border-radius"]=c.borderRadius=b("toolTipBorderRadius")+"px";this.Bd.css(c);c={};c["font-family"]=f.Es(b("toolTipFontFamily"));d=b("toolTipFontSize");e(d).isNumber()?d=d+"px":e(d).isString()||(d="");c["font-size"]=d;c["font-weight"]=b("toolTipFontWeight");c["font-style"]=b("toolTipFontStyle");c.color=b("toolTipFontColor");d=b("toolTipTextShadowColor");c["-moz-text-shadow"]=c["-webkit-text-shadow"]=c["text-shadow"]=[b("toolTipTextShadowHorizontalLength")+ "px",b("toolTipTextShadowVerticalLength")+"px",b("toolTipTextShadowBlurRadius")+"px","rgba("+parseInt("0x"+d.substr(1,2))+", "+parseInt("0x"+d.substr(3,2))+", "+parseInt("0x"+d.substr(5,2))+", "+b("toolTipTextShadowOpacity")+")"].join(" ");var g=b("toolTipTextShadowVerticalLength")==0&&b("toolTipTextShadowHorizontalLength")==0?135:Math.round(4*Math.atan2("toolTipTextShadowHorizontalLength",-b("toolTipTextShadowVerticalLength"))/Math.PI)*45;c.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+ function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a}(255*b("toolTipTextShadowOpacity"))+d.substr(1,6)+",direction="+g+")";this.sL.css(c)};b.prototype.Yma=function(a,b,c){for(var b=document.elementsFromPoint(b,c),a=a.Gb()[0],c=this.pa.Gb()[0],d=0;d0.29)return n}}return y}; b.prototype.dja=function(a){if(!a)return 0;var a=a.toLowerCase(),b=a.match(/rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(\d*\.?\d*)\s*\)/);return b?parseFloat(b[1]):a.match(/transparent/)?0:1};b.prototype.dma=function(a){for(var a=(a||"").split("\n"),b=0;b"+a+"
"})};b.prototype.xka=function(a){b.T1.nodeValue=a;return b.P1.innerHTML};b.yfa=h;b.P1=document.createElement("pre");b.T1=document.createTextNode("");b.P1.appendChild(b.T1); b.FAa=600;return b}); define("cl",["require","Y","bA","dK"],function(a){function b(a,b){this.C=a;this.ri=b;this.wra()}var c=a("Y"),e=a("bA"),g=a("dK");b.prototype.yg=Q("u");b.prototype.ad=function(){return this.u.width};b.prototype.Pd=function(){return this.u.height};b.prototype.wra=function(){this.u=document.createElement("canvas");var a=this.ri.split("\n"),b=this.Fe("toolTipBackgroundColor"),c=this.Fe("toolTipBackgroundOpacity"),j=this.Fe("toolTipBorderRadius"),p=this.Fe("toolTipBorderColor"),k=this.Fe("toolTipBorderSize"); this.Fe("toolTipDisplayTime");var l=this.Fe("toolTipFontFamily"),q=this.Fe("toolTipFontSize"),o=this.Fe("toolTipFontColor"),t=this.Fe("toolTipFontWeight"),s=this.Fe("toolTipFontStyle"),v=this.Fe("toolTipPaddingBottom"),u=this.Fe("toolTipPaddingLeft"),w=this.Fe("toolTipPaddingTop"),x=this.Fe("toolTipPaddingRight"),z=this.Fe("toolTipOpacity"),C=this.Fe("toolTipTextShadowBlurRadius"),A=this.Fe("toolTipTextShadowColor"),K=this.Fe("toolTipTextShadowHorizontalLength"),F=this.Fe("toolTipTextShadowVerticalLength"), J=this.Fe("toolTipTextShadowOpacity"),B=new e.Z0;B.fontFamily=l;B.fontSize=q+(isNaN(q)?"":"px");B.fontWeight=t;B.fontStyle=s;var O=a.map(function(a){return e(a,B,G)}),N=0,I=0;O.forEach(function(a){N=Math.max(a.width,N);I+=a.height});var L=1a))this.SH=a};b.prototype.cM=function(a,b){if(""==this.ya||this.ms>b)this.ya=a,this.ms=b};b.prototype.YF=Q("ya");b.prototype.cq=function(a){this.V2=c(a)};b.prototype.Eh= function(){return 0=this.J9){this.uW();this.qx()}else this.Nb.set("overProgress",a/this.J9)};return a}); define("iJ","require,fg,ll,jv,lh,eb,kN,bi".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("jv"),g=a("lh"),d=a("eb"),f=a("kN"),h=a("bi"),a=b.extend(f,function(a){f.call(this,f.nP,a);this.Je=this.m=r;this.Nb=new e;this.g.add(this.Nb);this.df="";this.ya=r;this.yL=this.yL.bind(this);document.body.addEventListener("touchend",this.yL);h.bind(c.Mi,this.hba,this,n)});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.yL);h.unbind(c.Mi,this.hba,this,n);this.g.remove(this.Nb); this.Nb=r;this.ya&&this.g.remove(this.ya);this.ya=r};a.prototype.update=function(a){this.m=a;this.Nb.set("changing",a.hM);this.wg()};a.prototype.yL=function(){this.qx()};a.prototype.hba=function(){this.qx()};a.prototype.qx=function(){this.Zf(this.Pf(c.Li));this.Nb.set("over",y)};a.prototype.wg=function(){var a=this.Pf(c.Nh);this.Zf(a);this.Ul(a.YF());this.Nb.set("over",a.Zz())};a.prototype.Ul=function(a){if(this.df!=a){this.df&&this.g.remove(this.ya);if(this.df=a){this.ya=new g(this.df);this.ya.set("text", this.df);this.g.add(this.ya)}}};a.prototype.Zf=function(a){this.g.jF().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.Lj(a)}.bind(this))};a.prototype.Pf=function(a){this.Je=this.pS();return new d(this,this.Je?[this.Je]:[],this.Je,a)};return a}); define("il","require,fg,gW,bU,dv,dX,y,kA".split(","),function(a){var b=a("fg"),c=a("gW"),e=a("bU"),g=a("dv"),d=a("dX"),f=a("y"),h=a("kA"),j=new THREE.Matrix4,p=Math.PI/180,a=b.extend(f,function(){f.call(this);this.set("tag","Laser");this.set("matrix",r);this.set("over",y);this.set("pressed",y);this.set("intersectionDistance",0);this.set("visible",y);this.set("attachToCamera",y);this.set("dotVisible",n);this.jV=this.oD=this.Ym=this.iV=r;new THREE.Matrix4;this.kV=new THREE.Matrix4;this.kV.multiply(j.makeRotationX(-90* p));this.kV.multiply(j.makeTranslation(0,k*0.5,0));this.XH=this.WH=this.VH=this.Eo=this.DR=r;new THREE.Matrix4;this.ER=new THREE.Matrix4;this.$A=this.UH=this.CR=r;new THREE.Matrix4;this.Xt=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.Xt[0].multiply(j.makeRotationX(-90*p));this.Xt[0].multiply(j.makeTranslation(0,-q*0.5,0));this.Xt[1].multiply(j.makeRotationX(-90*p));this.Xt[1].multiply(j.makeTranslation(0,-q*0.5,-l*0.5));this.Xt[2].multiply(j.makeRotationX(-90*p));this.Xt[2].multiply(j.makeTranslation(0, -q*0.5,-l))});a.prototype.L=function(a){f.prototype.L.call(this,a);this.sX();this.ss()};a.prototype.sX=function(){if(this.p("visible"))this.get("meshGroup").visible=this.get("visible");this.p("dotVisible")&&g.yd([this.WH,this.UH],this.get("dotVisible")?1:0)};a.prototype.ss=function(){if(this.p("over","pressed")){this.Daa();this.Naa()}};var k=0.35,l=0.012,q=0.1;a.prototype.Vi=function(){this.UH=g.create(new THREE.SphereGeometry(2.3,32,32),this.tja());this.WH=g.create(new THREE.SphereGeometry(2,32, 32),this.uja());this.jV=g.create(new THREE.CylinderGeometry(0.003,0.003,k,8),this.Pja());this.ux=[];this.ux.push(g.create(new THREE.CylinderGeometry(l,l,q,32),this.UQ()));this.ux.push(g.create(new THREE.BoxGeometry(2*l,q,l),this.UQ()));this.ux.push(g.create(new THREE.CylinderGeometry(l,l,q,32),this.UQ()));return[this.UH,this.WH,this.jV].concat(this.ux)};a.prototype.tja=function(){if(this.CR==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),c=new d;c.Di(a);this.CR= e.Cs(c.texture(),new e.Wn);b.fillStyle="rgba(0, 0, 0, 0.75)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return this.CR};a.prototype.uja=function(){if(this.DR==r){this.Eo=document.createElement("canvas");this.Eo.width=this.Eo.height=256;this.VH=this.Eo.getContext("2d");this.XH=new d;this.XH.Di(this.Eo);this.DR=e.Cs(this.XH.texture(),new e.Wn);this.Daa()}return this.DR};a.prototype.Daa=function(){this.VH.fillStyle=this.hS();this.VH.clearRect(0,0,this.Eo.width,this.Eo.height); this.VH.fillRect(0,0,this.Eo.width,this.Eo.height);this.XH.update()};a.prototype.Pja=function(){if(this.iV==r){this.Ym=document.createElement("canvas");this.Ym.width=this.Ym.height=256;this.oD=this.Ym.getContext("2d");this.lV=new d;this.lV.Di(this.Ym);this.iV=e.Cs(this.lV.texture(),new e.Wn);this.Naa()}return[this.iV]};a.prototype.Naa=function(){var a=h.BF(this.hS()).join(", "),b=this.oD.createLinearGradient(0,0,0,this.Ym.height);b.addColorStop(0,"rgba("+a+", 0)");b.addColorStop(0.5,"rgba("+a+", 1)"); b.addColorStop(1,"rgba("+a+", 1)");this.oD.fillStyle=b;this.oD.clearRect(0,0,this.Ym.width,this.Ym.height);this.oD.fillRect(0,0,this.Ym.width,this.Ym.height);this.lV.update()};a.prototype.UQ=function(){if(this.$A==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),c=new d;c.Di(a);this.$A=e.Cs(c.texture(),new e.Wn);b.fillStyle="rgba(64, 64, 64, 1)";b.clearRect(0,0,a.width,a.height);b.fillRect(0,0,a.width,a.height)}return[this.$A,this.$A,this.$A]};a.prototype.Zl= function(){var a=y,b=y,d=y;if(this.p("intersectionDistance")){var b=(b=this.get("intersectionDistance"))?c.Vv(b):c.Np(),e=b/c.Np();this.ER.makeTranslation(0,0,-b);this.ER.multiply(j.makeScale(e,e,e));b=n}if(this.p("matrix"))d=b=a=n;if(b){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.ER);g.fm(this.WH,j);g.fm(this.UH,j)}if(a){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.kV);g.fm(this.jV,j)}if(d){b=this.get("matrix");for(a=0;a=0};B.prototype.qj=function(){this.nR.clear();d.prototype.qj.call(this)};B.prototype.lb=function(){var a=this.Aa(),c=this.eb();if(this.m.width!=a||this.m.height!=c)if(!a||!c)b.log("Invalid size values: "+a+" "+c);else{this.m.width=a;this.m.height=c;this.kI.VF(this.m.width);this.kI.Dea(this.m.height);this.Ma()}};B.prototype.wh=function(){this.m.enabled=n;this.Ma()};B.prototype.th= function(){this.m.enabled=y;this.Ma()};B.prototype.pk=function(){this.m.tb=A.isPresenting();this.bm();this.Ma()};B.prototype.$na=function(){this.bm();this.Ma()};B.prototype.Goa=function(){this.Ma()};B.prototype.loa=function(){this.Ma()};B.prototype.xw=function(a){if(this.m.Ei!=a){this.m.Ei=a;this.Ma()}};B.prototype.Ka=function(a,c,d,e){if(this.m.ma!=a||this.m.pitch!=c||this.m.md!=d||this.m.bd!=e)if(isNaN(a)||isNaN(c)||isNaN(d)||!e)b.log("Invalid position values: "+a+" "+c+" "+d+" "+e);else{this.m.ma= a;this.m.pitch=c;this.m.md=d;this.m.bd=e;this.kI.tw(this.m.bd*J);this.Ma()}};B.prototype.ac=function(){return this.m.ma};B.prototype.ec=function(){return this.m.pitch};B.prototype.Qd=function(){return this.m.md};B.prototype.Pe=function(){return this.m.bd};B.prototype.rY=function(){return this.m.tb?this.m.Gf:C.Sn(this.m.Gf,this.m.width,this.m.height)};B.prototype.sY=function(){return this.m.Gf};B.prototype.unproject=function(a){return this.kI.unproject(a)};B.prototype.Ma=function(){K.Ma(this.Pg,this)}; B.prototype.Pg=function(){if(K.WY){var a=(new Date).getTime(),b=Math.max(1,Math.min(a-this.b6,33));this.b6=a;this.trigger(new g(B.HO,{frameTime:b}));if(this.m.enabled){this.m.wd=b;this.wV()}}else this.Ma()};B.prototype.wV=function(){this.rj.update(this.m);this.m.gM=this.rj.mva();this.m.OE=this.rj.lva();this.m.Gf=this.rj.jva();this.m.eh=this.rj.getPixelRatio();this.Va.update(this.m);this.X$.update(this.m);this.I6.update(this.m);this.mi.update(this.m);this.rj.render()};B.HO="render start";B.Wea=R(n); return B});define("dt",["require"],function(){function a(){}a.prototype.clear=D();a.eBa=function(b){return a.create(b,D())};a.create=function(b,c){c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.id=b;c.not="!"+b;return c};a.Mv=function(b,c){var e=a.create(b,c);e.gZ=n;return e};return a}); define("eo",["require","dt"],function(a){var a=a("dt"),b={};b.Geometry=a.create("GeometryComponent",function(){this.geometry=r});b.sq=a.create("MaterialComponent",function(){this.material=r});b.Mesh=a.create("MeshComponent",function(){this.Mk=r});b.ym=a.Mv("MeshSystemStateComponent",function(){this.Mk=r});b.tq=a.create("ModelComponent",function(){this.yda=r});b.uq=a.create("ModelComponentSystemState",function(){this.manager=r});b.OrthographicCamera=a.create("OrthographicCameraComponent",D());b.Rw= a.Mv("OrthographicCameraSystemStateComponent",function(){this.Jc=r});b.Oh=a.create("ParentComponent",function(){this.XE=r});b.al=a.Mv("ParentSystemStateComponent",function(){this.Vc=this.parent=r});b.Vw=a.create("TransformComponent",function(){this.kea=this.jea=this.iea=this.xZ=this.Tda=this.Sda=0;this.oea=this.nea=this.mea=1});b.Lf=a.create("RendererComponent",function(){this.canvas=r;this.antialias=n;this.height=this.width=100;this.eM=this.JZ=this.hf=r});b.vq=a.Mv("RendererSystemStateComponent", function(){this.height=this.width=m;this.Jc=this.Gj=this.hf=r});b.Scene=a.create("SceneComponent",function(){this.Gj=r});b.Uw=a.Mv("SceneSystemStateComponent",function(){this.Gj=r});b.Texture=a.create("TextureComponent",function(){this.texture=r});b.wq=a.create("VideoMaterialComponent",function(){this.Oba=this.mfa=this.Os=r});b.xq=a.Mv("VideoMaterialSystemStateComponent",function(){this.manager=r});b.mh=a.create("ViewportComponent",function(){this.height=this.width=this.mw=r});b.yq=a.create("ViewportPlaneGeometryComponent", function(){this.Os=this.mw=r});b.co=a.Mv("ViewportPlaneGeometrySystemStateComponent",function(){this.geometry=r;this.zIndex=this.lea=this.verticalAlign=this.Tca=this.Tea=this.Uea=m});return b}); define("ji",["require"],function(){function a(b,c){this.Tn=b;this.Eza=c||"Entity";this.id=this.Eza+"_"+a.dxa++;this.Gk={};this.EF={};this.l_=0}a.prototype.Wb=function(a){return this.Gk[a.id]};a.prototype.km=function(a){var c=this.Gk[a.id];c&&this.Tn.vua(this,a);return c};a.prototype.ke=function(a){if(a.id in this.Gk)return this.Gk[a.id];a.gZ&&this.l_++;var c=this.Gk[a.id]=new a;this.Tn.bua(this,a);return c};a.prototype.Pk=function(a){a.id in this.Gk&&(a.gZ&&this.l_--,this.EF[a.id]=this.Gk[a.id],delete this.Gk[a.id], this.Tn.aea(this,a,m))};a.prototype.yua=function(){for(var a in this.EF)this.EF[a].clear(),delete this.EF[a]};a.prototype.Hxa=function(){for(var a in this.Gk){var c=this.Gk[a].constructor;c.gZ||(this.EF[a]=this.Gk[a],delete this.Gk[a],this.Tn.aea(this,c,y))}};a.dxa=0;return a});define("bI",["require"],function(){function a(){this.id=a.dU++;this.entities=[]}a.dU=0;return a}); define("ip",["require"],function(){function a(b,c){this.id=a.dU++;this.name=c;this.entities=b.entities;this.ys=b.entities.slice();this.Yg=[];this.oN=[]}a.prototype.wua=function(){!this.ys.length||(this.ys=[]);!this.Yg.length||(this.Yg=[]);!this.oN.length||(this.oN=[])};a.dU=0;return a}); define("bd",["require","bI","ip"],function(a){function b(){this.lwa={};this.vb={};this.jw={};this.pz={};this.Kp={};this.iw={};this.TE={};this.hw={}}function c(a){return"string"==typeof a?a:a.id}var e=a("bI"),g=a("ip");b.prototype.me=function(a){this.TE[a.id]={};this.TE[a.not]={}};b.prototype.Iua=function(a,b){var c=this.Wla(a),e=new g(c,b);this.jw[c.id].push(e);return e};b.prototype.Wla=function(a){var b=this.lwa[this.Xla(a)];if(b)return b;b=new e;this.vb[b.id]=b;a=a.map(c);this.hw[b.id]={};for(var g= 0;go.Yg.indexOf(a)&&o.Yg.push(a)}};return b}); define("iC",["require","V","ji","bd"],function(a){function b(a){this.jb=a;this.SR={};this.kB=[];this.fja={};this.WD=[];this.dv=new g;this.bI=[];this.Vr=y}var c=a("V"),e=a("ji"),g=a("bd");b.prototype.me=function(a){this.fja[a.id]=a;this.dv.me(a);return this};b.prototype.lw=function(a,b){var c=new a(this,b);c.order=this.WD.length;this.WD.push(c);for(var e in a.vb)c[e]=this.dv.Iua(a.vb[e],b+"."+e);this.WD.sort(function(a,b){return a.Td-b.Td||a.order-b.order});return this};b.prototype.Lv=function(a){a= new e(this,a);this.SR[a.id]=a;this.dv.ixa(a);this.Ps();return a};b.prototype.nM=function(a){a.id in this.SR&&(delete this.SR[a.id],this.kB.push(a),a.Hxa(),this.Ps())};b.prototype.bua=function(a,b){this.dv.fxa(a,b);this.Ps()};b.prototype.aea=function(a,b,c){this.dv.hxa(a,b);c||this.bI.push(a);this.Ps()};b.prototype.vua=function(a,b){this.dv.gxa(a,b);this.Ps()};b.prototype.Ps=function(){this.Vr||(this.Vr=n,c.Ma(this.update,this))};b.prototype.update=function(){this.Vr=y;var a=(new Date).getTime(),b= this.c6?a-this.c6:0;this.c6=a;for(var c=0;cs*d){v=o;c=t*o/s}else{c=d;v=s*d/t}break;default:if(t*o>s*d){c=d;v=s*d/t}else{v=o;c=t*o/s}}switch(b.Tca){case f.ra:d=-d*0.5;break;case f.Na:d=d*0.5-c;break;default:d=-c*0.5}switch(b.verticalAlign){case f.ob:o=o*0.5-v;break;case f.nb:o=-o*0.5;break;default:o=-v*0.5}t=b.zIndex-j.Xfa;g.set(b.geometry,d,o,0,0,0,c,0,0,1,0,v,0,1,0);(a.km(e.Vw)|| a.ke(e.Vw)).xZ=t;a.Tn.Ps()};j.Xfa=100;j.vb={};j.vb.Pda=[e.yq,e.co.not];j.vb.Oda=[e.yq,e.co,e.mh];j.vb.Qda=[e.yq.not,e.co];return j});define("gD","require,eh,iv,jO,iP,dA,iA,ek".split(","),function(a){var b=a("eh"),c=a("iv"),e=a("jO"),g=a("iP"),d=a("dA"),f=a("iA"),a=a("ek"),h={};h.Mesh=b;h.tq=c;h.Oh=e;h.Lf=g;h.wq=d;h.mh=f;h.yq=a;return h}); define("eP","require,fg,ll,d,iC,eo,gD".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("d"),g=a("iC"),d=a("eo"),f=a("gD"),a=b.extend(e,function(a){e.call(this);this.FE=(new g(a)).me(d.Geometry).me(d.sq).me(d.Mesh).me(d.ym).me(d.tq).me(d.uq).me(d.OrthographicCamera).me(d.Rw).me(d.Oh).me(d.al).me(d.Vw).me(d.Lf).me(d.vq).me(d.Scene).me(d.Uw).me(d.Texture).me(d.wq).me(d.xq).me(d.mh).me(d.yq).me(d.co).lw(f.mh,"Viewport").lw(f.Oh,"Parent").lw(f.wq,"VideoMaterial").lw(f.yq,"ViewportPlaneGeometry").lw(f.Mesh, "Mesh").lw(f.tq,"Model").lw(f.Lf,"Renderer");this.tj=this.FE.Lv("Scene");this.tj.ke(d.Scene);this.Ab=this.FE.Lv("Camera");this.Ab.ke(d.OrthographicCamera);this.Ab.ke(d.Oh).XE=this.tj;this.g=this.FE.Lv("Renderer");this.bind(c.zb,this.lb,this,n);this.bind(c.od,this.wh,this,n);this.bind(c.Ad,this.th,this,n)});a.prototype.Lv=function(a){return this.FE.Lv(a)};a.prototype.nM=function(a){this.FE.nM(a)};a.prototype.Gs=Q("Ab");a.prototype.Qs=function(a){if(this.Ab!=a){this.Ab=a;if(a=this.g.km(d.Lf))a.eM=this.Ab}}; a.prototype.lb=function(){var a=this.g.km(d.Lf);if(a){a.width=this.Jd();a.height=this.Id()}};a.prototype.wh=function(){this.zra()};a.prototype.th=function(){this.ksa()};a.prototype.zra=function(){var a=this.g.Wb(d.Lf);if(!a){a=this.g.ke(d.Lf);a.canvas=document.createElement("canvas");this.Ra().XX(a.canvas);a.eM=this.Ab;a.JZ=this.tj;a.antialias=n;a.width=this.Jd();a.height=this.Id()}};a.prototype.ksa=function(){var a=this.g.Wb(d.Lf);if(a){this.Ra().Kxa(a.canvas);this.g.Pk(d.Lf)}};return a}); define("ba",["require","fg","ll","fu","cR"],function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("cR"),a=b.extend(g,function(a,b){g.call(this,a);this.F=b;this.F.bind(c.D("video"),this.MC,this);this.F.bind(c.gc,this.MC,this);this.MC()});a.prototype.clear=function(){this.F&&(this.F.unbind(c.D("video"),this.MC,this),this.F.unbind(c.gc,this.MC,this),this.F=r);g.prototype.clear.call(this)};a.prototype.MC=function(){this.g_(this.F.get("state")!=e.H?this.F.get("video"):r)};return a}); define("dZ","require,fg,ll,R,d,dc,ba".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("R"),g=a("d"),d=a("dc"),f=a("ba"),a=b.extend(g,function(a,b,p){g.call(this);this.jb=a;this.C=b;this.F=p;this.set("toolTipDisabled",n);this.set("cursor",e.pq);this.bind(c.zb,this.lb,this,n);this.Ty=new f(b,p);this.oj=new d.GG;this.oj.uN(d.GG.AG);this.oj.xe(this.hp=y);[this.Ty.Gb(),this.oj.Gb()].forEach(function(a,b){this.Ra().append(a);a.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden", "z-index":b})}.bind(this))});a.prototype.uw=function(a,b){if(this.hp!=a){this.hp=a;this.oj.KZ(b);this.oj.xe(a)}};a.prototype.lb=function(){this.MD=n;this.oj.setSize(this.Aa(),this.eb())};return a}); define("jr","require,fg,R,c,kS,eo,eP,dZ".split(","),function(a){var b=a("fg"),c=a("R"),e=a("c"),g=a("kS"),d=a("eo"),f=a("eP"),h=a("dZ"),a=b.extend(g,function(a,b,d){g.call(this);this.jb=a;this.C=b;this.F=d;this.Tc("Renderer");this.set("toolTipDisabled",n);this.set("cursor",c.pq);this.set("layout",e.fG);this.Ha=this.ff=r;this.TL=[];this.CE=[];this.am()});a.prototype.Ga=function(){g.prototype.Ga.call(this);if(this.ff==r){this.ff=new f(this.jb);this.ff.M({left:0,top:0,right:0,bottom:0});this.la(this.ff); this.TL.forEach(function(a){this.bB(a)}.bind(this))}if(this.Ha==r){this.Ha=new h(this.jb,this.C,this.F);this.Ha.M({left:0,top:0,right:0,bottom:0});this.la(this.Ha);this.am()}};a.prototype.iua=function(a){this.TL.push(a);this.ff&&this.bB(a)};a.prototype.bB=function(a){var b=this.ff.Lv("Video");b.ke(d.Oh).XE=this.ff.tj;b.ke(d.Mesh).Os=a;var c=b.ke(d.yq);c.Os=a;c.mw=this.ff.g;c=b.ke(d.wq);c.Os=a;c.mfa=a.get("video");c.Oba=a;this.CE.push(b);this.am()};a.prototype.cea=function(a){a=this.TL.indexOf(a); if(!(a<0)){this.TL.splice(a,1);this.ff&&this.xR(this.CE[a])}};a.prototype.xR=function(a){var b=this.CE.indexOf(a);if(!(b<0)){this.CE.splice(b,1);this.ff.nM(a);this.am()}};a.prototype.uw=function(a){this.hp=a;this.am()};a.prototype.am=function(){this.Ha&&this.Ha.uw(this.hp&&this.CE.length>0)};return a}); define("bl","require,do,fg,ll,fu,bZ,dW,jT,eT,cr,dQ,jr,r,dm,ck,fm,kS".split(","),function(a){var b=a("do"),c=a("fg"),e=a("ll"),g=a("fu"),d=a("bZ"),f=a("dW"),h=a("jT"),j=a("eT"),p=a("cr"),k=a("dQ"),l=a("jr"),q=a("r"),o=a("dm"),t=a("ck"),s=a("fm"),v=a("kS"),u=c.extend(v,function(){v.call(this);this.set("childrenInteractionEnabled",n);this.set("contentOpaque",n);this.set("creationPolicy",t.ut);this.set("vrPointerColor","#ffffff");this.set("vrPointerOverColor","#007acc");this.set("vrPointerSelectionColor", "#ff6600");this.set("vrPointerDistance",2);this.set("vrPointerSelectionTime",1200);this.set("surfaceReticleColor","#ffffff");this.set("surfaceReticleSelectionColor","#ffffff");this.set("surfaceReticleOpacity",0.6);this.set("surfaceReticleSelectionOpacity",1);this.set("displayTooltipInSurfaceSelection",n);this.set("doubleClickAction","toggle_fullscreen");this.set("subtitlesEnabled",n);this.set("checkToolTipOcclusion",n);this.Jm=this.Rb=this.dI=this.af=r;this.PU=this.Xm=y;this.Yf=g.H;this.Pi=this.nh= r;this.hk=y;this.bind(u.O0,this.toa,this,n);this.bind(u.N0,this.soa,this,n);this.bind(e.Hb,this.P7,this);this.bind(e.Hb,this.P7,this);this.bind(e.xc,this.Moa,this);this.bind(e.Qb,this.Loa,this);this.bind(e.od,this.RJ,this,n);this.bind(e.Ad,this.Koa,this,n);this.bY=new h(this,"buttonPause",o.Qh);this.bY.bind(e.U,this.Nu,this);this.bY.set("state",s.dd);this.dY=new h(this,"buttonPlay",o.Qh);this.dY.bind(e.U,this.Ou,this);this.dY.set("state",s.dd);this.cY=new h(this,"buttonPlayPause",o.Qh);this.cY.bind(e.U, this.poa,this);this.cY.set("state",s.dd);this.eY=new h(this,"buttonStop",o.Qh);this.eY.bind(e.U,this.Nr,this);this.eY.set("state",s.Ca);this.lua=new h(this,"buttonRestart",o.Wc);this.lua.bind(e.U,this.Mr,this);this.dM=new h(this,"buttonToggleSubtitles",o.Qh);this.dM.bind(e.Dg,function(){this.set("subtitlesEnabled",n)},this,n);this.dM.bind(e.Ph,function(){this.set("subtitlesEnabled",y)},this,n);this.bind(e.D("subtitlesEnabled"),function(){this.dM.set("pressed",this.get("subtitlesEnabled"))},this); this.dM.set("pressed",this.get("subtitlesEnabled"));this.Uma=c.nm(this.Gta,this);this.bind(e.CG,this.Joa,this,n)});f.A("ViewerArea",u).B("UIComponent").J({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonToggleSubtitles:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",cardboardPointerColor:"color",cardboardPointerSelectionTime:"number",cardboardPointerSelectionColor:"color",cardboardPointerDistance:"number",externalPlaybackBar:"PlaybackBar",vrPointerColor:"color",vrPointerOverColor:"color",vrPointerSelectionTime:"number",vrPointerSelectionColor:"color",vrPointerDistance:"number",transitionMode:"enum[blending, fade_out_fade_in]",transitionDuration:"number",blendingTransitionDuration:"number", disolveTransitionDuration:"number",displayTooltipInSurfaceSelection:"bool",displayTooltipInTouchScreens:"bool",doubleClickAction:"enum[toggle_fullscreen, none]",firstTransitionDuration:"number",translationTransitionDuration:"number",translationTransitionEnabled:"bool",progressBackgroundColor:"or[array[color], color]",progressBackgroundColorDirection:"enum[horizontal, vertical]",progressBackgroundColorRatios:"array[number]",progressBackgroundOpacity:"number",progressBarBackgroundColor:"or[array[color], color]", progressBarBackgroundColorDirection:"enum[horizontal, vertical]",progressBarBackgroundColorRatios:"array[number]",progressBarBorderColor:"color",progressBarBorderRadius:"number",progressBarBorderSize:"number",progressBarOpacity:"number",progressBorderColor:"color",progressBorderRadius:"number",progressBorderSize:"number",progressBottom:"or[number, percent]",progressHeight:"or[number, percent]",progressLeft:"or[number, percent]",progressOpacity:"number",progressRight:"or[number, percent]",externalProgressBar:"ProgressBar", playbackBarBackgroundColor:"or[array[color], color]",playbackBarBackgroundColorDirection:"enum[horizontal, vertical]",playbackBarBackgroundOpacity:"number",playbackBarBorderColor:"color",playbackBarBorderRadius:"number",playbackBarBorderSize:"number",playbackBarBottom:"or[number, percent]",playbackBarHeight:"or[number, percent]",playbackBarWidth:"or[number, percent]",playbackBarLeft:"or[number, percent]",playbackBarOpacity:"number",playbackBarRight:"or[number, percent]",playbackBarRollOverDisplay:"bool", playbackBarLiveDragging:"bool",playbackBarProgressBackgroundColor:"or[array[color], color]",playbackBarProgressBackgroundColorDirection:"enum[horizontal, vertical]",playbackBarProgressBackgroundColorRatios:"array[number]",playbackBarProgressBorderColor:"color",playbackBarProgressBorderRadius:"number",playbackBarProgressBorderSize:"number",playbackBarProgressOpacity:"number",playbackBarHeadBackgroundColor:"or[array[color], color]",playbackBarHeadBackgroundColorDirection:"enum[horizontal, vertical]", playbackBarHeadBackgroundColorRatios:"array[number]",playbackBarHeadBorderColor:"color",playbackBarHeadBorderRadius:"number",playbackBarHeadBorderSize:"number",playbackBarHeadOpacity:"number",playbackBarHeadWidth:"or[number, percent]",playbackBarHeadHeight:"or[number, percent]",playbackBarHeadShadow:"bool",playbackBarHeadShadowBlurRadius:"number",playbackBarHeadShadowColor:"color",playbackBarHeadShadowHorizontalLength:"number",playbackBarHeadShadowOpacity:"number",playbackBarHeadShadowSpread:"number", playbackBarHeadShadowVerticalLength:"number",playbackState:"enum[stopped, playing, paused]",subtitlesBackgroundColor:"color",subtitlesBackgroundOpacity:"number",subtitlesBorderColor:"color",subtitlesBorderSize:"number",subtitlesBottom:"or[number, percent]",subtitlesEnabled:"bool",subtitlesFontFamily:"string",subtitlesFontColor:"color",subtitlesFontSize:"or[number, size]",subtitlesFontStyle:"enum[italic, normal]",subtitlesFontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]", subtitlesGap:"number",subtitlesHorizontalAlign:"enum[left, center, right]",subtitlesOpacity:"number",subtitlesPaddingTop:"number",subtitlesPaddingBottom:"number",subtitlesPaddingLeft:"number",subtitlesPaddingRight:"number",subtitlesShadow:"bool",subtitlesShadowBlurRadius:"number",subtitlesShadowColor:"color",subtitlesShadowOpacity:"number",subtitlesShadowHorizontalLength:"number",subtitlesShadowVerticalLength:"number",subtitlesTextDecoration:"enum[underline, overline, line-through, none]",subtitlesTextShadowBlurRadius:"number", subtitlesTextShadowColor:"color",subtitlesTextShadowHorizontalLength:"number",subtitlesTextShadowOpacity:"number",subtitlesTextShadowVerticalLength:"number",subtitlesTop:"or[number, percent]",subtitlesVerticalAlign:"enum[top, middle, bottom]",surfaceReticleColor:"color",surfaceReticleOpacity:"number",surfaceReticleSelectionColor:"color",surfaceReticleSelectionOpacity:"number"}).Cg({play:function(){this.Ou()},pause:function(){this.Nu()},stop:function(){this.Nr()},restart:function(){this.Mr()}});u.pb= {progressBackgroundColor:m,progressBackgroundColorDirection:m,progressBackgroundColorRatios:m,progressBackgroundOpacity:m,progressBarBackgroundColor:m,progressBarBackgroundColorDirection:m,progressBarBackgroundColorRatios:m,progressBarBorderColor:m,progressBarBorderRadius:m,progressBarBorderSize:m,progressBarOpacity:m,progressBorderColor:m,progressBorderRadius:m,progressBorderSize:m,progressBottom:0,progressHeight:20,progressLeft:0,progressOpacity:m,progressPercent:0,progressRight:0,progressVisible:y, externalPlaybackBar:m,externalProgressBar:m,playbackBarBackgroundColor:m,playbackBarBackgroundColorDirection:m,playbackBarBackgroundOpacity:m,playbackBarBorderColor:m,playbackBarBorderRadius:m,playbackBarBorderSize:m,playbackBarBottom:10,playbackBarHeight:m,playbackBarWidth:m,playbackBarLeft:m,playbackBarOpacity:m,playbackBarRight:m,playbackBarLiveDragging:m,playbackBarDuration:100,playbackBarPosition:0,playbackBarRollOverDisplay:y,plabackBarSteps:m,plabackBarSelectedStep:m,playbackBarVisible:y,playbackBarProgressBackgroundColor:m, playbackBarProgressBackgroundColorDirection:m,playbackBarProgressBackgroundColorRatios:m,playbackBarProgressBorderColor:m,playbackBarProgressBorderRadius:m,playbackBarProgressBorderSize:m,playbackBarProgressOpacity:m,playbackBarHeadBackgroundColor:m,playbackBarHeadBackgroundColorDirection:m,playbackBarHeadBackgroundColorRatios:m,playbackBarHeadBorderColor:m,playbackBarHeadBorderRadius:m,playbackBarHeadBorderSize:m,playbackBarHeadOpacity:m,playbackBarHeadWidth:m,playbackBarHeadHeight:m,playbackBarHeadShadow:m, playbackBarHeadShadowBlurRadius:m,playbackBarHeadShadowColor:m,playbackBarHeadShadowHorizontalLength:m,playbackBarHeadShadowOpacity:m,playbackBarHeadShadowSpread:m,playbackBarHeadShadowVerticalLength:m,playbackBarStepBackgroundColor:m,playbackBarStepBackgroundColorDirection:m,playbackBarStepBackgroundColorRatios:m,playbackBarStepBorderColor:m,playbackBarStepBorderRadius:m,playbackBarStepBorderSize:m,playbackBarStepOpacity:m,playbackBarStepWidth:m,playbackBarStepHeight:m,playbackBarStepShadow:m,playbackBarStepShadowBlurRadius:m, playbackBarStepShadowColor:m,playbackBarStepShadowHorizontalLength:m,playbackBarStepShadowOpacity:m,playbackBarStepShadowSpread:m,playbackBarStepShadowVerticalLength:m,playbackBarStepSelectedBackgroundColor:m,playbackBarStepSelectedBackgroundColorDirection:m,playbackBarStepSelectedBackgroundColorRatios:m,playbackBarStepSelectedBorderColor:m,playbackBarStepSelectedBorderRadius:m,playbackBarStepSelectedBorderSize:m,playbackBarStepSelectedOpacity:m,playbackBarStepSelectedWidth:m,playbackBarStepSelectedHeight:m, playbackBarStepSelectedShadow:m,playbackBarStepSelectedShadowBlurRadius:m,playbackBarStepSelectedShadowColor:m,playbackBarStepSelectedShadowHorizontalLength:m,playbackBarStepSelectedShadowOpacity:m,playbackBarStepSelectedShadowSpread:m,playbackBarStepSelectedShadowVerticalLength:m,subtitlesBackgroundColor:"#000000",subtitlesBackgroundOpacity:1,subtitlesBorderColor:m,subtitlesBorderSize:0,subtitlesBottom:"10%",subtitlesFontFamily:m,subtitlesFontColor:"#ffffff",subtitlesFontSize:"12px",subtitlesFontStyle:m, subtitlesFontWeight:m,subtitlesGap:10,subtitlesHorizontalAlign:"center",subtitlesOpacity:1,subtitlesPaddingTop:5,subtitlesPaddingBottom:5,subtitlesPaddingLeft:5,subtitlesPaddingRight:5,subtitlesShadow:y,subtitlesShadowBlurRadius:m,subtitlesShadowHorizontalLength:0,subtitlesShadowVerticalLength:0,subtitlesShadowColor:"#000000",subtitlesShadowOpacity:0,subtitlesTextDecoration:m,subtitlesTextShadowBlurRadius:m,subtitlesTextShadowColor:"#000000",subtitlesTextShadowHorizontalLength:0,subtitlesTextShadowOpacity:0, subtitlesTextShadowVerticalLength:0,subtitlesTop:m,subtitlesVerticalAlign:"bottom",transitionDuration:500,blendingTransitionDuration:m,disolveTransitionDuration:m,translationTransitionDuration:m,translationTransitionEnabled:n,toolTipEnabled:n};b.defaults(u.pb,v.pb);u.prototype.set=function(a,b){if(a=="playbackState"){b=this.Yf;if(this.get(a)!=b){this.PU=n;this.Uma()}}switch(a){case "toolTipEnabled":this.set("toolTipDisabled",b===y);break;case "cardboardPointerDistance":this.set("vrPointerDistance", b);break;case "cardboardPointerColor":this.set("vrPointerColor",b);break;case "cardboardPointerSelectionColor":this.set("vrPointerSelectionColor",b);break;case "cardboardPointerSelectionTime":this.set("vrPointerSelectionTime",b);break;case "playbackBarVisible":case "playbackBarRollOverDisplay":this.pE()}v.prototype.set.call(this,a,b)};u.prototype.za=function(){this.bk(u.pb)};u.prototype.Ga=function(){v.prototype.Ga.call(this);if(this.af==r){this.af=new p;this.la(this.af)}if(this.Rb==r){this.Rb=new j; this.Rb.bind(e.aa,this.NU,this,n);this.la(this.Rb);this.pE()}};u.prototype.Bva=Q("Rb");u.prototype.Gi=function(){v.prototype.Gi.call(this);var a=this.Pa(),c=b(a).find(function(a){return a instanceof k}),d=b(a).find(function(a){return a instanceof l}),e=this.af&&this.cF(this.af)>=0?this.af:r,f=this.Rb&&this.cF(this.Rb)>=0?this.Rb:r;b([{child:c,index:0},{child:d,index:c?1:0},{child:f,index:a.length-(e?2:1)},{child:e,index:a.length-1}]).each(function(a){var b=a.child,a=a.index;b&&this.cF(b)!=a&&this.Hj(b, a)},this)};u.prototype.ka=function(){if(this.n("externalProgressBar")){(this.dI=this.k("externalProgressBar"))?this.removeChild(this.af):this.la(this.af);this.q("externalProgressBar");b(u.Q1).each(function(a){this.lv(a)},this)}this.ib(u.Lga,u.F1,[this.af],n,n);var a=[this.af];this.dI&&a.push(this.dI);this.ib(u.Q1,u.R1,a,n,n);if(this.n("externalPlaybackBar")){this.Jm&&this.Jm.unbind(e.aa,this.NU,this,n);(this.Jm=this.k("externalPlaybackBar"))?this.removeChild(this.Rb):this.la(this.Rb);this.pE();this.Jm&& this.Jm.bind(e.aa,this.NU,this,n);this.q("externalPlaybackBar");b(u.M1).each(function(a){this.lv(a)},this)}this.ib(u.Kga,u.E1,[this.Rb],n,n);a=[this.Rb];this.Jm&&a.push(this.Jm);this.ib(u.M1,u.N1,a,n,n);v.prototype.ka.call(this)};u.prototype.Gta=function(){if(this.PU){this.PU=y;this.bY.set("state",this.Yf==g.mc?s.Ca:s.dd);this.dY.set("state",this.Yf==g.P||this.Yf==g.mc?s.Ca:s.dd);this.cY.set("state",this.Yf==g.P?s.Ca:s.dd);this.eY.set("state",this.Yf==g.H?s.Ca:s.dd)}};u.prototype.Zb=function(a){this.Yf= a;this.set("playbackState",a)};u.prototype.RJ=function(){u.wh(this)};u.prototype.Koa=function(){u.th(this)};u.prototype.Nu=function(){this.Yf==g.mc?this.Rg():this.rk()};u.prototype.Ou=function(){this.Rg()};u.prototype.poa=function(){this.Yf==g.P?this.rk():this.Rg()};u.prototype.Nr=function(){this.vj()};u.prototype.Mr=function(){this.vj();this.Rg()};u.prototype.Joa=function(){if(!this.nh||!this.nh.zba())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.Ta().mg;a&&a.available()&& a.toggle()}};u.prototype.Rg=function(){this.Pi&&this.Pi.play()};u.prototype.rk=function(){this.Pi&&this.Pi.pause()};u.prototype.vj=function(){this.Pi&&this.Pi.stop()};u.prototype.toa=function(a){this.O9(a.data.player)};u.prototype.soa=function(a){this.nh==a.data.player&&this.O9(r)};u.prototype.P7=function(){u.rm(this)};u.prototype.Moa=function(){this.hk=n;this.pE()};u.prototype.Loa=function(){this.hk=y;this.pE()};u.prototype.pE=function(){this.Rb&&this.Rb.set("visible",this.get("playbackBarVisible")&& (this.hk||!this.get("playbackBarRollOverDisplay")||q.HN()))};u.prototype.O9=function(a){if(this.nh!=a){this.set("playbackBarVisible",y);this.nh&&this.nh.rm(y);this.Pi&&this.Pi.unbind(e.D("state"),this.GP,this);this.qpa=this.nh;(this.nh=a)&&this.nh.rm(!!this.Yx);(this.Pi=this.nh&&this.nh.yia?this.nh:r)&&this.Pi.bind(e.D("state"),this.GP,this,n);this.GP()}};u.prototype.rm=function(a){this.Yx=a;this.nh&&this.nh.rm(!!this.Yx)};u.prototype.Zza=function(){return!this.qpa};u.prototype.GP=function(){this.Pi? this.Zb(this.Pi.get("state")):this.Zb(g.H)};u.prototype.NU=function(){var a=(this.Jm?this.Jm:this.Rb).get("position");this.trigger(new d(u.FO,{position:a}))};u.F1={progressBackgroundColor:"backgroundColor",progressBackgroundColorDirection:"backgroundColorDirection",progressBackgroundColorRatios:"backgroundColorRatios",progressBackgroundOpacity:"backgroundOpacity",progressBarBackgroundColor:"barBackgroundColor",progressBarBackgroundColorDirection:"barBackgroundColorDirection",progressBarBackgroundColorRatios:"barBackgroundColorRatios", progressBarBorderColor:"barBorderColor",progressBarBorderRadius:"barBorderRadius",progressBarBorderSize:"barBorderSize",progressBarOpacity:"barOpacity",progressBorderColor:"borderColor",progressBorderRadius:"borderRadius",progressBorderSize:"borderSize",progressHeight:"height",progressOpacity:"opacity",progressBottom:"bottom",progressLeft:"left",progressRight:"right"};u.Lga=b(u.F1).keys();u.R1={progressPercent:"percent",progressVisible:"visible"};u.Q1=b(u.R1).keys();u.E1={playbackBarBackgroundColor:"backgroundColor", playbackBarBackgroundColorDirection:"backgroundColorDirection",playbackBarBackgroundOpacity:"backgroundOpacity",playbackBarBorderColor:"borderColor",playbackBarBorderRadius:"borderRadius",playbackBarBorderSize:"borderSize",playbackBarBottom:"bottom",playbackBarHeight:"height",playbackBarWidth:"width",playbackBarLeft:"left",playbackBarOpacity:"opacity",playbackBarRight:"right",playbackBarLiveDragging:"liveDragging",playbackBarProgressBackgroundColor:"barBackgroundColor",playbackBarProgressBackgroundColorDirection:"barBackgroundColorDirection", playbackBarProgressBackgroundColorRatios:"barBackgroundColorRatios",playbackBarProgressBorderColor:"barBorderColor",playbackBarProgressBorderRadius:"barBorderRadius",playbackBarProgressBorderSize:"barBorderSize",playbackBarProgressOpacity:"barOpacity",playbackBarHeadBackgroundColor:"playheadBackgroundColor",playbackBarHeadBackgroundColorDirection:"playheadBackgroundColorDirection",playbackBarHeadBackgroundColorRatios:"playheadBackgroundColorRatios",playbackBarHeadBorderColor:"playheadBorderColor", playbackBarHeadBorderRadius:"playheadBorderRadius",playbackBarHeadBorderSize:"playheadBorderSize",playbackBarHeadOpacity:"playheadOpacity",playbackBarHeadWidth:"playheadWidth",playbackBarHeadHeight:"playheadHeight",playbackBarHeadShadow:"playheadShadow",playbackBarHeadShadowBlurRadius:"playheadShadowBlurRadius",playbackBarHeadShadowColor:"playheadShadowColor",playbackBarHeadShadowHorizontalLength:"playheadShadowHorizontalLength",playbackBarHeadShadowOpacity:"playheadShadowOpacity",playbackBarHeadShadowSpread:"playheadShadowSpread", playbackBarHeadShadowVerticalLength:"playheadShadowVerticalLength",playbackBarStepBackgroundColor:"stepBackgroundColor",playbackBarStepBackgroundColorDirection:"stepBackgroundColorDirection",playbackBarStepBackgroundColorRatios:"stepBackgroundColorRatios",playbackBarStepBorderColor:"stepBorderColor",playbackBarStepBorderRadius:"stepBorderRadius",playbackBarStepBorderSize:"stepBorderSize",playbackBarStepOpacity:"stepOpacity",playbackBarStepWidth:"stepWidth",playbackBarStepHeight:"stepHeight",playbackBarStepShadow:"stepShadow", playbackBarStepShadowBlurRadius:"stepShadowBlurRadius",playbackBarStepShadowColor:"stepShadowColor",playbackBarStepShadowHorizontalLength:"stepShadowHorizontalLength",playbackBarStepShadowOpacity:"stepShadowOpacity",playbackBarStepShadowSpread:"stepShadowSpread",playbackBarStepShadowVerticalLength:"stepShadowVerticalLength",playbackBarSelectedStepBackgroundColor:"selectedStepBackgroundColor",playbackBarSelectedStepBackgroundColorDirection:"selectedStepBackgroundColorDirection",playbackBarSelectedStepBackgroundColorRatios:"selectedStepBackgroundColorRatios", playbackBarSelectedStepBorderColor:"selectedStepBorderColor",playbackBarSelectedStepBorderRadius:"selectedStepBorderRadius",playbackBarSelectedStepBorderSize:"selectedStepBorderSize",playbackBarSelectedStepOpacity:"selectedStepOpacity",playbackBarSelectedStepWidth:"selectedStepWidth",playbackBarSelectedStepHeight:"selectedStepHeight",playbackBarSelectedStepShadow:"selectedStepShadow",playbackBarSelectedStepShadowBlurRadius:"selectedStepShadowBlurRadius",playbackBarSelectedStepShadowColor:"selectedStepShadowColor", playbackBarSelectedStepShadowHorizontalLength:"selectedStepShadowHorizontalLength",playbackBarSelectedStepShadowOpacity:"selectedStepShadowOpacity",playbackBarSelectedStepShadowSpread:"selectedStepShadowSpread",playbackBarSelectedStepShadowVerticalLength:"selectedStepShadowVerticalLength"};u.Kga=b(u.E1).keys();u.N1={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};u.M1=b(u.N1).keys();u.bP="requestByPlayer"; u.O0="playerShow";u.N0="playerHide";u.FO="playbackBarPositionChange";u.wu=r;u.rm=function(a){if(u.wu!=a){u.wu&&u.wu.rm(y);u.wu=a;u.wu&&u.wu.rm(n)}};u.vs=[];u.wh=function(a){var b=u.vs.indexOf(a);b<0&&u.vs.splice(b,1);u.vs.push(a);this.rm(a)};u.th=function(a){var b=u.vs.indexOf(a);b<0&&u.vs.splice(b,1);u.wu==a&&u.rm(u.vs.length?u.vs[u.vs.length-1]:r)};return u}); define("cu","fg,jd,ll,bZ,dW,bl".split(","),function(a,b,c,e,g,d){var f=a.extend(b,function(a){b.call(this);this.yia=a;this.KD=this.Cr=r});f.ne="mediaShow";f.dg="mediaHide";f.prototype.rm=D();f.prototype.zba=R(y);f.prototype.GD=function(a){if(this.Cr!=a){this.Cr&&this.UW(this.Cr);(this.Cr=a)&&this.hQ(this.Cr)}};f.prototype.hQ=function(a){a.bind(d.bP,this.eba,this);a.bind(d.FO,this.dD,this)};f.prototype.UW=function(a){a.unbind(d.bP,this.eba,this);a.unbind(d.FO,this.dD,this)};f.prototype.sD=function(){this.Cr.trigger(new e(d.bP, {player:this}))};f.prototype.eba=function(a){a.data.player!=this&&this.Sy()};f.prototype.dD=D();f.prototype.Sy=D();f.prototype.hC=function(a){this.trigger(new e(f.ne,{media:a}));this.KD=this.Cr;this.KD.trigger(new e(d.O0,{player:this}))};f.prototype.gC=function(a){this.trigger(new e(f.dg,{media:a}));if(this.KD){this.KD.trigger(new e(d.N0,{player:this}));this.KD=r}};return f}); define("dk","fg,jd,ll,bZ,dW,jT,cu,bl,fu,dm,fm".split(","),function(a,b,c,e,g,d,f,h,j,p,k){b=a.extend(f,function(){f.call(this,n);this.Xm=y;this.up=n;this.m=j.H;this.lQ=new d(this,"buttonPlayPause",p.Qh);this.lQ.bind(c.Dg,this.qoa,this,n);this.lQ.bind(c.Ph,this.roa,this,n);this.I2=new d(this,"buttonPause",p.Wc);this.I2.bind(c.U,this.Nu,this,n);this.J2=new d(this,"buttonPlay",p.Wc);this.J2.bind(c.U,this.Ou,this,n);this.O2=new d(this,"buttonStop",p.Wc);this.O2.bind(c.U,this.Nr,this,n);this.qia=new d(this, "buttonRestart",p.Wc);this.qia.bind(c.U,this.Mr,this,n);this.O5=a.nm(this.qta,this);this.O5()});b.prototype.set=function(a,b){a!="state"&&f.prototype.set.call(this,a,b)};b.prototype.get=function(a,b){switch(a){case "state":return this.m}return f.prototype.get.call(this,a,b)};b.prototype.qta=function(){if(this.up){this.up=y;this.I2.set("state",this.m==j.mc?k.Ca:k.dd);this.J2.set("state",this.m==j.P||this.m==j.mc?k.Ca:k.dd);this.lQ.set("pressed",this.m==j.P);this.O2.set("state",this.m==j.H?k.Ca:k.dd)}}; b.prototype.ks=function(a){if(this.Xm!=a)(this.Xm=a)||this.Zb(j.H)};b.prototype.Zb=function(a){var b=this.m;this.m=a;f.prototype.set.call(this,"state",a);if(b!=this.m){this.up=n;this.O5();this.trigger(new e(c.gc,{oldState:b,state:this.m}))}};b.prototype.Nu=function(){this.Xm&&(this.m==j.mc?this.Rg():this.rk())};b.prototype.Ou=function(){this.Xm&&this.Rg()};b.prototype.qoa=function(){this.Xm&&this.Rg()};b.prototype.roa=function(){this.Xm&&this.rk()};b.prototype.Nr=function(){this.Xm&&this.vj()};b.prototype.Mr= function(){if(this.Xm){this.vj();this.Rg()}};b.prototype.Rg=D();b.prototype.rk=D();b.prototype.vj=D();return b});define("hG",[],function(){return{dt:"constrained",Gfa:"free_drag",jAa:"free_drag_and_rotation",iP:"sync_with_field_of_view"}}); define("ii",["fg","hG","jn"],function(a,b,c){function e(){this.Z=n;this.fa=this.da=0.5;this.Mb=0;this.ta=1;this.Fd=c.Te;this.gj=b.dt;this.TT=this.XT=1;this.Rc=this.Sc=this.Qi=this.Ri=100;this.sj=e.At}e.prototype.Jca=function(){return this.sj!==e.At};e.prototype.Ica=function(){return this.sj&e.Ww?n:y};e.prototype.Kca=function(){return this.sj&e.Xw?n:y};e.prototype.Lca=function(){return this.sj&e.Et?n:y};e.prototype.Hca=function(){return this.sj&e.zt?n:y};e.prototype.getX=function(){this.zj();return this.da}; e.prototype.getY=function(){this.zj();return this.fa};e.prototype.lm=function(){this.zj();return this.ta};e.prototype.qz=function(){this.zj();return this.Mb};e.prototype.HF=function(a,b,c,e,j){this.Sc=a;this.Rc=b;this.Fd=c;this.XT=e;this.TT=j;this.fa=this.da=0.5;this.Mb=0;this.ta=e;this.Z=n};e.prototype.Ka=function(a,b,c,e){this.da=a;this.fa=b;this.Mb=c;this.ta=e;this.Z=n};e.prototype.tm=function(a){this.gj=a;this.Z=n};e.prototype.setSize=function(a,b){this.Ri=a;this.Qi=b;this.Z=n};e.prototype.zj= function(){if(this.Z){this.Z=y;var a=e.At;this.ta>this.TT?(this.ta=this.TT,a|=e.Mga):this.tathis.Rc*this.Ri?(f=this.Sc*this.Qi/this.Rc,j=this.Qi):(f=this.Ri,j=this.Rc*this.Ri/this.Sc);break;default:case c.Te:this.Sc*this.Qi>this.Rc*this.Ri?(f=this.Ri, j=this.Rc*this.Ri/this.Sc):(f=this.Sc*this.Qi/this.Rc,j=this.Qi)}f*=this.ta;j*=this.ta;d=Math.min(0.5*this.Ri/f,0.5);f=Math.max(1-0.5*this.Ri/f,0.5);h=Math.min(0.5*this.Qi/j,0.5);j=Math.max(1-0.5*this.Qi/j,0.5)}else d=0,f=1,h=0,j=1;this.daf&&(this.da=f,a|=e.Xw);this.faj&&(this.fa=j,a|=e.zt);if((this.gj==b.dt||this.gj==b.Gfa)&&0!=this.Mb)this.Mb=0,a|=e.Rga;this.sj=a}};e.At=0;e.Ww=1;e.Xw=2;e.Et=4;e.zt=8;e.Nga=16;e.Mga=32;e.Rga=64;return e}); define("eS",[],function(){function a(){this.oB=0.1;this.OH=this.dR=this.gR=this.fR=this.mR=this.cR=this.kR=this.jR=this.LE=this.TX=this.Gt=this.MP=this.JE=this.QX=this.HE=this.OX=0}a.prototype.tN=P("oB");a.prototype.Jea=function(a,c,e,g,d,f,h,j){this.OX=a;this.QX=c;this.MP=e;this.TX=g;this.HE+=d;this.JE+=f;this.Gt+=h;this.LE+=j};a.prototype.ld=function(){return 0!=this.jR||0!=this.kR||0!=this.cR||0!=this.mR||0!=this.OX||0!=this.QX||0!=this.MP||0!=this.TX||0!=this.HE||0!=this.JE||0!=this.Gt||0!=this.LE}; a.prototype.fb=function(a){a=1E3/a;this.fR=this.YH(this.jR/a,this.OX/a+this.HE,this.oB);this.gR=this.YH(this.kR/a,this.QX/a+this.JE,this.oB);this.dR=this.YH(this.cR/a,this.MP/a+this.Gt,this.oB);this.OH=this.YH(this.mR/a,this.TX/a+this.LE,this.oB);this.jR=this.fR*a;this.kR=this.gR*a;this.cR=this.dR*a;this.mR=this.OH*a;this.LE=this.Gt=this.JE=this.HE=0};a.prototype.YH=function(a,c,e){return 0==c?this.Ee(a,c,e):c};a.prototype.Ee=function(a,c,e){a=(c-a)*(1-e);0.01>Math.abs(a)&&(a=0);return c-a};return a}); define("eX",["fg","ll","bZ","eO","jn"],function(a,b,c,e){var g=a.extend(e,function(){e.call(this);this.Ex=7;this.sJ=this.rT=y;this.uJ=m;this.Mb=0;this.ta=1;this.Rc=this.Sc=100;this.WI=1;this.UU=n;this.VU=y;this.Yta=n;this.SX=y;this.ua=r});g.prototype.IF=P("Ex");g.prototype.Cc=function(a,b,c,e){this.Mb=a;this.ta=b;this.Sc=c;this.Rc=e};g.prototype.dza=function(a){this.UU=a;this.WK(this.UU&&!!this.ua)};g.prototype.pw=function(a){this.ua!=a&&(this.WK(y),this.aW(y),this.wi(),this.ua=a,this.WK(this.UU&& !!this.ua),this.aW(this.Yta&&!!this.ua))};g.prototype.wi=function(){this.WK(y);this.aW(y);this.ua=r};g.prototype.WK=function(a){this.VU!=a&&((this.VU=a)?this.$ha():this.Nsa())};g.prototype.aW=function(a){this.SX!=a&&((this.SX=a)?this.aia():this.Osa())};g.prototype.$ha=function(){this.ua.bind(b.Hb,this.pc,this,n);this.ua.bind(b.Mc,this.Ng,this,n);this.ua.bind(b.fc,this.Og,this,n)};g.prototype.Nsa=function(){this.ua.unbind(b.Hb,this.pc,this);this.ua.unbind(b.Mc,this.Ng,this);this.ua.unbind(b.fc,this.Og, this)};g.prototype.aia=function(){this.ua.bind(b.rq,this.Eu,this,n);this.ua.bind(b.Kw,this.ku,this,n)};g.prototype.Osa=function(){this.ua.unbind(b.rq,this.Eu,this);this.ua.unbind(b.Kw,this.ku,this)};g.prototype.pc=function(a){this.Nra(a)};g.prototype.Ng=function(a){this.Jaa(a)};g.prototype.Og=function(){this.QR()};g.prototype.Eu=function(a){this.tX(a)};g.prototype.ku=function(a){this.uX(a)};g.prototype.Nra=function(a){this.rT=n;this.sJ=y;this.uJ=a;this.Jaa(a)};g.prototype.Jaa=function(a){if(this.rT){var b= a.pageX-this.uJ.pageX,e=a.pageY-this.uJ.pageY;this.sJ||(Math.sqrt(b*b+e*e)>this.Ex?this.sJ=n:b=e=0);this.sJ&&(this.uJ=a);a=this.Mb*Math.PI/180;this.trigger(new c(g.Vk,{xDelta:-((b*Math.cos(a)+e*Math.sin(a))/this.Sc),yDelta:-((e*Math.cos(a)-b*Math.sin(a))/this.Rc)}))}};g.prototype.QR=function(){this.rT=y};g.prototype.uX=function(a){if(this.WI!=a.scale){this.QR();var b=this.WI;this.WI=a.scale;this.trigger(new c(g.Yk,{zoomDelta:this.ta*this.WI/b-this.ta}))}};g.prototype.tX=function(a){0!=a.Jp&&(this.QR(), this.trigger(new c(g.Yk,{zoomDelta:0.1*this.ta*a.lY})))};g.Vk="position change";g.Yk="zoom change";g.vAa="vieport navigation";g.uAa="relative navigation";g.tAa="relative exponential navigation";g.sAa="dragging";return g});define("hr",[],function(){return{cP:"rotateClockwise",dP:"rotateCounterClockwise",eo:"zoomIn",fo:"zoomOut",pe:"stop"}}); define("kv","fg,bZ,eO,jn,eS,eX,hr,ll".split(","),function(a,b,c,e,g,d,f){var h=a.extend(c,function(a,b){c.call(this);this.g=a;this.I=b;this.Nm=this.uK=this.W=y;this.fa=this.da=0.5;this.Mb=0;this.ta=1;this.Rc=this.Sc=100;this.Fd=e.dt;this.bb=new g;this.wa=new d;if(this.g.ik){this.wa.IF(h.BP);this.bb.tN(h.CP)}else{this.wa.IF(0);this.bb.tN(1)}this.wa.bind(d.Vk,this.ioa,this,n);this.wa.bind(d.Yk,this.Ir,this,n)});h.prototype.clear=function(){this.wa.unbind(d.Vk,this.GBa,this,n);this.wa.unbind(d.Yk,this.Ir, this,n);this.wa.wi();this.g=this.I=this.bb=this.wa=r};h.prototype.fh=function(a){switch(a){case f.cP:this.Cb(0,0,+h.wP,0,0,0,0,0);break;case f.dP:this.Cb(0,0,-h.wP,0,0,0,0,0);break;case f.eo:this.Cb(0,0,0,+h.wA,0,0,0,0);break;case f.fo:this.Cb(0,0,0,-h.wA,0,0,0,0);break;case f.pe:this.Cb(0,0,0,0,0,0,0,0)}};h.prototype.Ka=function(a,b,c,d,e,f){this.da=a;this.fa=b;this.Mb=c;this.ta=d;this.Sc=e;this.Rc=f;this.wa.Cc(this.Mb,this.ta,this.Sc,this.Rc)};h.prototype.ld=function(){return this.W&&this.bb.ld()}; h.prototype.fb=function(a){this.bb.fb(a);this.I.Ka(this.da+this.bb.fR,this.fa+this.bb.gR,this.Mb+this.bb.dR,this.ta+this.bb.OH);this.da=this.I.getX();this.fa=this.I.getY();this.Mb=this.I.qz();this.ta=this.I.lm()};h.prototype.MF=function(a){this.Nm=a;this.wa.dza(!this.Nm)};h.prototype.nd=function(a){(this.W=a)?this.wa.pw(this.g.getParent()):this.wa.wi()};h.prototype.ioa=function(a){this.Cb(0,0,0,0,a.data.xDelta,a.data.yDelta,0,0)};h.prototype.Ir=function(a){this.Cb(0,0,0,0,0,0,0,a.data.zoomDelta)}; h.prototype.Cb=function(a,b,c,d,e,f,g,h){this.bb.Jea(a,b,c,d,e,f,g,h);this.Bf()};h.prototype.Bf=function(){this.trigger(new b(h.nf))};h.nf="position change request";h.BP=7;h.CP=0.2;h.wA=0.5;h.wP=30;return h}); define("jR","fg,bZ,eO,kX,bq,eS,eX,hr,ll".split(","),function(a,b,c,e,g,d,f,h){var j=a.extend(c,function(a,b){c.call(this);this.g=a;this.I=b;this.W=y;this.fa=this.da=0.5;this.Mb=0;this.ta=1;this.Rc=this.Sc=100;this.O=r;this.NR=n;this.Kb=r;this.$J=0;this.jn=this.zp=this.yp=m;this.bb=new d;this.wa=new f;if(this.g.ik){this.wa.IF(j.BP);this.bb.tN(j.CP)}else{this.wa.IF(0);this.bb.tN(1)}this.wa.bind(f.Yk,this.Ir,this,n)});j.prototype.Nya=function(a,b){this.Sc=a;this.Rc=b;this.LL()};j.prototype.dq=function(a){if(this.Kb!= a){this.Kb=a;this.$J=m;this.LL()}};j.prototype.Kj=function(a,b){if(this.Kb==a){this.$J=b;this.LL()}};j.prototype.LL=function(){var a,b,c;if(this.Kb&&this.$J!=m){a=this.Kb.get("x",0)/this.Sc;b=this.Kb.get("y",0)/this.Rc;c=-(this.$J+this.Kb.get("angle",0))}else c=b=a=m;if(this.jn!=c){this.jn=c;this.Bf()}if(this.yp!=a||this.zp!=b){this.yp=a;this.zp=b;this.Tma();this.Bf()}};j.prototype.Tma=function(){this.NR=n;this.Bf()};j.prototype.mE=function(){if(this.NR||this.O&&this.O.Re()){this.NR=y;this.O=r;if(this.yp!= m&&this.zp!=m&&this.jn!=m){for(var a=this.jn-this.Mb;a>180;)a=a-360;for(;a<-180;)a=a+360;if(this.da!=this.yp||this.fa!=this.zp)this.O=new e("quad_in_out",[new g("x",this.da,this.yp,1),new g("y",this.fa,this.zp,1),new g("angleDif",a,a,360)],500);else if(this.jn!=this.Mb)this.O=new e("quad_in_out",[new g("x",this.da,this.da,1),new g("y",this.fa,this.fa,1),new g("angleDif",a,0,360)],500)}}};j.prototype.clear=function(){this.wa.unbind(f.Yk,this.Ir,this,n);this.wa.wi();this.g=this.I=this.O=this.bb=this.wa= r};j.prototype.fh=function(a){switch(a){case h.eo:this.Cb(+j.wA,0);break;case h.fo:this.Cb(-j.wA,0);break;case h.pe:this.Cb(0,0)}};j.prototype.Ka=function(a,b,c,d,e,f){this.da=a;this.fa=b;this.Mb=c;this.ta=d;this.wa.Cc(this.Mb,this.ta,e,f)};j.prototype.ld=function(){return this.W&&(this.O||this.bb.ld()||this.yp!=m&&this.da!=this.yp||this.zp!=m&&this.fa!=this.zp||this.jn!=m&&this.Mb!=this.jn)?n:y};j.prototype.fb=function(a){this.mE();if(this.O){this.O.fb(a);this.da=this.O.Fb("x");this.fa=this.O.Fb("y"); this.Mb=this.jn-this.O.Fb("angleDif")}else{if(this.yp!=m)this.da=this.yp;if(this.zp!=m)this.fa=this.zp;if(this.jn!=m)this.Mb=this.jn}this.bb.fb(a);this.I.Ka(this.da,this.fa,this.Mb,this.ta+this.bb.OH);this.da=this.I.getX();this.fa=this.I.getY();this.Mb=this.I.qz();this.ta=this.I.lm()};j.prototype.nd=function(a){if(this.W=a){this.wa.pw(this.g.getParent());this.LL()}else this.wa.wi()};j.prototype.Ir=function(a){this.Cb(0,a.data.zoomDelta)};j.prototype.Cb=function(a,b){this.bb.Jea(0,0,0,a,0,0,0,b);this.Bf()}; j.prototype.Bf=function(){this.trigger(new b(j.nf))};j.nf="position change request";j.BP=7;j.CP=0.2;j.wA=0.5;j.wP=30;return j}); define("kK","fg,bZ,eO,hG,jn,ii,kv,jR,ll".split(","),function(a,b,c,e,g,d,f,h,j){var p=a.extend(c,function(a){c.call(this);this.g=a;this.g.bind(j.zb,this.lb,this);this.gj=e.dt;this.Kb=r;this.fa=this.da=0.5;this.Mb=0;this.ta=1;this.na=r;this.KK=this.JK=this.vn=this.un=y;this.wj=n;this.W=y;this.I=new d;this.I.tm(this.gj);this.Ua=new f(this.g,this.I);this.Ua.bind(f.nf,this.El,this,n);this.ag=new h(this.g,this.I);this.ag.bind(h.nf,this.El,this,n);this.wK()});p.prototype.clear=function(){this.Ua.unbind(f.nf, this.El,this);this.Ua.clear();this.Ua=r;this.ag.unbind(h.nf,this.El,this);this.ag.clear();this.na=this.I=this.ag=r;this.g.unbind(j.zb,this.lb,this);this.g=r};p.prototype.stop=function(){this.Bc=this.na=r;this.W=y;this.Ua.nd(y);this.ag.nd(y);this.qp(0,0,0,0)};p.prototype.start=function(a){var b=a.na,c=b.get("width",100),d=b.get("height",100),e=b.get("scaleMode",g.Te),f=b.get("minimumZoomFactor",1),h=b.get("maximumZoomFactor",1),j=b.get("initialZoomFactor",1);this.na=b;this.W=n;this.Bc=a.getItem(); this.qp(0,0,0,0);this.ag.Nya(c,d);this.I.HF(c,d,e,f,h);this.I.Ka(0.5,0.5,0,j);this.g.NF(this.Bc,this.I.getX(),this.I.getY(),this.I.qz(),this.I.lm());this.wK()};p.prototype.fh=function(a){this.Ua.fh(a);this.ag.fh(a)};p.prototype.tm=function(a){if(this.gj!=a){this.gj=a;this.I.tm(a);this.wK()}};p.prototype.dq=function(a){if(this.Kb!=a){this.Kb=a;this.ag.dq(a);this.wK()}};p.prototype.MF=function(a){this.Ua&&this.Ua.MF(a)};p.prototype.Kj=function(a,b,c,d){this.ag.Kj(a,b,c,d)};p.prototype.Xp=function(a){if(this.W)if(this.ag.ld()){this.ag.fb(a); this.qi(this.ag.da,this.ag.fa,this.ag.Mb,this.ag.ta);this.ea()}else if(this.Ua.ld()){this.Ua.fb(a);this.qi(this.Ua.da,this.Ua.fa,this.Ua.Mb,this.Ua.ta);this.ea()}else this.qp(0,0,0,0)};p.prototype.dc=function(){if(this.Bc){var a=this.g.hF(this.Bc),b=this.g.iF(this.Bc),c=this.g.DM(this.Bc),d=this.g.fca(this.Bc),e=this.g.gF(this.Bc),f=this.g.fF(this.Bc),g=a-this.da,h=b-this.fa,j=c-this.Mb,p=d-this.ta;this.da=a;this.fa=b;this.Mb=c;this.ta=d;this.qp(g,h,j,p);this.ag.Ka(a,b,c,d,e,f);this.Ua.Ka(a,b,c,d, e,f)}};p.prototype.wK=function(){if(this.gj==e.iP&&this.Kb!=r&&this.Kb.get("map")==this.na){this.Ua.nd(y);this.ag.nd(n)}else{this.Ua.nd(n);this.ag.nd(y)}};p.prototype.El=function(){this.ea()};p.prototype.lb=function(){this.I.setSize(this.g.Aa(),this.g.eb());this.ea()};p.prototype.ea=function(){this.trigger(new b(p.La))};p.prototype.qi=function(a,b,c,d){this.g.NF(this.Bc,a,b,c,d)};p.prototype.qp=function(a,c,d,e){a=y;if(this.vn!=e<0){this.vn=!this.vn;a=n}if(this.un!=e>0){this.un=!this.un;a=n}if(this.JK!= this.Gt>0){this.JK=!this.JK;a=n}if(this.KK!=this.Gt<0){this.KK=!this.KK;a=n}if(this.wj!=(e==0)){this.wj=!this.wj;a=n}a&&this.trigger(new b(p.ih,{rotatingClockwise:this.JK,rotatingCounterClockwise:this.KK,zoomingIn:this.un,zoomingOut:this.vn,stopped:this.wj}))};p.La="request frame";p.ih="movement change";return p}); define("ja","require,fg,bZ,eO,jn,ii".split(","),function(a){var b=a("fg"),c=a("bZ"),e=a("eO"),g=a("jn"),d=a("ii"),f=b.extend(e,function(a,b){e.call(this);this.C=a;this.g=b;this.I=new d;this.$e=[];this.T=f.pf;this.ck=this.ph=this.ck=this.Uh=r;this.Me=this.C.get("transitionDuration");this.ve=m});f.prototype.tm=function(a){this.I.tm(a)};f.prototype.WE=function(a){a.oF()&&this.CQ();this.$e.push(a);this.IJ()};f.prototype.hide=function(){this.CQ();this.$e.push(r);this.IJ()};f.prototype.clear=function(){this.T= f.pf;this.CQ();this.Gpa();this.oV();this.g=r};f.prototype.dc=function(a){if(this.T!=f.pf&&(this.T==f.Wj||this.T==f.zq)){this.ve=this.ve+a;a=Math.min(1,this.ve/this.Me);this.T==f.Wj?this.g.qm(this.ck,a):this.g.qm(this.RH,1-a);this.ve0&&this.xha(this.$e[0],this.ph);)this.$e.shift();this.$e.length>0&&this.il()}};f.prototype.xha=function(a,b){return a==b||!!a&&!!b&&a.isEqual(b)};f.prototype.il= function(){this.ph&&(!this.$e[0]||this.$e[0].oF())&&this.trigger(new c(f.gt,{map:this.ph.na}));if(this.C.get("transitionMode","blending")=="fade_out_fade_in"&&this.ph&&(!this.$e[0]||this.$e[0].oF()))this.Eq();else{this.ck=(this.Uh=this.$e.shift())&&this.Uh.getItem();this.Uh?this.KA():this.ph&&this.Eq()}};f.prototype.KA=function(){this.bha();this.Uh.oF()&&this.rqa();this.ve=0;this.T=f.Wj;this.ea()};f.prototype.uka=function(){this.oV();this.ph=this.Uh;this.RH=this.ck;this.ck=this.Uh=r;this.ar()};f.prototype.Eq= function(){this.ve=0;this.T=f.zq;this.ea()};f.prototype.wka=function(){this.oV();this.ph=r;this.ar()};f.prototype.ar=function(){this.T=f.pf;this.ph&&this.ph.oF()&&this.trigger(new c(f.ht,{map:this.ph.na}));this.$e.length==0?this.ph?this.trigger(new c(f.tO,{level:this.ph})):this.trigger(new c(f.gO)):this.il()};f.prototype.rqa=function(){var a=this.Uh.na;this.Uh.ah();this.I.HF(a.get("width",100),a.get("height",100),a.get("scaleMode",g.Te),a.get("minimumZoomFactor",1),a.get("maximumZoomFactor",1));this.I.Ka(0.5, 0.5,0,a.get("initialZoomFactor",1));this.g.NF(this.ck,this.I.getX(),this.I.getY(),this.I.qz(),this.I.lm())};f.prototype.ea=function(){this.trigger(new c(f.La))};f.prototype.CQ=function(){for(;this.$e.length>0;){var a=this.$e.shift();a&&this.g.Fi(a.getItem())}};f.prototype.bha=function(){if(this.Uh){this.g.VX(this.ck);this.g.aY(this.ck);this.g.qm(this.ck,0);this.trigger(new c(f.sO,{level:this.Uh}))}};f.prototype.oV=function(){if(this.ph){this.g.removeItem(this.RH);this.trigger(new c(f.oG,{level:this.ph})); this.g.Fi(this.RH);this.RH=this.ph=r}};f.prototype.Gpa=function(){if(this.Uh){this.g.removeItem(this.ck);this.trigger(new c(f.oG,{level:this.Uh}));this.g.Fi(this.ck);this.ck=this.Uh=r}};f.pf="stopped";f.Wj="blending";f.zq="disolving";f.La="request frame";f.sO="level added";f.oG="level removed";f.tO="level fully displayed";f.gO="all pending maps hidden";f.ht="map show";f.gt="map hide";return f}); define("iy",[],function(){function a(a,c){this.na=a;this.ha=a.get("image");this.Zd=c;this.pT=m}a.prototype.getItem=function(){switch(this.Zd){case a.IG:return this.na.oca();default:return this.na.bh()}};a.prototype.ah=function(){switch(this.Zd){case a.IG:return this.na.Wv();default:return this.na.jm()}};a.prototype.oF=function(){return this.pT===m?0==this.getIndex():this.pT};a.prototype.yya=P("pT");a.prototype.qF=function(){return this.Zd==a.i0};a.prototype.isEqual=function(a){return a&&this.na== a.map&&this.Zd==a.type};a.prototype.getIndex=function(){return this.Zd==a.IG||this.na.Az()?0:1};a.prototype.Xba=function(){return this.na.Az()?2:1};a.IG="preload";a.i0="load";return a}); define("hE","require,fg,ih,ll,bZ,eO,iy,r".split(","),function(a){var b=a("fg"),c=a("ih"),e=a("ll"),g=a("bZ"),d=a("eO"),f=a("iy"),h=a("r"),j=b.extend(d,function(a){d.call(this);this.g=a;this.$e=[];this.jB=this.yu=this.De=r;this.su=y;this.YI=r;this.GJ=b.nm(this.GJ,this)});j.prototype.clear=function(){this.stop();this.g=r};j.prototype.uda=function(a,b){if(this.YI!=a||b){this.stop();this.na=a;this.na.Uxa();c.mba(this.na,"image.levels.url",this.GJ);var d=[];a.Az()&&h.Za()&&d.push(new f(a,f.IG));d.push(new f(a, f.i0));d=d.filter(function(a){return a.getItem().Dj()});if(d.length){this.$e=this.$e.concat(d);this.IJ()}}};j.prototype.GJ=function(){this.reload()};j.prototype.reload=function(){this.uda(this.na,n)};j.prototype.stop=function(){c.Pb(this.na,"image.levels.url",this.GJ);this.YI=this.na=r;this.$e=[];this.K$();if(this.su){this.su=y;this.RW();this.g.Fi(this.De.getItem());this.De=r;this.trigger(new g(j.pG))}};j.prototype.IJ=function(){this.su||this.MT()};j.prototype.MT=function(){if(this.$e.length>0){this.De= this.$e.shift();if(!this.su){this.su=n;this.trigger(new g(j.nG,{level:this.De,percent:0}))}this.Vha();this.g.Mn(this.De.getItem());this.g.FN(this.De.getItem())&&this.kU()}else if(this.su){this.su=y;this.trigger(new g(j.pG))}};j.prototype.kU=function(){this.RW();this.Gra();this.De=r;this.MT()};j.prototype.Gra=function(){this.K$();this.yu=this.De;var a=this;this.jB=setTimeout(function(){a.jB=r;a.Sna()},500)};j.prototype.Sna=function(){var a=this.yu.na;this.yu.yya(a!=this.YI);this.YI=a;this.trigger(new g(j.uO, {level:this.yu}));this.yu=r};j.prototype.K$=function(){if(this.jB!=r){clearTimeout(this.jB);this.jB=r;this.g.Fi(this.yu.getItem());this.yu=r}};j.prototype.Y6=function(){this.RW();this.De=r;this.MT()};j.prototype.Z6=function(a){this.trigger(new g(j.nG,{level:this.De,percent:a.Kh}))};j.prototype.Vha=function(){var a=this.De.getItem();a.bind(e.S,this.kU,this);a.bind(e.oe,this.Y6,this);a.bind(e.wc,this.Z6,this)};j.prototype.RW=function(){var a=this.De.getItem();a.unbind(e.S,this.kU,this);a.unbind(e.oe, this.Y6,this);a.unbind(e.wc,this.Z6,this)};j.nG="level loading progress";j.uO="level loaded";j.pG="load stopped";return j});define("ch",["require"],function(){function a(a,c){this.x=a;this.y=c}a.prototype.rotate=function(a){var c=Math.cos(a),a=Math.sin(a),e=this.x*a+this.y*c;this.x=this.x*c-this.y*a;this.y=e;return this};a.prototype.translate=function(a,c){this.x+=a;this.y+=c;return this};a.prototype.scale=function(a,c){this.x*=a;this.y*=c;return this};return a}); define("jJ",["require","jn","jY"],function(a){function b(a,b,f){this.ue=a;this.z$=b;this.y$=f;this.Fd=c.Zn;this.Zh=e.Lc;this.ti=e.vc}var c=a("jn"),e=a("jY");b.prototype.Xs=P("Fd");b.prototype.Tz=P("Zh");b.prototype.Xz=P("ti");b.prototype.oz=function(a,b,f){var h=this.z$,j=this.y$,p,k;switch(this.Fd){case c.NONE:k=p=1;break;case c.Te:p=k=Math.min(b/h,f/j);break;case c.xm:p=k=Math.max(b/h,f/j);break;case c.Zk:p=k=b/h;break;case c.kh:p=k=f/j;break;default:p=b/h,k=f/j}var l=b/p;p=Math.min(this.z$*p,b); l=Math.min(l,h);switch(this.Zh){case e.ra:h=b=0;break;case e.Na:b-=p;h-=l;break;default:b=0.5*(b-p),h=0.5*(h-l)}var q=f/k;k=Math.min(this.y$*k,f);q=Math.min(q,j);switch(this.ti){case e.ob:j=f=0;break;case e.nb:f-=k;j-=q;break;default:f=0.5*(f-k),j=0.5*(j-q)}a.drawImage(this.ue,Math.round(h),Math.round(j),Math.round(l+h-Math.round(h)),Math.round(q+j-Math.round(j)),Math.round(b),Math.round(f),Math.round(p+b-Math.round(b)),Math.round(k+f-Math.round(f)))};return b}); define("ju","require,ll,ge,ch,id,jJ".split(","),function(a){function b(a,b,f,g){this.g=a;this.na=b;this.Sc=this.na.get("width");this.Rc=this.na.get("height");this.Bc=this.na.bh();this.z5=f;this.gk=g;this.ou=r;if(this.gk){this.Hy=this.z5.Hy;this.X=this.gk.get("width");this.ia=this.gk.get("height");this.da=this.gk.get("x",0);this.fa=this.gk.get("y",0);this.Fu=this.gk.get("offsetX",0);this.Gu=this.gk.get("offsetY",0);if(this.ab=this.gk.jm()){this.xf=new d(e.Uj);this.xf.load(this.ab.get("url"));this.xf.bind(c.S, this.A7,this)}}else this.xf=r}var c=a("ll"),e=a("ge"),g=a("ch"),d=a("id"),f=a("jJ");b.prototype.clear=function(){this.gk=this.z5=this.Bc=this.na=this.g=r;if(this.xf){this.xf.unbind(c.S,this.A7,this);this.xf.cancel();this.xf=r}this.ou=r};b.prototype.hca=function(a,b){this.A5=m;if(this.ou&&a!=m&&b!=m){var c=this.g.Aa()*0.5,d=this.g.eb()*0.5,e=this.g.DM(this.Bc)*Math.PI/180,f=this.g.gF(this.Bc),o=this.g.fF(this.Bc),t=this.g.hF(this.Bc),s=this.g.iF(this.Bc),v=new g(a,b);v.translate(-c,-d);v.rotate(-e); v.scale(1/f,1/o);v.translate(t,s);v.scale(this.Sc,this.Rc);v.translate(-this.da,-this.fa);if(!this.Hy){v.rotate(e);v.scale(f/this.Sc,o/this.Rc)}v.translate(this.Fu,this.Gu);c=Math.round(v.x);v=Math.round(v.y);if(c>=0&&c=0&&v0?"#"+this.oQ(c[v+0])+this.oQ(c[v+1])+this.oQ(c[v+2]):"transparent"}}return this.A5};b.prototype.A7=function(){var a=new f(this.xf.we(),this.ab.get("width"),this.ab.get("height"));a.Xs(this.gk.get("scaleMode")); a.Tz(this.gk.get("horizontalAlign"));a.Xz(this.gk.get("verticalAlign"));var b=document.createElement("canvas");b.width=Math.round(this.X);b.height=Math.round(this.ia);var c=b.getContext("2d");a.oz(c,b.width,b.height);this.ou=c.getImageData(0,0,b.width,b.height);b.width=b.height=0};b.prototype.oQ=function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a};return b}); define("iu","require,do,fg,ll,bZ,eO,kA,ju,R,kX,bq".split(","),function(a){var b=a("do"),c=a("fg"),e=a("ll"),g=a("bZ"),d=a("eO"),f=a("kA"),h=a("ju"),j=a("R"),p=a("kX"),k=a("bq"),l=c.extend(d,function(a,b,c){d.call(this);this.g=a;this.na=b;this.Ha=c;this.Y=this.Ha.getItem();this.Sl=this.Ha.pca();this.Tl=this.Ha.rca();this.Mo=this.hk=m;this.C=this.g.getParent();this.C.bind(e.Mc,this.ij,this);this.C.bind(e.Qb,this.yC,this);this.C.bind(e.Hb,this.Hr,this);this.C.bind(e.fc,this.AC,this);c.bind(e.D("selected"), this.b8,this);c.bind(e.D("enabled"),this.Una,this);this.fJ=new h(this.g,this.na,this.Ha,this.Ha.get("map",r));this.hJ=new h(this.g,this.na,this.Ha,this.Ha.get("rollOverMap",this.Ha.get("map",r)));this.iJ=new h(this.g,this.na,this.Ha,this.Ha.get("selectedMap",this.Ha.get("rollOverMap",this.Ha.get("map",r))));this.BI=new h(this.g,this.na,this.Ha,this.Ha.get("image",r));this.CI=new h(this.g,this.na,this.Ha,this.Ha.get("rollOverImage",this.Ha.get("image",r)));this.DI=new h(this.g,this.na,this.Ha,this.Ha.get("selectedImage", this.Ha.get("rollOverImage",this.Ha.get("image",r))));this.Hc=this.Gc=m;this.Xy=r;this.ko=[];this.FA=[];this.qf={};this.n6=[];this.GS=y;this.pn=this.Ha.get("useHandCursor");this.O=r;this.Ry=m;this.RK=this.HK=this.SI=0;a=this.Ha.get("areas",[]);for(b=0;b0);this.MW(b.difference(a,c),"rollOut");this.sE()}}};l.prototype.sE=function(){for(var a="",b=0;b=0&&this.cC.splice(b,1);if(!this.qT(a)){this.k9(a); this.qV(a)}};j.prototype.qT=function(a){return b(this.cC).indexOf(a)>=0};j.prototype.dc=function(a){for(var b=0;b");this.u=this.K.get(0);this.ja=this.u.getContext("2d")}var c=a("jquery.mod"),a=a("r");b.prototype.getItem=Q("Y");b.prototype.YE=function(a){return this.Y==a?this:r};b.prototype.sM=function(a){return this.Y==a?[this]:[]};b.prototype.Fk=function(){this.Q&&this.Q.$X(this)};b.prototype.yd= function(a){this.$qa(a)};b.prototype.Z9=function(a){this.XB!=a&&(this.XB=a,this.Q&&this.Q.YM())};b.prototype.$qa=function(a){this.Bb!=a&&(this.Bb=a,this.XM())};b.prototype.XK=function(a){this.ie!=a&&(this.ie=a,this.XM())};b.prototype.ED=function(a,b){if(this.X!=a||this.ia!=b)this.X=a,this.ia=b,this.UM()};b.prototype.qi=function(a,b){if(this.So!=a||this.Ap!=b)this.So=a,this.Ap=b,this.XM()};b.prototype.XM=function(){this.Q&&this.Q.VM()};b.prototype.Dc=function(){this.lT=n};b.prototype.ka=function(){this.lT&& (this.lT=y,this.Oe())};b.prototype.Oe=D();b.prototype.UM=function(){this.iT=n;this.XM()};b.prototype.IN=function(){if(this.iT){this.iT=y;if(this.u.width!=this.X||this.u.height!=this.ia)this.u.width=Math.round(this.X),this.u.height=Math.round(this.ia);this.ja.clearRect(0,0,this.u.width,this.u.height);this.vg()}};b.prototype.vg=D();b.prototype.Sua=function(a){if(0this.Ya*this.cc?this.hc/this.Ya:this.cc/this.Oa;break;default:this.sd=this.Oa*this.hc>this.Ya*this.cc?this.cc/this.Oa:this.hc/this.Ya}this.gD=n}if(this.gD){this.gD=y;var a=this.Aa(),b=this.eb(),d=Math.cos(this.Mb*Math.PI/180),e=Math.sin(this.Mb* Math.PI/180);this.qi(this.cc*0.5-this.$m*a+(this.$m-this.da)*d*a-(this.an-this.fa)*e*b,this.hc*0.5-this.an*b+(this.an-this.fa)*d*b+(this.$m-this.da)*e*a);this.XK(this.Mb);this.ED(a,b);for(a=0;a=0&&this.Yq.splice(a,1);this.Caa()};a.prototype.Caa=function(){var a;a=this.Yq.length>0?this.Yq[this.Yq.length-1]:p.dd;this.getParent().set("cursor",a)};a.prototype.BH=function(){if(this.Yq.length>0){this.getParent().set("cursor",p.dd);this.Yq=[]}};a.prototype.Cxa=function(a){this.rv.push(a);this.sE()};a.prototype.vxa=function(a){a= b(this.rv).lastIndexOf(a);a>=0&&this.rv.splice(a,1);this.sE()};a.prototype.sE=function(){var a=this.rv.length==0?"":this.rv[this.rv.length-1]||"";if(this.ya!=a){this.ya=a;this.getParent().set("toolTip",this.ya)}};a.prototype.Wia=function(){this.ya&&this.getParent().set("toolTip","");this.ya="";this.rv=[]};a.prototype.qj=function(){this.Wia();this.BH();k.prototype.qj.call(this)};a.prototype.lb=function(){this.Haa();this.hX()};a.prototype.Haa=function(){this.yf.Gb().css({transform:f.eh!=1?"scale("+ (1/f.eh).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.yf.setSize(this.Aa()*f.eh,this.eb()*f.eh);this.render()};a.prototype.wh=function(){this.xV=n;this.jX()};a.prototype.th=function(){this.xV=y;this.jX()};a.prototype.jX=function(){var a=this.xV&&!j.isPresenting();if(this.gv!=a)(this.gv=a)&&this.render()};return a}); define("I","do,fg,jd,bZ,dW,jT,cu,dk,jm,hr,ib,ll,dm,fm".split(","),function(a,b,c,e,g,d,f,h,j,p,k,l,q,o){var t=b.extend(f,function(){f.call(this,"map");this.tJ=this.PT=this.Df=y;this.kj=this.Kb=this.o=this.g=r;this.Iq={};for(var a in t.ho)this.Iq[a]=this.pja(a);this.Ac=b.nm(this.Oe,this)});g.A("MapPlayer",t).B("Object").J({map:"Map",viewerArea:"ViewerArea",movementMode:"enum[constrained, free_drag, free_drag_and_rotation, sync_with_field_of_view]",buttonZoomIn:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonZoomOut:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRotateClockwise:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRotateCounterClockwise:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]"}).Xb([l.DG]).Cg({stop:function(){this.Cb(p.pe)},rotateClockwise:function(){this.Cb(p.cP)},rotateCounterClockwise:function(){this.Cb(p.dP)},zoomIn:function(){this.Cb(p.eo)},zoomOut:function(){this.Cb(p.fo)}});t.prototype.set=function(a, b){if(this.get(a)!=b){switch(a){case "map":this.PT=n;this.Ac();break;case "viewerArea":this.Df=n;this.Ac();break;case "panoramaMapLocation":this.IU=n;this.Ac();break;case "movementMode":this.tJ=n;this.Ac()}f.prototype.set.call(this,a,b)}};t.prototype.pja=function(a){var b=t.ho[a],a=new d(this,a,q.Wc);a.bind(l.Hb,function(){this.Cb(b.movement)},this);b.stopOnRelease&&a.bind(l.fc,function(){this.Cb(p.pe)},this);return a};t.prototype.gua=function(a){this.kj=r;this.set("map",a.get("map"));this.set("panoramaMapLocation", a)};t.prototype.Nxa=function(a){if(this.get("panoramaMapLocation")==a){this.set("panoramaMapLocation",r);this.kj=r}};t.prototype.Kj=function(a,b,c,d){this.o&&this.o.Kj(a,b,c,d);this.kj={yaw:b,pitch:c,hfov:d}};t.prototype.Oe=function(){if(this.Df){this.Df=y;this.Ao();this.get("viewerArea")&&this.xo();this.GD(this.get("viewerArea"))}if(this.o){if(this.PT){this.PT=y;var a=this.get("map");if(a){this.sD();this.o.Hea(a)}else this.o.bq();this.IU=this.tJ=n}if(this.IU){this.IU=y;a=this.get("panoramaMapLocation"); this.o.dq(a);a&&this.kj&&this.o.Kj(a,this.kj.yaw,this.kj.pitch,this.kj.hfov)}if(this.tJ){this.tJ=y;this.o.tm(this.get("movementMode"))}}};t.prototype.Sy=function(){this.set("map",r)};t.prototype.xo=function(){var a=this.get("viewerArea");this.g=new k;this.g.M({left:0,top:0,bottom:0,right:0});a.la(this.g);this.o=new j(a,this.g);this.o.bind(j.ih,this.Cl,this);this.o.bind(j.wm,this.Zo,this);this.o.bind(j.ft,this.ly,this);this.o.bind(j.ht,this.Fr,this);this.o.bind(j.gt,this.$o,this);this.o.bind(j.jh, this.JC,this,n)};t.prototype.Ao=function(){if(this.g){this.o.unbind(j.ih,this.Cl,this);this.o.unbind(j.wm,this.Zo,this);this.o.unbind(j.ft,this.ly,this);this.o.unbind(j.ht,this.Fr,this);this.o.unbind(j.gt,this.$o,this);this.o.unbind(j.jh,this.JC,this);this.o.clear();this.g.getParent().removeChild(this.g);this.g=r}};t.prototype.Fr=function(a){this.hC(a.data.map)};t.prototype.$o=function(a){this.gC(a.data.map)};t.prototype.Cl=function(a){for(var b in t.ho)this.Iq[b].set("state",a.data[t.ho[b].pressedOn]? o.Ca:o.dd);this.trigger(new e(l.DG,a.data))};t.prototype.JC=function(a){this.trigger(new e(t.jh,{yawDelta:a.data.yawDelta}))};t.prototype.Zo=function(a){this.g.getParent().M({progressPercent:a.data.percent,progressVisible:n})};t.prototype.ly=function(){this.g.getParent().set("progressVisible",y)};t.prototype.Cb=function(a){this.o&&this.o.fh(a)};t.ho={buttonRotateClockwise:{movement:p.cP,pressedOn:"rotatingClockwise",stopOnRelease:n},buttonRotateCounterClockwise:{movement:p.dP,pressedOn:"rotatingCounterClockwise", stopOnRelease:n},buttonZoomIn:{movement:p.eo,pressedOn:"zoomingIn",stopOnRelease:n},buttonZoomOut:{movement:p.fo,pressedOn:"zoomingOut",stopOnRelease:n}};t.jh="requestYawChange";return t}); define("dl",["fg","jd","ll","bZ","dW"],function(a,b,c,e,g){a=a.extend(b,function(){b.call(this);this.pg=y});g.A("PlayListItem",a).B("Object").J({media:"Media",label:"string"}).Xb([c.lh,c.Sk,c.pe,c.Ba]);a.prototype.start=function(){this.trigger(new e(c.lh))};a.prototype.stop=function(){this.$F()};a.prototype.$F=function(){this.trigger(new e(c.pe))};a.prototype.Jv=function(){this.pg=n;this.trigger(new e(c.Sk))};a.prototype.end=function(){this.pg=y;this.trigger(new e(c.Ba))};return a}); define("lG",["fg","dW","cu","dl"],function(a,b,c,e){a=a.extend(e,function(){e.call(this)});b.A("MapPlayListItem",a).B("PlayListItem").J({media:"Map",player:"MapPlayer"});a.prototype.start=function(){e.prototype.start.call(this);var a=this.get("player");a&&(a.bind(c.ne,this.Fr,this),a.set("map",this.get("media")))};a.prototype.stop=function(){var a=this.get("player");a&&a.get("map")==this.get("media")&&a.set("map",r);e.prototype.stop.call(this)};a.prototype.Fr=function(){this.get("player").unbind(c.ne, this.Fr,this);this.get("player").bind(c.dg,this.$o,this);this.Jv();this.get("player").get("map")!=this.get("media")&&this.$o()};a.prototype.$o=function(){this.get("player").unbind(c.dg,this.$o,this);this.end()};return a});define("bE",["require","fg","dW","du"],function(a){var b=a("fg"),c=a("dW"),e=a("du"),a=b.extend(e,function(){e.call(this)});c.A("Model3D",a).B("Media").J({model:"Model3DResource",autoplay:"bool"});a.prototype.In=function(){return[]};return a}); define("dJ",["require","fg","V","bZ","eO"],function(a){var b=a("fg"),c=a("V"),e=a("bZ"),g=a("eO"),d=b.extend(g,function(a,b){g.call(this);this.C=a;this.g=b;this.Uu=[];this.T=d.pf;this.jg=this.lg=r;this.ve=this.Me=m});d.prototype.display=function(a){this.DQ();if(this.jg!=a||this.T!=d.pf)this.Uu.push(a),this.J7()};d.prototype.hide=function(){this.DQ();this.Uu.push(r);this.J7()};d.prototype.clear=function(){this.T=d.pf;this.DQ();this.Hpa();this.h9();this.g=r};d.prototype.Bi=function(a){if(this.T!=d.pf&& (this.T==d.Wj||this.T==d.zq||this.T==d.Dt))this.ve+=a,a=Math.min(1,this.ve/this.Me),this.T==d.Wj?this.lg.set("opacity",a):this.T==d.Dt?(this.lg.set("opacity",Math.min(1,2*a)),this.jg.set("opacity",Math.min(1,2*(1-a)))):this.jg.set("opacity",1-a),this.ve0)};return a}); define("he","require,fg,ll,bZ,dW,cu,dk,fu,de,iF".split(","),function(a){var b=a("fg"),c=a("ll");a("bZ");var e=a("dW"),g=a("cu"),d=a("dk"),f=a("fu"),h=a("de"),j=a("iF"),a=b.extend(d,function(){d.call(this,"model");this.set("clickAction","none");this.set("displayPlayOverlay",y);this.pl=this.pv=this.Cu=this.Df=y;this.o=this.g=r;this.gb=this.tc=0;this.Ac=b.nm(this.Oe,this)});e.A("Model3DPlayer",a).B("Object").J({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",clickAction:"enum[play_pause, none]",displayPlayOverlay:"bool",displayPlaybackBar:"bool",currentTime:"number",state:"enum[stopped, playing, paused]",model:"Model",viewerArea:"ViewerArea"}).Cg({seek:function(a){this.hs(a)},play:function(){this.Ou()},pause:function(){this.Nu()}, stop:function(){this.Nr()},restart:function(){this.Mr()}}).Xb([g.ne,g.dg,c.gc]);a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "startTime":this.pv=n;this.Ac();break;case "model":this.Cu=n;this.Ac();break;case "viewerArea":this.Df=n;this.Ac();break;case "displayPlaybackBar":this.pl=n;this.Ac()}d.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.o&&this.o.getTime()||0}return d.prototype.get.call(this,a,b)};a.prototype.Oe=function(){if(this.Df){this.Df= y;this.Ao();this.get("viewerArea")&&this.xo();this.GD(this.get("viewerArea"));this.Cu=n}var a=y;if(this.g&&(this.Cu||this.pv)){var b=this.get("model");this.get("startTime");if(b&&!this.g.Ta()){this.Ac();return}this.pv=this.Cu=y;this.gb=this.tc=0;a=n;if(b){this.sD();this.o.Qya(b)}else this.o.bq()}if(this.pl){this.pl=y;a=n}a&&this.ts()};a.prototype.Sy=function(){this.set("model",r)};a.prototype.xo=function(){var a=this.get("application"),b=this.get("viewerArea");this.g=new j(a,b,this);this.g.M({left:0, top:0,bottom:0,right:0});b.la(this.g);b.bind(c.U,this.SC,this,n);this.o=new h(b,this.g);this.o.bind(h.jt,this.ap,this);this.o.bind(h.it,this.Gr,this);this.o.bind(h.kt,this.xC,this,n);this.o.bind(h.wb,this.gd,this);this.ks(n)};a.prototype.Ao=function(){if(this.g){this.o.unbind(h.jt,this.ap,this);this.o.unbind(h.it,this.Gr,this);this.o.unbind(h.kt,this.xC,this);this.o.unbind(h.wb,this.gd,this);this.o.clear();var a=this.g.getParent();a.removeChild(this.g);a.unbind(c.U,this.SC,this,n);this.g=r;this.ks(y)}}; a.prototype.gd=function(a){a=a.data.state;this.g&&this.g.uw(this.get("displayPlayOverlay")&&a!=f.P,this.tc<0.5);this.Zb(a)};a.prototype.ap=function(a){var b=this.get("viewerArea");(this.Rb=b&&b.Rb)&&this.Rb.bind(c.U,this.TC,this,n);this.Wu=y;this.hC(a.data.model)};a.prototype.Gr=function(a){this.Rb&&this.Rb.unbind(c.U,this.TC,this,n);this.Rb=r;this.gC(a.data.model)};a.prototype.xC=function(a){this.tc=a.data.time;this.gb=a.data.duration;this.ts()};a.prototype.SC=function(){if(this.Wu)this.Wu=y;else switch(this.get("clickAction")){case "play_pause":this.get("state")!= f.P?this.o.play():this.o.pause()}};a.prototype.TC=function(){this.Wu=n};a.prototype.dD=function(a){this.hs(a.data.position)};a.prototype.Rg=function(){this.o.play()};a.prototype.vj=function(){this.o.stop()};a.prototype.rk=function(){this.o.pause()};a.prototype.hs=function(a){this.o&&this.o.setTime(a)};a.prototype.ts=function(){if(this.g){var a=this.g.getParent();this.gb>0&&this.get("displayPlaybackBar")?a.M({playbackBarPosition:this.tc,playbackBarDuration:this.gb,playbackBarVisible:n}):a.set("playbackBarVisible", y)}};return a}); define("lA",["require","fg","dW","cu","dl"],function(a){var b=a("fg"),c=a("dW"),e=a("cu"),g=a("dl"),a=b.extend(g,function(){g.call(this)});c.A("Model3DPlayListItem",a).B("PlayListItem").J({media:"Model3D",player:"Model3DPlayer",startTime:"number"});a.prototype.start=function(){g.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.ne,this.ap,this),a.set("model",this.get("media")),a.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.ne, this.ap,this),a.get("model")==this.get("media")&&a.set("model",r));g.prototype.stop.call(this)};a.prototype.ap=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.ne,this.ap,this),this.get("player").bind(e.dg,this.Gr,this),this.Jv())};a.prototype.Gr=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.dg,this.Gr,this),this.end())};return a}); define("hA",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("Model3DResource",b).B("Object").J({url:"string",posterURL:"string"}).hh(["url","posterURL"]);return b}); define("gA",["require","fg","jd","ll","dW"],function(a){var b=a("fg"),c=a("jd"),e=a("ll"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("distance",2)});a.A("Menu",b).B("MenuItem").J({backgroundColor:"color",rollOverBackgroundColor:"color",selectedBackgroundColor:"color",opacity:"number",rollOverOpacity:"number",fontFamily:"string",fontColor:"color",rollOverFontColor:"color",selectedFontColor:"color",distance:"number"}).Xb([e.xc,e.Qb]).Hf([e.U]);return b}); define("m",["require","fg","jd","ll","dW"],function(a){var b=a("fg"),c=a("jd"),e=a("ll"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("MenuItem",b).B("Object").J({label:"string",children:"array[MenuItem]"}).Xb([e.xc,e.Qb]).Hf([e.U]);return b}); define("if",["fg","jd","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("MovementPhotoCamera",a).B("PhotoCamera").J({duration:"number",easing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",initialPosition:"PhotoCameraPosition",targetPosition:"PhotoCameraPosition"});return a}); define("gd",["fg","jd","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("Object",a).J({id:"identifier",data:"*"});return a});define("ce",[],function(){var a={et:"drag_acceleration",Xn:"drag_rotation"};a.n0=a.et;a.f1=a.Xn;return a});define("lx",["fg","bZ"],function(a,b){return a.extend(b,function(a){b.call(this,a);this.Jz=this.bA=this.Wp=this.lq=0})});define("kt",["fg","bZ"],function(a,b){return a.extend(b,function(a){b.call(this,a);this.QY=this.nwa=0})}); define("ee","require,fg,do,ll,bZ,eO,ce,lx,kt".split(","),function(a){function b(a,b){return a*b}function c(a){var b=a>0?1:-1;return b*(Math.pow(10,b*a)-1)/9}function e(a,b){return Math.min(Math.max(a/b,-1),1)}var g=a("fg");a("do");var d=a("ll"),f=a("bZ"),h=a("eO"),j=a("ce"),p=a("lx"),k=a("kt"),l=g.extend(h,function(){h.call(this);this.p6=this.q6=1800;this.Ex=7;this.yna=this.xsa=0;this.NB=y;this.oi=m;this.Du=j.n0;this.faa=j.f1;this.Ex=0;this.LK=m;this.yE=y;this.jx=r;this.nu=3;this.ba=90;this.HR=this.ov= this.sb=1;this.Rb=this.ua=r;this.cD=y});l.prototype.Qs=function(a){this.q6=a.get("manualRotationSpeed");this.p6=a.get("manualRotationSpeed");this.nu=a.get("manualZoomSpeed");this.HR=a.get("draggingFactor")};l.prototype.Us=function(a){this.Du=a;this.lX()};l.prototype.yw=function(a){this.faa=a;this.lX()};l.prototype.tw=function(a){this.ba=a;this.ov=this.ba/90};l.prototype.pw=function(a){this.wi();if(a){this.ua=a;if(this.Rb=a.Bva&&a.Rb){this.Rb.bind(d.Hb,this.F8,this,n);this.Rb.bind(d.fc,this.G8,this, n)}this.ua.bind(d.Hb,this.pc,this,n);this.ua.bind(d.Mc,this.Ng,this,n);this.ua.bind(d.fc,this.Og,this,n);this.ua.bind(d.rq,this.Eu,this,n);this.ua.Ta().get("settings").get(TDV.PlayerSettings.iga)!==y&&this.ua.bind(d.Kw,this.ku,this,n);this.ua.bind(d.wG,this.C4,this,n);this.ua.bind(d.vG,this.A4,this,n);this.lX()}};l.prototype.wi=function(){if(this.ua!=r){if(this.Rb){this.Rb.unbind(d.Hb,this.F8,this);this.Rb.unbind(d.fc,this.G8,this);this.Rb=r}this.ua.unbind(d.Hb,this.pc,this);this.ua.unbind(d.Mc,this.Ng, this);this.ua.unbind(d.fc,this.Og,this);this.ua.unbind(d.rq,this.Eu,this);this.ua.unbind(d.Kw,this.ku,this);this.ua.unbind(d.wG,this.C4,this);this.ua.unbind(d.vG,this.A4,this);this.ua=r;this.aI()}};l.prototype.lX=function(){if(this.ua)if(this.ua.ik){this.LK=this.faa;this.Ex=this.xsa}else{this.LK=this.Du;this.Ex=this.yna}};l.prototype.F8=function(){this.cD=n};l.prototype.G8=function(){this.cD=y};l.prototype.pc=function(a){if(!this.cD){this.Rra(a);this.pW()}};l.prototype.Ng=function(a){this.cD||this.az(a)}; l.prototype.Og=function(){if(!this.cD){this.RR();this.aI()}};l.prototype.Eu=function(a){this.tX(a);this.pW(500)};l.prototype.C4=function(){this.pW()};l.prototype.ku=function(a){this.uX(a)};l.prototype.A4=function(){this.aI()};l.prototype.Rra=function(a){this.NB=n;this.oi=a;this.az(a)};l.prototype.az=function(a){if(this.NB)switch(this.LK){case j.et:this.yta(a);break;case j.Xn:this.xta(a)}};l.prototype.yta=function(a){this.Oaa(+b(c(e(Math.abs(a.x-this.oi.x)<3?0:a.x-this.oi.x,this.ua.Aa())),this.q6* this.ov),-b(c(e(Math.abs(a.y-this.oi.y)<3?0:a.y-this.oi.y,this.ua.eb())),this.p6*this.ov))};l.prototype.xta=function(a){this.kX(-b(e(a.x-this.oi.x,this.ua.Aa()),this.ba*this.HR),+b(e(a.y-this.oi.y,this.ua.Aa()),this.ba*this.HR));this.oi=a};l.prototype.RR=function(){if(this.NB){this.NB=y;switch(this.LK){case j.et:this.Oaa(0,0)}}};l.prototype.Oaa=function(a,b){var c=new p(l.Yn);c.lq=a;c.Wp=b;this.trigger(c)};l.prototype.kX=function(a,b){var c=new p(l.Yn);c.bA=a;c.Jz=b;this.trigger(c)};l.prototype.uX= function(a){if(this.sb!=a.scale){this.RR();var b=this.sb;this.sb=a.scale;a=new k(l.Yk);a.QY=this.ba*b/this.sb-this.ba;this.trigger(a)}};l.prototype.tX=function(a){if(a.Jp!=0){this.RR();var b=new k(l.Yk);b.QY=this.ba*-a.Jp*this.nu/100;this.trigger(b)}};l.prototype.pW=function(a){var b=this.jx!=r;this.I$();if(a&&(b||!this.yE)){var c=this;this.jx=setTimeout(function(){c.jx=r;c.aI()},a)}if(!this.yE){this.yE=n;this.trigger(new f(l.Ae))}};l.prototype.aI=function(){this.I$();if(this.yE){this.yE=y;this.trigger(new f(l.ze))}}; l.prototype.I$=function(){if(this.jx!=r){clearTimeout(this.jx);this.jx=r}};l.Yn="rotation change";l.Yk="zoom change";l.Ae="user interaction start";l.ze="user interaction end";return l}); define("cM",["require","r"],function(a){function b(){this.Wra=e.Za()?0.066:0.1;this.zna=0.5;this.Ira=e.Za()?0.066:0.1;this.Xta=0.1;this.hL=this.mL=y;this.reset()}function c(a,b,c){a=(b-a)*(1-c);0.01>Math.abs(a)&&(a=0);return b-a}var e=a("r");b.prototype.reset=function(){this.O3=this.eR=this.yx=this.Vq=this.hB=this.iR=this.hR=this.lR=this.Sx=this.nu=this.GK=this.IK=this.Ll=this.bD=this.tn=this.KE=0};b.prototype.b_=function(a,b,c,e,j,p,k,l,q){return this.KE!=a||(this.bD=b)||this.IK!=c||0!=e||0!=j|| this.hL!=k||this.A6!=l||this.mL!=q?(this.KE=a,this.bD=b,this.IK=c,this.tn+=e,this.Ll+=j,this.GK+=p,this.hL=k,this.A6=l,this.mL=q,n):y};b.prototype.sza=function(a,b){return this.nu!=a||0!=b?(this.nu=a,this.Sx+=b,n):y};b.prototype.ld=function(){return 0!=this.lR||0!=this.hR||0!=this.iR||0!=this.hB||0!=this.KE||0!=this.bD||0!=this.IK||0!=this.nu||0!=this.tn||0!=this.Ll||0!=this.Sx};b.prototype.fb=function(a){var a=1E3/a,b=this.lR/a,e=this.KE/a+this.tn;this.tn=0;var h=this.hR/a,j=this.bD/a+this.Ll;this.Ll= 0;var p=this.iR/a,k=this.IK/a+this.GK;this.GK=0;var l=this.nu+this.Sx*a;this.Sx=0;var q=0==e&&0==j&&0==k,o=0==b&&0==h&&0==p;this.hL&&o&&!q||this.mL&&q&&!o||this.A6&&!q&&!o?(q=q?this.Wra:o?this.Ira:this.zna,this.Vq=c(b,e,q),this.yx=c(h,j,q),this.eR=c(p,k,q)):(this.Vq=e,this.yx=j,this.eR=k);b=0==this.hB;e=0==l;this.hB=this.hL&&b&&!e||this.mL&&e&&!b?c(this.hB,l,this.Xta):l;this.lR=this.Vq*a;this.hR=this.yx*a;this.iR=this.eR*a;this.O3=this.hB/a};return b}); define("ct","jquery.mod,fg,d,ee,cM,V,ll".split(","),function(a,b,c,e,g,d,f){b=b.extend(c,function(){c.call(this);this.Tc("Renderer");this.u=a("");this.u.css({position:"absolute",left:0,top:0});this.Ra().append(this.u);this.rr=r;this.$=this.Vx=this.Tx=this.Ux=0;this.pg=y;this.lpa=150;this.HB=0;this.bj=r;this.bind(f.zb,this.lb,this,n);this.wa=new e;this.wa.LBa(720);this.wa.IF(0);this.wa.Us("drag_rotation");this.wa.tw(360);this.wa.bind(e.Yn,this.Aoa,this);this.bb=new g});b.prototype.xya= function(a,b,c){this.rr=a;this.Ux=b;this.Tx=c;this.Vx=Math.floor(this.rr.length*this.$/360);this.BV();this.wa.pw(this);this.ea()};b.prototype.xua=function(){this.rr=r;this.hn();this.BV();this.wa.wi()};b.prototype.play=function(){this.pg=n;this.ea()};b.prototype.Aoa=function(a){this.hn();this.bb.b_(a.lq,a.Wp,0,a.bA,a.Jz,0,y,n);this.ea()};b.prototype.lU=function(){this.play()};b.prototype.Pg=function(a){if(this.rr)if(this.bb.ld()){this.pg=y;this.bb.fb(a);this.m2(this.bb.Vq);this.ea()}else if(this.pg){this.m2(this.lpa* a/1E3);this.ea()}else this.Xx()||this.RD()};b.prototype.Qea=function(a){for(this.$=a;this.$<0;)this.$=this.$+360;for(;this.$>=360;)this.$=this.$-360;this.gta()};b.prototype.gta=function(){if(this.rr){var a=Math.floor(this.rr.length*this.$/360);if(this.Vx!=a){this.Vx=a;this.f9()}}};b.prototype.m2=function(a){this.Qea(this.$+a)};b.prototype.lb=function(){this.BV()};b.prototype.BV=function(){var a=this.u.get(0);if(this.Ux==0||this.Tx==0){a.width=0;a.height=0}else{var b=this.Jd(),c=this.Id();if(c*this.Ux> b*this.Tx){a.width=b;a.height=this.Tx*b/this.Ux}else{a.height=c;a.width=this.Ux*c/this.Tx}this.u.css({left:Math.round((b-a.width)*0.5)+"px",top:Math.round((c-a.height)*0.5)+"px"});this.f9()}};b.prototype.f9=function(){if(this.rr){var a=this.u.get(0),b=this.rr[this.Vx];a.getContext("2d").drawImage(b,0,0,this.Ux,this.Tx,0,0,a.width,a.height)}};b.prototype.Xx=function(){return this.bj?n:y};b.prototype.RD=function(){this.hn();if(this.HB>0){var a=this;this.bj=setTimeout(function(){a.bj=r;a.lU()},this.HB)}}; b.prototype.hn=function(){if(this.bj){clearTimeout(this.bj);this.bj=r}};b.prototype.ea=function(){d.Ma(this.Pg,this)};return b}); define("jC","require,jquery.mod,do,fg,ll,ge,bZ,dW,eH,cr,ct,kS,id".split(","),function(a){a("jquery.mod");var b=a("do"),c=a("fg"),e=a("ll"),g=a("ge"),d=a("bZ"),f=a("dW"),h=a("eH"),j=a("cr"),p=a("ct"),k=a("kS"),l=a("id"),a=c.extend(k,function(){k.call(this);this.fd=this.dj=this.af=this.g=r;this.bind(e.od,this.wh,this);this.bind(e.Ad,this.th,this)});f.A("Object3D",a).B("UIComponent").J({frames:"array[ImageResource]",yaw:"number"}).Xb([e.S]);a.prototype.Ga=function(){k.prototype.Ga.call(this);if(!this.g){this.g= new p;this.g.M({left:0,top:0,right:0,bottom:0});this.la(this.g)}if(!this.af){this.af=new j;this.af.M({left:0,bottom:0,right:0,height:20,visible:y});this.la(this.af)}};a.prototype.wh=function(){this.YB()};a.prototype.th=function(){this.vj()};a.prototype.YB=function(){this.af.set("percent",0);this.af.set("visible",n);this.g.Qea(this.get("yaw"));var a=this.get("frames",[]);this.dj=[];this.fd=[];for(var b=0;bg.indexOf(a)?b.push(a):e.push(a)});b.forEach(function(a){a.Tv().Cc(c.H)});this.hl=e;this.JS=y};b.prototype.start=function(a){this.end(a);this.hl=this.h5(a);this.JS=0=2){x=parseFloat(x[1]);break a}x=m}x=x!==m?2*Math.atan2(this.X*this.g.getPixelRatio()*0.5,this.ST*45*x/100):this.FB?(this.YR?g.Sn(this.FB,this.X,this.ia):this.FB)*k:2*Math.atan2(this.X*this.g.getPixelRatio()*0.5,this.ST*45);x=Math.min(w,x);if(this.H5){s=360;u=180;v=0}else if(this.LS||this.IS){s=this.IS?90:this.XC+this.aK*0.5;var z=this.LS?-90:this.XC-this.aK*0.5;u=s-z;v=(s+z)*0.5;s=this.GU}else{s=this.GU;v=this.XC;u=this.aK}s=s*k;u=u*k;v=v*k;for(z=this.X/this.ia;a<-j;)a=a+2*j;for(;a>j;)a= a-2*j;h=Math.max(Math.min(h,w),x);w=b.At;e>p?w=w|b.Et:e<-p&&(w=w|b.zt);var e=Math.max(Math.min(e,j*0.5),-j*0.5),C=2*Math.atan(Math.tan(h*0.5)/z);if(C>=u){h=2*Math.atan(Math.tan(u*0.5)*z);e=v;w=w|b.Et|b.zt}else{var A=Math.min(u*0.5+v,j*0.5);u=Math.max(-u*0.5+v,-j*0.5);v=!this.Ru&&A>=j*0.495?j*0.5:A-C*0.5;u=!this.Ru&&u<=-j*0.495?-j*0.5:u+C*0.5;if(e>v){e=v;w=w|b.Et}else if(e0?z:-z,1);u=new d;u.Nn(-e);z.apply(u);z=z.ac()*2;z<0&&(z=z+2* j);u=s*0.5-z*0.5;C=-s*0.5+z*0.5;if(z>s){a=0;h=Math.max(x,h*s/z);w=w|b.Ww|b.Xw}else if(a>u){a=u;w=w|b.Xw}else if(ab;)a=a-360;return a};a.prototype.Ju=function(){this.W&&this.Dk()};a.prototype.Dk=function(){this.trigger(new c(b.aa))};return a});define("fW",["require"],function(){return{NG:38,mG:40,Na:39,ra:37,PN:65,pP:90}});define("dr",[],function(){return{Ow:"left",Pw:"right",Nw:"down",Qw:"up",U0:"rotate10x",r1:"zoom2x",P:"playing",eo:"zoomIn",fo:"zoomOut",pe:"stop"}}); define("ei","require,fg,fW,bZ,eO,dr".split(","),function(a){var b=a("fg"),c=a("fW"),e=a("bZ"),g=a("eO"),d=a("dr"),f=b.extend(g,function(a){g.call(this);this.g=a;this.W=y;this.Rf={};this.PD=r;this.ID=this.OD=y;this.UI=this.UI.bind(this);this.Qo=this.Qo.bind(this);this.Vb=this.g.Vb;document.addEventListener("keydown",this.UI);document.addEventListener("keyup",this.Qo)});f.prototype.clear=function(){this.W=y;this.Vb=this.g=r;document.removeEventListener("keydown",this.UI);document.removeEventListener("keyup", this.Qo)};f.prototype.nd=function(a){if(this.W!=a)(this.W=a)&&this.EL()};var h=[c.NG,c.mG,c.ra,c.Na,c.PN,c.pP];f.prototype.UI=function(a){var b=a.which,c=y;if(!this.Rf[b]&&h.indexOf(b)>=0){if(!this.PD&&!this.OD)this.PD=setTimeout(this.Doa.bind(this),100);c=this.Rf[b]=n}if(this.ID!=a.shiftKey){this.ID=a.shiftKey;c=n}c&&this.EL()};f.prototype.Doa=function(){this.OD=n;this.EL()};f.prototype.Qo=function(a){var b=a.which,c=y;if(b in this.Rf){delete this.Rf[b];c=y;for(b in this.Rf)this.Rf[b]&&(c=n);if(!c){this.PD&& clearTimeout(this.PD);this.PD=r;this.OD=y}c=n}if(this.ID!=a.shiftKey){this.ID=a.shiftKey;c=n}c&&this.EL()};f.prototype.EL=function(){if(this.W){var a=this.Vb.get("arrowKeysAction");if(a!="none"){var a=a=="rotate",b=[];this.Rf[c.PN]?b.push(d.eo):this.Rf[c.pP]&&b.push(d.fo);this.OD&&(this.Rf[c.PN]||this.Rf[c.pP])&&b.push(d.r1);this.Rf[c.ra]?b.push(d.Ow):this.Rf[c.Na]&&b.push(d.Pw);if(a||this.ID)this.Rf[c.NG]?b.push(d.Qw):this.Rf[c.mG]&&b.push(d.Nw);this.OD&&(this.Rf[c.ra]||this.Rf[c.Na]||this.Rf[c.NG]|| this.Rf[c.mG])&&b.push(d.U0);b.length==0&&b.push(d.pe);this.trigger(new e(f.wO,{Eda:b}))}}};f.wO="movementsChange";return f}); define("ls",["require"],function(){function a(){this.Ft=n;this.reset()}function b(a,b){var g=0.5*(b-a);0.01>Math.abs(g)&&(g=0);return b-g}a.prototype.reset=function(){this.Ft&&(this.Ft=y,this.pL=this.qL=this.xp=this.xj=this.zx=this.Cx=this.Ax=this.Xq=m)};a.prototype.moveTo=function(a,b,g,d,f){this.xj=a;this.xp=b;this.qL=g;this.pL=d;this.eT=f;this.Ft=n};a.prototype.Ka=function(a,b,g,d){this.Xq=a;this.Ax=b;this.Cx=g;this.zx=d};a.prototype.im=Q("Xq");a.prototype.hm=Q("Ax");a.prototype.Hs=Q("Cx");a.prototype.Uv= Q("zx");a.prototype.ld=Q("Ft");a.prototype.fb=function(){if(this.Ft)if(this.eT)this.Xq=this.xj,this.Ax=this.xp,this.Cx=this.qL,this.zx=this.pL,this.Ft=y;else{for(var a=this.Xq,e=this.xj-180,g=this.xj+180;ag;)a-=g-e;this.Xq=a;this.Xq=b(this.Xq,this.xj);this.Ax=b(this.Ax,this.xp);this.Cx=b(this.Cx,this.qL);this.zx=b(this.zx,this.pL);this.Xq==this.xj&&this.Ax==this.xp&&this.Cx==this.qL&&this.zx==this.pL&&(this.Ft=y)}};return a}); define("bV",["require","ku","jt","bi"],function(a){function b(){this.W=y;this.Ob=this.qa=this.$=0;this.XI=m}var c=a("ku"),e=a("jt"),g=a("bi");b.prototype.nd=function(a){this.W!=a&&(this.W=a,this.XI=m)};b.prototype.Ka=function(a,b,c){this.$=a;this.qa=b;this.Ob=c};b.prototype.im=Q("$");b.prototype.hm=Q("qa");b.prototype.Hs=Q("Ob");b.prototype.ld=R(n);b.prototype.fb=function(){var a=c.r_(g.Dn().orientation);this.$+=this.XI===m?0:a.ma-this.XI;this.XI=a.ma;this.qa=a.pitch;this.Ob=a.md;this.qa=f===m?a.pitch: f;this.Ob=d===m?a.md:d};var d=e.zg("debug")?e.BM("force_vr_roll"):m,f=e.zg("debug")?e.BM("force_vr_pitch"):m;return b}); define("f","require,do,fg,ll,bZ,eO,ce,fO,ei,cM,ee,ls,bV,dr,bi,R".split(","),function(a){var b=a("do"),c=a("fg"),e=a("ll"),g=a("bZ"),d=a("eO"),f=a("ce"),h=a("fO"),j=a("ei"),p=a("cM"),k=a("ee"),l=a("ls"),q=a("bV"),o=a("dr"),t=a("bi"),s=a("R"),v=c.extend(d,function(a,b,c){d.call(this);this.g=a;this.Vb=this.g.Vb;this.I=b;this.xb=c;this.Xr=this.kr=this.BB=this.uK=this.W=y;this.bb=new p;this.Vl=new l;this.Ob=this.qa=this.$=0;this.ba=90;this.ov=1;this.tf=m;this.$P=this.HA=5;this.us=y;this.wa=new k;this.wa.bind(k.Yn, this.zC,this,n);this.wa.bind(k.Yk,this.Ir,this,n);this.wa.bind(k.Ae,this.Hl,this,n);this.wa.bind(k.ze,this.Gl,this,n);this.Xh=new h;this.Xh.bind(e.aa,this.e7,this);this.jr=y;this.cj=new j(this.g);this.cj.bind(j.wO,this.p7,this,n);this.sn=new q;t.bind(e.aa,this.pk,this,n);this.pk()});v.prototype.clear=function(){this.wa.unbind(k.Yn,this.zC,this,n);this.wa.unbind(k.Yk,this.Ir,this,n);this.wa.unbind(k.Ae,this.Hl,this,n);this.wa.unbind(k.ze,this.Gl,this,n);this.wa.wi();this.wa=r;this.Xh.unbind(e.aa,this.e7, this);this.Xh=r;this.cj.unbind(j.wO,this.p7,this,n);this.cj.clear();this.cj=r;t.unbind(e.aa,this.pk,this,n);this.xb=this.I=this.bb=r;this.BH();this.g=this.Vb=r};v.prototype.Qs=function(a){this.bb.reset();this.Vl.reset();this.wa.Qs(a);this.HA=a.get("automaticRotationSpeed");this.$P=a.get("automaticZoomSpeed")};v.prototype.fh=function(a){function c(d){return b(a).contains(d)}b.isArray(a)||(a=[a]);var d=0,e=0,f=0,g=y;if(!c(o.pe)){c(o.Ow)?d=-this.HA:c(o.Pw)&&(d=+this.HA);c(o.Nw)?e=-this.HA:c(o.Qw)&&(e= +this.HA);c(o.eo)?f=-this.$P:c(o.fo)&&(f=+this.$P);c(o.P)&&(g=n);c(o.r1)&&(f=f*2);if(c(o.U0)){d=d*10;e=e*10}d=d*this.ov;e=e*this.ov}this.Cb(d,e,0,f,0,0,0,0,g,n,n,n)};v.prototype.Ka=function(a,b,c,d){this.$=a;this.qa=b;this.Ob=c;this.ba=d;this.ov=this.ba/90;this.Xh.Ka(this.$,this.qa,this.Ob);this.sn.Ka(this.$,this.qa,this.Ob);this.wa.tw(this.ba);this.Vl.Ka(this.$,this.qa,this.Ob,this.ba)};v.prototype.moveTo=function(a,b,c,d,e){this.Vl.moveTo(a,b,c,this.xb.Tba(d),e);this.uK=y;this.bb.reset();this.Bf()}; v.prototype.c_=function(a,b,c){this.Cb(0,0,0,0,a,b,c,0,y,y,y)};v.prototype.ld=function(){return this.W&&(this.Xr||this.LN())?n:y};v.prototype.Aua=function(){this.Xr=this.us=y};v.prototype.LN=function(){return this.W?this.us?n:this.sn.W?this.sn.ld()||this.bb.ld():this.Xh.W?this.jr?n:this.Xh.ld()||this.bb.ld():this.bb.ld()||this.Vl.ld():y};v.prototype.fb=function(a){this.us=y;this.bb.fb(a);this.Xr=y;var b,c,d;d=this.ba;if(this.sn.W){this.sn.fb(a);a=this.sn.im()+this.bb.Vq;b=this.sn.hm();c=this.sn.Hs()}else if(this.Vl.ld()){this.Vl.fb(a); a=this.Vl.im();b=this.Vl.hm();c=this.Vl.Hs();d=this.Vl.Uv()}else{if(this.Xh.W){this.jr=y;this.Xh.fb(a);a=this.Xh.im()+this.bb.Vq;b=this.Xh.hm();this.BB&&(b=b+this.bb.yx);c=this.Xh.Hs()}else{a=this.$+this.bb.Vq;b=this.qa+this.bb.yx;c=0}d=d+this.bb.O3}this.xb.pm(d);this.I.Ka(a,b,c,this.xb.Pe(),this.xb.Lp());this.$=this.I.ac();this.qa=this.I.ec();this.Ob=this.I.Qd();this.ba=this.I.Op();if(this.uK&&this.I.Jca()){d=this.bb.KE;if(this.I.Ica()||this.I.Kca())d=-d;a=this.bb.bD;if(this.I.Lca()||this.I.Hca())a= -a;this.Cb(d,a,0,0,0,0,0,0,n,y,y,n)}};v.prototype.im=Q("$");v.prototype.hm=Q("qa");v.prototype.Hs=Q("Ob");v.prototype.Uv=Q("ba");v.prototype.nd=function(a){if(this.W!=a){if(this.W=a){this.js(this.wa.Du==f.Xn?s.xG:m);this.wa.pw(this.g.getParent());this.Bf()}else{this.BH();this.wa.wi()}this.fX()}};v.prototype.KF=function(a){if(this.kr!=a){this.kr=a;this.fX();this.jr=n}};v.prototype.Ss=function(a){this.cj.nd(a)};v.prototype.fX=function(){this.Xh.nd(this.W&&this.kr&&!t.isPresenting());this.sn.nd(this.W&& t.isPresenting())};v.prototype.e7=function(){this.Bf()};v.prototype.LF=function(a){this.BB=a;this.Xh.oza(this.BB)};v.prototype.Us=function(a){this.wa.Us(a);this.js(this.wa.Du==f.Xn?s.xG:m)};v.prototype.yw=function(a){this.wa.yw(a)};v.prototype.pk=function(){this.fX();this.Bf()};v.prototype.zC=function(a){var b=!this.sn.W&&(!this.Xh.W||this.BB);if(this.wa.Du==f.et){var c=m;if(a.lq!=0||a.Wp!=0){var d=Math.sqrt(a.Wp*a.Wp+a.lq*a.lq)>25,e=Math.atan2(a.Wp,a.lq)*180/Math.PI;e>=-22.5&&e<22.5?c=d?s.q0:s.p0: e>=22.5&&e<67.5?c=d?s.s0:s.z0:e>=67.5&&e<112.5?c=d?s.r0:s.y0:e>=112.5&&e<157.5?c=d?s.t0:s.A0:e>=157.5||e<-157.5?c=d?s.x0:s.E0:e>=-157.5&&e<-112.5?c=d?s.w0:s.D0:e>=-112.5&&e<-67.5?c=d?s.u0:s.B0:e>=-67.5&&e<-22.5&&(c=d?s.v0:s.C0)}this.js(c);this.Cb(a.lq,a.Wp,0,0,a.bA,a.Jz,0,0,y,y,y,b)}else this.Cb(a.lq,a.Wp,0,0,a.bA,a.Jz,0,0,y,y,b,b)};v.prototype.Ir=function(a){this.Cb(0,0,0,a.nwa,0,0,0,a.QY,y,n,y,n)};v.prototype.Cb=function(a,b,c,d,e,f,g,h,j,k,l,o){a=this.bb.b_(a,b,c,e,f,g,k,l,o)||y;this.Vb.get("zoomEnabled")&& (a=this.bb.sza(d,h)||a);if(a){this.Vl.reset();this.uK=j;this.Bf()}};v.prototype.Bf=function(){this.Xr=n;this.trigger(new g(v.nf))};v.prototype.Hl=function(){this.us=n;this.trigger(new g(v.Ae));this.wa.Du==f.Xn&&this.js(s.yG)};v.prototype.Gl=function(){this.trigger(new g(v.ze));this.wa.Du==f.Xn&&this.js(s.xG)};v.prototype.p7=function(a){this.fh(a.data.Eda);a.data.Eda.indexOf(o.pe)<0&&this.g.Ta().trigger(new g(e.rG,{Sea:a}))};v.prototype.js=function(a){if(this.tf!=a&&this.W){this.tf&&this.g.Kz(this.tf); (this.tf=a)&&this.g.lN(this.tf)}};v.prototype.BH=function(){if(this.tf){this.g.Kz(this.tf);this.tf=m}};v.nf="position change request";v.Ae="user interaction start";v.ze="user interaction end";return v}); define("jV",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("TargetRotationalCameraMovement",b).B("RotationalCameraMovement").J({path:"enum[left, right, shortest, longest]",targetYaw:"number",targetPitch:"number",targetHfov:"number"});return b}); define("G","require,fg,ll,fu,bZ,eO,dW,fo,jV,kX,bq".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("bZ"),d=a("eO"),f=a("dW");a("fo");a("jV");var h=a("kX"),j=a("bq"),p=b.extend(d,function(a,b,c){d.call(this);this.g=a;this.I=b;this.xb=c;this.Ey=this.ud=r;this.Tr=this.Ur=y;this.Tu=m;this.hy=[];this.yV=0;this.O=r;this.qa=this.$=0;this.ba=90});p.prototype.clear=function(){this.end();this.I=this.g=r};p.prototype.start=function(a){this.lra(a);this.cpa();this.Tr=y;this.h3();this.Ur=y;this.Bf(); this.Vg()};p.prototype.end=function(){if(this.ud!=r){this.n3();this.Ur=this.Tr=y;this.O=r;this.Vg()}};p.prototype.pxa=function(){if(this.ud&&this.ud.get("restartMovementOnUserInteraction")){if(!this.Ur){this.P$();this.tW();this.O=r;this.Ur=n;this.Vg()}}else{this.O=r;this.pause()}};p.prototype.txa=function(){if(this.Ur){this.Ur=y;this.X5()||this.Qra()}};p.prototype.lra=function(a){this.n3();this.ud=a;this.ud.bind(c.vt,this.d8,this,n);this.ud.bind(c.HG,this.c8,this,n);this.ud.bind(c.D("movementIndex"), this.HJ,this,n);this.hy=this.ud.get("movements",[])};p.prototype.n3=function(){this.tW();if(this.ud!=r){this.ud.unbind(c.vt,this.d8,this);this.ud.unbind(c.HG,this.c8,this);this.ud.unbind(c.D("movementIndex"),this.HJ,this);this.ud.set("movementIndex",-1);this.ud=r;this.hy=[]}};p.prototype.dh=function(){return this.ud?this.Tr?e.mc:e.P:e.H};p.prototype.Ka=function(a,b,c,d){this.$=a;this.qa=b;this.ba=d};p.prototype.ld=function(){return this.ud&&this.O&&!this.Tr&&!this.Ur&&!this.X5()?n:y};p.prototype.fb= function(a){if(this.ld()){this.O.fb(a);a=this.O.Fb("hfov");if(this.xb.kda()){var b=this.O.Zba("hfov");b.Sv=this.xb.jM(b.Sv);b.Yz=this.xb.jM(b.Yz);a=this.xb.jM(a)}this.I.Ka(this.O.Fb("yaw"),this.O.Fb("pitch"),0,a,this.xb.Lp());this.$=this.I.ac();this.qa=this.I.ec();this.ba=this.I.Op();this.O.Re()&&this.joa()}};p.prototype.im=Q("$");p.prototype.hm=Q("qa");p.prototype.Uv=Q("ba");p.prototype.play=function(){if(this.Tr){this.Tr=y;this.O||this.HJ();this.h3();this.Bf();this.Vg()}};p.prototype.pause=function(){if(!this.Tr){this.Tr= n;this.P$();this.Vg()}};p.prototype.d8=function(){this.play()};p.prototype.c8=function(){this.pause()};p.prototype.cpa=function(){this.yV=0;var a=this.ud.get("movementIndex",-1);a==-1&&(a=0);this.mK(a)};p.prototype.epa=function(){this.yV++;var a=this.ud.get("repeat",1);if(this.hy.length>0&&(a==0||this.yV=0?this.vja(this.hy[a]):r};p.prototype.joa=function(){this.hy[this.ud.get("movementIndex")].trigger(new g(c.Ba));this.dpa()};p.prototype.X5=function(){return this.Ey!=r};p.prototype.Qra=function(){this.tW();var a=this,b=this.ud.get("restartMovementDelay")||0;this.Ey=setTimeout(function(){a.Ey=r;a.xoa()},b);this.Vg()};p.prototype.tW=function(){if(this.Ey){clearTimeout(this.Ey); this.Ey=r}};p.prototype.xoa=function(){this.mK(this.ud.get("movementIndex"));this.Bf();this.Vg()};p.prototype.vja=function(a){var b,c,d,e=this.fv(this.$,-180,180),g=this.qa,p=this.ba;if(f.ub("TargetRotationalCameraMovement",a)){b=a.get("targetYaw",e);c=a.get("targetPitch",g);if(d=a.get("targetHfov")){this.xb.Gea(d);d=this.xb.Pe()}else d=p;this.I.Ka(b,c,0,d,this.xb.Lp());if(this.I.Ru)b=this.I.ac();else switch(this.Bka(a)){case "left":b=this.fv(b,e-360,e);break;case "right":b=this.fv(b,e,e+360);break; case "longest":b=this.fv(b,e-180,e+180);b=b>=e?this.fv(b,e-360,e):this.fv(b,e,e+360);break;default:b=this.fv(b,e-180,e+180)}}else if(f.ub("DistanceRotationalCameraMovement",a)){b=e+a.get("yawDelta",0);this.I.Ru&&(b=Math.min(Math.max(-180,b),180));c=g+a.get("pitchDelta",0);d=p+a.get("hfovDelta",0);this.I.Ka(b,c,0,d,this.xb.Lp());this.I.Ru&&(b=this.I.ac())}c=this.I.ec();d=this.I.Op();return new h(a.get("easing"),[new j("yaw",e,b,a.get("yawSpeed")),new j("pitch",g,c,a.get("pitchSpeed")),new j("hfov", p,d,a.get("hfovSpeed"))],a.get("duration"))};p.prototype.h3=function(){this.Tu=m};p.prototype.P$=function(){if(this.O){this.Tu=m;var a=this.O&&this.O.Zba("yaw");if(a)if(a.Yz>a.Sv)this.Tu="right";else if(a.Yzc;)a=a-(c-b);return a};p.prototype.Bf=function(){this.trigger(new g(p.nf))};p.prototype.Jsa=function(){this.trigger(new g(p.JO))}; p.prototype.Vg=function(){this.trigger(new g(p.wb))};p.nf="position change request";p.JO="sequence end";p.wb="playback state change";return p}); define("bg","require,do,fg,ll,bZ,eO,gw,fz,f,G,dr,bi,fu".split(","),function(a){a("do");var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("gw"),f=a("fz"),h=a("f"),j=a("G"),p=a("dr"),k=a("bi"),l=a("fu"),q=b.extend(g,function(a,b){g.call(this);this.g=a;this.g.bind(c.zb,this.lb,this);k.bind(c.aa,this.pk,this,n);this.xb=b;this.DV=y;this.ba=this.Ob=this.qa=this.$=m;this.vn=this.un=this.nC=this.qC=this.pC=this.oC=y;this.wj=n;this.Sx=this.Ll=0;this.W=y;this.bj=r;this.HB=5E3;this.JB=this.aT=r;this.KV=[];this.Yf= this.Dq=l.H;this.I=new d(a);this.Ua=new h(this.g,this.I,this.xb);this.Ua.bind(h.nf,this.El,this,n);this.Ua.bind(h.Ae,this.Hl,this,n);this.Ua.bind(h.ze,this.Gl,this,n);this.aj=new f(this.g,this.I,this.xb);this.aj.bind(f.nf,this.El,this,n);this.kd=new j(this.g,this.I,this.xb);this.kd.bind(j.nf,this.El,this,n);this.kd.bind(j.JO,this.uU,this,n);this.kd.bind(j.wb,this.e8,this,n)});q.prototype.clear=function(){this.hn();this.Ua.unbind(h.nf,this.El,this);this.Ua.unbind(h.Ae,this.Hl,this,n);this.Ua.unbind(h.ze, this.Gl,this,n);this.Ua.clear();this.Ua=r;this.aj.unbind(f.nf,this.El,this,n);this.aj.clear();this.aj=r;this.kd.unbind(j.nf,this.El,this);this.kd.unbind(j.JO,this.uU,this);this.kd.unbind(j.wb,this.e8,this);this.kd.clear();this.I=this.kd=r;this.g.unbind(c.zb,this.lb,this);k.unbind(c.aa,this.pk,this,n);this.g=r;if(this.Ab){this.Ab.unbind(c.D("sequences"),this.vU,this,n);this.Ab=r}this.YK([])};q.prototype.end=function(){this.Dq=l.H;this.hn();this.Ua.nd(y);this.aj.nd(y);this.kd.end();this.W=y;this.qp(0, 0,0,0);this.JB=this.aT=r;if(this.Ab){this.Ab.unbind(c.D("sequences"),this.vU,this,n);this.Ab=r}this.YK([]);this.wv()};q.prototype.start=function(a,b){this.Dq=l.P;this.W=n;this.qp(0,0,0,0);this.CD(a);this.Gqa(b);this.e9();this.iL(this.JB);this.aj.nd(n);this.wv()};q.prototype.dh=Q("Yf");q.prototype.play=function(a){this.Dq=l.P;this.kd.dh()==l.mc?this.kd.play():this.kd.dh()==l.H&&(!a&&this.JB?this.iL(this.JB):this.Xx()||this.RD());this.wv()};q.prototype.resume=function(){if(this.Dq==l.mc){this.Ua.Aua(); this.play(n)}};q.prototype.pause=function(){this.Ua.fh(p.pe);if(this.Dq==l.P){this.Dq=l.mc;if(this.kd.dh()==l.P){this.kd.pause();this.wv()}else this.Xx()&&this.hn()}};q.prototype.stop=function(){this.Dq=l.H;this.kd.dh()!=l.H&&this.kd.end();this.Ua.fh(p.pe);this.wv();this.Xx()&&this.hn()};q.prototype.moveTo=function(a,b,c,d,e){this.Ua.moveTo(a,b,c,d,e)};q.prototype.YK=function(a){this.KV.forEach(function(a){a.unbind(c.vt,this.K9,this,n)}.bind(this));this.KV=a;this.KV.forEach(function(a){a.bind(c.vt, this.K9,this,n)}.bind(this))};q.prototype.pk=function(){this.I.vN(k.isPresenting())};q.prototype.fh=function(a){this.Ua.fh(a)};q.prototype.c_=function(a,b,c){this.Ua.c_(a,b,c)};q.prototype.KF=function(a){if(this.kr!=a){this.kr=a;this.Ua.KF(this.kr);this.ea()}};q.prototype.LF=function(a){this.Ua.LF(a)};q.prototype.Us=function(a){this.Ua.Us(a)};q.prototype.yw=function(a){this.Ua.yw(a)};q.prototype.Ss=function(a){this.Ua.Ss(a)};q.prototype.Xp=function(a){if(this.W)if(this.Ua.ld()||k.isPresenting()|| this.kr&&(this.Ua.W||!this.Ua.BB)){this.Ua.LN()&&this.kd.pxa();this.Ua.fb(a);this.qi(this.Ua.im(),this.Ua.hm(),this.Ua.Hs(),this.Ua.Uv());this.ea()}else if(this.kd.Ur){this.kd.txa();this.ea()}else if(this.kd.ld()){this.kd.fb(a);this.qi(this.kd.im(),this.kd.hm(),0,this.kd.Uv());this.ea()}else if(this.aj.ld()){this.aj.fb(a);this.qi(this.aj.im(),this.aj.hm(),0,this.aj.Uv());this.ea()}else if(this.DV){this.DV=y;this.xb.pm(this.g.Pe());this.I.Ka(this.g.ac(),this.g.ec(),this.g.Qd(),this.xb.Pe(),this.xb.Lp()); this.qi(this.I.ac(),this.I.ec(),this.I.Qd(),this.I.Op());this.ea()}else{this.qp(0,0,0,0);this.Dq==l.P&&this.kd.dh()!=l.P&&(this.Xx()||this.RD())}};q.prototype.dc=function(){this.rta();this.e9()};q.prototype.rta=function(){var a=this.g.ac()-this.$||0,b=this.g.ec()-this.qa||0,c=this.g.Qd()-this.Ob||0;this.qp(a,b,c,this.g.Pe()-this.ba||0)};q.prototype.e9=function(){this.$=this.g.ac();this.qa=this.g.ec();this.Ob=this.g.Qd();this.ba=this.g.Pe();this.Ua.Ka(this.$,this.qa,this.Ob,this.ba);this.kd.Ka(this.$, this.qa,this.Ob,this.ba);this.aj.Ka(this.$,this.qa,this.Ob,this.ba)};q.prototype.CD=function(a){this.I.gh(a)};q.prototype.Gqa=function(a){this.Ab=a;this.HB=a.get("timeToIdle",5E3);this.aT=a.get("idleSequence");this.JB=a.get("initialSequence");this.Ua.Qs(a);this.aj.Qs(a);a.bind(c.D("sequences"),this.vU,this,n);this.YK(a.get("sequences",[]))};q.prototype.vU=function(){this.YK(this.Ab.get("sequences",[]))};q.prototype.K9=function(a){this.iL(a.source)};q.prototype.El=function(){this.hn();this.ea()};q.prototype.Hl= function(){this.trigger(new e(q.Ae))};q.prototype.Gl=function(){this.trigger(new e(q.ze))};q.prototype.iL=function(a){if(a){this.Ua.nd(!a.get("mandatory",y));this.kd.start(a)}else this.uU()};q.prototype.uU=function(){this.Ua.nd(n);this.RD()};q.prototype.e8=function(){this.wv()};q.prototype.lb=function(){this.DV=n;this.ea()};q.prototype.Xx=function(){return this.bj!=r};q.prototype.RD=function(){this.hn();var a=this;this.bj=setTimeout(function(){a.bj=r;a.lU()},this.HB)};q.prototype.hn=function(){if(this.bj){clearTimeout(this.bj); this.bj=r}};q.prototype.lU=function(){this.iL(this.aT)};q.prototype.ea=function(){this.trigger(new e(q.La))};q.prototype.qi=function(a,b,c,d){this.g.Ka(a,b,c,d)};q.prototype.qp=function(a,b,c,d){var c=y,f=Math.abs(a)<0.001&&Math.abs(b)<0.001&&Math.abs(d)<0.001;if(f||this.kr){c=this.wj!=n;this.vn=this.un=this.nC=this.qC=this.pC=this.oC=y;this.wj=n}else{if(this.oC!=a<-0.001){this.oC=!this.oC;c=n}if(this.pC!=a>0.001){this.pC=!this.pC;c=n}if(this.nC!=b<-0.001){this.nC=!this.nC;c=n}if(this.qC!=b>0.001){this.qC= !this.qC;c=n}if(this.un!=d<-0.001){this.un=!this.un;c=n}if(this.vn!=d>0.001){this.vn=!this.vn;c=n}if(this.wj!=f){this.wj=!this.wj;c=n}}f||this.trigger(new e(q.Vk,{yaw:this.$,pitch:this.qa,roll:this.Ob,hfov:this.ba}));if(c){(this.W||this.wj)&&this.trigger(new e(q.ih,{movingLeft:this.oC,movingRight:this.pC,movingUp:this.qC,movingDown:this.nC,zoomingIn:this.un,zoomingOut:this.vn,stopped:this.wj}));this.wv()}};q.prototype.wv=function(){var a;if(this.W){a=this.kd.dh();if(!this.wj)a=l.P}else a=l.H;if(this.Yf!= a){this.Yf=a;this.trigger(new e(q.wb,{state:this.Yf}))}};q.La="request frame";q.ih="movement change";q.Vk="position change";q.wb="playback state change";q.Ae="user interaction start";q.ze="user interaction end";return q}); define("fn","require,ll,gw,r,fT,jt,bi,ku".split(","),function(a){function b(a,d,e){this.g=a;this.xb=d;this.qs=e;this.I=new c(a);e.Mj&&this.I.gh(e.Mj);this.pp=new c(a);this.ay=this.Ro=m;this.$=this.g.ac();this.qa=this.g.ec();this.Ob=this.g.Qd();this.ba=this.qs.Mj?this.g.Pe():b.J_;this.H$=0;this.N=r;this.f6=n}a("ll");var c=a("gw");a("r");var e=a("fT"),g=a("jt"),d=a("bi"),f=a("ku");b.prototype.gh=function(a){if(this.N!=a){this.Rr=n;this.N=a}};b.prototype.ww=function(a,b){this.$=a;this.qa=b};b.prototype.mz= function(a){this.xb.Gea(a);return this.xb.Pe()};b.prototype.pm=P("ba");b.prototype.PF=P("f6");b.prototype.xw=P("H$");b.prototype.Xp=function(){if(this.xb.kda())this.ba=this.xb.jM(this.ba);if(this.qs.tb()){var a=d.Dn().orientation,a=f.r_(a);this.$=this.$+(this.Ro===m?0:a.ma-this.Ro);this.Ro=a.ma;this.qa=a.pitch;this.Ob=a.md;this.qa=j===m?a.pitch:j;this.Ob=h===m?a.md:h}else if(this.qs.Aca()){var a=e.Fn(),b=this.hv(a.yaw,this.$);this.$=this.$+(this.Ro===m?0:b-this.Ro);this.qa=this.qa+(this.ay===m?0: a.pitch-this.ay);this.Ob=a.roll;this.Ro=a.yaw;this.ay=a.pitch}else{a=this.hv(this.g.ac(),this.$);b=this.g.ec();this.$=this.$+(this.Ro===m?0:a-this.Ro);this.qa=this.qa+(this.ay===m?0:b-this.ay);this.Ob=this.g.Qd()}this.Rr&&this.I.gh(this.N);this.I.vN(d.isPresenting());this.I.Ka(this.$,this.qa,this.Ob,this.ba,this.xb.Lp());if(this.Rr){this.Rr=y;if(this.qs&&this.qs.Mj)if(a=this.g.bg(this.qs.Mj)){a.set("deltaYaw",this.g.ac()-this.I.ac());a.set("deltaPitch",this.g.ec()-this.I.ec());a.set("deltaRoll",this.g.Qd()- this.I.Qd())}}this.$=this.I.ac();this.qa=this.I.ec();this.Ob=this.I.Qd();if(!this.qs.tb()&&!this.qs.Aca()){this.Ro=this.$;this.ay=this.qa}this.ba=this.f6?this.I.Op():this.ba;this.g.Ka(this.$,this.qa,this.Ob,this.ba);this.g.xw(this.H$)};b.prototype.rN=function(a,b){this.pp.gh(a);this.pp.Ka(0,0,0,b,this.xb.Lp());return this.pp.Op()};b.prototype.Wxa=function(a,b){this.pp.gh(a);this.pp.Ka(b.ma,b.pitch,b.md,b.bd,this.xb.Lp());b.ma=this.pp.ac();b.pitch=this.pp.ec();b.md=this.pp.Qd();b.bd=this.pp.Op()}; b.prototype.hv=function(a,b){for(;a+180b;)a=a-360;return a};b.prototype.Jba=function(){return b.J_};b.J_=TDV.S0.xfa;var h=g.zg("debug")?g.BM("force_vr_roll"):m,j=g.zg("debug")?g.BM("force_vr_pitch"):m;return b}); define("lD","require,dW,fj,jo,r,bi".split(","),function(a){function b(a,d,g,p){this.g=a;a=this.g.C;this.t_=a.get("transitionMode","blending");var k=a.get("transitionDuration",500);if(this.yma(d,g)){this.t_=b.tG;k=1500}this.sba=a.get("blendingTransitionDuration",k);this.dva=a.get("firstTransitionDuration",k);this.Oua=a.get("disolveTransitionDuration",k);this.Oza=a.get("translationTransitionDuration",1E3);this.Pza=a.get("translationTransitionEnabled",n);this.Jda=a.get("originTransitionDuration",3E3); this.ON=1E3;this.Mj=d;this.wza=!d||d.dda();this.cd=g;this.Gza=!g||g.cda();this.n_=!g||g.dda();this.Fza=!!g&&this.wT(g);a=(this.m_=p)&&p.get("initialPosition")||new c;this.zi=new c;this.zi.set("yaw",a.get("yaw",0));this.zi.set("pitch",a.get("pitch"));this.zi.set("hfov",a.get("hfov"));this.Hd=new e;this.Hd.set("yaw",this.zi.get("yaw"));this.Hd.set("pitch",this.zi.get("pitch"));this.Hd.set("hfov",this.zi.get("hfov"));this.Hd.set("stereographicFactor",0);this.Hk=[];if(!d){this.Hk=p&&p.get("displayMovements")|| [];for(a=this.Hk.length-1;a>=0;a--){this.Hd.set("yaw",this.Hd.get("yaw",this.Hk[a].get("targetYaw")));this.Hd.set("pitch",this.Hd.get("pitch",this.Hk[a].get("targetPitch")));this.Hd.set("hfov",this.Hd.get("hfov",this.Hk[a].get("targethfov")));this.Hd.set("stereographicFactor",this.Hd.get("stereographicFactor",this.Hk[a].get("stereographicFactor")))}p=p&&p.get("displayOriginPosition")||this.zi;this.Hd.set("yaw",p.get("yaw"));this.Hd.set("pitch",p.get("pitch"));this.Hd.set("hfov",p.get("hfov"));this.Hd.set("stereographicFactor", p.get("stereographicFactor"))}this.mode=(this.ZF=this.t_==b.vm&&this.Pza&&this.Gza?this.hma(d,g):r)?b.g1:d?g?this.t_=="blending"?b.vm:b.tG:b.c0:b.b0;if(this.mode==b.vm&&(!this.wza||!this.n_))if(this.Hd.get("stereographicFactor",0)>0||this.Hk.filter(function(a){return a.get("targetStereographicFactor",0)>0}).length>0)this.mode=b.tG}a("dW");var c=a("fj"),e=a("jo"),g=a("r"),d=a("bi");b.prototype.Aca=function(){return this.g.Vb.get("gyroscopeEnabled")};b.prototype.tb=function(){return d.isPresenting()}; b.prototype.hma=function(a,b){if(!a||!b)return r;var c=(a.get("adjacentPanoramas")||[]).filter(function(a){return a.get("enabled")&&a.pua()&&a.get("panorama")==b});return c.length==0?r:c[0]};b.prototype.yma=function(a,b){return this.tb()&&g.Rd()==g.Lh&&(this.wT(a)||this.wT(b))};b.prototype.wT=function(a){return!!a&&a.Jh()};b.tG="fade_out_fade_in";b.b0="fade_in";b.c0="fade_out";b.vm="blending";b.g1="translation";return b}); define("l",["require"],function(){function a(a,c,e,g){this.o=a;this.mb=c;this.g=e;this.R=g}a.prototype.Ej=R(y);a.prototype.Bi=D();a.prototype.nF=R(y);return a}); define("je",["require","fg","l","kX","bq"],function(a){var b=a("fg"),c=a("l"),e=a("kX"),g=a("bq"),a=b.extend(c,function(a,b,e,g){c.call(this,a,b,e,g);this.O=r;this.Ec=y});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(a){if(!this.Ec){if(!this.O){var b=this.g.bg(this.R.cd);b.Fk();b.set("alpha",0.01);this.O=new e("linear",[new g("alpha",0,1,m)],this.R.sba)}this.O.fb(a);a=this.O.Fb("alpha");b=this.g.bg(this.R.cd);b.set("alpha",a);this.O.Re()&&(this.Ec=n)}};return a}); define("jk",["require","fg","l"],function(a){var b=a("fg"),c=a("l"),a=b.extend(c,function(a,b,d,f){c.call(this,a,b,d,f);this.Ec=y});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(){this.Ec||(this.$r(),this.Ec=n)};a.prototype.$r=D();return a}); define("fS",["require","fg","jk"],function(a){var b=a("fg"),c=a("jk"),a=b.extend(c,function(a,b,d,f){c.call(this,a,b,d,f)});a.prototype.$r=function(){this.R.cd&&!this.g.bg(this.R.cd)&&(this.bf=this.g.create(this.R.cd),this.bf.set("alpha",0),this.g.add(this.bf))};return a});define("fU",["require","fg","jk","bp"],function(a){var b=a("fg"),c=a("jk"),e=a("bp"),a=b.extend(c,function(a,b,e,h){c.call(this,a,b,e,h)});a.prototype.$r=function(){this.R.Fza&&e.Bg(this.g.Ta())};return a}); define("ea",["require","fg","l","kX","bq"],function(a){var b=a("fg"),c=a("l"),e=a("kX"),g=a("bq"),a=b.extend(c,function(a,b,e,g){c.call(this,a,b,e,g);this.O=r;this.Ec=y});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(a){if(!this.Ec&&(this.O||(this.O=new e("linear",[new g("alpha",0,1,m)],this.g.C.Zza()?this.R.dva:this.R.sba)),this.O.fb(a),a=this.O.Fb("alpha"),this.g.bg(this.R.cd).set("alpha",a),this.O.Re()))this.Ec=n};return a}); define("bt",["require","fg","l","kX","bq"],function(a){var b=a("fg"),c=a("l"),e=a("kX"),g=a("bq"),a=b.extend(c,function(a,b,e,g){c.call(this,a,b,e,g);this.O=r;this.Ec=y});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(a){if(!this.Ec&&(this.O||(this.O=new e("linear",[new g("alpha",1,0,m)],this.R.Oua)),this.O.fb(a),a=this.O.Fb("alpha"),this.g.bg(this.R.Mj).set("alpha",a),this.O.Re()))this.Ec=n};return a}); define("bN",["require","fg","l","kX","bq"],function(a){function b(a,b,c){for(;ac;)a-=c-b;return a}var c=a("fg"),e=a("l"),g=a("kX"),d=a("bq"),a=c.extend(e,function(a,b,c,d){e.call(this,a,b,c,d);this.O=r;this.Ec=y;this.rJ=0});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(a){if(!this.Ec&&(this.O||(this.O=this.rJthis.R.Hk.length&&(this.mb.PF(n),this.Ec=n)};a.prototype.wja=function(){var a=b(this.g.ac(),-180,180),c=this.g.ec();this.g.Qd();var e=this.g.Pe(),p=this.g.m.Ei,k=this.R.zi.get("hfov"),k={ma:this.R.zi.get("yaw"),pitch:this.R.zi.get("pitch",c),md:this.g.Qd(),bd:k?this.mb.mz(k):e,Ei:0};this.mb.Wxa(this.R.cd,k);k.ma=b(k.ma,a-180,a+180);var l=0.5=e?b(a,e,e+360):b(a,e-360,e);break;default:a=b(a,e-180,e+180)}return new g(c.get("easing"),[new d("yaw",e,a,c.get("yawSpeed")),new d("pitch",p,t,c.get("pitchSpeed")),new d("hfov",k,o,c.get("hfovSpeed")),new d("stereographicFactor",l,q,c.get("stereographicFactorSpeed"))],c.get("duration"))};return a}); define("eB",["require","fg","l","kX","bq"],function(a){var b=a("fg"),c=a("l"),e=a("kX"),g=a("bq"),a=b.extend(c,function(a,b,e,g){c.call(this,a,b,e,g);this.O=r;this.Ec=y});a.prototype.Ej=Q("Ec");a.prototype.Bi=function(a){if(!this.Ec){if(!this.O){var b=this.g.ec(),c=this.g.Pe(),j=this.g.m.Ei,p=this.R.Hd.get("stereographicFactor",0),k=Math.abs(j-p),l=0=1-0.5*this.sp*this.sp/this.VG?this.sp=Math.sqrt(2*(1-this.va)*this.VG):this.sp0.99&&(e=c+1);d.prototype.Yl.call(this,this.va*k.zA,k.zA,this.va*k.zA,k.zA,a,e)};k.prototype.dc=function(a){if(this.N){var b=this.g.ac(),c=this.g.ec(),d=this.g.Qd(),e=0;if(this.av!==m&&this.$U!==m&&this.R8!==m)var g=b-this.av,k=c-this.$U,p=d-this.R8,e=Math.sqrt(g*g+k*k+p*p)*1E3/a;this.av= b;this.$U=c;this.R8=d;for(var g=this.pI(this.N),x=this.va*(g-1),k=Math.max(0,Math.min(g-2,Math.floor(x))),p=k+1,x=1-(x-k),z=1-x,C=[],A=0;Ak?g+a:g-a:k>this.Vo&&k>x&&(g=Aa?c:1,c=b>a?1:1-c,g=0;gk&&l.Fk(),l.set("alpha",k))}this.Yl();this.tu||this.ea()}};a.prototype.dh=function(){return this.OI?this.tu?e.mc:e.P:e.H};a.prototype.Vg=function(){g.prototype.Vg.call(this,this.dh())};a.prototype.Yl=function(){var a=this.tc,b=this.gb,c=this.Z$(this.tc),e=this.Z$(this.gb),p=this.dk+1,k=0===this.jS()?this.Ox(): m;g.prototype.Yl.call(this,a,b,c,e,p,k)};return a});define("bv",["require","fg","js"],function(a){var b=a("fg"),c=a("js");return b.extend(c,function(a){c.call(this,a)})}); define("jA",["require","fg","ll","fu","js"],function(a){var b=a("fg"),c=a("ll"),e=a("fu"),g=a("js"),a=b.extend(g,function(a){g.call(this,a);this.rd=y});a.prototype.Bz=D();a.prototype.start=function(a){this.end();this.N=a;this.N.set("mute",this.rd);this.N.get("autoplay")&&this.N.set("state",e.P);this.io()};a.prototype.getTime=function(){return this.N?this.N.get("currentTime"):0};a.prototype.dh=function(){return this.N?this.N.get("state"):e.H};a.prototype.play=function(){this.N&&this.N.set("state", e.P)};a.prototype.pause=function(){this.N&&this.N.set("state",e.mc)};a.prototype.EN=function(){this.N&&this.N.set("state",e.mc)};a.prototype.stop=function(){this.N&&this.N.set("state",e.H)};a.prototype.end=function(){this.N&&(this.op(),this.N=r)};a.prototype.vw=function(a){this.N&&this.N.set("state",e.P);this.N&&this.N.set("currentTime",a)};a.prototype.Ld=function(a){this.rd=a;this.N&&this.N.set("mute",this.rd)};a.prototype.io=function(){this.N.bind(c.D("currentTime"),this.hd,this,n);this.N.bind(c.D("duration"), this.hj,this,n);this.N.bind(c.D("state"),this.xh,this,n);this.N.get("state")!=e.H&&this.Vg()};a.prototype.op=function(){this.N.unbind(c.D("currentTime"),this.hd,this,n);this.N.unbind(c.D("duration"),this.hj,this,n);this.N.unbind(c.D("state"),this.xh,this,n)};a.prototype.xh=function(){this.Vg()};a.prototype.hd=function(){this.Yl()};a.prototype.hj=function(){this.Yl()};a.prototype.Yl=function(){this.N&&g.prototype.Yl.call(this,this.N.get("currentTime"),this.N.get("duration"))};return a}); define("t","require,fg,fu,bZ,eO,dW,js,be,kp,bv,jA".split(","),function(a){var b=a("fg");a("fu");var c=a("bZ"),e=a("eO"),g=a("dW"),d=a("js"),f=a("be"),h=a("kp"),j=a("bv"),p=a("jA"),k=b.extend(e,function(a){e.call(this);this.g=a;this.KT=this.JH(h);this.NS=this.JH(f);this.SL=this.JH(p);this.mW=this.JH(j);this.oc=r});k.prototype.clear=function(){this.AH(this.KT);this.KT=r;this.AH(this.NS);this.NS=r;this.AH(this.SL);this.SL=r;this.AH(this.mW);this.g=this.oc=this.mW=r};k.prototype.JH=function(a){a=new a(this.g); a.bind(d.La,this.Zc,this,n);a.bind(d.Qj,this.Or,this,n);a.bind(d.wb,this.gd,this,n);return a};k.prototype.AH=function(a){a.unbind(d.La,this.Zc,this);a.unbind(d.Qj,this.Or,this);a.unbind(d.wb,this.gd,this);a.clear()};k.prototype.uT=function(a,b){return g.ub(b,a)};k.prototype.N4=function(a){return this.uT(a,"HDRPanorama")?this.NS:this.uT(a,"LivePanorama")?this.KT:this.uT(a,"VideoPanorama")?this.SL:this.mW};k.prototype.Bz=function(a){(this.oc=this.N4(a))&&this.oc.Bz(a)};k.prototype.start=function(a){this.Zc(); (this.oc=this.N4(a))&&this.oc.start(a)};k.prototype.dh=function(){if(this.oc)return this.oc.dh()};k.prototype.getTime=function(){return this.oc?this.oc.getTime():0};k.prototype.play=function(){this.oc&&this.oc.play()};k.prototype.pause=function(){this.oc&&this.oc.pause()};k.prototype.Iz=function(){this.oc&&this.oc.Iz()};k.prototype.Rz=function(){this.oc&&this.oc.Rz()};k.prototype.EN=function(){this.oc&&this.oc.EN()};k.prototype.stop=function(){this.oc&&this.oc.stop();this.trigger(new c(k.Qj,{duration:0, time:0,steps:m,selectedStep:m}))};k.prototype.end=function(){if(this.oc){this.oc.end();this.oc=r}};k.prototype.vw=function(a){this.oc&&this.oc.vw(a)};k.prototype.Rs=function(a){this.oc&&this.oc.Rs(a)};k.prototype.MN=function(){this.oc&&this.oc.MN()};k.prototype.dc=function(a){this.oc&&this.oc.dc(a)};k.prototype.Ld=function(a){this.SL.Ld(a)};k.prototype.Zc=function(){this.trigger(new c(k.La))};k.prototype.Or=function(a){this.trigger(new c(k.Qj,a.data))};k.prototype.gd=function(a){this.trigger(new c(k.wb, a.data))};k.La="request frame";k.Afa="frame display";k.Bfa="frame hide";k.Qj="time change";k.wb="playback state change";return k}); define("jB",["require","fg","ll","eO","iL"],function(a){var b=a("fg"),c=a("ll"),e=a("eO"),g=a("iL"),a=b.extend(e,function(a){e.call(this);this.g=a;this.bf=this.N=r});a.prototype.start=function(a){this.N=a;this.bf=this.g.bg(this.N);this.bf.bind(c.S,this.Ze,this,n);this.bf.bind(c.wc,this.ep,this,n);this.bf.get("ready")?this.trigger(c.Lb,{panorama:this.N}):this.bf.bind(c.Lb,this.KJ,this,n);this.bf.set("loadingActive",n)};a.prototype.stop=function(){this.N=r;this.bf&&(this.bf.unbind(c.Lb,this.KJ,this), this.bf.unbind(c.S,this.Ze,this),this.bf.unbind(c.wc,this.ep,this),this.bf.set("loadingActive",y),this.bf=r,this.trigger(c.pe))};a.prototype.clear=function(){this.stop()};a.prototype.KJ=function(){this.bf.unbind(c.Lb,this.KJ,this);this.trigger(c.Lb,{panorama:this.N})};a.prototype.Ze=function(){this.bf.unbind(c.Lb,this.KJ,this);this.bf.unbind(c.S,this.Ze,this);this.bf.unbind(c.wc,this.ep,this);this.bf=r;this.trigger(c.S,{panorama:this.N});this.N=r;this.trigger(c.pe)};a.prototype.ep=function(a){this.trigger(new g(c.wc, a.Kh))};return a}); define("hD","require,fg,ll,bZ,eO,I".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("I"),f=b.extend(g,function(a){g.call(this);this.g=a;this.vl=this.N=this.Sf=r;this.qa=this.$=0;this.ba=Math.PI*0.5});f.prototype.clear=function(){this.stop();this.l9();this.Sf=this.g=r};f.prototype.YZ=function(a){if(this.Sf!=a){this.l9();this.CH();this.Sf=a;this.h2();this.mha()}};f.prototype.mha=function(){this.Sf&&this.Sf.bind(c.D("map"),this.z7,this,y)};f.prototype.l9=function(){this.Sf&&this.Sf.unbind(c.D("map"), this.z7,this,y)};f.prototype.stop=function(){this.CH();this.N=r};f.prototype.dc=function(){this.$=this.g.ac();this.qa=this.g.ec();this.ba=this.g.Pe();this.Sf&&this.vl&&this.Sf.Kj(this.vl,this.$,this.qa,this.ba)};f.prototype.z7=function(){if(this.N){this.CH();(this.vl=this.G9(this.N,this.Sf.get("map",r),y))&&this.v$()}};f.prototype.display=function(a){if(this.N!=a){this.CH();this.N=a;this.h2()}};f.prototype.hide=function(a){this.N==a&&this.stop()};f.prototype.CH=function(){if(this.vl){this.uma();this.vl= r}};f.prototype.h2=function(){if(this.Sf&&this.N)(this.vl=this.G9(this.N,this.Sf.get("map",r),n))&&this.v$()};f.prototype.G9=function(a,b,c){for(var a=a.get("mapLocations",[]),e=0;e0?a[0]:r};f.prototype.v$=function(){this.Sf.gua(this.vl);this.Sf.bind(d.jh,this.r9,this,n);this.Sf.Kj(this.vl,this.$,this.qa,this.ba)};f.prototype.uma=function(){if(this.Sf){this.Sf.Nxa(this.vl);this.Sf.unbind(d.jh,this.r9,this)}};f.prototype.r9=function(a){this.trigger(new e(f.jh, {yawDelta:a.data.yawDelta}))};f.jh="request yaw change";return f}); define("eu",["require","fg","bZ","eO","dQ"],function(a){var b=a("fg"),c=a("bZ"),e=a("eO"),g=a("dQ"),d=b.extend(e,function(a){e.call(this);this.g=a;this.g.bind(g.HO,this.Z7,this,n)});d.prototype.clear=function(){this.g.unbind(g.HO,this.Z7,this,n);this.g=r};d.prototype.Ma=function(){this.g.Ma()};d.prototype.Z7=function(a){a=a.data.frameTime;this.trigger(new c(d.Wk,{frameTime:a}));this.trigger(new c(d.Xk,{frameTime:a}))};d.Wk="frameStart";d.Xk="positionSet";return d}); define("gv",["require","r","it"],function(a){function b(){this.ia=this.X=0;this.ba=90;this.ii="landscape";this.yU=y;this.LB=c.Za()}var c=a("r"),e=a("it");b.prototype.Gea=function(a){this.ba=this.Tba(a)};b.prototype.Tba=function(a){return this.LB&&"portrait"==this.ii?e.Kv(a,this.ia,this.X):a};b.prototype.Eva=function(a){return this.LB&&"portrait"==this.ii?e.Kk(a,this.X,this.ia):a};b.prototype.pm=function(a){return this.ba=this.LB&&this.yU?e.Kv(a,this.ia,this.X):a};b.prototype.kda=function(){return this.LB&& this.yU};b.prototype.Lp=function(){return this.LB&&"portrait"==this.ii};b.prototype.Pe=Q("ba");b.prototype.jM=function(a){return e.Kv(a,this.ia,this.X)};b.prototype.setSize=function(a,b){this.X=a;this.ia=b;var c=this.Kla();this.yU=this.ii!=c;this.ii=c};b.prototype.Kla=function(){return 0===this.X||0===this.ia?"landscape":this.Xj;)c=c-(j-e);b=b.pitch;return d<=c&&c<=f&&g<=b&&b<=t}.bind(this));if(e.length==0)return r;e.sort(function(b,e){var d=this.hr(b),f=this.hr(e);return(a-d.ma)*(a-d.ma)+(c-d.pitch)*(c-d.pitch)-((a-f.ma)*(a-f.ma)+(c-f.pitch)*(c-f.pitch))}.bind(this));return e[0]};a.prototype.hr=function(a){var b=a.get("yaw"),a=a.get("distance");if(b===m||a===m)return r; var c=this.N.get("distanceToFloor");return{ma:b,pitch:-90+Math.atan2(a,c)*f}};var f=180/Math.PI;return a}); define("iY","require,fg,ll,bZ,eO,cy,bg,lu,t,jB,hD,eu,gv,gF,cU".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("cy"),f=a("bg"),h=a("lu"),j=a("t"),p=a("jB"),k=a("hD"),l=a("eu"),q=a("gv"),o=a("gF"),t=a("cU"),s=b.extend(g,function(a,b){g.call(this);this.C=a;this.g=b;this.g.set("visible",y);this.xb=new q;this.ge=new l(this.g);this.ee=new p(this.g);this.Wa=new h(this.C,this.g,this.xb);this.oa=new f(this.g,this.xb);this.Dd=new j(this.g);this.Wo=new k(this.g);this.nc=new d(this.g); this.AL=new o(this.g);this.ge.bind(l.Wk,this.Kr,this,n);this.ge.bind(l.Xk,this.Lr,this,n);this.ee.bind(c.Lb,this.v7,this,n);this.ee.bind(c.pe,this.uC,this,n);this.ee.bind(c.wc,this.Zo,this,n);this.Wa.bind(h.La,this.Zc,this,n);this.Wa.bind(h.IO,this.w7,this,n);this.Wa.bind(h.zO,this.I7,this,n);this.Wa.bind(h.hO,this.N6,this,n);this.Wa.bind(h.iO,this.O6,this,n);this.Wa.bind(h.ot,this.DC,this,n);this.Wa.bind(h.mt,this.Jr,this,n);this.Wa.bind(h.nt,this.cp,this,n);this.Wa.bind(h.lt,this.CC,this,n);this.oa.bind(f.La, this.Zc,this,n);this.oa.bind(f.ih,this.Cl,this);this.oa.bind(f.Vk,this.Q7,this);this.oa.bind(f.wb,this.gd,this,n);this.oa.bind(f.Ae,this.Hl,this,n);this.oa.bind(f.ze,this.Gl,this,n);this.Dd.bind(j.La,this.Zc,this,n);this.Dd.bind(j.Qj,this.Or,this,n);this.Dd.bind(j.wb,this.gd,this,n);this.Wo.bind(k.jh,this.B7,this,n)});s.prototype.clear=function(){this.ee.clear();this.ge.clear();this.oa.clear();this.Wa.clear();this.Dd.clear();this.Wo.clear();this.nc.clear();this.ee.unbind(c.Lb,this.v7,this);this.ee.unbind(c.pe, this.uC,this);this.ee.unbind(c.wc,this.Zo,this);this.ge.unbind(l.Wk,this.Kr,this);this.ge.unbind(l.Xk,this.Lr,this);this.Wa.unbind(h.La,this.Zc,this);this.Wa.unbind(h.IO,this.w7,this);this.Wa.unbind(h.zO,this.I7,this);this.Wa.unbind(h.hO,this.N6,this);this.Wa.unbind(h.iO,this.O6,this);this.Wa.unbind(h.ot,this.DC,this);this.Wa.unbind(h.mt,this.Jr,this);this.Wa.unbind(h.nt,this.cp,this);this.Wa.unbind(h.lt,this.CC,this);this.oa.unbind(f.Dfa,this.Zc,this);this.oa.unbind(f.ih,this.Cl,this);this.oa.unbind(f.Vk, this.Q7,this);this.oa.unbind(f.wb,this.gd,this,n);this.oa.unbind(f.Ae,this.Hl,this);this.oa.unbind(f.ze,this.Gl,this);this.Dd.unbind(j.La,this.Zc,this);this.Dd.unbind(j.Qj,this.Or,this);this.Dd.unbind(j.wb,this.gd,this);this.Wo.unbind(k.jh,this.B7,this);this.C=this.g=this.AL=this.nc=this.Wo=this.Dd=this.Wa=this.oa=this.ge=this.ee=r};s.prototype.YZ=function(a){this.Wo.YZ(a)};s.prototype.gh=function(a,b,c){this.g.set("visible",n);this.Dd.EN();a.set("currentTime",c);this.Wa.start(a,b)};s.prototype.wz= function(){return this.ee.N||this.Wa.qva()||this.Wa.Hm};s.prototype.bq=function(){this.ee.stop();this.Dd.end();this.oa.end();this.Wa.hide();this.Wo.stop();this.nc.end();this.AL.end()};s.prototype.Rz=function(){this.oa.resume();this.Dd.Rz()};s.prototype.Iz=function(){this.oa.pause();this.Dd.Iz()};s.prototype.play=function(){this.oa.play();this.nc.play();this.Dd.play()};s.prototype.pause=function(){this.oa.pause();this.nc.pause();this.Dd.pause()};s.prototype.stop=function(){this.oa.stop();this.nc.stop(); this.Dd.stop()};s.prototype.Ss=function(a){this.oa.Ss(a);this.AL.Ss(a)};s.prototype.getTime=function(){return this.Dd.getTime()};s.prototype.moveTo=function(a,b,c,e,d){this.oa.moveTo(a,b,c,e,d)};s.prototype.ac=function(){return this.g?this.g.ac():m};s.prototype.ec=function(){return this.g?this.g.ec():m};s.prototype.Qd=function(){return this.g?this.g.Qd():m};s.prototype.Pe=function(){return this.g?this.xb.Eva(this.g.Pe()):m};s.prototype.rY=function(){return this.g?this.g.rY():m};s.prototype.sY=function(){return this.g? this.g.sY():m};s.prototype.gd=function(){var a=this.Dd.dh()||this.oa.dh();this.trigger(new e(s.wb,{state:a}))};s.prototype.fh=function(a){this.oa.fh(a)};s.prototype.KF=function(a){this.oa.KF(a)};s.prototype.Us=function(a){this.oa.Us(a)};s.prototype.LF=function(a){this.oa.LF(a)};s.prototype.Ld=function(a){this.Dd.Ld(a)};s.prototype.yw=function(a){this.oa.yw(a)};s.prototype.Sva=function(a,b){var c=t.get(a,b,this.g.ac(),this.g.ec(),this.g.Qd(),this.g.Pe(),this.g.Aa(),this.g.eb());return c?{x:c.x,y:c.y}: r};s.prototype.Jva=function(a,b){var c=t.Yza(a,b,this.g);return c?{yaw:c.ma,pitch:c.pitch}:r};s.prototype.IZ=function(){this.g.IZ()};s.prototype.w7=function(a){this.ee.start(a.data.panorama)};s.prototype.Zo=function(a){this.g.sN(n);this.trigger(new e(s.wm,{percent:a.Kh}))};s.prototype.v7=function(a){this.Dd.end();this.AL.gh(a.data.panorama)};s.prototype.uC=function(){this.g.sN(y);this.trigger(new e(s.ft))};s.prototype.Zc=function(){this.ge.Ma()};s.prototype.Kr=function(a){a=a.data.frameTime;this.xb.setSize(this.g.Aa(), this.g.eb());this.Wa.Xp(a);this.oa.Xp(a)};s.prototype.Lr=function(a){a=a.data.frameTime;this.Wa.dc(a);this.oa.dc(a);this.Dd.dc(a);this.Wo.dc(a);this.nc.dc(a)};s.prototype.DC=function(a){this.Wo.display(a.data.panorama);this.Dd.Bz(a.data.panorama);this.trigger(new e(s.ot,{panorama:a.data.panorama}))};s.prototype.I7=function(a){this.Wo.hide(a.data.panorama)};s.prototype.N6=function(a){this.Dd.start(a.data.panorama);this.nc.start(a.data.panorama)};s.prototype.O6=function(){this.Dd.end();this.g.set("visible", y)};s.prototype.CC=function(a){this.oa.end();this.nc.end(a.data.nextPanorama);this.trigger(new e(s.lt,{panorama:a.data.panorama}))};s.prototype.cp=function(a){this.oa.start(a.data.panorama,a.data.camera);this.trigger(new e(s.nt,{panorama:a.data.panorama}))};s.prototype.Jr=function(a){this.trigger(new e(s.mt,{panorama:a.data.panorama}))};s.prototype.B7=function(a){this.oa.c_(a.data.yawDelta,0)};s.prototype.Cl=function(a){this.trigger(new e(s.ih,a.data))};s.prototype.Q7=function(a){this.trigger(new e(s.Vk, a.data))};s.prototype.Hl=function(){this.Dd.MN();this.trigger(new e(s.Ae))};s.prototype.Gl=function(){this.trigger(new e(s.ze))};s.prototype.yea=function(a){this.Dd.vw(a)};s.prototype.Rs=function(a){this.Dd.Rs(a)};s.prototype.Or=function(a){this.trigger(new e(s.Qj,a.data))};s.wm="loadingProgress";s.ft="loadingEnd";s.ih="movementChange";s.Vk="positionChange";s.ot="panoramaStart";s.lt="panoramaEnd";s.nt="panoramaShow";s.mt="panoramaHide";s.wb="playbackStateChange";s.Ae="userInteractionStart";s.ze="userInteractionEnd"; s.Qj="timeChange";return s}); define("kZ","require,do,jquery.mod,fg,jd,ll,bZ,fu,ce,dW,jT,cu,dk,fE,iY,dr,dQ,fT,gL,bi,dm,fm".split(","),function(a){a("do");a("jquery.mod");var b=a("fg");a("jd");var c=a("ll"),e=a("bZ"),g=a("fu"),d=a("ce"),f=a("dW"),h=a("jT"),j=a("cu"),p=a("dk"),k=a("fE"),l=a("iY"),q=a("dr"),o=a("dQ"),t=a("fT"),s=a("gL"),v=a("bi"),u=a("dm"),w=a("fm"),x=b.extend(p,function(){p.call(this,"panorama");p.prototype.set.call(this,"zoomEnabled",n);p.prototype.set.call(this,"surfaceSelectionEnabled",y);p.prototype.set.call(this, "surfaceSelectionHorizontalAngle",90);p.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);p.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",y);p.prototype.set.call(this,"fxaaEnabled",y);p.prototype.set.call(this,"aaEnabled",y);this.wW=this.YS=this.jr=this.gJ=this.qQ=this.Rr=this.Df=this.RP=y;this.ES=n;this.pl=this.Yx=this.HH=y;this.jI=this.bS=this.tc=this.gb=0;this.OU=this.QU=m;this.aU=n;this.Yf=g.H;this.o=this.g=r;this.z6={};for(var a in x.ho)this.z6[a]=this.Lja(a);this.kH= new h(this,"buttonToggleGyroscope",u.Qh);this.kH.bind(c.Dg,function(){this.set("gyroscopeEnabled",n)},this);this.kH.bind(c.Ph,function(){this.set("gyroscopeEnabled",y)},this);this.kH.set("pressed",this.get("gyroscopeEnabled")&&t.available);this.eia=new h(this,"buttonCardboardView",u.Wc);this.eia.bind(c.U,function(){this.set("viewMode",x.Aq)},this,n);this.tia=new h(this,"buttonVRView",u.Wc);this.tia.bind(c.U,function(){this.set("viewMode",x.Aq)},this,n);v.bind(c.aa,function(){this.raa("viewMode"); this.trigger(x.$_)},this,n);this.lH=new h(this,"buttonToggleHotspots",u.Qh);this.lH.bind(c.Dg,function(){this.set("hotspotsEnabled",n)},this);this.lH.bind(c.Ph,function(){this.set("hotspotsEnabled",y)},this);this.lH.set("pressed",this.get("hotspotsEnabled"));this.nH=new h(this,"buttonToggleSurfaceSelection",u.Qh);this.nH.bind(c.Dg,function(){this.set("surfaceSelectionEnabled",n)},this);this.nH.bind(c.Ph,function(){this.set("surfaceSelectionEnabled",y)},this);this.nH.set("pressed",this.get("surfaceSelectionEnabled")); this.ria=new h(this,"buttonScreenshot",u.Wc);this.ria.bind(c.U,this.A9,this,n);this.Ac=b.nm(this.Oe,this);this.set("arrowKeysAction","rotate");this.set("doubleClickAction","inherit");this.set("hotspotsEnabled",n);this.set("preloadEnabled",n);this.set("keyboardTranslateSelectionAngle",90)});x.S_="cameraPositionChange";x.Ae="userInteractionStart";x.ze="userInteractionEnd";x.wm="loadingProgress";x.X_="preloadMediaShow";x.$_="viewModeChange";f.A("PanoramaPlayer",x).B("Object").J({aaEnabled:"bool",actualHFOV:"number", actualVFOV:"number",arrowKeysAction:"enum[rotate, translate, none]",buttonCardboardView:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveDown:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveLeft:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveRight:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMoveUp:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayDown:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayLeft:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayRight:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlayUp:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleGyroscope:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleHotspots:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleSurfaceSelection:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonVRView:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonZoomIn:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonZoomOut:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonScreenshot:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",camera:"PanoramaCamera",currentTime:"number",displayPlaybackBar:"bool",doubleClickAction:"enum[toggle_fullscreen, translate, inherit]",fxaaEnabled:"bool",gyroscopeEnabled:"bool",gyroscopeVerticalDraggingEnabled:"bool",hdrPanoramaDisplayPlaybackBar:"bool",hdrPanoramaDisplayPlaybackBarSteps:"bool",hfov:"number",hotspotsEnabled:"bool", keyboardTranslateSelectionAngle:"number",livePanoramaDisplayPlaybackBar:"bool",livePanoramaDisplayPlaybackBarSteps:"bool",mapPlayer:"MapPlayer",mode:"enum[fast, quality]",mouseControlMode:"enum[drag_acceleration, drag_rotation]",panorama:"Panorama",pitch:"number",preloadEnabled:"bool",roll:"number",startTime:"number",state:"enum[stopped, playing, paused]",adjacentPanoramaPositionsEnabled:"bool",surfaceSelectionHorizontalAngle:"number",surfaceSelectionVerticalAngle:"number",surfaceSelectionEnabled:"bool", touchControlMode:"enum[drag_acceleration, drag_rotation]",video:"Video360",viewMode:"enum[standard, cardboard, vr]",videoPanoramaDisplayPlaybackBar:"bool",viewerArea:"ViewerArea",yaw:"number",zoomEnabled:"bool"}).Xb([c.DG,x.S_,x.wm,x.Ae,x.ze,x.X_,x.$_,c.gc,j.ne,j.dg]).Cg({moveLeft:function(){this.Cb(q.Ow)},moveRight:function(){this.Cb(q.Pw)},moveUp:function(){this.Cb(q.Qw)},moveDown:function(){this.Cb(q.Nw)},playLeft:function(){this.Cb([q.Ow,q.P])},playRight:function(){this.Cb([q.Pw,q.P])},playUp:function(){this.Cb([q.Qw, q.P])},playDown:function(){this.Cb([q.Nw,q.P])},play:function(){this.Rg()},pause:function(){this.rk()},stop:function(){this.Nr()},seek:function(a){this.hs(a)},setFramePlaybackPosition:function(a){this.Sqa(a)},setFrameTransitionPosition:function(a){this.Tqa(a)},restart:function(){this.Mr()},zoomIn:function(){this.Cb(q.eo)},zoomOut:function(){this.Cb(q.fo)},resumeCamera:function(){this.bqa()},pauseCamera:function(){this.$oa()},moveTo:function(a,b,c,e){this.y6(a,b,c,e,y)},setPosition:function(a,b,c, e){this.y6(a,b,c,e,n)},getScreenPosition:function(a,b){return this.Zla(a,b)},getPanoramaPosition:function(a,b){return this.Lla(a,b)},saveScreenshot:function(){return this.A9()}});x.prototype.get=function(a,b){switch(a){case "currentTime":return this.o&&this.o.getTime()||0;case "viewMode":return v.isPresenting()?x.Aq:x.DP;case "video":a="panorama";break;case "rendererPanorama":return this.o&&this.o.wz()}if(!b)switch(a){case "mouseControlMode":b=d.n0;break;case "touchControlMode":b=d.f1}return p.prototype.get.call(this, a,b)};x.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "application":this.RP=n;this.Ac();break;case "startTime":this.Rr=n;this.Ac();break;case "video":case "panorama":a="panorama";this.Rr=n;this.Ac();break;case "camera":this.qQ=n;this.Ac();break;case "viewerArea":this.Df=n;this.Ac();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.pl=n;this.Ac();break;case "mapPlayer":this.gJ= n;this.Ac();break;case "gyroscopeEnabled":this.jr=n;this.Ac();break;case "gyroscopeVerticalDraggingEnabled":this.ES=n;this.Ac();break;case "viewMode":if(b=="vr")b=x.Aq;b==x.Aq&&!v.isPresenting()?v.Fh():b!=x.Aq&&v.isPresenting()&&v.$d();b=v.isPresenting()?x.Aq:x.DP;break;case "hotspotsEnabled":this.YS=n;this.Ac();break;case "mouseControlMode":case "touchControlMode":this.HH=n;this.Ac();break;case "surfaceSelectionEnabled":o.Wea()||(b=y);this.wW=n;this.Ac()}p.prototype.set.call(this,a,b)}};x.prototype.rm= function(a){this.Yx=a;this.o&&this.o.Ss(this.Yx)};x.prototype.zba=function(){return this.get("doubleClickAction")!="inherit"};x.prototype.hQ=function(a){p.prototype.hQ.call(this,a);a.bind(c.CG,this.dba,this,n)};x.prototype.UW=function(a){p.prototype.UW.call(this,a);a.unbind(c.CG,this.dba,this,n)};x.prototype.dba=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.get("application").mg;a&&a.available()&&a.toggle()}};x.prototype.Lja=function(a){var b=x.ho[a],a=new h(this, a,u.Wc);a.bind(c.Hb,function(){this.Cb(b.movement)},this);b.stopOnRelease&&a.bind(c.fc,function(){this.Cb(q.pe)},this);return a};x.prototype.Oe=function(){if(this.Df||this.RP){this.Df=this.RP=y;this.HH=this.jr=this.gJ=n;this.Ao();this.get("viewerArea")&&this.get("application")&&this.xo();this.GD(this.get("viewerArea"))}var a=y;if(this.g){if(this.gJ){this.gJ=y;this.o.YZ(this.get("mapPlayer"))}if(this.HH){this.HH=y;this.o.Us(this.get("mouseControlMode"));this.o.yw(this.get("touchControlMode"))}if(this.Rr|| this.qQ){this.jI=this.bS=this.gb=this.tc=0;this.OU=this.QU=m;a=n;this.qQ=this.Rr=y;if(this.get("panorama")){this.sD();this.o.gh(this.get("panorama"),this.get("camera",new k),this.get("startTime"))}else{this.o.bq();this.aU=n;this.Yf=g.H;this.Zb(g.H)}}if(this.ES){this.ES=y;this.o.LF(this.get("gyroscopeVerticalDraggingEnabled",n))}if(this.jr){this.jr=y;var b=this.get("gyroscopeEnabled")&&t.available;if(b&&t.disabled){b=y;s.f0.show(function(){t.EZ(function(){this.set("gyroscopeEnabled",n)}.bind(this))}.bind(this))}this.set("gyroscopeEnabled", b);this.o.KF(b);this.kH.set("pressed",b)}if(this.YS){this.YS=y;this.lH.set("pressed",this.get("hotspotsEnabled"))}if(this.pl){this.pl=y;a=n}if(this.wW){this.wW=y;this.nH.set("pressed",this.get("surfaceSelectionEnabled"))}a&&this.ts()}};x.prototype.Sy=function(){this.set("panorama",r)};x.prototype.xo=function(){var a=this.get("viewerArea"),b=this.get("application");this.g=new o(b,a,this);this.g.M({left:0,top:0,bottom:0,right:0});a.la(this.g);this.o=new l(a,this.g);this.o.bind(l.ih,this.Cl,this);this.o.bind(l.Vk, this.V6,this);this.o.bind(l.wm,this.Zo,this);this.o.bind(l.ft,this.ly,this);this.o.bind(l.nt,this.cp,this,n);this.o.bind(l.mt,this.Jr,this,n);this.o.bind(l.ot,this.DC,this,n);this.o.bind(l.lt,this.CC,this,n);this.o.bind(l.wb,this.gd,this);this.o.bind(l.Ae,this.Hl,this);this.o.bind(l.ze,this.Gl,this);this.o.bind(l.Qj,this.Or,this);this.get("application").bind(c.D("mute"),this.BC,this);this.get("application").get("mute",y)&&this.o.Ld(n);this.o&&this.o.Ss(this.Yx);v.bind(c.aa,this.pk,this,n);this.RQ(); this.ks(n)};x.prototype.Ao=function(){if(this.g){this.o.unbind(l.ih,this.Cl,this);this.o.unbind(l.Vk,this.V6,this);this.o.unbind(l.wm,this.Zo,this);this.o.unbind(l.ft,this.ly,this);this.o.unbind(l.nt,this.cp,this,n);this.o.unbind(l.mt,this.Jr,this,n);this.o.unbind(l.ot,this.DC,this,n);this.o.unbind(l.lt,this.CC,this,n);this.o.unbind(l.wb,this.gd,this);this.o.unbind(l.Ae,this.Hl,this);this.o.unbind(l.ze,this.Gl,this);this.o.unbind(l.Qj,this.Or,this);this.o.clear();this.o=r;this.get("application").unbind(c.D("mute"), this.BC,this);this.g.getParent().removeChild(this.g);this.g=r;v.unbind(c.aa,this.pk,this,n);this.ks(y)}};x.prototype.BC=function(){this.g&&this.o.Ld(this.get("application").get("mute",y))};x.prototype.gd=function(a){this.Yf=a.data.state;this.je()};x.prototype.je=function(){this.Zb(this.aU||v.isPresenting()?this.Yf:g.P)};x.prototype.Hl=function(){this.trigger(new e(x.Ae))};x.prototype.Gl=function(){this.trigger(new e(x.ze))};x.prototype.DC=function(a){this.trigger(new e(x.X_,{panorama:a.data.panorama}))}; x.prototype.CC=D();x.prototype.cp=function(a){this.RQ();this.hC(a.data.panorama)};x.prototype.Jr=function(a){this.gC(a.data.panorama)};x.prototype.Cl=function(a){for(var b in x.ho)this.z6[b].set("state",a.data[x.ho[b].pressedOn]?w.Ca:w.dd);this.aU=a.data.stopped;this.je();this.trigger(new e(c.DG,a.data))};x.prototype.V6=function(a){this.RQ();this.trigger(new e(x.S_,a.data))};x.prototype.RQ=function(){if(this.o){this.set("yaw",this.o.ac());this.set("pitch",this.o.ec());this.set("roll",this.o.Qd()); this.set("hfov",this.o.Pe());this.set("actualHFOV",this.o.rY());this.set("actualVFOV",this.o.sY())}};x.prototype.Zo=function(a){this.g.getParent().M({progressPercent:a.data.percent,progressVisible:n});this.trigger(new e(x.wm,a.data))};x.prototype.ly=function(){this.g.getParent().set("progressVisible",y)};x.prototype.pk=function(){this.set("viewMode",v.isPresenting()?x.Aq:x.DP);this.je()};x.prototype.y6=function(a,b,c,e,d){this.o&&this.o.moveTo(a,b,c,e,d)};x.prototype.Cb=function(a){this.o&&this.o.fh(a)}; x.prototype.Rg=function(){this.o.play()};x.prototype.vj=function(){this.o.stop()};x.prototype.rk=function(){this.o.pause()};x.prototype.hs=function(a){this.o&&(this.Q4()?this.o.Rs(a):this.o.yea(a))};x.prototype.Sqa=function(a){this.o&&this.o.yea(a)};x.prototype.Tqa=function(a){this.o&&this.o.Rs(a)};x.prototype.$oa=function(){this.o&&this.o.Iz()};x.prototype.bqa=function(){this.o&&this.o.Rz()};x.prototype.Zla=function(a,b){if(this.o)return this.o.Sva(a,b)};x.prototype.Lla=function(a,b){if(this.o)return this.o.Jva(a, b)};x.prototype.A9=function(){this.o&&this.o.IZ()};x.prototype.dD=function(a){this.hs(a.data.position)};x.prototype.Or=function(a){this.tc=a.data.time;this.gb=a.data.duration;this.bS=a.data.transitionPosition;this.jI=a.data.transitionLength;this.QU=a.data.steps;this.OU=a.data.selectedStep;this.ts()};x.prototype.ts=function(){var a=this.g.getParent(),b=y;if(this.mla()){var c=this.Q4(),e=this.Nla();if(c){if(this.jI>0){a.M({playbackBarPosition:this.bS,playbackBarDuration:this.jI,playbackBarSteps:this.QU, playbackBarSelectedStep:this.OU,playbackBarLiveDragging:e});b=n}}else if(this.gb>0){a.M({playbackBarPosition:this.tc,playbackBarDuration:this.gb,playbackBarSteps:m,playbackBarSelectedStep:m,playbackBarLiveDragging:e});b=n}}a.set("playbackBarVisible",b)};x.prototype.mla=function(){var a=this.get("panorama");return a?f.ub("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",y)):f.ub("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBar",this.get("displayPlaybackBar", y)):f.ub("VideoPanorama",a)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",n)):y:y};x.prototype.Q4=function(){var a=this.get("panorama");return!a?y:f.ub("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBarSteps",n):f.ub("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBarSteps",n):y};x.prototype.Nla=function(){var a=this.get("panorama");return!a||f.ub("VideoPanorama",a)?y:n};x.Aq="cardboard";x.DP="standard";x.ho={buttonMoveLeft:{movement:q.Ow,pressedOn:"movingLeft", stopOnRelease:n},buttonMoveRight:{movement:q.Pw,pressedOn:"movingRight",stopOnRelease:n},buttonMoveUp:{movement:q.Qw,pressedOn:"movingUp",stopOnRelease:n},buttonMoveDown:{movement:q.Nw,pressedOn:"movingDown",stopOnRelease:n},buttonPlayLeft:{movement:[q.Ow,q.P],pressedOn:"movingLeft",stopOnRelease:y},buttonPlayRight:{movement:[q.Pw,q.P],pressedOn:"movingRight",stopOnRelease:y},buttonPlayUp:{movement:[q.Qw,q.P],pressedOn:"movingUp",stopOnRelease:y},buttonPlayDown:{movement:[q.Nw,q.P],pressedOn:"movingDown", stopOnRelease:y},buttonZoomIn:{movement:q.eo,pressedOn:"zoomingIn",stopOnRelease:n},buttonZoomOut:{movement:q.fo,pressedOn:"zoomingOut",stopOnRelease:n}};return x}); define("cb","fg,bZ,dW,cu,kZ,dl".split(","),function(a,b,c,e,g,d){a=a.extend(d,function(){d.call(this)});c.A("PanoramaPlayListItem",a).B("PlayListItem").J({media:"Panorama",camera:"PanoramaCamera",player:"PanoramaPlayer"});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");if(a){a.bind(e.ne,this.cp,this);a.set("panorama",this.get("media"));a.set("camera",this.get("camera"))}};a.prototype.stop=function(){var a=this.get("player");if(a){a.unbind(e.ne,this.cp,this);a.get("panorama")== this.get("media")&&a.set("panorama",r)}d.prototype.stop.call(this)};a.prototype.cp=function(a){if(a.data.media==this.get("media")){this.get("player").unbind(e.ne,this.cp,this);this.get("player").bind(e.dg,this.Jr,this);this.Jv()}};a.prototype.Jr=function(a){if(a.data.media==this.get("media")){this.get("player").unbind(e.dg,this.Jr,this);this.end()}};return a}); define("iO",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("PanoramaSnapshot",b).B("Object").J({position:"PanoramaCameraPosition",image:"ImageResource"});return b});define("kf",["fg","bS"],function(a,b){var c=a.extend(b,function(a,c,d,f){b.call(this);this.vd=a;this.X=c;this.ia=d;this.WR=f});c.prototype.Kn=function(){return[this.vd]};c.prototype.Dj=Q("vd");c.prototype.ad=Q("X");c.prototype.Pd=Q("ia");return c}); define("ex","require,do,fg,dW,du,eH,kf".split(","),function(a){var b=a("do"),c=a("fg"),e=a("dW"),g=a("du"),d=a("eH"),f=a("kf"),a=c.extend(g,function(){g.call(this);this.Y=m});e.A("Photo",a).B("Media").J({audios:"array[PhotoAudio]",duration:"number",height:"number",image:"ImageResource",width:"number",flipImageHorizontally:"bool"});a.prototype.bh=function(){if(this.Y==m){var a=this.get("image");this.Y=a?new f(d.jm(a).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally", y)):r}return this.Y};a.prototype.In=function(){var a=this.qI(this.bh());b(this.get("audios",[])).each(function(b){a=a.concat(b.In())},this);return a};a.prototype.qI=function(a){return a?a.Kn():[]};return a}); define("hl",["do","fg","ll","du","dW"],function(a,b,c,e,g){b=b.extend(e,function(){e.call(this);this.set("loop",y)});g.A("PhotoAlbum",b).B("Media").J({audios:"array[PhotoAlbumAudio]",loop:"bool",playList:"PhotoPlayList"}).Xb([c.Ba]);b.prototype.In=function(){var b=[],c=this.get("playList");c&&a(c.get("items"),[]).each(function(a){(a=a.get("media"))&&(b=b.concat(a.In()))});a(this.get("audios",[])).each(function(a){b=b.concat(a.In())});return b};return b}); define("gp","require,fg,ge,dW,gN,z".split(","),function(a){var b=a("fg"),c=a("ge"),e=a("dW"),g=a("gN");a("z");a=b.extend(g,function(){g.call(this,c.gga)});e.A("PhotoAlbumAudio",a).B("MediaAudio");return a}); define("cs",["require","fu"],function(a){function b(a,b){this.g=a;this.hl=b;this.hx=[];this.Dm=[];this.dm=1}var c=a("fu");b.prototype.clear=function(){for(var a=0;athis.ta&&(this.ta=1);var a=Math.min(0.5/this.ta,0.5),b=Math.max(1-0.5/this.ta,0.5);this.dab&&(this.da=b);a=Math.min(0.5/this.ta,0.5);b=Math.max(1-0.5/this.ta,0.5);this.fab&&(this.fa=b)}};return c}); define("bn",[],function(){function a(a,c){this.g=a;this.I=c;this.fa=this.da=0.5;this.ta=1;this.DK=y}a.prototype.start=function(){this.fa=this.da=0.5;this.ta=1;this.DK=n};a.prototype.clear=function(){this.I=this.g=r};a.prototype.Ka=function(a,c,e){this.da=a;this.fa=c;this.ta=e};a.prototype.ld=Q("DK");a.prototype.fb=function(){this.DK=y};return a}); define("fX",["fg","jd","dW"],function(a,b,c){a=a.extend(b,function(a,c,d){b.call(this);a!=m&&this.set("x",a);c!=m&&this.set("y",c);d!=m&&this.set("zoomFactor",d)});c.A("PhotoCameraPosition",a).B("Object").J({x:"number",y:"number",zoomFactor:"number"});return a}); define("h",["fg","bn","fX","kX","bq"],function(a,b,c,e,g){a=a.extend(b,function(a,c){b.call(this,a,c);this.O=r});a.prototype.start=function(a){var b=a.get("initialPosition",new c(0.5,0.5,1)),h=a.get("targetPosition",new c(0.5,0.5,1));this.O=new e(a.get("easing","linear"),[new g("x",b.get("x",0.5),h.get("x",0.5)),new g("y",b.get("y",0.5),h.get("y",0.5)),new g("zoom",b.get("zoomFactor",1),h.get("zoomFactor",1))],a.get("duration",1E3));this.fb(0)};a.prototype.clear=function(){this.O=r;b.prototype.clear.call(this)}; a.prototype.ld=function(){return this.O!=r};a.prototype.fb=function(a){this.O&&(this.O.fb(a),this.I.Ka(this.O.Fb("x"),this.O.Fb("y"),this.O.Fb("zoom")),this.da=this.I.getX(),this.fa=this.I.getY(),this.ta=this.I.lm(),this.O.Re()&&(this.O=r))};return a}); define("ci","fg,bZ,eO,dW,fu,jn,j,bn,h,ll".split(","),function(a,b,c,e,g,d,f,h,j,p){var k=a.extend(c,function(a,b){c.call(this);this.g=a;this.sc=b;this.g.bind(p.zb,this.lb,this);this.m=g.H;this.nj=this.lK=this.Ab=this.Y=r;this.I=new f});k.prototype.clear=function(){this.end();this.I=r;this.g.unbind(p.zb,this.lb,this);this.g=r};k.prototype.end=function(a){if(this.Y==a||typeof a=="undefined"){this.U3();this.Ab=this.lK=this.Ab=this.Y=r}};k.prototype.start=function(a){if(this.Y!=a){this.end(this.Y);var b= a.get("media"),c=a.get("camera"),e=b.get("width",100),f=b.get("height",100),g=c?c.get("scaleMode",d.Te):d.Te;this.Y=a;this.Ab=c;this.lK=b;b.bh();this.W=n;this.I.HF(e,f,g);this.Nja(c);this.ea()}};k.prototype.stop=function(){if(this.m!=g.H){this.m=g.H;if(this.nj){this.nj.start(this.Ab);this.ea()}}};k.prototype.play=function(){if(this.m==g.H||this.m==g.mc){this.m=g.P;this.ea()}};k.prototype.pause=function(){if(this.m==g.P)this.m=g.mc};k.prototype.Xp=function(a){if(this.nj&&this.nj.ld()){if(this.m==g.P){this.nj.fb(a); this.ea()}this.qi(this.nj.da,this.nj.fa,this.nj.ta)}};k.prototype.Nja=function(a){this.U3();this.nj=e.ub("MovementPhotoCamera",a)?new j(this.g,this.I):new h(this.g,this.I);this.nj.start(a)};k.prototype.U3=function(){if(this.nj){this.nj.clear();this.nj=r}};k.prototype.lb=function(){this.I.setSize(this.g.Aa(),this.g.eb());this.ea()};k.prototype.ea=function(){this.trigger(new b(k.La))};k.prototype.qi=function(a,b,c){this.sc.Ka(this.Y,a,b,c)};k.La="request frame";return k}); define("gj","require,do,fg,bZ,eO,ll,ge,jn".split(","),function(a){var b=a("do"),c=a("fg"),e=a("bZ"),g=a("eO"),d=a("ll");a("ge");var f=a("jn"),h=c.extend(g,function(a,b){g.call(this);this.QD=[];this.C=a;this.g=b});h.prototype.Nz=function(a){this.gr(a).Nz();return this};h.prototype.yd=function(a,b){this.gr(a).yd(b);return this};h.prototype.Ij=function(a,b){this.gr(a).Ij(b);return this};h.prototype.Ka=function(a,b,c,d){this.gr(a).Ka(b,c,d);return this};h.prototype.Fk=function(a){this.gr(a).Fk();return this}; h.prototype.stop=function(){this.h4(function(a){a.clear()});this.QD=[]};h.prototype.clear=function(){this.stop();this.g=this.C=this.QD=r};h.prototype.dc=function(){this.h4(function(a){a.update()})};h.prototype.gr=function(a){var b=this.Ika(a);if(!b){b=new j(a,this.g);b.bind(j.T0,this.lna,this);b.bind(j.R0,this.kna,this);this.QD.push(b)}return b};h.prototype.h4=function(a){b(this.QD).each(a,this)};h.prototype.Ika=function(a){return b(this.QD).find(function(b){return b.getItem()==a})};h.prototype.lna= function(){this.ea()};h.prototype.kna=function(a){this.trigger(new e(h.DO,{item:a.source.getItem()}))};h.prototype.ea=function(){this.trigger(new e(h.La))};h.La="request frame";h.DO="photo preload end";var j=c.extend(g,function(a,b){g.call(this);this.Y=a;this.g=b;var c=a.get("camera");this.Fd=c?c.get("scaleMode",f.Te):f.Te;this.rg=a.get("media").bh();this.rg.bind(d.S,this.Ze,this);this.rg.bind(d.oe,this.Er,this);this.T=j.DA;this.fa=this.da=0.5;this.ta=1;this.Xj=0;this.kx=y;this.te=0;this.Z=y});j.prototype.getItem= Q("Y");j.prototype.Nz=function(){this.T==j.DA?this.qK():this.paa()};j.prototype.yd=function(a){if(this.Xj!=a){this.Xj=a;this.ed()}};j.prototype.Ij=function(a){if(this.te!=a){this.te=a;this.ed()}};j.prototype.Ka=function(a,b,c){if(this.da!=a||this.fa!=b||this.ta!=c){this.da=a;this.fa=b;this.ta=c;this.ed()}};j.prototype.Fk=function(){if(!this.kx){this.kx=n;this.ed()}};j.prototype.clear=function(){this.T==j.RG&&this.qD();(this.T==j.AA||this.T==j.CA||this.T==j.BA)&&this.rs();this.rg.unbind(d.S,this.Ze); this.rg.unbind(d.oe,this.Er);this.rg=r};j.prototype.update=function(){if(this.Z){this.Z=y;if(this.te>-1&&this.te<1&&this.Xj>0){this.T==j.DA&&this.YB();this.T==j.AA&&this.Yga();if(this.T==j.RG){if(this.kx){this.g.aY(this.rg);this.kx=y}this.g.qm(this.rg,this.Xj);this.g.Hya(this.rg,this.te);this.g.NF(this.rg,this.da,this.fa,this.ta)}}else{this.T==j.RG&&this.qD();(this.T==j.AA||this.T==j.BA)&&this.rs()}}};j.prototype.ed=function(){if(!this.Z){this.Z=n;this.Ia()}};j.prototype.Ia=function(){this.trigger(new e(j.T0))}; j.prototype.qK=function(){this.T=j.CA;this.g.Mn(this.rg);this.g.hda(this.rg)&&this.Ze()};j.prototype.YB=function(){this.T=j.BA;this.g.Mn(this.rg);this.g.hda(this.rg)&&this.Ze()};j.prototype.Yga=function(){this.T=j.RG;this.g.VX(this.rg);this.g.Kya(this.rg,this.Fd)};j.prototype.qD=function(){this.T=j.AA;this.g.removeItem(this.rg)};j.prototype.rs=function(){this.T=j.DA;this.g.Fi(this.rg)};j.prototype.Ze=function(){if(this.T==j.CA||this.T==j.BA){var a=this.T==j.CA;this.T=j.AA;this.ed();a&&this.paa()}}; j.prototype.Er=function(){if(this.T==j.CA||this.T==j.BA)this.T=j.DA};j.prototype.paa=function(){this.trigger(new e(j.R0))};j.T0="requestUpdate";j.R0="preloadEnd";j.DA="unloaded";j.CA="preloading";j.BA="loading";j.AA="loaded";j.RG="added";return h});define("ki",[],function(){return{vm:"blending",bl:"scroll"}}); define("bJ","do,fg,bZ,eO,ll,gj,ki".split(","),function(a,b,c,e,g,d,f){function h(b,c,d){this.Aj=b;this.item=c;this.dfa=d;this.index=b&&c?a(b.get("playList").get("items")).indexOf(this.item):0;this.loaded=y}h.prototype.isEqual=function(a){return a&&a.Aj==this.Aj&&a.item==this.item};var j=b.extend(e,function(a,b,c){e.call(this);this.C=a;this.g=b;this.sc=c;this.sc.bind(d.DO,this.E8,this);this.dE=f.vm;this.T=j.Yw;this.Od=new h(r,r,0);this.zo=this.zh=this.We=r;this.eE=m;this.gs=0});j.prototype.kza=P("dE"); j.prototype.d_=P("gs");j.prototype.u_=function(a,b,c){this.zh=r;a=new h(a,b,c);if(!a.isEqual(this.T==j.Yw?this.Od:this.We)){this.zh=a;this.K7()}};j.prototype.clear=function(){(this.T==j.UG||this.T==j.SG)&&this.trigger(new c(j.nq,{album:this.We.Aj,item:this.We.item}));this.T=j.Yw;this.g=this.C=this.zo=this.Od=this.We=this.zh=r;this.sc.unbind(d.DO,this.E8,this);this.sc=r};j.prototype.dc=function(a){if(this.T!=j.Yw){this.eE=this.eE+a;a=this.We.dfa;a=this.eE>=a?1:this.eE/a;this.T==j.SG?this.dta(a):this.T== j.TG?this.eta(a):this.dE==f.vm?this.Vsa(a):this.Ata(a);a<1?this.ea():this.ar()}};j.prototype.dta=function(a){this.sc.yd(this.We.item,a).Ij(this.We.item,0)};j.prototype.eta=function(a){this.sc.yd(this.Od.item,1-a).Ij(this.Od.item,0)};j.prototype.Vsa=function(a){this.sc.yd(this.We.item,Math.min(1,a*2)).Ij(this.We.item,0);this.sc.yd(this.Od.item,Math.min(1,(1-a)*2)).Ij(this.Od.item,0)};j.prototype.Ata=function(a){var b=this.Od.Aj!=this.We.Aj||this.Od.index0?d[e-1]:r;this.yk=e1){a="quad_out";b=this.kJ}else if(this.fL<-1){a="quad_out";b=this.nJ}else{a="quad_in_out";b=this.te<-0.5?this.nJ:this.te>0.5?this.kJ:0}this.O=new l(a,[new q("offset",this.te,b,1E3/this.Me)],0);this.ea()}};o.prototype.dc=function(a){if(this.ni||this.O){if(this.O){this.O.fb(a);this.te=this.O.Fb("offset");if(this.O.Re()){this.O= r;this.tka()}else this.ea()}this.Y&&this.sc.Ij(this.Y,this.te*(1+this.gs)).yd(this.Y,1);this.kk&&this.sc.Ij(this.kk,(this.te-1)*(1+this.gs)).yd(this.kk,1);this.yk&&this.sc.Ij(this.yk,(this.te+1)*(1+this.gs)).yd(this.yk,1)}};o.prototype.tka=function(){this.trigger(new c(o.mO,{album:this.pd,item:this.te<0?this.yk:this.te>0?this.kk:this.Y}))};o.prototype.ea=function(){this.trigger(new c(o.La))};o.prototype.a5=function(a){var b=a&&a.get("camera"),c=a&&a.get("media"),a=c&&c.get("width",100)||100,c=c&& c.get("height",100)||100,e=b?b.get("scaleMode",f.Te):f.Te,g={};if(d.ub("MovementPhotoCamera",b)){b=b.get("initialPosition",new h(0.5,0.5,1));g.x=b.get("x",0.5);g.y=b.get("y",0.5);g.zoom=b.get("zoomFactor",0.5)}else{g.x=0.5;g.y=0.5;g.zoom=1}this.I.HF(a,c,e);this.I.setSize(this.g.Aa(),this.g.eb());this.I.Ka(g.x,g.y,g.zoom);g.x=this.I.getX();g.y=this.I.getY();g.zoom=this.I.lm();return g};o.La="request frame";o.lO="interaction begin";o.mO="interaction end";return o}); define("hb","fg,bZ,eO,ll,gj,ki,bJ,er".split(","),function(a,b,c,e,g,d,f,h){var j=a.extend(c,function(a,b,e){c.call(this);this.C=a;this.g=b;this.sc=e;this.dE=d.vm;this.Me=1E3;this.Wa=new f(this.C,this.g,this.sc);this.Wa.bind(f.La,this.Zc,this,n);this.Wa.bind(f.KO,this.S6,this,n);this.Wa.bind(f.LO,this.T6,this,n);this.Wa.bind(f.pt,this.EC,this,n);this.Wa.bind(f.nq,this.HC,this,n);this.Wa.bind(f.qt,this.GC,this,n);this.Wa.bind(f.Tk,this.Dl,this,n);this.Wa.bind(f.Uk,this.nk,this,n);this.ai=new h(this.C, this.g,this.sc);this.ai.bind(h.La,this.Zc,this,n);this.ai.bind(h.lO,this.l6,this,n);this.ai.bind(h.mO,this.m6,this,n)});j.prototype.BN=function(a,b){this.dE=a;this.Me=b;this.Wa.kza(a);this.ai.jza(b);this.Wa.d_(0.05);this.ai.d_(0.05)};j.prototype.display=function(a,b){this.Wa.u_(a,b,this.Me)};j.prototype.hide=function(){this.Wa.u_(r,r,this.Me)};j.prototype.clear=function(){this.Wa.unbind(f.La,this.Zc,this);this.Wa.unbind(f.KO,this.S6,this);this.Wa.unbind(f.LO,this.T6,this);this.Wa.unbind(f.pt,this.EC, this);this.Wa.unbind(f.nq,this.HC,this);this.Wa.unbind(f.qt,this.GC,this);this.Wa.unbind(f.Tk,this.Dl,this);this.Wa.unbind(f.Uk,this.nk,this);this.Wa.clear();this.Wa=r;this.ai.bind(h.La,this.Zc,this,n);this.ai.bind(h.lO,this.l6,this,n);this.ai.bind(h.mO,this.m6,this,n);this.ai.clear();this.sc=this.g=this.C=this.ai=r};j.prototype.dc=function(a){this.Wa.dc(a);this.ai.dc(a)};j.prototype.Zc=function(){this.ea()};j.prototype.EC=function(a){this.trigger(new b(j.pt,a.data))};j.prototype.HC=function(a){this.trigger(new b(j.nq, a.data))};j.prototype.GC=function(a){this.trigger(new b(j.qt,a.data));this.ai.mya(a.data.album,a.data.item)};j.prototype.Dl=function(a){this.trigger(new b(j.Tk,a.data))};j.prototype.nk=function(a){this.trigger(new b(j.Uk,a.data))};j.prototype.S6=function(){this.ai.disable()};j.prototype.T6=function(a){this.dE==d.bl&&a.data.item&&this.ai.enable();a.data.album||this.trigger(new b(j.jO))};j.prototype.l6=function(){this.trigger(new b(j.U_))};j.prototype.m6=function(a){this.Wa.u_(a.data.album,a.data.item, 0);this.trigger(new b(j.V_,a.data))};j.prototype.ea=function(){this.trigger(new b(j.La))};j.La="request frame";j.pt="photo added";j.nq="photo removed";j.qt="photo displayed";j.Uk="photo album show";j.Tk="photo album hide";j.U_="manual interaction begin";j.V_="manual interaction end";j.jO="all pending photo albums hidden";return j}); define("gB","require,do,fg,u,bZ,eO,fu".split(","),function(a){var b=a("do"),c=a("fg"),e=a("u"),g=a("bZ"),d=a("eO"),f=a("fu"),h=c.extend(d,function(){d.call(this);this.pd=r;this.m=f.H;this.JV=r});h.prototype.clear=function(){this.mY()};h.prototype.j_=function(a){this.mY();this.pd=a;this.m=f.P;this.JV=e.watch(this.pd,"playList.selectedIndex",this.iv,this);this.pd.get("playList").get("selectedIndex")==0?this.iv():this.pd.get("playList").set("selectedIndex",0)};h.prototype.mY=function(){if(this.pd){this.m= f.H;this.JV.unwatch();this.pd=this.JV=r}};h.prototype.stop=function(){if(this.m!=f.H){this.m=f.H;this.pd.get("playList").set("selectedIndex",0)}};h.prototype.play=function(){if(this.m==f.H){this.pd.get("playList").set("selectedIndex",0);this.m=f.P;this.iv()}else if(this.m==f.mc)this.m=f.P};h.prototype.pause=function(){if(this.m==f.P)this.m=f.mc};h.prototype.next=function(){var a=this.pd.get("playList"),b=a.get("selectedIndex"),c=a.get("items").length;(b0||this.pd.get("loop"))&&a.set("selectedIndex",(b-1+c)%c)};h.prototype.$M=function(a){this.kra(a)};h.prototype.Swa=function(a){if(this.pd){var c=b(this.pd.get("playList").get("items")).last();if(a==c&&!this.pd.get("loop")){this.m=f.H;this.trigger(new g(h.fO,{album:this.pd}))}else this.next()}};h.prototype.iv=function(){var a=this.ama();a>=0&&(this.m!=f.P&&a!=0?this.trigger(new g(h.GO)): this.trigger(new g(h.qO,{album:this.pd,item:this.pd.get("playList").get("items")[a]})))};h.prototype.ama=function(){return this.pd?this.pd.get("playList").get("selectedIndex"):-1};h.prototype.kra=function(a){if(this.pd){var c=this.pd.get("playList"),a=b(c.get("items")).indexOf(a);c.set("selectedIndex",a)}};h.GO="play request";h.qO="item request";h.fO="album end";return h}); define("cm","require,do,fg,ll,bZ,eO,fu,fx".split(","),function(a){a("do");var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("fu"),f=a("fx"),h=b.extend(g,function(a){g.call(this);this.C=a;this.aE=this.Y=r;this.ev=m;this.TI=y;this.m=d.H;f.bind(c.aa,this.m8,this,n)});h.prototype.$M=function(a){this.vR();if(this.Y=a){a=this.Y.get("media").get("duration",0);this.ev=a==0?m:Math.max(0,a-this.C.get("transitionDuration"));this.TI=y;this.m==d.P&&this.OR()}};h.prototype.clear=function(){f.unbind(c.aa,this.m8, this,n);this.$M(r)};h.prototype.stop=function(){if(this.m!=d.H){this.vR();this.Zb(d.H)}};h.prototype.play=function(){if(this.m==d.H){this.Zb(d.P);if(this.Y){this.TI=y;var a=this.Y.get("media").get("duration",0);this.ev=a==0?m:a;this.OR()}}else if(this.m==d.mc){this.Zb(d.P);this.Y&&this.OR()}};h.prototype.pause=function(){if(this.m==d.P){this.Zb(d.mc);this.C8()}};h.prototype.OR=function(){if(!this.TI){this.TI=n;this.trigger(new e(h.rO,{item:this.Y}))}this.k4()};h.prototype.m8=function(){f.visible? this.k4():f.visible||this.C8()};h.prototype.k4=function(){if(this.ev!==m){var a=this;this.uL=(new Date).getTime()+this.ev;this.aE=setTimeout(function(){a.aE=r;a.qsa()},this.ev)}else this.uL=m};h.prototype.vR=function(){if(this.aE){clearTimeout(this.aE);this.aE=r}};h.prototype.C8=function(){if(this.uL!==m){this.vR();this.ev=Math.max(1,this.uL-(new Date).getTime());this.uL=m}};h.prototype.qsa=function(){var a=this.Y;this.Y=r;this.ev=m;this.trigger(new e(h.pO,{item:a}))};h.prototype.Zb=function(a){if(this.m!= a){this.m=a;this.trigger(new e(h.wb,{state:this.m}))}};h.wb="playback state change";h.rO="item start";h.pO="item end";return h}); define("kw",["fg","bZ","eO","V","r"],function(a,b,c,e,g){var d=a.extend(c,function(a){c.call(this);this.W=n;this.iu=y;this.g=a;this.dk=g.browser()==g.at&&g.Rd()==g.oP?3:1;this.be=this.tB=0});d.prototype.clear=function(){this.W=y;this.g=r;this.be=this.tB=0};d.prototype.Ma=function(){this.iu||(this.iu=n,e.Ma(this.Pg,this))};d.prototype.Pg=function(a){this.W&&(this.tB++,this.be+=a,this.tB==this.dk?(this.tB=0,this.iu=y,a=this.be,this.be=0,this.trigger(new b(d.Wk,{frameTime:a})),this.trigger(new b(d.Xk, {frameTime:a})),this.g.render()):e.Ma(this.Pg,this))};d.Wk="frameStart";d.Xk="positionSet";return d}); define("ff","fg,ll,bZ,eO,hg,ci,hb,gB,cm,gj,kw".split(","),function(a,b,c,e,g,d,f,h,j,p,k){var l=a.extend(e,function(a,b){e.call(this);this.C=a;this.g=b;this.g.set("visible",y);this.Af=new h(this.g);this.ca=new j(this.C);this.sc=new p(this.C,this.g);this.ga=new f(this.C,this.g,this.sc);this.oa=new d(this.g,this.sc);this.ge=new k(this.g);this.nc=new g(this.g);this.sc.bind(p.La,this.Zc,this,n);this.Af.bind(h.qO,this.l7,this,n);this.Af.bind(h.GO,this.O7,this,n);this.Af.bind(h.fO,this.FC,this,n);this.ca.bind(j.rO, this.m7,this);this.ca.bind(j.pO,this.k7,this);this.ca.bind(j.wb,this.gd,this,n);this.ga.bind(f.La,this.Zc,this,n);this.ga.bind(f.pt,this.EC,this,n);this.ga.bind(f.nq,this.HC,this,n);this.ga.bind(f.qt,this.GC,this,n);this.ga.bind(f.Tk,this.Dl,this,n);this.ga.bind(f.Uk,this.nk,this,n);this.ga.bind(f.U_,this.goa,this,n);this.ga.bind(f.V_,this.hoa,this,n);this.ga.bind(f.jO,this.P6,this,n);this.oa.bind(d.La,this.Zc,this,n);this.ge.bind(k.Wk,this.Kr,this,n);this.ge.bind(k.Xk,this.Lr,this,n)});l.prototype.clear= function(){this.Af.clear();this.ca.clear();this.ga.clear();this.oa.clear();this.ge.clear();this.nc.clear();this.sc.clear();this.sc.unbind(p.La,this.Zc,this);this.Af.unbind(h.qO,this.l7,this);this.Af.unbind(h.fO,this.FC,this);this.Af.unbind(h.GO,this.O7,this);this.ca.unbind(j.rO,this.m7,this);this.ca.unbind(j.pO,this.k7,this);this.ca.unbind(j.wb,this.gd,this);this.ga.unbind(f.La,this.Zc,this);this.ga.unbind(f.pt,this.EC,this);this.ga.unbind(f.nq,this.HC,this);this.ga.unbind(f.qt,this.GC,this);this.ga.unbind(f.Tk, this.Dl,this);this.ga.unbind(f.Uk,this.nk,this);this.ga.unbind(f.jO,this.P6,this);this.oa.unbind(d.La,this.Zc,this);this.ge.unbind(k.Wk,this.Kr,this);this.ge.unbind(k.Xk,this.Lr,this);this.C=this.g=this.sc=this.nc=this.ge=this.oa=this.ga=this.ca=this.Af=r};l.prototype.BN=function(a,b){this.ga.BN(a,b)};l.prototype.$ya=function(a){this.g.set("visible",n);this.Af.j_(a)};l.prototype.bq=function(){this.Af.mY();this.ca.stop();this.ga.hide();this.oa.end();this.nc.Vea()};l.prototype.next=function(){this.Af.next()}; l.prototype.yZ=function(){this.Af.yZ()};l.prototype.stop=function(){this.ca.stop();this.nc.stop();this.Af.stop();this.oa.stop()};l.prototype.play=function(){this.ca.play();this.nc.play();this.Af.play();this.oa.play()};l.prototype.pause=function(){this.ca.pause();this.nc.pause();this.Af.pause();this.oa.pause()};l.prototype.goa=function(){this.ca.pause();this.nc.pause();this.Af.pause();this.oa.pause()};l.prototype.hoa=function(){this.ca.play();this.nc.play();this.Af.play();this.oa.play()};l.prototype.l7= function(a){this.ga.display(a.data.album,a.data.item)};l.prototype.O7=function(){this.play()};l.prototype.Zc=function(){this.ge.Ma()};l.prototype.Kr=function(a){this.oa.Xp(a.data.frameTime)};l.prototype.Lr=function(a){a=a.data.frameTime;this.ga.dc(a);this.sc.dc(a);this.nc.dc(a)};l.prototype.EC=function(a){this.oa.start(a.data.item)};l.prototype.HC=function(a){var b=a.data.album,a=a.data.item,d=a.get("media");this.oa.end(a);this.nc.Bza(d);this.trigger(new c(l.CO,{photoAlbum:b,item:a}))};l.prototype.GC= function(a){var b=a.data.album,a=a.data.item;a.get("media");this.Af.$M(a);this.ca.$M(a);this.trigger(new c(l.BO,{photoAlbum:b,item:a}))};l.prototype.m7=function(a){this.nc.yza(a.data.item.get("media"))};l.prototype.k7=function(a){this.Af.Swa(a.data.item)};l.prototype.FC=function(a){this.ca.stop();this.nc.stop();this.trigger(new c(l.AO,{photoAlbum:a.data.album}))};l.prototype.nk=function(a){a=a.data.album;this.nc.j_(a);this.ca.play();this.oa.play();this.trigger(new c(l.Uk,{photoAlbum:a}))};l.prototype.Dl= function(a){a=a.data.album;this.nc.zza(a);this.trigger(new c(l.Tk,{photoAlbum:a}))};l.prototype.P6=function(){this.g.set("visible",y)};l.prototype.gd=function(a){this.trigger(new c(l.wb,{state:a.data.state}))};l.Uk="photoAlbumShow";l.AO="photoAlbumEnd";l.Tk="photoAlbumHide";l.BO="photoBegin";l.CO="photoEnd";l.wb="playbackStateChange";return l}); define("fR","require,jquery.mod,do,jn,iG,iX,r".split(","),function(a){function b(a,b){this.Y=a;this.Q=b;this.Oa=a.ad();this.Ya=a.Pd();this.eI=a.WR;this.RX=this.XB=0;this.Xj=1;this.te=0;this.Z=n;this.WQ();this.hc=this.cc=100;this.fa=this.da=0.5;this.ta=1;this.gD=n;this.sd=1;this.i4={};this.G5={};this.Xaa=f.browser()!=f.If}var c=a("jquery.mod"),e=a("do"),g=a("jn"),d=a("iG");a("iX");var f=a("r");b.prototype.WQ=function(){this.OG=c("
");var a={position:"absolute",left:"0",top:"0",width:this.cc+ "px",height:this.hc+"px",overflow:"hidden","-webkit-transform":"translateZ(0)"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.OG.css(a);this.sP=c(d.we(this.Y.Dj(),n));a={display:"block",position:"absolute",left:"0",top:"0",width:this.Oa+"px",height:this.Ya+"px"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.sP.css(a);this.OG.append(this.sP)};b.prototype.Gb= Q("OG");b.prototype.getItem=Q("Y");b.prototype.getX=Q("da");b.prototype.getY=Q("fa");b.prototype.lm=Q("ta");b.prototype.Aa=function(){return Math.round(this.Oa*this.ta*this.sd)};b.prototype.eb=function(){return Math.round(this.Ya*this.ta*this.sd)};b.prototype.yd=function(a){if(this.Xj!=a){this.Xj=a;this.Z=n}};b.prototype.zM=Q("Xj");b.prototype.Xs=function(a){if(this.Fd!=a){this.Fd=a;this.Z=n}};b.prototype.rw=function(a,b){if(this.cc!=a||this.hc!=b){this.cc=a;this.hc=b;this.Z=n}};b.prototype.Ka=function(a, b,c){if(this.da!=a||this.fa!=b||this.ta!=c){this.da=a;this.fa=b;this.ta=c;this.Z=n}};b.prototype.Ij=function(a){if(this.te!=a){this.te=a;this.Z=n}};b.prototype.nya=function(a){if(this.RX!=a){this.RX=a;this.Z=n}};b.prototype.render=function(){if(this.Z){this.Z=y;switch(this.Fd){case g.NONE:this.sd=1;break;case g.Zk:this.sd=this.cc/this.Oa;break;case g.kh:this.sd=this.hc/this.Ya;break;case g.xm:this.sd=this.Oa*this.hc>this.Ya*this.cc?this.hc/this.Ya:this.cc/this.Oa;break;default:this.sd=this.Oa*this.hc> this.Ya*this.cc?this.cc/this.Oa:this.hc/this.Ya}var a=this.ta*this.sd,b=this.cc*0.5-this.da*this.Oa*a,c=this.hc*0.5-this.fa*this.Ya*a,d=this.cc*this.te,f=function(a,b){return Math.round(a*Math.pow(10,b))*Math.pow(10,-b)},q={};q.width=f(this.cc,0)+"px";q.height=f(this.hc,0)+"px";q.transform=this.Xaa?"translate3d("+f(d,2)+"px, 0px, 0px)":"translate("+f(d,2)+"px, 0px)";q["-moz-transform"]=q["-webkit-transform"]=q["-ms-transform"]=q.transform;q["z-index"]=this.RX;if(this.Xj==0)q.display="none";else{q.display= "block";if(this.Xj==1){q.filter=q["-ms-filter"]="";q.opacity=""}else{q.filter=q["-ms-filter"]="alpha(opacity="+Math.round(this.Xj*100)+")";q.opacity=this.Xj}}d=[];if(this.Xaa){d.push("translate3d("+f(b,2)+"px, "+f(c,2)+"px, 0px)");d.push("scale3d("+a+", "+a+", "+a+")");if(this.eI){d.push("translate3d("+this.Oa+"px, 0, 0)");d.push("scale3d(-1, 1, 1)")}}else{d.push("translate("+f(b,2)+"px, "+f(c,2)+"px)");d.push("scale("+a+", "+a+")");if(this.eI){d.push("translate("+this.Oa+"px, 0)");d.push("scale(-1, 1)")}}a= {};a["-moz-transform"]=a["-webkit-transform"]=a["-ms-transform"]=a.transform=d.join(" ");if(!e.isEqual(this.i4,q)){this.i4=q;this.OG.css(q)}if(!e.isEqual(this.G5,a)){this.G5=a;this.sP.css(a)}}};return b}); define("gi","require,jquery.mod,do,fg,ll,ge,iG,fR,R,d".split(","),function(a){var b=a("jquery.mod"),c=a("do"),e=a("fg"),g=a("ll"),d=a("ge"),f=a("iG"),h=a("fR"),j=a("R"),p=a("d"),a=e.extend(p,function(){p.call(this);this.Tc("Renderer");this.set("toolTipDisabled",n);this.set("cursor",j.pq);this.bind(g.zb,this.lb,this,n);this.bind(g.od,this.wh,this,n);this.bind(g.Ad,this.th,this,n);this.gv=y;this.rb=[];this.MD=this.Gp=y;this.LU=b("
");this.LU.css({position:"absolute",left:0,top:0,right:0,bottom:0, overflow:"hidden","-webkit-transform":"translateZ(0)"});this.Ra().append(this.LU)});a.prototype.Mn=function(a){f.Mn(a,d.Uj)};a.prototype.Fi=function(a){f.Fi(a,d.Uj)};a.prototype.hda=function(a){return f.FN(a)};a.prototype.VX=function(a){a=new h(a,this);a.rw(this.Aa(),this.eb());a.Ka(0.5,0.5,0,1);this.LU.append(a.Gb());this.rb.push(a);this.Gp=n};a.prototype.removeItem=function(a){if(a=this.rl(a)){this.rb=c.without(this.rb,a);a.Gb().detach();this.Gp=n}};a.prototype.aY=function(a){if(a=this.rl(a)){this.rb= c.without(this.rb,a);this.rb.push(a);this.Gp=n}};a.prototype.Kya=function(a,b){this.rl(a).Xs(b)};a.prototype.qm=function(a,b){this.rl(a).yd(b)};a.prototype.Hya=function(a,b){this.rl(a).Ij(b)};a.prototype.NF=function(a,b,c,d){this.rl(a).Ka(b,c,d)};a.prototype.hF=function(a){return this.rl(a).getX()};a.prototype.iF=function(a){return this.rl(a).getY()};a.prototype.fca=function(a){return this.rl(a).lm()};a.prototype.gF=function(a){return this.rl(a).Aa()};a.prototype.fF=function(a){return this.rl(a).eb()}; a.prototype.render=function(){if(this.gv){this.wta();this.Dra();for(var a=0;a=0?this.Pc[a]:r};a.prototype.i$=function(a){if((this.qg!=a||this.yl!==m)&&this.yl!==a)if(this.yl===m){this.yl=a;if(this.qg)if(this.yl&&this.qg.get("player")==this.yl.get("player")){this.qg.$F();this.Pu()}else this.qg.stop(); else this.Pu()}else this.yl=a};a.prototype.Pu=function(){if(this.qg){this.qg.unbind(h.Sk,this.qU,this);this.qg.unbind(h.pe,this.Pu,this);this.qg.unbind(h.Ba,this.Pu,this)}if(this.yl){this.qg=this.yl;this.yl=m;this.qg.bind(h.Sk,this.qU,this);this.qg.bind(h.pe,this.Pu,this);this.qg.start()}else{this.yl=this.qg=m;this.set("selectedIndex",-1)}};a.prototype.qU=function(){this.qg.unbind(h.Sk,this.qU,this);this.qg.unbind(h.pe,this.Pu,this);this.qg.bind(h.Ba,this.Pu,this)};a.prototype.Laa=function(){this.kD&& f.eN(this.kD.get("media"),-1);(this.kD=this.Pc&&this.td>=0?this.Pc[(this.td+1)%this.Pc.length]:r)&&f.eN(this.kD.get("media"),1)};return a});define("hY",["fg","dW","dM"],function(a,b,c){a=a.extend(c,function(){c.call(this)});b.A("PhotoPlayList",a).B("PlayList").J({items:"array[PhotoPlayListItem]"});return a});define("im",["fg","dW","dl"],function(a,b,c){a=a.extend(c,function(){c.call(this)});b.A("PhotoPlayListItem",a).B("PlayListItem").J({media:"Photo",camera:"PhotoCamera"});return a}); define("eG",["require","do","fg","eT","dW"],function(a){a("do");var b=a("fg"),c=a("eT"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("PlaybackBar",b).B("UIComponent").J({barBackgroundColor:"or[array[color], color]",barBackgroundColorDirection:"enum[horizontal, vertical]",barBackgroundColorRatios:"array[number]",barBorderColor:"color",barBorderRadius:"number",barBorderSize:"number",barOpacity:"number",playheadBackgroundColor:"or[array[color], color]",playheadBackgroundColorDirection:"enum[horizontal, vertical]", playheadBackgroundColorRatios:"array[number]",playheadBorderColor:"color",playheadBorderRadius:"number",playheadBorderSize:"number",playheadOpacity:"number",playheadWidth:"or[number, percent]",playheadHeight:"or[number, percent]",playheadShadow:"bool",playheadShadowBlurRadius:"number",playheadShadowColor:"color",playheadShadowHorizontalLength:"number",playheadShadowOpacity:"number",playheadShadowSpread:"number",playheadShadowVerticalLength:"number",stepBackgroundColor:"or[array[color], color]",stepBackgroundColorDirection:"enum[horizontal, vertical]", stepBackgroundColorRatios:"array[number]",stepBorderColor:"color",stepBorderRadius:"number",stepBorderSize:"number",stepOpacity:"number",stepWidth:"or[number, percent]",stepHeight:"or[number, percent]",stepShadow:"bool",stepShadowBlurRadius:"number",stepShadowColor:"color",stepShadowHorizontalLength:"number",stepShadowOpacity:"number",stepShadowSpread:"number",stepShadowVerticalLength:"number",selectedStepBackgroundColor:"or[array[color], color]",selectedStepBackgroundColorDirection:"enum[horizontal, vertical]", selectedStepBackgroundColorRatios:"array[number]",selectedStepBorderColor:"color",selectedStepBorderRadius:"number",selectedStepBorderSize:"number",selectedStepOpacity:"number",selectedStepWidth:"or[number, percent]",selectedStepHeight:"or[number, percent]",selectedStepShadow:"bool",selectedStepShadowBlurRadius:"number",selectedStepShadowColor:"color",selectedStepShadowHorizontalLength:"number",selectedStepShadowOpacity:"number",selectedStepShadowSpread:"number",selectedStepShadowVerticalLength:"number", position:"number",duration:"number",steps:"number",selectedStep:"number"});return b}); define("kd",["require"],function(){function a(a){try{for(var g=(c.sF<<12)+c.wF&65535,d="",f=0,h=a.length;fa.Aa(),d=Math.min(a.Aa(),a.eb())/100,a=function(a){return Math.round(a*d)};this.M({gap:b?a(4.63):20,paddingLeft:b?a(4.63):20, paddingRight:b?a(4.63):20,paddingTop:b?a(4.63):14,paddingBottom:b?a(4.63):14,layout:b&&c?k.of:k.Be});this.ri&&this.ri.M({fontSize:b?a(3.15):14,textAlign:b&&c?"center":"left"});this.Jq&&this.Jq.M({gap:b?0:13});this.Jt&&this.Jt.M({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.lx&&this.lx.M({borderRadius:b?a(4.63):15,fontSize:b?a(3.15):14,height:b?a(9.26):30,paddingLeft:b?a(6):20,paddingRight:b?a(6):20});this.Kc()}};a.prototype.E3= function(){var a=e.toArray(this.jb.get("cookiesPolicy"));if(this.fD!=a){this.fD=a;this.hqa()}};a.prototype.hqa=function(){if(this.fD.length==0)this.XV(r);else{var a=this.fD[0];e.toArray(a.get("geographicArea")).length==0?this.XV(a):this.sla(function(a){for(var b=r,c=0;c=0&&(b=d)}this.XV(b)}.bind(this))}};a.prototype.XV=function(a){if(this.vy!==a){this.vy&& this.vy.unbind(g.D("url"),this.pX,this);if(this.vy=a){this.vy.bind(g.D("url"),this.pX,this);this.pX();this.set("visible",n)}else{this.trigger(g.Iw);this.set("visible",y)}}};a.prototype.pX=function(){var a=c(document.createElement("div")).html(d("cookies-notice"));a.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.vy.get("url"),target:"_blank"});this.zW=a.html();this.ri&&this.ri.set("content",this.zW)};a.prototype.dia=function(){this.j$(n);this.set("visible", y);this.trigger(g.Iw)};a.prototype.pia=function(){this.j$(y);this.set("visible",y)};var s=["AT","BE","BG","CY","CZ","DE","DK","EE","EL","ES","FI","FR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK"];a.prototype.sla=function(a){this.jla(function(b){var c=[b];s.indexOf(b)&&c.push("EU");a(c)})};a.prototype.jla=function(a){var d=b("tdvp_country_code");if(d)a(d);else if(!this.q4){this.q4=n;c.get("https://geoloc.3dvista.com",function(b){this.q4=y;b=b.country.toUpperCase();try{window.localStorage.setItem("tdvp_country_code", b)}catch(c){}a(b)}.bind(this))}};var v="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.Tla=function(){var a=b(v);if(a=="yes")return n;if(a=="no")return y};a.prototype.j$=function(a){try{window.localStorage.setItem(v,a?"yes":"no")}catch(b){}};return a}); define("jl",["require"],function(){function a(a){var b=a instanceof Request||a instanceof Response?a.url:a;b&&(b=b.split("#")[0]);b&&(b=b.split("?")[0]);return!b||-1!=b.indexOf("://")?Promise.resolve(b):("undefined"!==typeof window?Promise.resolve(window.location.href):self.aBa.matchAll({type:"window"}).then(function(a){if(a.length)return a[0].url})).then(function(a){return(new URL(b,a)).toString()})}function b(a,b){return new Promise(function(c,d){(b===m?g():Promise.resolve(b)).then(function(b){(window.webkitRequestFileSystem|| window.requestFileSystem)(b?window.PERSISTENT:window.TEMPORARY,a,function(a){c(a)},function(a){console.log("Error getting file system access",a);d("error getting file system")})},function(a){console.log("error getting file system access",a);d("error getting file system")})})}function c(a,b){return a&&a.queryUsageAndQuota?new Promise(function(c,d){a.queryUsageAndQuota(function(e,f){console.log("UsedBytes:",e,"grantedBytes:",f,"freeBytesRequired:",b);var g=e+b;f>=g?c(g):a==navigator.webkitPersistentStorage|| a==navigator.persistentStorage?(console.log("requestQuota:",g),a.requestQuota(g,function(){console.log("Granted bytes:",g);c(g)},function(a){console.log("Not granted bytes:",g,a);d("not enough free space granted")})):(console.log("Not enough temporary free space."),d("not enough free space granted"))},function(a){console.log("Query quota error:",a);a&&a.message&&(a=a.message);d("not enough free space granted: "+a)})}):Promise.reject("unknown free space")}function e(){return(navigator.storage&&navigator.storage.persist? navigator.storage.persist():Promise.resolve(y)).then(function(a){console.log("Persistence granted:",a);return a?navigator.webkitPersistentStorage||navigator.persistentStorage:navigator.webkitTemporaryStorage||navigator.temporaryStorage})}function g(){return navigator.storage&&navigator.storage.persisted?navigator.storage.persisted():Promise.resolve(y)}function d(){return!u?Promise.reject("files uninitialized, no space was requested"):Promise.resolve(u)}function f(a){a.length&&"/"==a[0]&&(a=a.substr(1)); return a.split("/").filter(function(a){return""!=a})}function h(a){return new Promise(function(b,c){a.remove(function(){b()},function(a){c("can't remove entry"+(a&&a.message?": "+a.message:"")+".")})})}function j(a){return p(a).then(function(a){return Promise.all(a.map(function(a){return a.isDirectory?j(a):h(a)}))}).then(function(){return h(a).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function p(a){return new Promise(function(b,c){a.createReader().readEntries(function(a){b(a)}, function(){c("can't list directory")})})}function k(a,b,c){return new Promise(function(d,e){a.getDirectory(b,c,function(a){d(a)},function(){e("can't get directory entry: "+b)})})}function l(a,b){return new Promise(function(c,d){k(a,b,{create:y}).then(function(a){c(a)})["catch"](function(){k(a,b,{create:n}).then(function(a){c(a)})["catch"](function(a){console.log("Can't create directory entry: "+b,a);d("can't create directory entry: "+b)})})})}function q(a,b){return 0==b.length?a:l(a,b[0]).then(function(a){return q(a, b.slice(1))})}function o(a,b){return 0==b.length?a:k(a,b[0]).then(function(a){return o(a,b.slice(1))})}function t(a,b,c){return new Promise(function(d,e){a.getFile(b,c,function(a){d(a)},function(){e("can't get file entry: "+b)})})}function s(a){return new Promise(function(b,c){a.createWriter(function(a){b(a)},function(){c("can't create File for writing")})})}function v(a){var b=a.lastIndexOf(".");switch((0>b?"":a.substr(b)).toLowerCase()){case ".bmp":return"image/bmp";case ".eot":return"application/vnd.ms-fontobject"; case ".gif":return"image/gif";case ".htm":case ".html":return"text/html";case ".jpeg":case ".jpg":return"image/jpeg";case ".js":return"text/javascript";case ".json":return"application/json";case ".m3u8":return"application/vnd.apple.mpegurl";case ".m4a":return"audio/mp4";case ".m4v":return"video/mp4";case ".mp3":return"audio/mpeg";case ".mp4":return"video/mp4";case ".ogg":return"audio/ogg";case ".ogv":return"video/ogg";case ".otf":return"font/otf";case ".png":return"image/png";case ".svg":return"image/svg+xml"; case ".tif":return"image/tiff";case ".tiff":return"image/tiff";case ".ts":return"video/vnd.dlna.mpeg-tts";case ".ttf":return"application/font-sfnt";case ".tts":return"video/vnd.dlna.mpeg-tts";case ".txt":return"text/plain";case ".webm":return"video/webm";case ".woff":return"font/x-woff";case ".woff2":return"font/woff2";case ".xml":return"text/xml";default:return"application/octet-stream"}}var u=r;return{iN:function(){return g()},toURL:function(b,c){return a(b).then(function(a){var a=new URL(a),b= c?"persistent":"temporary",d=a.pathname.split("/").map(encodeURIComponent).join("/");return"filesystem:"+a.origin+"/"+b+d})},Sxa:function(a){return e().then(function(b){return c(b,a)}).then(function(a){return b(a)}).then(function(a){u=a})},Lxa:function(a){var a=f(a),b=a[a.length-1],c=a.slice(0,-1);return d().then(function(a){return o(a.root,c)}).then(function(a){return t(a,b,{create:n})},function(){return Promise.resolve(r)}).then(function(a){return a&&h(a)})},$da:function(a,c){var d=f(a);return b(1024, c).then(function(a){return o(a.root,d)}).then(function(a){return j(a)},function(){return Promise.resolve()})},ofa:function(a,b,c){var e=f(a),g=e[e.length-1],h=e.slice(0,-1);return d().then(function(a){return q(a.root,h)}).then(function(a){return t(a,g,{create:y}).then(function(a){return Promise.resolve(a)},function(){return t(a,g,{create:n})})}).then(function(a){return s(a)}).then(function(d){d.seek(d.length);return new Promise(function(e,f){d.onwriteend=function(){e()};d.onerror=function(b){console.log("Error writing file:", a,b);f("error writing file: "+a)};d.write(new Blob([b],{type:c||v(g)}))})})}}}); define("bX",["require","jl","jt","r"],function(a){function b(a,b){this.cs=a;this.sQ=y;this.pD=r;this.ep=b||D()}function c(a){return a.Bw>=d}var e=a("jl"),g=a("jt"),d=1048576,f=10485760,h=a("r").le()?3:5,a={File:function(a,b){this.url=a;this.Bw=b;this.FF=this.jz=0}},j=a.Files=function(a,b,c,d){this.Q2=this.Tha=a;this.Wm=b.slice();this.p4=[];var e=0;this.Wm.sort(function(a,b){return a.Bw-b.Bw});this.Wm.forEach(function(a){e+=a.Bw});this.baa=e;this.bu=[];this.oH=m;this.Km=[];this.tQ=y;this.Yd=c||D(); this.pB=d||D()};j.prototype.xn=function(){return this.Nia().then(function(){return this.Oia()}.bind(this))};j.prototype.Nia=function(){return self.caches["delete"](this.Q2)};j.prototype.Oia=function(){var a=(new g(this.Tha)).pathname;return e.$da(a,y).then(function(){return e.$da(a,n)})};j.prototype.requestStorage=function(){return e.Sxa(Math.round(1.1*this.baa+10485760)).then(function(){return e.iN()})};j.prototype.download=function(){this.tQ=y;this.oH=0;this.xn().then(function(){this.nB()}.bind(this))["catch"](function(a){console.log("error cleaning storage", a);e.iN().then(function(a){this.pB(y,a)}.bind(this))}.bind(this))};j.prototype.cancelDownload=function(){this.tQ=n;this.Km.forEach(function(a){a.cancel()});this.xn()};j.prototype.nB=function(){if(!(this.tQ||this.Km.length>=h))if(0=this.p4.length;e.iN().then(function(a){this.pB(j,a)}.bind(this))}};j.prototype.e4=function(a,b,d){d?(this.bu.splice(this.bu.indexOf(a),1),this.Km.splice(this.Km.indexOf(b),1),this.oH+=a.Bw,this.cm(),this.nB()): (a.jz=0,a.FF+=1,this.cm(),20<=a.FF?(console.log("Error downloading file: "+a.url+" after "+a.FF+" retries."),this.R5(a.url)?(this.p4.push(a),this.Km.splice(this.Km.indexOf(b),1),this.nB()):(this.cancelDownload(),e.iN().then(function(a){this.pB(y,a)}.bind(this)))):(console.log("Error downloading file: "+a.url+" attempt "+a.FF+" of 20. Will retry in 2000ms."),setTimeout(function(){this.bu.splice(this.bu.indexOf(a),1);this.Km.splice(this.Km.indexOf(b),1);c(a)?this.Wm.push(a):this.Wm.splice(0,0,a);this.nB()}.bind(this), 2E3)))};j.prototype.Yra=function(a,b){return this.$ra(a,b).then(function(){if(!this.R5(a))return this.Zra(a,b)}.bind(this))};j.prototype.Zra=function(a,b){b=b.clone();return 200!=b.status?Promise.reject("response status: "+b.status):self.caches.open(this.Q2).then(function(c){return c.put(a,b)})};j.prototype.$ra=function(a,b){b=b.clone();if(200!=b.status)return Promise.reject("response status: "+b.status);var c=(new g(a)).pathname;return c.lastIndexOf("/")==c.length-1?Promise.resolve():new Promise(function(a, d){function g(){C.read().then(function(b){var c=b.value,d=[];if(c){for(;c.length+z>=f;){var e=c.slice(0,f-z);p.push(e);d.push(h(p));p=[];z=0;c=c.slice(e.length,c.length)}0a.indexOf("loading/")};j.prototype.cm=function(){var a=this.oH;this.bu.forEach(function(b){a+=b.jz});this.Yd(100*a/this.baa)};b.prototype.fetch=function(){return fetch(this.cs).then(function(a){if(this.sQ)return a.body.getReader().cancel(),Promise.reject("cancel requested before server responded.");if(!a.ok)return Promise.resolve(a);var b=a.headers.get("content-length"),c=m,d=0;b!==r&&(c=parseInt(b,10));this.pD=a.body.getReader();var e=y,f=function(a){this.sQ?a.close():e=n}.bind(this),g=function(a){return this.pD.read().then(function(b){var e= b.value;e&&(d+=e.byteLength,a.enqueue(e));b.done&&(c=d,h(a));this.ep({Bw:c,jz:d})}.bind(this))["catch"](function(b){console.log("Error reading response",b);a.error(b)}.bind(this))}.bind(this),h=function(a){e&&(a.close(),e=y,this.pD=r)}.bind(this);return new Response(new ReadableStream({start:function(a){return f(a)},pull:function(a){return g(a)},cancel:function(){h()}}))}.bind(this))};b.prototype.cancel=function(){this.sQ=n;this.pD&&this.pD.cancel()};a.xn=function(a){return(new j(a,[])).xn()};return a}); define("dO","require,fg,jquery.mod,ll,eO,r,bX,jl,jE,jt,iL,cJ".split(","),function(a){function b(a){o=a}var c=a("fg"),e=a("jquery.mod"),g=a("ll"),d=a("eO"),f=a("r"),h=a("bX"),j=a("jl"),p=a("jE"),k=a("jt"),l=a("iL"),q=a("cJ"),o=r;window.addEventListener("beforeinstallprompt",b);var t=c.extend(d,function(a){d.call(this);this.jb=a;this.m="initial";this.LV=this.$K=this.Kg=r;this.mV=y;this.hu=r;this.PL=m;this.$t=o;this.aJ=t.tda();this.IT=k.zg("vr");if(!this.$t&&!this.aJ){window.removeEventListener("beforeinstallprompt", b);window.addEventListener("beforeinstallprompt",this.Nna.bind(this))}this.aJ||window.addEventListener("appinstalled",this.uha.bind(this))});t.prototype.f_=function(a){this.$K=a;this.Ti=k.Zs(this.$K.get(TDV.PlayerSettings.BASE_DIR_URL)||k.getDirectory(this.$K.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));if(this.Ti[this.Ti.length-1]!="/")this.Ti=this.Ti+"/";this.Kg=new s(this.Ti);this.PL=this.d9=a.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.wma=k.parse(k.getDirectory(window.location.href)).pathname; this.Dka=k.Iv(k.Zs("files.json",this.Ti),this.d9);a=TDV.Da.IM();this.LV=k.Iv(this.$K.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+a.MAJOR+"."+a.MINOR);this.Kg=new s(this.Ti);this.Kg.bind(g.S,this.nsa,this,n);this.Kg.load()};t.prototype.Cz=function(){return this.Kg.state==s.jA};t.prototype.wba=function(){return this.m=="can_install"&&!this.IT};t.prototype.yba=function(){return this.Cz()&&this.PL!=this.Kg.version&&!this.IT};t.prototype.vba=function(){return this.Kg.state!=s.L_&&!this.IT};t.prototype.$ca= function(){if(this.m=="can_install")if(this.$t){this.$t.userChoice.then(function(a){a.outcome!="accepted"&&this.Zb("unavailable")}.bind(this));this.$t.prompt().then(function(){this.$t=r}.bind(this))}else this.FR()};t.prototype.cancel=function(){if(this.m=="downloading"){if(this.hu){this.hu.cancelDownload();this.hu=r}this.Kg.xn();this.Zb("unavailable")}};t.prototype.xn=function(){h.xn(this.Ti);this.Kg.xn()};t.prototype.nsa=function(){this.jb.get("downloadEnabled")!==n?this.Zb("unavailable"):p.zfa!== n?this.Zb("unavailable"):f.browser()!=f.Ii||f.Uc()==f.bt||f.Uc()==f.Fw?this.Zb("unavailable"):this.LV?"serviceWorker"in navigator?this.Cz()&&!this.yba()?this.Zb("unavailable"):navigator.onLine?this.Dpa():this.Zb("unavailable"):this.Zb("unavailable"):this.Zb("unavailable")};t.prototype.Zb=function(a){if(this.m!=a){this.m=a;a=["can_install","unavailable"].indexOf(this.m)>=0;if(this.mV!=a)(this.mV=a)&&this.trigger(g.Lb)}};t.prototype.Dpa=function(){this.Zb("registering_sw");navigator.serviceWorker.register(this.LV, {scope:this.wma}).then(function(){this.L9(n)}.bind(this))["catch"](function(){this.L9(y)}.bind(this))};t.prototype.L9=function(a){if(a)if(f.le())this.Zb("can_install");else if(this.aJ&&this.Kg.state==s.eO){this.Zb("can_install");this.FR()}else if(this.$t)this.Zb("can_install");else{this.Zb("sw_registered");setTimeout(function(){this.m=="sw_registered"&&this.Zb("can_install")}.bind(this),3E3)}else this.Zb("unavailable")};t.prototype.Nna=function(a){this.$t=a;this.m=="sw_registered"&&this.Zb("can_install")}; t.prototype.uha=function(){this.m=="sw_registered"&&this.Zb("can_install");this.FR()};t.prototype.FR=function(){this.Zb("downloading");this.trigger(g.Sk);this.qaa(0);this.nna()};t.prototype.nna=function(){var a=k.Iv(this.Dka,"nc="+(new Date).getTime());e.getJSON(a,function(a){if(this.m=="downloading"){var b=[],c;for(c in a){var d=a[c].tags;if(d){Array.isArray(d)||(d=[d]);for(var e=0;e=0&&f.eZ()?g.push("mobilevr2gen"): b.indexOf("mobilevr")>=0&&f.le()?g.push("mobilevr"):b.indexOf("mobile")>=0&&f.Za()?g.push("mobile"):b.indexOf("desktop")>=0&&!f.Za()&&g.push("desktop");b=[];for(c in a){if(d=a[c].tags){var j=y;if(Array.isArray(d))for(var e=0,l=d.length;e=0;else j=g.indexOf(d)>=0;if(!j)continue}d=k.Zs(c,this.Ti);b.push(new h.File(d,a[c].size))}var o=(new k(window.location.pathname,window.location.href)).toString();b.filter(function(a){return a.url==o}).length==0&&b.push(new h.File(o,1024)); this.hu=new h.Files(this.Ti,b,this.qaa.bind(this),this.d4.bind(this));this.hu.requestStorage().then(function(a){this.Kg.storage=a?s.qA:s.hP;this.Kg.state=s.eO;this.Kg.version=this.PL;this.Kg.save();this.hu.download()}.bind(this))["catch"](function(){this.d4(y,m)}.bind(this))}}.bind(this))};t.prototype.qaa=function(a){this.trigger(new l(g.wc,a))};t.prototype.d4=function(a,b){this.hu=r;this.Zb("unavailable");if(a){this.Kg.state=s.jA;this.Kg.save()}a?this.trigger(g.Ba,{success:n}):b?this.trigger(g.Ba, {success:y,error:t.N_}):f.le()?this.trigger(g.Ba,{success:y,error:t.M_}):this.aJ?this.trigger(g.Ba,{success:y,error:t.N_}):this.trigger(g.Ba,{success:y,error:t.O_})};t.tda=function(){return k.$g("installed",y)};t.Bxa=function(a,b){var c=new t.OO(a);c.bind(g.S,function(){var d=y;c.state==t.OO.jA&&(d=t.tda()?n:!navigator.onLine);d?j.toURL(a,c.storage==t.OO.qA).then(function(a){b(a)}):b(a)},this,n);c.load()};t.O_="launchFromHomeScreen";t.M_="addToBookmark";t.N_="errorDownloading";var s=c.extend(d,function(a){d.call(this); this.Ti=a;this.CT="installation_state_"+a;this.Zoa=k.parse(this.Ti).pathname+"installation_state.json";this.state=this.storage=this.version=m;this.T9()});s.prototype.load=function(){if(this.ona()&&this.state==s.jA)this.V$(this.storage==s.qA).then(function(){this.trigger(g.S)}.bind(this))["catch"](function(){this.V$(this.storage!=s.qA).then(function(){this.storage=this.storage==s.hP?s.qA:s.hP;this.EV();this.trigger(g.S)}.bind(this))["catch"](function(){this.state=s.eO;this.EV();this.trigger(g.S)}.bind(this))}.bind(this)); else this.trigger(g.S)};s.prototype.save=function(){this.EV();this.state==s.jA&&this.fqa()};s.prototype.ona=function(){var a=q.getItem(this.CT);if(!a)return y;this.Vka(a);return n};s.prototype.EV=function(){q.setItem(this.CT,this.aaa())};s.prototype.V$=function(a){return new Promise(function(b,c){j.toURL(this.Ti+"installation_state.json",a).then(function(a){e.ajax({type:"GET",url:a,success:function(){b()},error:function(){c()}})}.bind(this))}.bind(this))};s.prototype.fqa=function(){j.ofa(this.Zoa, this.aaa(),"text/json")};s.prototype.aaa=function(){var a={};a.version=this.version;a.storage=this.storage;a.state=this.state;return JSON.stringify(a)};s.prototype.Vka=function(a){this.Uka(JSON.parse(a))};s.prototype.Uka=function(a){this.version=a.version;this.storage=a.storage;this.state=a.state};s.prototype.xn=function(){q.removeItem(this.CT);this.T9()};s.prototype.T9=function(){this.version="";this.storage=s.rga;this.state=s.L_};s.rga="unkonwn";s.hP="temporary";s.qA="persistent";s.L_="not started"; s.eO="started";s.jA="completed";t.OO=s;return t}); define("ij","require,fg,ll,lk,r,dO,ez,eF,jY,c,kS,d,gP".split(","),function(a){function b(a){var b=new h;b.M({label:a,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:p.vc});return b}var c=a("fg"),e=a("ll"),g=a("lk"),d=a("r"),f=a("dO"),h=a("ez"),j=a("eF"),p=a("jY"),k=a("c"),l=a("kS"),q=a("d"),o=a("gP"),a=c.extend(l,function(a,b){l.call(this);this.jb=a;this.de=b;this.de.bind(e.Lb, this.Pma,this,n);this.de.bind(e.Sk,this.Mma,this,n);this.de.bind(e.wc,this.Oma,this,n);this.de.bind(e.Ba,this.Nma,this,n);this.T="hidden";this.DE=m;this.RU=y;this.Yd=m;this.fg=this.ro=this.Kt=this.Nt=this.Lt=this.eL=this.sa=r;this.rha();this.M({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:p.vc,layout:k.Be});this.je()});a.prototype.Pma=function(){if(this.de.wba()||this.de.Cz()&&this.de.vba()){this.T="ready";this.RU&&this.B$()}else this.T="hidden"; this.je()};a.prototype.Mma=function(){this.T="installing";this.je()};a.prototype.Oma=function(a){this.Yd=a.Kh;this.je()};a.prototype.Nma=function(a){this.T=a.data.success?"installed":"failed";this.m4=a.data.error;this.je()};a.prototype.ij=function(){this.Xra()};a.prototype.JJ=function(){if(!this.RU){this.RU=n;this.T=="ready"&&this.B$()}};a.prototype.B$=function(){this.DE=setTimeout(function(){this.DE=r;this.Noa()}.bind(this),5E3);this.je()};a.prototype.Xra=function(){this.o9();this.DE&&clearTimeout(this.DE); this.DE=r};a.prototype.Noa=function(){this.o9();if(this.T=="ready"){this.T="hidden";this.je()}};a.prototype.rha=function(){this.bind(e.Mc,this.ij,this);this.jb.bind(e.Mc,this.JJ,this);this.jb.bind(e.Hb,this.JJ,this)};a.prototype.o9=function(){this.unbind(e.Mc,this.ij,this);this.jb.unbind(e.Mc,this.JJ,this);this.jb.unbind(e.Hb,this.JJ,this)};a.prototype.Ga=function(){l.prototype.Ga.call(this);if(this.sa==r){this.sa=new o;this.sa.M({fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif", fontSize:14,text:g("download-tour")});this.la(this.sa)}if(this.Lt==r){this.Lt=b(g("download"));this.la(this.Lt);this.Lt.bind(e.U,this.iia,this,n)}if(this.Nt==r){this.Nt=b(g("refresh-downloaded"));this.la(this.Nt);this.Nt.bind(e.U,this.oia,this,n)}if(this.Kt==r){this.Kt=b(g("delete-downloaded"));this.la(this.Kt);this.Kt.bind(e.U,this.hia,this,n)}if(this.eL==r){this.eL=new q;this.eL.M({width:"100%"});this.la(this.eL)}if(this.ro==r){this.ro=new j;this.ro.M({backgroundColor:"#ffffff",borderRadius:2,iconColor:"#000000", iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31});this.la(this.ro);this.ro.bind(e.U,this.gia,this,n)}if(this.fg==r){this.fg=b(g("cancel"));this.la(this.fg);this.fg.bind(e.U,this.hH,this,n)}d.Za()&&this.kn();this.je()};a.prototype.el=function(){l.prototype.el.call(this);d.Za()&&this.getParent().bind(e.zb,this.kn,this,n)};a.prototype.qj=function(){d.Za()&&this.getParent().unbind(e.zb,this.kn,this,n);l.prototype.qj.call(this)};a.prototype.kn=function(){var a=this.getParent();if(a){var b= Math.min(a.Aa(),a.eb())/100,c=function(a){return Math.round(a*b)};this.M({gap:c(3.9),height:c(11.9),paddingLeft:c(6),paddingRight:c(6)});this.sa&&this.sa.M({fontSize:c(3)});[this.Lt,this.fg,this.Nt,this.Kt].forEach(function(a){a&&a.M({borderRadius:c(0.4),fontSize:c(3),paddingLeft:c(3),paddingRight:c(3),height:c(6.7)})});this.ro&&this.ro.M({borderRadius:c(0.4),iconLineWidth:c(0.22),iconWidth:c(3.7),iconHeight:c(3.7),height:c(6.7),width:c(6.7)})}};a.prototype.je=function(){var a;switch(this.T){case "ready":a= this.de.Cz()?g("downloaded"):g("download-tour");break;case "installing":a=g("downloading");this.Yd!==m&&(a=a+("..."+this.Yd.toFixed(1)+"%"));break;case "installed":a=g("downloaded");break;case "failed":a=this.m4==f.O_?d.Za()?g("storage-not-provided-launch-from-homescreen"):g("storage-not-provided-launch-from-desktop"):this.m4==f.M_?g("storage-not-provided-bookmark"):g("download-failed")}this.sa&&this.sa.set("text",a);this.Lt&&this.Lt.set("visible",this.T=="ready"&&!this.de.Cz()&&this.de.wba());this.Kt&& this.Kt.set("visible",this.T=="ready"&&this.de.Cz()&&this.de.vba());this.Nt&&this.Nt.set("visible",this.T=="ready"&&this.de.yba());this.fg&&this.fg.set("visible",this.T=="installing");this.ro&&this.ro.set("visible",this.T!="installing");this.set("visible",this.T!="hidden")};a.prototype.iia=function(){this.de.$ca()};a.prototype.oia=function(){this.de.$ca()};a.prototype.hia=function(){this.de.xn();this.T="hidden";this.je()};a.prototype.hH=function(){this.de.cancel();this.T="hidden";this.je()};a.prototype.gia= function(){this.T=="installing"&&this.de.cancel();this.T="hidden";this.je()};return a}); define("dL","require,fg,do,ll,lk,r,jY,c,kS,ks,kF,ez,gP,gJ".split(","),function(a){function b(a,b){this.text=a;this.Hp=b}var c=a("fg"),e=a("do"),g=a("ll"),d=a("lk"),f=a("r"),h=a("jY"),j=a("c"),p=a("kS"),k=a("ks"),l=a("kF"),q=a("ez"),o=a("gP"),t=a("gJ"),a=c.extend(p,function(){p.call(this);this.xl=[];this.fg=this.Mt=this.sa=this.pu=this.Jy=this.em=r;var a=new k;a.set("duration",500);a.set("easing","cubic_in");var b=new l;b.set("duration",500);b.set("easing","cubic_out");this.M({backgroundColor:"#000000", backgroundOpacity:0.6,horizontalAlign:h.Lc,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:y})});a.prototype.Ga=function(){p.prototype.Ga.call(this);if(this.em==r){this.em=new p;this.em.M({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:h.Lc,verticalAlign:h.vc,layout:j.of,shadow:n,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:0.2});this.la(this.em)}if(this.sa==r){this.sa=new o;this.sa.M({fontColor:"#808080",fontWeight:"300", fontFamily:"Tahoma, Geneva, sans-serif"});this.em.la(this.sa)}if(this.pu==r){this.pu=new t;this.pu.M({width:"80%"});this.em.la(this.pu)}if(this.Jy==r){this.Jy=new p;this.Jy.M({backgroundColor:"#b3b3b3"});this.em.la(this.Jy)}if(this.gg==r){this.gg=new p;this.gg.M({horizontalAlign:h.Lc,verticalAlign:h.vc,layout:j.Be});this.em.la(this.gg)}if(this.Mt==r){this.Mt=new q;this.Mt.M({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:h.Lc,verticalAlign:h.vc, label:d("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.Mt.bind(g.U,this.H2,this,n);this.gg.la(this.Mt)}if(this.fg==r){this.fg=new q;this.fg.M({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:h.Lc,verticalAlign:h.vc,label:d("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.fg.bind(g.U,this.hH,this,n);this.gg.la(this.fg)}};a.prototype.el=function(){p.prototype.el.call(this); this.getParent().bind(g.zb,this.kn,this,n)};a.prototype.qj=function(){this.getParent().unbind(g.zb,this.kn,this,n);p.prototype.qj.call(this)};a.prototype.kn=function(){var a=this.getParent();if(a){var b=a.Aa(),a=a.eb();if(f.Za())var c=Math.min(b,a),b=function(a){return Math.round(a*c/100)};else b=function(a){return Math.round(a*4)};this.em&&this.em.M({borderRadius:b(1),width:b(80),height:b(40),gap:b(4),shadowBlurRadius:b(1),shadowSpread:b(1)});this.Jy&&this.Jy.M({width:b(60),minHeight:2,height:b(0.25)}); this.gg&&this.gg.M({gap:b(5)});this.fg&&this.fg.M({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.25)});this.Mt&&this.Mt.M({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.5)});this.sa&&this.sa.M({fontSize:b(5)});this.GL()}};a.prototype.show=function(a,c){this.kn();var d=this.e5(c);d>=0&&this.m9(d);this.upa(new b(a,c));this.kx()};a.prototype.hide=function(a){a=this.e5(a);a>=0&&this.m9(a)};a.prototype.kx=function(){var a=this.getParent();a&&a.Hj(this,a.Pa().length-1)};a.prototype.H2= function(){this.ZG(n)};a.prototype.hH=function(){this.ZG(y)};a.prototype.e5=function(a){for(var b=0;b'+a+"
"};a.prototype.ZG=function(a){var b=this.r5();if(b){b=this.Hla(b.text);this.Rpa(b);e(b).each(function(b){b.Hp&&b.Hp.call(this,a)},this)}};a.prototype.upa=function(a){this.xl.push(a);this.GL()};a.prototype.Hla=function(a){return e(this.xl).filter(function(b){return b.text==a})};a.prototype.Rpa=function(a){this.xl=e(this.xl).filter(function(b){return!e(a).contains(b)}); this.GL()};a.prototype.m9=function(a){this.xl.splice(a,1);a==this.xl.length&&this.GL()};a.prototype.r5=function(){return this.xl.length>0?this.xl[this.xl.length-1]:r};return a}); define("iZ","require,fg,ll,bZ,eO,r,ke".split(","),function(a){function b(a){for(;a&&a!=document;){if(a.getAttribute("tdvclass")=="Button")return n;a=a.parentNode}return y}var c=a("fg"),e=a("ll"),g=a("bZ"),d=a("eO"),f=a("r"),h=a("ke"),j=[],a=[99,111,110,116,101,120,116,109,101,110,117].map(function(a){return String.fromCharCode(a)}).join("");document.addEventListener(a,function(a){(!f.Za()||!b(a.target))&&j.forEach(function(b){b(a)});a.preventDefault();a.stopImmediatePropagation()},n);var p=1,c=c.extend(d, function(a,b){d.call(this);this.pa=a;this.Bla=b;this.jU=this.jU.bind(this);this.pc=this.pc.bind(this);this.BT=y;this.yT=this.yT.bind(this);this.zT=this.zT.bind(this);this.xT=this.xT.bind(this);this.AT=this.AT.bind(this);this.K=document.createElement("div");this.K.style.setProperty("border","1px solid #bbb","important");this.K.style.setProperty("border-radius","3px","important");this.K.style.setProperty("position","absolute","important");this.K.style.setProperty("z-index",p,"important");this.K.style.setProperty("display", "none","important");this.K.style.setProperty("background-color","#e5e5e5","important");this.K.style.setProperty("display","none","important");this.K.style.setProperty("opacity",1,"important");this.K.style.setProperty("padding",0,"important");this.K.style.setProperty("margin",0,"important");this.K.style.setProperty("pointer-events","all","important");this.K.style.setProperty("text-align","left","important");this.K.style.setProperty("box-shadow","1px 1px 3px rgba(0, 0, 0, 0.2)","important");j.push(this.jU)}); c.prototype.jU=function(a){var b=this.Bla();if(b.length!=0){this.K.innerHTML="";this.BT=y;var c=0;b.forEach(function(a){var b=document.createElement("div");if(a){b.textContent=a;b.style.setProperty("cursor","pointer","important");b.style.setProperty("border-radius","3px","important");b.style.setProperty("padding","7px 20px","important");b.style.setProperty("white-space","nowrap","important");var d=c;c++;b.addEventListener("mouseenter",function(a){this.yT(a,d)}.bind(this));b.addEventListener("mouseleave", function(a){this.zT(a,d)}.bind(this));b.addEventListener("mousedown",function(a){this.xT(a,d)}.bind(this));b.addEventListener("mouseup",function(a){this.AT(a,d)}.bind(this))}else{b.style.setProperty("margin","7px 5px","important");b.style.setProperty("border-top","1px solid #aaa","important");b.style.setProperty("border-bottom","1px solid #fff","important")}b.style.setProperty("font-family","Arial","important");b.style.setProperty("font-size","13px","important");b.style.setProperty("color","#000000", "important");b.style.setProperty("opacity",1,"important");b.style.setProperty("display","block","important");b.style.setProperty("pointer-events","all","important");this.K.appendChild(b)}.bind(this));(h.gm()||document.body).appendChild(this.K);this.K.style.setProperty("display","block","important");b=a.pageX;a=a.pageY;b+this.K.clientWidth>document.body.clientWidth-5&&(b=document.body.clientWidth-this.K.clientWidth-5);a+this.K.clientHeight>document.body.clientHeight-5&&(a=document.body.clientHeight- this.K.clientHeight-5);this.K.style.setProperty("left",b+"px","important");this.K.style.setProperty("top",a+"px","important");this.pa.bind(e.Hb,this.pc,this);document.addEventListener("mousedown",this.pc);this.Wta=setInterval(this.Vta.bind(this),200)}};c.prototype.y5=function(){clearInterval(this.Wta);this.K.parentNode.removeChild(this.K);document.removeEventListener("mousedown",this.pc);this.pa.unbind(e.Hb,this.pc,this);this.K.style.setProperty("display","none","important")};c.prototype.Vta=function(){this.K.contains(document.elementFromPoint(this.K.offsetLeft+ this.K.clientWidth*0.5,this.K.offsetTop+this.K.clientHeight*0.5))||this.K.style.setProperty("z-index",p=p*10,"important")};c.prototype.pc=function(){this.y5()};c.prototype.xT=function(a){this.BT=n;a.preventDefault();a.stopImmediatePropagation()};c.prototype.AT=function(a,b){if(this.BT){this.y5();a.preventDefault();a.stopImmediatePropagation();this.trigger(new g(e.Mi,{index:b}))}};c.prototype.yT=function(a){a.currentTarget.style.setProperty("color","#ffffff","important");a.currentTarget.style.setProperty("background-color", "rgba(0, 0, 0, 0.7)","important")};c.prototype.zT=function(a){a.currentTarget.style.setProperty("color","#000000","important");a.currentTarget.style.setProperty("background-color","","important")};return c}); define("jx",["require","jt","R"],function(a){function b(a){this.pa=a;this.gn={};this.gn[e.Zfa]="move";this.gn[e.$fa]="ew-resize";this.gn[e.bga]="ns-resize";this.gn[e.aga]="nesw-resize";this.gn[e.cga]="nwse-resize";this.gn[e.Ue]="pointer";this.gn[e.pq]="inherit";this.gn[e.dd]="default";this.Ve={};this.Ve[e.xG]="grab.cur";this.Ve[e.yG]="grabbing.cur";this.Ve[e.y0]="N.cur";this.Ve[e.z0]="NE.cur";this.Ve[e.p0]="E.cur";this.Ve[e.C0]="SE.cur";this.Ve[e.B0]="S.cur";this.Ve[e.D0]="SW.cur";this.Ve[e.E0]="W.cur"; this.Ve[e.A0]="NW.cur";this.Ve[e.r0]="FN.cur";this.Ve[e.s0]="FNE.cur";this.Ve[e.q0]="FE.cur";this.Ve[e.v0]="FSE.cur";this.Ve[e.u0]="FS.cur";this.Ve[e.w0]="FSW.cur";this.Ve[e.x0]="FW.cur";this.Ve[e.t0]="FNW.cur";this.P2={}}var c=a("jt"),e=a("R");b.prototype.Vba=function(a){return this.fna(a)?this.o5(a):this.Zma(a)?this.kla(a):this.o5(e.dd)};b.prototype.uia=function(a){if(!(a in this.P2)){var b=new Image;b.src=this.P4(a);this.P2[a]=b}};b.prototype.fna=function(a){return a in this.gn};b.prototype.o5= function(a){return this.gn[a]};b.prototype.Zma=function(a){return this.Ve[a]};b.prototype.kla=function(a){this.uia(a);return"url("+this.P4(a)+"), default"};b.prototype.P4=function(a){return c.Zs(this.pa.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.Ve[a]};return b}); define("bT",["do"],function(a){function b(){this.mp={};this.Nl=[];this.aB=0}b.prototype.push=function(b,e){if(this.mp[e]==m)this.mp[e]=[b],this.Nl.push(e),this.Nl.sort(function(a,b){return a-b}),this.aB++;else{var g=this.mp[e];a(g).contains(b)||(g.push(b),this.aB++)}};b.prototype.Xba=Q("aB");b.prototype.isEmpty=function(){return 0==this.Nl.length};b.prototype.Rda=function(){if(!this.isEmpty()){var a=this.Nl[0],b=this.mp[a].pop();0==this.mp[a].length&&(delete this.mp[a],this.Nl=this.Nl.slice(1));this.aB--; return b}};b.prototype.wZ=function(){if(!this.isEmpty()){var a=this.Nl[this.Nl.length-1],b=this.mp[a].pop();0==this.mp[a].length&&(delete this.mp[a],this.Nl=this.Nl.slice(0,this.Nl.length-1));this.aB--;return b}};return b}); define("gI","require,do,fg,fe,bT,V,iN".split(","),function(a){function b(){this.Vr=y;this.D8=m;this.W=n;this.QJ=this.QJ.bind(this);this.wH=new e;this.tK=new e;this.bL=new e;this.bJ=new e;this.BR=new e;g.Ma(this.Pg,this)}a("do");a("fg");var c=a("fe"),e=a("bT"),g=a("V"),d=a("iN");b.prototype.clear=function(){this.W=y};b.prototype.lF=function(a){this.wH.push(a,this.Px(a));this.wD()};b.prototype.Dc=function(a){this.tK.push(a,this.Px(a));this.wD()};b.prototype.Xa=function(a){this.bL.push(a,this.Px(a)); this.wD()};b.prototype.Kc=function(a){this.bJ.push(a,this.Px(a));this.wD()};b.prototype.Ih=function(a){this.BR.push(a,this.Px(a));this.wD()};b.prototype.L=function(){this.Zsa();this.Bta();this.ata()};b.prototype.Zsa=function(){do{for(;!this.wH.isEmpty();)this.wH.wZ().Ga();this.tK.isEmpty()||this.tK.wZ().ka()}while(!this.tK.isEmpty()||!this.wH.isEmpty())};b.prototype.Bta=function(){for(;!this.bL.isEmpty()||!this.bJ.isEmpty();){this.KL();this.eX()}};b.prototype.KL=function(){for(;!this.bL.isEmpty();){var a= this.bL.wZ();if(a.Uza()){var b=a.getParent();if(b){b.Xa();b.Kc()}else a.wea(0,0,a.Hn(),a.Gn())}}};b.prototype.eX=function(){for(;!this.bJ.isEmpty();)this.bJ.Rda().Gi()};b.prototype.ata=function(){for(;!this.BR.isEmpty();)this.BR.Rda().Se();c.Axa()};b.prototype.wD=function(){if(!this.Vr){this.Vr=n;this.D8=(new Date).getTime()+500;d.ow(this.QJ)}};b.prototype.QJ=function(){this.Vr=y;this.W&&this.L()};b.prototype.Px=function(a){return(a=a.getParent())?this.Px(a)+1:0};b.prototype.Pg=function(){this.Vr&& (new Date).getTime()>=this.D8&&this.QJ();g.Ma(this.Pg,this)};return b}); define("fh","jquery.mod,do,fg,ll,kS,iZ,jx,Y,gI,ke,r".split(","),function(a,b,c,e,g,d,f,h,j,p,k){c=c.extend(g,function(b){this.cx=new j;g.call(this);this.cn(this);this.Tc("Application");this.Cd=a(b);this.Cd.css({overflow:"hidden","user-select":"none","-ms-user-select":"none","-moz-user-select":"none","-webkit-user-select":"none","-ms-touch-action":"none","touch-action":"none",visibility:"visible","-webkit-tap-highlight-color":"rgba(255, 255, 255, 0)"});this.vp=a(document.createElement("div"));this.vp.css({position:"absolute", left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.Cd.append(this.vp);this.vp.append(this.Gb());this.Q$=this.vp.get(0);this.hc=this.cc=m;this.Sma=10;this.Hia=500;this.tD=r;this.oR=new f(this);this.ya=new h(this);this.K.append(this.ya.Gb());this.mja=new d(this,this.M4.bind(this));this.mja.bind(e.Mi,this.gf(this.X6),this,n);this.w6=n;this.set("contentOpaque",n);this.Wt=r;this.WA=[];this.Fx(["globalmousemove"]);this.Uha();this.UL=this.VL=0;this.Qu=1;try{this.VL=window.top.innerWidth; this.UL=window.top.innerHeight;this.MS=n}catch(c){this.MS=y}this.Taa();this.mg=new p(b);this.mg.bind(e.aa,function(){this.dS(this.mg.enabled())},this)});c.prototype.start=function(){if(!this.C$){this.C$=n;this.trigger(e.lh)}};c.prototype.Taa=function(){if(this.MS&&!p.enabled()){this.VL=window.top.innerWidth;this.UL=window.top.innerHeight}};c.prototype.clear=function(){this.qw(r);this.N$();this.vka();this.cx.clear();if(this.Cd){this.Gb().remove();this.vp.remove();this.Cd=r}this.oR=r;this.mg.ffa(); this.mg=r};c.prototype.Rya=P("w6");c.prototype.dS=function(a){a?this.S9():this.Sia()};c.prototype.Xo=function(){this.fC=this.di=this.vp.width();this.eC=this.ci=this.vp.height()};c.prototype.qw=function(a){if(this.Wt!=a){this.Wt!=r&&this.Wt.Esa();this.Wt=a;for(var c=[];a!=r;){c=[a].concat(c);a=a.getParent()}for(var a=this.WA.length-1,d=n;a>=0&&d;a--)b(c).contains(this.WA[a])?d=y:this.WA.pop().Gsa();for(a=0;a=0&&c>=0&&bb?a:b)/(this.VL> this.UL?this.VL:this.UL),d=Math.round(a/c),e=Math.round(b/c);this.Qu=c;a={left:Math.round((a-d)*0.5)+"px",top:Math.round((b-e)*0.5)+"px",right:"auto",bottom:"auto",width:d+"px",height:e+"px",transform:"scale("+[c,c].join(", ")+")",position:"absolute"}}else{a={position:"absolute",left:0,top:0,right:"auto",bottom:"auto",width:document.body.clientWidth+"px",height:document.body.clientHeight+"px"};this.Qu=1}this.vp.css(a)};c.prototype.Sia=function(){this.vp.css({position:"abolute",left:0,top:0,right:0, bottom:0,width:"auto",height:"auto",transform:""});this.Qu=1};c.prototype.Pra=function(){this.N$();var a=this;this.tD=setTimeout(function(){a.tD=r;a.Xa()},this.Sma)};c.prototype.N$=function(){if(this.tD){this.tD=r;clearTimeout(this.tD)}};c.prototype.jma=function(){this.a3()};c.prototype.mS=function(){return b(g.prototype.mS.call(this)).defaults({globaltouchmove:[{target:a(document),name:"touchmove",handler:this.gf(this.kma)}],globalmousemove:[{target:a(document),name:"mousemove",handler:this.gf(this.u5)}, {target:a(window),name:"mouseout",handler:this.gf(this.u5)}],globalresize:[{target:a(window),name:"resize",handler:this.gf(this.jma)}]})};return c}); define("fc","require,jquery.mod,lC,bK,ke,ll,eO,lk,r".split(","),function(a){function b(){o=TDV.Da.Fn();var a=q||o;if(l!=a){l=a;k.trigger(f.aa)}a=!!q&&o!=q&&p.Za();if(t!=a){if(!s){s=c("
");s.css({position:"fixed","z-index":e.Ffa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});s.html(['
\n
','','
'+j("rotate-device")+"
","
\n
"].join("\n"));v=s.find("img")}t&&s.detach();(t=a)&&(d.enabled()?c(d.gm()):c("body")).append(s)}t&&v.css("transform",l==k.lga?"translate(-11%, 0) rotate(-90deg)":"none")}var c=a("jquery.mod"),e=a("lC"),g=a("bK"),d=a("ke"),f=a("ll"),h=a("eO"),j=a("lk"),p=a("r"),k=new h;k.kAa=TDV.Da.UO;k.lga=TDV.Da.VO;k.QF= function(a){if(q!=a){q=a;b()}};k.gca=function(){return q};k.get=function(){return l};var l=m,q=m,o=m,t=y,s=r,v=r;window.addEventListener("resize",function(){b();setTimeout(b,500)},n);try{window.screen.orientation.addEventListener("change",b)}catch(u){window.addEventListener("orientationchange",b,y)}b();return k}); define("gE","require,fg,do,ll,bZ,ce,dW,kd,lk,jT,A,ij,dL,dc,dQ,kz,iX,r,fT,dO,bW,hi,jt,bi,dm,fh,kS,cv,ke,bp,fc,jg,cJ".split(","),function(a){var b=a("fg"),c=a("do"),e=a("ll"),g=a("bZ"),d=a("ce"),f=a("dW"),h=a("kd"),j=a("lk"),p=a("jT"),k=a("A"),l=a("ij"),q=a("dL"),o=a("dc"),t=a("dQ"),s=a("kz"),v=a("iX"),u=a("r"),w=a("fT"),x=a("dO"),z=a("bW"),C=a("hi"),A=a("jt"),K=a("bi"),F=a("dm"),J=a("fh"),B=a("kS"),O=a("cv"),N=a("ke"),I=a("bp"),L=a("fc"),G=a("jg"),E=a("cJ"),H=b.extend(J,function(a){J.call(this,a); this.de=new x(this);this.c4=new l(this,this.de);this.Em=new B;this.Em.M({visible:n,width:"100%",height:"100%"});this.gy=new q;this.bz=new o;this.IH=new k(this);a=new O;a.CN(0);this.OF(a);this.xe(n);this.bind(e.D("settings"),this.Coa,this,n);this.PL=TDV.Da.IM();L.bind(e.aa,this.noa,this,n);I.Mza();this.lia=new p(this,"buttonMute",F.Wc);this.lia.bind(e.U,this.F7,this,n);this.sia=new p(this,"buttonUnmute",F.Wc);this.sia.bind(e.U,this.g8,this,n);this.mH=new p(this,"buttonToggleMute",F.Qh);this.mH.bind(e.Dg, this.F7,this,n);this.mH.bind(e.Ph,this.g8,this,n);this.bind(e.D("mute"),this.koa,this);this.mH.set("pressed",this.get("mute"));this.jia=new p(this,"buttonEnterFullscreen",F.Wc);this.jia.bind(e.U,this.c7,this,n);this.kia=new p(this,"buttonExitFullscreen",F.Wc);this.kia.bind(e.U,this.d7,this,n);this.jH=new p(this,"buttonToggleFullscreen",F.Qh);this.jH.bind(e.Dg,this.c7,this,n);this.jH.bind(e.Ph,this.d7,this,n);this.jH.set("pressed",this.get("fullscreenEnabled"));this.bind(e.D("fullscreenEnabled"),this.Wna, this,n);this.set("fullscreenEnabled",this.mg.enabled());this.set("mouseWheelEnabled",n);this.set("backgroundPreloadEnabled",n);this.set("defaultVRPointer","laser");this.set("downloadEnabled",y);this.set("mediaActivationMode","window");this.set("fullscreenFallback","out_of_frame");this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(e.lh,this.Foa,this,n);[e.Hb,e.fc,e.rq,e.wG,e.vG].forEach(function(a){this.bind(a,function(a){this.trigger(new g(e.rG,{Sea:a}))},this,n)}.bind(this));K.bind(e.aa, function(){K.isPresenting()?L.QF(m):L.QF(J.prototype.get.call(this,"lockedOrientation"))},this);this.mg.bind(e.aa,function(){var a=L.gca();L.QF(m);L.QF(a)},this)});H.W_="orientationChange";f.A("Player",H).zya().B("Container").J({backgroundPreloadEnabled:"bool",buttonEnterFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonExitFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonMute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonToggleFullscreen:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonToggleMute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonUnmute:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",cardboardAvailable:"bool",cookiesPolicy:"or[array[CookiesPolicy], CookiesPolicy]",defaultVRPointer:"enum[gaze, laser]",definitions:"array[Object]",desktopMipmappingEnabled:"bool",downloadEnabled:"bool",fullscreenAvailable:"bool",fullscreenEnabled:"bool", fullscreenFallback:"enum[out_of_frame, none]",gyroscopeAvailable:"bool",hash:"string",isMobile:"bool",mediaActivationMode:"enum[window, button]",menu:"array[PlayerMenuItem]",defaultMenu:"array[enum[fullscreen, mute, rotation]]",mobileMipmappingEnabled:"bool",mouseWheelEnabled:"bool",mute:"bool",lockedOrientation:"enum[portrait, landscape]",orientation:"enum[portrait, landscape]",surfaceSelectionAvailable:"bool",touchDevice:"bool",touchEnabled:"bool",vrAvailable:"bool",vrPolyfillScale:"number"}).Sya().Cg({logCapabilities:function(){this.una()}, activateAudio:function(a){this.Wga(a)}}).Hf([e.lh,H.W_,e.rG]);H.prototype.dS=function(a){J.prototype.dS.apply(this,arguments);this.set("fullscreenEnabled",a)};H.prototype.za=function(){J.prototype.za.call(this);this.f("mute",y);this.f("fullscreenEnabled",y)};H.prototype.Ga=function(){J.prototype.Ga.call(this);this.c4.getParent()!=this&&this.la(this.c4);if(this.Em.getParent()!=this){this.la(this.Em);this.Em.la(this.IH);this.Em.la(this.gy);this.Em.la(this.bz)}};H.prototype.eqa=function(a){var b=[]; this.gy&&b.push(this.gy);this.bz&&b.push(this.bz);this.IH&&b.push(this.IH);for(var c=n,d=0;d<=b.length&&c;d++){c=a.indexOf(b[d]);c=a.length-(b.length-d)==c}return c?a:a.filter(function(a){return b.indexOf(a)<0}).concat(b)};H.prototype.ka=function(){this.c9||(this.c9=c.difference(this.Vla(),["visible","includeInLayout","state","left","right","top","bottom","centerX","centerY","width","height","minWidth","minHeight","maxWidth","maxHeight","actualWidth","actualHeight","paddingLeft","paddingTop","paddingRight", "paddingBottom"]));this.ib(this.c9,{},[this.Em],n,n);J.prototype.ka.call(this);this.MAa===n&&this.LAa()};H.prototype.set=function(a,b){switch(a){case "children":this.Em.set(a,this.eqa(b));return;case "creationPolicy":this.Em.set(a,b);return;case "fullscreenAvailable":case "gyroscopeAvailable":case "cardboardAvailable":case "isMobile":case "orientation":case "surfaceSelectionAvailable":case "touchEnabled":case "touchDevice":case "vrAvailable":b=this.get(a);break;case "fullscreenEnabled":b=this.mg.available()&& b;break;case "fullscreenFallback":N.VZ(b);break;case "lockedOrientation":u.le()&&(b=m);L.QF(b);break;case "installAvailable":b=this.de.ready();break;case "mouseWheelEnabled":this.Rya(A.$g("mousewheelenabled",b));break;case "backgroundPreloadEnabled":this.qqa(b);break;case "vrPolyfillScale":K.cza(b);break;case "desktopMipmappingEnabled":s.lya(b);break;case "mobileMipmappingEnabled":s.Pya(b)}J.prototype.set.call(this,a,b)};H.prototype.get=function(a,b){switch(a){case "children":case "creationPolicy":return this.Em.get(a, b);case "touchEnabled":return this.ik;case "touchDevice":return u.s_();case "isMobile":return u.Za();case "orientation":return L.get();case "lockedOrientation":return L.gca();case "gyroscopeAvailable":return w.available;case "cardboardAvailable":case "vrAvailable":return K.available();case "fullscreenAvailable":return this.mg.available();case "vrPolyfillScale":return K.Mva();case "installAvailable":return this.de.ready();case "surfaceSelectionAvailable":return t.Wea();default:return J.prototype.get.apply(this, arguments)}};H.prototype.F7=function(){this.set("mute",n)};H.prototype.g8=function(){this.set("mute",y)};H.prototype.koa=function(){this.mH.set("pressed",this.get("mute"))};H.prototype.c7=function(){this.set("fullscreenEnabled",n)};H.prototype.d7=function(){this.set("fullscreenEnabled",y)};H.prototype.Wna=function(){this.get("fullscreenEnabled")?this.mg.Fh():this.mg.$d();this.jH.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.mg.enabled())};H.prototype.Coa=function(){var a= this.get("settings");if(a){z.mm(a);C.f_(a);this.de.f_(a)}};H.prototype.qqa=function(a){C.enabled(a)};H.prototype.M4=function(){var a=[];this.tx=[];(this.get("menu")||[]).forEach(function(b){var c=b.get("label");a.push(b.get("label"));c&&this.tx.push(function(){b.trigger("click")})}.bind(this));var b=this.get("defaultMenu",[]);if(b.indexOf("rotation")>=0){var c=this.An("PanoramaPlayer");if(c.length){a.push(c[0].get("mouseControlMode")==d.et?j("change-to-drag-and-release"):j("change-to-click-and-move")); this.tx.push(this.tsa.bind(this))}}if(b.indexOf("fullscreen")>=0&&this.mg.available()){a.push(this.mg.enabled()?j("exit-fullscreen"):j("enter-fullscreen"));this.tx.push(this.rsa.bind(this))}if(b.indexOf("mute")>=0){a.push(this.get("mute")?j("unmute"):j("mute"));this.tx.push(this.ssa.bind(this))}b=[].concat(h.name?[h.name]:[],h.Pua!="false"?h.sF?["v:"+h.sF+"."+h.wF]:["v:"+h.wF]:[]).join(" ");if(b!=""){a.length>0&&a.push("");a.push(b);this.tx.push(this.Qoa.bind(this))}return a};H.prototype.X6=function(a){this.tx[a.data.index]()}; H.prototype.tsa=function(){var a=this.An("PanoramaPlayer"),b=a[0].get("mouseControlMode")==d.et?d.Xn:d.et;a.forEach(function(a){E.setItem(M,b);a.set("mouseControlMode",b)})};H.prototype.Foa=function(){E.getItem(M)==d.Xn&&this.An("PanoramaPlayer").forEach(function(a){a.set("mouseControlMode",d.Xn)});A.zg("mute")&&this.set("mute",A.$g("mute",this.get("mute")));A.zg("vr")&&K.Fh()};H.prototype.rsa=function(){this.mg.toggle()};H.prototype.ssa=function(){this.set("mute",!this.get("mute"))};H.prototype.Qoa= function(){h.nfa&&window.open(h.nfa,"_blank")};H.prototype.noa=function(){this.trigger(H.W_)};H.prototype.una=function(){b.Uua(n);b.log("UA: "+navigator.userAgent);b.log("screen: ("+Math.max(window.screen.width,window.screen.height)+", "+Math.min(window.screen.width,window.screen.height)+") dpr: "+window.devicePixelRatio+" ("+Math.max(window.screen.width,window.screen.height)*window.devicePixelRatio+", "+Math.min(window.screen.width,window.screen.height)*window.devicePixelRatio+")");u.log();v.log(); j.log();K.log()};H.prototype.Wga=function(a){if(I.UX())G.$z(a);else{I.x_(a);I.Bg(this)}};var M="tdvp_"+window.location.pathname+"_rotation_mode";return H});define("bQ",["require","fg","jd","ll","dW"],function(a){var b=a("fg"),c=a("jd"),e=a("ll"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("PlayerMenuItem",b).B("Object").J({label:"string"}).Hf([e.U]);return b}); define("K","require,fg,jd,ll,fu,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("fu"),d=a("dW"),f=a("hW"),a=b.extend(c,function(){c.call(this);this.set("visible",y);this.set("state",g.H);this.set("showDuration",1E3);this.set("hideDuration",1E3);this.set("darkenBackground",n);this.set("lookAwayToHide",n);this.set("lookAwayToHideTime",2E3);this.set("showEasing","linear");this.set("hideEasing","linear");this.bind(e.D("state"),function(){this.trigger(e.gc)},this,n);this.Sb=m});a.prototype.show= function(){this.set("visible",n)};a.prototype.hide=function(){this.set("visible",y)};a.prototype.play=function(){this.set("state",g.P)};a.prototype.pause=function(){this.set("state",g.HG)};a.prototype.stop=function(){this.set("state",g.H)};d.A("PopupPanoramaOverlay",a).B("PanoramaOverlay").J({autoplay:"bool",darkenBackground:"bool",loop:"bool",yaw:"number",pitch:"number",hfov:"number",image:"ImageResource",video:"VideoResource",lookAwayToHide:"bool",lookAwayToHideTime:"number",popupDistance:"number", popupMaxHeight:"or[number,percent]",popupMaxWidth:"or[number,percent]",rotationX:"number",rotationY:"number",rotationZ:"number",hideEasing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",hideDuration:"number",state:"enum[stopped, playing, paused]",showEasing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]", showDuration:"number",visible:"bool",playbackPositions:"array[PopupPanoramaOverlayPlaybackPosition]"}).Cg({hide:a.prototype.hide,pause:a.prototype.pause,play:a.prototype.play,show:a.prototype.show,stop:a.prototype.stop}).Xb([e.Ba,e.Tw,e.Lw,e.gc]).Hf([e.U]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=f.Ova(this);return this.Sb}return c.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var d=y;switch(a){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.Sb= m;d=n}c.prototype.set.call(this,a,b);d&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};return a});define("lm",["do","fg","cr","dW"],function(a,b,c,e){a=b.extend(c,function(){c.call(this)});e.A("ProgressBar",a).B("UIComponent").J({barBackgroundColor:"or[array[color], color]",barBackgroundColorDirection:"enum[horizontal, vertical]",barBackgroundColorRatios:"array[number]",barBorderColor:"color",barBorderRadius:"number",barBorderSize:"number",barOpacity:"number",percent:"number"});return a}); define("cY","require,fg,jd,ll,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("dW"),d=a("hW"),a=b.extend(c,function(){c.call(this);this.Sb=m;this.set("enabled",n);this.set("interactionEnabled",n);this.set("contentInteractive",y);this.set("transparent",y)});g.A("QuadFramePanoramaOverlay",a).B("PanoramaOverlay").J({displayTooltipInTouchScreens:"bool",contentInteractive:"bool",enabled:"bool",image:"ImageResource",interactionEnabled:"bool",height:"number",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]", transparent:"bool",toolTip:"string",url:"string",useHandCursor:"bool",vertices:"array[PanoramaPoint]",width:"number"}).Xb([e.Ad,e.Mh,e.Kf,e.xc,e.Qb,e.od]).Hf([e.U]).hh(["url"]);a.prototype.set=function(a,b){var d=y;switch(a){case "vertices":case "playbackPositions":this.Sb=m;d=n}c.prototype.set.call(this,a,b);d&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=d.NY(this);return this.Sb}return c.prototype.get.call(this, a,b)};return a});define("br",["require","fg","dW","cj"],function(a){var b=a("fg"),c=a("dW"),e=a("cj"),a=b.extend(e,function(){e.call(this)});c.A("QuadHotspotPanoramaOverlay",a).B("HotspotPanoramaOverlay");return a});define("gK",["dW","q"],function(a,b){a.A("QuadHotspotPanoramaOverlayArea",b).B("HotspotPanoramaOverlayArea");return b}); define("cX","require,fg,jd,ll,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("dW"),d=a("hW"),a=b.extend(c,function(){c.call(this);this.set("opacity",1);this.Sb=m});g.A("QuadHotspotPanoramaOverlayImageBase",a).B("Object").J({distance:"number",image:"ImageResource",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]",opacity:"number",vertices:"array[PanoramaPoint]"}).Xb([e.od,e.Ad]);a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb= d.NY(this);return this.Sb}return c.prototype.get.call(this,a,b)};a.prototype.set=function(a,b){var d=y;switch(a){case "opacity":case "distance":case "vertices":case "playbackPositions":this.Sb=m;d=n}c.prototype.set.call(this,a,b);d&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};return a}); define("el",["require","fg","dW","cX"],function(a){var b=a("fg"),c=a("dW"),e=a("cX"),a=b.extend(e,function(){e.call(this)});c.A("QuadHotspotPanoramaOverlayImage",a).B("QuadHotspotPanoramaOverlayImageBase");return a});define("hX",["require","fg","dW","cX"],function(a){var b=a("fg"),c=a("dW"),e=a("cX"),a=b.extend(e,function(){e.call(this)});c.A("QuadHotspotPanoramaOverlayMap",a).B("QuadHotspotPanoramaOverlayImageBase");return a}); define("dP","require,fg,jd,ll,fu,bZ,dW,hW".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("ll"),g=a("fu"),d=a("bZ"),f=a("dW"),h=a("hW"),a=b.extend(c,function(){c.call(this);this.Sb=m;this.set("enabled",n);this.set("interactionEnabled",n);this.set("state",g.H);this.set("enabledInCardboard",n);this.set("enabledInStandard",n);this.set("blending",0);this.set("opacity",1);this.set("fadeInDuration",200);this.set("fadeOutDuration",200)});a.prototype.play=function(){this.set("state",g.P)};a.prototype.pause= function(){this.set("state",g.mc)};a.prototype.stop=function(){this.set("state",g.H)};f.A("QuadVideoPanoramaOverlay",a).B("PanoramaOverlay").J({autoplay:"bool",blending:"number",chromaColor:"color",chromaThreshold:"number",chromaSmoothing:"number",cues:"array[VideoCue]",distance:"number",displayTooltipInTouchScreens:"bool",enabled:"bool",enabledInCardboard:"bool",enabledInVR:"bool",enabledInStandard:"bool",fadeInDuration:"number",fadeOutDuration:"number",interactionEnabled:"bool",videoVisibleOnStop:"bool", vertices:"array[PanoramaPoint]",image:"ImageResource",loop:"bool",opacity:"number",playbackPositions:"array[QuadPanoramaOverlayPlaybackPosition]",state:"enum[stopped, playing, paused]",toolTip:"string",useHandCursor:"bool",video:"VideoResource"}).Xb([e.Ba,e.Ad,e.Mh,e.Kf,e.xc,e.Qb,e.od,e.lh,e.Jf,e.gc]).Hf([e.U]).Cg({pause:a.prototype.pause,play:a.prototype.play,stop:a.prototype.stop});a.prototype.set=function(a,b){var f=y;switch(a){case "state":var h=this.get("state")||g.H;h==g.H&&b==g.P&&this.trigger(e.lh); h!=b&&this.trigger(new d(e.gc,{oldState:h,state:b}));break;case "enabledInCardboard":this.set("enabledInVR",b);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.Sb=m;f=n}c.prototype.set.call(this,a,b);f&&a!="playbackPositions"&&this.trigger(e.D("playbackPositions"))};a.prototype.get=function(a,b){switch(a){case "playbackPositions":if(this.Sb===m)this.Sb=h.NY(this);return this.Sb}return c.prototype.get.call(this,a,b)};return a}); define("jI",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("initialState","playing");this.set("opacity",0.25);this.set("speed",0.5);this.set("intensity",0.5);this.set("color","#ffffff");this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.A("RainPanoramaOverlay",b).B("PanoramaOverlay").J({initialState:"enum[playing, stopped]",intensity:"number",speed:"number",opacity:"number",color:"color", startDuration:"number",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"});b.prototype.get=function(a,b){"startState"==a&&b===m&&(b=this.get("initialState"));return c.prototype.get.call(this,a,b)};return b}); define("ec",["require","fg","jd","dW","ll"],function(a){var b=a("fg"),c=a("jd"),e=a("dW"),a=a("ll"),b=b.extend(c,function(){c.call(this)});e.A("RotationalCameraMovement",b).B("Object").J({easing:"enum[linear, quad_in, quad_out, quad_in_out, cubic_in, cubic_out, cubic_in_out, quart_in, quart_out, quart_in_out, quint_in, quint_out, quint_in_out]",duration:"number",hfovSpeed:"number",pitchSpeed:"number",yawSpeed:"number"}).Xb([a.Ba]);return b}); define("bO",["fg","dE","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("SlideInEffect",a).B("Effect").J({from:"enum[left, top, right, bottom]"});return a});define("gu",["fg","fP","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("SlideOutEffect",a).B("Effect").J({to:"enum[left, top, right, bottom]"});return a}); define("kI",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this);this.set("initialState","playing");this.set("intensity",0.5);this.set("speed",0.25);this.set("state","playing");this.set("startDuration",2E4);this.set("stopDuration",2E4)});a.A("SnowPanoramaOverlay",b).B("PanoramaOverlay").J({initialState:"enum[playing, stopped]",intensity:"number",speed:"number",startDuration:"number",state:"enum[playing, stopped]",stopDuration:"number",startState:"enum[playing, stopped]"}); b.prototype.get=function(a,b){"startState"==a&&b===m&&(b=this.get("initialState"));return c.prototype.get.call(this,a,b)};return b}); define("jz",["require","fg","dW","iR"],function(a){var b=a("fg"),c=a("dW"),e=a("iR"),a=b.extend(e,function(){e.call(this)});c.A("SphericPanoramaFrame",a).B("PanoramaFrame").J({sphere:"or[ImageResource, Video360Resource]",stereoSphere:"or[ImageResource, Video360Resource]"});a.prototype.Jh=function(){var a=this.get("sphere");return a&&c.ub("Video360Resource",a)?n:(a=this.get("stereoSphere"))&&c.ub("Video360Resource",a)?n:y};return a}); define("cz","do,fg,u,kS,jY,N,gP".split(","),function(a,b,c,e,g,d,f){var h=b.extend(e,function(a){e.call(this);this.Tc("Tab");this.CU=a;this.ri="";this.yW=y;this.a6=this.sa=r;this.BX=this.AX=y;this.set("childrenInteractionEnabled",y);this.set("contentOpaque",n)});h.prototype.za=function(){e.prototype.za.call(this);this.f("horizontalAlign",g.Lc);this.f("verticalAlign",g.vc);this.f("fontFamily");this.f("fontSize");this.f("fontColor");this.f("fontWeight");this.f("fontStyle");this.f("textDecoration"); this.f("textShadowBlurRadius");this.f("textShadowColor");this.f("textShadowHorizontalLength");this.f("textShadowOpacity");this.f("textShadowVerticalLength")};h.prototype.Pea=function(a){if(this.AX!=a){this.AX=a;this.BX=n;this.Dc()}};h.prototype.Ga=function(){e.prototype.Ga.call(this);if(this.sa==r){this.sa=new f;this.sa.set("horizontalAlign","center");this.la(this.sa)}};h.prototype.el=function(){e.prototype.el.call(this);this.a6=c.watch(this.CU,"label",this.boa,this);this.l$(this.CU.get("label"))}; h.prototype.vV=function(){e.prototype.vV.call(this);this.a6.unwatch()};h.prototype.boa=function(){var a=this.CU.get("label");this.l$(a?a:"")};h.prototype.l$=function(a){if(this.ri!=a){this.ri=a;this.yW=n;this.Dc()}};h.prototype.ka=function(){if(this.yW){this.yW=y;this.sa.set("text",this.ri)}if(this.BX){this.BX=y;this.sa.set("direction",this.AX?d.of:d.Be)}this.ib(h.J1,h.Zw,[this.sa],n,n);e.prototype.ka.call(this)};h.J1=["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration", "textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];h.Zw={};a(h.J1).each(function(a){h.Zw[a]=a});return h});define("dV",[],function(){return{nA:"normal",Mw:"inverse",F_:"center"}}); define("cq","do,fg,W,R,ll,kS,jY,c,fV,cz,dV,bh".split(","),function(a,b,c,e,g,d,f,h,j,p,k,l){b=b.extend(d,function(){d.call(this);this.Tc("TabPanel");this.td=-1;this.iv=y;this.YD=[];this.oL=y;this.Um=[];this.EU=y;this.XD=[];this.Ie=this.cf=r;this.kv(y)});b.prototype.za=function(){d.prototype.za.call(this);this.f("pages",[]);this.f("selectedIndex",-1);this.f("tabsSize",25);this.f("tabsPosition",l.ob);this.f("tabsGap",0);this.f("tabsPadding",10);this.f("tabsAlign",k.nA);this.f("tabsBackgroundOpacity", 0.6);this.f("tabsBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsBackgroundColorRatios",[0,0.5]);this.f("tabsRollOverBackgroundOpacity",1);this.f("tabsRollOverBackgroundColor",["#FFFFFF","#CCCCCC"]);this.f("tabsRollOverBackgroundColorRatios",[0,0.5]);this.f("backgroundColor","#FFFFFF");this.f("selectedTabBackgroundOpacity",1);this.f("selectedTabBackgroundColor");this.f("selectedTabBackgroundColorRatios");this.f("borderRadius",6);this.f("pagePaddingLeft",4);this.f("pagePaddingTop",4);this.f("pagePaddingRight", 4);this.f("pagePaddingBottom",4);this.f("borderColor","#AAAAAA");this.f("borderSize",1);this.f("selectedTabFontSize");this.f("selectedTabFontColor");this.f("selectedTabFontWeight");this.f("selectedTabFontStyle");this.f("selectedTabTextDecoration");this.f("selectedTabTextShadowBlurRadius");this.f("selectedTabTextShadowColor");this.f("selectedTabTextShadowHorizontalLength");this.f("selectedTabTextShadowOpacity");this.f("selectedTabTextShadowVerticalLength");this.f("tabsFontFamily");this.f("tabsFontSize"); this.f("tabsFontColor");this.f("tabsFontWeight");this.f("tabsFontStyle");this.f("tabsTextDecoration");this.f("tabsTextShadowBlurRadius");this.f("tabsTextShadowColor");this.f("tabsTextShadowHorizontalLength");this.f("tabsTextShadowOpacity");this.f("tabsTextShadowVerticalLength");this.f("tabsRollOverFontSize");this.f("tabsRollOverFontColor");this.f("tabsRollOverFontWeight");this.f("tabsRollOverFontStyle");this.f("tabsRollOverTextDecoration");this.f("tabsRollOverTextShadowBlurRadius");this.f("tabsRollOverTextShadowColor"); this.f("tabsRollOverTextShadowHorizontalLength");this.f("tabsRollOverTextShadowOpacity");this.f("tabsRollOverTextShadowVerticalLength")};b.prototype.Ga=function(){d.prototype.Ga.call(this);if(this.Ie==r){this.Ie=new d;this.Ie.kv(y);this.la(this.Ie)}if(this.cf==r){this.cf=new d;this.cf.kv(y);this.la(this.cf)}};b.prototype.set=function(a,b){if(a=="pages")this.Yya(b||[]);else if(a=="selectedIndex")this.e_(b);else if(a=="layout")b=h.aAa;d.prototype.set.call(this,a,b)};b.prototype.get=function(a,b){return a== "pages"?this.Um:a=="selectedIndex"?this.td:d.prototype.get.call(this,a,b)};b.prototype.e_=function(a){if(this.td!=a){this.td=a;this.td=Math.min(Math.max(this.td,-1),this.Um.length);this.iv=n;this.Dc();this.trigger(g.aa)}};b.prototype.Yya=function(b){if(!a.isEqual(this.Um,b)){this.Um=b;this.EU=n;this.Dc()}};b.prototype.hsa=function(b){this.YD=a(this.YD).union([b.source]);this.oL=n;this.Dc()};b.prototype.gsa=function(b){this.YD=a(this.YD).difference([b.source]);this.oL=n;this.Dc()};b.prototype.fsa= function(b){this.e_(a(this.XD).indexOf(b.source))};b.prototype.ka=function(){var b=y,o=y,t=y,s=y,v=y,u=this.k("tabsPosition"),w=this.k("tabsAlign");if(this.EU){this.XD=[];this.cf.Yda();this.Ie.Yda();a(this.Um).forEach(function(b){var c=new p(b);c.kv(n);c.bind(g.xc,a.bind(this.hsa,this));c.bind(g.Qb,a.bind(this.gsa,this));c.bind(g.Hb,a.bind(this.fsa,this));this.XD.push(c);this.cf.la(c);b.M({top:m,left:m,right:m,bottom:m,width:"100%",height:"100%"});this.Ie.la(b)},this);this.td=Math.min(Math.max(this.td, 0),this.Um.length-1);this.EU=y;o=b=v=n}if(this.n("tabsPosition")){this.q("tabsPosition");s=o=b=n}if(this.iv){this.iv=y;t=o=v=n}if(this.oL){this.oL=y;t=n}this.n("overflow")&&this.cf.M({contentOpaque:this.k("overflow")==j.bl,overflow:this.k("overflow")});a(["tabsAlign","tabsGap","tabsSize"]).forEach(function(a){if(this.n(a)){this.q(a);b=n}},this);a(["borderRadius","borderTopRadius","borderBottomRadius","borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius", "borderBottomRightRadius","borderSize","borderLeftSize","borderTopSize","borderRightSize","borderBottomSize","borderColor","borderLeftColor","borderTopColor","borderRightColor","borderBottomColor","shadow","shadowHorizontalLength","shadowVerticalLength","shadowBlurRadius","shadowSpread","shadowColor","backgroundOpacity","backgroundColor","backgroundColorRatios"]).forEach(function(a){if(this.n(a)){this.q(a);s=o=n}},this);a(["tabsBackgroundOpacity","tabsBackgroundColor","tabsBackgroundColorRatios", "selectedTabBackgroundOpacity","selectedTabBackgroundColor","selectedTabBackgroundColorRatios","selectedTabFontSize","selectedTabFontColor","selectedTabFontWeight","selectedTabFontStyle","selectedTabTextDecoration","selectedTabTextShadowColor","selectedTabTextShadowHorizontalLength","selectedTabTextShadowVerticalLength","selectedTabTextShadowBlurRadius","selectedTabTextShadowOpacity","tabsFontFamily","tabsFontSize","tabsFontColor","tabsFontWeight","tabsFontStyle","tabsPadding","tabsTextDecoration", "tabsRollOverFontSize","tabsRollOverFontColor","tabsTextShadowColor","tabsTextShadowHorizontalLength","tabsTextShadowVerticalLength","tabsTextShadowBlurRadius","tabsTextShadowOpacity","tabsRollOverFontWeight","tabsRollOverFontStyle","tabsRollOverTextDecoration","tabsRollOverTextShadowColor","tabsRollOverTextShadowHorizontalLength","tabsRollOverTextShadowVerticalLength","tabsRollOverTextShadowBlurRadius","tabsRollOverTextShadowOpacity"]).forEach(function(a){if(this.n(a)){this.q(a);o=n}},this);a(["pagePaddingLeft", "pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(a){if(this.n(a)){this.q(a);s=n}},this);this.n("backgroundColorDirection")&&this.q("backgroundColorDirection");if(b){switch(u){case l.ra:this.cf.M({left:0,right:m});break;case l.Na:this.cf.M({left:m,right:0});break;case l.ob:this.cf.M({bottom:m,top:0});break;case l.nb:this.cf.M({bottom:0,top:m})}switch(u){case l.ra:case l.Na:this.cf.M({layout:h.of,top:0,bottom:0,height:m,width:this.k("tabsSize")});switch(w){case k.Mw:this.cf.set("verticalAlign", f.nb);break;case k.F_:this.cf.set("verticalAlign",f.vc);break;default:this.cf.set("verticalAlign",f.ob)}break;case l.ob:case l.nb:this.cf.M({layout:h.Be,left:0,right:0,height:this.k("tabsSize"),width:m});switch(w){case k.Mw:this.cf.set("horizontalAlign",f.Na);break;case k.F_:this.cf.set("horizontalAlign",f.Lc);break;default:this.cf.set("horizontalAlign",f.ra)}}this.cf.set("gap",this.k("tabsGap"))}if(o)for(var x=0;x0?u==l.ra||u==l.ob?C[0]:C[C.length-1]:C}z.M({backgroundOpacity:this.k("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:C,backgroundColorRatios:this.k("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:e.dd,fontSize:this.k("selectedTabFontSize","tabsFontSize"),fontColor:this.k("selectedTabFontColor","tabsFontColor"),fontWeight:this.k("selectedTabFontWeight","tabsFontWeight"),fontStyle:this.k("selectedTabFontStyle", "tabsFontStyle"),textDecoration:this.k("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.k("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.k("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.k("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.k("selectedTabTextShadowBlurRadius","tabsTextShadowBlurRadius"),textShadowOpacity:this.k("selectedTabTextShadowOpacity", "tabsTextShadowOpacity")})}else C?z.M({backgroundOpacity:this.k("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.k("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.k("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:e.Ue,fontSize:this.k("tabsRollOverFontSize","tabsFontSize"),fontColor:this.k("tabsRollOverFontColor","tabsFontColor"),fontWeight:this.k("tabsRollOverFontWeight","tabsFontWeight"),fontStyle:this.k("tabsRollOverFontStyle", "tabsFontStyle"),textDecoration:this.k("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.k("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.k("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.k("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.k("tabsRollOverTextShadowBlurRadius","tabsTextShadowBlurRadius"),textShadowOpacity:this.k("tabsRollOverTextShadowOpacity", "tabsTextShadowOpacity")}):z.M({backgroundOpacity:this.k("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.k("tabsBackgroundColor"),backgroundColorRatios:this.k("tabsBackgroundColorRatios"),fontSize:this.k("tabsFontSize"),fontColor:this.k("tabsFontColor"),fontWeight:this.k("tabsFontWeight"),fontStyle:this.k("tabsFontStyle"),textDecoration:this.k("tabsTextDecoration"),textShadowColor:this.k("tabsTextShadowColor"),textShadowHorizontalLength:this.k("tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.k("tabsTextShadowVerticalLength"), textShadowBlurRadius:this.k("tabsTextShadowBlurRadius"),textShadowOpacity:this.k("tabsTextShadowOpacity")});z.M({borderLeftSize:u==l.Na&&t?0:m,borderRightSize:u==l.ra&&t?0:m,borderBottomSize:u==l.ob&&t?0:m,borderTopSize:u==l.nb&&t?0:m})}if(s){x=this.k("tabsSize");switch(u){case l.ra:this.Ie.M({left:x-(this.k("borderLeftSize","borderSize")||0),right:0,top:0,bottom:0});break;case l.Na:this.Ie.M({left:0,right:x-(this.k("borderRightSize","borderSize")||0),top:0,bottom:0});break;case l.ob:this.Ie.M({left:0, right:0,top:x-(this.k("borderTopSize","borderSize")||0),bottom:0});break;case l.nb:this.Ie.M({left:0,right:0,top:0,bottom:x-(this.k("borderBottomSize","borderSize")||0)})}u==l.ob&&w==k.nA||u==l.ra&&w==k.nA?this.Ie.set("borderTopLeftRadius",0):this.Ie.set("borderTopLeftRadius",this.k("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));u==l.ob&&w==k.Mw||u==l.Na&&w==k.nA?this.Ie.set("borderTopRightRadius",0):this.Ie.set("borderTopRightRadius",this.k("borderTopRightRadius","borderTopRadius", "borderRightRadius","borderRadius"));u==l.nb&&w==k.nA||u==l.ra&&w==k.Mw?this.Ie.set("borderBottomLeftRadius",0):this.Ie.set("borderBottomLeftRadius",this.k("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));u==l.nb&&w==k.Mw||u==l.Na&&w==k.Mw?this.Ie.set("borderBottomRightRadius",0):this.Ie.set("borderBottomRightRadius",this.k("borderBottomRightRadius","borderBottomRadius","borderRightRadius","borderRadius"));this.Ie.M({paddingLeft:this.k("pagePaddingLeft"),paddingTop:this.k("pagePaddingTop"), paddingRight:this.k("pagePaddingRight"),paddingBottom:this.k("pagePaddingBottom"),borderLeftSize:this.k("borderLeftSize","borderSize"),borderTopSize:this.k("borderTopSize","borderSize"),borderRightSize:this.k("borderRightSize","borderSize"),borderBottomSize:this.k("borderBottomSize","borderSize"),borderLeftColor:this.k("borderLeftColor","borderColor"),borderTopColor:this.k("borderTopColor","borderColor"),borderRightColor:this.k("borderRightColor","borderColor"),borderBottomColor:this.k("borderBottomColor", "borderColor"),shadow:this.k("shadow"),shadowHorizontalLength:this.k("shadowHorizontalLength"),shadowVerticalLength:this.k("shadowVerticalLength"),shadowBlurRadius:this.k("shadowBlurRadius"),shadowSpread:this.k("shadowSpread"),shadowColor:this.k("shadowColor"),backgroundOpacity:this.k("backgroundOpacity"),backgroundColor:this.k("backgroundColor"),backgroundColorRatios:this.k("backgroundColorRatios")});u==l.ob||u==l.nb?this.Ie.set("backgroundColorDirection",c.mP):this.Ie.set("backgroundColorDirection", c.PO)}if(v)for(x=0;xc.length){for(g=c.length;g=0&&aa.length){for(f=a.length;f=0&&e<2;this.xx=b;var f;for(f=this.Wi;fb)break;for(;this.Wi0){this.Nc=[];this.fE()}};a.prototype.fE=function(){this.Ib.trigger(new d(g.Jf,{activeCues:this.Nc.slice()}))};a.prototype.VQ=function(){this.hg=[];var a=this.Ib.get("cues",[]);c(a).each(function(a){this.hg.push(new b(a.get("startTime",0),a,"start"));this.hg.push(new b(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.hg.sort(function(a,b){return a.time==b.time?a.action==b.start?0:a.action=="start"?-1:1:a.time-b.time})};return a}); define("kB","require,fg,V,bZ,eO,ll,jn".split(","),function(a){var b=a("fg"),c=a("V"),e=a("bZ"),g=a("eO");a("ll");a("jn");var d=b.extend(g,function(a,b){g.call(this);this.C=a;this.g=b;this.Vu=[];this.T=d.pf;this.Nf=r;this.wR=m;this.kg=r;this.ve=this.Me=m});d.prototype.display=function(a,b){this.EQ();if(this.kg!=a||this.T!=d.pf){this.Vu.push({video:a,startTime:b});this.L7()}};d.prototype.hide=function(){this.EQ();this.Vu.push({video:r,startTime:m});this.L7()};d.prototype.clear=function(){this.T=d.pf; this.EQ();this.Ipa();this.i9();this.g=r};d.prototype.Bi=function(a){if(this.T!=d.pf&&(this.T==d.Wj||this.T==d.zq||this.T==d.Dt)){this.ve=this.ve+a;a=Math.min(1,this.ve/this.Me);if(this.T==d.Wj)this.Nf.set("opacity",a);else if(this.T==d.Dt){this.Nf.set("opacity",Math.min(1,a*2));this.kg.set("opacity",Math.min(1,(1-a)*2))}else this.kg.set("opacity",1-a);this.ve0&&this.T==d.pf&&this.il()};d.prototype.il=function(){this.kg&&this.trigger(new e(d.rt, {video:this.kg}));if(this.C.get("transitionMode","blending")=="fade_out_fade_in"&&this.kg)this.Eq();else{var a=this.Vu.shift();this.Nf=a.video;this.wR=a.startTime;this.Nf?this.Nf.get("chromaColor")&&this.kg?this.eQ():this.KA():this.kg&&this.Eq()}};d.prototype.KA=function(){this.e2();this.ve=0;this.Me=this.C.get("transitionDuration");this.T=d.Wj;this.ea()};d.prototype.eQ=function(){this.e2();this.ve=0;this.Me=this.C.get("transitionDuration")*2;this.T=d.Dt;this.ea()};d.prototype.Eq=function(){this.Nf= r;this.ve=0;this.Me=this.C.get("transitionDuration");this.T=d.zq;this.ea()};d.prototype.ar=function(){this.i9();this.kg=this.Nf;this.Nf=r;this.T=d.pf;this.kg?this.trigger(new e(d.st,{video:this.kg})):this.Vu.length==0&&this.trigger(new e(d.Q_));this.Vu.length!=0&&this.il()};d.prototype.ea=function(){c.Ma(this.Bi,this)};d.prototype.EQ=function(){this.Vu=[]};d.prototype.e2=function(){if(this.Nf){this.Nf.set("opacity",0);this.Nf.set("zIndex",1);this.kg&&this.kg.set("zIndex",0);this.Nf.set("currentTime", this.wR||0);this.g.iua(this.Nf);this.trigger(new e(d.MO,{video:this.Nf,startTime:this.wR}))}};d.prototype.i9=function(){if(this.kg){this.g.cea(this.kg);this.trigger(new e(d.sG,{video:this.kg}));this.kg=r}};d.prototype.Ipa=function(){if(this.Nf){this.g.cea(this.Nf);this.trigger(new e(d.sG,{video:this.Nf}));this.Nf=r}};d.pf="stopped";d.Wj="blending";d.Dt="double blending";d.zq="disolving";d.La="request frame";d.MO="video added";d.sG="video removed";d.st="video show";d.rt="video hide";d.Q_="all pending videos hidden"; return d}); define("ha","require,fg,ll,bZ,eO,fu".split(","),function(a){var b=a("fg"),c=a("ll"),e=a("bZ"),g=a("eO"),d=a("fu"),f=b.extend(g,function(){g.call(this);this.Ib=r;this.rd=y;this.Zt=d.H});f.prototype.start=function(a){this.end();this.RV(a)};f.prototype.end=function(){this.stop();this.St()};f.prototype.clear=function(){this.St()};f.prototype.play=function(){this.Ib&&this.Ib.set("state",d.P)};f.prototype.pause=function(){this.Ib&&this.Ib.set("state",d.mc)};f.prototype.stop=function(){this.Ib&&this.Ib.set("state", d.H)};f.prototype.Ld=function(a){this.rd=a;this.Ib&&this.Ib.set("muted",this.rd)};f.prototype.setTime=function(a){this.Ib&&this.Ib.set("currentTime",a)};f.prototype.getTime=function(){if(this.Ib)return this.Ib.get("currentTime")};f.prototype.RV=function(a){this.St();this.Ib=a;this.Ib.set("mute",this.rd);this.Ib.bind(c.D("state"),this.up,this,n);this.Ib.bind(c.D("currentTime"),this.Dv,this,n);this.Ib.bind(c.Ba,this.BE,this,n)};f.prototype.St=function(){if(this.Ib){this.Ib.unbind(c.D("state"),this.up, this);this.Ib.unbind(c.D("currentTime"),this.Dv,this);this.Ib.unbind(c.Ba,this.BE,this);this.Ib=r}};f.prototype.Dv=function(){this.trigger(new e(f.tt,{video:this.Ib,time:this.Ib.get("currentTime"),duration:this.Ib.get("duration")}))};f.prototype.BE=function(){this.trigger(new e(f.mA,{video:this.Ib}))};f.prototype.up=function(){var a=this.Ib.get("state");if(this.Zt!=a){this.Zt=a;this.trigger(new e(f.wb,{state:this.Zt}))}};f.wb="playback state change";f.mA="video end";f.tt="video time change";return f}); define("kM","fg,fu,bZ,eO,cG,kB,ha".split(","),function(a,b,c,e,g,d,f){var h=a.extend(e,function(a,b){e.call(this);this.C=a;this.g=b;this.g.set("visible",y);this.ga=new d(this.C,this.g);this.ca=new f(this.g);this.ol=new g(this.g);this.ga.bind(d.rt,this.Il,this,n);this.ga.bind(d.st,this.jj,this,n);this.ga.bind(d.MO,this.h8,this,n);this.ga.bind(d.sG,this.i8,this,n);this.ga.bind(d.Q_,this.Ina,this,n);this.ca.bind(f.wb,this.gd,this,n);this.ca.bind(f.mA,this.Pr,this,n);this.ca.bind(f.tt,this.RC,this,n)}); h.prototype.clear=function(){this.ga.clear();this.ca.clear();this.ol.clear();this.ga.unbind(d.rt,this.Il,this);this.ga.unbind(d.st,this.jj,this);this.ga.unbind(d.MO,this.h8,this);this.ga.unbind(d.sG,this.i8,this);this.ca.unbind(f.wb,this.gd,this);this.ca.unbind(f.mA,this.Pr,this);this.ca.unbind(f.tt,this.RC,this);this.C=this.g=this.ol=this.ca=this.ga=r};h.prototype.rza=function(a,b){this.g.set("visible",n);this.ga.display(a,b)};h.prototype.bq=function(){this.ga.hide();this.ca.end();this.ol.end()}; h.prototype.play=function(){this.ca.play()};h.prototype.stop=function(){this.ca.stop()};h.prototype.pause=function(){this.ca.pause()};h.prototype.Ld=function(a){this.ca.Ld(a)};h.prototype.setTime=function(a){this.ca.setTime(a)};h.prototype.getTime=function(){return this.ca.getTime()};h.prototype.h8=function(a){var b=a.data.video;this.ca.start(b,a.data.startTime);this.ol.start(b)};h.prototype.i8=D();h.prototype.jj=function(a){a=a.data.video;a.get("autoplay")&&a.get("state")!=b.P&&a.get("state")!=b.mc&& a.set("state",b.P);this.trigger(new c(h.st,{video:a}))};h.prototype.Il=function(a){this.trigger(new c(h.rt,{video:a.data.video}))};h.prototype.Ina=function(){this.g.set("visible",y)};h.prototype.Pr=function(a){this.trigger(new c(h.mA,{video:a.data.video}))};h.prototype.RC=function(a){this.trigger(new c(h.tt,{video:a.data.video,time:a.data.time,duration:a.data.duration}))};h.prototype.gd=function(a){this.trigger(new c(h.wb,{state:a.data.state}))};h.st="videoShow";h.rt="videoHide";h.mA="videoEnd";h.tt= "videoTimeChange";h.wb="playbackStateChange";return h}); define("iE","require,fg,ll,bZ,dW,cu,dk,fu,kM,jr".split(","),function(a){var b=a("fg"),c=a("ll");a("bZ");var e=a("dW"),g=a("cu"),d=a("dk"),f=a("fu"),h=a("kM"),j=a("jr"),a=b.extend(d,function(){d.call(this,"video");this.set("clickAction","none");this.set("displayPlayOverlay",y);this.pl=this.pv=this.Dv=this.Df=y;this.o=this.g=r;this.gb=this.tc=0;this.Ac=b.nm(this.Oe,this)});e.A("VideoPlayer",a).B("Object").J({buttonPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonPlay:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]", buttonPlayPause:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonStop:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",buttonRestart:"or[array[or[BaseButton, IconButton]], or[BaseButton, IconButton]]",clickAction:"enum[play_pause, none]",displayPlayOverlay:"bool",displayPlaybackBar:"bool",currentTime:"number",state:"enum[stopped, playing, paused]",video:"Video",viewerArea:"ViewerArea"}).Cg({seek:function(a){this.hs(a)},play:function(){this.Ou()},pause:function(){this.Nu()}, stop:function(){this.Nr()},restart:function(){this.Mr()}}).Xb([g.ne,g.dg,c.gc]);a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "startTime":this.pv=n;this.Ac();break;case "video":this.Dv=n;this.Ac();break;case "viewerArea":this.Df=n;this.Ac();break;case "displayPlaybackBar":this.pl=n;this.Ac()}d.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.o&&this.o.getTime()||0}return d.prototype.get.call(this,a,b)};a.prototype.Oe=function(){if(this.Df){this.Df= y;this.Ao();this.get("viewerArea")&&this.xo();this.GD(this.get("viewerArea"));this.Dv=n}var a=y;if(this.g&&(this.Dv||this.pv)){var b=this.get("video"),c=this.get("startTime")||0;if(b&&!this.g.Ta()){this.Ac();return}this.pv=this.Dv=y;this.gb=this.tc=0;a=n;if(b){this.sD();this.o.rza(b,c)}else this.o.bq()}if(this.pl){this.pl=y;a=n}a&&this.ts()};a.prototype.Sy=function(){this.set("video",r)};a.prototype.xo=function(){var a=this.get("application"),b=this.get("viewerArea");this.g=new j(a,b,this);this.g.M({left:0, top:0,bottom:0,right:0});b.la(this.g);b.bind(c.U,this.SC,this,n);this.o=new h(b,this.g);this.o.bind(h.st,this.jj,this);this.o.bind(h.rt,this.Il,this);this.o.bind(h.tt,this.RC,this,n);this.o.bind(h.wb,this.gd,this);a.bind(c.D("mute"),this.BC,this);this.o.Ld(a.get("mute",y));this.ks(n)};a.prototype.Ao=function(){if(this.g){this.o.unbind(h.st,this.jj,this);this.o.unbind(h.rt,this.Il,this);this.o.unbind(h.tt,this.RC,this);this.o.unbind(h.wb,this.gd,this);this.o.clear();this.get("application").unbind(c.D("mute"), this.BC,this);var a=this.g.getParent();a.removeChild(this.g);a.unbind(c.U,this.SC,this,n);this.g=r;this.ks(y)}};a.prototype.BC=function(){this.g&&this.o.Ld(this.get("application").get("mute",y))};a.prototype.gd=function(a){a=a.data.state;this.g&&this.g.uw(this.get("displayPlayOverlay")&&a!=f.P,this.tc<0.5);this.Zb(a)};a.prototype.jj=function(a){var b=this.get("viewerArea");(this.Rb=b&&b.Rb)&&this.Rb.bind(c.U,this.TC,this,n);this.Wu=y;this.hC(a.data.video)};a.prototype.Il=function(a){this.Rb&&this.Rb.unbind(c.U, this.TC,this,n);this.Rb=r;this.gC(a.data.video)};a.prototype.RC=function(a){this.tc=a.data.time;this.gb=a.data.duration;this.ts()};a.prototype.SC=function(){if(this.Wu)this.Wu=y;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=f.P?this.o.play():this.o.pause()}};a.prototype.TC=function(){this.Wu=n};a.prototype.dD=function(a){this.hs(a.data.position)};a.prototype.Rg=function(){this.o.play()};a.prototype.vj=function(){this.o.stop()};a.prototype.rk=function(){this.o.pause()}; a.prototype.hs=function(a){this.o&&this.o.setTime(a)};a.prototype.ts=function(){if(this.g){var a=this.g.getParent();this.gb>0&&this.get("displayPlaybackBar")?a.M({playbackBarPosition:this.tc,playbackBarDuration:this.gb,playbackBarVisible:n}):a.set("playbackBarVisible",y)}};return a}); define("e",["fg","dW","cu","dl"],function(a,b,c,e){a=a.extend(e,function(){e.call(this)});b.A("VideoPlayListItem",a).B("PlayListItem").J({media:"Video",player:"VideoPlayer",startTime:"number"});a.prototype.start=function(){e.prototype.start.call(this);var a=this.get("player");a&&(a.bind(c.ne,this.jj,this),a.set("video",this.get("media")),a.set("startTime",this.get("startTime")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(c.ne,this.jj,this),a.get("video")==this.get("media")&& a.set("video",r));e.prototype.stop.call(this)};a.prototype.jj=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(c.ne,this.jj,this),this.get("player").bind(c.dg,this.Il,this),this.Jv())};a.prototype.Il=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(c.dg,this.Il,this),this.end())};return a}); define("fM",["require","fg","jd","dW"],function(a){var b=a("fg"),c=a("jd"),a=a("dW"),b=b.extend(c,function(){c.call(this)});a.A("VideoResourceLevel",b).B("Object").J({bitrate:"number",framerate:"number",height:"number",posterURL:"string",type:"string",url:"string",width:"number"}).hh(["posterURL","url"]);return b}); define("dz","require,fg,jd,dW,iX,fM".split(","),function(a){var b=a("fg"),c=a("jd"),e=a("dW"),g=a("iX"),d=a("fM"),a=b.extend(c,function(){c.call(this);this.bU=new d;this.bU.set("type","video/mp4");this.eU=new d;this.eU.set("type","video/ogg");this.KX=new d;this.KX.set("type","video/webm");this.set("gain",1);this.set("hasAudio",n)});e.A("VideoResource",a).B("Object").J({gain:"number",hasAudio:"bool",height:"number",levels:"array[VideoResourceLevel]",mp4Url:"string",oggUrl:"string",subtitlesURL:"string", webmUrl:"string",width:"number"}).hh(["mp4Url","oggUrl","subtitlesURL","webmUrl"]);a.prototype.get=function(a,b){switch(a){case "levels":var b=[],d=this.get("mp4Url");if(d){this.bU.set("url",d);b.push(this.bU)}if(d=this.get("oggUrl")){this.eU.set("url",d);b.push(this.eU)}if(d=this.get("webmUrl")){this.KX.set("url",d);b.push(this.KX)}b.forEach(function(a){a.set("width",this.get("width"));a.set("height",this.get("height"))}.bind(this))}return c.prototype.get.call(this,a,b)};a.prototype.Dj=function(){var a= this.get("webmUrl"),b=this.get("oggUrl"),c=this.get("mp4Url");return c&&g.TM?c:a&&g.TY?a:b&&g.SY?b:c||a||b};return a}); define("cZ","require,jquery.mod,fg,ll,r,jt,d,fe".split(","),function(a){var b=a("jquery.mod"),c=a("fg"),e=a("ll"),g=a("r"),d=a("jt"),f=a("d"),h=a("fe"),a=c.extend(f,function(){f.call(this);this.Tc("WebFrame");this.$B=this.du=this.qb=this.uc=r;this.oU=this.oU.bind(this);this.FJ=this.FJ.bind(this);this.bind(e.od,this.Poa,this,n);this.bind(e.Ad,this.Ooa,this,n)});a.prototype.za=function(){f.prototype.za.call(this);this.f("url");this.f("backgroundColor","#ffffff");this.f("insetBorder",y);this.f("scrollEnabled", n);this.f("unloadWhenHidden",n)};a.prototype.Poa=function(){this.lv("url")};a.prototype.Ooa=function(){this.lv("url")};a.prototype.Ga=function(){f.prototype.Ga.call(this);if(!this.uc){this.uc=b("
");this.uc.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"});this.Ra().append(this.uc)}if(!this.qb){this.qb=b("");this.qb.css({position:"absolute",left:0,top:0});this.qb.attr("allowfullscreen","true");this.qb.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"); this.uc.append(this.qb)}if(!this.du){this.du=b("
");this.du.css({"text-shadow":"0 0 5px rgba(255,255,255,0.5)",display:"none",color:"#000000","font-weight":"300","font-family":"Tahoma, Geneva, sans-serif","font-size":g.Za()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"});this.uc.append(this.du)}};a.prototype.ka=function(){if(this.n("url")){var a=this.k("url");a&&this.ur?this.V9(a):(!a||this.get("unloadWhenHidden"))&& this.V9("");this.q("url")}if(this.n("insetBorder")){this.k("insetBorder")?this.qb.attr("frameborder","1"):this.qb.attr("frameborder","0");this.q("insetBorder")}if(this.n("scrollEnabled")){if(this.k("scrollEnabled")){this.qb.attr("scrolling","auto");this.uc.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})}else{this.qb.attr("scrolling","no");this.uc.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})}this.q("scrollEnabled")}f.prototype.ka.call(this)};a.prototype.Se=function(){this.qb&& h.css(this.qb.get(0),{width:this.X+"px",height:this.ia+"px"});f.prototype.Se.call(this)};a.prototype.refresh=function(){if(this.k("url")&&this.ur){this.TS();this.Mq();this.SW();this.qb.attr("src","");setTimeout(function(){this.A$();this.B2();this.qb.attr("src",this.k("url"))}.bind(this),30)}};a.prototype.V9=function(a){if(this.qb.attr("src")!=a){this.TS();if(a){this.A$();this.B2()}else{this.Mq();this.SW()}this.qb.attr("src",a)}};a.prototype.oU=function(){this.$B=r;this.bna()&&this.Ara()};a.prototype.FJ= function(){this.TS();this.Mq();this.SW()};a.prototype.B2=function(){this.qb.on("load",this.FJ)};a.prototype.SW=function(){this.qb.off("load",this.FJ)};a.prototype.Mq=function(){if(this.$B){clearTimeout(this.$B);this.$B=r}};a.prototype.A$=function(){this.Mq();this.$B=setTimeout(this.oU.bind(this),3E3)};a.prototype.bna=function(){if(window.location.protocol=="https:"){var a=this.qb.attr("src");if(d.parse(a).protocol!="https:")return n}return y};a.prototype.Ara=function(){this.du.text("A secure web page served over HTTPS can not display insecure content served over HTTP."); this.du.show()};a.prototype.TS=function(){this.du.hide()};return a});define("bP",["fg","cZ","dW"],function(a,b,c){a=a.extend(b,function(){b.call(this)});c.A("WebFrame",a).B("UIComponent").J({url:"string",insetBorder:"bool",scrollEnabled:"bool",unloadWhenHidden:"bool"}).hh(["url"]).Cg({refresh:function(){b.prototype.refresh.call(this)}});return a}); define("eZ",["do","fg","kS","c"],function(a,b,c,e){var g=b.extend(c,function(){c.call(this)});g.pb={layout:e.Be};a.defaults(g.pb,c.pb);g.prototype.za=function(){this.bk(g.pb)};return g}); define("jD","do,fg,ll,bZ,jY,c,kS,eZ,fG,eF,d,ks,kF,gP".split(","),function(a,b,c,e,g,d,f,h,j,p,k,l,q,o){var t=b.extend(j,function(){j.call(this);this.Tc("Window");this.Gq=this.rx=this.bE=this.Yh=r;this.kQ=new f;this.Mx=r;this.PS=this.OS=0;this.p$=this.q$=y;this.LX=this.MX=m;for(var a in t.GAa)this.lv(a);this.bind(c.zb,this.Tta,this);this.bind(c.Lw,this.Rta,this);this.bind(c.Tw,this.Uta,this);this.bind(c.U,this.Qta,this);this.OL=0;this.Gd=new f;this.Gd.M({visible:y,includeInLayout:y,layout:"absolute", height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:y});this.Gd.bind(c.zb,this.Zaa,this);this.Gd.bind(c.Tw,this.Lta,this);this.Gd.bind(c.Lw,this.Kta,this);this.Gd.bind(c.U,this.Jta,this);this.Gd.la(this)});t.prototype.set=function(a,b){switch(a){case "maxWidth":this.MX=b;this.FL();break;case "maxHeight":this.LX=b;this.FL();break;case "children":this.kQ.set(a,b);break;case "shadow":this.q$=b;this.Waa();break;default:j.prototype.set.call(this,a,b)}};t.prototype.show=function(b,c){this.FL(b); this.set("visible",y);this.Gd.set("visible",y);this.Qha();c&&this.uua();var d=b.get("children");b.set("children",d.concat([this.Gd]));var e=this;a.defer(function(){e.Gd.set("visible",n)})};t.prototype.Qha=function(){var a=this.k("modal"),b=this.k("veilShowEffect"),c=this.k("veilHideEffect");a&&b?this.Gd.set("showEffect",b):this.Gd.set("showEffect",r);a&&c?this.Gd.set("hideEffect",c):this.Gd.set("hideEffect",r)};t.prototype.hide=function(){this.get("visible")&&this.trigger(c.C_);this.OL=0;this.ZK(y); this.set("visible",y)};t.prototype.uua=function(){this.set("centerX",0);this.set("centerY",0)};t.prototype.get=function(a,b){return a=="children"?this.kQ.get(a,b):j.prototype.get.call(this,a,b)};t.D1={headerBackgroundOpacity:"backgroundOpacity",headerBackgroundColor:"backgroundColor",headerBackgroundColorRatios:"backgroundColorRatios",headerBackgroundColorDirection:"backgroundColorDirection",headerBorderSize:"borderSize",headerBorderLeftSize:"borderLeftSize",headerBorderTopSize:"borderTopSize",headerBorderRightSize:"borderRightSize", headerBorderBottomSize:"borderBottomSize",headerBorderColor:"borderColor",headerBorderLeftColor:"borderLeftColor",headerBorderTopColor:"borderTopColor",headerBorderRightColor:"borderRightColor",headerBorderBottomColor:"borderBottomColor",headerHeight:"height",headerPaddingLeft:"paddingLeft",headerPaddingTop:"paddingTop",headerPaddingRight:"paddingRight",headerPaddingBottom:"paddingBottom",headerVerticalAlign:"verticalAlign"};t.C1=a(t.D1).keys();t.vP={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius", borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};t.uP=["borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderTopRadius","borderRadius"];t.V1={title:"text",titleFontFamily:"fontFamily",titleFontSize:"fontSize",titleFontColor:"fontColor",titleFontWeight:"fontWeight",titleFontStyle:"fontStyle",titleHorizontalAlign:"horizontalAlign",titlePaddingLeft:"paddingLeft", titlePaddingTop:"paddingTop",titlePaddingRight:"paddingRight",titlePaddingBottom:"paddingBottom",titleTextDecoration:"textDecoration",titleTextShadowColor:"textShadowColor",titleTextShadowHorizontalLength:"textShadowHorizontalLength",titleTextShadowVerticalLength:"textShadowVerticalLength",titleTextShadowBlurRadius:"textShadowBlurRadius",titleTextShadowOpacity:"textShadowOpacity"};t.U1=a(t.V1).keys();t.x1={closeButtonBackgroundColor:"backgroundColor",closeButtonBackgroundColorDirection:"backgroundColorDirection", closeButtonBackgroundColorRatios:"backgroundColorRatios",closeButtonBackgroundOpacity:"backgroundOpacity",closeButtonBorderColor:"borderColor",closeButtonBorderRadius:"borderRadius",closeButtonBorderSize:"borderSize",closeButtonHeight:"height",closeButtonIconColor:"iconColor",closeButtonIconHeight:"iconHeight",closeButtonIconLineWidth:"iconLineWidth",closeButtonIconWidth:"iconWidth",closeButtonOpacity:"opacity",closeButtonWidth:"width",closeButtonPaddingBottom:"paddingBottom",closeButtonPaddingLeft:"paddingLeft", closeButtonPaddingRight:"paddingRight",closeButtonPaddingTop:"paddingTop",closeButtonRollOverBackgroundColor:"rollOverBackgroundColor",closeButtonRollOverBackgroundColorDirection:"rollOverBackgroundColorDirection",closeButtonRollOverBackgroundColorRatios:"rollOverBackgroundColorRatios",closeButtonRollOverBackgroundOpacity:"rollOverBackgroundOpacity",closeButtonRollOverBorderColor:"rollOverBorderColor",closeButtonRollOverBorderSize:"rollOverBorderSize",closeButtonRollOverIconColor:"rollOverIconColor", closeButtonRollOverIconLineWidth:"rollOverIconLineWidth",closeButtonRollOverOpacity:"rollOverOpacity",closeButtonPressedBackgroundColor:"pressedBackgroundColor",closeButtonPressedBackgroundColorDirection:"pressedBackgroundColorDirection",closeButtonPressedBackgroundColorRatios:"pressedBackgroundColorRatios",closeButtonPressedBackgroundOpacity:"pressedBackgroundOpacity",closeButtonPressedBorderColor:"pressedBorderColor",closeButtonPressedBorderSize:"pressedBorderSize",closeButtonPressedIconColor:"pressedIconColor", closeButtonPressedIconLineWidth:"pressedIconLineWidth",closeButtonPressedOpacity:"pressedOpacity"};t.w1=a(t.x1).keys();t.z1={footerBackgroundOpacity:"backgroundOpacity",footerBackgroundColor:"backgroundColor",footerBackgroundColorRatios:"backgroundColorRatios",footerBackgroundColorDirection:"backgroundColorDirection",footerBorderSize:"borderSize",footerBorderLeftSize:"borderLeftSize",footerBorderTopSize:"borderTopSize",footerBorderRightSize:"borderRightSize",footerBorderBottomSize:"borderBottomSize", footerBorderColor:"borderColor",footerBorderLeftColor:"borderLeftColor",footerBorderTopColor:"borderTopColor",footerBorderRightColor:"borderRightColor",footerBorderBottomColor:"borderBottomColor",footerHeight:"height"};t.y1=a(t.z1).keys();t.B1={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius",borderBottomRightRadius:"borderBottomRightRadius"}; t.A1=["borderLeftRadius","borderRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomRadius","borderRadius"];t.t1={bodyBackgroundOpacity:"backgroundOpacity",bodyBackgroundColor:"backgroundColor",bodyBackgroundColorRatios:"backgroundColorRatios",bodyBackgroundColorDirection:"backgroundColorDirection",bodyBorderSize:"borderSize",bodyBorderLeftSize:"borderLeftSize",bodyBorderTopSize:"borderTopSize",bodyBorderRightSize:"borderRightSize",bodyBorderBottomSize:"borderBottomSize", bodyBorderColor:"borderColor",bodyBorderLeftColor:"borderLeftColor",bodyBorderTopColor:"borderTopColor",bodyBorderRightColor:"borderRightColor",bodyBorderBottomColor:"borderBottomColor",bodyPaddingLeft:"paddingLeft",bodyPaddingTop:"paddingTop",bodyPaddingRight:"paddingRight",bodyPaddingBottom:"paddingBottom",overflow:"overflow",scrollBarColor:"scrollBarColor",scrollBarWidth:"scrollBarWidth",scrollBarMargin:"scrollBarMargin",scrollBarHorizontalMargin:"scrollBarHorizontalMargin",scrollBarVerticalMargin:"scrollBarVerticalMargin", scrollBarOpacity:"scrollBarOpacity",gap:"gap"};t.s1=a(t.t1).keys();t.u1={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};t.Gga=a(t.u1).keys();t.X1={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};t.W1=a(t.X1).keys();t.pb=function(){var b={modal:y,visible:y,centerX:0,centerY:0,veilShowEffect:m,veilHideEffect:m};a.defaults(b,f.pb);for(var c=[].concat(t.C1,t.U1,t.w1,t.s1, t.y1,t.W1),d=0;d0&&this.hide()}.bind(this),100)};t.prototype.Qta=function(){this.OL--};t.prototype.bja=function(){this.hide()};t.prototype.tma=function(a){this.OS=a.pageX;this.PS=a.pageY;this.Ta().bind(c.Mc,this.jba,this,n);this.Ta().bind(c.fc,this.kba,this,n)};t.prototype.jba=function(a){this.set("centerX",this.get("centerX")+(a.pageX-this.OS)); this.set("centerY",this.get("centerY")+(a.pageY-this.PS));this.OS=a.pageX;this.PS=a.pageY;this.Vaa()};t.prototype.kba=function(){this.Ta().unbind(c.Mc,this.jba,this);this.Ta().unbind(c.fc,this.kba,this)};t.prototype.Zaa=function(){this.FL()};t.prototype.Lta=function(){this.set("visible",n)};t.prototype.Kta=function(){this.Gd.unbind(c.zb,this.Zaa,this);var a=this.Gd.getParent();a&&a.removeChild(this.Gd);this.trigger(new e(c.ct))};t.prototype.Tta=function(){this.Vaa()};t.prototype.Uta=function(){this.ZK(n)}; t.prototype.Rta=function(){this.Gd.set("visible",y)};t.prototype.ZK=function(a){this.p$=a;this.Waa()};t.prototype.Waa=function(){j.prototype.set.call(this,"shadow",this.p$&&this.q$)};t.prototype.FL=function(a){a||(a=this.Q);this.MX!==m?j.prototype.set.call(this,"maxWidth",this.MX):a?j.prototype.set.call(this,"maxWidth",a.Aa()):j.prototype.set.call(this,"maxWidth",m);this.LX!==m?j.prototype.set.call(this,"maxHeight",this.LX):a?j.prototype.set.call(this,"maxHeight",a.eb()):j.prototype.set.call(this, "maxHeight",m)};t.prototype.Vaa=function(){var a=this.Gd.Aa(),b=this.Aa(),c=this.get("centerX"),b=a*0.5+c-b*0.5,d=this.Yh.xi(),e=this.Yh.Aa(),f=Math.min(e,30),a=a-d-f,d=-(d+e-f);ba&&this.set("centerX",c-(b-a));a=this.Gd.eb();b=this.eb();c=this.get("centerY");b=a*0.5+c-b*0.5;d=this.Yh.Cn();e=this.Yh.eb();f=Math.min(e,5);a=a-d-f;d=-(d+e-f);ba&&this.set("centerY",c-(b-a))};t.prototype.ka=function(){this.ib(t.C1,t.D1,[this.Yh],n,n);this.ib(t.uP, t.vP,[this.Yh],n,y);this.get("headerHeight")===0?this.ib(t.uP,t.vP,[this.Gq],n,y):this.ib(t.uP,t.vP,[this.Yh],n,y);this.ib(t.U1,t.V1,[this.bE],n,n);this.ib(t.w1,t.x1,[this.rx],n,n);this.ib(t.s1,t.t1,[this.Gq],n,n);this.ib(t.Gga,t.u1,[this.Gq],n,y);this.ib(t.y1,t.z1,[this.Mx],n,n);this.get("footerHeight")===0?this.ib(t.A1,t.B1,[this.Gq],n,y):this.ib(t.A1,t.B1,[this.Mx],n,y);if(this.k("modal")){this.ib(t.W1,t.X1,[this.Gd],n,n);this.Gd.set("contentOpaque",n)}else{this.Gd.set("backgroundOpacity",0);this.Gd.set("contentOpaque", y)}this.M({layout:d.of,horizontalAlign:g.Lc,verticalAlign:g.vc});j.prototype.ka.call(this);this.jk.CN(0)};return t}); define("dp",["do","fg","jD","dW","ll"],function(a,b,c,e,g){a=b.extend(c,function(){c.call(this)});e.A("Window",a).B("Container").J({modal:"bool",headerBackgroundOpacity:"number",headerBackgroundColor:"or[array[color], color]",headerBackgroundColorRatios:"array[number]",headerBackgroundColorDirection:"enum[horizontal, vertical]",headerBorderSize:"number",headerBorderLeftSize:"number",headerBorderTopSize:"number",headerBorderRightSize:"number",headerBorderBottomSize:"number",headerBorderColor:"color", headerBorderLeftColor:"color",headerBorderTopColor:"color",headerBorderRightColor:"color",headerBorderBottomColor:"color",headerHeight:"number",headerPaddingLeft:"number",headerPaddingTop:"number",headerPaddingRight:"number",headerPaddingBottom:"number",headerVerticalAlign:"enum[bottom, middle, top]",title:"string",titleFontFamily:"string",titleFontSize:"or[number, size]",titleFontColor:"color",titleFontWeight:"enum[bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900, normal]",titleFontStyle:"enum[italic, normal]", titleHorizontalAlign:"enum[left, center, right]",titlePaddingLeft:"number",titlePaddingTop:"number",titlePaddingRight:"number",titlePaddingBottom:"number",titleTextDecoration:"enum[underline, overline, line-through, none]",titleTextShadowBlurRadius:"number",titleTextShadowColor:"color",titleTextShadowHorizontalLength:"number",titleTextShadowOpacity:"number",titleTextShadowVerticalLength:"number",closeButtonBackgroundColor:"or[array[color], color]",closeButtonBackgroundColorDirection:"enum[horizontal, vertical]", closeButtonBackgroundColorRatios:"array[number]",closeButtonBackgroundOpacity:"number",closeButtonBorderColor:"color",closeButtonBorderRadius:"number",closeButtonBorderSize:"number",closeButtonHeight:"number",closeButtonIconColor:"color",closeButtonIconHeight:"number",closeButtonIconLineWidth:"number",closeButtonIconWidth:"number",closeButtonOpacity:"number",closeButtonWidth:"number",closeButtonPaddingBottom:"number",closeButtonPaddingLeft:"number",closeButtonPaddingRight:"number",closeButtonPaddingTop:"number", closeButtonRollOverBackgroundColor:"or[array[color], color]",closeButtonRollOverBackgroundColorDirection:"enum[horizontal, vertical]",closeButtonRollOverBackgroundColorRatios:"array[number]",closeButtonRollOverBackgroundOpacity:"number",closeButtonRollOverBorderColor:"color",closeButtonRollOverBorderSize:"number",closeButtonRollOverIconColor:"color",closeButtonRollOverIconLineWidth:"number",closeButtonRollOverOpacity:"number",closeButtonPressedBackgroundColor:"or[array[color], color]",closeButtonPressedBackgroundColorDirection:"enum[horizontal, vertical]", closeButtonPressedBackgroundColorRatios:"array[number]",closeButtonPressedBackgroundOpacity:"number",closeButtonPressedBorderColor:"color",closeButtonPressedBorderSize:"number",closeButtonPressedIconColor:"color",closeButtonPressedIconLineWidth:"number",closeButtonPressedOpacity:"number",footerBackgroundOpacity:"number",footerBackgroundColor:"or[array[color], color]",footerBackgroundColorRatios:"array[number]",footerBackgroundColorDirection:"enum[horizontal, vertical]",footerBorderSize:"number",footerBorderLeftSize:"number", footerBorderTopSize:"number",footerBorderRightSize:"number",footerBorderBottomSize:"number",footerBorderColor:"color",footerBorderLeftColor:"color",footerBorderTopColor:"color",footerBorderRightColor:"color",footerBorderBottomColor:"color",footerHeight:"number",bodyBackgroundOpacity:"number",bodyBackgroundColor:"or[array[color], color]",bodyBackgroundColorRatios:"array[number]",bodyBackgroundColorDirection:"enum[horizontal, vertical]",bodyBorderSize:"number",bodyBorderLeftSize:"number",bodyBorderTopSize:"number", bodyBorderRightSize:"number",bodyBorderBottomSize:"number",bodyBorderColor:"color",bodyBorderLeftColor:"color",bodyBorderTopColor:"color",bodyBorderRightColor:"color",bodyBorderBottomColor:"color",bodyPaddingLeft:"number",bodyPaddingTop:"number",bodyPaddingRight:"number",bodyPaddingBottom:"number",veilOpacity:"number",veilColor:"or[array[color], color]",veilColorRatios:"array[number]",veilColorDirection:"enum[horizontal, vertical]",veilHideEffect:"Effect",veilShowEffect:"Effect"}).fq(["titleFontSize"]).Cg({show:a.prototype.show, hide:a.prototype.hide}).Xb([g.C_,g.ct]);return a}); define("kb","require,jquery.mod,do,ih,ll,ge,bZ,eO,V,kX,bq,id,jn,r,fg".split(","),function(a){function b(a){this.source=a;this.width=this.source.get("width");this.height=this.source.get("height");this.url=this.source.get("url");this.zz=this.source.get("grayscale");this.Up=new q(f.Uj)}var c=a("jquery.mod"),e=a("do"),g=a("ih"),d=a("ll"),f=a("ge"),h=a("bZ"),j=a("eO"),p=a("V"),k=a("kX"),l=a("bq"),q=a("id"),o=a("jn"),t=a("r"),s=a("fg"),v=s.extend(j,function(){j.call(this);this.EJ=this.EJ.bind(this);this.De= r;this.qr=[];this.dj=[];this.Ya=this.Oa=this.hc=this.cc=100;this.sd=1;this.Lq=this.Kq=0.5;this.sb=1;this.Gg=this.ng=r;this.gK=y;this.$Q={};this.wx={};this.wx.low={};this.wx.hight={};if(t.hz()==t.hA){this.wx.low.transform="translateZ(0)";this.wx.hight.transform=""}this.W=y;this.tf="inherit";this.K=c("
").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.GB=r;this.ed=s.nm(this.L,this)});v.prototype.Gb=Q("K");v.prototype.Xs=function(a){if(this.Fd!=a){this.Fd=a;this.YP(1); this.ed()}};v.prototype.jya=function(a){if(this.tf!=a){this.tf=a;this.Gg&&this.Gg.css("cursor",this.tf);this.ng&&this.ng.css("cursor",this.tf)}};v.prototype.vya=function(a){if(this.qr!=a){this.qr&&g.Pb(this.qr,["levels.url"],this.EJ,n);(this.qr=a)&&g.Eb(this.qr,["levels.url"],this.EJ,n)}};v.prototype.EJ=function(){this.BQ();this.De=r;if(this.ng){this.ng.detach();this.ng=r}if(this.Gg){this.Gg.detach();this.Gg=r}if(this.Ee)this.Ee=r;this.BQ();this.gK=y;e(this.dj).each(function(a){a.Up.cancel();a.Up.unbind(d.S, this.d6,this)},this);var a=(this.qr&&this.qr.get("levels")||[]).filter(function(a){return a.get("url")});this.dj=e(a).map(function(a){a=new b(a);a.Up.bind(d.S,this.d6,this);return a},this);if(a=this.Fla()){this.Oa=a.width;this.Ya=a.height}else this.Ya=this.Oa=100;this.Lq=this.Kq=0.5;this.YP(1);this.ed()};v.prototype.rw=function(a,b){if(this.cc!=a||this.hc!=b){this.cc=a;this.hc=b;this.ed()}};v.prototype.kya=function(a,b){if(this.Q3!=a||this.P3!=b){this.Q3=a;this.P3=b;this.ed()}};v.prototype.nd=function(a){if(this.W!= a){this.W=a;this.ed()}};v.prototype.move=function(a,b){var c=this.sd*this.sb;this.Kq=this.Kq+a/(this.Oa*c);this.Lq=this.Lq+b/(this.Ya*c);this.BK()};v.prototype.Yv=Q("sb");v.prototype.setScale=function(a){this.YP(Math.max(1,Math.min(1/this.sd,a)));this.De&&this.De.width=0&&a>=0&&cthis.Ya*this.cc?this.hc/this.Ya:this.cc/this.Oa;break;case o.vfa:a=Math.min(this.Q3/this.Oa,this.P3/this.Ya);break;default:a=this.Oa*this.hc>this.Ya*this.cc?this.cc/this.Oa:this.hc/ this.Ya}this.Nha(a)};v.prototype.d6=function(){this.ed()};v.prototype.cka=function(a){if(this.Gg){this.SV(this.Gg,1);this.ng&&this.ng.detach();this.ng=this.Gg}this.Gg=this.Dja(a);this.SV(this.Gg,0);this.K.append(this.Gg);this.Ee=this.xja();this.$Q={}};v.prototype.Jla=function(){return this.De?this.cla(this.sb*this.sd*this.Oa):this.bma()};v.prototype.b$=function(a){e(this.dj).each(function(b){b==a?b.Up.Dj()!=b.url&&b.Up.load(b.url):b.Up.Sp()||b.Up.cancel()})};v.prototype.Fla=function(){return e(this.dj).reduce(function(a, b){a||(a=b);if(b.width>a.width||b.width==a.width&&!b.zz&&a.zz)a=b;return a},r)};v.prototype.bma=function(){return e(this.dj).reduce(function(a,b){a||(a=b);if(b.width=a&&b.width=a&&c.widthb.width||!c.zz&&b.zz)b=c;return b},r)};v.prototype.Dja=function(a){a=c(a.Up.we(n));a.css({position:"absolute",cursor:this.tf,"pointer-events":"none"}); return a};v.prototype.xja=function(){return new k("linear",[new l("alpha",0,1)],200)};v.prototype.BK=function(){p.Ma(function(a){this.xK(a,"low")},this)};v.prototype.CY=function(){return this.Oa*this.sb*this.sd};v.prototype.BY=function(){return this.Ya*this.sb*this.sd};v.prototype.aca=function(){var a=this.CY();return a>this.cc?Math.max(this.cc-a,Math.min(0,this.cc*0.5-a*this.Kq)):(this.cc-a)*0.5};v.prototype.bca=function(){var a=this.BY();return a>this.hc?Math.max(this.hc-a,Math.min(0,this.hc*0.5- a*this.Lq)):(this.hc-a)*0.5};v.prototype.xK=function(a,b){var b=b||"low",c=this.CY(),e=this.aca(),f=this.BY(),g=this.bca();this.Kq=(this.cc*0.5-e)/c;this.Lq=(this.hc*0.5-g)/f;var c={left:Math.round(e)+"px",top:Math.round(g)+"px",width:Math.round(c)+"px",height:Math.round(f)+"px",display:"block"},j;for(j in this.wx[b])c[j]=this.wx[b][j];if(this.$Q!=c){this.ng&&this.ng.css(c);this.Gg&&this.Gg.css(c);this.$Q=c}this.BQ();if(this.Ee){this.Ee.fb(a);this.SV(this.Gg,this.Ee.Fb("alpha"));if(this.Ee.Re()){this.Ee= r;this.ng&&this.ng.detach();this.ng=this.Gg;this.Gg=r}this.BK()}else b=="low"&&this.Kra();if(!this.Ee&&this.gK){this.gK=y;this.trigger(new h(d.S))}};v.prototype.SV=function(a,b){a.css({opacity:b,filter:"alpha(opacity="+Math.round(b*100)+")","-ms-filter":"alpha(opacity="+Math.round(b*100)+")"})};v.prototype.BQ=function(){if(this.GB!=r){clearTimeout(this.GB);this.GB=r}};v.prototype.Kra=function(){var a=this;this.GB=setTimeout(function(){a.GB=r;a.xK(50,"hight")},50)};v.prototype.YP=function(a){if(this.sb!= a){this.sb=a;this.Isa()}};v.prototype.Nha=function(a){if(this.sd!=a)this.sd=a};v.prototype.Isa=function(){this.trigger(new h(v.lA,{scale:this.sb}))};v.lA="scaleChange";return v}); define("hV","require,jquery.mod,ll,bZ,kb,fg,d,J".split(","),function(a){a("jquery.mod");var b=a("ll"),c=a("bZ"),e=a("kb"),g=a("fg"),d=a("d"),f=a("J"),h=g.extend(d,function(){d.call(this);this.Tc("ZoomImage");this.kp=this.pj=m;this.ni=y;this.L8=m;this.J5=this.sb;this.zE=r;this.g=new e;this.g.bind(b.S,this.voa,this);this.g.bind(e.lA,this.woa,this);this.Ra().append(this.g.Gb());this.bind(b.zb,this.lb,this,n);this.bind(b.od,this.wh,this,n);this.bind(b.Ad,this.th,this,n);this.bind(b.Hb,this.pc,this,n); this.bind(b.Mc,this.Ng,this,n);this.bind(b.fc,this.Og,this,n);this.bind(b.rq,this.Eu,this,n);this.bind(b.Kw,this.ku,this,n)});h.prototype.set=function(a,b){switch(a){case "scale":this.g.setScale(b);b=this.g.Yv();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}d.prototype.set.call(this,a,b)};h.prototype.get=function(a,b){switch(a){case "scale":return this.g.Yv();case "imageLeft":return this.g.aca();case "imageTop":return this.g.bca();case "imageWidth":return this.g.CY(); case "imageHeight":return this.g.BY()}return d.prototype.get.call(this,a,b)};h.prototype.za=function(){d.prototype.za.call(this);this.f("image");this.f("scaleMode");this.f("customHeight");this.f("customWidth");this.f("imageCursor");this.f("imageLeft");this.f("imageTop");this.f("imageWidth");this.f("imageHeight")};h.prototype.ka=function(){if(this.n("scaleMode")){this.g.Xs(this.k("scaleMode"));this.q("scaleMode")}if(this.n("image")){this.g.vya(this.k("image"));this.q("image");this.J5=this.sb}if(this.n("customHeight")|| this.n("customWidth")){this.q("customHeight");this.q("customWidth");this.lb()}if(this.n("imageCursor")){this.q("imageCursor");this.g.jya(this.pa.oR.Vba(this.get("imageCursor")))}d.prototype.ka.call(this)};h.prototype.lb=function(){var a=this.Aa(),b=this.eb(),c=this.get("customWidth","100%"),d=f.Ok(c),c=d!==m?a*d/100:c,d=this.get("customHeight","100%"),e=f.Ok(d);this.g.kya(c,e!==m?b*e/100:d);this.g.rw(a,b)};h.prototype.wh=function(){this.g.nd(n)};h.prototype.th=function(){this.g.nd(y)};h.prototype.pc= function(a){this.pj=a.x;this.kp=a.y;this.ni=n;this.L8=this.g.mda(a)};h.prototype.Ng=function(a){if(this.ni){this.xX();this.g.move(-(a.x-this.pj),-(a.y-this.kp));this.pj=a.x;this.kp=a.y}};h.prototype.Og=function(a){this.ni=y;!this.L8&&!this.g.mda(a)&&this.trigger(new c(h.R_))};h.prototype.Eu=function(a){this.xX();this.g.setScale((1+a.Jp/20)*this.g.Yv())};h.prototype.ku=function(a){this.xX();this.g.setScale(a.scale/this.J5)};h.prototype.voa=function(){this.trigger(new c(b.S))};h.prototype.woa=function(){d.prototype.set.call(this, "scale",this.g.Yv());this.trigger(new c(h.lA))};h.prototype.xX=function(){if(this.zE){clearTimeout(this.zE);this.zE=r}else this.trigger(new c(h.Ae));this.zE=setTimeout(function(){this.zE=r;this.trigger(new c(h.ze))}.bind(this),300)};h.R_="backgroundClick";h.lA="scaleChange";h.Ae="userInteractionStart";h.ze="userInteractionEnd";return h}); define("kH",["fg","ll","hV","dW"],function(a,b,c,e){a=a.extend(c,function(){c.call(this)});e.A("ZoomImage",a).B("UIComponent").J({scaleMode:"enum[fit_inside, fit_outside, fit_to_width, fit_to_height, custom]",customHeight:"or[number,percent]",customWidth:"or[number,percent]",image:"ImageResource",imageCursor:"enum[default, hand]",imageHeight:"number",imageLeft:"number",imageTop:"number",imageWidth:"number",scale:"number"}).Xb([c.R_,c.lA,c.Ae,c.ze,b.S]);return Image}); define("gV","gH,dw,dN,kU,hq,ey,gb,hc,hM,jc,la,fB,gh,fo,es,cH,bm,kC,ht,jG,en,n,gZ,df,gy,jU,hx,kl,gs,jh,fy,F,cj,q,iW,eM,P,hR,bk,Z,kk,kR,dY,jj,gX,bu,kV,kh,ix,I,lG,du,gN,bE,he,lA,hA,gA,m,if,gd,jC,gC,lE,fE,ir,bf,cf,bw,iR,gz,ly,eN,kZ,cb,cc,iO,ex,hl,gp,hP,fd,iV,kr,fX,hY,im,eG,gE,bQ,dM,dl,K,lm,cY,br,gK,el,cX,hX,dP,jI,jo,ec,fj,iz,bO,gu,kI,jz,kL,T,fa,cF,jV,gc,hj,hN,fI,bG,v,cP,bx,hH,hm,le,ew,ft,bM,iE,e,dz,fM,bl,bP,dp,kH".split(","),R(n)); define("eU","require,do,jquery.mod,fg,dW,bF,gV,jt".split(","),function(a){function b(a,b){this.type=a;this.stack=b}function c(){}var e=a("do"),g=a("jquery.mod"),d=a("fg"),f=a("dW"),h=a("bF");a("gV");a("jt");c.prototype.oxa=function(a,b,c,d){this.TR=[];this.ds=this.By(a);this.tr=m;if(this.ds.Ip.eca()){h.Xza(a);this.tr=this.E4(this.ds,j.Vj);this.Gja(this.tr,this.ds,b,c,d);this.Iha(this.ds);this.Gha(this.ds,this.tr);this.Jha(this.tr,this.ds);this.Yha(this.tr,this.ds)}else this.cl("Invalid root class", []);return this.TR.length==0};c.prototype.Ta=function(){return this.ds.Kd};c.prototype.By=function(a,b){b=b||[];return e(a).isArray()?this.xpa(a,b):g.isPlainObject(a)&&a["class"]?this.Apa(a,b):g.isPlainObject(a)?this.ypa(a,b):e(a).isFunction()?this.zpa(a,b):this.Bpa(a,b)};c.prototype.xpa=function(a,b){for(var c=[],d=0;d> ")+": "+a)};b.prototype.Pa=function(){return[]};b.prototype.Ln=D();var j=d.extend(b,function(a,c,d,e,f,g){b.call(this,j.Vj,a);this.Ip=c;this.id=d;this.attributes= e;this.Ov=f;this.scripts=g;this.Kd=r});j.prototype.Pa=function(){var a=this.Ip.mca(),b=[],c=e(this.attributes).clone();if(a)for(var d=0;d0?e.push("v:"+l.sF+"."+l.wF):e.push("v:"+l.wF);t.log(e.join(" "));this.Qk=b;if(j.Ewa()||[f.Ew,f.mq].indexOf(f.browser())>=0){this.yh=new d;if(c=this.Qk.get(TDV.PlayerSettings.BASE_DIR_URL)){c=j.Zs(c);c[c.length-1]!="/"&&(c=c+"/")}else c=j.getDirectory(this.Qk.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL));this.Wda=this.Qk.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS); h.Bxa(c,function(b){this.rba=b;this.Yoa(a)}.bind(this))}else window.alert(q("web-server-required"))}var c=a("do"),e=a("ll");a("bZ");var g=a("dW"),d=a("eU"),f=a("r"),h=a("dO"),j=a("jt"),p=a("bi"),k=a("fK"),l=a("kd"),q=a("lk"),o=a("ke"),t=a("fg");b.prototype.Yoa=function(a){a.trigger(new TDV.JG(e.mga,{},[],m));c.defer(function(){if(!this.yh.oxa(this.Qk.get(TDV.PlayerSettings.SCRIPT_DATA),this.Qk.get(TDV.PlayerSettings.CONTAINER),this.rba,this.Wda)){if(l.Aza!="false"){window.alert(this.j5());return}t.log(this.j5())}this.Wha(a); this.Bha(this.Qk);this.Lha();p.mm(function(){this.Ksa()}.bind(this))}.bind(this))};b.prototype.clear=function(){if(this.yh){this.yh.tr.forEach(function(a){a.Kd.ffa();a.Ip.dF().forEach(function(b){switch(b){case "VideoPlayer":a.Kd.stop();case "MapPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":case "VideoPlayer":a.Kd.set("viewerArea",r);break;case "ZoomImage":a.Kd.set("image",r);break;case "Audio":a.Kd.stop();break;case "Effect":a.Kd.end();break;case "Media":a.Kd.Oxa()}})});k.uxa();this.yh.Ta().clear(); s={};this.Qk=this.yh=r}};b.prototype.Tva=function(a){return this.yh.Ta()[a]};b.prototype.qca=function(a){if(a in s)return s[a].slice();var b=[];this.yh&&this.yh.tr.forEach(function(d){var e=d.Ip.dF();c(e).contains(a)&&b.push(d.Kd)});s[a]=b;return b.slice()};var s={};b.prototype.Bs=function(a){var b=g.An(a);b||i("Invalid className: "+a);s={};return b.Bs(this.yh.Ta(),this.rba,this.Wda)};b.prototype.j5=function(){for(var a=this.yh.TR,b=["Errors parsing script file:"],c=0;c>8&255]+st[t>>16&255]+st[t>>24&255]+"-"+st[255&e]+st[e>>8&255]+"-"+st[e>>16&15|64]+st[e>>24&255]+"-"+st[63&n|128]+st[n>>8&255]+"-"+st[n>>16&255]+st[n>>24&255]+st[255&i]+st[i>>8&255]+st[i>>16&255]+st[i>>24&255]).toUpperCase()}function ht(t,e,n){return Math.max(e,Math.min(n,t))}function ut(t,e){return(t%e+e)%e}function dt(t,e,n){return(1-n)*t+n*e}function pt(t){return 0==(t&t-1)&&0!==t}function mt(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function ft(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var gt=Object.freeze({__proto__:null,DEG2RAD:ot,RAD2DEG:lt,generateUUID:ct,clamp:ht,euclideanModulo:ut,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:dt,damp:function(t,e,n,i){return dt(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(ut(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(at=t%2147483647),at=16807*at%2147483647,(at-1)/2147483646},degToRad:function(t){return t*ot},radToDeg:function(t){return t*lt},isPowerOfTwo:pt,ceilPowerOfTwo:mt,floorPowerOfTwo:ft,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r);}}});class vt{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}vt.prototype.isVector2=!0;class yt{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],v=i[1],y=i[4],x=i[7],_=i[2],M=i[5],b=i[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*y+o*M,r[6]=s*g+a*x+o*b,r[1]=l*m+c*v+h*_,r[4]=l*f+c*y+h*M,r[7]=l*g+c*x+h*b,r[2]=u*m+d*v+p*_,r[5]=u*f+d*y+p*M,r[8]=u*g+d*x+p*b,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],s=i[3],a=i[6],o=i[1],l=i[4],c=i[7];return i[0]=e*r+n*o,i[3]=e*s+n*l,i[6]=e*a+n*c,i[1]=-n*r+e*o,i[4]=-n*s+e*l,i[7]=-n*a+e*c,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return new this.constructor().fromArray(this.elements)}}function xt(t){if(0===t.length)return-1/0;let e=t[0];for(let n=1,i=t.length;ne&&(e=t[n]);return e}yt.prototype.isMatrix3=!0;const _t={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Mt(t,e){return new _t[t](e)}function bt(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function wt(t,e=0){let n=3735928559^e,i=1103547991^e;for(let e,r=0;r>>16,2246822507)^Math.imul(i^i>>>13,3266489909),i=Math.imul(i^i>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&i)+(n>>>0)}let St;class Tt{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===St&&(St=bt("canvas")),St.width=t.width,St.height=t.height;const n=St.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=St}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}}let Et=0;class At extends rt{constructor(t=At.DEFAULT_IMAGE,e=At.DEFAULT_MAPPING,n=1001,i=1001,r=1006,s=1008,a=1023,o=1009,l=1,c=3e3){super(),Object.defineProperty(this,"id",{value:Et++}),this.uuid=ct(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new vt(0,0),this.repeat=new vt(1,1),this.center=new vt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new yt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this.userData=JSON.parse(JSON.stringify(t.userData)),this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const i=this.image;if(void 0===i.uuid&&(i.uuid=ct()),!e&&void 0===t.images[i.uuid]){let e;if(Array.isArray(i)){e=[];for(let t=0,n=i.length;t1)switch(this.wrapS){case h:t.x=t.x-Math.floor(t.x);break;case u:t.x=t.x<0?0:1;break;case d:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);}if(t.y<0||t.y>1)switch(this.wrapT){case h:t.y=t.y-Math.floor(t.y);break;case u:t.y=t.y<0?0:1;break;case d:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&this.version++}}function Lt(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?Tt.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}At.DEFAULT_IMAGE=void 0,At.DEFAULT_MAPPING=i,At.prototype.isTexture=!0;class Rt{constructor(t=0,e=0,n=0,i=1){this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)o&&t>v?tv?o=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s);}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(ht(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(r),n*Math.cos(r),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}It.prototype.isQuaternion=!0;class Nt{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t);}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t);}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Bt.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Bt.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*i-a*n,c=o*n+a*e-r*i,h=o*i+r*n-s*e,u=-r*e-s*n-a*i;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return zt.copy(this).projectOnVector(t),this.sub(zt)}reflect(t){return this.sub(zt.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(ht(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}Nt.prototype.isVector3=!0;const zt=new Nt,Bt=new It;class Ft{constructor(t=new Nt(1/0,1/0,1/0),e=new Nt(-1/0,-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.length;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromBufferAttribute(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.count;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,Ut),Ut.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Xt),Jt.subVectors(this.max,Xt),Gt.subVectors(t.a,Xt),kt.subVectors(t.b,Xt),Vt.subVectors(t.c,Xt),Wt.subVectors(kt,Gt),jt.subVectors(Vt,kt),qt.subVectors(Gt,Vt);let e=[0,-Wt.z,Wt.y,0,-jt.z,jt.y,0,-qt.z,qt.y,Wt.z,0,-Wt.x,jt.z,0,-jt.x,qt.z,0,-qt.x,-Wt.y,Wt.x,0,-jt.y,jt.x,0,-qt.y,qt.x,0];return!!Qt(e,Gt,kt,Vt,Jt)&&(e=[1,0,0,0,1,0,0,0,1],!!Qt(e,Gt,kt,Vt,Jt)&&(Yt.crossVectors(Wt,jt),e=[Yt.x,Yt.y,Yt.z],Qt(e,Gt,kt,Vt,Jt)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return Ut.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(Ut).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(Ot[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),Ot[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),Ot[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),Ot[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),Ot[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),Ot[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),Ot[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),Ot[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(Ot)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}Ft.prototype.isBox3=!0;const Ot=[new Nt,new Nt,new Nt,new Nt,new Nt,new Nt,new Nt,new Nt],Ut=new Nt,Ht=new Ft,Gt=new Nt,kt=new Nt,Vt=new Nt,Wt=new Nt,jt=new Nt,qt=new Nt,Xt=new Nt,Jt=new Nt,Yt=new Nt,Zt=new Nt;function Qt(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){Zt.fromArray(t,s);const a=r.x*Math.abs(Zt.x)+r.y*Math.abs(Zt.y)+r.z*Math.abs(Zt.z),o=e.dot(Zt),l=n.dot(Zt),c=i.dot(Zt);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Kt=new Ft,$t=new Nt,te=new Nt,ee=new Nt;class ne{constructor(t=new Nt,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Kt.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){ee.subVectors(t,this.center);const e=ee.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.add(ee.multiplyScalar(n/t)),this.radius+=n}return this}union(t){return te.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint($t.copy(t.center).add(te)),this.expandByPoint($t.copy(t.center).sub(te)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const ie=new Nt,re=new Nt,se=new Nt,ae=new Nt,oe=new Nt,le=new Nt,ce=new Nt;class he{constructor(t=new Nt,e=new Nt(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,ie)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=ie.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(ie.copy(this.direction).multiplyScalar(e).add(this.origin),ie.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){re.copy(t).add(e).multiplyScalar(.5),se.copy(e).sub(t).normalize(),ae.copy(this.origin).sub(re);const r=.5*t.distanceTo(e),s=-this.direction.dot(se),a=ae.dot(this.direction),o=-ae.dot(se),l=ae.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0){if(h=s*o-a,u=s*a-o,p=r*c,h>=0){if(u>=-p){if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;}else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);}else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(se).multiplyScalar(u).add(re),d}intersectSphere(t,e){ie.subVectors(t.center,this.origin);const n=ie.dot(this.direction),i=ie.dot(ie)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||n!=n)&&(n=r),(s=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!=n)&&(n=a),(o=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,ie)}intersectTriangle(t,e,n,i,r){oe.subVectors(e,t),le.subVectors(n,t),ce.crossVectors(oe,le);let s,a=this.direction.dot(ce);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}ae.subVectors(this.origin,t);const o=s*this.direction.dot(le.crossVectors(ae,le));if(o<0)return null;const l=s*this.direction.dot(oe.cross(ae));if(l<0)return null;if(o+l>a)return null;const c=-s*ae.dot(ce);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class ue{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ue().fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/de.setFromMatrixColumn(t,0).length(),r=1/de.setFromMatrixColumn(t,1).length(),s=1/de.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(me,t,fe)}lookAt(t,e,n){const i=this.elements;return ye.subVectors(t,e),0===ye.lengthSq()&&(ye.z=1),ye.normalize(),ge.crossVectors(n,ye),0===ge.lengthSq()&&(1===Math.abs(n.z)?ye.x+=1e-4:ye.z+=1e-4,ye.normalize(),ge.crossVectors(n,ye)),ge.normalize(),ve.crossVectors(ye,ge),i[0]=ge.x,i[4]=ve.x,i[8]=ye.x,i[1]=ge.y,i[5]=ve.y,i[9]=ye.y,i[2]=ge.z,i[6]=ve.z,i[10]=ye.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],v=n[3],y=n[7],x=n[11],_=n[15],M=i[0],b=i[4],w=i[8],S=i[12],T=i[1],E=i[5],A=i[9],L=i[13],R=i[2],C=i[6],P=i[10],D=i[14],I=i[3],N=i[7],z=i[11],B=i[15];return r[0]=s*M+a*T+o*R+l*I,r[4]=s*b+a*E+o*C+l*N,r[8]=s*w+a*A+o*P+l*z,r[12]=s*S+a*L+o*D+l*B,r[1]=c*M+h*T+u*R+d*I,r[5]=c*b+h*E+u*C+d*N,r[9]=c*w+h*A+u*P+d*z,r[13]=c*S+h*L+u*D+d*B,r[2]=p*M+m*T+f*R+g*I,r[6]=p*b+m*E+f*C+g*N,r[10]=p*w+m*A+f*P+g*z,r[14]=p*S+m*L+f*D+g*B,r[3]=v*M+y*T+x*R+_*I,r[7]=v*b+y*E+x*C+_*N,r[11]=v*w+y*A+x*P+_*z,r[15]=v*S+y*L+x*D+_*B,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,y=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,_=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,M=e*v+n*y+i*x+r*_;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const b=1/M;return t[0]=v*b,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*b,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*b,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*b,t[4]=y*b,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*b,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*b,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*b,t[8]=x*b,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*b,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*b,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*b,t[12]=_*b,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*b,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*b,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*b,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,y=o*c,x=o*h,_=n.x,M=n.y,b=n.z;return i[0]=(1-(m+g))*_,i[1]=(d+x)*_,i[2]=(p-y)*_,i[3]=0,i[4]=(d-x)*M,i[5]=(1-(u+g))*M,i[6]=(f+v)*M,i[7]=0,i[8]=(p+y)*b,i[9]=(f-v)*b,i[10]=(1-(u+m))*b,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=de.set(i[0],i[1],i[2]).length();const s=de.set(i[4],i[5],i[6]).length(),a=de.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],pe.copy(this);const o=1/r,l=1/s,c=1/a;return pe.elements[0]*=o,pe.elements[1]*=o,pe.elements[2]*=o,pe.elements[4]*=l,pe.elements[5]*=l,pe.elements[6]*=l,pe.elements[8]*=c,pe.elements[9]*=c,pe.elements[10]*=c,e.setFromRotationMatrix(pe),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s){void 0===s&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*r/(e-t),l=2*r/(n-i),c=(e+t)/(e-t),h=(n+i)/(n-i),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,i,r,s){const a=this.elements,o=1/(e-t),l=1/(n-i),c=1/(s-r),h=(e+t)*o,u=(n+i)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}ue.prototype.isMatrix4=!0;const de=new Nt,pe=new ue,me=new Nt(0,0,0),fe=new Nt(1,1,1),ge=new Nt,ve=new Nt,ye=new Nt,xe=new ue,_e=new It;class Me{constructor(t=0,e=0,n=0,i=Me.DefaultOrder){this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(ht(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-ht(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(ht(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-ht(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(ht(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-ht(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e);}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return xe.makeRotationFromQuaternion(t),this.setFromRotationMatrix(xe,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return _e.setFromEuler(this),this.setFromQuaternion(_e,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new Nt(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Me.prototype.isEuler=!0,Me.DefaultOrder="XYZ",Me.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class be{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Fe.subVectors(i,e),Oe.subVectors(n,e),Ue.subVectors(t,e);const s=Fe.dot(Fe),a=Fe.dot(Oe),o=Fe.dot(Ue),l=Oe.dot(Oe),c=Oe.dot(Ue),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,He),He.x>=0&&He.y>=0&&He.x+He.y<=1}static getUV(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,He),o.set(0,0),o.addScaledVector(r,He.x),o.addScaledVector(s,He.y),o.addScaledVector(a,He.z),o}static isFrontFacing(t,e,n,i){return Fe.subVectors(n,e),Oe.subVectors(t,e),Fe.cross(Oe).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Fe.subVectors(this.c,this.b),Oe.subVectors(this.a,this.b),.5*Fe.cross(Oe).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Xe.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Xe.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return Xe.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return Xe.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Xe.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;Ge.subVectors(i,n),ke.subVectors(r,n),We.subVectors(t,n);const o=Ge.dot(We),l=ke.dot(We);if(o<=0&&l<=0)return e.copy(n);je.subVectors(t,i);const c=Ge.dot(je),h=ke.dot(je);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(Ge,s);qe.subVectors(t,r);const d=Ge.dot(qe),p=ke.dot(qe);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(ke,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return Ve.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(Ve,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(Ge,s).addScaledVector(ke,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let Je=0;class Ye extends rt{constructor(){super(),Object.defineProperty(this,"id",{value:Je++}),this.uuid=ct(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.format=E,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=n,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=tt,this.stencilZFail=tt,this.stencilZPass=tt,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===n;continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),0!==this.side&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==E&&(n.format=this.format),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.format=t.format,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}Ye.prototype.isMaterial=!0;const Ze={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Qe={h:0,s:0,l:0},Ke={h:0,s:0,l:0};function $e(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function tn(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function en(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class nn{constructor(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=ut(t,1),e=ht(e,0,1),n=ht(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=$e(r,i,t+1/3),this.g=$e(r,i,t),this.b=$e(r,i,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const i=n[1],r=n[2];switch(i){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)){const n=parseFloat(t[1])/360,i=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,i,r)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=Ze[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,e=2){return this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this}copyLinearToGamma(t,e=2){const n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=tn(t.r),this.g=tn(t.g),this.b=tn(t.b),this}copyLinearToSRGB(t){return this.r=en(t.r),this.g=en(t.g),this.b=en(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){const e=this.r,n=this.g,i=this.b,r=Math.max(e,n,i),s=Math.min(e,n,i);let a,o;const l=(s+r)/2;if(s===r)a=0,o=0;else{const t=r-s;switch(o=l<=.5?t/(r+s):t/(2-r-s),r){case e:a=(n-i)/t+(n65535?mn:dn)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=new yt().getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return xn.makeRotationFromQuaternion(t),this.applyMatrix4(xn),this}rotateX(t){return xn.makeRotationX(t),this.applyMatrix4(xn),this}rotateY(t){return xn.makeRotationY(t),this.applyMatrix4(xn),this}rotateZ(t){return xn.makeRotationZ(t),this.applyMatrix4(xn),this}translate(t,e,n){return xn.makeTranslation(t,e,n),this.applyMatrix4(xn),this}scale(t,e,n){return xn.makeScale(t,e,n),this.applyMatrix4(xn),this}lookAt(t){return _n.lookAt(t),_n.updateMatrix(),this.applyMatrix4(_n.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Mn).negate(),this.translate(Mn.x,Mn.y,Mn.z),this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],s=[];for(let e=0,i=n.length;e0&&(i[e]=s,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),Ln.copy(n.boundingSphere),Ln.applyMatrix4(r),!1===t.ray.intersectsSphere(Ln))return;if(En.copy(r).invert(),An.copy(t.ray).applyMatrix4(En),null!==n.boundingBox&&!1===An.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const r=n.index,a=n.attributes.position,o=n.morphAttributes.position,l=n.morphTargetsRelative,c=n.attributes.uv,h=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==r){if(Array.isArray(i))for(let n=0,p=u.length;nn.far?null:{distance:c,point:kn.clone(),object:t}}(t,e,n,i,Rn,Cn,Pn,Gn);if(p){o&&(On.fromBufferAttribute(o,c),Un.fromBufferAttribute(o,h),Hn.fromBufferAttribute(o,u),p.uv=Xe.getUV(Gn,Rn,Cn,Pn,On,Un,Hn,new vt)),l&&(On.fromBufferAttribute(l,c),Un.fromBufferAttribute(l,h),Hn.fromBufferAttribute(l,u),p.uv2=Xe.getUV(Gn,Rn,Cn,Pn,On,Un,Hn,new vt));const t={a:c,b:h,c:u,normal:new Nt,materialIndex:0};Xe.getNormal(Rn,Cn,Pn,t.normal),p.face=t}return p}Vn.prototype.isMesh=!0;class jn extends Tn{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,v){const y=s/f,x=p/g,_=s/2,M=p/2,b=m/2,w=f+1,S=g+1;let T=0,E=0;const A=new Nt;for(let s=0;s0?1:-1,c.push(A.x,A.y,A.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}Yn.prototype.isShaderMaterial=!0;class Zn extends Be{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new ue,this.projectionMatrix=new ue,this.projectionMatrixInverse=new ue}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}Zn.prototype.isCamera=!0;class Qn extends Zn{constructor(t=50,e=1,n=.1,i=2e3){super(),this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*lt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*ot*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*lt*Math.atan(Math.tan(.5*ot*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*ot*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}Qn.prototype.isPerspectiveCamera=!0;const Kn=90;class $n extends Be{constructor(t,e,n){if(super(),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const i=new Qn(Kn,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new Nt(1,0,0)),this.add(i);const r=new Qn(Kn,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Nt(-1,0,0)),this.add(r);const s=new Qn(Kn,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new Nt(0,1,0)),this.add(s);const a=new Qn(Kn,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new Nt(0,-1,0)),this.add(a);const o=new Qn(Kn,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new Nt(0,0,1)),this.add(o);const l=new Qn(Kn,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new Nt(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,s,a,o,l]=this.children,c=t.xr.enabled,h=t.getRenderTarget();t.xr.enabled=!1;const u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,s),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=u,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(h),t.xr.enabled=c}}class ti extends At{constructor(t,e,n,i,s,a,o,l,c,h){super(t=void 0!==t?t:[],e=void 0!==e?e:r,n,i,s,a,o,l,c,h),this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}ti.prototype.isCubeTexture=!0;class ei extends Ct{constructor(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),super(t,t,e),e=e||{},this.texture=new ti(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:g,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.format=E,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new jn(5,5,5),r=new Yn({name:"CubemapFromEquirect",uniforms:qn(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const s=new Vn(i,r),a=e.minFilter;e.minFilter===y&&(e.minFilter=g);return new $n(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}ei.prototype.isWebGLCubeRenderTarget=!0;const ni=new Nt,ii=new Nt,ri=new yt;class si{constructor(t=new Nt(1,0,0),e=0){this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=ni.subVectors(n,e).cross(ii.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const n=t.delta(ni),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(n).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||ri.getNormalMatrix(t),i=this.coplanarPoint(ni).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}si.prototype.isPlane=!0;const ai=new ne,oi=new Nt;class li{constructor(t=new si,e=new si,n=new si,i=new si,r=new si,s=new si){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],s=n[2],a=n[3],o=n[4],l=n[5],c=n[6],h=n[7],u=n[8],d=n[9],p=n[10],m=n[11],f=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(a-i,h-o,m-u,y-f).normalize(),e[1].setComponents(a+i,h+o,m+u,y+f).normalize(),e[2].setComponents(a+r,h+l,m+d,y+g).normalize(),e[3].setComponents(a-r,h-l,m-d,y-g).normalize(),e[4].setComponents(a-s,h-c,m-p,y-v).normalize(),e[5].setComponents(a+s,h+c,m+p,y+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),ai.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(ai)}intersectsSprite(t){return ai.center.set(0,0,0),ai.radius=.7071067811865476,ai.applyMatrix4(t.matrixWorld),this.intersectsSphere(ai)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,oi.y=i.normal.y>0?t.max.y:t.min.y,oi.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(oi)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function ci(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function hi(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(\t\t0, 1,\t\t0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(\t1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,\t1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,\t1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},pi={common:{diffuse:{value:new nn(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new yt},uv2Transform:{value:new yt},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new vt(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new nn(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new nn(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new yt}},sprite:{diffuse:{value:new nn(16777215)},opacity:{value:1},center:{value:new vt(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new yt}}},mi={basic:{uniforms:Xn([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.fog]),vertexShader:di.meshbasic_vert,fragmentShader:di.meshbasic_frag},lambert:{uniforms:Xn([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.fog,pi.lights,{emissive:{value:new nn(0)}}]),vertexShader:di.meshlambert_vert,fragmentShader:di.meshlambert_frag},phong:{uniforms:Xn([pi.common,pi.specularmap,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,pi.lights,{emissive:{value:new nn(0)},specular:{value:new nn(1118481)},shininess:{value:30}}]),vertexShader:di.meshphong_vert,fragmentShader:di.meshphong_frag},standard:{uniforms:Xn([pi.common,pi.envmap,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.roughnessmap,pi.metalnessmap,pi.fog,pi.lights,{emissive:{value:new nn(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:di.meshphysical_vert,fragmentShader:di.meshphysical_frag},toon:{uniforms:Xn([pi.common,pi.aomap,pi.lightmap,pi.emissivemap,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.gradientmap,pi.fog,pi.lights,{emissive:{value:new nn(0)}}]),vertexShader:di.meshtoon_vert,fragmentShader:di.meshtoon_frag},matcap:{uniforms:Xn([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,pi.fog,{matcap:{value:null}}]),vertexShader:di.meshmatcap_vert,fragmentShader:di.meshmatcap_frag},points:{uniforms:Xn([pi.points,pi.fog]),vertexShader:di.points_vert,fragmentShader:di.points_frag},dashed:{uniforms:Xn([pi.common,pi.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:di.linedashed_vert,fragmentShader:di.linedashed_frag},depth:{uniforms:Xn([pi.common,pi.displacementmap]),vertexShader:di.depth_vert,fragmentShader:di.depth_frag},normal:{uniforms:Xn([pi.common,pi.bumpmap,pi.normalmap,pi.displacementmap,{opacity:{value:1}}]),vertexShader:di.meshnormal_vert,fragmentShader:di.meshnormal_frag},sprite:{uniforms:Xn([pi.sprite,pi.fog]),vertexShader:di.sprite_vert,fragmentShader:di.sprite_frag},background:{uniforms:{uvTransform:{value:new yt},t2D:{value:null}},vertexShader:di.background_vert,fragmentShader:di.background_frag},cube:{uniforms:Xn([pi.envmap,{opacity:{value:1}}]),vertexShader:di.cube_vert,fragmentShader:di.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:di.equirect_vert,fragmentShader:di.equirect_frag},distanceRGBA:{uniforms:Xn([pi.common,pi.displacementmap,{referencePosition:{value:new Nt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:di.distanceRGBA_vert,fragmentShader:di.distanceRGBA_frag},shadow:{uniforms:Xn([pi.lights,pi.fog,{color:{value:new nn(0)},opacity:{value:1}}]),vertexShader:di.shadow_vert,fragmentShader:di.shadow_frag}};function fi(t,e,n,i,r){const s=new nn(0);let a,o,c=0,h=null,u=0,d=null;function p(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,r)}return{getClearColor:function(){return s},setClearColor:function(t,e=1){s.set(t),c=e,p(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(t){c=t,p(s,c)},render:function(n,r){let m=!1,f=!0===r.isScene?r.background:null;f&&f.isTexture&&(f=e.get(f));const g=t.xr,v=g.getSession&&g.getSession();v&&"additive"===v.environmentBlendMode&&(f=null),null===f?p(s,c):f&&f.isColor&&(p(f,1),m=!0),(t.autoClear||m)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),f&&(f.isCubeTexture||f.mapping===l)?(void 0===o&&(o=new Vn(new jn(1,1,1),new Yn({name:"BackgroundCubeMaterial",uniforms:qn(mi.cube.uniforms),vertexShader:mi.cube.vertexShader,fragmentShader:mi.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),o.geometry.deleteAttribute("uv"),o.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(o.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(o)),o.material.uniforms.envMap.value=f,o.material.uniforms.flipEnvMap.value=f.isCubeTexture&&!1===f.isRenderTargetTexture?-1:1,h===f&&u===f.version&&d===t.toneMapping||(o.material.needsUpdate=!0,h=f,u=f.version,d=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null)):f&&f.isTexture&&(void 0===a&&(a=new Vn(new ui(2,2),new Yn({name:"BackgroundMaterial",uniforms:qn(mi.background.uniforms),vertexShader:mi.background.vertexShader,fragmentShader:mi.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(a)),a.material.uniforms.t2D.value=f,!0===f.matrixAutoUpdate&&f.updateMatrix(),a.material.uniforms.uvTransform.value.copy(f.matrix),h===f&&u===f.version&&d===t.toneMapping||(a.material.needsUpdate=!0,h=f,u=f.version,d=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null))}}}function gi(t,e,n,i){const r=t.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=d(null);let c=l;function h(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function u(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],i=[];for(let t=0;t=0){let s=l[e];if(void 0===s&&("instanceMatrix"===e&&r.instanceMatrix&&(s=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(s=r.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,l=n.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,l=n.stride,d=s.offset;if(n&&n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),y=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:y&&x,maxSamples:s?t.getParameter(36183):0}}function xi(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new si,o=new yt,l={value:null,needsUpdate:!1};function c(){l.value!==n&&(l.value=n,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length0){const a=t.getRenderTarget(),o=new ei(s.height/2);return o.fromEquirectangularTexture(t,r),e.set(r,o),t.setRenderTarget(a),r.addEventListener("dispose",i),n(o.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}mi.physical={uniforms:Xn([mi.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new vt(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new nn(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new vt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new nn(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new nn(1,1,1)},specularColorMap:{value:null}}]),vertexShader:di.meshphysical_vert,fragmentShader:di.meshphysical_frag};class Mi extends Zn{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}Mi.prototype.isOrthographicCamera=!0;class bi extends Yn{constructor(t){super(t),this.type="RawShaderMaterial"}}bi.prototype.isRawShaderMaterial=!0;const wi=Math.pow(2,8),Si=[.125,.215,.35,.446,.526,.582],Ti=5+Si.length,Ei=20,Ai={[X]:0,[J]:1,[Z]:2,[Q]:3,[K]:4,[$]:5,[Y]:6},Li=new Mi,{_lodPlanes:Ri,_sizeLods:Ci,_sigmas:Pi}=Ui(),Di=new nn;let Ii=null;const Ni=(1+Math.sqrt(5))/2,zi=1/Ni,Bi=[new Nt(1,1,1),new Nt(-1,1,1),new Nt(1,1,-1),new Nt(-1,1,-1),new Nt(0,Ni,zi),new Nt(0,Ni,-zi),new Nt(zi,0,Ni),new Nt(-zi,0,Ni),new Nt(Ni,zi,0),new Nt(-Ni,zi,0)];class Fi{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=function(t){const e=new Float32Array(t),n=new Nt(0,1,0);return new bi({name:"SphericalGaussianBlur",defines:{n:t},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n},inputEncoding:{value:Ai[3e3]},outputEncoding:{value:Ai[3e3]}},vertexShader:Wi(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t${ji()}\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}(Ei),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Ii=this._renderer.getRenderTarget();const r=this._allocateTargets();return this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=Vi(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=ki(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?wi:0,wi,wi),o.setRenderTarget(i),p&&o.render(d,r),o.render(t,r)}d.geometry.dispose(),d.material.dispose(),o.toneMapping=h,o.outputEncoding=c,o.autoClear=l,t.background=m}_setEncoding(t,e){t.value=Ai[e.encoding]}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===r||t.mapping===s;i?null==this._cubemapShader&&(this._cubemapShader=Vi()):null==this._equirectShader&&(this._equirectShader=ki());const a=i?this._cubemapShader:this._equirectShader,o=new Vn(Ri[0],a),l=a.uniforms;l.envMap.value=t,i||l.texelSize.value.set(1/t.image.width,1/t.image.height),this._setEncoding(l.inputEncoding,t),this._setEncoding(l.outputEncoding,e.texture),Gi(e,0,0,3*wi,2*wi),n.setRenderTarget(e),n.render(o,Li)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;eEi&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to 20`);const f=[];let g=0;for(let t=0;t4?i-8+4:0),3*v,2*v),o.setRenderTarget(e),o.render(c,Li)}}function Oi(t){return void 0!==t&&t.type===x&&(t.encoding===X||t.encoding===J||t.encoding===Y)}function Ui(){const t=[],e=[],n=[];let i=8;for(let r=0;r4?a=Si[r-8+4-1]:0==r&&(a=0),n.push(a);const o=1/(s-1),l=-o/2,c=1+o/2,h=[l,l,c,l,c,c,l,l,c,c,l,c],u=6,d=6,p=3,m=2,f=1,g=new Float32Array(p*d*u),v=new Float32Array(m*d*u),y=new Float32Array(f*d*u);for(let t=0;t2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(i,p*d*t),v.set(h,m*d*t);const r=[t,t,t,t,t,t];y.set(r,f*d*t)}const x=new Tn;x.setAttribute("position",new on(g,p)),x.setAttribute("uv",new on(v,m)),x.setAttribute("faceIndex",new on(y,f)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function Hi(t){const e=new Ct(3*wi,3*wi,t);return e.texture.mapping=l,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Gi(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function ki(){const t=new vt(1,1);return new bi({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:Ai[3e3]},outputEncoding:{value:Ai[3e3]}},vertexShader:Wi(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t${ji()}\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function Vi(){return new bi({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Ai[3e3]},outputEncoding:{value:Ai[3e3]}},vertexShader:Wi(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t${ji()}\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function Wi(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function ji(){return"\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t"}function qi(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(l){if(l&&l.isTexture&&!1===l.isRenderTargetTexture){const c=l.mapping,h=c===a||c===o,u=c===r||c===s;if(h||u){if(e.has(l))return e.get(l).texture;{const r=l.image;if(h&&r&&r.height>0||u&&r&&function(t){let e=0;const n=6;for(let i=0;i65535?mn:dn)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;te.maxTextureSize&&(u=Math.ceil(h/e.maxTextureSize),h=e.maxTextureSize);const d=new Float32Array(h*u*4*i),p=new Qi(d,h,u,i);p.format=E,p.type=b;const m=4*l;for(let e=0;e0)return t;const r=e*n;let s=lr[r];if(void 0===s&&(s=new Float32Array(r),lr[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function mr(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n/gm;function xs(t){return t.replace(ys,_s)}function _s(t,e){const n=di[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return xs(n)}const Ms=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,bs=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ws(t){return t.replace(bs,Ts).replace(Ms,Ss)}function Ss(t,e,n,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Ts(t,e,n,i)}function Ts(t,e,n,i){let r="";for(let t=parseInt(e);t0?t.gammaFactor:1,v=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(fs).join("\n")}(n),y=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(o),x=a.createProgram();let _,M,b=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(_=[y].filter(fs).join("\n"),_.length>0&&(_+="\n"),M=[v,y].filter(fs).join("\n"),M.length>0&&(M+="\n")):(_=[Es(n),"#define SHADER_NAME "+n.shaderName,y,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+g,"#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+m:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargets&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(fs).join("\n"),M=[v,Es(n),"#define SHADER_NAME "+n.shaderName,y,"#define GAMMA_FACTOR "+g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",n.envMap?"#define "+f:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==n.toneMapping?"#define TONE_MAPPING":"",0!==n.toneMapping?di.tonemapping_pars_fragment:"",0!==n.toneMapping?ms("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.format===T?"#define OPAQUE":"",di.encodings_pars_fragment,n.map?ds("mapTexelToLinear",n.mapEncoding):"",n.matcap?ds("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?ds("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?ds("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.specularColorMap?ds("specularColorMapTexelToLinear",n.specularColorMapEncoding):"",n.sheenColorMap?ds("sheenColorMapTexelToLinear",n.sheenColorMapEncoding):"",n.lightMap?ds("lightMapTexelToLinear",n.lightMapEncoding):"",ps("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(fs).join("\n")),h=xs(h),h=gs(h,n),h=vs(h,n),u=xs(u),u=gs(u,n),u=vs(u,n),h=ws(h),u=ws(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(b="#version 300 es\n",_=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+_,M=["#define varying in",n.glslVersion===it?"":"out highp vec4 pc_fragColor;",n.glslVersion===it?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+M);const w=b+M+u,S=ls(a,35633,b+_+h),E=ls(a,35632,w);if(a.attachShader(x,S),a.attachShader(x,E),void 0!==n.index0AttributeName?a.bindAttribLocation(x,0,n.index0AttributeName):!0===n.morphTargets&&a.bindAttribLocation(x,0,"position"),a.linkProgram(x),t.debug.checkShaderErrors){const t=a.getProgramInfoLog(x).trim(),e=a.getShaderInfoLog(S).trim(),n=a.getShaderInfoLog(E).trim();let i=!0,r=!0;if(!1===a.getProgramParameter(x,35714)){i=!1;const e=us(a,S,"vertex"),n=us(a,E,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(x,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==n||(r=!1);r&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:_},fragmentShader:{log:n,prefix:M}})}let A,L;return a.deleteShader(S),a.deleteShader(E),this.getUniforms=function(){return void 0===A&&(A=new os(a,x)),A},this.getAttributes=function(){return void 0===L&&(L=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r0,C=s.clearcoat>0;return{isWebGL2:h,shaderID:S,shaderName:s.type,vertexShader:E,fragmentShader:A,defines:s.defines,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:f,instancing:!0===_.isInstancedMesh,instancingColor:!0===_.isInstancedMesh&&null!==_.instanceColor,supportsVertexTextures:m,outputEncoding:null!==L?y(L.texture):t.outputEncoding,map:!!s.map,mapEncoding:y(s.map),matcap:!!s.matcap,matcapEncoding:y(s.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:y(w),envMapCubeUV:!!w&&(w.mapping===l||w.mapping===c),lightMap:!!s.lightMap,lightMapEncoding:y(s.lightMap),aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,emissiveMapEncoding:y(s.emissiveMap),bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:1===s.normalMapType,tangentSpaceNormalMap:0===s.normalMapType,clearcoat:C,clearcoatMap:C&&!!s.clearcoatMap,clearcoatRoughnessMap:C&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:C&&!!s.clearcoatNormalMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,specularColorMapEncoding:y(s.specularColorMap),alphaMap:!!s.alphaMap,alphaTest:R,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenColorMapEncoding:y(s.sheenColorMap),sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!_.geometry&&!!_.geometry.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!_.geometry&&!!_.geometry.attributes.color&&4===_.geometry.attributes.color.itemSize,vertexUvs:!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatMap||!!s.clearcoatRoughnessMap||!!s.clearcoatNormalMap||!!s.displacementMap||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||!!s.sheenColorMap||s.sheenRoughnessMap,uvsVertexOnly:!(s.map||s.bumpMap||s.normalMap||s.specularMap||s.alphaMap||s.emissiveMap||s.roughnessMap||s.metalnessMap||s.clearcoatNormalMap||s.transmission>0||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularColorMap||s.sheen>0||s.sheenColorMap||s.sheenRoughnessMap||!s.displacementMap),fog:!!M,useFog:s.fog,fogExp2:M&&M.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:u,skinning:!0===_.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:d,morphTargets:!!_.geometry&&!!_.geometry.morphAttributes.position,morphNormals:!!_.geometry&&!!_.geometry.morphAttributes.normal,morphTargetsCount:_.geometry&&_.geometry.morphAttributes.position?_.geometry.morphAttributes.position.length:0,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:s.format,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&v.length>0,shadowMapType:t.shadowMap.type,toneMapping:s.toneMapped?t.toneMapping:0,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:2===s.side,flipSided:1===s.side,depthPacking:void 0!==s.depthPacking&&s.depthPacking,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(wt(e.fragmentShader)),n.push(wt(e.vertexShader))),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);if(!1===e.isRawShaderMaterial){for(let t=0;t0?r.push(h):!0===n.transparent?s.push(h):i.push(h)},unshift:function(t,e,n,a,l,c){const h=o(t,e,n,a,l,c);n.transmission>0?r.unshift(h):!0===n.transparent?s.unshift(h):i.unshift(h)},finish:function(){for(let t=n,i=e.length;t1&&i.sort(t||Cs),r.length>1&&r.sort(e||Ps),s.length>1&&s.sort(e||Ps)}}}function Is(t){let e=new WeakMap;return{get:function(n,i){let r;return!1===e.has(n)?(r=new Ds(t),e.set(n,[r])):i>=e.get(n).length?(r=new Ds(t),e.get(n).push(r)):r=e.get(n)[i],r},dispose:function(){e=new WeakMap}}}function Ns(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new Nt,color:new nn};break;case"SpotLight":n={position:new Nt,direction:new Nt,color:new nn,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Nt,color:new nn,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Nt,skyColor:new nn,groundColor:new nn};break;case"RectAreaLight":n={color:new nn,position:new Nt,halfWidth:new Nt,halfHeight:new Nt};}return t[e.id]=n,n}}}let zs=0;function Bs(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Fs(t,e){const n=new Ns,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt,shadowCameraNear:1,shadowCameraFar:1e3};}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)r.probe.push(new Nt);const s=new Nt,a=new ue,o=new ue;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,v=0;s.sort(Bs);const y=!0!==a?Math.PI:1;for(let t=0,e=s.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=pi.LTC_FLOAT_1,r.rectAreaLTC2=pi.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=pi.LTC_HALF_1,r.rectAreaLTC2=pi.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const x=r.hash;x.directionalLength===h&&x.pointLength===u&&x.spotLength===d&&x.rectAreaLength===p&&x.hemiLength===m&&x.numDirectionalShadows===f&&x.numPointShadows===g&&x.numSpotShadows===v||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=v,r.spotShadowMap.length=v,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotShadowMatrix.length=v,x.directionalLength=h,x.pointLength=u,x.spotLength=d,x.rectAreaLength=p,x.hemiLength=m,x.numDirectionalShadows=f,x.numPointShadows=g,x.numSpotShadows=v,r.version=zs++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(i).length?(s=new Os(t,e),n.get(i).push(s)):s=n.get(i)[r],s},dispose:function(){n=new WeakMap}}}class Hs extends Ye{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}Hs.prototype.isMeshDepthMaterial=!0;class Gs extends Ye{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new Nt,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}Gs.prototype.isMeshDistanceMaterial=!0;function ks(t,e,n){let i=new li;const r=new vt,s=new vt,a=new Rt,o=new Hs({depthPacking:3201}),l=new Gs,c={},h=n.maxTextureSize,u={0:1,1:0,2:2},d=new Yn({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new vt},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),m=d.clone();m.defines.HORIZONTAL_PASS=1;const f=new Tn;f.setAttribute("position",new on(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Vn(f,d),y=this;function x(n,i){const r=e.update(v);d.defines.VSM_SAMPLES!==n.blurSamples&&(d.defines.VSM_SAMPLES=n.blurSamples,m.defines.VSM_SAMPLES=n.blurSamples,d.needsUpdate=!0,m.needsUpdate=!0),d.uniforms.shadow_pass.value=n.map.texture,d.uniforms.resolution.value=n.mapSize,d.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,r,d,v,null),m.uniforms.shadow_pass.value=n.mapPass.texture,m.uniforms.resolution.value=n.mapSize,m.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,m,v,null)}function _(e,n,i,r,s,a,h){let d=null;const p=!0===r.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(d=void 0!==p?p:!0===r.isPointLight?l:o,t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length||i.displacementMap&&0!==i.displacementScale||i.alphaMap&&i.alphaTest>0){const t=d.uuid,e=i.uuid;let n=c[t];void 0===n&&(n={},c[t]=n);let r=n[e];void 0===r&&(r=d.clone(),n[e]=r),d=r}return d.visible=i.visible,d.wireframe=i.wireframe,d.side=3===h?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:u[i.side],d.alphaMap=i.alphaMap,d.alphaTest=i.alphaTest,d.clipShadows=i.clipShadows,d.clippingPlanes=i.clippingPlanes,d.clipIntersection=i.clipIntersection,d.displacementMap=i.displacementMap,d.displacementScale=i.displacementScale,d.displacementBias=i.displacementBias,d.wireframeLinewidth=i.wireframeLinewidth,d.linewidth=i.linewidth,!0===r.isPointLight&&!0===d.isMeshDistanceMaterial&&(d.referencePosition.setFromMatrixPosition(r.matrixWorld),d.nearDistance=s,d.farDistance=a),d}function M(n,r,s,a,o){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&3===o)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let l=0,c=e.length;lh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/m.x),r.x=s.x*m.x,u.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/m.y),r.y=s.y*m.y,u.mapSize.y=s.y)),null===u.map&&!u.isPointLightShadow&&3===this.type){const t={minFilter:g,magFilter:g,format:E};u.map=new Ct(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.mapPass=new Ct(r.x,r.y,t),u.camera.updateProjectionMatrix()}if(null===u.map){const t={minFilter:p,magFilter:p,format:E};u.map=new Ct(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const f=u.getViewportCount();for(let t=0;t=1):-1!==L.indexOf("OpenGL ES")&&(A=parseFloat(/^OpenGL ES (\d)/.exec(L)[1]),E=A>=2);let R=null,C={};const P=t.getParameter(3088),D=t.getParameter(2978),I=new Rt().fromArray(P),N=new Rt().fromArray(D);function z(e,n,i){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;ei||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?ft:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===D&&(D=N(s,a));const o=n?N(s,a):D;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function B(t){return pt(t.width)&&pt(t.height)}function F(t,e){return t.generateMipmaps&&e&&t.minFilter!==p&&t.minFilter!==g}function O(e){t.generateMipmap(e)}function U(n,i,r){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let s=i;return 6403===i&&(5126===r&&(s=33326),5131===r&&(s=33325),5121===r&&(s=33321)),6407===i&&(5126===r&&(s=34837),5131===r&&(s=34843),5121===r&&(s=32849)),6408===i&&(5126===r&&(s=34836),5131===r&&(s=34842),5121===r&&(s=32856)),33325!==s&&33326!==s&&34842!==s&&34836!==s||e.get("EXT_color_buffer_float"),s}function H(t){return t===p||t===m||t===f?9728:9729}function G(e){const n=e.target;n.removeEventListener("dispose",G),function(e){const n=i.get(e);if(void 0===n.__webglInit)return;t.deleteTexture(n.__webglTexture),i.remove(e)}(n),n.isVideoTexture&&P.delete(n),a.memory.textures--}function k(e){const n=e.target;n.removeEventListener("dispose",k),function(e){const n=e.texture,r=i.get(e),s=i.get(n);if(!e)return;void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(r.__webglFramebuffer[e]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[e]);else t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer&&t.deleteRenderbuffer(r.__webglColorRenderbuffer),r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer);if(e.isWebGLMultipleRenderTargets)for(let e=0,r=n.length;e0&&r.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void Z(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function j(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?function(e,i,r){if(6!==i.image.length)return;Y(e,i),n.activeTexture(33984+r),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const a=i&&(i.isCompressedTexture||i.image[0].isCompressedTexture),l=i.image[0]&&i.image[0].isDataTexture,h=[];for(let t=0;t<6;t++)h[t]=a||l?l?i.image[t].image:i.image[t]:z(i.image[t],!1,!0,c);const u=B(h[0])||o,d=s.convert(i.format),p=s.convert(i.type),m=U(i.internalFormat,d,p,i.encoding);let f;if(J(34067,i,u),a)for(let t=0;t<6;t++){f=h[t].mipmaps;for(let e=0;e1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function Y(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",G),e.__webglTexture=t.createTexture(),a.memory.textures++)}function Z(e,i,r){let a=3553;i.isDataTexture2DArray&&(a=35866),i.isDataTexture3D&&(a=32879),Y(e,i),n.activeTexture(33984+r),n.bindTexture(a,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const l=function(t){return!o&&(t.wrapS!==u||t.wrapT!==u||t.minFilter!==p&&t.minFilter!==g)}(i)&&!1===B(i.image),c=z(i.image,l,!1,x),h=B(c)||o,d=s.convert(i.format);let m,f=s.convert(i.type),v=U(i.internalFormat,d,f,i.encoding);J(a,i,h);const y=i.mipmaps;if(i.isDepthTexture)v=6402,o?v=i.type===b?36012:i.type===M?33190:i.type===S?35056:33189:i.type===b&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===A&&6402===v&&i.type!==_&&i.type!==M&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=_,f=s.convert(i.type)),i.format===L&&6402===v&&(v=34041,i.type!==S&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=S,f=s.convert(i.type))),n.texImage2D(3553,0,v,c.width,c.height,0,d,f,null);else if(i.isDataTexture){if(y.length>0&&h){for(let t=0,e=y.length;t0?t.mipmaps.length:1}(i,c,h),r=o&&!0!==i.isVideoTexture,s=void 0===e.__version;if(y.length>0&&h){r&&s&&n.texStorage2D(3553,t,v,y[0].width,y[0].height);for(let t=0,e=y.length;t=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),V+=1,t},this.resetTextureUnits=function(){V=0},this.setTexture2D=W,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?Z(r,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?Z(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=j,this.rebindTextures=function(t,e,n){const r=i.get(t);void 0!==e&&Q(r.__webglFramebuffer,t,t.texture,36064,3553),void 0!==n&&$(t)},this.setupRenderTarget=function(e){const l=e.texture,c=i.get(e),h=i.get(l);e.addEventListener("dispose",k),!0!==e.isWebGLMultipleRenderTargets&&(void 0===h.__webglTexture&&(h.__webglTexture=t.createTexture()),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=l.isDataTexture3D||l.isDataTexture2DArray,m=B(e)||o;if(!o||l.format!==T||l.type!==b&&l.type!==w||(l.format=E,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else if(c.__webglFramebuffer=t.createFramebuffer(),d){if(r.drawBuffers){const n=e.texture;for(let e=0,r=n.length;eo+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}}class Zs extends At{constructor(t,e,n,i,r,s,a,o,l,c){if((c=void 0!==c?c:A)!==A&&c!==L)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===A&&(n=_),void 0===n&&c===L&&(n=S),super(null,i,r,s,a,o,c,n,l),this.image={width:t,height:e},this.magFilter=void 0!==a?a:p,this.minFilter=void 0!==o?o:p,this.flipY=!1,this.generateMipmaps=!1}}Zs.prototype.isDepthTexture=!0;class Qs extends rt{constructor(t,e){super();const n=this;let i=null,r=1,s=null,a="local-floor";const o=t.extensions.has("WEBGL_multisampled_render_to_texture");let l=null,c=null,h=null,u=null,d=!1,p=null;const m=e.getContextAttributes();let f=null,g=null;const v=[],y=new Map,M=new Qn;M.layers.enable(1),M.viewport=new Rt;const b=new Qn;b.layers.enable(2),b.viewport=new Rt;const w=[M,b],R=new qs;R.layers.enable(1),R.layers.enable(2);let C=null,P=null;function D(t){const e=y.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function I(){y.forEach(function(t,e){t.disconnect(e)}),y.clear(),C=null,P=null,t.setRenderTarget(f),u=null,h=null,c=null,i=null,g=null,U.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function N(t){const e=i.inputSources;for(let t=0;t0&&(e.alphaTest.value=n.alphaTest);const i=t.get(n).envMap;let r,s;i&&(e.envMap.value=i,e.flipEnvMap.value=i.isCubeTexture&&!1===i.isRenderTargetTexture?-1:1,e.reflectivity.value=n.reflectivity,e.ior.value=n.ior,e.refractionRatio.value=n.refractionRatio),n.lightMap&&(e.lightMap.value=n.lightMap,e.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(e.aoMap.value=n.aoMap,e.aoMapIntensity.value=n.aoMapIntensity),n.map?r=n.map:n.specularMap?r=n.specularMap:n.displacementMap?r=n.displacementMap:n.normalMap?r=n.normalMap:n.bumpMap?r=n.bumpMap:n.roughnessMap?r=n.roughnessMap:n.metalnessMap?r=n.metalnessMap:n.alphaMap?r=n.alphaMap:n.emissiveMap?r=n.emissiveMap:n.clearcoatMap?r=n.clearcoatMap:n.clearcoatNormalMap?r=n.clearcoatNormalMap:n.clearcoatRoughnessMap?r=n.clearcoatRoughnessMap:n.specularIntensityMap?r=n.specularIntensityMap:n.specularColorMap?r=n.specularColorMap:n.transmissionMap?r=n.transmissionMap:n.thicknessMap?r=n.thicknessMap:n.sheenColorMap?r=n.sheenColorMap:n.sheenRoughnessMap&&(r=n.sheenRoughnessMap),void 0!==r&&(r.isWebGLRenderTarget&&(r=r.texture),!0===r.matrixAutoUpdate&&r.updateMatrix(),e.uvTransform.value.copy(r.matrix)),n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),e.uv2Transform.value.copy(s.matrix))}function n(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(e.emissiveMap.value=n.emissiveMap),n.bumpMap&&(e.bumpMap.value=n.bumpMap,e.bumpScale.value=n.bumpScale,1===n.side&&(e.bumpScale.value*=-1)),n.normalMap&&(e.normalMap.value=n.normalMap,e.normalScale.value.copy(n.normalScale),1===n.side&&e.normalScale.value.negate()),n.displacementMap&&(e.displacementMap.value=n.displacementMap,e.displacementScale.value=n.displacementScale,e.displacementBias.value=n.displacementBias);t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,i,r,s,a){i.isMeshBasicMaterial?e(t,i):i.isMeshLambertMaterial?(e(t,i),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(t,i)):i.isMeshToonMaterial?(e(t,i),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap);e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshPhongMaterial?(e(t,i),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshStandardMaterial?(e(t,i),i.isMeshPhysicalMaterial?function(t,e,i){n(t,e),t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&t.clearcoatNormalScale.value.negate()));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap);e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap)}(t,i,a):n(t,i)):i.isMeshMatcapMaterial?(e(t,i),function(t,e){e.matcap&&(t.matcap.value=e.matcap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDepthMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDistanceMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias);t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,i)):i.isMeshNormalMaterial?(e(t,i),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,i),i.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,i)):i.isPointsMaterial?function(t,e,n,i){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*n,t.scale.value=.5*i,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let r;e.map?r=e.map:e.alphaMap&&(r=e.alphaMap);void 0!==r&&(!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix))}(t,i,r,s):i.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let n;e.map?n=e.map:e.alphaMap&&(n=e.alphaMap);void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}(t,i):i.isShadowMaterial?(t.color.value.copy(i.color),t.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function $s(t={}){const e=void 0!==t.canvas?t.canvas:function(){const t=bt("canvas");return t.style.display="block",t}(),n=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,r=void 0===t.depth||t.depth,s=void 0===t.stencil||t.stencil,a=void 0!==t.antialias&&t.antialias,o=void 0===t.premultipliedAlpha||t.premultipliedAlpha,l=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,c=void 0!==t.powerPreference?t.powerPreference:"default",h=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let d=null,m=null;const f=[],g=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=X,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1;const v=this;let _=!1,M=0,S=0,T=null,A=-1,L=null;const R=new Rt,C=new Rt;let P=null,D=e.width,I=e.height,N=1,z=null,B=null;const F=new Rt(0,0,D,I),O=new Rt(0,0,D,I);let U=!1;const H=[],G=new li;let k=!1,V=!1,W=null;const j=new ue,q=new Nt,J={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Y(){return null===T?N:1}let Z,Q,K,$,tt,et,nt,it,rt,st,at,ot,lt,ct,ht,ut,dt,pt,mt,ft,gt,vt,yt,xt=n;function _t(t,n){for(let i=0;i0&&function(t,e,n){if(null===W){const t=!0===a&&!0===Q.isWebGL2;W=new(t?Dt:Ct)(1024,1024,{generateMipmaps:!0,type:null!==vt.convert(w)?w:x,minFilter:y,magFilter:p,wrapS:u,wrapT:u,useRenderToTexture:Z.has("WEBGL_multisampled_render_to_texture")})}const i=v.getRenderTarget();v.setRenderTarget(W),v.clear();const r=v.toneMapping;v.toneMapping=0,Ft(t,e,n),v.toneMapping=r,et.updateMultisampleRenderTarget(W),et.updateRenderTargetMipmap(W),v.setRenderTarget(i)}(r,e,n),i&&K.viewport(R.copy(i)),r.length>0&&Ft(r,e,n),s.length>0&&Ft(s,e,n),o.length>0&&Ft(o,e,n)}function Ft(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r0?g[g.length-1]:null,f.pop(),d=f.length>0?f[f.length-1]:null},this.getActiveCubeFace=function(){return M},this.getActiveMipmapLevel=function(){return S},this.getRenderTarget=function(){return T},this.setRenderTargetTextures=function(t,e,n){tt.get(t.texture).__webglTexture=e,tt.get(t.depthTexture).__webglTexture=n;const i=tt.get(t);i.__hasExternalTextures=!0,i.__hasExternalTextures&&(i.__autoAllocateDepthBuffer=void 0===n,i.__autoAllocateDepthBuffer||t.useRenderToTexture&&(console.warn("render-to-texture extension was disabled because an external texture was provided"),t.useRenderToTexture=!1,t.useRenderbuffer=!0))},this.setRenderTargetFramebuffer=function(t,e){const n=tt.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){T=t,M=e,S=n;let i=!0;if(t){const e=tt.get(t);void 0!==e.__useDefaultFramebuffer?(K.bindFramebuffer(36160,null),i=!1):void 0===e.__webglFramebuffer?et.setupRenderTarget(t):e.__hasExternalTextures&&et.rebindTextures(t,tt.get(t.texture).__webglTexture,tt.get(t.depthTexture).__webglTexture)}let r=null,s=!1,a=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=!0);const i=tt.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=i[e],s=!0):r=t.useRenderbuffer?tt.get(t).__webglMultisampledFramebuffer:i,R.copy(t.viewport),C.copy(t.scissor),P=t.scissorTest}else R.copy(F).multiplyScalar(N).floor(),C.copy(O).multiplyScalar(N).floor(),P=U;if(K.bindFramebuffer(36160,r)&&Q.drawBuffers&&i){let e=!1;if(t){if(t.isWebGLMultipleRenderTargets){const n=t.texture;if(H.length!==n.length||36064!==H[0]){for(let t=0,e=n.length;t=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&xt.readPixels(e,n,i,r,vt.convert(o),vt.convert(l),s):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==T?tt.get(T).__webglFramebuffer:null;K.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);let a=vt.convert(e.format);Q.isWebGL2&&(6407===a&&(a=32849),6408===a&&(a=32856)),et.setTexture2D(e,0),xt.copyTexImage2D(3553,n,a,t.x,t.y,r,s,0),K.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=vt.convert(n.format),o=vt.convert(n.type);et.setTexture2D(n,0),xt.pixelStorei(37440,n.flipY),xt.pixelStorei(37441,n.premultiplyAlpha),xt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?xt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?xt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):xt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&xt.generateMipmap(3553),K.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(v.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=vt.convert(i.format),c=vt.convert(i.type);let h;if(i.isDataTexture3D)et.setTexture3D(i,0),h=32879;else{if(!i.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");et.setTexture2DArray(i,0),h=35866}xt.pixelStorei(37440,i.flipY),xt.pixelStorei(37441,i.premultiplyAlpha),xt.pixelStorei(3317,i.unpackAlignment);const u=xt.getParameter(3314),d=xt.getParameter(32878),p=xt.getParameter(3316),m=xt.getParameter(3315),f=xt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;xt.pixelStorei(3314,g.width),xt.pixelStorei(32878,g.height),xt.pixelStorei(3316,t.min.x),xt.pixelStorei(3315,t.min.y),xt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isDataTexture3D?xt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),xt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):xt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),xt.pixelStorei(3314,u),xt.pixelStorei(32878,d),xt.pixelStorei(3316,p),xt.pixelStorei(3315,m),xt.pixelStorei(32877,f),0===r&&i.generateMipmaps&&xt.generateMipmap(h),K.unbindTexture()},this.initTexture=function(t){et.setTexture2D(t,0),K.unbindTexture()},this.resetState=function(){M=0,S=0,T=null,K.reset(),yt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}$s.prototype.isWebGLRenderer=!0;class ta extends $s{}ta.prototype.isWebGL1Renderer=!0;class ea{constructor(t,e=25e-5){this.name="",this.color=new nn(t),this.density=e}clone(){return new ea(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}ea.prototype.isFogExp2=!0;class na{constructor(t,e=1,n=1e3){this.name="",this.color=new nn(t),this.near=e,this.far=n}clone(){return new na(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}na.prototype.isFog=!0;class ia extends Be{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}ia.prototype.isScene=!0;class ra{constructor(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=et,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=ct()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;it.far||e.push({distance:o,point:ca.clone(),uv:Xe.getUV(ca,fa,ga,va,ya,xa,_a,new vt),face:null,object:this})}copy(t){return super.copy(t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function ba(t,e,n,i,r,s){da.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(pa.x=s*da.x-r*da.y,pa.y=r*da.x+s*da.y):pa.copy(da),t.copy(e),t.x+=pa.x,t.y+=pa.y,t.applyMatrix4(ma)}Ma.prototype.isSprite=!0;const wa=new Nt,Sa=new Nt;class Ta extends Be{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,i;for(n=1,i=e.length;n0){wa.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(wa);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){wa.setFromMatrixPosition(t.matrixWorld),Sa.setFromMatrixPosition(this.matrixWorld);const n=wa.distanceTo(Sa)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i=e[i].distance;i++)e[i-1].object.visible=!1,e[i].object.visible=!0;for(this._currentLevel=i-1;io)continue;u.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(u);dt.far||e.push({distance:d,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(r.count,s.start+s.count)-1;no)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);it.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}Ya.prototype.isLine=!0;const Za=new Nt,Qa=new Nt;class Ka extends Ya{constructor(t,e){super(t,e),this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry){if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function ao(t,e,n,i,r,s,a){const o=no.distanceSqToPoint(t);if(or.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}so.prototype.isPoints=!0;class oo extends At{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.format=void 0!==a?a:T,this.minFilter=void 0!==s?s:g,this.magFilter=void 0!==r?r:g,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback(function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)})}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}oo.prototype.isVideoTexture=!0;class lo extends At{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}lo.prototype.isCompressedTexture=!0;class co extends At{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.needsUpdate=!0}}co.prototype.isCanvasTexture=!0;class ho extends Tn{constructor(t=1,e=8,n=0,i=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},e=Math.max(3,e);const r=[],s=[],a=[],o=[],l=new Nt,c=new vt;s.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=n+r/e*i;l.x=t*Math.cos(u),l.y=t*Math.sin(u),s.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(s[h]/t+1)/2,c.y=(s[h+1]/t+1)/2,o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r),this.setAttribute("position",new gn(s,3)),this.setAttribute("normal",new gn(a,3)),this.setAttribute("uv",new gn(o,2))}static fromJSON(t){return new ho(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class uo extends Tn{constructor(t=1,e=1,n=1,i=8,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=n/2;let g=0;function v(n){const r=p,s=new vt,m=new Nt;let v=0;const y=!0===n?t:e,x=!0===n?1:-1;for(let t=1;t<=i;t++)h.push(0,f*x,0),u.push(0,x,0),d.push(.5,.5),p++;const _=p;for(let t=0;t<=i;t++){const e=t/i*o+a,n=Math.cos(e),r=Math.sin(e);m.x=y*r,m.y=f*x,m.z=y*n,h.push(m.x,m.y,m.z),u.push(0,x,0),s.x=.5*n+.5,s.y=.5*r*x+.5,d.push(s.x,s.y),p++}for(let t=0;t0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new gn(h,3)),this.setAttribute("normal",new gn(u,3)),this.setAttribute("uv",new gn(d,2))}static fromJSON(t){return new uo(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class po extends uo{constructor(t=1,e=1,n=8,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new po(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class mo extends Tn{constructor(t=[],e=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],s=[];function a(t,e,n,i){const r=i+1,s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r),o=e.clone().lerp(n,i/r),l=r-i;for(let t=0;t<=l;t++)s[i][t]=0===t&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(s[t+0]+=1),n<.2&&(s[t+2]+=1),i<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new gn(r,3)),this.setAttribute("normal",new gn(r.slice(),3)),this.setAttribute("uv",new gn(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new mo(t.vertices,t.indices,t.radius,t.details)}}class fo extends mo{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new fo(t.radius,t.detail)}}const go=new Nt,vo=new Nt,yo=new Nt,xo=new Xe;class _o extends Tn{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,i=Math.pow(10,n),r=Math.cos(ot*e),s=t.getIndex(),a=t.getAttribute("position"),o=s?s.count:a.count,l=[0,0,0],c=["a","b","c"],h=new Array(3),u={},d=[];for(let t=0;t0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new vt:new Nt);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new Nt,i=[],r=[],s=[],a=new Nt,o=new ue;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Nt)}r[0]=new Nt,s[0]=new Nt;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(i[e-1],i[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(ht(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(ht(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class bo extends Mo{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new vt,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(To.subVectors(i[0],i[1]).add(i[0]),a=To);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(Co(a,o.x,l.x,c.x,h.x),Co(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const t=i[r]-n,s=this.curves[r],a=s.getLength(),o=0===a?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class Vo extends ko{constructor(t){super(t),this.uuid=ct(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n80*n){o=c=t[0],l=h=t[1];for(let e=n;ec&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?1/p:0}return Xo(s,a,n,o,l,p),a};function jo(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s0)for(s=e;s=e;s-=i)a=dl(s,t[s],t[s+1],a);return a&&al(a,a.next)&&(pl(a),a=a.next),a}function qo(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!al(i,i.next)&&0!==sl(i.prev,i,i.next))i=i.next;else{if(pl(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function Xo(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{null===r.z&&(r.z=el(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Yo(t,i,r,s):Jo(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),pl(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Xo(t=Zo(qo(t),e,n),e,n,i,r,s,2):2===a&&Qo(t,e,n,i,r,s):Xo(qo(t),e,n,i,r,s,1);break}}function Jo(t){const e=t.prev,n=t,i=t.next;if(sl(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(il(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&sl(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function Yo(t,e,n,i){const r=t.prev,s=t,a=t.next;if(sl(r,s,a)>=0)return!1;const o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=el(o,l,e,n,i),d=el(c,h,e,n,i);let p=t.prevZ,m=t.nextZ;for(;p&&p.z>=u&&m&&m.z<=d;){if(p!==t.prev&&p!==t.next&&il(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&sl(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&il(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&sl(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&il(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&sl(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&il(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&sl(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function Zo(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!al(r,s)&&ol(r,i,i.next,s)&&hl(r,s)&&hl(s,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(s.i/n),pl(i),pl(i.next),i=t=s),i=i.next}while(i!==t);return qo(i)}function Qo(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&rl(a,t)){let o=ul(a,t);return a=qo(a,a.next),o=qo(o,o.next),Xo(a,e,n,i,r,s),void Xo(o,e,n,i,r,s)}t=t.next}a=a.next}while(a!==t)}function Ko(t,e){return t.x-e.x}function $o(t,e){if(e=function(t,e){let n=e;const i=t.x,r=t.y;let s,a=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){const t=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=i&&t>a){if(a=t,t===i){if(r===n.y)return n;if(r===n.next.y)return n.next}s=n.x=n.x&&n.x>=l&&i!==n.x&&il(rs.x||n.x===s.x&&tl(s,n)))&&(s=n,u=h)),n=n.next}while(n!==o);return s}(t,e),e){const n=ul(e,t);qo(e,e.next),qo(n,n.next)}}function tl(t,e){return sl(t.prev,t,e.prev)<0&&sl(e.next,t,t.next)<0}function el(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function nl(t){let e=t,n=t;do{(e.x=0&&(t-a)*(i-o)-(n-a)*(e-o)>=0&&(n-a)*(s-o)-(r-a)*(i-o)>=0}function rl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&ol(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(hl(t,e)&&hl(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(sl(t.prev,t,e.prev)||sl(t,e.prev,e))||al(t,e)&&sl(t.prev,t,t.next)>0&&sl(e.prev,e,e.next)>0)}function sl(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function al(t,e){return t.x===e.x&&t.y===e.y}function ol(t,e,n,i){const r=cl(sl(t,e,n)),s=cl(sl(t,e,i)),a=cl(sl(n,i,t)),o=cl(sl(n,i,e));return r!==s&&a!==o||!(0!==r||!ll(t,n,e))||!(0!==s||!ll(t,i,e))||!(0!==a||!ll(n,t,i))||!(0!==o||!ll(n,e,i))}function ll(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function cl(t){return t>0?1:t<0?-1:0}function hl(t,e){return sl(t.prev,t,t.next)<0?sl(t,e,t.next)>=0&&sl(t,t.prev,e)>=0:sl(t,e,t.prev)<0||sl(t,t.next,e)<0}function ul(t,e){const n=new ml(t.i,t.x,t.y),i=new ml(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function dl(t,e,n,i){const r=new ml(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function pl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ml(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class fl{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r2&&t[e-1].equals(t[0])&&t.pop()}function vl(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new vt(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new vt(i/s,r/s)}const P=[];for(let t=0,e=E.length,n=e-1,i=t+1;t=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t0)&&d.push(e,r,l),(t!==n-1||o0!=t>0&&this.version++,this._sheen=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}zl.prototype.isMeshPhysicalMaterial=!0;class Bl extends Ye{constructor(t){super(),this.type="MeshPhongMaterial",this.color=new nn(16777215),this.specular=new nn(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new nn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this}}Bl.prototype.isMeshPhongMaterial=!0;class Fl extends Ye{constructor(t){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new nn(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new nn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}Fl.prototype.isMeshToonMaterial=!0;class Ol extends Ye{constructor(t){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}Ol.prototype.isMeshNormalMaterial=!0;class Ul extends Ye{constructor(t){super(),this.type="MeshLambertMaterial",this.color=new nn(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new nn(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}Ul.prototype.isMeshLambertMaterial=!0;class Hl extends Ye{constructor(t){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new nn(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this}}Hl.prototype.isMeshMatcapMaterial=!0;class Gl extends Va{constructor(t){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}Gl.prototype.isLineDashedMaterial=!0;var kl=Object.freeze({__proto__:null,ShadowMaterial:Il,SpriteMaterial:oa,RawShaderMaterial:bi,ShaderMaterial:Yn,PointsMaterial:to,MeshPhysicalMaterial:zl,MeshStandardMaterial:Nl,MeshPhongMaterial:Bl,MeshToonMaterial:Fl,MeshNormalMaterial:Ol,MeshLambertMaterial:Ul,MeshDepthMaterial:Hs,MeshDistanceMaterial:Gs,MeshBasicMaterial:rn,MeshMatcapMaterial:Hl,LineDashedMaterial:Gl,LineBasicMaterial:Va,Material:Ye});const Vl={arraySlice:function(t,e,n){return Vl.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort(function(e,n){return t[e]-t[n]}),n},sortedArray:function(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r},flattenJSON:function(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)},subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t=i)){l.push(e.times[t]);for(let n=0;ns.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t=i.times[u]){const t=u*l+o,e=t+l-o;d=Vl.arraySlice(i.values,t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=Vl.arraySlice(t.resultBuffer,e,n)}if("quaternion"===r){new It().fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t=r)break t;{const a=e[1];t=r)break e}s=n,n=0}}for(;n>>1;te;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=Vl.arraySlice(n,r,s),this.values=Vl.arraySlice(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==s&&s>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,s),t=!1;break}s=i}if(void 0!==i&&Vl.isTypedArray(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=Vl.arraySlice(this.times),e=Vl.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===G,r=t.length-1;let s=1;for(let a=1;a0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=Vl.arraySlice(t,0,s),this.values=Vl.arraySlice(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=Vl.arraySlice(this.times,0),e=Vl.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}Jl.prototype.TimeBufferType=Float32Array,Jl.prototype.ValueBufferType=Float32Array,Jl.prototype.DefaultInterpolation=H;class Yl extends Jl{}Yl.prototype.ValueTypeName="bool",Yl.prototype.ValueBufferType=Array,Yl.prototype.DefaultInterpolation=U,Yl.prototype.InterpolantFactoryMethodLinear=void 0,Yl.prototype.InterpolantFactoryMethodSmooth=void 0;class Zl extends Jl{}Zl.prototype.ValueTypeName="color";class Ql extends Jl{}Ql.prototype.ValueTypeName="number";class Kl extends Wl{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)It.slerpFlat(r,0,s,l-a,s,l,o);return r}}class $l extends Jl{InterpolantFactoryMethodLinear(t){return new Kl(this.times,this.values,this.getValueSize(),t)}}$l.prototype.ValueTypeName="quaternion",$l.prototype.DefaultInterpolation=H,$l.prototype.InterpolantFactoryMethodSmooth=void 0;class tc extends Jl{}tc.prototype.ValueTypeName="string",tc.prototype.ValueBufferType=Array,tc.prototype.DefaultInterpolation=U,tc.prototype.InterpolantFactoryMethodLinear=void 0,tc.prototype.InterpolantFactoryMethodSmooth=void 0;class ec extends Jl{}ec.prototype.ValueTypeName="vector";class nc{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=ct(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(ic(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(Jl.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let t=0;t1){const t=s[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];Vl.flattenJSON(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t{e&&e(r),this.manager.itemEnd(t)},0),r;if(void 0!==lc[t])return void lc[t].push({onLoad:e,onProgress:n,onError:i});lc[t]=[],lc[t].push({onLoad:e,onProgress:n,onError:i});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"});fetch(s).then(e=>{if(200===e.status||0===e.status){0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received.");const n=lc[t],i=e.body.getReader(),r=e.headers.get("Content-Length"),s=r?parseInt(r):0,a=0!==s;let o=0;return new ReadableStream({start(t){!function e(){i.read().then(({done:i,value:r})=>{if(i)t.close();else{o+=r.byteLength;const i=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=n.length;t{const e=new Response(t);switch(this.responseType){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then(t=>new DOMParser().parseFromString(t,this.mimeType));case"json":return e.json();default:return e.text();}}).then(e=>{rc.add(t,e);const n=lc[t];delete lc[t];for(let t=0,i=n.length;t{const n=lc[t];delete lc[t];for(let t=0,i=n.length;t0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=new nn().setHex(r.value);break;case"v2":i.uniforms[e].value=new vt().fromArray(r.value);break;case"v3":i.uniforms[e].value=new Nt().fromArray(r.value);break;case"v4":i.uniforms[e].value=new Rt().fromArray(r.value);break;case"m3":i.uniforms[e].value=new yt().fromArray(r.value);break;case"m4":i.uniforms[e].value=new ue().fromArray(r.value);break;default:i.uniforms[e].value=r.value;}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(i.flatShading=1===t.shading),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=new vt().fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(i.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(i.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=new vt().fromArray(t.clearcoatNormalScale)),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(i.thicknessMap=n(t.thicknessMap)),void 0!==t.sheenColorMap&&(i.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(i.sheenRoughnessMap=n(t.sheenRoughnessMap)),i}setTextures(t){return this.textures=t,this}}class Nc{static decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let n=0,i=t.length;n0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){It.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;It.multiplyQuaternionsFlat(t,s,t,e,t,n),It.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const lh="\\[\\]\\.:\\/",ch=new RegExp("[\\[\\]\\.:\\/]","g"),hh="[^\\[\\]\\.:\\/]",uh="[^"+lh.replace("\\.","")+"]",dh=/((?:WC+[\/:])*)/.source.replace("WC",hh),ph=/(WCOD+)?/.source.replace("WCOD",uh),mh=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",hh),fh=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",hh),gh=new RegExp("^"+dh+ph+mh+fh+"$"),vh=["material","materials","bones"];class yh{constructor(t,e,n){this.path=e,this.parsedPath=n||yh.parseTrackName(e),this.node=yh.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new yh.Composite(t,e,n):new yh(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(ch,"")}static parseTrackName(t){const e=gh.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==vh.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new yh(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}xh.prototype.isAnimationObjectGroup=!0;class _h{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:k,endingEnd:k};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;if(i<0||0===n)return;this._startTime=null,e=n*i}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===q)for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);else for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1==(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=V,i.endingEnd=V):(i.endingStart=t?this.zeroSlopeAtStart?V:k:W,i.endingEnd=e?this.zeroSlopeAtEnd?V:k:W)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}class Mh extends rt{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(void 0!==h)s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new oh(yh.create(n,l,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){e[a]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return Ah.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}Lh.prototype.isBox2=!0;const Rh=new Nt,Ch=new Nt;class Ph{constructor(t=new Nt,e=new Nt){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Rh.subVectors(t,this.start),Ch.subVectors(this.end,this.start);const n=Ch.dot(Ch);let i=Ch.dot(Rh)/n;return e&&(i=ht(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Dh=new Nt;const Ih=new Nt,Nh=new ue,zh=new ue;class Bh extends Ka{constructor(t){const e=Fh(t),n=new Tn,i=[],r=[],s=new nn(0,0,1),a=new nn(0,1,0);for(let t=0;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Zh.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Zh,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}},t.Audio=eh,t.AudioAnalyser=ah,t.AudioContext=kc,t.AudioListener=class extends Be{constructor(){super(),this.type="AudioListener",this.context=kc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Yc}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Qc,Kc,$c),th.set(0,0,-1).applyQuaternion(Kc),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Qc.x,t),e.positionY.linearRampToValueAtTime(Qc.y,t),e.positionZ.linearRampToValueAtTime(Qc.z,t),e.forwardX.linearRampToValueAtTime(th.x,t),e.forwardY.linearRampToValueAtTime(th.y,t),e.forwardZ.linearRampToValueAtTime(th.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Qc.x,Qc.y,Qc.z),e.setOrientation(th.x,th.y,th.z,n.x,n.y,n.z)}},t.AudioLoader=Vc,t.AxesHelper=$h,t.AxisHelper=function(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new $h(t)},t.BackSide=1,t.BasicDepthPacking=3200,t.BasicShadowMap=0,t.BinaryTextureLoader=function(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new dc(t)},t.Bone=Da,t.BooleanKeyframeTrack=Yl,t.BoundingBoxHelper=function(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Yh(t,e)},t.Box2=Lh,t.Box3=Ft,t.Box3Helper=class extends Ka{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Tn;i.setIndex(new on(n,1)),i.setAttribute("position",new gn([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(i,new Va({color:e,toneMapped:!1})),this.box=t,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}},t.BoxBufferGeometry=jn,t.BoxGeometry=jn,t.BoxHelper=Yh,t.BufferAttribute=on,t.BufferGeometry=Tn,t.BufferGeometryLoader=Bc,t.ByteType=1010,t.Cache=rc,t.Camera=Zn,t.CameraHelper=class extends Ka{constructor(t){const e=new Tn,n=new Va({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],r=[],s={},a=new nn(16755200),o=new nn(16711680),l=new nn(43775),c=new nn(16777215),h=new nn(3355443);function u(t,e,n){d(t,n),d(e,n)}function d(t,e){i.push(0,0,0),r.push(e.r,e.g,e.b),void 0===s[t]&&(s[t]=[]),s[t].push(i.length/3-1)}u("n1","n2",a),u("n2","n4",a),u("n4","n3",a),u("n3","n1",a),u("f1","f2",a),u("f2","f4",a),u("f4","f3",a),u("f3","f1",a),u("n1","f1",a),u("n2","f2",a),u("n3","f3",a),u("n4","f4",a),u("p","n1",o),u("p","n2",o),u("p","n3",o),u("p","n4",o),u("u1","u2",l),u("u2","u3",l),u("u3","u1",l),u("c","t",c),u("p","c",h),u("cn1","cn2",h),u("cn3","cn4",h),u("cf1","cf2",h),u("cf3","cf4",h),e.setAttribute("position",new gn(i,3)),e.setAttribute("color",new gn(r,3)),super(e,n),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update()}update(){const t=this.geometry,e=this.pointMap;qh.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),Xh("c",e,t,qh,0,0,-1),Xh("t",e,t,qh,0,0,1),Xh("n1",e,t,qh,-1,-1,-1),Xh("n2",e,t,qh,1,-1,-1),Xh("n3",e,t,qh,-1,1,-1),Xh("n4",e,t,qh,1,1,-1),Xh("f1",e,t,qh,-1,-1,1),Xh("f2",e,t,qh,1,-1,1),Xh("f3",e,t,qh,-1,1,1),Xh("f4",e,t,qh,1,1,1),Xh("u1",e,t,qh,.7,1.1,-1),Xh("u2",e,t,qh,-.7,1.1,-1),Xh("u3",e,t,qh,0,2,-1),Xh("cf1",e,t,qh,-1,0,1),Xh("cf2",e,t,qh,1,0,1),Xh("cf3",e,t,qh,0,-1,1),Xh("cf4",e,t,qh,0,1,1),Xh("cn1",e,t,qh,-1,0,-1),Xh("cn2",e,t,qh,1,0,-1),Xh("cn3",e,t,qh,0,-1,-1),Xh("cn4",e,t,qh,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been removed")},t.CanvasTexture=co,t.CatmullRomCurve3=Ro,t.CineonToneMapping=3,t.CircleBufferGeometry=ho,t.CircleGeometry=ho,t.ClampToEdgeWrapping=u,t.Clock=Yc,t.Color=nn,t.ColorKeyframeTrack=Zl,t.CompressedTexture=lo,t.CompressedTextureLoader=class extends oc{constructor(t){super(t)}load(t,e,n,i){const r=this,s=[],a=new lo,o=new cc(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials);let l=0;function c(c){o.load(t[c],function(t){const n=r.parse(t,!0);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},l+=1,6===l&&(1===n.mipmapCount&&(a.minFilter=g),a.image=s,a.format=n.format,a.needsUpdate=!0,e&&e(a))},n,i)}if(Array.isArray(t))for(let e=0,n=t.length;e65504&&(console.warn("THREE.DataUtils.toHalfFloat(): value exceeds 65504."),t=65504),tu[0]=t;const e=eu[0];let n=e>>16&32768,i=e>>12&2047;const r=e>>23&255;return r<103?n:r>142?(n|=31744,n|=(255==r?0:1)&&8388607&e,n):r<113?(i|=2048,n|=(i>>114-r)+(i>>113-r&1),n):(n|=r-112<<10|i>>1,n+=1&i,n)}},t.DecrementStencilOp=7683,t.DecrementWrapStencilOp=34056,t.DefaultLoadingManager=ac,t.DepthFormat=A,t.DepthStencilFormat=L,t.DepthTexture=Zs,t.DirectionalLight=Lc,t.DirectionalLightHelper=class extends Be{constructor(t,e,n){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,void 0===e&&(e=1);let i=new Tn;i.setAttribute("position",new gn([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new Va({fog:!1,toneMapped:!1});this.lightPlane=new Ya(i,r),this.add(this.lightPlane),i=new Tn,i.setAttribute("position",new gn([0,0,0,0,0,1],3)),this.targetLine=new Ya(i,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){kh.setFromMatrixPosition(this.light.matrixWorld),Vh.setFromMatrixPosition(this.light.target.matrixWorld),Wh.subVectors(Vh,kh),this.lightPlane.lookAt(Vh),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Vh),this.targetLine.scale.z=Wh.length()}},t.DiscreteInterpolant=Xl,t.DodecahedronBufferGeometry=fo,t.DodecahedronGeometry=fo,t.DoubleSide=2,t.DstAlphaFactor=206,t.DstColorFactor=208,t.DynamicBufferAttribute=function(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new on(t,e).setUsage(nt)},t.DynamicCopyUsage=35050,t.DynamicDrawUsage=nt,t.DynamicReadUsage=35049,t.EdgesGeometry=_o,t.EdgesHelper=function(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Ka(new _o(t.geometry),new Va({color:void 0!==e?e:16777215}))},t.EllipseCurve=bo,t.EqualDepth=4,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=a,t.EquirectangularRefractionMapping=o,t.Euler=Me,t.EventDispatcher=rt,t.ExtrudeBufferGeometry=yl,t.ExtrudeGeometry=yl,t.FaceColors=1,t.FileLoader=cc,t.FlatShading=1,t.Float16BufferAttribute=fn,t.Float32Attribute=function(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new gn(t,e)},t.Float32BufferAttribute=gn,t.Float64Attribute=function(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new vn(t,e)},t.Float64BufferAttribute=vn,t.FloatType=b,t.Fog=na,t.FogExp2=ea,t.Font=function(){console.error("THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js")},t.FontLoader=function(){console.error("THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js")},t.FrontSide=0,t.Frustum=li,t.GLBufferAttribute=Sh,t.GLSL1="100",t.GLSL3=it,t.GammaEncoding=Y,t.GreaterDepth=6,t.GreaterEqualDepth=5,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=Gh,t.Group=Xs,t.HalfFloatType=w,t.HemisphereLight=fc,t.HemisphereLightHelper=class extends Be{constructor(t,e,n){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;const i=new bl(e);i.rotateY(.5*Math.PI),this.material=new rn({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=i.getAttribute("position"),s=new Float32Array(3*r.count);i.setAttribute("color",new on(s,3)),this.add(new Vn(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const t=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=t.geometry.getAttribute("color");Uh.copy(this.light.color),Hh.copy(this.light.groundColor);for(let t=0,n=e.count;t0){const n=new sc(e);r=new hc(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e0){i=new hc(this.manager),i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;eNumber.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.ya.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const r=fl.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return n(s);let a,o,l;const c=[];if(1===s.length)return o=s[0],l=new Vo,l.curves=o.curves,c.push(l),c;let h=!r(s[0].getPoints());h=t?!h:h;const u=[],d=[];let p,m,f=[],g=0;d[g]=void 0,f[g]=[];for(let e=0,n=s.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(f=u))}for(let t=0,e=d.length;t0){for(let i=0;i0){this.normalsNeedUpdate=true}}computeFlatVertexNormals(){this.computeFaceNormals();for(let f=0,fl=this.faces.length;f0){this.normalsNeedUpdate=true}}computeMorphNormals(){for(let f=0,fl=this.faces.length;f=0;i--){const idx=faceIndicesToRemove[i];this.faces.splice(idx,1);for(let j=0,jl=this.faceVertexUvs.length;j0;const hasFaceVertexNormal=face.vertexNormals.length>0;const hasFaceColor=face.color.r!==1||face.color.g!==1||face.color.b!==1;const hasFaceVertexColor=face.vertexColors.length>0;let faceType=0;faceType=setBit(faceType,0,0);faceType=setBit(faceType,1,hasMaterial);faceType=setBit(faceType,2,hasFaceUv);faceType=setBit(faceType,3,hasFaceVertexUv);faceType=setBit(faceType,4,hasFaceNormal);faceType=setBit(faceType,5,hasFaceVertexNormal);faceType=setBit(faceType,6,hasFaceColor);faceType=setBit(faceType,7,hasFaceVertexColor);faces.push(faceType);faces.push(face.a,face.b,face.c);faces.push(face.materialIndex);if(hasFaceVertexUv){const faceVertexUvs=this.faceVertexUvs[0][i];faces.push(getUvIndex(faceVertexUvs[0]),getUvIndex(faceVertexUvs[1]),getUvIndex(faceVertexUvs[2]))}if(hasFaceNormal){faces.push(getNormalIndex(face.normal))}if(hasFaceVertexNormal){const vertexNormals=face.vertexNormals;faces.push(getNormalIndex(vertexNormals[0]),getNormalIndex(vertexNormals[1]),getNormalIndex(vertexNormals[2]))}if(hasFaceColor){faces.push(getColorIndex(face.color))}if(hasFaceVertexColor){const vertexColors=face.vertexColors;faces.push(getColorIndex(vertexColors[0]),getColorIndex(vertexColors[1]),getColorIndex(vertexColors[2]))}}function setBit(value,position,enabled){return enabled?value|1<0)data.data.colors=colors;if(uvs.length>0)data.data.uvs=[uvs];data.data.faces=faces;return data}clone(){return new Geometry().copy(this)}copy(source){this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingBox=null;this.boundingSphere=null;this.name=source.name;const vertices=source.vertices;for(let i=0,il=vertices.length;i0){const normals=new Float32Array(geometry.normals.length*3);buffergeometry.setAttribute("normal",new BufferAttribute(normals,3).copyVector3sArray(geometry.normals))}if(geometry.colors.length>0){const colors=new Float32Array(geometry.colors.length*3);buffergeometry.setAttribute("color",new BufferAttribute(colors,3).copyColorsArray(geometry.colors))}if(geometry.uvs.length>0){const uvs=new Float32Array(geometry.uvs.length*2);buffergeometry.setAttribute("uv",new BufferAttribute(uvs,2).copyVector2sArray(geometry.uvs))}if(geometry.uvs2.length>0){const uvs2=new Float32Array(geometry.uvs2.length*2);buffergeometry.setAttribute("uv2",new BufferAttribute(uvs2,2).copyVector2sArray(geometry.uvs2))}buffergeometry.groups=geometry.groups;for(const name in geometry.morphTargets){const array=[];const morphTargets=geometry.morphTargets[name];for(let i=0,l=morphTargets.length;i0){const skinIndices=new Float32BufferAttribute(geometry.skinIndices.length*4,4);buffergeometry.setAttribute("skinIndex",skinIndices.copyVector4sArray(geometry.skinIndices))}if(geometry.skinWeights.length>0){const skinWeights=new Float32BufferAttribute(geometry.skinWeights.length*4,4);buffergeometry.setAttribute("skinWeight",skinWeights.copyVector4sArray(geometry.skinWeights))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}return buffergeometry}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(matrix){console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4().");return this.applyMatrix4(matrix)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(object){let buffergeometry=new BufferGeometry;const geometry=object.geometry;if(object.isPoints||object.isLine){const positions=new Float32BufferAttribute(geometry.vertices.length*3,3);const colors=new Float32BufferAttribute(geometry.colors.length*3,3);buffergeometry.setAttribute("position",positions.copyVector3sArray(geometry.vertices));buffergeometry.setAttribute("color",colors.copyColorsArray(geometry.colors));if(geometry.lineDistances&&geometry.lineDistances.length===geometry.vertices.length){const lineDistances=new Float32BufferAttribute(geometry.lineDistances.length,1);buffergeometry.setAttribute("lineDistance",lineDistances.copyArray(geometry.lineDistances))}if(geometry.boundingSphere!==null){buffergeometry.boundingSphere=geometry.boundingSphere.clone()}if(geometry.boundingBox!==null){buffergeometry.boundingBox=geometry.boundingBox.clone()}}else if(object.isMesh){buffergeometry=geometry.toBufferGeometry()}return buffergeometry}}Geometry.prototype.isGeometry=true;class DirectGeometry{constructor(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingBox=null;this.boundingSphere=null;this.verticesNeedUpdate=false;this.normalsNeedUpdate=false;this.colorsNeedUpdate=false;this.uvsNeedUpdate=false;this.groupsNeedUpdate=false}computeGroups(geometry){const groups=[];let group,i;let materialIndex=undefined;const faces=geometry.faces;for(i=0;i0;const hasFaceVertexUv2=faceVertexUvs[1]&&faceVertexUvs[1].length>0;const morphTargets=geometry.morphTargets;const morphTargetsLength=morphTargets.length;let morphTargetsPosition;if(morphTargetsLength>0){morphTargetsPosition=[];for(let i=0;i0){morphTargetsNormal=[];for(let i=0;i0&&faces.length===0){console.error("THREE.DirectGeometry: Faceless geometries are not supported.")}for(let i=0;i=2.0 are supported."));return}const parser=new GLTFParser(json,{path:path||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});parser.fileLoader.setRequestHeader(this.requestHeader);for(let i=0;i=0&&plugins[extensionName]===undefined){console.warn("THREE.GLTFLoader: Unknown extension \""+extensionName+"\".")}}}}parser.setExtensions(extensions);parser.setPlugins(plugins);parser.parse(onLoad,onError)}}function GLTFRegistry(){let objects={};return{get:function(key){return objects[key]},add:function(key,object){objects[key]=object},remove:function(key){delete objects[key]},removeAll:function(){objects={}}}}const EXTENSIONS={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:"KHR_materials_pbrSpecularGlossiness",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression"};class GLTFLightsExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.KHR_LIGHTS_PUNCTUAL;this.cache={refs:{},uses:{}}}_markDefs(){const parser=this.parser;const nodeDefs=this.parser.json.nodes||[];for(let nodeIndex=0,nodeLength=nodeDefs.length;nodeIndex=0){throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures")}else{return null}}return parser.loadTextureImage(textureIndex,source,loader)}}class GLTFTextureWebPExtension{constructor(parser){this.parser=parser;this.name=EXTENSIONS.EXT_TEXTURE_WEBP;this.isSupported=null}loadTexture(textureIndex){const name=this.name;const parser=this.parser;const json=parser.json;const textureDef=json.textures[textureIndex];if(!textureDef.extensions||!textureDef.extensions[name]){return null}const extension=textureDef.extensions[name];const source=json.images[extension.source];let loader=parser.textureLoader;if(source.uri){const handler=parser.options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.detectSupport().then(function(isSupported){if(isSupported)return parser.loadTextureImage(textureIndex,source,loader);if(json.extensionsRequired&&json.extensionsRequired.indexOf(name)>=0){throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.")}return parser.loadTexture(textureIndex)})}detectSupport(){if(!this.isSupported){this.isSupported=new Promise(function(resolve){const image=new Image;image.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA";image.onload=image.onerror=function(){resolve(image.height===1)}})}return this.isSupported}}class GLTFMeshoptCompression{constructor(parser){this.name=EXTENSIONS.EXT_MESHOPT_COMPRESSION;this.parser=parser}loadBufferView(index){const json=this.parser.json;const bufferView=json.bufferViews[index];if(bufferView.extensions&&bufferView.extensions[this.name]){const extensionDef=bufferView.extensions[this.name];const buffer=this.parser.getDependency("buffer",extensionDef.buffer);const decoder=this.parser.options.meshoptDecoder;if(!decoder||!decoder.supported){if(json.extensionsRequired&&json.extensionsRequired.indexOf(this.name)>=0){throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files")}else{return null}}return Promise.all([buffer,decoder.ready]).then(function(res){const byteOffset=extensionDef.byteOffset||0;const byteLength=extensionDef.byteLength||0;const count=extensionDef.count;const stride=extensionDef.byteStride;const result=new ArrayBuffer(count*stride);const source=new Uint8Array(res[0],byteOffset,byteLength);decoder.decodeGltfBuffer(new Uint8Array(result),count,stride,source,extensionDef.mode,extensionDef.filter);return result})}else{return null}}}const BINARY_EXTENSION_HEADER_MAGIC="glTF";const BINARY_EXTENSION_HEADER_LENGTH=12;const BINARY_EXTENSION_CHUNK_TYPES={JSON:1313821514,BIN:5130562};class GLTFBinaryExtension{constructor(data){this.name=EXTENSIONS.KHR_BINARY_GLTF;this.content=null;this.body=null;const headerView=new DataView(data,0,BINARY_EXTENSION_HEADER_LENGTH);this.header={magic:LoaderUtils.decodeText(new Uint8Array(data.slice(0,4))),version:headerView.getUint32(4,true),length:headerView.getUint32(8,true)};if(this.header.magic!==BINARY_EXTENSION_HEADER_MAGIC){throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.")}else if(this.header.version<2){throw new Error("THREE.GLTFLoader: Legacy binary file detected.")}const chunkContentsLength=this.header.length-BINARY_EXTENSION_HEADER_LENGTH;const chunkView=new DataView(data,BINARY_EXTENSION_HEADER_LENGTH);let chunkIndex=0;while(chunkIndex",specularMapParsFragmentChunk).replace("#include ",glossinessMapParsFragmentChunk).replace("#include ",specularMapFragmentChunk).replace("#include ",glossinessMapFragmentChunk).replace("#include ",lightPhysicalFragmentChunk)};Object.defineProperties(this,{specular:{get:function(){return uniforms.specular.value},set:function(v){uniforms.specular.value=v}},specularMap:{get:function(){return uniforms.specularMap.value},set:function(v){uniforms.specularMap.value=v;if(v){this.defines.USE_SPECULARMAP=""}else{delete this.defines.USE_SPECULARMAP}}},glossiness:{get:function(){return uniforms.glossiness.value},set:function(v){uniforms.glossiness.value=v}},glossinessMap:{get:function(){return uniforms.glossinessMap.value},set:function(v){uniforms.glossinessMap.value=v;if(v){this.defines.USE_GLOSSINESSMAP="";this.defines.USE_UV=""}else{delete this.defines.USE_GLOSSINESSMAP;delete this.defines.USE_UV}}}});delete this.metalness;delete this.roughness;delete this.metalnessMap;delete this.roughnessMap;this.setValues(params)}copy(source){super.copy(source);this.specularMap=source.specularMap;this.specular.copy(source.specular);this.glossinessMap=source.glossinessMap;this.glossiness=source.glossiness;delete this.metalness;delete this.roughness;delete this.metalnessMap;delete this.roughnessMap;return this}}class GLTFMaterialsPbrSpecularGlossinessExtension{constructor(){this.name=EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS;this.specularGlossinessParams=["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity","refractionRatio"]}getMaterialType(){return GLTFMeshStandardSGMaterial}extendParams(materialParams,materialDef,parser){const pbrSpecularGlossiness=materialDef.extensions[this.name];materialParams.color=new Color(1,1,1);materialParams.opacity=1;const pending=[];if(Array.isArray(pbrSpecularGlossiness.diffuseFactor)){const array=pbrSpecularGlossiness.diffuseFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(pbrSpecularGlossiness.diffuseTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",pbrSpecularGlossiness.diffuseTexture))}materialParams.emissive=new Color(0,0,0);materialParams.glossiness=pbrSpecularGlossiness.glossinessFactor!==undefined?pbrSpecularGlossiness.glossinessFactor:1;materialParams.specular=new Color(1,1,1);if(Array.isArray(pbrSpecularGlossiness.specularFactor)){materialParams.specular.fromArray(pbrSpecularGlossiness.specularFactor)}if(pbrSpecularGlossiness.specularGlossinessTexture!==undefined){const specGlossMapDef=pbrSpecularGlossiness.specularGlossinessTexture;pending.push(parser.assignTexture(materialParams,"glossinessMap",specGlossMapDef));pending.push(parser.assignTexture(materialParams,"specularMap",specGlossMapDef))}return Promise.all(pending)}createMaterial(materialParams){const material=new GLTFMeshStandardSGMaterial(materialParams);material.fog=true;material.color=materialParams.color;material.map=materialParams.map===undefined?null:materialParams.map;material.lightMap=null;material.lightMapIntensity=1;material.aoMap=materialParams.aoMap===undefined?null:materialParams.aoMap;material.aoMapIntensity=1;material.emissive=materialParams.emissive;material.emissiveIntensity=1;material.emissiveMap=materialParams.emissiveMap===undefined?null:materialParams.emissiveMap;material.bumpMap=materialParams.bumpMap===undefined?null:materialParams.bumpMap;material.bumpScale=1;material.normalMap=materialParams.normalMap===undefined?null:materialParams.normalMap;material.normalMapType=TangentSpaceNormalMap;if(materialParams.normalScale)material.normalScale=materialParams.normalScale;material.displacementMap=null;material.displacementScale=1;material.displacementBias=0;material.specularMap=materialParams.specularMap===undefined?null:materialParams.specularMap;material.specular=materialParams.specular;material.glossinessMap=materialParams.glossinessMap===undefined?null:materialParams.glossinessMap;material.glossiness=materialParams.glossiness;material.alphaMap=null;material.envMap=materialParams.envMap===undefined?null:materialParams.envMap;material.envMapIntensity=1;material.refractionRatio=0.98;return material}}class GLTFMeshQuantizationExtension{constructor(){this.name=EXTENSIONS.KHR_MESH_QUANTIZATION}}class GLTFCubicSplineInterpolant extends Interpolant{constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer)}copySampleValue_(index){const result=this.resultBuffer,values=this.sampleValues,valueSize=this.valueSize,offset=index*valueSize*3+valueSize;for(let i=0;i!==valueSize;i++){result[i]=values[offset+i]}return result}}GLTFCubicSplineInterpolant.prototype.beforeStart_=GLTFCubicSplineInterpolant.prototype.copySampleValue_;GLTFCubicSplineInterpolant.prototype.afterEnd_=GLTFCubicSplineInterpolant.prototype.copySampleValue_;GLTFCubicSplineInterpolant.prototype.interpolate_=function(i1,t0,t,t1){const result=this.resultBuffer;const values=this.sampleValues;const stride=this.valueSize;const stride2=stride*2;const stride3=stride*3;const td=t1-t0;const p=(t-t0)/td;const pp=p*p;const ppp=pp*p;const offset1=i1*stride3;const offset0=offset1-stride3;const s2=-2*ppp+3*pp;const s3=ppp-pp;const s0=1-s2;const s1=s3-pp+p;for(let i=0;i!==stride;i++){const p0=values[offset0+i+stride];const m0=values[offset0+i+stride2]*td;const p1=values[offset1+i+stride];const m1=values[offset1+i]*td;result[i]=s0*p0+s1*m0+s2*p1+s3*m1}return result};const _q=new Quaternion;class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant{interpolate_(i1,t0,t,t1){const result=super.interpolate_(i1,t0,t,t1);_q.fromArray(result).normalize().toArray(result);return result}}const WEBGL_CONSTANTS={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123};const WEBGL_COMPONENT_TYPES={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};const WEBGL_FILTERS={9728:NearestFilter,9729:LinearFilter,9984:NearestMipmapNearestFilter,9985:LinearMipmapNearestFilter,9986:NearestMipmapLinearFilter,9987:LinearMipmapLinearFilter};const WEBGL_WRAPPINGS={33071:ClampToEdgeWrapping,33648:MirroredRepeatWrapping,10497:RepeatWrapping};const WEBGL_TYPE_SIZES={"SCALAR":1,"VEC2":2,"VEC3":3,"VEC4":4,"MAT2":4,"MAT3":9,"MAT4":16};const ATTRIBUTES={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"};const PATH_PROPERTIES={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"};const INTERPOLATION={CUBICSPLINE:undefined,LINEAR:InterpolateLinear,STEP:InterpolateDiscrete};const ALPHA_MODES={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function createDefaultMaterial(cache){if(cache["DefaultMaterial"]===undefined){cache["DefaultMaterial"]=new MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:false,depthTest:true,side:FrontSide})}return cache["DefaultMaterial"]}function addUnknownExtensionsToUserData(knownExtensions,object,objectDef){for(const name in objectDef.extensions){if(knownExtensions[name]===undefined){object.userData.gltfExtensions=object.userData.gltfExtensions||{};object.userData.gltfExtensions[name]=objectDef.extensions[name]}}}function assignExtrasToUserData(object,gltfDef){if(gltfDef.extras!==undefined){if(typeof gltfDef.extras==="object"){Object.assign(object.userData,gltfDef.extras)}else{console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+gltfDef.extras)}}}function addMorphTargets(geometry,targets,parser){let hasMorphPosition=false;let hasMorphNormal=false;for(let i=0,il=targets.length;i{const mappings=this.associations.get(original);if(mappings!=null){this.associations.set(clone,mappings)}for(const[i,child]of original.children.entries()){updateMappings(child,clone.children[i])}};updateMappings(object,ref);ref.name+="_instance_"+cache.uses[index]++;return ref}_invokeOne(func){const extensions=Object.values(this.plugins);extensions.push(this);for(let i=0;i=2)bufferAttribute.setY(index,sparseValues[i*itemSize+1]);if(itemSize>=3)bufferAttribute.setZ(index,sparseValues[i*itemSize+2]);if(itemSize>=4)bufferAttribute.setW(index,sparseValues[i*itemSize+3]);if(itemSize>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return bufferAttribute})}loadTexture(textureIndex){const json=this.json;const options=this.options;const textureDef=json.textures[textureIndex];const source=json.images[textureDef.source];let loader=this.textureLoader;if(source.uri){const handler=options.manager.getHandler(source.uri);if(handler!==null)loader=handler}return this.loadTextureImage(textureIndex,source,loader)}loadTextureImage(textureIndex,source,loader){const parser=this;const json=this.json;const options=this.options;const textureDef=json.textures[textureIndex];const cacheKey=(source.uri||source.bufferView)+":"+textureDef.sampler;if(this.textureCache[cacheKey]){return this.textureCache[cacheKey]}const URL=self.URL||self.webkitURL;let sourceURI=source.uri||"";let isObjectURL=false;if(source.bufferView!==undefined){sourceURI=parser.getDependency("bufferView",source.bufferView).then(function(bufferView){isObjectURL=true;const blob=new Blob([bufferView],{type:source.mimeType});sourceURI=URL.createObjectURL(blob);return sourceURI})}else if(source.uri===undefined){throw new Error("THREE.GLTFLoader: Image "+textureIndex+" is missing URI and bufferView")}const promise=Promise.resolve(sourceURI).then(function(sourceURI){return new Promise(function(resolve,reject){let onLoad=resolve;if(loader.isImageBitmapLoader===true){onLoad=function(imageBitmap){const texture=new Texture(imageBitmap);texture.needsUpdate=true;resolve(texture)}}loader.load(LoaderUtils.resolveURL(sourceURI,options.path),onLoad,undefined,reject)})}).then(function(texture){if(isObjectURL===true){URL.revokeObjectURL(sourceURI)}texture.flipY=false;if(textureDef.name)texture.name=textureDef.name;const samplers=json.samplers||{};const sampler=samplers[textureDef.sampler]||{};texture.magFilter=WEBGL_FILTERS[sampler.magFilter]||LinearFilter;texture.minFilter=WEBGL_FILTERS[sampler.minFilter]||LinearMipmapLinearFilter;texture.wrapS=WEBGL_WRAPPINGS[sampler.wrapS]||RepeatWrapping;texture.wrapT=WEBGL_WRAPPINGS[sampler.wrapT]||RepeatWrapping;parser.associations.set(texture,{textures:textureIndex});return texture}).catch(function(e){console.error("THREE.GLTFLoader: Couldn't load texture",sourceURI,e);return null});this.textureCache[cacheKey]=promise;return promise}assignTexture(materialParams,mapName,mapDef){const parser=this;return this.getDependency("texture",mapDef.index).then(function(texture){if(mapDef.texCoord!==undefined&&mapDef.texCoord!=0&&!(mapName==="aoMap"&&mapDef.texCoord==1)){console.warn("THREE.GLTFLoader: Custom UV set "+mapDef.texCoord+" for texture "+mapName+" not yet supported.")}if(parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]){const transform=mapDef.extensions!==undefined?mapDef.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM]:undefined;if(transform){const gltfReference=parser.associations.get(texture);texture=parser.extensions[EXTENSIONS.KHR_TEXTURE_TRANSFORM].extendTexture(texture,transform);parser.associations.set(texture,gltfReference)}}materialParams[mapName]=texture;return texture})}assignFinalMaterial(mesh){const geometry=mesh.geometry;let material=mesh.material;const useDerivativeTangents=geometry.attributes.tangent===undefined;const useVertexColors=geometry.attributes.color!==undefined;const useFlatShading=geometry.attributes.normal===undefined;if(mesh.isPoints){const cacheKey="PointsMaterial:"+material.uuid;let pointsMaterial=this.cache.get(cacheKey);if(!pointsMaterial){pointsMaterial=new PointsMaterial;Material.prototype.copy.call(pointsMaterial,material);pointsMaterial.color.copy(material.color);pointsMaterial.map=material.map;pointsMaterial.sizeAttenuation=false;this.cache.add(cacheKey,pointsMaterial)}material=pointsMaterial}else if(mesh.isLine){const cacheKey="LineBasicMaterial:"+material.uuid;let lineMaterial=this.cache.get(cacheKey);if(!lineMaterial){lineMaterial=new LineBasicMaterial;Material.prototype.copy.call(lineMaterial,material);lineMaterial.color.copy(material.color);this.cache.add(cacheKey,lineMaterial)}material=lineMaterial}if(useDerivativeTangents||useVertexColors||useFlatShading){let cacheKey="ClonedMaterial:"+material.uuid+":";if(material.isGLTFSpecularGlossinessMaterial)cacheKey+="specular-glossiness:";if(useDerivativeTangents)cacheKey+="derivative-tangents:";if(useVertexColors)cacheKey+="vertex-colors:";if(useFlatShading)cacheKey+="flat-shading:";let cachedMaterial=this.cache.get(cacheKey);if(!cachedMaterial){cachedMaterial=material.clone();if(useVertexColors)cachedMaterial.vertexColors=true;if(useFlatShading)cachedMaterial.flatShading=true;if(useDerivativeTangents){if(cachedMaterial.normalScale)cachedMaterial.normalScale.y*=-1;if(cachedMaterial.clearcoatNormalScale)cachedMaterial.clearcoatNormalScale.y*=-1}this.cache.add(cacheKey,cachedMaterial);this.associations.set(cachedMaterial,this.associations.get(material))}material=cachedMaterial}if(material.aoMap&&geometry.attributes.uv2===undefined&&geometry.attributes.uv!==undefined){geometry.setAttribute("uv2",geometry.attributes.uv)}mesh.material=material}getMaterialType(){return MeshStandardMaterial}loadMaterial(materialIndex){const parser=this;const json=this.json;const extensions=this.extensions;const materialDef=json.materials[materialIndex];let materialType;const materialParams={};const materialExtensions=materialDef.extensions||{};const pending=[];if(materialExtensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){const sgExtension=extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];materialType=sgExtension.getMaterialType();pending.push(sgExtension.extendParams(materialParams,materialDef,parser))}else if(materialExtensions[EXTENSIONS.KHR_MATERIALS_UNLIT]){const kmuExtension=extensions[EXTENSIONS.KHR_MATERIALS_UNLIT];materialType=kmuExtension.getMaterialType();pending.push(kmuExtension.extendParams(materialParams,materialDef,parser))}else{const metallicRoughness=materialDef.pbrMetallicRoughness||{};materialParams.color=new Color(1,1,1);materialParams.opacity=1;if(Array.isArray(metallicRoughness.baseColorFactor)){const array=metallicRoughness.baseColorFactor;materialParams.color.fromArray(array);materialParams.opacity=array[3]}if(metallicRoughness.baseColorTexture!==undefined){pending.push(parser.assignTexture(materialParams,"map",metallicRoughness.baseColorTexture))}materialParams.metalness=metallicRoughness.metallicFactor!==undefined?metallicRoughness.metallicFactor:1;materialParams.roughness=metallicRoughness.roughnessFactor!==undefined?metallicRoughness.roughnessFactor:1;if(metallicRoughness.metallicRoughnessTexture!==undefined){pending.push(parser.assignTexture(materialParams,"metalnessMap",metallicRoughness.metallicRoughnessTexture));pending.push(parser.assignTexture(materialParams,"roughnessMap",metallicRoughness.metallicRoughnessTexture))}materialType=this._invokeOne(function(ext){return ext.getMaterialType&&ext.getMaterialType(materialIndex)});pending.push(Promise.all(this._invokeAll(function(ext){return ext.extendMaterialParams&&ext.extendMaterialParams(materialIndex,materialParams)})))}if(materialDef.doubleSided===true){materialParams.side=DoubleSide}const alphaMode=materialDef.alphaMode||ALPHA_MODES.OPAQUE;if(alphaMode===ALPHA_MODES.BLEND){materialParams.transparent=true;materialParams.depthWrite=false}else{materialParams.format=RGBFormat;materialParams.transparent=false;if(alphaMode===ALPHA_MODES.MASK){materialParams.alphaTest=materialDef.alphaCutoff!==undefined?materialDef.alphaCutoff:0.5}}if(materialDef.normalTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"normalMap",materialDef.normalTexture));materialParams.normalScale=new Vector2(1,1);if(materialDef.normalTexture.scale!==undefined){const scale=materialDef.normalTexture.scale;materialParams.normalScale.set(scale,scale)}}if(materialDef.occlusionTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"aoMap",materialDef.occlusionTexture));if(materialDef.occlusionTexture.strength!==undefined){materialParams.aoMapIntensity=materialDef.occlusionTexture.strength}}if(materialDef.emissiveFactor!==undefined&&materialType!==MeshBasicMaterial){materialParams.emissive=new Color().fromArray(materialDef.emissiveFactor)}if(materialDef.emissiveTexture!==undefined&&materialType!==MeshBasicMaterial){pending.push(parser.assignTexture(materialParams,"emissiveMap",materialDef.emissiveTexture))}return Promise.all(pending).then(function(){let material;if(materialType===GLTFMeshStandardSGMaterial){material=extensions[EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(materialParams)}else{material=new materialType(materialParams)}if(materialDef.name)material.name=materialDef.name;if(material.map)material.map.encoding=sRGBEncoding;if(material.emissiveMap)material.emissiveMap.encoding=sRGBEncoding;assignExtrasToUserData(material,materialDef);parser.associations.set(material,{materials:materialIndex});if(materialDef.extensions)addUnknownExtensionsToUserData(extensions,material,materialDef);return material})}createUniqueName(originalName){const sanitizedName=PropertyBinding.sanitizeNodeName(originalName||"");let name=sanitizedName;for(let i=1;this.nodeNamesUsed[name];++i){name=sanitizedName+"_"+i}this.nodeNamesUsed[name]=true;return name}loadGeometries(primitives){const parser=this;const extensions=this.extensions;const cache=this.primitiveCache;function createDracoPrimitive(primitive){return extensions[EXTENSIONS.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(primitive,parser).then(function(geometry){return addPrimitiveAttributes(geometry,primitive,parser)})}const pending=[];for(let i=0,il=primitives.length;i0){updateMorphTargets(mesh,meshDef)}mesh.name=parser.createUniqueName(meshDef.name||"mesh_"+meshIndex);assignExtrasToUserData(mesh,meshDef);if(primitive.extensions)addUnknownExtensionsToUserData(extensions,mesh,primitive);parser.assignFinalMaterial(mesh);meshes.push(mesh)}for(let i=0,il=meshes.length;i1){node=new Group}else if(objects.length===1){node=objects[0]}else{node=new Object3D}if(node!==objects[0]){for(let i=0,il=objects.length;i{const reducedAssociations=new Map;for(const[key,value]of parser.associations){if(key instanceof Material||key instanceof Texture){reducedAssociations.set(key,value)}}node.traverse(node=>{const mappings=parser.associations.get(node);if(mappings!=null){reducedAssociations.set(node,mappings)}});return reducedAssociations};parser.associations=reduceAssociations(scene);return scene})}}function buildNodeHierarchy(nodeId,parentObject,json,parser){const nodeDef=json.nodes[nodeId];return parser.getDependency("node",nodeId).then(function(node){if(nodeDef.skin===undefined)return node;let skinEntry;return parser.getDependency("skin",nodeDef.skin).then(function(skin){skinEntry=skin;const pendingJoints=[];for(let i=0,il=skinEntry.joints.length;i1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)deviceMin}}CSS3DObject.prototype.isCSS3DObject=true;THREE.CSS3DObject=CSS3DObject;class CSS3DQuad extends Object3D{constructor(element){super();this.contentWidth=100;this.contentHeight=100;this.vertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.projectedVertices=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.containerElement=document.createElement("div");this.containerElement.style.position="absolute";this.containerElement.style.pointerEvents="none";this.containerElement.style.overflow="hidden";this.element=element||document.createElement("div");this.containerElement.appendChild(this.element);this.element.style.position="absolute";this.element.style.pointerEvents="none"}copy(source,recursive){super.copy(source,recursive);for(var i=0;i<4;i++)this.vertices[i].copy(source.vertices[i]);return this}projectVertices(camera){if(this.matrixWorldNeedsUpdate)this.updateMatrixWorld();projectVertices(this,camera);var pv=this.projectedVertices;this.isDrawable=pv[0].z<0&&pv[1].z<0&&pv[2].z<0&&pv[3].z<0;var x=0,y=0;var max=0,min=0;pv.forEach(function(p){if(p.x<-1)x-=1;else if(p.x>1)x+=1;if(p.y<-1)y-=1;else if(p.y>1)y+=1;max=Math.max(p.x*camera.aspect,p.y,max);min=Math.min(p.x*camera.aspect,p.y,min)});this.isVisible=this.isDrawable&&Math.abs(x)deviceMin}}CSS3DQuad.prototype.isCSS3DQuad=true;THREE.CSS3DQuad=CSS3DQuad;class CSS3DRectangle extends CSS3DQuad{constructor(element){super(element)}updateVertices(){this.vertices[0].set(-this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[1].set(+this.contentWidth*0.5,+this.contentHeight*0.5,0);this.vertices[2].set(+this.contentWidth*0.5,-this.contentHeight*0.5,0);this.vertices[3].set(-this.contentWidth*0.5,-this.contentHeight*0.5,0)}}CSS3DRectangle.prototype.isCSS3DRectangle=true;THREE.CSS3DRectangle=CSS3DRectangle;var _matrix=new THREE.Matrix4;class CSS3DRenderer{constructor(){var _this=this;var _width,_height;var _widthHalf,_heightHalf;var _fov;var _cameraStyle;var cache={objects:new WeakMap};var domElement=document.createElement("div");domElement.style.overflow="hidden";this.domElement=domElement;this.getSize=function(){return{width:_width,height:_height}};this.render=function(scene,camera){_fov=camera.projectionMatrix.elements[5]*_heightHalf;if(scene.autoUpdate===true)scene.updateMatrixWorld();_cameraStyle="translateZ("+_fov+"px)"+getCameraCSSMatrix(camera.matrixWorldInverse)+"translate("+_widthHalf+"px,"+_heightHalf+"px)";renderObject(scene,scene,camera)};this.setSize=function(width,height){_width=width;_height=height;_widthHalf=_width/2;_heightHalf=_height/2;domElement.style.width=_width+"px";domElement.style.height=_height+"px"};function renderObject(object,scene,camera){if(object.isCSS3DObject||object.isCSS3DQuad){object.onBeforeRender(_this,scene,camera);var cachedObject=cache.objects.get(object)||{};var cacheChanged=false;if(object.isVisible){if(object.isCSS3DQuad){var pv=object.projectedVertices;var x0=(1+pv[0].x)*0.5*_width,y0=(1-pv[0].y)*0.5*_height,x1=(1+pv[1].x)*0.5*_width,y1=(1-pv[1].y)*0.5*_height,x2=(1+pv[2].x)*0.5*_width,y2=(1-pv[2].y)*0.5*_height,x3=(1+pv[3].x)*0.5*_width,y3=(1-pv[3].y)*0.5*_height;createQuadMatrix(object.contentWidth,object.contentHeight,x0,y0,x1,y1,x3,y3,x2,y2,_matrix.elements);var elementStyle=getQuadCSSMatrix(_matrix);if(cachedObject.elementStyle!=elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.containerElement.style.width=(cachedObject.width=_width)+"px";object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}}else{var elementStyle=getObjectCSSMatrix(object.matrixWorld);if(cachedObject.cameraFov!==_fov){object.containerElement.style.perspective=(cachedObject.cameraFov=_fov)+"px";cacheChanged=true}if(cachedObject.width!==_width||cachedObject.height!==_height){object.cameraElement.style.width=object.containerElement.style.width=(cachedObject.width=_width)+"px";object.cameraElement.style.height=object.containerElement.style.height=(cachedObject.height=_height)+"px";cacheChanged=true}if(cachedObject.cameraStyle!==_cameraStyle){cachedObject.cameraStyle=object.cameraElement.style.transform=_cameraStyle;cacheChanged=true}if(cachedObject.elementStyle!==elementStyle){cachedObject.elementStyle=object.element.style.transform=elementStyle;cacheChanged=true}}object.containerElement.style.left="0"}else{object.containerElement.style.left=_width+"px"}if(cacheChanged)cache.objects.set(object,cachedObject);object.containerElement.style.display=object.visible?"":"none";if(object.containerElement.parentNode!==domElement)domElement.appendChild(object.containerElement);object.onAfterRender(_this,scene,camera)}for(var i=0,l=object.children.length;i-1e-10?0:value}function getCameraCSSMatrix(matrix){var elements=matrix.elements;return"matrix3d("+epsilon(elements[0])+","+epsilon(-elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(-elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(-elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(-elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")"}function getObjectCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(-elements[4])+","+epsilon(-elements[5])+","+epsilon(-elements[6])+","+epsilon(-elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return"translate(-50%,-50%)"+matrix3d}function getQuadCSSMatrix(matrix){var elements=matrix.elements;var matrix3d="matrix3d("+epsilon(elements[0])+","+epsilon(elements[1])+","+epsilon(elements[2])+","+epsilon(elements[3])+","+epsilon(elements[4])+","+epsilon(elements[5])+","+epsilon(elements[6])+","+epsilon(elements[7])+","+epsilon(elements[8])+","+epsilon(elements[9])+","+epsilon(elements[10])+","+epsilon(elements[11])+","+epsilon(elements[12])+","+epsilon(elements[13])+","+epsilon(elements[14])+","+epsilon(elements[15])+")";return matrix3d}}};THREE.CSS3DRenderer=CSS3DRenderer;function projectVertices(object,camera){for(var index=0;index