(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 h(a){throw a;}var l=void 0,m=!0,r=null,B=!1;function G(){return function(){}}function R(a){return function(b){this[a]=b}}function S(a){return function(){return this[a]}}function T(a){return function(){return a}} (function(){function a(a){this.fo=a;this.gr=r;this.Ec={}}function b(){this.bm={};this.bm[b.SCRIPT_URL]=[];this.bm[b.THREE_JS_WEBGL_URL]="lib/ThreeWebGL.js";this.bm[b.WEBVR_POLYFILL_URL]="lib/WebVRPolyfill.js";this.bm[b.HLS_URL]="lib/Hls.js";this.bm[b.oba]="lib/basis/";this.bm[b.CURSORS_DIR_URL]="lib/cursors";this.bm[b.SERVICE_WORKER_URL]="tdvplayersw.js";this.bm[b.BACKGROUND_PRELOAD_ENABLED]=l}function e(){this.hL=[];this.nU=[];this.THa=[];this.rP=r}function d(a){return"[object Array]"==Object.prototype.toString.call(a)} function g(a){return 0<=i.search(a.toLowerCase())}var c=window.TDV=window.TDV||{},i=navigator.userAgent.toLowerCase();e.prototype.getVersion=e.prototype.Gra=function(){return{MAJOR:"0",MINOR:"1747"}};e.prototype.getClassByName=e.prototype.rVa=G();e.prototype.Hla=function(){if(this.rP)for(;0|=|<=|>=)\s*(\d+)\s*x\s*(\d+)\s*$/)){var a= parseInt(b[2]),c=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,c)||this.H$&&f(screen.width,c)&&f(screen.height,a)}return B}if(d(a)){for(b=0;bi;i++){var g=a[i];if(f(g)&&(q.isArray(g)||q.isArguments(g))){b||(g=c(g,b,j));var e=0,o=g.length;for(n.length+=o;o>e;)n[d++]=g[e++]}else j||(n[d++]= g)}return n}function i(a){return function(b,c,f){var j={};return c=o(c,f),q.each(b,function(f,i){var n=c(f,i,b);a(j,f,n)}),j}}function f(a){a=C(a);return"number"==typeof a&&0<=a&&H>=a}function j(a){return function(b){return r==b?l:b[a]}}function n(a){if(!q.cH(a))return{};if(N)return N(a);t.prototype=a;a=new t;return t.prototype=r,a}function k(a,b){return function(c){var f=arguments.length;if(2>f||r==c)return c;for(var j=1;f>j;j++)for(var i=arguments[j],n=a(i),d=n.length,k=0;d>k;k++){var g=n[k];b&& c[g]!==l||(c[g]=i[g])}return c}}function o(a,b,c){return r==a?q.identity:q.isFunction(a)?p(a,b,c):q.cH(a)?q.B$(a):q.Wta(a)}function p(a,b,c){if(b===l)return a;switch(r==c?3:c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,f){return a.call(b,c,f)};case 3:return function(c,f,j){return a.call(b,c,f,j)};case 4:return function(c,f,j,i){return a.call(b,c,f,j,i)}}return function(){return a.apply(b,arguments)}}function q(a){return a instanceof q?a:this instanceof q?void(this.IB=a): new q(a)}function t(){}function s(a){return function(b,c,j,i){var c=p(c,i,4),n=!f(b)&&q.keys(b),k=(n||b).length,d=0arguments.length&&(j=b[n?n[d]:d],d+=a);for(var g=c,e=j;0<=d&&k>d;d+=a)var o=n?n[d]:d,e=g(e,b[o],o,b);return e}}function u(a){return function(b,c,f){for(var c=o(c,f),f=C(b),j=0j;j+=a)if(c(b[j],j,b))return j;return-1}}function w(a,b,c){return function(f,j,i){var n=0,d=C(f);if("number"==typeof i)0i;i+=a)if(f[i]===j)return i;return-1}}function v(a,b){var c=O.length,f=a.constructor,f=q.isFunction(f)&&f.prototype||D,j="constructor";for(q.has(a,j)&&!q.contains(b,j)&&b.push(j);c--;)j=O[c],j in a&&a[j]!==f[j]&&!q.contains(b,j)&&b.push(j)}var x=this,y=x.IZ,E=Array.prototype,D=Object.prototype,F=E.push,L=E.slice,J=D.toString,z=D.hasOwnProperty,K=Array.isArray,I=Object.keys,A=Function.prototype.bind, N=Object.create;"undefined"!=typeof exports?("undefined"!=typeof module&&module.nOa&&(exports=module.nOa=q),exports.IZ=q):x.IZ=q;q.VERSION="1.8.3";q.HVa=function(a,b){return o(a,b,1/0)};var H=Math.pow(2,53)-1,C=j("length");q.each=q.forEach=function(a,b,c){var b=p(b,c),j;if(f(a)){c=0;for(j=a.length;j>c;c++)b(a[c],c,a)}else{var i=q.keys(a),c=0;for(j=i.length;j>c;c++)b(a[i[c]],i[c],a)}return a};q.map=q.fVa=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=Array(j),n=0;j>n;n++){var d= c?c[n]:n;i[n]=b(a[d],d,a)}return i};q.reduce=q.oVa=q.AVa=s(1);q.reduceRight=q.pVa=s(-1);q.find=q.detect=function(a,b,c){var j;return j=f(a)?q.findIndex(a,b,c):q.tOa(a,b,c),j!==l&&-1!==j?a[j]:l};q.filter=q.select=function(a,b,c){var f=[];return b=o(b,c),q.each(a,function(a,c,j){b(a,c,j)&&f.push(a)}),f};q.reject=function(a,b,c){return q.filter(a,q.negate(o(b)),c)};q.every=q.all=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=0;j>i;i++){var n=c?c[i]:i;if(!b(a[n],n,a))return B}return m}; q.some=q.any=function(a,b,c){for(var b=o(b,c),c=!f(a)&&q.keys(a),j=(c||a).length,i=0;j>i;i++){var n=c?c[i]:i;if(b(a[n],n,a))return m}return B};q.contains=q.yVa=q.include=function(a,b,c,j){return f(a)||(a=q.values(a)),("number"!=typeof c||j)&&(c=0),0<=q.indexOf(a,b,c)};q.invoke=function(a,b){var c=L.call(arguments,2),f=q.isFunction(b);return q.map(a,function(a){var j=f?b:a[b];return r==j?j:j.apply(a,c)})};q.pluck=function(a,b){return q.map(a,q.Wta(b))};q.iWa=function(a,b){return q.filter(a,q.B$(b))}; q.nVa=function(a,b){return q.find(a,q.B$(b))};q.max=function(a,b,c){var j,i=-1/0,n=-1/0;if(r==b&&r!=a)for(var a=f(a)?a:q.values(a),d=0,k=a.length;k>d;d++)c=a[d],c>i&&(i=c);else b=o(b,c),q.each(a,function(a,c,f){j=b(a,c,f);(j>n||j===-1/0&&i===-1/0)&&(i=a,n=j)});return i};q.min=function(a,b,c){var j,i=1/0,n=1/0;if(r==b&&r!=a)for(var a=f(a)?a:q.values(a),d=0,k=a.length;k>d;d++)c=a[d],i>c&&(i=c);else b=o(b,c),q.each(a,function(a,c,f){j=b(a,c,f);(n>j||1/0===j&&1/0===i)&&(i=a,n=j)});return i};q.jTa=function(a){for(var b= f(a)?a:q.values(a),c=b.length,j=Array(c),i=0;c>i;i++)a=q.random(0,i),a!==i&&(j[i]=j[a]),j[a]=b[i];return j};q.sample=function(a,b,c){return r==b||c?(f(a)||(a=q.values(a)),a[q.random(a.length-1)]):q.jTa(a).slice(0,Math.max(0,b))};q.sortBy=function(a,b,c){return b=o(b,c),q.pluck(q.map(a,function(a,c,f){return{value:a,index:c,yqa:b(a,c,f)}}).sort(function(a,b){var c=a.yqa,f=b.yqa;if(c!==f){if(c>f||c===l)return 1;if(f>c||f===l)return-1}return a.index-b.index}),"value")};q.groupBy=i(function(a,b,c){q.has(a, c)?a[c].push(b):a[c]=[b]});q.zVa=i(function(a,b,c){a[c]=b});q.gVa=i(function(a,b,c){q.has(a,c)?a[c]++:a[c]=1});q.toArray=function(a){return a?q.isArray(a)?L.call(a):f(a)?q.map(a,q.identity):q.values(a):[]};q.size=function(a){return r==a?0:f(a)?a.length:q.keys(a).length};q.SVa=function(a,b,c){var b=o(b,c),f=[],j=[];return q.each(a,function(a,c,i){(b(a,c,i)?f:j).push(a)}),[f,j]};q.first=q.head=q.aWa=function(a,b,c){return r==a?l:r==b||c?a[0]:q.XPa(a,a.length-b)};q.XPa=function(a,b){return L.call(a, 0,Math.max(0,a.length-(r==b?1:b)))};q.last=function(a,b,c){return r==a?l:r==b||c?a[a.length-1]:q.rest(a,Math.max(0,a.length-b))};q.rest=q.$Va=q.lVa=function(a,b,c){return L.call(a,r==b||c?1:b)};q.compact=function(a){return q.filter(a,q.identity)};q.flatten=function(a,b){return c(a,b,B)};q.without=function(a){return q.difference(a,L.call(arguments,1))};q.uniq=q.unique=function(a,b,c,f){q.isBoolean(b)||(f=c,c=b,b=B);r!=c&&(c=o(c,f));for(var f=[],j=[],i=0,n=C(a);n>i;i++){var d=a[i],k=c?c(d,i,a):d;b? (i&&j===k||f.push(d),j=k):c?q.contains(j,k)||(j.push(k),f.push(d)):q.contains(f,d)||f.push(d)}return f};q.union=function(){return q.uniq(c(arguments,m,m))};q.intersection=function(a){for(var b=[],c=arguments.length,f=0,j=C(a);j>f;f++){var i=a[f];if(!q.contains(b,i)){for(var n=1;c>n&&q.contains(arguments[n],i);n++);n===c&&b.push(i)}}return b};q.difference=function(a){var b=c(arguments,m,m,1);return q.filter(a,function(a){return!q.contains(b,a)})};q.zip=function(){return q.JTa(arguments)};q.JTa=function(a){for(var b= a&&q.max(a,C).length||0,c=Array(b),f=0;b>f;f++)c[f]=q.pluck(a,f);return c};q.object=function(a,b){for(var c={},f=0,j=C(a);j>f;f++)b?c[a[f]]=b[f]:c[a[f][0]]=a[f][1];return c};q.findIndex=u(1);q.uOa=u(-1);q.sortedIndex=function(a,b,c,f){for(var c=o(c,f,1),b=c(b),f=0,j=C(a);j>f;){var i=Math.floor((f+j)/2);c(a[i])j;j++,a+=c)f[j]=a;return f};q.bind=function(a,b){function c(){return g(a,c,b,this,f.concat(L.call(arguments)))}if(A&&a.bind===A)return A.apply(a,L.call(arguments,1));q.isFunction(a)||h(new TypeError("Bind must be called on a function"));var f=L.call(arguments,2);return c};q.K$=function(a){function b(){for(var f=0,j=c.length,i=Array(j),n=0;j>n;n++)i[n]=c[n]===q?arguments[f++]:c[n];for(;f=f&&h(Error("bindAll must be passed function names"));for(b=1;f>b;b++)c=arguments[b],a[c]=q.bind(a[c],a);return a};q.memoize=function(a,b){function c(f){var j=c.HNa,i=""+(b?b.apply(this,arguments):f);return q.has(j,i)||(j[i]=a.apply(this,arguments)),j[i]}return c.HNa={},c};q.delay=function(a,b){var c=L.call(arguments,2);return setTimeout(function(){return a.apply(r,c)},b)};q.defer=q.K$(q.delay,q,1);q.throttle=function(a,b,c){function f(){k=c.xQa===B?0:q.now(); d=r;n=a.apply(j,i);d||(j=i=r)}var j,i,n,d=r,k=0;c||(c={});return function(){var g=q.now();k||c.xQa!==B||(k=g);var e=b-(g-k);return j=this,i=arguments,0>=e||e>b?(d&&(clearTimeout(d),d=r),k=g,n=a.apply(j,i),d||(j=i=r)):d||c.bWa===B||(d=setTimeout(f,e)),n}};q.debounce=function(a,b,c){function f(){var g=q.now()-d;b>g&&0<=g?j=setTimeout(f,b-g):(j=r,c||(k=a.apply(n,i),j||(n=i=r)))}var j,i,n,d,k;return function(){n=this;i=arguments;d=q.now();var g=c&&!j;return j||(j=setTimeout(f,b)),g&&(k=a.apply(n,i),n= i=r),k}};q.wrap=function(a,b){return q.K$(b,a)};q.negate=function(a){return function(){return!a.apply(this,arguments)}};q.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,f=a[b].apply(this,arguments);c--;)f=a[c].call(this,f);return f}};q.after=function(a,b){return function(){return 1>--a?b.apply(this,arguments):l}};q.before=function(a,b){var c;return function(){return 0<--a&&(c=b.apply(this,arguments)),1>=a&&(b=r),c}};q.once=q.K$(q.before,2);var M=!{toString:r}.propertyIsEnumerable("toString"), O="valueOf,isPrototypeOf,toString,propertyIsEnumerable,hasOwnProperty,toLocaleString".split(",");q.keys=function(a){if(!q.cH(a))return[];if(I)return I(a);var b=[],c;for(c in a)q.has(a,c)&&b.push(c);return M&&v(a,b),b};q.g9=function(a){if(!q.cH(a))return[];var b=[],c;for(c in a)b.push(c);return M&&v(a,b),b};q.values=function(a){for(var b=q.keys(a),c=b.length,f=Array(c),j=0;c>j;j++)f[j]=a[b[j]];return f};q.KVa=function(a,b,c){for(var b=o(b,c),f=q.keys(a),j=f.length,i={},n=0;j>n;n++)c=f[n],i[c]=b(a[c], c,a);return i};q.RVa=function(a){for(var b=q.keys(a),c=b.length,f=Array(c),j=0;c>j;j++)f[j]=[b[j],a[b[j]]];return f};q.invert=function(a){for(var b={},c=q.keys(a),f=0,j=c.length;j>f;f++)b[a[c[f]]]=c[f];return b};q.functions=q.NVa=function(a){var b=[],c;for(c in a)q.isFunction(a[c])&&b.push(c);return b.sort()};q.extend=k(q.g9);q.Oqa=q.assign=k(q.keys);q.tOa=function(a,b,c){for(var b=o(b,c),f,c=q.keys(a),j=0,i=c.length;i>j;j++)if(f=c[j],b(a[f],f,a))return f};q.aO=function(a,b,f){var j,i,n={},d=a;if(r== d)return n;q.isFunction(b)?(i=q.g9(d),j=p(b,f)):(i=c(arguments,B,B,1),j=function(a,b,c){return b in c},d=Object(d));for(var k=0,g=i.length;g>k;k++){var e=i[k],o=d[e];j(o,e,d)&&(n[e]=o)}return n};q.PVa=function(a,b,f){if(q.isFunction(b))b=q.negate(b);else var j=q.map(c(arguments,B,B,1),String),b=function(a,b){return!q.contains(j,b)};return q.aO(a,b,f)};q.defaults=k(q.g9,m);q.create=function(a,b){var c=n(a);return b&&q.Oqa(c,b),c};q.clone=function(a){return q.cH(a)?q.isArray(a)?a.slice():q.extend({}, a):a};q.tap=function(a,b){return b(a),a};q.lQa=function(a,b){var c=q.keys(b),f=c.length;if(r==a)return!f;for(var j=Object(a),i=0;f>i;i++){var n=c[i];if(b[n]!==j[n]||!(n in j))return B}return m};q.isEqual=function(a,b){return d(a,b)};q.isEmpty=function(a){return r==a?m:f(a)&&(q.isArray(a)||q.isString(a)||q.isArguments(a))?0===a.length:0===q.keys(a).length};q.isElement=function(a){return!(!a||1!==a.nodeType)};q.isArray=K||function(a){return"[object Array]"===J.call(a)};q.cH=function(a){var b=typeof a; return"function"===b||"object"===b&&!!a};q.each("Arguments,Function,String,Number,Date,RegExp,Error".split(","),function(a){q["is"+a]=function(b){return J.call(b)==="[object "+a+"]"}});q.isArguments(arguments)||(q.isArguments=function(a){return q.has(a,"callee")});"function"!=typeof/./&&"object"!=typeof Int8Array&&(q.isFunction=function(a){return"function"==typeof a||B});q.BVa=function(a){return isFinite(a)&&!isNaN(parseFloat(a))};q.isNaN=function(a){return q.isNumber(a)&&a!==+a};q.isBoolean=function(a){return a=== m||a===B||"[object Boolean]"===J.call(a)};q.isNull=function(a){return r===a};q.isUndefined=function(a){return a===l};q.has=function(a,b){return r!=a&&z.call(a,b)};q.noConflict=function(){return x.IZ=y,this};q.identity=function(a){return a};q.constant=function(a){return function(){return a}};q.noop=G();q.Wta=j;q.TVa=function(a){return r==a?G():function(b){return a[b]}};q.B$=q.LVa=function(a){return a=q.Oqa({},a),function(b){return q.lQa(b,a)}};q.times=function(a,b,c){for(var f=Array(Math.max(0,a)), b=p(b,c,1),c=0;a>c;c++)f[c]=b(c);return f};q.random=function(a,b){return r==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};q.now=Date.now||function(){return(new Date).getTime()};var K={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},U=q.invert(K);q.escape=e(K);q.unescape=e(U);q.result=function(a,b,c){b=r==a?l:a[b];return b===l&&(b=c),q.isFunction(b)?b.call(a):b};var Q=0;q.uniqueId=function(a){var b=++Q+"";return a?a+b:b};q.BTa={evaluate:/<%([\s\S]+?)%>/g,aQa:/<%=([\s\S]+?)%>/g, escape:/<%-([\s\S]+?)%>/g};var V=/(.)^/,P={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g;q.template=function(a,c,f){function j(a){return d.call(this,a,q)}!c&&f&&(c=f);var c=q.defaults({},c,q.BTa),i=0,n="__p+='";a.replace(RegExp([(c.escape||V).source,(c.aQa||V).source,(c.evaluate||V).source].join("|")+"|$","g"),function(c,f,j,d,k){return n+=a.slice(i,k).replace(W,b),i=k+c.length,f?n+="'+\n((__t=("+f+"))==null?'':_.escape(__t))+\n'":j?n+="'+\n((__t=("+ j+"))==null?'':__t)+\n'":d&&(n+="';\n"+d+"\n__p+='"),c});n+="';\n";c.Wva||(n="with(obj||{}){\n"+n+"}\n");n="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+n+"return __p;\n";try{var d=new Function(c.Wva||"obj","_",n)}catch(k){h((k.source=n,k))}return j.source="function("+(c.Wva||"obj")+"){\n"+n+"}",j};q.chain=function(a){a=q(a);return a.eAa=m,a};q.mixin=function(b){q.each(q.functions(b),function(c){var f=q[c]=b[c];q.prototype[c]=function(){var b=[this.IB]; return F.apply(b,arguments),a(this,f.apply(q,b))}})};q.mixin(q);q.each("pop,push,reverse,shift,sort,splice,unshift".split(","),function(b){var c=E[b];q.prototype[b]=function(){var f=this.IB;return c.apply(f,arguments),"shift"!==b&&"splice"!==b||0!==f.length||delete f[0],a(this,f)}});q.each(["concat","join","slice"],function(b){var c=E[b];q.prototype[b]=function(){return a(this,c.apply(this.IB,arguments))}});q.prototype.value=S("IB");q.prototype.valueOf=q.prototype.toJSON=q.prototype.value;q.prototype.toString= function(){return""+this.IB};"function"==typeof define&&define.XUa&&define("ol",[],function(){return q})}).call(this)}).call(window.TDV||(window.TDV={}));define("underscore-min",G());define("dZ",["require","underscore-min"],function(a){a("underscore-min");return window.TDV._.noConflict()}); define("nW",["require"],function(){return{u:function(a){return a+"_change"},le:"default",Hb:"mouseDown",Uc:"mouseMove",ic:"mouseUp",lq:"mouseWheel",oa:"click",to:"doubleClick",kd:"rollOver",jc:"rollOut",bz:"mouseEnter",uo:"mouseLeave",xk:"pointerOver",lUa:"pointerOut",pZ:"pointerDown",qZ:"pointerUp",Gj:"pointerClick",bD:"gestureStart",ZY:"gestureChange",$C:"gestureEnd",Mwa:"gestureRotate",aD:"gestureScale",dc:"progress",RC:"close",OPEN:"open",bn:"select",uc:"resize",rba:"changing",ra:"change",Yd:"stateChange", uk:"cueChange",UH:"preloaded",T:"loaded",tc:"loadingError",Ms:"start",$f:"stop",dz:"play",gP:"pause",XC:"frame",Ic:"ready",fq:"begin",lb:"end",YTa:"cancel",Hj:"press",Nl:"release",rq:"repeatEnd",xo:"scroll",Xba:"movementChange",XTa:"beforeShow",jwa:"beforeHide",INIT:"init",Vc:"show",ad:"hide",WH:"showEnd",RH:"hideEnd",Vwa:"loadingScript",pxa:"processingScript",VC:"enableCookies",fwa:"applicationSet",WC:"userInteraction",CZ:"transitionEnd",Bxa:"toolTipShow",Nca:"toolTipHide",Is:"positionSet",Gca:"sizeSet"}}); define("cu",["require"],function(){return function(a,b){this.name=a;this.source=l;this.data=b}}); define("bn",["require"],function(){return[123,34,70,97,100,101,73,110,69,102,102,101,99,116,34,58,32,256,112,114,111,112,101,114,116,105,101,115,270,272,125,44,32,34,112,97,114,101,110,269,271,34,264,266,268,34,286,288,80,104,111,116,111,65,108,98,117,109,80,108,97,121,76,105,115,116,73,116,101,109,284,273,275,277,279,281,283,271,256,109,101,100,105,97,326,34,116,121,277,284,34,304,306,308,310,312,301,287,289,315,121,278,340,342,344,296,347,307,309,311,313,355,357,125,302,289,291,293,295,303,355, 318,320,322,324,352,288,81,117,259,72,306,115,112,306,80,97,110,111,114,97,109,97,79,118,278,355,77,97,112,340,274,276,278,280,282,326,370,290,292,294,345,383,385,387,389,116,391,393,395,397,399,401,316,73,397,103,101,66,97,115,101,381,34,86,105,260,111,51,54,48,82,282,111,117,114,99,437,333,289,328,409,331,340,115,117,98,280,116,108,282,85,82,76,358,343,453,288,320,114,105,110,103,34,353,319,85,114,108,284,116,114,117,101,370,465,400,108,332,272,341,471,345,291,395,121,91,440,442,444,446,448,450, 452,76,101,492,93,438,103,97,476,340,260,102,97,117,108,374,49,353,359,472,34,110,312,98,368,353,104,435,65,117,337,111,518,101,520,522,374,486,488,526,497,296,98,111,111,484,369,353,414,373,345,503,101,443,445,447,115,449,451,101,510,492,438,314,316,98,97,99,107,434,114,406,456,330,411,454,574,114,434,576,103,275,117,110,100,67,553,394,68,105,292,268,105,111,110,470,360,288,293,312,91,305,475,122,602,116,97,108,287,400,330,99,615,513,370,320,101,112,83,535,100,111,119,604,528,551,553,438,436,465, 268,336,83,323,626,628,630,632,345,634,554,556,355,104,101,259,587,107,589,449,592,594,108,394,82,97,280,111,494,256,527,498,114,500,91,530,109,532,114,622,353,637,267,323,100,641,625,87,441,116,104,646,296,394,673,531,278,287,329,452,294,678,288,585,66,394,260,114,663,337,117,667,496,605,529,694,579,413,651,653,683,644,119,83,274,718,690,288,674,676,636,642,703,114,705,707,105,709,725,713,675,533,473,730,575,656,590,659,595,114,597,599,665,603,454,669,296,607,109,609,394,105,612,294,615,617,457, 620,108,700,34,680,639,683,642,627,259,630,79,290,99,105,342,737,727,740,769,101,638,682,684,112,731,705,83,760,472,668,549,726,714,636,786,681,640,773,720,386,611,613,615,510,477,688,782,799,623,801,771,789,655,657,591,593,170,747,663,665,710,754,288,499,316,693,739,677,438,100,450,664,601,752,495,827,738,728,716,316,652,259,774,629,119,777,575,780,121,813,832,729,625,848,630,722,292,259,855,843,679,804,775,119,86,765,809,293,103,812,753,797,842,784,624,112,851,779,781,876,712,783,715,650,845,718, 791,278,734,736,885,528,887,438,112,717,847,720,660,394,737,99,747,800,787,803,858,720,66,108,450,894,826,877,898,370,702,704,278,904,579,896,345,907,661,888,288,900,890,902,868,870,619,872,811,689,927,296,920,679,816,788,730,923,114,925,906,908,623,867,849,806,760,808,108,810,874,941,840,919,814,353,585,882,853,864,784,933,121,846,719,868,957,761,614,960,873,875,964,886,966,741,685,687,963,796,712,692,887,696,278,698,116,768,973,975,892,950,908,942,288,929,905,844,974,718,686,100,983,991,528,993, 714,995,567,699,438,922,732,278,793,122,795,711,897,986,34,702,743,820,746,930,824,601,918,712,829,501,887,999,901,100,1002,1026,1028,841,944,473,946,911,405,1005,878,931,769,955,630,951,1057,1007,1059,770,947,625,819,745,822,930,737,692,1042,91,1065,93,287,1078,1022,291,1070,658,1072,905,1057,1075,671,830,1078,1080,747,768,880,1084,821,1063,984,1016,114,91,1076,1092,32,1081,1009,975,859,631,1057,648,899,1046,72,101,105,103,104,374,1015,345,1017,832,1019,997,1095,742,588,1071,925,1038,666,737,1076, 1044,857,112,1116,1118,1120,1074,1102,994,32,697,373,1095,1054,772,1069,949,917,971,1066,1150,818,1034,1131,747,749,681,838,737,756,758,807,762,616,32,618,280,90,766,1128,912,868,914,916,259,735,1040,1030,856,954,1176,849,969,884,1100,345,1052,785,910,1151,643,868,861,724,1057,1192,1E3,718,1188,854,1200,1031,1202,935,849,1178,706,1180,895,1190,943,1031,1067,1055,1140,1119,1121,1029,1123,1144,1018,1146,996,1148,1114,934,1047,1159,1085,925,1162,600,602,1165,674,1167,958,1169,764,938,767,1138,1002,1099, 1122,296,1065,1247,949,1049,1155,909,802,1195,1110,1249,1223,1251,953,889,1010,654,1233,1098,1004,1215,288,1089,672,1105,1107,866,625,1182,1191,1217,1157,1061,869,871,981,940,1256,413,666,780,1164,1206,1184,945,1194,789,1204,1288,413,372,416,296,85,73,222,594,109,389,110,558,370,560,562,506,565,508,568,511,786,580,408,582,667,1300,415,374,439,441,561,564,566,509,1318,649,375,316,377,321,323,325,454,1318,294,710,320,276,340,319,68,542,278,292,100,485,487,489,866,291,1222,1348,1350,671,336,1354,488, 921,101,103,517,454,1360,266,1362,1353,271,546,1356,606,592,1347,115,1349,1372,1352,1364,489,1324,558,296,434,436,79,98,106,681,479,932,581,410,710,335,337,339,1057,77,336,338,729,664,1050,877,1166,1345,112,277,100,287,320,1358,476,103,696,355,1420,1417,307,1414,1420,768,315,532,484,1057,474,1420,301,555,288,722,652,292,77,111,260,108,51,68,1392,1394,300,454,407,329,1399,340,1252,454,519,521,523,345,35,265,1463,102,1396,1262,1006,1264,288,395,708,710,1458,544,284,53,548,985,1294,288,397,120,1154, 1293,865,288,260,112,688,84,282,1222,1474,1460,1375,1355,1478,633,552,1334,34,109,476,1484,1271,1058,1436,556,1301,1326,69,120,323,114,110,615,1442,1444,1446,1448,1395,370,418,100,386,116,388,390,392,394,396,398,618,355,1320,1453,458,333,1387,1302,288,1526,1528,422,1530,425,1533,428,854,1523,384,1525,420,1529,424,1532,427,483,429,431,433,435,1028,1342,1527,340,104,1328,1380,1382,1351,1363,1496,1365,679,305,1111,495,1371,1572,1374,32,1376,1437,371,1325,345,1390,101,1521,300,556,1398,1538,495,276,852, 1189,256,1494,524,1498,1280,1480,34,337,1418,110,452,1288,480,1561,737,430,97,432,1330,1316,1230,121,574,576,80,1290,751,1279,296,1076,1524,423,1531,426,1534,316,572,1621,743,1624,115,1291,602,768,1172,105,452,1627,828,1090,501,1631,1547,1624,476,998,1436,370,84,104,531,1516,105,960,319,1222,1565,710,99,535,477,1028,1580,1373,1385,1585,557,1541,34,1304,1306,1308,558,1593,1321,1454,454,275,108,108,1558,379,313,259,337,477,84,1346,1485,784,780,324,76,97,1431,70,613,87,1117,1221,1239,608,551,108,1416, 32,1712,705,287,108,1141,1514,287,49,48,48,287,50,1724,287,51,1728,32,52,1731,53,1731,445,1725,32,55,1731,56,1731,57,1731,424,397,1246,370,1700,1692,100,1694,103,1696,1056,1506,1192,1218,100,1691,1097,1036,662,837,1134,1057,1136,714,768,1687,1689,618,1691,1702,1431,1491,1513,1110,1298,1698,1059,1750,1775,786,1777,116,1110,937,1173,939,962,1611,1470,553,1772,278,1761,949,510,102,116,1505,1250,798,1605,1771,1690,1339,1002,703,116,307,109,82,1720,1803,1467,1507,490,316,449,1222,841,1166,1644,766,287, 610,1242,980,768,1750,1002,1815,1221,1261,841,1252,815,1194,1798,1024,586,306,1813,1835,1120,1817,1051,1031,1807,1773,1339,1784,108,1786,1260,1270,1804,34,1839,1295,1258,1691,1658,1660,516,108,1779,778,970,1781,1257,771,1842,705,1755,1849,965,1605,1759,1876,893,1720,1837,877,1862,1794,1688,1808,324,1834,1720,1255,1873,1749,1339,1110,737,1113,370,1852,1797,1809,1268,1763,926,1506,1273,1091,1094,1093,930,1770,1795,1891,109,1002,1755,1895,1757,1031,1783,1703,1785,101,1778,720,1780,1922,1605,1750,391, 1752,1420,1847,1823,1880,1486,1193,1864,1339,1866,675,1661,1869,720,1789,1645,1791,1014,1818,1192,1903,114,1883,114,1755,1800,1802,1213,1647,1819,1863,1875,1854,1925,1856,1927,1787,1929,1871,1599,1953,1851,1916,1853,1892,1799,542,116,1886,712,1888,1941,1966,324,1934,1753,1960,1793,34,1833,949,1920,794,1992,1833,1906,1086,1908,1860,1910,501,1275,1094,438,1994,1843,1811,1813,1983,528,1985,1882,1809,1995,276,1937,1879,1479,1940,2009,705,1960,2013,928,1469,1993,1943,1659,1945,1868,403,120,1220,1142,1896, 679,99,1771,578,1930,1860,1758,2041,1795,578,1012,1952,1850,1881,1150,1691,1989,1420,2011,111,1340,1931,2023,2017,2010,1845,2059,1921,2045,1281,1841,1905,1130,1234,1161,598,1163,1238,1057,1166,1829,979,763,1171,1285,1045,1336,1664,737,1636,1337,2008,2031,1867,1662,2037,1938,2022,1699,2092,2033,1662,1110,978,959,961,2051,1939,784,1955,1957,1960,2067,1975,1932,2063,733,1894,1997,2039,1053,2070,1979,1843,1937,2112,2052,2062,1988,1693,2057,2065,2060,2068,2053,2121,109,1944,98,1946,1248,1859,1818,1985, 2024,1884,1221,2021,1183,1940,2016,2122,705,2027,1263,1073,1897,1701,1968,1857,805,759,2081,1286,1792,2119,1986,682,1865,2032,2138,1868,1110,1198,863,2165,2109,2115,1025,2118,2061,879,2054,2071,744,1085,2044,2113,2127,1918,949,2058,1814,1962,1998,1967,1431,1639,1641,839,1860,1166,465,1801,287,1426,287,475,1221,287,551,1812,2059,1149,2135,2137,1946,2102,2161,2104,982,990,2187,2181,2135,2186,2126,2223,1942,2151,278,2191,2153,1468,2155,480,2177,1958,276,2232,1861,2029,2176,324,2215,2171,720,1900,1500, 2091,324,1949,766,309,1118,2199,1818,1166,2210,1813,287,1503,1752,465,2204,276,1915,1890,1978,2189,2064,2211,109,2125,2107,1066,2047,1688,578,2103,1169,403,114,1368,2255,2226,1782,2099,2170,2101,2246,1112,2248,2156,1918,2E3,2225,2274,1874,2167,2195,786,1705,294,2273,992,1225,1125,32,1640,1027,513,480,115,1921,1584,353,2242,2136,2169,1946,2296,2097,1059,2317,1855,2159,977,2218,1169,2105,2221,2285,438,1568,260,83,2276,108,66,117,2211,110,1963,1901,2235,2229,2237,112,1960,2147,1604,2188,1855,70,591, 1237,2284,877,42,2249,2318,2093,2338,1254,2179,2133,2149,2182,2243,2319,1868,2321,2148,2098,2157,1776,1970,1858,1073,1064,2241,1977,1904,2375,2301,613,2239,1985,1826,615,2253,103,2357,712,2257,2131,2260,441,100,2263,1583,2265,2298,336,1957,1959,1981,2350,1216,2114,2346,2387,2029,1924,1431,2279,980,2391,2393,528,1166,997,695,32,2202,116,2206,1720,1832,2287,2139,1153,2193,2165,2414,786,71,404,1992,115,2337,578,440,1640,98,465,1710,757,1955,287,615,119,316,115,2266,1796,1956,2236,2412,2234,1889,2456, 1761,2E3,1132,1765,1963,1768,832,2455,1917,2353,1706,1708,2038,1506,2395,1713,2209,553,1717,2424,1720,2423,1723,1738,1727,1738,1730,1738,1733,1738,1735,1738,1737,287,1740,1738,1742,1738,1744,1738,1746,621,438,2317,1762,2001,1236,751,2447,1241,2162,1244,1790,1748,2345,2269,705,2191,2020,2433,2180,2323,2382,2457,324,2372,2351,2374,109,2472,2303,342,2446,2078,1240,780,615,1645,287,2503,2516,288,1750,2244,2289,868,2528,2409,1940,2317,2056,477,2191,2194,2369,2362,2549,1805,2188,2546,108,2050,2331,2297, 1840,2228,2361,2100,1947,868,2459,1008,2316,2525,1957,2408,2560,2227,1987,1751,1753,1755,2439,2368,2531,1968,2302,1982,2141,1838,2029,311,2341,2336,1771,85,1756,2003,1102,1076,692,1589,2339,2341,287,73,907,110,2605,307,110,93,1079,32,2603,1563,2611,602,2607,2609,2619,2613,2213,2568,1899,2291,635,2293,2507,2465,825,1135,1649,831,676,2429,2346,2111,2365,2222,1059,2080,959,2418,2511,2422,114,1718,1981,2427,1221,1095,2441,291,2573,2286,2557,2570,2336,615,101,1518,1410,2394,1240,393,1309,287,102,1662, 1170,2671,116,95,476,1640,260,2670,780,95,1822,2678,101,2680,2675,307,95,119,989,2686,95,2688,652,2428,2403,1760,2236,2191,2304,2373,1156,2135,1002,2026,2591,1887,2413,2236,1878,1816,2522,2366,2108,2576,1898,2290,1506,2344,2544,2236,2578,1964,2461,1917,2562,1110,1211,2723,1758,2586,1810,2131,2349,2713,2642,2505,2716,2346,2231,2707,1984,2709,2346,1878,2736,2332,2293,2325,1970,1349,907,395,2510,2536,608,821,401,476,2685,2616,1534,2760,1718,2760,45,688,590,1119,2541,602,101,768,2594,2612,2596,1795,1937, 1143,1103,2635,2617,436,2623,2621,602,2623,2614,287,2783,433,2340,2612,2786,2610,2793,1642,768,515,2599,2737,1902,2739,2582,1420,1991,2175,2804,2750,1928,936,1285,2330,2585,2214,2370,1662,1048,2641,2748,2040,2042,291,2281,2283,1992,2324,2588,613,641,121,2535,2476,2537,980,2540,32,2542,2638,2569,2288,2571,849,2251,1951,2565,2322,2697,1774,2158,2377,913,915,1212,1472,2556,109,2664,541,543,1495,726,394,1747,1466,1824,2667,2864,2082,688,2362,45,602,108,121,1718,1968,2873,110,2875,2840,2631,2074,750,1292, 2834,608,2644,1243,2083,1245,2840,2727,903,2742,2014,2029,2150,2587,2376,2811,956,2328,980,2814,2165,2899,2883,2379,1909,2601,2635,2006,1914,2360,2562,2140,2910,1860,1985,2506,2018,112,2657,2738,2267,2383,2518,278,2746,2856,2808,2927,2526,2929,706,2712,2932,2523,636,2655,114,2845,108,2825,1369,2940,2803,2934,2055,2129,477,2779,2907,2732,1980,1801,2730,1976,2950,2430,2245,1197,723,2174,2948,2575,2961,2659,2842,2819,1027,2827,2809,2851,2902,630,2729,2747,2566,1965,2299,2346,2959,1806,2804,2894,2548, 1973,1205,2967,2721,2384,108,2589,2701,1224,2636,2423,2309,2773,1466,319,2314,1355,2949,2462,2699,2131,2985,2188,2559,2724,34,2317,2917,949,2925,2567,2581,2705,1981,2997,2550,2530,2562,2035,2564,2815,2568,1893,2146,2980,2848,2630,2364,2973,2165,2609,323,294,851,113,488,2247,2629,2982,2404,2300,2995,2473,1720,2511,1716,2479,1713,2423,1719,1221,2484,1731,2487,1729,1731,2491,287,2493,287,2495,1739,1741,1743,1745,2869,2543,2030,2994,2589,258,1503,2875,737,1434,477,2926,3008,2984,1885,2896,2028,2460,3077, 2900,1926,2977,119,2979,2939,2714,1059,2775,602,2777,1688,2807,2911,2781,672,2791,2785,32,2608,2787,2797,2624,2790,1102,2604,3115,2795,2788,2625,3021,2923,3024,2579,2703,3031,2923,3019,3048,2698,2994,2326,849,3131,2725,2268,2988,2903,1168,2905,2220,3030,2581,2532,1787,2534,2665,2420,2835,2539,99,2771,114,1747,3123,2983,3094,1969,1513,2752,1531,2755,2887,757,2758,483,2764,2762,2759,2669,2482,1309,2767,104,2769,104,2771,1309,3158,3049,2128,1935,2953,3053,2955,2816,2362,2627,2719,2292,3132,2168,3190, 2853,1179,3099,2802,2517,3147,3137,3093,2416,2390,3059,2419,345,2421,373,3058,2651,32,2207,1120,2470,2268,2810,116,3163,2754,2886,2200,1240,3168,1719,3173,111,2763,3173,3227,101,3176,3178,3180,3002,3007,2471,2829,2303,2820,877,1124,676,1417,794,2311,2544,2313,2179,2315,701,3115,3104,108,68,630,3208,691,2912,3109,3118,2618,3120,3112,2622,3115,2789,2616,3263,2784,3265,3113,2796,2341,2614,2360,2553,103,3106,3100,2360,2733,2271,2735,3199,2821,2120,2568,3219,1788,2813,3144,2933,3087,2841,2216,1948,3293, 1287,2434,2962,2547,849,2173,1582,3282,3036,1843,3286,1181,2974,2969,3297,2963,3136,3090,2154,2574,3138,2928,2507,3013,2731,2704,2190,3010,3034,2702,3086,1917,3284,1813,3311,1214,3308,2517,3140,2978,2854,3011,2715,3314,1919,2019,2938,3312,3188,3129,1843,3126,1819,1585,1651,1532,67,396,278,1403,495,1452,457,583,285,1509,1587,296,82,306,1765,1516,108,3357,335,395,571,305,307,2089,2087,1451,1594,3364,256,1750,2467,2635,362,111,3380,378,1339,622,1540,1326,3391,269,370,594,111,107,331,1624,1719,99,2991, 327,1684,1595,256,450,1432,1506,3084,478,2312,482,3413,3252,34,432,111,589,404,1568,99,65,862,2780,1076,3415,2615,3432,1508,932,1510,1588,1563,1591,3398,353,1543,421,3355,1633,1549,1615,432,1536,3363,1323,3366,1388,1542,1554,1545,1556,3446,1559,121,3448,1562,436,438,403,112,3397,1691,3450,1322,340,1401,1407,1404,2438,1009,357,3475,3467,367,715,3395,345,3468,1339,438,1312,67,3045,1341,400,1343,340,532,2826,1370,1381,1361,1384,1574,1377,34,293,3307,1993,3498,1383,1573,1583,3006,3483,1389,3439,1393, 1395,1683,1537,3384,3503,592,84,105,335,2439,614,279,3522,3524,1896,1585,440,101,119,278,3428,653,3472,101,688,1443,710,973,412,1509,709,795,954,1697,3365,1470,1492,1358,412,3512,288,1679,2059,1681,416,3517,3451,459,461,463,465,115,3135,1062,3318,2233,3320,354,573,743,578,80,275,589,282,115,3324,1207,355,1622,577,291,2095,2780,1145,1147,1021,623,3564,780,3566,2378,1087,1506,1985,486,392,1640,751,2859,2756,757,2445,3504,1424,32,520,260,2682,2340,95,3612,101,2676,2613,899,3578,292,115,115,3323,2990, 1992,1607,553,400,84,395,2342,2198,68,836,3165,3337,1397,3423,3623,3625,3037,3150,2529,3101,3115,564,3526,2096,1101,3108,830,3110,3273,3267,3276,2615,3655,2606,3266,3114,3658,3621,3641,3580,578,2909,3598,2600,3653,2005,1912,1106,2007,3593,462,3595,282,2555,1088,2306,3245,1227,1020,1655,1009,3585,578,318,400,68,395,103,2283,478,2628,1501,973,3689,291,3369,2934,597,388,1535,3698,1022,465,592,1420,3632,3602,3635,3637,3223,3200,932,3584,3575,1083,2464,3570,34,2004,1077,3674,1276,1006,291,100,551,3731, 1653,294,924,3724,1985,3102,110,1636,391,3546,3430,2782,3271,2792,3661,3274,3122,3117,91,3119,3749,3657,2612,3277,3688,3721,114,1116,1209,3340,3198,3348,2992,3573,1637,576,2278,891,3723,2919,1818,3726,2914,394,1643,114,3735,1514,83,946,838,1261,1601,1461,265,54,1737,2866,2708,3092,3700,3760,3281,3775,3683,2423,3591,3687,1265,3701,3780,3622,3667,3773,596,2075,2356,2511,2889,980,2514,1950,3076,3740,1696,3695,465,83,3594,464,3519,841,3726,3660,2794,3662,3275,3757,3659,3747,3111,3750,3268,1095,450,520, 452,447,1173,3821,3784,602,3786,542,1459,1326,1462,1464,1465,1603,3319,1059,3795,3770,291,3577,3666,3624,2972,3645,3025,1066,3823,3566,3863,1992,3740,1636,3745,3262,3753,3264,3755,3663,3832,3752,3754,3829,3836,3664,3593,114,3840,101,3842,1645,465,2186,3787,271,48,46,54,3854,3127,636,3867,3680,3018,3738,2898,3901,3567,2751,267,3164,3717,2867,2757,592,3172,2761,3229,3915,2765,3175,2768,449,2770,2838,2772,2085,3769,3586,586,3808,748,3810,3638,2256,1240,3813,2082,2389,3817,3254,1426,3873,3654,3834,3656, 3878,2798,3880,3876,3882,3756,2798,1620,3804,3762,976,849,3046,3699,3720,3858,3761,718,3597,2002,2142,2029,1607,973,1696,553,280,112,262,3822,3886,575,101,3783,787,3717,3893,3510,547,288,841,2720,3768,3804,1834,3329,3646,3900,3678,3824,115,3279,3797,3288,3988,3760,2954,3107,3590,1228,3592,679,3906,3191,1860,3987,407,3579,3624,3588,3682,2999,2649,3685,1127,3953,3760,3860,4013,3625,3930,1133,3387,672,1137,3677,3565,282,69,1516,3608,3505,3982,1376,3898,1032,3193,288,118,3780,111,1654,3737,3774,3982, 34,3851,1464,3792,2743,3092,460,3976,3841,3539,3890,3978,3845,110,3892,3848,1475,271,525,3985,2981,3640,4024,3998,3243,3799,4018,3801,3926,3989,2131,3589,1226,4078,3665,4024,3668,4026,2466,2634,4029,1769,438,4044,3781,278,3705,614,1609,1028,3982,50,4040,1758,3906,3279,3681,3767,1970,278,3372,1636,3804,2088,3960,3928,4021,3961,3955,3990,3287,4071,4E3,4118,1011,989,4082,2307,4084,3759,4124,259,3582,1881,3906,3568,3097,3341,3991,3865,4085,3642,2918,3670,3966,3092,4094,4046,3736,114,1558,3847,2861,3850, 1724,55,575,99,4054,2897,3794,3806,3862,2432,4121,3035,3803,3760,3626,1598,3407,3718,3503,1513,4110,615,4023,4142,291,2088,4162,4025,3856,4115,3771,3763,119,3205,2163,2106,4166,3730,732,3733,732,4095,3931,1608,1610,2165,4012,4178,4150,3627,4200,4184,1083,3644,1992,4147,4047,114,3979,2076,110,3528,4100,4066,2862,49,3063,4070,4191,34,2671,114,320,3713,3634,751,3636,3222,2077,3767,460,3994,3566,3279,2584,4200,4181,3669,1212,2633,1767,2635,4030,4167,3961,4177,3667,4164,3766,3639,4123,3928,3029,4016,4004, 3686,4079,3760,4133,2149,4008,2160,3142,2846,2439,3906,2437,2801,3999,3601,2342,315,751,4228,3603,838,722,101,3509,4254,620,4193,111,3734,4148,3782,4063,3203,4235,4032,3907,3096,4188,2906,3767,4201,3807,1844,2123,4139,3899,4031,3679,4025,2072,821,4263,972,4241,3930,2509,3911,1411,3935,2904,3937,2084,3993,4294,3079,396,1662,4171,841,3415,4322,4307,2728,4138,4165,3330,4306,3995,4242,952,3794,4206,3962,654,3903,3774,2592,3092,4274,115,4276,838,4278,3715,4232,3259,4305,4007,4236,282,4311,4183,3574,4131, 1232,4309,1907,4315,4233,3224,2888,4319,1170,3938,4261,4363,3292,1245,4298,4254,4300,3624,4360,4117,3928,4250,3862,3930,3942,3673,1914,1913,3778,4330,3995,4376,2515,4378,4172,4293,4307,2944,2646,3606,91,2205,32,2261,2399,2761,2258,2212,3900,4058,3888,4060,99,465,4152,3849,3788,3852,4159,3091,3572,3968,355,3970,523,105,3973,4215,449,1668,2596,4282,2342,3958,4141,4301,4242,4367,4355,3520,4370,4267,4372,4321,413,4181,4002,3671,4259,4020,921,3115,3743,3464,4016,2602,3944,3877,3831,3947,3270,3875,3272, 4461,3122,4383,4185,1525,2474,3651,2998,4452,1229,370,4348,4353,3371,4269,4358,2313,1972,4170,4481,4294,4188,4402,3166,91,2425,1080,3211,4018,3215,3802,3985,3633,4349,3371,4352,751,4034,1703,465,3505,3986,4042,769,4135,2852,2989,4485,4205,4362,107,641,1409,2511,1413,1415,1422,316,3610,290,3546,100,768,629,461,4417,3405,107,65,3811,1457,4218,1326,307,3820,3618,102,522,493,2041,4435,4422,755,1240,4540,103,465,3616,4544,2440,292,293,3236,3838,4482,122,3279,4450,4398,3906,2996,3242,2305,4017,3246,2310, 4438,4386,4365,2001,4388,3727,4390,3675,2915,4448,3861,4182,4143,3965,4346,3572,3857,3928,3955,2172,2965,4507,4122,4399,3995,4136,2944,4397,3999,4380,3643,2271,4127,3684,4129,353,4285,3732,4287,4195,4289,1025,4063,4216,1992,4601,3668,4208,2907,4565,2386,3904,4340,4516,4470,4242,4027,4090,830,4247,3719,4625,3587,891,4619,4299,4341,4590,4484,883,4327,4122,4588,3576,4241,4344,4144,4586,3866,4482,4239,4003,4083,4005,4497,4510,4482,2589,1707,3187,4490,3055,1715,2480,3058,2483,4018,2485,1726,1731,2489, 287,3066,32,3068,32,3070,2497,287,2499,287,2501,3155,3157,4393,3566,2996,3149,2511,2538,3405,4684,2504,4130,3928,4584,4339,1008,1585,3522,4506,3462,1618,567,569,1319,3382,3409,3519,275,119,594,591,4473,4140,370,929,4713,1541,3308,3555,34,4703,507,4705,1333,438,83,1719,260,79,2340,298,1395,4708,3518,826,540,4403,4492,2401,112,2652,1120,2479,2271,3394,3453,1677,4734,300,370,703,120,2664,1445,1447,3515,1450,495,1666,406,1625,4280,3539,1570,3499,3509,3420,3001,3783,1359,3507,1581,1674,4722,1512,1514, 3372,4756,1520,4759,269,3561,3471,1457,3694,515,3608,88,594,294,1687,115,4418,4067,288,3851,1724,1724,4548,3571,1059,3232,4257,495,3982,4069,4172,3887,4796,2862,4051,3852,3853,4222,4160,3572,1503,110,4806,4254,3232,4065,4153,284,4809,3999,4820,4015,3767,100,4788,4505,101,89,4792,486,553,4795,2141,4050,35,1724,265,4801,4040,1985,1488,1490,1492,2860,4419,3501,4040,3987,4833,1616,4789,465,90,4838,4794,4812,4154,4800,265,4802,2240,3092,4858,3695,4835,3428,4711,4397,3982,1735,4103,1031,2690,1013,2221, 4808,4880,1605,4850,4884,4538,4827,4886,1940,4820,1349,1489,2847,4335,353,3232,4865,4420,4053,4848,3967,4834,3608,1439,278,3888,2736,4878,4892,784,2695,1709,4537,4826,4068,4913,3856,4764,602,3693,4859,4835,4853,4797,520,493,2761,1818,3987,3001,4924,4873,3608,4927,2862,4929,436,4856,4509,3887,4825,4854,32,1738,2802,1585,3443,306,3466,1558,402,2438,4736,3562,1539,4749,1326,4951,116,4953,1634,3461,1561,1589,3465,1443,786,1446,4704,4199,3361,3383,3542,4922,110,90,4938,374,4948,4600,4978,88,4981,284,4983, 4643,4978,89,4987,3894,4920,2738,614,751,4980,4917,4946,4989,4223,275,4997,838,4992,5E3,4797,5002,4898,1794,5005,602,4986,5008,2862,5010,3992,370,3412,3083,486,1435,3417,483,1674,526,4499,4350,5014,4993,4947,4995,490,1333,1473,4890,271,91,2615,1818,1076,4781,68,4973,1317,512,2941,2662,5032,4828,4122,4348,5030,110,5007,4807,5038,5033,4817,5019,5028,3602,5055,4999,5058,4918,5060,4949,4960,345,5044,5046,4706,1501,4729,1328,262,4751,1222,3362,4786,495,102,275,2132,3934,608,4741,4405,4496,4746,1813,4748, 3436,3367,288,5080,438,70,4276,3445,1548,3460,4112,1638,4978,3470,1685,1596,4204,3767,280,335,1418,1307,1992,121,97,1578,4254,1771,4616,780,1668,1299,5071,3513,1391,4783,5100,4276,4962,5103,4954,1560,1616,3463,1564,3492,1566,454,2334,1671,4774,1673,3501,623,1577,4767,3508,1582,1584,4722,1589,3440,1466,5082,5110,256,1597,4641,5051,5034,353,1607,4098,4974,4254,2440,5050,5016,1602,5061,4716,4248,107,2197,1626,4629,501,5101,664,5135,4965,5106,1623,4978,1832,1613,1057,4724,1315,567,438,111,265,436,116, 5015,3767,5197,102,5199,5057,4254,4915,2475,5207,4371,4489,4369,757,2648,2650,2203,3214,2696,370,4882,4190,5011,289,5125,4897,5062,4043,1285,5212,5088,3607,2396,4406,2398,2400,1426,2654,2662,3605,4490,2671,1688,2692,2677,1328,2692,2683,5246,3611,2681,2688,5221,3179,5250,2687,111,95,5208,2426,3924,3181,438,5119,5121,4172,5123,3530,1551,259,5185,1549,5187,5178,5108,4957,5083,5161,5112,4254,5114,3552,5117,2165,1826,3825,877,1076,5103,3781,5095,1586,3454,34,5156,5131,370,5103,3374,3359,3705,973,5179, 3717,5159,3410,4722,3369,5013,3372,5299,395,5301,355,5303,1238,370,79,114,98,780,318,4916,4975,4709,1344,720,1696,465,3633,5169,1606,5059,3895,1477,5175,4356,4803,5032,4814,4421,4904,3092,5264,5032,5018,5176,3730,320,4009,5332,5068,4940,4931,4508,3047,473,720,1817,3982,56,5165,2544,3736,4229,4171,4885,5336,3014,109,4970,5339,2671,120,336,2693,5257,3526,432,4784,5368,1166,5373,5375,2688,620,3375,97,2680,5374,100,5376,2693,291,5379,999,5225,5345,5362,769,913,338,5037,5068,5346,5337,5400,868,3466,2112, 3982,1733,57,3897,5368,920,4722,5322,1142,370,4097,392,452,5298,3358,395,1442,400,335,4720,455,5325,3544,5096,5293,5421,4099,5308,3371,615,5311,97,5427,324,1310,353,810,115,5183,292,5271,3460,5109,3410,34,5344,4200,5397,2165,3608,575,1568,3085,5173,4988,5399,5460,1668,1420,5436,5331,3982,3895,52,5034,4722,5451,1535,1311,1328,3390,1546,1532,340,4762,1341,1379,3497,1571,5147,3983,3502,99,488,67,1669,3449,5488,4768,5153,3511,5128,303,5482,397,5158,4976,1455,488,4028,830,3488,488,1429,552,2801,3982,5353, 4942,5356,34,521,1426,3707,5067,4946,4039,5368,1901,4950,3456,4964,3447,4967,1563,5453,3519,3938,5230,4050,4407,2446,4040,2395,2271,2397,2262,2761,5237,2008,5191,1506,5193,1331,437,370,5203,5199,5201,1600,5333,5399,5557,3539,5206,5351,5001,5399,5259,5398,5415,1031,3936,108,5539,5059,1861,4494,4869,3210,4149,5216,5260,4496,768,5253,5570,4172,5366,5561,5571,1605,120,5587,3999,5171,465,5240,5560,5068,4224,2672,5579,2868,3173,5242,2673,2681,5245,2679,5255,3614,1527,5249,2674,5392,5253,2692,2694,4472, 5291,1676,1326,5295,1449,3441,303,276,117,3467,5504,5104,5524,3408,4737,518,291,107,293,2507,5032,5527,4932,4509,4588,5315,4436,4245,672,1624,112,5629,5477,1635,4115,5646,5190,5138,1614,1561,5046,4093,319,105,4937,5464,271,5518,5528,4509,118,5480,737,1312,5661,413,5458,4299,5628,112,5470,3864,5406,5004,3371,5066,5122,3370,751,5565,3999,5684,751,5559,5588,5120,1992,661,3401,65,2452,121,1696,72,1328,4615,5666,32,2487,5405,3014,1418,323,5339,4521,1363,5543,1240,5715,1714,973,4525,521,436,4528,899,5679, 2035,4831,4451,1018,4606,288,5144,69,435,1435,5707,34,3232,4179,5717,5089,2760,291,287,3044,259,3619,5746,1552,5612,5750,5748,476,5752,1106,461,1645,5749,5757,5320,99,5756,5493,5762,3619,5756,5747,279,5760,5769,2675,1822,5753,5770,5755,5774,32,3044,1654,5771,117,5781,5778,5780,294,5767,1822,5514,5699,5701,5703,1569,5707,5642,5355,1501,115,1577,5735,1640,5463,5525,4797,5739,5744,579,5742,757,5740,4018,5747,5391,476,5753,5391,5785,5751,5777,2340,1080,5758,5763,5815,5761,5759,5778,5765,5759,5820,5260, 5772,5782,1358,5768,384,5776,110,5836,5781,5825,5786,5773,5821,5779,5783,5787,5831,768,5144,4231,4480,5707,2485,5710,1201,5727,97,120,4822,3798,4569,5732,5400,630,5852,3933,4808,4800,5568,102,3229,5697,5515,4437,370,5522,276,5633,5643,2629,370,5485,495,5734,5487,1579,5146,3500,5491,954,1409,5495,392,5497,5888,5489,5890,3420,3504,5151,4775,5148,4607,4533,5902,5490,5353,5149,630,4034,3505,1672,5899,5501,5434,1677,5653,854,353,335,3540,100,1344,3941,4959,4632,3407,1300,3744,5927,34,5144,5433,5865,5121, 369,370,4908,475,99,5103,70,425,1028,5305,3519,388,1440,5682,3725,1102,5553,1316,287,1312,505,5046,1175,292,111,5940,5951,692,5954,567,5956,5480,5958,4725,452,5621,3437,361,5631,5944,3358,3465,607,3469,3491,373,710,1807,2340,5907,5915,1575,3321,3965,5914,4769,3006,5905,1645,107,5987,3509,5909,5155,3514,5625,5506,5432,454,5468,1713,415,5181,91,1405,530,1691,1429,1968,5022,475,3085,5938,353,3975,3887,3889,4416,2663,4970,4757,5157,5276,5160,1606,1664,5422,4217,5404,5568,4371,5032,5668,5881,1501,4888, 1491,320,5641,1497,5669,5882,5502,297,4174,1515,1517,6027,4782,6003,5297,3378,308,538,601,5536,3452,5917,1326,1405,1402,537,539,3377,348,5441,5646,6063,340,4642,4223,5593,2165,612,2059,258,268,4648,2566,6001,5130,6057,3442,3456,5919,3536,3360,256,5884,334,449,436,510,97,400,5998,5500,5989,1502,6098,101,2598,6103,284,5909,5921,6107,3257,119,2255,5992,1582,6112,2725,5986,5498,5152,5027,5990,6110,5904,1006,5906,6123,5903,3611,615,436,370,5370,3546,4034,1514,6127,5891,6087,1590,5131,4785,6031,4425,316, 4427,3972,262,1696,117,4433,4546,293,5403,5526,6047,6041,438,397,2924,3724,692,1065,44,1166,3523,5138,44,4348,5622,44,392,121,3758,353,3546,72,392,593,450,565,4585,877,3987,307,553,3522,4272,877,4329,6020,382,1552,5134,5631,5136,4966,5658,6030,5306,6050,1524,6198,3458,5632,5137,432,4968,5317,5319,780,5044,5441,6075,1370,110,1291,615,5681,5164,5591,4893,5859,6223,2165,4894,6033,4099,5127,6065,5072,6055,68,6217,370,1855,6218,5084,2830,4689,4403,4691,2837,2839,4093,5229,3207,2511,4405,5541,4409,2131, 768,323,3162,3909,4354,2511,3226,3170,3917,3169,3231,2766,3921,117,3923,2668,3237,353,5872,294,3080,4326,6017,1435,4477,1970,6279,6019,526,4512,2844,3300,2164,5113,6286,3764,2855,4253,4172,5573,5230,3912,5810,3213,5215,5218,2653,438,6275,116,4660,5323,5213,91,4663,1716,4666,3060,4668,3062,4671,3065,1734,1736,1731,4679,32,4681,32,4683,3924,3156,4694,6274,2830,4567,3652,1145,3001,3248,3506,3005,6105,6258,1971,2572,4623,3572,6340,1870,4514,3767,6305,3203,6345,4266,1830,4268,3530,6050,3557,1307,2772, 416,5317,4783,1446,5484,5141,710,661,259,4283,3506,5898,5993,1365,4722,6357,3559,5380,5431,5635,454,5085,3358,5510,501,5966,5972,5263,5696,5268,353,5183,116,6207,1632,6209,4171,5947,6064,5292,1677,6393,1547,6200,438,262,1309,114,5044,6029,5324,6379,1596,4783,73,4593,712,6194,4722,6408,5296,353,5532,5452,6203,3384,6143,5157,4753,3949,4368,3503,6365,580,3580,6141,3420,292,465,5535,6131,5490,3420,4416,5996,6141,6E3,6356,1305,3558,6359,6377,6397,6433,3624,336,3703,2456,4440,3932,4316,2666,4444,6353,4446, 2892,3621,3580,336,4597,6288,5222,5227,455,6467,100,6456,1558,1786,3221,5853,4490,6263,3228,3230,2761,3232,3234,3922,5254,6272,6257,6291,4712,6343,3856,3642,336,6240,1433,5023,6284,288,1430,4707,3414,6500,478,4448,6474,6476,618,4566,3038,4653,2307,6335,3003,3250,6513,6436,2525,6346,5163,2165,355,1822,3812,4371,3815,1174,438,6340,6479,3933,6298,91,6482,3916,6484,3919,3233,6269,6271,3925,6466,6454,6475,2525,4659,4472,3054,2480,3056,2481,3059,1120,3061,2486,6317,2490,6319,2494,6321,3072,2500,3074,6328, 3076,1955,2589,3203,723,6546,6510,2930,6492,3098,6294,4600,6496,6547,2934,3333,2059,6571,6580,4324,3081,6077,528,6194,480,2609,5861,3826,4076,1126,4476,1593,6509,2525,3032,1120,3352,1201,6580,3274,5729,5862,4475,4006,1397,6474,5350,5797,6545,5724,6574,4302,1877,276,6604,2960,2456,4136,4382,6508,6546,3345,626,6332,6472,6351,2327,4445,4599,4643,6580,6618,3274,6594,4075,4569,4019,6598,6612,6573,6548,613,6277,3082,6499,6018,6507,6285,3096,6577,3336,5266,6648,2533,2832,5951,6169,2836,3154,6327,4685,6627, 5724,3869,3295,1558,3964,4698,1059,5370,260,2511,5651,5799,2264,4541,999,6638,6521,3299,4377,3294,3767,1955,6602,2590,4345,3793,3572,1955,6614,6187,5644,6685,2934,6469,6688,3301,4299,6580,3022,1801,6350,6492,6626,6330,294,3203,6697,3197,6293,6658,6579,6600,6702,6711,5279,4172,6572,6617,6601,3130,6494,6616,2404,6593,4126,4258,4654,4260,3331,618,4627,4089,5648,4630,4092,6669,6455,2576,2609,6608,6595,6643,5864,6726,6746,6582,1153,3089,6694,4055,4587,6586,3052,6308,5231,6310,6552,4664,3057,4018,6555, 1721,32,4669,5708,6559,4673,6561,3069,6563,2498,3073,2502,3075,6684,6474,6583,109,3203,6305,3352,3244,3E3,3247,6517,6338,3502,6753,100,4136,4297,6689,4379,6701,2456,4688,6662,4690,6665,4693,3076,6797,6674,2380,4161,6721,6457,3327,2271,6622,2986,6755,3310,3023,6631,5347,3015,2525,6703,4396,6801,6725,6803,1558,6708,1787,6824,5683,6660,6835,6513,5730,6515,6793,2312,6795,370,6789,6244,4490,6246,6666,6248,6745,6581,2456,6812,3599,2029,6797,4169,6523,6348,6762,5209,6764,6311,4665,6769,4667,1722,6316,2488, 6318,2492,6320,1738,6322,6324,6326,6852,6599,6628,2957,6839,5951,6605,6815,6477,6492,6800,6705,6802,6474,6625,6724,6720,6647,6582,4088,4244,1506,2468,2637,6731,1047,4647,6186,6759,6495,6785,6756,1836,6730,3238,618,2217,6635,6830,6896,5724,6570,6913,6655,6341,6287,6704,6289,6892,6897,6855,6717,3342,6909,6882,2270,1813,6819,2551,6686,2812,6926,6471,6825,6691,6817,2012,6922,6646,6727,2934,6921,6758,4818,6933,6949,6816,6822,6709,6947,6826,6722,4296,4371,6636,5003,6728,6935,2066,6836,3014,6296,6251,4403, 6301,4741,5584,6904,6692,6937,784,3740,71,590,6192,6416,6506,6904,6618,4338,4458,2913,3728,3676,6881,5724,6478,6260,6480,6309,6537,2790,6539,3174,6541,3177,6488,4559,6738,2230,2295,6895,6637,6785,6899,1039,6010,4631,3421,4956,6706,6887,6739,4636,5687,6821,6620,6164,6952,4423,6954,336,6805,2833,6309,6850,6809,1643,6250,2254,6551,5545,5234,5547,2264,112,3217,1797,6748,6550,6735,4128,4655,6784,6546,4395,3816,6964,5223,6859,4314,6459,6430,6535,5573,6529,6329,2544,2622,542,394,568,6016,3708,6853,4332, 3765,6719,7012,6929,6673,2718,4010,4509,1955,4136,6715,6827,3908,2753,6998,6764,7E3,3171,6266,6485,6268,7005,6270,6489,6544,6853,5876,2968,6930,2964,862,6415,5223,6944,6957,6693,6085,6908,6987,6966,2152,6959,6797,6618,7085,6959,7109,7026,6979,7030,3956,630,6890,6927,4810,6649,4325,6651,6505,6653,7008,6619,4048,7112,6953,6904,7120,7028,3855,7114,6898,4574,6712,6948,6468,6576,4333,6578,4122,6691,4387,6990,1274,6992,4580,7103,6833,7023,6659,6961,6924,6292,6932,6904,4591,7106,4616,6832,6915,720,3306, 7172,7021,278,7148,6473,6546,7180,7118,6939,3141,6463,7057,6472,7059,4574,2239,3776,7159,4392,7074,4640,1872,6690,6601,7060,2885,7062,4317,6462,2513,2891,2515,7053,6955,7080,4513,6861,7024,6956,2116,1221,7124,7136,6640,6734,6514,4605,7052,6904,6512,5964,6596,2308,6843,3249,6845,6994,336,6629,7086,6950,7131,6588,6283,6654,7067,602,6749,6642,6610,4656,6569,6863,4715,1378,1711,6766,6312,6868,6314,6870,6558,6872,6560,6874,6562,6876,6564,4682,6566,6668,3531,2254,3539,323,5044,1639,116,407,1646,5802,3697, 6410,4958,495,1456,5804,4813,4844,4800,4847,5368,2143,110,6406,5359,5333,46,55,5562,6724,5472,46,51,5562,2340,893,4911,5059,5052,3035,6418,6236,7273,7275,3580,6280,353,3693,276,6115,2255,6096,1861,5496,5145,6371,6104,1386,6447,1680,6450,6004,6411,256,6716,868,7102,5928,2090,1057,3397,3665,1307,7250,1060,7135,3020,682,5650,2598,6989,6857,3794,276,2598,4238,3549,4379,7351,1196,1187,7011,4223,389,112,2598,4271,7177,6546,4875,3569,7143,5338,6846,7238,6278,6652,7313,3985,6492,6571,7356,6860,7198,4254, 499,2978,7069,292,6498,3192,5520,6349,7117,7379,4252,7077,7360,7356,6916,7187,6918,7154,7200,7191,6165,3261,1911,4578,3729,341,7088,3910,7203,6461,3167,3914,7094,7001,3918,7003,6487,7098,7007,1289,7362,7357,7167,4304,3014,7155,7402,1037,6741,6901,4246,6744,6923,7055,766,7188,6825,6503,3413,1860,6591,5733,5211,6972,4490,4741,6301,6976,7422,7347,7156,7349,3572,6789,6969,6791,4018,6516,6844,3251,5994,7149,6854,1558,7367,6493,7369,4870,3572,7383,119,6641,7360,7173,7009,7429,7139,2998,1104,7194,833,6853, 7348,3671,7481,7406,6993,932,7396,7081,6161,7451,5630,3185,103,4563,4273,6723,6347,6928,6670,7014,1766,7432,4091,2469,438,7472,7364,4240,6613,7492,6615,7494,7436,6354,3767,2800,1992,6305,6307,6864,6535,6866,6768,2765,7256,6772,6871,3064,7260,3067,6875,2496,7264,6325,7266,7066,2166,336,7346,112,6951,7479,7144,6914,278,7543,7485,4145,4587,7491,6342,7469,3600,6889,6963,7399,4223,6847,6806,6245,6808,6667,7540,7361,7352,2952,3280,1981,4616,7356,7545,6907,7140,6853,6618,6698,712,4011,7554,3305,4592,3313, 2456,7467,6710,6656,7152,7394,5223,7472,7244,4223,7472,6585,7178,3929,7478,4243,7015,6742,1043,7434,7490,7423,4106,4081,6672,618,7543,7575,6675,1656,6090,1527,421,6422,355,3462,6241,123,4722,4962,7620,6210,5139,438,72,84,77,469,6424,710,7562,7033,6764,7035,7566,3076,6532,6997,6534,7204,7413,705,3232,7416,7415,7418,6542,7099,5262,7371,6276,7132,6589,345,7443,7408,3096,4598,7560,5223,6633,1210,7591,1963,1192,3040,3454,7442,6986,7656,6306,7049,4662,7253,6867,7528,6556,6315,7258,7532,6776,7261,6778,7263, 6780,6565,6782,6567,768,7456,6840,6609,1226,7460,7231,7462,6339,7377,6959,7667,776,7359,5223,7390,7556,2029,6340,6297,7646,1077,4494,287,106,709,280,102,2876,2424,3213,7450,7435,6352,2162,7438,4305,6374,6448,6358,1309,6360,353,5289,4289,7623,5455,6388,4299,5677,4721,6050,5624,1522,353,1707,98,5977,3529,495,5922,305,5924,340,292,5085,282,990,1675,5974,3556,7733,6376,7329,7280,3411,5026,7374,3085,5025,3419,7463,769,2337,4504,4036,7334,34,591,6367,100,87,652,110,5704,1752,293,7781,2677,3539,1002,5876, 7268,442,6364,5983,5484,5887,3385,5889,6372,5492,5494,7321,6435,5916,6399,6066,1406,339,6146,5454,6971,7039,5738,2648,5603,608,6974,7725,5219,4607,5509,6010,5512,6273,1006,450,1325,5706,3767,109,7302,6039,6134,5354,6699,5520,1668,5086,97,1658,3623,305,1713,1992,5569,3039,7005,397,3203,5586,2907,4997,6663,1240,5721,477,696,5723,336,1425,276,1415,1643,5672,1057,5674,5971,5555,967,3710,1753,5594,4122,835,6261,5284,7038,2392,5339,6254,7821,5232,7041,6254,7044,5238,5597,5371,5738,5615,5609,437,5809,673, 2772,5244,3634,5610,5615,5248,7904,5251,5257,5617,5611,5619,7825,828,2340,5879,316,6046,3984,7493,4899,5875,5707,6040,7515,4607,7853,97,83,5370,306,5462,7278,4721,370,65,675,281,3042,99,4416,709,838,7272,666,7274,275,7276,5737,7279,5277,7777,5172,7283,524,1731,4172,1822,5651,1493,5576,3787,7899,1601,2450,111,1832,5364,3603,5589,5068,7306,5223,5320,435,7878,4223,2445,7076,6158,4797,5474,6225,784,653,7277,5867,3981,5059,4676,4172,5638,1515,786,7292,5068,50,5335,4172,4820,1330,915,5868,5590,5070,6234, 296,7944,320,7311,3624,7375,346,5631,5441,3783,3044,293,5331,6452,5932,5622,345,5438,751,5440,5425,7928,101,8017,6232,5297,5631,3485,380,7635,3538,1402,2088,5631,241,438,5386,3359,8039,6208,6238,1265,3478,1506,5289,3481,3435,7811,3484,376,1664,3469,5939,393,119,5919,7740,1418,279,7987,6430,4101,7286,5399,1413,8065,2255,8067,5870,7983,1066,7858,5339,7861,208,3416,5381,7860,1423,7862,2308,1426,7868,2008,6220,280,615,4518,5713,5738,8079,7887,91,8079,7866,1414,336,1128,1358,8092,7859,608,8098,8085,7867, 8101,8088,3041,7969,5345,46,7998,5595,277,6369,7298,7997,5475,6050,8061,6239,4661,5634,7769,6426,6420,288,6391,6401,1557,4965,6093,7623,7625,6091,6199,8135,3429,5420,6231,3841,5688,838,8026,5387,5443,5429,5081,5507,5143,5872,118,1349,523,6094,5695,119,8157,614,5124,116,1668,8162,8159,2748,5307,8146,602,8148,3359,8150,5445,288,2623,7740,2109,2609,467,7634,7134,5024,3249,3418,6125,1993,8181,468,7240,6517,8187,6128,7181,5724,3274,8182,8192,7774,8188,7184,2950,8190,8183,7674,7135,8201,5148,6143,8178, 8032,6208,6069,6062,8036,8021,7764,34,6067,142,338,8215,540,7935,862,7626,404,6403,8217,3550,8053,296,8227,881,4965,438,3489,5762,5943,5945,7740,5765,5951,6385,7874,701,7610,5552,5660,7873,6531,7354,1818,8245,1082,576,5659,5138,5675,1277,5961,8238,8244,8250,5194,1610,1902,8126,8254,8265,5554,6304,275,5430,841,8255,5035,1801,8258,1617,8251,7763,5097,8013,6208,7752,8246,346,3481,6012,117,5981,4761,6432,6006,6130,5897,5499,6111,7839,8283,5293,7747,1592,3640,7330,5739,7072,8184,6019,1585,1524,8287,8061, 5982,3493,454,6137,6099,653,6102,6440,5988,3502,5934,8323,7805,5910,5265,6118,8188,5985,4773,7323,8332,2525,7809,6105,6443,8257,8327,6119,8301,6113,6138,4149,8338,7325,8006,5503,6208,6403,7815,3519,5645,4978,6383,91,1630,8140,5272,5655,5189,438,6180,6182,3489,4226,7546,8247,5520,7856,3767,5021,7772,8080,3506,8194,5891,5166,319,3969,1500,6151,4431,6154,104,4434,6157,7781,293,4835,4037,5059,5796,7841,1501,5285,8358,7738,1654,6257,1500,6191,8192,370,7851,3767,4211,575,4503,4035,4506,7918,7840,7581,4509, 7672,294,262,1514,8411,105,8322,7954,8300,4930,5519,1501,6170,5896,1860,8277,5063,2342,8022,7923,7839,8429,7616,303,6059,7740,8373,4254,8431,8264,8259,8282,534,7678,4254,102,1719,3973,1561,4188,7133,7082,5520,7880,7090,3999,521,539,8400,6059,8223,5973,8284,8221,339,370,7622,8316,5142,7281,8297,7803,8335,5667,8301,7732,7327,7735,6451,8153,5885,7445,7818,4490,7823,5217,7726,288,8375,8310,8377,481,7771,8380,473,766,6026,6678,4403,6272,2680,5243,5611,7897,5247,2340,2684,5618,7909,2691,7911,5257,5259, 7037,1245,7714,7412,6765,7889,5235,5548,2402,6195,34,65,6220,397,2167,8271,1619,8230,7331,625,653,7960,6036,8075,8273,3358,8071,7521,476,615,8287,5339,315,6045,7899,4225,320,2877,320,1915,6493,4714,3525,4519,5738,5719,8096,5719,4523,121,5722,4527,768,4718,658,7341,1192,5671,2444,3891,110,641,8253,4038,6160,7925,288,6381,335,4719,8577,1031,5878,3543,5795,8586,8397,8052,7319,8063,8334,8299,8195,5901,8342,8332,8541,664,5912,8348,8302,1677,8255,5921,3539,7756,3542,5633,5930,4457,8231,1413,3554,1657,5394, 3539,8024,8147,3373,8027,5313,316,8175,5430,8020,840,8626,3148,4909,3641,3425,1645,6083,307,7576,6632,8638,72,8155,1992,5378,5564,7742,4379,664,5226,4549,5089,7824,2208,2308,610,323,8558,2424,602,432,8560,857,5961,3424,112,3426,8644,394,4281,6369,4273,8638,80,7744,8005,8232,288,8628,8172,8630,8149,3917,8151,571,4313,3965,8636,256,1033,7601,4441,6527,4445,7065,3817,3722,7601,4576,3777,7483,967,4207,4303,4334,7189,4655,3870,8710,7116,7711,3092,968,7708,6472,1023,792,6969,1192,8697,2184,1269,7430,6900, 1860,6902,278,8470,5293,6375,7328,370,7631,7633,1786,8062,2942,7474,5223,4556,2048,2656,6959,8747,2277,2824,5394,2947,5170,2942,7180,8751,2338,291,2443,5664,7638,6535,2449,32,2451,2453,5850,116,109,7441,1818,7661,8759,2442,1285,2946,4442,1192,6265,8454,645,4403,8759,1828,2398,4558,1171,5663,3608,2654,2823,3761,4371,8779,6233,8684,1678,7766,8738,353,1524,1312,8315,7950,6031,8356,4279,602,8358,8360,8352,5186,8363,8810,3620,5883,8413,2404,110,86,82,8415,8440,4717,7927,7846,7761,2480,3628,8382,4426,8384, 4429,6152,4432,8388,6156,5647,7388,1501,3617,4732,3220,3716,8066,5059,4221,4172,8399,6010,8401,6611,3520,8393,3974,4098,100,3731,8825,6048,8398,7870,1506,7872,8266,8288,3608,3711,5803,5599,5567,8545,4717,7827,7604,502,5480,3489,7830,34,5671,442,8762,3608,79,8582,5926,8842,8041,7927,4292,8077,8566,8086,5716,8081,608,8569,1146,8083,1421,1146,7864,5725,1749,5551,8433,8537,5195,5556,7297,7305,5399,6189,1856,4429,8406,480,4149,8423,602,7779,8414,8596,7919,8587,8856,4036,262,3357,4286,8861,8927,8416,1499, 7842,7927,7929,552,688,7949,4254,5167,6034,1992,8366,659,6184,8370,4041,5520,8392,7780,8936,8826,6274,6368,262,8548,5707,8850,3999,5698,6984,8938,1501,8594,5880,7515,5883,8295,7754,6107,6100,8425,8480,8603,8502,1060,5893,7808,8606,8604,7802,6370,8980,4770,5150,8985,8981,8601,8611,7826,101,5894,1670,8995,6121,8602,6124,8195,8326,8298,9003,8981,1955,9E3,1861,8479,8988,9007,6120,6106,8346,6140,8992,5154,8123,8361,5452,8615,5923,8618,7917,8218,5931,8622,8890,7624,4700,8638,6216,8027,8634,8152,6005,8637, 2282,3539,6228,5113,8638,89,8654,8160,391,1952,4050,5799,394,8664,6377,6535,6975,1720,1417,8663,1492,1718,8667,1492,6257,8638,5686,4172,8652,5200,8651,9045,9071,9041,116,1705,118,9073,5379,8681,8165,8657,7731,6050,9035,8689,5428,8176,8220,306,838,1211,8008,7946,111,7948,8872,6378,7769,1993,7968,7381,5566,4797,7972,6472,115,396,900,3519,8067,8122,8350,9089,1519,68,7310,7947,7312,6501,34,8234,6200,8136,8476,5984,1916,6122,9006,6132,6520,2934,9010,8340,5997,8992,6446,9113,8304,8487,9039,334,404,7192, 1102,6167,6169,1561,6172,4499,6174,6176,6178,8496,436,6181,8950,8369,8646,550,4509,8917,8405,8376,8441,1327,442,5074,4727,8539,7782,8501,8207,8185,8378,8501,3420,5320,3601,8093,5678,624,114,8199,9164,8209,8981,8589,3359,9180,5207,8452,4172,8445,9068,797,9173,8311,7746,6002,7748,288,9085,3359,8016,488,6232,9170,292,277,664,6224,7999,6182,664,394,7970,4946,7924,8598,1902,3552,279,9037,8888,85,436,1956,8922,4536,8426,8482,8428,8863,2505,9222,4963,8690,373,8157,9027,7835,9238,8420,3914,6079,9242,9087, 8317,7506,830,9203,5426,9243,3687,8973,7800,454,5712,8997,8984,9129,6441,7776,8605,9262,8324,9221,9210,116,8610,9019,7810,8437,8177,9200,8305,1502,8616,3541,406,8619,3545,8621,7624,866,7354,8531,84,8680,8014,9036,9254,8137,6050,9289,9074,8686,5310,9292,9248,5626,4723,3951,7318,8974,327,6434,9272,6105,6437,7985,7322,8989,7776,9134,6445,8483,7326,6449,8486,7768,7951,8180,602,9184,8498,8193,9176,7776,6797,8198,8191,9185,8186,9329,6105,5538,7446,6309,4410,109,5546,4408,7891,7145,2456,7183,7476,1956,8205, 8920,7444,4445,8524,3151,8659,5217,7449,7913,8189,9325,9333,9327,9186,3420,6677,8105,757,6680,5254,4551,465,2774,3115,6982,449,8967,7660,7675,7161,618,7180,6173,1301,3406,4535,280,8978,7920,7464,9348,6474,7796,370,8472,8223,7740,8970,9241,8460,554,4722,9397,370,9298,8173,9253,9301,7799,9249,6095,8987,8331,8210,9199,6088,3516,8306,9099,8462,7645,4223,7985,8944,6764,5811,5816,5834,5817,5845,5813,5788,5845,5829,5824,110,5822,5766,5828,5823,9433,5832,5837,2675,5842,9444,5836,5835,5831,5750,5841,9437, 5846,5784,9431,5847,9445,5839,5789,6387,721,8118,7107,6472,104,8155,8677,9464,6825,112,5225,9468,1299,8213,6394,1636,8048,8127,7951,3871,8971,6642,4459,4465,3748,3950,3946,3116,4464,3881,2620,3830,4468,4454,2341,8933,4609,3731,3532,5265,6750,9484,9491,9453,3883,3879,9490,6429,9505,9304,9153,5521,671,630,75,101,121,115,9387,7988,5600,5692,7898,8899,2448,5688,5548,5029,1409,7421,4007,4413,4213,2356,4401,477,8764,4122,3740,90,552,109,262,4576,3828,9492,9506,4463,9546,9510,9488,9512,3740,5443,7498,9483, 3746,9485,3835,9511,3833,9559,3945,4462,2624,1022,3940,8253,9502,9558,9504,3121,3837,3948,4466,9487,9565,9553,4455,7864,9545,4460,9577,3751,9508,9576,9547,9561,5662,7798,7871,5969,445,899,8682,3999,3740,3649,3553,7157,3943,9563,4467,9574,9586,9486,9588,9552,768,5638,1621,4610,6798,9529,323,9534,751,8533,4552,6035,4946,1744,5399,6163,9477,9159,9202,404,9626,5662,3533,3535,3429,9592,9632,158,114,8136,490,8424,101,5103,8632,121,5273,578,789,2343,4509,6081,109,8925,8678,9220,6599,7784,9652,8394,5068, 8396,8417,5520,9367,4757,9630,1404,7309,8051,370,5456,3767,8884,561,9642,8833,5654,4633,9627,8953,5798,3839,3977,9617,838,4488,9537,6885,8593,268,384,108,72,70,79,86,8564,9190,6764,8901,8107,4526,5724,8574,8027,8044,6394,8046,3985,8838,4863,553,5598,6764,4872,95,4157,801,4354,287,9714,5692,838,768,97,97,9657,7781,1719,400,9674,3706,9676,3927,578,7781,8411,9690,86,9693,9695,2165,104,4833,9730,5302,4341,7781,4530,3608,67,4533,9520,8848,5600,476,1440,780,8096,9372,4542,4555,8840,2204,9615,2761,9755, 278,780,768,9367,2511,520,8665,5747,1719,342,2799,121,275,2440,408,2944,4935,3696,9726,7073,967,3115,3819,9620,71,9778,666,907,605,7486,9571,9509,9573,3658,9575,9607,9551,9578,9374,2341,1636,9556,4568,9503,9798,9493,9605,9550,9799,3832,9567,9806,5314,9581,9601,501,9814,9812,9800,9606,9560,9609,6304,120,9724,9785,8891,370,6148,9644,9746,9786,741,1358,7834,4284,7832,373,9841,4172,9481,316,7317,9582,9603,9584,9813,9583,9608,9804,9817,2612,1636,6109,9821,91,9823,9548,9489,9863,9589,9495,2776,8840,9052, 7341,3827,9854,9803,9585,9866,9828,3885,3887,9683,8924,8820,9469,8371,1501,8319,8997,613,1687,9712,6535,9714,9716,5329,3371,9719,3694,95,9721,1642,9857,602,2089,7572,9861,9877,9804,9801,9827,9856,9868,602,9789,465,4962,1963,9873,9851,9855,9876,9874,9815,3952,9912,110,5443,4074,9809,9797,9587,9875,9853,9919,9932,3884,9787,2341,8823,9500,9850,9572,9824,9507,9907,9494,534,3456,115,9832,8873,4797,9660,8968,2333,8650,5459,3115,9541,2059,8845,9941,9811,9864,3269,9945,3837,3086,3870,3115,5443,9860,3107, 9810,9931,9923,9865,9922,9943,9924,353,5671,3533,9891,7715,1608,8860,732,1080,3731,4194,1714,4044,9805,2612,5443,9849,9906,9978,9964,9562,9942,1E4,899,8040,7337,8040,9925,9914,3978,9681,452,9881,4442,9918,10002,9561,9909,9564,9946,828,100,106,3977,294,7738,8817,9949,9883,7781,103,9792,9780,277,9950,9390,5933,9743,5631,9643,9645,291,9647,7796,353,7319,9982,119,2664,8998,8432,9013,9130,7776,5370,9301,10050,9313,9007,4770,7858,10057,9010,3473,97,7789,10058,10053,6105,10064,627,8784,9266,8328,6179,9227, 8421,3359,2356,9271,10073,7324,6508,7784,8472,10071,8330,7804,10082,4607,8027,5646,10062,9309,3502,7784,1420,4385,710,9414,8981,3546,9228,8422,2356,4518,279,8611,8129,6003,9024,8617,3472,3917,1696,406,291,3358,1514,494,91,3282,353,1516,7753,7741,631,302,10122,726,5978,296,9471,9081,381,10129,529,10131,2461,10135,2737,10123,10138,5933,8650,125,93,6136,3917,9997,8231,9650,9961,5932,10055,3888,8126,815,101,9135,3361,10117,5922,278,10120,10136,10124,528,389,8817,301,10147,9283,3547,6113,400,9972,9285, 473,6101,3978,9870,3378,5935,9701,8997,9704,8021,9282,1053,9075,5945,5273,6074,1451,10162,3539,10164,284,10121,10141,10130,10125,10169,2198,10171,1009,4450,3548,2599,1009,10177,815,422,5275,10161,5945,10119,10199,10166,10143,5344,10128,10201,10137,10203,5397,10223,2332,10142,10125,5123,10228,2297,10230,528,9466,5873,10146,10213,8287,4502,838,10194,10216,10118,10198,5039,10220,10203,5108,10239,2316,9236,5935,10155,3281,370,5379,8389,3741,10215,8540,116,450,8841,341,115,58,123,120,271,1145,121,10272, 714,125,47,10270,58,1738,10274,48,125,5158,10196,10218,10248,10224,10167,345,10222,287,10249,10168,10227,10172,7335,9905,8231,9079,8033,10262,3015,3539,10265,494,10267,10269,5264,10275,4128,5225,10311,676,10277,123,10310,1738,10133,1668,10280,10284,3366,10246,4226,10219,10289,10143,5593,10233,2848,10235,10291,10206,10253,460,8590,10187,8231,973,10150,10178,34,9650,9544,1539,1585,8223,5661,9170,8844,2340,9845,5472,5399,515,8755,9103,4219,5562,3695,8379,9197,8499,115,8379,9366,112,51,10363,8774,6986, 9365,9273,8219,9139,571,9022,5314,8816,10205,9170,5162,9102,5691,8171,5056,2974,5309,5694,4273,3523,5282,9378,6825,9670,5207,9956,7743,10134,5284,10399,7214,8798,9274,5294,9276,9302,7338,9125,1455,5496,9425,10100,9015,1668,5895,10067,9263,6373,9416,6144,10110,9419,7951,1882,9245,2857,8400,8055,3392,324,3394,9475,1547,5441,9037,9294,9113,9406,8688,8174,9293,3399,9629,10379,9400,6431,9257,8975,3546,8977,10419,9267,7161,9128,8979,10059,7776,9009,10094,4717,9012,10415,8344,1481,6107,6139,9478,10052,10420, 8349,8799,8061,8354,1473,8144,9687,2986,8895,9231,6133,9233,10036,5895,7638,10355,8875,10075,101,9156,6183,9158,7792,8909,8270,8449,8868,9955,5873,2434,6406,8090,7838,10484,8972,9395,6236,8533,6170,3933,8695,9100,260,9246,7382,8534,3371,8699,5738,2542,8096,2542,2450,523,4175,323,768,10290,9164,8876,1362,294,9845,3999,2671,3372,8552,5738,8554,9055,7715,8557,5260,10541,8574,9843,294,10520,5241,394,2452,9988,1715,743,10553,8907,1357,9697,9051,8897,1353,7899,9699,8903,7863,8573,834,8847,8780,1031,8966, 10505,4941,9234,5877,7915,8595,10482,9219,9661,9402,10045,9306,8982,323,10093,10081,8427,6135,10045,9413,10088,10590,3502,9209,8542,10080,10458,6132,9137,8799,10377,10111,9280,1451,10189,371,9029,10343,8623,5932,292,618,9284,8531,5424,5387,10244,9479,5160,8170,5309,9407,97,6074,370,5099,9170,9421,6460,5223,9424,9097,9056,5807,9428,9446,5748,5818,5754,9459,9434,9441,5825,9435,5764,10645,10643,9443,9449,9453,5833,10641,5838,5840,5848,10653,9457,10657,9458,5612,9723,10518,4230,7061,4442,1166,10524,8767, 10526,6053,10528,438,10573,7073,9256,9411,8982,10107,9136,10466,4224,8241,10682,4930,9221,10615,101,10599,10471,5890,9015,9265,10600,5908,10683,10614,10164,3978,3650,9317,10687,10109,9418,9278,9025,1455,6034,7441,1009,5935,10612,8231,10699,4226,10174,288,9079,10303,292,10264,1515,10307,5416,5479,504,445,8034,5087,10513,10064,5673,9593,48,8041,10339,1860,10441,9707,10680,116,10535,4643,8051,10006,6208,9630,8612,3396,10431,1338,380,8739,5531,8228,8236,9170,6163,737,9122,4965,3466,7136,9643,7781,8949, 10493,6185,7781,2109,10496,841,10762,5533,5658,7548,6407,7019,1860,10775,3460,10764,8908,6202,1506,10782,7621,1613,7344,8119,5059,10581,9954,8819,8393,8862,10036,1882,10773,877,10788,7628,2697,10764,1057,10803,121,10784,353,372,7975,8878,10808,6093,8735,1677,7627,1550,353,3632,4429,1443,3357,5630,8814,1549,10439,8799,10825,8124,10821,8638,10740,9300,5444,8635,8488,273,8656,2511,9057,8661,9052,279,9061,8666,1670,8669,4477,8680,9596,5053,8648,10403,9068,9045,9047,8169,6050,10835,9086,10837,10409,10005, 8807,5454,6163,76,9095,3371,7980,2862,5040,4040,5288,5631,3466,10870,620,751,9769,6027,10880,10872,5032,10875,5368,10877,6208,5044,10885,10882,10004,330,615,7781,10237,118,77,10358,6750,994,6752,8682,10488,6295,10856,3999,4608,9991,8291,737,10913,10577,8466,8853,5631,8469,4093,10909,4122,9188,8400,5976,5945,9723,10022,10024,3457,6394,8358,65,10929,997,5103,5850,8155,2035,8832,4198,101,1696,5101,552,3965,4808,7294,5399,8454,8836,8457,4371,8459,10036,4044,10913,1404,607,5196,4965,10925,10827,3460,10817, 7812,8038,10727,9673,10447,6396,10839,4255,5646,10963,6394,6200,10193,8364,10796,8931,8822,8824,8957,10576,7926,7844,8829,9052,7849,2165,9835,6150,8836,8386,6155,4557,8841,9401,3709,3609,9097,10907,10536,6368,8845,8962,10482,8964,10923,8960,110,11008,9951,2862,11010,9423,9883,8858,9214,732,10798,8929,9672,4739,8866,5480,8260,932,10853,4223,5596,8505,9368,91,5606,7902,8515,5611,7906,2761,5615,5252,8518,11043,8520,4472,9531,4043,10922,4223,5493,5286,1041,2635,7829,1915,5309,5690,7400,10390,1998,10801, 712,8434,4043,5480,8886,8581,8583,10395,9885,8892,7844,8894,8565,10482,1060,8109,10563,9525,91,10565,4524,8084,10185,10558,10139,2165,10384,1974,5367,9068,8404,8919,10531,8921,10104,8412,10797,10985,10036,8955,4702,110,9497,9991,11023,9654,1006,8940,7930,8943,10635,7879,10478,8948,9155,8367,8951,9678,3987,11104,10792,9659,8597,10582,10500,9077,2165,10397,4172,10676,9833,10811,10578,9482,11128,1585,7319,9887,10453,9010,9259,10588,10696,10455,1378,5913,10594,8195,9052,10087,8481,8993,10702,10462,8996, 11146,10692,10074,9001,9010,9005,11147,11162,6960,2456,9133,10464,11151,10483,10591,10467,9017,10470,10100,9020,9113,10475,1481,9279,7757,10607,9400,8620,10718,11079,10210,7797,561,505,7740,11025,2780,5957,563,7873,2450,11056,10735,5959,7869,442,684,5961,11196,11202,11199,8767,11201,10728,1314,5554,3758,4722,8805,10007,6421,9629,10746,10867,3519,10760,3479,9902,110,8024,8997,661,576,2690,9284,5862,9974,9802,9976,9965,9999,9867,10175,10864,9984,8525,2609,474,516,1309,1714,7760,3618,4872,2670,4557, 95,9893,592,9899,10387,1417,121,1609,2689,780,104,3616,281,1713,2682,102,95,10047,9994,602,11229,8591,924,11231,107,11233,7227,3672,9862,11240,9609,10018,9604,9936,3253,2341,9959,109,10153,9973,9930,11237,9979,9977,9934,11238,11274,4979,9542,10346,11295,3874,10016,11286,9826,10019,9967,370,10047,9633,3537,9635,3534,9637,8142,10678,8477,6097,10056,9261,11166,10082,10705,9277,7755,10606,495,10152,10457,370,10345,2199,10209,5935,9523,11277,950,11279,11281,11339,9527,9750,9095,11280,319,3547,1585,10958, 8294,10450,7331,9127,9002,10068,10596,8337,11158,6129,6444,10686,6135,6418,5980,3486,10476,340,11091,7659,6825,8946,9207,11009,5399,7428,8728,1907,7615,10778,7614,6813,7455,7372,10955,4328,9380,3289,771,7551,4649,8256,11380,4575,11385,2524,2934,8758,1150,11384,7454,1059,7710,8952,1839,1585,4441,4176,10919,6061,11026,10621,5454,11132,4829,5859,3523,312,9619,9538,7360,11031,4335,5476,11412,6070,10755,7618,1555,10977,10758,11223,3542,275,5625,11125,9218,8439,10986,5990,10766,9838,8930,11105,8823,10574, 8937,647,4509,6163,10873,374,10888,5042,9558,8132,8139,10964,4955,4743,32,8133,3459,11462,287,6206,11460,11433,1549,3466,9512,3386,10887,5041,841,9484,11459,11431,10931,6402,4965,3462,287,11465,6395,11485,32,11469,11481,5919,3462,9512,11124,1760,8582,10011,4062,3980,9753,6159,8928,11110,11446,11439,9952,11127,10795,10045,265,4735,1506,5099,10778,10629,11514,11512,4752,8959,260,8961,10570,5032,11017,10633,11019,8889,11021,9658,11503,11450,9160,5520,8410,10079,10029,11102,8929,2317,11454,10199,11477, 5287,11458,5133,11470,11483,10776,432,11486,11548,8134,11550,2761,11491,1544,11493,1561,9512,10768,8368,10770,11445,2648,1558,11444,11135,1378,8857,11106,9990,9613,11449,8958,8588,11006,2340,11014,10359,374,11526,6472,1955,3466,11542,5039,11544,11055,3874,11480,11558,10971,3466,11552,11492,11594,404,11468,6197,11553,11466,8633,404,9512,10812,11587,32,11456,11478,11546,664,11487,9123,862,11596,11593,11461,316,6093,11600,419,11597,11619,121,10816,10966,3484,10971,438,10862,9204,8029,9206,8019,10973, 10597,9211,6229,9214,8645,11373,11073,9221,8601,9224,110,9226,1797,9229,9422,11510,3551,11646,9254,9240,11643,5369,9254,262,10515,1992,10155,8151,8358,11632,9408,10864,5291,7319,10695,11161,10089,3551,9269,10691,11178,10375,8284,10604,11182,10708,11185,5929,10173,8624,6390,11547,11624,11471,10783,10780,9098,5277,4722,11592,3444,10971,3462,6212,10821,2817,108,6982,441,9410,11322,7320,10418,10108,9319,7734,1682,10425,6031,2552,7570,4652,8446,3050,6549,8269,7525,7680,7527,2482,7529,6773,4221,4672,1732, 6777,4677,6779,4680,6781,7036,3278,11718,9569,4594,2732,7504,8358,7017,2828,2901,7166,850,8721,6825,2435,3161,11749,7664,6891,7164,3296,6834,7168,10778,1957,2520,3347,7592,6472,2144,2937,6912,8718,3572,2908,6945,2059,2521,8712,6943,2975,11748,6856,2920,2898,2586,3339,11750,7501,4398,2956,1843,2931,7153,11032,11789,7216,1120,7236,11759,6911,6603,8725,1923,2717,7333,11445,2506,7453,9796,7158,7488,7160,5990,2405,6621,11801,2410,3160,6894,11787,3999,1933,7570,9808,8746,11784,11703,7517,4189,9082,7427, 2804,6629,3335,7670,2069,3290,2976,11749,7180,2922,7110,4292,2586,3997,10299,11720,2745,11814,7697,11820,2183,1035,11397,11306,7405,3778,4391,8708,2993,2936,2741,11771,3128,3124,11790,3346,3033,11777,5406,11768,2706,11862,2916,11703,5728,9192,5595,8757,11751,6837,3314,11785,7781,8776,291,8745,9106,11843,7570,4107,11846,11860,2131,7218,10791,3133,2294,8698,10667,8700,6463,8702,3926,7336,8049,10752,11873,2362,7595,5223,2545,11826,7728,2219,11757,11850,324,11886,3260,6751,7224,3309,11795,6884,3145,3159, 6978,11815,2188,7609,4603,3349,2581,3017,1843,3203,11768,11776,11792,11824,3326,11935,6959,11753,6799,7559,11915,11742,3189,2660,7175,7585,7611,3322,7163,5595,11743,7147,11879,3014,11768,2520,7426,1192,11753,10620,9426,3213,5091,9058,4664,4747,2849,3303,2843,7127,11946,7129,11956,2224,11959,3325,3350,2519,2131,11936,2710,2238,11943,1339,10901,4821,7221,11891,4401,9339,6865,5233,7890,4742,7046,2935,6786,11894,2822,8748,8795,4445,8797,3302,2970,3298,11804,11569,3093,7380,1974,11979,11836,1704,6331, 11849,7245,7699,7230,6337,7702,11360,11881,11703,11839,11779,3095,11749,7128,6942,5406,5144,3255,2623,9648,11535,11987,2348,2407,11963,11802,12011,1868,6671,4234,11825,2558,11981,12047,11817,7704,11872,11762,11721,4622,12058,9981,7883,10668,1240,9341,9343,5236,8530,3194,12043,11833,2857,11909,4474,6736,4453,2517,4697,11398,2360,1855,4488,11996,6535,8493,5583,9360,11911,2362,4120,11939,11767,3050,7511,4234,2942,11069,11035,8766,8768,9518,12001,1957,11797,3332,11744,7016,7606,11168,3239,12020,294,7523, 7341,2477,1714,7254,7682,6771,11729,6775,11732,7688,11734,7690,11736,7692,11738,12059,1892,7201,4214,11900,7206,4373,3283,11774,1814,11765,11834,6820,3296,7180,11753,7032,11035,7640,6880,11859,11785,12031,3314,11930,1813,2857,2562,12145,11974,11918,5406,2899,11785,12106,2268,12092,11766,6825,2899,7353,11072,5711,2586,3202,6959,3740,3255,10177,11235,11296,9910,9921,11300,11298,9512,2899,7580,11653,12015,12108,8878,7017,11870,6823,12022,4223,7817,7884,6973,7717,7724,8494,9360,11884,1003,12062,11859, 1855,3028,11993,4172,12090,2660,8504,11244,9356,757,8508,5250,8510,7896,7903,11042,2681,11041,8516,11264,4883,12227,8521,11973,2740,11893,11928,2580,11926,6883,11986,11847,112,11938,12168,11880,3296,12188,11451,12042,2984,12046,12143,2726,11912,1177,7669,11925,3183,11892,3285,12045,11868,11830,3344,12139,12239,2936,11791,12243,11960,3050,6996,7089,11652,3209,3225,7414,7649,7093,12277,6486,7653,11049,7541,11896,11785,6657,12142,1940,7520,11953,2935,11844,8279,12290,2850,11780,6687,6829,11947,11793, 11949,2971,11955,4122,1750,11875,11723,7400,3314,3147,2831,11423,12217,91,12149,6783,10961,278,8783,9501,9985,2337,8787,7790,9453,8579,8763,8882,12213,2842,11827,7730,12173,2135,3291,6931,12250,2188,12216,12274,608,10670,2871,2570,2879,2875,2877,1431,12345,6177,3283,12133,9230,6309,7064,7207,3816,2893,12253,3317,12207,12283,12295,12033,7397,7729,7665,11887,2704,11807,12180,11809,11856,4579,7195,3338,11703,12080,11404,7219,12043,12165,11954,7110,12004,11812,12043,11761,9381,12383,11923,12388,11859, 11991,12075,12169,12098,8778,8754,10571,12251,2268,4562,12307,4223,12305,5859,12161,12333,11983,278,12073,12294,11974,7170,1199,7199,12029,12091,12303,6965,12309,11837,7075,6718,12287,12236,12257,12167,12426,11399,3296,12152,12054,11816,12310,7457,7228,7700,12026,6519,10460,11831,12139,12392,3093,12153,12432,12377,6906,11382,12071,2639,12195,10479,2561,11874,12407,12211,12018,11864,12391,12337,2530,12050,4284,613,373,3043,3490,12014,2899,3147,12115,6551,2478,6767,6554,6869,7530,7685,32,11731,4674, 4676,4678,7537,6879,12316,623,2942,12009,8409,12060,7657,7239,11097,12386,3088,11770,11407,2744,12056,7590,7979,12256,11896,6629,12385,12362,12381,8750,12174,12423,2895,12361,3016,12359,11976,6917,12299,11940,12019,2385,6661,12312,12340,757,12315,7694,12232,12503,3220,7644,10632,12527,6536,12276,6264,7002,12280,7097,6543,7655,12452,2805,3186,6763,12460,3159,11882,11445,12146,12061,12501,3092,1750,12084,8491,6309,12087,4744,7247,12032,11754,6533,12535,8658,7647,7417,6265,12279,7096,3235,5261,8882, 11747,12524,11924,7050,3684,12439,3004,12027,9925,3255,10342,12371,9602,11308,9908,11310,11288,9816,2293,12292,8592,11816,6786,12412,12051,12334,12514,6940,12298,11978,12308,12448,3196,12604,7056,12367,11752,12414,11951,7171,12010,2936,12600,7214,12252,12609,12360,12555,6696,11831,7010,11819,11948,12410,1844,2271,12445,11840,11984,12259,2958,12463,2658,3315,3304,7425,12261,1954,12443,11865,12241,12141,12506,1957,11894,1585,3691,9641,10866,11415,3519,476,6221,2995,5945,11661,1927,7521,5945,10242,9913, 10393,12664,8547,9675,5702,12668,6355,11180,11219,288,8255,9170,491,786,8358,8245,5075,11628,5129,10423,9201,34,9289,98,423,6504,6095,10585,10417,8999,10462,4722,4838,11248,357,11370,9258,1150,12690,7142,12624,1059,614,98,5448,12554,9678,2015,12705,1703,11403,11782,3794,5138,12171,9071,12711,7119,12057,12708,6531,1703,115,6618,12147,6807,3153,12130,526,12729,12725,12504,12425,12723,4295,12533,12272,12567,7251,12569,7651,12571,3170,12541,12574,6490,10004,432,12155,2059,12506,12690,12016,11658,1192, 12710,12730,7087,3096,9383,12729,11945,12520,12606,4223,12763,7226,4604,6792,4571,7461,12441,6339,12737,6838,6350,12729,11966,9056,11968,276,12562,5093,4411,10851,12711,12760,12758,1703,11393,6642,6167,11211,12372,677,9065,12724,12765,11755,6470,11829,12762,12729,6587,7373,9327,12792,12712,12114,11876,7715,7526,12478,11728,7531,12482,6873,7534,7262,7536,7691,7265,7693,6668,3132,12759,12191,9250,7605,7508,12814,12797,4568,12799,7487,3778,3182,6798,12717,12021,11282,6334,12025,12583,12779,3502,12763, 6740,8731,11457,7507,6903,11895,12706,7409,7881,6481,12538,6483,7417,12751,7006,12575,12803,6518,12455,784,12763,6828,12611,12521,8647,12711,4136,12286,12741,6988,12370,6750,12841,6991,1914,12844,12861,12766,12434,1940,12875,7500,7213,11788,1194,12690,11722,12548,12818,11725,12820,7683,7257,4670,7259,7687,12825,7689,12827,12128,12829,12735,3985,12784,7570,12883,12805,12566,7411,12313,7092,12749,6267,3920,12542,7654,8882,290,12755,7570,9928,7666,12781,7237,3241,12196,6333,12024,12777,7701,12852,11895, 12662,10516,10857,12711,12732,7564,12734,7641,999,5138,8358,12690,12692,108,391,432,12871,12884,11958,12628,12300,1258,12891,12034,11977,12036,12409,771,12969,12331,12612,5406,12895,3096,11842,12899,1703,12881,12255,2165,12763,12964,11396,2632,7603,12835,4017,12871,12096,5280,12937,6804,7249,12475,12118,7681,11727,12906,12480,12908,7686,12124,12911,12126,12913,6323,11737,12954,12754,12654,7496,11823,12879,12764,7165,12365,11914,12771,12522,12974,12846,12525,12148,7565,12150,341,12729,9355,12536,10670, 476,10689,4493,4149,10434,10833,12691,392,786,12961,5946,10973,7440,8406,12699,808,2760,1059,3389,10730,7740,10733,7337,8443,4717,10738,1818,3389,6238,5476,10752,8057,7314,10478,9252,5442,9293,9170,5264,8167,10941,5168,101,13076,2165,8155,13080,10400,8166,786,8163,2165,120,13083,4254,122,13090,5588,13093,10860,9113,13071,10438,370,11697,11432,11549,3460,8475,11435,10184,8219,13101,11482,11554,13104,5534,3464,9395,7813,7740,12343,2842,10371,11389,8208,9335,7775,6105,13049,10531,11328,9302,861,1700, 6419,6003,10411,1451,4978,4772,11144,794,13137,12698,6050,4778,4175,2945,6236,5157,12703,840,9615,838,318,1309,4901,296,4052,1463,4869,3600,13150,602,13152,1590,8914,7971,5399,10204,4230,4906,10487,10793,11441,11103,1609,1443,9425,9051,2282,98,8096,9427,2308,13178,5657,10051,8276,8911,8267,5166,13169,568,2760,5861,11093,3999,6043,4852,11539,11505,8408,8945,13190,13162,4945,9104,5399,4872,4860,101,4791,9889,4840,13154,4798,4846,4800,13158,2898,8504,9212,3999,9194,13195,13190,4862,13211,493,13213,4051, 7286,4868,5342,6344,13160,110,13162,12099,11575,11442,1606,13190,5963,13228,13156,13231,7288,4905,4925,3608,13162,13243,4815,13217,4347,13234,13162,13193,8915,10489,1487,13190,4837,13226,4841,4049,5576,7285,13215,13253,13233,5064,3371,12332,1192,13207,4835,5963,7995,4946,8116,5053,13234,9067,11004,13281,13271,5689,7976,7666,13234,5694,13284,7596,1609,610,13291,7293,13280,13293,1668,394,5565,7298,13298,5223,13275,3608,7467,4877,7989,5856,1217,794,9783,4926,8438,10506,9220,3354,5679,5919,10979,10170, 9208,10387,9067,10386,11059,10389,3371,10391,5053,10393,5116,12172,1192,11417,4122,10899,8164,5126,12674,10603,10408,10378,11625,10829,10406,10377,13100,10192,11630,13134,10451,8320,10180,11164,5794,10589,11152,8991,13359,9008,11357,9010,10461,13362,6442,11171,11155,9015,9887,10469,5991,11172,11179,10474,11630,13148,256,118,11051,7058,10381,5180,8878,13321,13384,9722,8365,11119,9157,11564,12014,9900,10388,2808,11062,2165,8497,10364,9328,13124,12028,8773,13195,12671,10994,4430,6153,10997,4435,12041, 1501,11496,11109,11139,534,13382,6632,11095,12172,7661,13200,12212,11651,838,10035,8585,11504,13417,288,13222,4122,13337,11424,10401,3767,8419,321,13426,9389,5517,13172,8929,8447,8280,4414,10499,4477,9150,7764,11015,374,10794,12247,9402,10969,1313,9665,13106,8218,8284,8050,316,784,8805,11222,12656,710,9847,11658,10015,9963,10017,12592,9852,11289,6032,9731,9836,316,8229,10580,13444,11505,13471,4456,11282,11236,12182,9933,12590,10020,1861,10548,10743,12673,13438,9751,12353,11581,1191,2772,8096,973, 95,10185,12282,12177,9031,12588,9822,11285,12591,9966,13478,3871,9820,11854,13513,12184,1E4,11287,13477,12594,10559,11035,11084,8571,11086,8906,11204,561,10734,7798,9834,12671,10041,11122,4509,9598,10254,9998,13522,13475,13516,13526,11067,9636,9124,11027,13550,11320,10584,11355,10586,9260,11710,11362,9278,1402,10066,10063,7813,10086,11711,9138,13344,10605,11184,495,10714,10343,10579,13574,13519,10611,4282,10160,10840,10217,10247,11609,10294,345,13167,1164,10252,11654,11157,285,3354,10878,404,10893, 5304,10973,12761,1031,11225,1506,10810,828,9686,1992,12948,3999,12326,5665,9833,13128,13345,6394,83,1516,112,9871,7740,13587,12923,11629,8045,10091,10251,1612,10786,8910,10498,8272,10750,3438,9417,11520,9202,6236,9168,570,9170,13400,10372,13122,9175,13403,10851,103,11608,11610,9557,672,1166,5370,5320,9373,2615,13651,111,13653,2773,12685,9275,13633,9302,12683,9169,13461,8637,13646,4576,1166,723,7784,44,13652,1662,2685,4429,259,407,44,9095,522,709,103,111,13673,13657,13675,4044,13686,13658,4044,50, 432,9437,602,260,397,592,3269,13670,6437,4287,1416,13674,2263,13677,100,13679,13681,915,115,13684,13690,13688,2649,13705,511,114,13693,4558,13696,324,6182,11561,9172,13641,9174,8500,13644,353,3424,9518,13219,11445,13424,13221,12459,7012,7836,4428,900,281,100,309,8673,8168,13318,10422,6427,353,67,1117,3227,103,10831,13352,13666,13576,8284,13756,13346,8739,5045,5103,7740,915,4820,6034,10057,10744,4223,1482,11420,2531,312,8550,11376,4254,1482,76,13776,1516,4099,10057,9473,6229,12658,7836,13775,13768, 13778,8683,10406,13765,11430,11618,11691,11462,13347,8219,11614,11484,13113,8288,9093,8010,7277,7740,1607,11101,13484,13317,13431,13479,4835,7786,13675,5427,13176,13171,13813,12189,13415,13198,13814,13810,3608,13817,465,11649,10103,10078,280,11003,57,13821,10575,7493,13612,3399,661,9931,7740,1645,13161,13192,13738,7475,6474,3274,13256,13847,7058,9349,3274,7598,7079,1773,2609,13851,4883,7586,1690,13859,13846,13861,2434,2609,13856,8197,13868,7121,6747,3846,6913,8211,3115,8237,13052,6406,3538,11683, 13572,2337,8421,111,9940,10195,13582,10326,10288,841,8737,9321,10333,1251,1568,7849,13589,7777,1771,10115,13888,10325,10165,10328,10125,10330,10293,13906,528,1550,10147,8484,9320,11714,11694,6031,12205,13237,4403,12101,108,5701,2454,2941,8794,4188,12492,4823,1821,10457,6764,12729,553,7302,8702,1828,4371,8793,12006,3203,13439,12469,5951,3987,6007,4833,293,10077,395,11537,13811,11E3,12490,8794,12408,2046,8794,13929,4398,11878,12966,5223,12289,3767,12198,12065,7822,12201,10843,3216,6249,8523,12085,12903, 8527,7043,12E3,13926,12006,2944,13960,3999,8782,661,12320,8525,8786,32,2334,260,12325,8791,9373,8892,1662,13948,4442,1076,13893,6645,1861,862,751,3404,1645,11658,6169,110,10934,118,6034,9719,786,13465,8907,1585,14001,5430,11141,8976,8321,10454,7805,4040,1442,6138,5141,8252,6190,4429,13566,13560,11165,11673,10595,8329,10703,11174,9016,436,12179,11678,13430,528,14027,436,69,14029,4477,13421,13563,13560,12658,11358,10472,10148,3546,12587,14044,11533,13635,14028,9088,9748,4532,11364,13367,11509,6235, 14064,7736,11163,10094,14026,10468,14050,12389,13374,11155,9953,14071,14048,14078,11363,8341,14069,14045,14083,10690,14085,10304,3001,10063,10468,8347,14075,5368,14047,14091,1310,13612,13379,341,13421,12403,12902,7977,12444,12648,12986,13421,12984,12505,5459,11799,1961,12643,1031,9162,4429,12756,5087,8464,9689,615,12395,5406,3585,11852,3462,13120,6193,10373,13123,8188,14121,7544,12847,12775,7459,12850,12872,14137,13421,12901,7524,12903,12476,12119,13003,12121,12822,12483,11733,12486,12828,7538,12830, 7540,4820,13957,14120,13421,9643,13771,5223,2648,13331,11052,4494,11060,11032,7514,11505,9736,615,14163,1605,551,11841,7705,14146,11387,11658,7661,14130,1160,930,10550,12354,6528,12356,6530,921,12420,7973,2923,12445,11153,11517,1860,11515,526,14184,13028,12733,4692,13014,8268,14108,12941,7051,6737,1749,8822,281,13987,12189,5799,7105,12416,4254,14181,12635,3334,12260,12093,6825,14225,2930,11848,12873,3101,6883,12445,9341,14141,6597,8855,14138,12722,4200,11740,13335,1031,14231,2347,12242,12430,636, 12515,12727,921,12885,13649,11855,677,11857,8403,14031,112,12876,7437,12977,3014,14138,12558,12199,7447,6300,12201,8495,4041,2123,2117,12940,8722,12444,12638,14030,8918,13422,11390,14275,14226,6968,14278,6825,14138,12429,7172,1597,515,10587,9012,13445,1609,915,11522,13235,13931,7341,4011,12934,11845,11094,14262,11781,7552,1066,12297,12877,13024,13420,14262,12769,7398,12878,14290,13421,12976,14320,12162,7197,12017,9539,7393,14251,14196,14276,12500,12714,2029,13736,12023,14214,12078,11067,8580,13945, 9161,14206,7111,14334,8719,12627,12897,4273,14322,12336,14119,14180,12450,12081,1300,7496,11890,11094,12172,7458,14240,4656,13433,4568,7246,14261,14283,12839,3652,12799,1166,9384,1325,9512,1955,7180,4830,12817,12405,13426,9882,13953,10799,11913,2329,14266,12762,13421,12465,4172,5493,10494,4403,7964,13990,13724,14282,6191,12378,12719,6344,14113,12726,14346,11772,14352,14229,14129,2923,12619,6295,1328,14202,1818,14204,9708,14309,14386,3143,14324,14267,14184,1688,630,14100,7781,1482,14179,1940,14188, 2073,8730,12991,8732,7433,12837,967,6729,12361,14291,14348,10385,5053,14351,14222,2966,5280,13421,7180,11372,8651,14446,7358,13963,14316,14283,12596,3870,6883,12509,14248,11861,14254,14205,14317,12896,14444,13772,5859,14128,3014,290,13017,12404,5223,2425,14239,6644,3592,11352,6236,7740,8018,13175,13835,5600,115,13178,13180,10637,13182,103,98,3838,4413,6024,5597,1504,14281,14255,4574,5103,9326,13401,10374,6105,319,10870,6368,11531,4928,13485,13814,574,5638,6798,1970,450,9110,13836,14062,9679,10569, 12863,4823,1720,8358,5418,4656,9259,5714,10562,13505,10566,8905,4527,8099,8087,13061,5387,10914,6236,10741,293,5671,8274,8151,10077,5365,13220,4122,620,5349,14175,13814,4057,9880,4063,13428,14522,11576,4510,9533,4291,111,542,5032,7300,13259,1032,14256,12840,747,287,14373,13451,14375,7695,5698,12740,5854,13311,1605,14012,475,392,7341,7661,599,1117,400,12246,11534,8969,6220,565,4839,9471,99,70,1662,1514,2806,13665,13453,5465,14571,10537,8551,10685,11078,10541,8096,10544,8559,4656,13657,5625,13647,11589, 528,5043,13146,4783,14496,6023,4415,5597,5859,12445,392,10511,838,8358,5044,10510,8535,13389,6846,14581,6608,13292,7973,2E3,14132,9363,14506,14136,8195,14393,7833,13498,8453,14581,13204,10360,14571,1482,78,653,3623,116,3440,115,13920,10482,14584,1940,119,394,1713,85,8089,1696,1405,10287,9181,9094,9096,7933,13502,11588,10876,2635,13806,9118,8011,477,14627,3977,14498,4910,3199,13194,4122,14546,598,602,8151,14505,13727,7773,14650,9187,14581,9144,4577,394,14576,4550,14578,1148,10883,1444,14543,9115,11029, 5739,7922,12014,9399,9217,14513,13822,13456,8599,12695,13369,9314,14089,8007,6107,5044,14049,14065,449,9749,14730,10459,14732,14063,436,14735,14050,11367,8038,13570,710,14671,483,100,4441,1696,10885,8773,10722,10306,559,681,394,51,10285,13889,13905,841,870,6084,114,14763,13895,1487,11899,10331,14046,664,475,120,52,1466,10530,1481,14777,105,5860,14672,1353,13899,13575,11187,5935,14751,1713,5646,14755,10871,14757,10305,10724,14760,14769,14771,5096,13904,10327,14767,14761,14770,14781,10143,13620,603, 14775,5072,14784,14779,14810,10125,8535,14778,87,14787,10335,741,9287,13731,9042,10478,10944,14581,7758,14799,10266,14362,32,2758,10537,8110,10324,10163,13890,13584,1818,14768,8645,14803,10225,10168,10251,10297,5224,14087,10263,14759,11919,5044,14100,13950,436,2356,287,14837,2760,5725,14840,10197,14842,10200,10229,10202,528,13908,2940,14772,5455,14824,7408,378,4149,14860,3933,14758,14800,11919,648,14862,3914,14838,14865,14804,14841,14766,877,14845,14762,14818,14849,8817,49,10140,14807,14802,14897, 13586,4978,50,14877,5379,403,5023,14786,14752,14832,10723,14834,1102,14910,14778,7982,14863,11249,6336,414,14805,13891,6642,3415,14887,519,14864,6336,14782,1993,14788,13913,370,11705,822,762,13053,13843,11990,476,14430,879,2942,13928,12399,4209,12064,7040,2259,7042,9344,13979,13955,13941,6959,13943,290,8017,7781,13947,415,13950,8923,263,11538,12471,8744,13852,12094,324,14472,14835,5864,12205,13983,4594,13962,14349,4122,13965,5210,9354,13975,11245,13970,8660,13972,2293,12408,14976,11921,2517,12306, 14212,14973,2858,476,14472,13958,13981,13994,12100,2525,10525,13924,13940,8752,2943,12398,2282,10902,4122,13985,10072,6309,13989,13991,8789,13609,13995,2293,12210,13866,13438,13897,13998,6010,14019,4656,4546,3371,14006,3406,4690,14010,100,14012,4099,14014,367,14017,11712,7767,370,686,592,15018,13917,5454,4416,666,9802,3577,6474,7180,15054,9931,12855,14435,12857,6743,14438,6129,15055,2623,15057,6934,8717,14465,5733,718,7477,12989,7403,11283,8707,8574,13841,15056,11889,8248,9191,6368,7600,11396,7180, 975,2230,12264,14959,15082,2623,12988,11852,1235,11899,4403,12355,12137,4477,3679,9352,9011,15068,3648,7115,7138,14406,12709,3679,12718,14311,2333,15075,15088,15098,2884,12134,15101,14193,15103,12063,1662,12990,7505,14436,12858,8734,8041,15095,3115,15002,5572,15118,14391,3999,15091,7137,12206,15073,15107,9931,15097,14189,8952,7193,11810,12375,8247,100,121,11927,14289,14410,15154,12794,9741,15138,14440,15144,5872,306,15092,14332,11796,15094,15108,9806,6707,14573,3652,12842,14259,12374,11858,8883,13753, 10066,14415,841,14417,4041,15154,14123,7521,8942,15167,14287,6787,12176,1443,15155,15093,12361,551,15159,15174,7480,12888,12373,7407,15141,14107,14148,11052,15134,15172,7013,11898,7202,13968,757,15102,4447,6330,15166,15119,15148,9678,15150,15204,7489,15145,9802,6607,14380,5223,15206,15084,11931,6862,15220,6834,14462,15195,14401,15116,14196,15159,3125,12235,14235,15187,14245,8651,15114,14140,12580,12776,3002,12778,472,13368,15171,2612,7220,15027,15086,11984,12384,15245,6304,15190,15142,1996,15157, 3014,15060,15228,13871,15198,15195,15207,12597,1940,15272,15069,14306,12293,3767,15199,15155,12834,15130,15065,12859,14439,15243,6967,2272,15265,15104,3824,11818,14982,12197,15118,14243,13966,15162,12646,12509,6677,10897,11445,15285,6834,3203,400,15127,15121,13501,7063,15124,15218,15067,15146,7401,15077,14434,15129,15064,12836,15290,3985,15250,12816,14476,12536,12819,6313,13004,12122,12909,13008,4675,7535,3071,14158,12488,12530,7371,15236,14117,12509,15280,4455,6707,14197,14279,15292,8724,15270,7671, 15210,2612,6988,15353,6825,15350,9806,15248,15161,15087,15156,14234,15266,15347,12646,13942,15359,9903,15173,7601,4628,12192,12110,15364,2612,15240,11394,8407,15138,15287,15326,12993,6531,3679,12271,7410,15215,12537,7648,12539,12867,12573,12869,12753,15386,15087,15136,1605,4032,14269,15395,7448,14273,9360,15382,9903,11822,15332,15363,15375,11992,15261,9068,15392,14405,12451,15153,15196,15373,6959,15313,3373,15078,15176,2615,7407,15310,14461,15295,15219,1514,15311,15194,15247,7496,12935,15354,15426, 11923,6350,3679,14459,15367,705,15450,13499,15258,15376,13849,13864,1309,14945,15113,3824,15302,5280,15422,6962,12770,12972,15358,15455,2610,14329,15249,15297,6492,11756,14315,15417,15470,14370,15202,12801,15433,15226,15165,15439,14443,14327,4223,15429,9383,15330,3148,7563,6849,13030,12489,526,15465,11749,12882,12986,15449,15233,12156,15451,15191,2145,15169,12361,15141,11995,12559,11997,91,13977,14955,5549,10463,15470,15070,13870,13874,12361,15413,11228,13873,13235,13865,15468,1031,15524,15147,2185, 12893,6980,15239,12352,12273,12568,2512,959,11902,15133,15470,6639,15274,15144,15524,13850,15528,12808,1031,15485,15507,15143,15112,15543,9931,15520,7234,15487,13599,1605,15524,6458,15214,12135,15541,14194,7540,15429,10086,15183,877,15185,15553,15142,2700,15437,8588,15267,15405,15279,15418,6618,15090,15304,2025,1981,15374,15479,15362,12037,15587,15092,6818,15579,341,15492,6650,14186,14285,15576,15062,15325,11611,15131,15179,15603,15537,12745,4443,15216,15318,6465,15346,15439,15592,14267,15503,14475, 14998,15478,9931,15059,15418,15160,2948,11321,1667,15082,9010,532,5872,292,14053,14088,10473,10406,12700,14941,14749,1567,13358,10611,13361,13581,14925,14843,841,15640,13880,14875,8022,14814,14595,14904,1251,4494,1363,10239,14482,9115,6409,12694,13556,14035,14061,14038,13560,9887,14043,13375,10054,6114,3258,13365,13364,13560,13366,11326,8188,9316,13141,13568,13662,9322,6031,14452,5854,13166,13702,14448,14683,11173,14523,3987,5144,1589,100,8888,9043,14607,9232,13837,8929,11562,11121,13416,12189,14374, 373,6093,9520,13442,14562,13239,13824,10482,14082,15656,5883,11519,7341,15185,1955,15573,712,15185,5144,13829,6026,5671,14487,11440,14726,15721,534,1328,15731,13831,14966,600,15734,14725,15705,11505,15726,14969,15703,5491,14563,15021,8072,15716,10036,9134,14561,11126,14742,14524,8531,10377,10630,664,13747,712,2359,1749,9884,14934,373,105,2671,368,3354,8468,350,5087,11671,10593,14081,11679,5293,8472,15687,5454,973,11904,1860,13055,11906,490,14721,13954,11136,10917,13386,15777,365,10920,8531,13143, 6053,13145,15663,5131,13074,13288,6472,12948,14644,6472,122,15809,9470,1510,6414,13050,9084,14625,6089,13635,9301,13064,13062,10513,10631,13621,6825,10634,14682,10636,1309,5745,5846,10642,9428,10641,5814,10650,9438,5830,9453,10647,9440,5766,9450,15836,5838,5775,5844,10651,10656,5818,9452,9451,5787,15855,10658,10663,8088,12659,12785,877,15825,10619,13625,12917,9074,15864,712,15866,3359,10627,5476,6059,10741,14602,4226,422,10164,602,13071,13800,8471,14544,9704,13100,2875,1558,15884,9170,5638,625,14643, 8395,14070,15737,14773,10942,15815,5406,14379,15416,5406,14066,11230,5996,9752,15754,5600,9650,8096,9650,7421,7308,9115,10741,8240,10138,13469,358,11703,14133,6985,13642,13729,8188,12571,2453,10918,11625,1095,13616,9871,10976,1547,13615,404,9871,13660,10407,15686,370,11292,13105,15665,10679,10102,15742,8412,11150,15782,13125,13703,6369,15668,8709,7191,14740,11359,5020,10076,14382,11529,10681,15637,12490,2662,11160,15668,13914,11713,3560,11715,5454,8447,15444,12396,7953,8446,1561,11563,8952,1166,14396, 1669,11088,1993,11064,528,11066,13495,1345,109,14975,6596,5864,5493,15995,14993,15998,14995,2544,8457,15230,11767,1561,15460,5550,5138,11719,13961,5239,7894,5241,5608,12223,8513,5613,7907,5256,12228,688,12230,11048,5757,15995,13041,288,8867,8272,9170,3534,98,109,15925,6590,14135,13643,8188,4595,3566,14702,13121,13728,10366,9336,3502,1307,52,16038,9379,15927,16048,13730,5733,536,11413,15709,14727,15386,15905,3014,14365,5223,3423,103,16053,296,4329,14507,10095,5036,7828,11028,7873,12684,514,11248,14552, 7307,13749,8130,34,663,476,8806,15922,454,15689,14668,46,8121,14571,8601,11580,8073,7956,5595,1426,16098,8849,8068,14571,7282,15750,5340,4903,13246,4056,10481,16108,8095,7899,8107,5719,7967,12659,8104,8078,8903,14535,11085,8904,16118,1408,279,16121,4403,16117,10562,7967,8112,9102,13303,8069,9463,8114,13304,5019,11427,13762,6421,15887,14542,10759,5859,13326,4122,1482,14170,5223,1482,14173,11910,4408,9205,8018,5951,13071,16159,8031,945,8030,1646,11476,14685,672,16162,11634,16160,9769,476,9076,15249, 335,1696,6414,12526,9470,11425,6472,1482,9080,13341,6862,11130,3767,13435,11910,8089,338,1869,16172,13792,841,16171,16166,8288,14532,8896,11080,16124,13530,8904,11087,14539,8110,10577,307,14661,291,258,10947,15755,8929,4820,16153,16184,476,16156,16221,4979,8651,13234,13786,10482,9105,6825,4820,16186,15551,1605,4820,9046,14219,16184,5859,16176,10502,12659,16241,10482,55,16141,6825,520,16216,7971,16100,4122,5878,16213,114,16215,5328,3359,13792,15812,11778,5309,16228,15750,16230,11869,16193,615,13296, 8544,13425,12659,13302,8004,11820,16268,108,13283,16275,4122,9611,9991,15758,11532,14563,14055,16194,16237,15902,3014,11375,5331,16276,15863,10906,16280,13772,14096,14384,13429,15696,11452,5859,16289,2165,15834,16250,5001,46,48,16266,3014,15562,1940,13607,4122,15814,13342,7319,14812,13140,15968,14103,11682,10112,11684,13107,10610,11338,5932,5199,8583,1352,11966,14924,14892,14806,2358,15657,7490,10170,15661,8474,6748,10756,8235,10828,8539,8138,11481,10819,4969,15918,10836,8691,13353,256,9188,9010, 11672,15972,16084,10424,15052,3519,121,16264,4172,120,16368,4600,9472,16139,13081,6368,5944,2059,11580,11005,260,1696,16379,16317,16371,10923,3229,16385,7561,6368,1696,7378,13323,14668,13206,11524,2165,15831,10842,14492,9432,10639,9430,10651,15840,10648,15847,15844,9441,15846,15843,9448,15850,15849,15852,15851,9442,15857,9458,16418,10661,9442,7695,16376,5086,3203,5264,16388,13305,10478,16428,16142,10508,9115,13056,10759,13116,9666,9115,1620,10470,16198,9667,13465,3482,8123,13067,3486,13458,16435, 13758,13561,3474,11027,13536,1357,3527,14654,6725,13468,14844,5480,10749,13066,2086,10432,325,5269,1553,11690,13103,355,13551,16090,10340,13801,11602,6395,9638,353,11667,10626,10303,10513,9182,561,8672,8674,8411,8952,13336,10859,13338,13419,16182,13437,7745,15685,12687,13634,8220,7985,14520,13132,11513,15948,11708,16292,13558,12697,15968,6113,260,15971,15673,10421,9113,15803,4780,15821,10706,10513,10812,12436,15270,14835,6516,1820,1431,14657,5174,4172,16508,12175,12361,16533,1968,7180,13196,6045, 13316,15746,13814,10812,16530,14608,6725,4289,2035,14632,862,1855,15480,7547,556,4289,13251,5341,16111,7471,16551,3240,9075,7658,15106,414,8090,3256,10478,16552,15201,16554,1648,11316,16394,14571,16566,16194,5681,1855,7180,4824,13164,4946,16312,5857,1654,4935,6571,1419,6222,16569,16562,15600,15106,591,780,11608,10707,5941,8096,5922,5941,287,3523,329,16194,999,4289,4151,7705,9196,15694,769,1420,5542,11082,7277,2400,13740,3972,15024,8381,10942,3147,16594,12497,13479,5302,16590,16568,16624,8309,15750, 15720,11644,10811,16561,16529,15534,4804,16562,5410,7305,4102,5368,16526,14143,7232,6502,16593,16564,16627,16523,16562,7378,1654,11991,12445,16536,1431,16553,7370,16555,1654,12445,16577,16591,16632,12113,14345,15424,13479,13078,16290,1192,7440,15115,4843,13252,13232,16641,16661,12370,4843,7286,7287,15241,16623,10341,16592,1431,16061,15899,9513,653,16557,16110,16688,15900,973,6093,7387,15750,13455,16694,16667,16631,13078,16524,12848,12942,12931,4289,14621,16169,9251,16502,1441,16520,268,5290,6162, 16016,12560,14004,2761,1406,5260,11273,10675,2760,16697,13157,16681,834,16691,12578,6790,12438,6793,9639,15459,12211,14696,7307,13796,11698,11625,11700,6439,11354,10679,15667,16515,3502,11153,13567,13343,15686,14104,16092,16265,13206,11117,2907,13734,16229,13166,13388,8811,15932,13798,9732,3585,5656,4996,3371,16223,16262,13330,11063,13627,10497,8281,13449,13418,10501,16190,16492,12197,8490,14270,12560,14989,12203,6303,5676,16496,8851,14951,4403,12067,14954,12069,7045,5049,7893,8506,16017,12221,16018, 11039,7905,8514,5614,7908,16024,5254,11046,5258,16027,15402,9981,16494,12244,9474,11220,2801,10732,13788,312,11292,8675,9678,8781,10962,6010,10819,7695,11268,15700,102,9500,6200,262,2684,7180,16066,11767,16277,16833,16489,16835,1923,15991,345,15993,14336,7561,16841,79,16843,14218,6200,917,2661,16181,5406,15774,1713,16862,16844,11484,12223,6788,8455,3462,8458,11658,3987,16870,16842,16873,1549,8845,2684,4292,12215,16724,6764,12219,12222,16813,12225,16815,16022,5616,11045,16817,12231,6136,11419,13789, 16852,14769,8549,786,16883,16864,4965,16886,1328,6626,14747,1407,6058,348,364,11421,16060,16349,9084,7813,9404,353,10934,10023,10936,12655,10449,10679,1067,14039,15638,10376,13569,15976,9110,16765,4299,16930,841,13795,10592,11571,6022,9682,4063,16693,16636,11570,8956,15719,15898,16951,10126,8715,11232,3731,16305,15628,9405,10387,10625,10040,16483,10973,16485,8641,8673,8643,16853,10405,8219,16481,10627,7737,15799,312,13460,16474,8696,4455,11138,15175,12181,11311,9825,13547,9980,11175,436,12666,15395, 8870,1753,1417,2337,11302,14661,1513,9962,9975,12185,10001,13474,9878,9937,9858,9819,10610,13512,11284,13545,11309,16990,9566,11313,14218,11315,15766,528,9500,17021,8252,8387,16994,3054,7876,3610,8759,11302,11071,17003,11297,13523,13476,9920,11312,17009,15414,17012,9570,11307,17007,13515,13514,13494,16202,4490,13529,8572,9702,16723,3546,16994,16383,7977,3648,13543,13520,17014,13493,13492,17046,13494,8673,16918,15778,2088,16979,16467,17041,3741,10614,601,12268,13473,17004,17037,17017,9512,307,17027, 4499,4479,15538,9083,606,10585,11145,11325,14036,8195,10064,15636,15681,17095,13565,15646,17094,6142,16363,10706,11330,13571,273,10608,10185,10713,9031,370,1309,17002,10613,17061,13574,17076,6098,11687,8442,6072,15826,16968,16889,16809,6309,16892,16812,16816,15852,16894,16023,7910,16820,16901,13839,16926,16921,16451,17050,16108,8567,10564,10562,8570,17053,16210,15796,8216,1506,10349,8450,6502,15794,15694,16705,11644,15629,459,13591,17098,11156,8983,13559,16511,11149,16758,13348,16937,10707,16326, 3361,17109,13577,16330,13592,13100,11578,9270,15723,15885,5293,15185,16481,9398,7915,14639,99,9298,16368,5869,5399,441,3844,16200,737,16481,16163,13188,5363,15863,10303,841,16976,15868,9100,16120,16196,16293,877,17199,17210,8288,13207,1420,16834,16082,16429,13480,9037,12957,10834,16964,10442,5312,12671,9037,9723,17188,837,99,11292,17192,7305,14669,784,9835,5318,1118,16088,17204,17212,17225,5441,16966,16342,10592,1514,3781,3712,111,2279,13238,10036,13698,9690,17191,16374,16229,6324,7991,4282,4430, 17203,8817,8888,4278,5055,17255,8929,436,16200,11666,17245,8027,17200,8882,17257,615,17234,17260,16763,14571,305,6511,16973,5707,17237,15113,16178,111,16180,15370,13631,12686,13750,9202,16718,11034,6028,4783,3781,7740,16314,784,16316,4223,16318,15628,17104,16500,5103,10892,10871,10512,13598,16790,7709,394,452,4756,14510,7877,16541,16302,5520,10320,16234,1940,17306,1059,17308,16154,6027,14717,4971,68,438,17310,16497,16759,16499,9302,7936,5320,373,14530,8242,4842,13266,16680,16559,1782,9101,11092,13258, 13793,8219,17349,5297,16460,319,86,2539,6547,306,1385,14104,4147,2875,5606,16867,17295,14205,8387,1349,5671,17211,13814,759,373,8463,7715,389,279,395,780,2877,592,5171,277,11302,14674,7836,9697,17044,12589,17066,17065,17080,11241,1481,7837,11565,11573,3731,65,14012,1662,13315,12014,4543,1688,4556,4435,10035,17272,11499,10013,17409,1868,17412,15795,11290,9995,17405,17062,17082,17006,17402,17008,1468,3401,3403,553,14007,4576,3400,3402,282,15036,6177,287,17440,17436,3405,12350,14051,8387,17418,11505, 5429,117,8853,8290,11368,10433,11227,10009,77,17428,11808,17399,17432,17047,17015,9911,5166,3258,9656,15749,17157,14514,12189,14432,821,15057,17472,16300,15897,15760,3987,3740,13373,2354,17415,8840,17035,13491,16989,17048,17040,10719,10032,9794,101,17422,17411,13610,17425,3506,1442,13658,9747,4538,8823,4196,8553,1563,5808,11082,515,1027,8559,15132,8407,435,11829,7661,2452,1514,397,114,13580,15694,16635,15761,6113,13658,10901,112,6163,9471,477,17452,13814,11279,336,17240,17383,17088,15612,8097,9053, 17388,10545,6182,17392,8882,17485,120,780,17487,4545,10998,17490,16988,9944,17493,13517,9788,16068,465,17555,17416,7791,13544,17064,17492,17468,13494,17414,17556,4435,258,1688,3585,5339,1822,11270,3616,8241,7899,17581,5197,17583,3358,12282,4044,17499,1430,16868,17529,11182,6068,600,14012,3604,16890,4050,2690,15050,631,7899,17603,849,2209,3268,6304,9761,10998,17592,17424,10036,14930,16193,16771,8878,9139,6336,949,4988,9834,282,107,1426,17532,17534,1420,17537,12189,9887,7786,4282,108,16284,11508,17483, 4509,1601,11353,15288,501,5382,17612,4435,2260,13936,3214,10387,11216,13555,16932,17162,17102,9015,17382,762,751,16514,13370,10683,15950,15965,16934,17296,288,15651,12702,16325,11331,256,5379,65,12711,13935,323,10371,14883,10266,16072,14891,14867,14893,15926,9174,14933,5021,13899,8423,17599,17498,17140,15647,16337,14926,712,1527,58,40,41,32,61,62,1171,4046,11081,14848,928,615,310,743,14877,15034,323,16846,16674,1686,14833,10307,11681,1586,15648,14869,14134,13642,14933,4416,435,115,78,5978,13899,319, 17718,6034,16862,9750,17731,14914,14855,11073,14866,14678,17726,17687,14704,17710,1251,8554,17732,17734,13909,841,17723,14933,2677,16674,13899,3968,15055,17737,13792,16336,17685,16338,712,17757,10143,17759,8947,13899,5379,66,121,17740,3624,17733,7753,14854,14884,1648,672,17621,14764,17725,14649,17750,6129,17731,17780,5555,14936,7314,7720,16089,16365,710,16762,15694,3895,16585,1031,16508,16140,8069,16102,16396,11009,16105,4398,3650,16103,7996,17812,10910,17351,5600,13244,4816,16699,13557,16122,16125, 16205,17031,16133,15862,16567,16130,11078,16115,11082,16132,11080,8102,16129,16113,6764,17836,8100,15989,4047,14551,17289,46,17804,1881,17283,17802,16094,9112,13377,16144,303,11437,1258,14910,9767,6054,15806,13133,17141,5554,16961,5170,5554,6083,11054,16986,1274,392,14012,2454,11200,672,3523,103,17083,8638,17870,9917,7404,2005,17874,435,2615,1076,17879,17881,9074,17867,10857,9074,16150,12772,8638,16220,14290,9072,2907,5554,17897,8746,5554,17900,12162,17866,16974,8284,16518,17862,17338,17298,9114, 17338,16981,17799,3494,16984,10448,17398,13521,17570,17560,17572,17494,1032,17922,9644,13577,17013,17430,13524,17039,17562,2341,10009,13130,8664,17558,12593,9549,17561,13548,13495,10533,13497,17781,9846,9568,14361,17885,17063,17400,17571,17926,16991,17930,15365,17043,14257,17925,17957,17927,17959,17018,13527,4520,17146,8902,16125,10567,17054,13537,13480,13539,11883,274,1700,10028,17481,15759,17327,1501,13542,8994,17569,17966,17945,17928,13478,9663,17337,4757,9631,11318,16473,16461,13553,3537,11140, 17091,10061,17093,15958,17596,338,17097,17102,9366,17100,15051,16362,16498,13147,17672,17107,3768,16328,10616,14827,9237,1444,8681,5374,1869,16767,17782,10266,1758,17112,10090,1489,14520,16382,15765,14702,17681,10307,8775,10180,10260,13618,17116,17989,17178,16926,294,16194,5402,14687,9095,9119,14682,16484,9107,7928,9108,465,5075,11525,9624,17601,5576,3624,9724,8568,18059,44,102,9830,97,15942,18054,14681,1436,17824,13580,9381,1050,7825,15263,7786,918,7970,567,4309]}); define("hP",["require","dZ","nW"],function(a){function b(a){var b=j[a];if(b)return b;if("string"!=typeof a)return j[a]=function(){return a};var c=(b=n.exec(a))&&parseFloat(b[1]);switch(b&&b[4]&&b[4].toLowerCase()){case "vw":return j[a]=function(a){return a*c};case "vh":return j[a]=function(a,b){return b*c};case "vmin":return j[a]=function(a,b,f){return f*c};case "vmax":return j[a]=function(a,b,f,j){return j*c};default:return j[a]=function(){return a}}}function e(a){this.Pa=a;this.HG=this.HG.bind(this); this.Pa.bind(c.uc,this.Sb,this,m);this.Q6=new Map;this.ft=[];this.Sb()}function d(a,b,c,j){var n={};n.$d=a;n.hTa=b;n.name=c;n.value=j;i.push(n);f||(f=setTimeout(function(){f=r;g()},100))}function g(){f&&(clearTimeout(f),f=r);var a=i;i=[];a.forEach(function(a){e.OV(a.$d,a.hTa,a.name,a.value)})}a("dZ");var c=a("nW");e.prototype.Sb=function(){this.UMa();this.Q6.forEach(function(a){for(var b in a)this.HG(a[b])}.bind(this));this.ft.forEach(this.HG)};e.prototype.UMa=function(){var a=this.Pa.Ra(),b=this.Pa.zb(); this.GV=0.01*a;this.AV=0.01*b;this.Dpa=Math.min(this.GV,this.AV);this.Cpa=Math.max(this.GV,this.AV)};e.prototype.HG=function(a){a(this.GV,this.AV,this.Dpa,this.Cpa)};e.prototype.uNa=function(a){this.ft.push(a)};e.prototype.gRa=function(a){a=this.ft.indexOf(a);0<=a&&this.ft.splice(a,1)};e.prototype.OV=function(a,c,f,j){function i(b,j,d,g){c.call(a,f,n(b,j,d,g))}var n=b(j);(j=this.Q6.get(a))||this.Q6.set(a,j={});j[f]=i;i(this.GV,this.AV,this.Dpa,this.Cpa)};e.Sc=new Map;e.get=function(a){var b=e.Sc.get(a); b||(b=new e(a),e.Sc.set(a,b));return b};e.OV=function(a,b,c,f){var j=a.get&&a.get("application")||a.tb&&a.tb();j?(g(),e.get(j).OV(a,b,c,f)):d(a,b,c,f)};var i=[],f=r,j={},n=/^\s*((\+|\-)?(\d*\.)?\d+)\s*(vmin|vmax|vw|vh|px|%)?\s*$/i;return e}); define("lH",["require"],function(){function a(a,b){var g=a.split(b),c=g[0];(g=g.slice(1).join(b))&&(g=b+g);return[c,g]}var b=window.URL||G();b.pm=document.createElement("a");b.qsa=function(a){if(b.VW(a)){var d=window.location.protocol+"//"+window.location.hostname;window.location.port&&(d+=":"+window.location.port);return a.substring(0,d.length)!=d}return B};b.nv=function(a,d){if(b.rQa(a))a=window.location.protocol+a;else if(!b.VW(a)&&!b.my(a)){if(d)if(0==a.indexOf("/")){var g=d.indexOf("//"),c=""; 0<=g&&(c=d.substr(0,g+2),d=d.substr(g+2));g=d.indexOf("/");0=b?m:0==a.indexOf("filesystem:")};b.my=function(a){return a&&0==a.indexOf("data:")};b.getDirectory=function(a){a=b.nv(a);a=a.split("?")[0];a=a.split("/"); 1");d.SE.css({overflow:"auto",position:"absolute",bottom:0,left:0,right:0,padding:"20px",fontFamily:"Verdana",backgroundColor:"#FFFFFF",color:"#000000","z-index":100});a?d.SE.css({top:0}):d.SE.css({width:"40%",right:"0",left:"auto",height:"50%",filter:"alpha(opacity=60)",opacity:0.6});e("body").append(d.SE);console.log=function(a){d.log(a)}}},g;d.log=function(a){if(a!=g){g=a;try{d.SE?e("
").text(a).prependTo(d.SE):console.log(a)}catch(b){}}};d.UVa=function(a){this.x1.push(a)}; d.x1=[];d.debug=function(a,b){try{b.apply(this,arguments)}catch(f){d.$W(a,f),h(f)}};d.$W=function(a,b){var f=[];f.push("Exception: "+a);b.message?(f.push(b.message),f.push(b.stack)):f.push(b);this.log(f.join("\n"));for(f=0;ff;f+=1)b[f]=String.fromCharCode(f);for(var j="",n=256,d=String.fromCharCode(a[0]),g=d,f=1;f0};b.prototype.hasAttribute=function(a){return this.F9(a)?m:B};b.prototype.qW=function(){this.mI== l&&this.tfa();return this.mI};b.prototype.vra=function(){if(this.S4)return this.S4;if(this.Kw())this.Ct().vra();else return[]};b.prototype.era=function(){if(this.cE)return this.cE;this.cE={};if(this.Kw()){var a=this.Ct().era(),b;for(b in a)this.cE[b]=a[b]}if(this.xQ)for(b in this.xQ)this.cE[b]=this.xQ[b];return this.cE};b.prototype.F9=function(a){this.BD==l&&this.tfa();return this.BD[a]};b.prototype.LPa=function(){return this.Era().length>0};b.prototype.Era=function(){this.EB==l&&this.Afa();return this.EB}; b.prototype.rPa=function(){this.uV==l&&this.Afa();return this.uV};b.prototype.KPa=function(){return this.Cra().length>0};b.prototype.Cra=function(){this.sB==l&&this.zfa();return this.sB};b.prototype.pPa=function(){this.DU==l&&this.zfa();return this.DU};b.prototype.APa=function(){return this.K9().length>0};b.prototype.Qra=function(a){this.uw==l&&this.VD();return this.uw.indexOf(a)!=-1};b.prototype.K9=function(){this.uw==l&&this.VD();return this.uw};b.prototype.EPa=function(){return this.P9().length> 0};b.prototype.Rra=function(a){this.Ow==l&&this.VD();return this.Ow.indexOf(a)!=-1};b.prototype.P9=function(){this.Ow==l&&this.VD();return this.Ow};b.prototype.BPa=function(a){this.$I==l&&this.VD();return this.$I.indexOf(a)!=-1};b.prototype.NOa=function(){this.$I==l&&this.VD();return this.$I};b.prototype.nra=function(){return this.DFa||this.Kw()&&this.Ct().nra()};b.prototype.Qp=function(a,b,c,i){this.QHa(b,c);var d=this.AI,g;g=i&&i.length>0?new (f.extend(d,function(){d.apply(this,i)})):new d;g.set("application", a);g.set("baseDirectoy",b);g.set("queryStringParameters",c);g.set("class",this.$B());return g};b.prototype.QHa=function(a,b){if(!this.jia){this.jia=m;this.JBa(a,b);this.vCa();this.hya()}};b.prototype.JBa=function(a,b){if(this.LPa()||this.KPa()){var f=this.AI.prototype,d=this.rPa(),g=this.pPa(),e=f.set;f.set=function(f,k){if(d[f]){k&&!i.my(k)&&!i.VW(k)&&(k=i.ey(i.nv(k,a),b));e.call(this,f,k)}else g[f]?c.OV(this,e,f,k):e.call(this,f,k)}}};b.prototype.hya=function(){var a=this.AI.prototype;this.qW().forEach(function(b){Object.defineProperty(a, b,{get:function(){return this.get(b)},set:function(a){this.set(b,a)},enumerable:m,configurable:m})})};b.prototype.vCa=function(){var a=this.AI.prototype,b=this;if(this.hasAttributes()){a.set=a.set;a.get=a.get}if(this.APa()||this.EPa()){a.bind=a.bind;a.getBindings=a.PG;a.hasBindings=a.Ora;a.trigger=a.trigger;a.unbind=a.unbind}a.getClassName=function(){return b.$B()};a.getClassPath=function(){return b.DN()};a.getAttributeNames=function(){return b.qW()};a.getEventNames=function(){return b.NOa()};a.hasEvent= function(a){return b.BPa(a)}};b.prototype.tfa=function(){this.mI=[];this.BD={};for(var a in this.Y4){this.mI.push(a);this.BD[a]=b.Y1(this.Y4[a])}if(this.Kw())for(var c=this.Ct(),f=c.qW(),i=0;i=0&&a.lastIndexOf("]")==a.length-1};b.hDa=function(a){return a.substring(0,a.indexOf("["))};b.Hga=function(a){return a.substring(a.indexOf("[")+1,a.lastIndexOf("]"))};b.Iga=function(a){for(var a=b.Hga(a),c=[],f="",i=0,g=0;gn;++c)b=a.charCodeAt(c),128>b?e[n>>2]|=b<b?e[n>>2]|=(192|b>>6)<b||57344<=b?e[n>> 2]|=(224|b>>12)<>2]|=(240|b>>18)<>2]|=(128|b>>12&63)<>2]|=(128|b>>6&63)<>2]|=(128|b&63)<>2]|=e[b&3]; this.hN=a[16];56<=b&&(this.OW||this.hash(),a[0]=this.hN,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.d$<<3|this.gy>>>29;a[15]=this.gy<<3;this.hash()}};a.prototype.hash=function(){var a=this.FW,b=this.GW,c=this.HW,n=this.IW,d=this.JW,e=this.KW,p=this.LW,q=this.MW,t=this.m9,s,u,w,v,x,y,E;for(s=16;64>s;++s)w=t[s-15],u=(w>>>7|w<<25)^(w>>>18|w<<14)^w>>>3,w=t[s-2],w=(w>>>17|w<<15)^(w>>>19|w<<13)^w>>>10,t[s]=t[s-16]+u+t[s-7]+w<<0;E=b&c;for(s=0;64>s;s+= 4)this.first?(y=704751109,w=t[0]-210244248,q=w-1521486534<<0,n=w+143694565<<0,this.first=B):(u=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),w=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),y=a&b,v=y^a&c^E,x=d&e^~d&p,w=q+w+x+g[s]+t[s],u+=v,q=n+w<<0,n=w+u<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),w=(q>>>6|q<<26)^(q>>>11|q<<21)^(q>>>25|q<<7),E=n&a,v=E^n&b^y,x=q&d^~q&e,w=p+w+x+g[s+1]+t[s+1],u+=v,p=c+w<<0,c=w+u<<0,u=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),w=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25| p<<7),y=c&n,v=y^c&a^E,x=p&q^~p&d,w=e+w+x+g[s+2]+t[s+2],u+=v,e=b+w<<0,b=w+u<<0,u=(b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10),w=(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7),E=b&c,v=E^b&n^y,x=e&p^~e&q,w=d+w+x+g[s+3]+t[s+3],u+=v,d=a+w<<0,a=w+u<<0;this.FW=this.FW+a<<0;this.GW=this.GW+b<<0;this.HW=this.HW+c<<0;this.IW=this.IW+n<<0;this.JW=this.JW+d<<0;this.KW=this.KW+e<<0;this.LW=this.LW+p<<0;this.MW=this.MW+q<<0};a.prototype.NPa=function(){this.sOa();var a=this.FW,c=this.GW,j=this.HW,n=this.IW,d=this.JW, g=this.KW,e=this.LW,q=this.MW;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[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[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[n>>28&15]+b[n>>24&15]+b[n>>20&15]+b[n>>16&15]+b[n>>12&15]+b[n>>8&15]+b[n>>4&15]+b[n&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[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[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]};return function(b){return(new a).update(b).NPa()}}); define("bT",["require","il"],function(a){function b(a){var c;c=Array.isArray(a)?"array":a===r?"null":typeof a;switch(c){case "array":return"["+a.map(b).join(",")+"]";case "object":return"{"+Object.keys(a).sort().map(function(c){return b(c)+":"+b(a[c])}).join(",")+"}";case "boolean":return a?"true":"false";case "number":return a.toFixed(3);case "string":return'"'+a.split('"').join('\\"')+'"';case "null":case "undefined":return c;case "function":return"<"+c+">"}return""}function e(a){return a.map(function(a){return String.fromCharCode(a)}).join("")} var d=a("il");return{validate:function(a){var c=[104,97,115,104],i=a[e(c)];delete a[e(c)];a=e([116,100,118])+b(a);return d(a)==i}}}); define("kP",["require"],function(){function a(){var a=c.length,b=c.splice(0,a);g+=a;for(var f=0;f0||!b&&!e)return~setTimeout(n,g||1);if(c.length==0){e?j.then(a):i.textContent=d;f=(new Date).getTime()}d++; c.push(n);return d-1},cancel:function(a){if(a<0)clearTimeout(~a);else{var b=a-g;if(b>=0){c[b]||h("invalid async handle: "+a);c[b]=r}}}}}); define("fQ",["require","dZ","kP","cu","kM"],function(a){function b(){this.Ec={}}var e=a("dZ"),d=a("kP"),g=a("cu"),c=a("kM");b.prototype.bind=function(a,b,c,n,d){a===l&&h("Event name undefined");b===l&&h("Event handler undefined");a in this.Ec||(this.Ec[a]=[]);this.Ec[a].push({handler:b,handlerDef:d||b,context:c||this,immediate:n?m:B});return this};b.prototype.unbind=function(a,b,c){if(a in this.Ec){var c=c||this,n=e(this.Ec[a]).select(function(a){return a.handler!=b||a.context!=c});0a)break}0this.pt;)this.pt+=360}return this.pt};a.prototype.MOa=function(){this.K8===l&&(this.K8=d.Pr(this.Yga()*Math.PI/180,0));return this.K8};a.prototype.KNa=function(){return this.get("yaw")!==l&&this.get("backwardYaw")!==l};a.prototype.Yga= function(){return this.get("backwardYaw")-180};return a});define("hC",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("AmbientLight",b,function(){b.call(this)})}); define("eS",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("Model3DPostprocessing",b,function(){b.call(this)});a.prototype.zO=function(a){this.sj!==a&&(this.sj=a,this.Loa())};a.prototype.uO=function(a){this.YE!==a&&(this.YE=a,this.Loa())};a.prototype.Loa=function(){this.set("disabled",this.YE&&this.get("disableWhileMoving")||this.sj&&this.get("disableWhileUserInteracting"))};return a}); define("mY",["require","mS","eS"],function(a){var b=a("mS"),e=a("eS");return b.G("AmbientOcclusionModel3DPostprocessing",e,function(){e.call(this)})});define("kn",["require"],function(){return{M:"stopped",Q:"playing",Db:"paused"}});define("eR",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("ImageResource",b,function(){b.call(this)})}); define("eh","require,kM,nW,kn,mS,eR".split(","),function(a){a("kM");var b=a("nW"),e=a("kn"),d=a("mS"),g=a("eR"),a=d.G("AnimatedImageResource",g,function(){g.call(this)});a.prototype.play=a.prototype.play=function(){this.set("state",e.Q)};a.prototype.pause=a.prototype.pause=function(){this.set("state",e.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",e.M)};a.prototype.set=function(a,i){switch(a){case "state":(this.get("state")||e.M)==e.M&&i==e.Q&&this.trigger(b.Ms)}g.prototype.set.call(this, a,i)};a.prototype.wj=function(a,b,f){b||(b=1);f||(f=1);return g.prototype.wj.call(this,a,b*this.get("colCount",1),f*this.get("rowCount",1))};return a});define("dV",["require","mS","eS"],function(a){var b=a("mS"),e=a("eS");return b.G("AntialiasModel3DPostprocessing",e,function(){e.call(this)})}); define("hQ",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("HotspotMapOverlay",b,function(a){b.call(this);this.KF=a===l?m:a;this.QE=this.yp=this.xp=this.ka=l});a.prototype.getItem=function(){if(this.ka===l){var a=this.get("image");this.ka=a?a.ZV(this.KF):r}return this.ka};a.prototype.zra=function(){if(this.xp===l){var a=this.get("rollOverImage");this.xp=a?a.ZV(this.KF):r}return this.xp};a.prototype.Bra=function(){if(this.yp===l){var a=this.get("selectedImage");this.yp=a?a.ZV(this.KF): r}return this.yp};a.prototype.YOa=function(){if(this.QE===l){this.QE=[];var a=this.getItem();a&&this.QE.push(a);(a=this.zra())&&this.QE.push(a);(a=this.Bra())&&this.QE.push(a)}return this.QE};return a});define("eE",["require","mS","hQ"],function(a){var b=a("mS"),e=a("hQ");return b.G("AreaHotspotMapOverlay",e,function(){e.call(this,m)})});define("nw",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("AudioResource",b,function(){b.call(this)})}); define("cH",["require"],function(){return{az:"inAdvance",vba:"delayed"}});define("bb",["require"],function(){return{$y:"grab",vk:"grabbing",axa:"move",gca:"move-n",hca:"move-ne",Yba:"move-e",kca:"move-se",jca:"move-s",lca:"move-sw",mca:"move-w",ica:"move-nw",bxa:"move-ew",dxa:"move-ns",cxa:"move-nesw",exa:"move-nwse",$ba:"move-fast-n",aca:"move-fast-ne",Zba:"move-fast-e",dca:"move-fast-se",cca:"move-fast-s",eca:"move-fast-sw",fca:"move-fast-w",bca:"move-fast-nw",uf:"hand",le:"default",Ev:"inherit"}}); define("gS",["require","nW"],function(a){function b(){this.si=[]}var e=a("nW");b.prototype.register=function(a){this.iya(a);this.si.push(a);a.get("pressed")&&this.Lma(a)};b.prototype.KO=function(a){this.eIa(a)};b.prototype.iya=function(a){a.bind(e.Hj,this.uja,this,m)};b.prototype.eIa=function(a){a.unbind(e.Hj,this.uja,this)};b.prototype.uja=function(a){this.Lma(a.source)};b.prototype.Lma=function(a){this.si.forEach(function(b){b.set("pressed",b==a)})};b.register=function(a,b){this.KO(a);var c=this.Rh(b); a.WZ=c;c.register(a)};b.KO=function(a){a.WZ&&(a.WZ.KO(a),delete a.WZ)};b.Rh=function(a){return this.Wha[a]||(this.Wha[a]=new b)};b.Wha={};return b});define("dW",["require"],function(){return{me:"push",Jj:"toggle"}});define("hn",["require"],function(){return{pD:"visible",Kba:"hidden",xo:"scroll"}});define("gp",["require"],function(){return{le:l,O:"over",Za:"pressed",Ob:"pressedOver",U:"selected"}});define("mo",["require"],function(){return{Ha:"left",Ua:"right",ke:"center",ec:"top",Yb:"bottom",Sd:"middle"}}); define("fn",["require"],function(){return{kd:"rollOver",ALWAYS:"always"}}); define("dm",["require"],function(){var a={},b;a:{try{if("localStorage"in window&&(window.localStorage.setItem("test","test"),"test"==window.localStorage.getItem("test"))){b=m;break a}}catch(e){}b=B}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 d={};a.setItem=function(a,b){d[a]=b};a.getItem= function(a){return d[a]};a.removeItem=function(a){delete d[a]};a.clear=function(){d={}}}return a}); define("u",["require","kM","lH","dm"],function(a){function b(){}function e(a){return!!(window.location.hash&&0<=window.location.hash.indexOf("device="+a))}var d=a("kM"),g=a("lH"),c=a("dm");b.pi=TDV.gb.fP;b.IH=TDV.gb.jZ;b.GZ=TDV.gb.rca;b.CUa=TDV.gb.nZ;b.Pba=TDV.gb.kZ;b.Uwa=TDV.gb.qca;b.oUa=TDV.gb.mZ;b.lZ=TDV.gb.lZ;b.NH=TDV.gb.NH;b.fY=TDV.gb.fY;b.eY=TDV.gb.eY;b.dY=TDV.gb.dY;b.gY=TDV.gb.gY;b.Mh=TDV.gb.Mh;b.OO=TDV.gb.OO;b.Jl=TDV.gb.Jl;b.tk=TDV.gb.tk;b.OC=TDV.gb.OC;b.vv=TDV.gb.vv;b.JH=TDV.gb.JH;b.Gy=TDV.gb.Gy; b.cY=TDV.gb.cY;b.MH=TDV.gb.MH;b.rs=TDV.gb.rs;b.SO=TDV.gb.SO;b.KH=TDV.gb.KH;b.PO=TDV.gb.PO;b.PC=TDV.gb.PC;b.LH=TDV.gb.LH;b.Hy=TDV.gb.Hy;b.pba=TDV.gb.pba;b.QC=TDV.gb.QC;b.wv=TDV.gb.wv;b.Iy=TDV.gb.Iy;b.QO=TDV.gb.QO;b.RO=TDV.gb.RO;b.hY=TDV.gb.hY;b.kY=TDV.gb.kY;b.UC=TDV.gb.UC;b.lY=TDV.gb.lY;b.mY=TDV.gb.mY;b.Dw=function(a){a="force_"+a;if(g.Li("debug")&&g.Li(a))return g.Yr(a)};b.MCa=b.Dw("os");b.Xd=function(){return b.MCa||TDV.gb.Xd};b.HCa=b.Dw("browser");b.browser=function(){return b.HCa||TDV.gb.browser}; b.ICa=b.Dw("browser_type");b.EG=function(){return b.ICa||TDV.gb.EG};b.vga=b.Dw("browser_subtype");b.gd=function(){return b.vga?b.vga:TDV.gb.gd};b.JCa=b.Dw("browser_version");b.hqa=function(){return b.JCa||TDV.gb.hqa};b.LCa=b.Dw("device");b.iy=function(){return b.LCa||TDV.gb.iy};b.ub=function(){return TDV.gb.H$};b.wCa=function(){for(var a=navigator.userAgent.toLowerCase(),b=["SM-G960","SM-G965"],c=0;cnavigator.userAgent.indexOf("; wv")?B:m;b.KCa=!!b.Dw("chromewebview");b.rqa=function(){return b.KCa||b.hAa};b.Ff= function(){return b.gd()==b.rs||b.gd()==b.SO||b.gd()==b.wv||b.gd()==b.Iy||b.gd()==b.QC};b.u$=function(){return b.Bsa()||b.vsa()||b.Fsa()||b.pQa()};b.Dsa=function(){return b.gd()==b.wv||b.gd()==b.Iy};b.oQa=function(){return e("picog2")};b.mQa=function(){return e("piconeo2")};b.vsa=function(){return e("piconeo3")};b.pQa=function(){return e("picoxr")};b.Fsa=function(){return e("vivefocus")};b.Bsa=function(){return e("oculusquest")?m:b.gd()==b.rs&&0<=navigator.userAgent.indexOf("Quest 2")};b.Asa=function(){return b.gd()== b.rs&&0<=navigator.userAgent.indexOf("Quest")&&0>navigator.userAgent.indexOf("Quest 2")};b.fQa=function(){return b.gd()==b.rs&&0>navigator.userAgent.indexOf("Quest")};b.r$=function(){return b.Ff()&&b.yN()};b.tL=l;b.XQa=function(){b.tL===l&&(b.tL=parseInt(g.Yr("sts")),isNaN(b.tL)&&(b.tL=b.Ff()&&!b.wCa?512:b.ub()&&b.Xd()==b.pi?512:b.ub()?256:1024));return b.tL};var i;if(b.browser()==b.Jl||b.browser()==b.Mh)try{i=parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1])}catch(f){}b.IIa=i; b.iO=function(){return b.IIa};b.NEa=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("_",""))||B}catch(c){}a||(a=b.iO());return a}();b.jC=function(){return b.NEa};var j;if(b.Xd()==b.IH)try{j=parseFloat(/Android ([0-9]+\.?[0-9]*)/i.exec(navigator.userAgent)[1])}catch(n){}b.Iya=j;b.ENa=function(){return b.Iya};b.Cha=function(){var a={Jra:"unknown",eta:1},b=document.createElement("canvas"); if(b&&(b=b.getContext("webgl")||b.getContext("experimental-webgl"))){var c=b.getExtension("WEBGL_debug_renderer_info");c&&(a.Jra=b.getParameter(c.UNMASKED_RENDERER_WEBGL));a.maxTextureSize=b.getParameter(b.MAX_TEXTURE_SIZE);if(c=b.getExtension("EXT_texture_filter_anisotropic")||b.getExtension("MOZ_EXT_texture_filter_anisotropic")||b.getExtension("WEBKIT_EXT_texture_filter_anisotropic"))a.eta=b.getParameter(c.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}return a}();b.Ira=function(){return b.Cha};b.Kya=function(){var a= b.Cha.Jra.match(/Apple\s+(.+)\s+GPU/);return a?a[1].toUpperCase():"unknown"}();b.YUa=function(){return b.Kya};b.vFa=b.iy()==b.UC?m:B;b.Yu=function(){return b.vFa};b.r9=function(){return b.browser()==b.Jl&&14<=b.iO()};var k=!!c.getItem("tdvp_video_drift_2");b.Yra=function(){return k};b.RSa=function(){k=m;c.setItem("tdvp_video_drift_2",m)};b.CFa="ontouchstart"in window||"undefined"!==typeof window.PointerEvent&&"undefined"!==typeof navigator.maxTouchPoints&&0a.indexOf("#")&&(a+="#"),a+="&tdvflipx");return a},wOa:function(a,b,e){var d=document.createElement("canvas");d.width=b;d.height=e;e=d.getContext("2d");e.translate(b,0);e.scale(-1,1);e.drawImage(a,0,0);a.src=d.toDataURL()}}}); define("hX",["require","u","lH","kP","dm"],function(a){function b(a,b,c,n,d){this.url=a;this.Fe=b;this.time=c;this.oTa=n;this.LNa=d}var e=a("u"),d=a("lH"),g=a("kP");a("dm");b.prototype.loaded=function(){c.F6(this.url);c.BL(this)};b.prototype.cancel=function(){c.BL(this)};var c={Ex:[],Tq:[],lM:[],A8:r,uia:{},add:function(a,c,j,n){a=new b(a,c,(new Date).getTime(),j,n);this.Ex.push(a);this.V();return a},vTa:function(a){this.lM.push(a);this.V()},uTa:function(a){var b=this.lM,a=b.indexOf(a);0<=a&&b.splice(a, 1);this.V()}};e.gd()==e.Hy?(c.lba=T(m),c.F6=G()):!d.Li("debug")||!d.Ji("disable-cache")?(c.lba=function(a){return this.uia[a]},c.F6=function(a){this.uia[a]=m}):(c.lba=T(B),c.F6=G());c.V=function(){if(!this.A8)this.A8=g.ry(c.hMa)};c.hMa=function(){c.A8=r;for(var a=this.NIa(),b=0,j=this.Tq.length;b=0&&b.splice(a,1);this.V()};return c}); define("jV","require,kM,cu,fQ,nW,hA,lH,bM,hX".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("nW"),c=a("hA"),i=a("lH"),f=a("bM"),j=a("hX"),a=b.extend(d,function(a){d.call(this);this.ir=a||c.Zwa;this.ia=this.X=this.Mb=this.ed=r;this.Xw=B;this.JF=this.yn=r;this.bU=0;this.Y2=[];this.xR=this.xR.bind(this);this.yR=this.yR.bind(this)});a.prototype.load=function(a){this.cancel();this.ed=a;this.bU=0;this.fma()};a.prototype.fma=function(){this.yn=j.add(this.ed,this.ir,this.zKa.bind(this),this.$za.bind(this))}; a.prototype.cancel=function(){if(this.yn){this.yn.cancel();this.yn=r}this.Xea();this.ed=r};a.prototype.jQa=function(){return!!this.Mb&&!this.Xw||this.JF};a.prototype.ul=S("Xw");a.prototype.ff=function(a){if(a){a=this.Mb.cloneNode(m);this.Y2.push(a);return a}return this.Mb};a.prototype.$c=S("X");a.prototype.Rd=S("ia");a.prototype.ji=S("ed");a.prototype.zKa=function(){this.Mb=this.nBa(this.ed)};a.prototype.$za=function(){this.jQa()&&this.Xea()};a.prototype.Xea=function(){if(this.Mb){if(this.JF){clearTimeout(this.JF); this.JF=r}for(this.Xw=B;this.Y2.length;)this.Tfa(this.Y2.shift());this.Tfa(this.Mb);this.Mb=r}};a.prototype.nya=function(a){a.addEventListener("load",this.xR);a.addEventListener("error",this.yR)};a.prototype.Yla=function(a){a.removeEventListener("load",this.xR);a.removeEventListener("error",this.yR)};a.prototype.xR=function(){(!this.Mb.width||!this.Mb.height)&&this.ed.indexOf(".svg")>-1&&this.yCa();this.yn.loaded();this.yn=r;this.Yla(this.Mb);this.Xw=m;this.X=this.Mb.width;this.ia=this.Mb.height; f.CPa(this.ed)&&f.wOa(this.Mb,this.X,this.ia);this.trigger(new e(g.T))};a.prototype.yR=function(){this.cancel();if(this.bU0,n=this.xh&&this.xh.ul(),d=this.Fo>0&&this.JP||this.Ho>0&&this.LP||this.Go>0&&this.KP||this.Eo>0&&this.IP,d=j||n||d;if(j){var g;g=this.a0==i.bZ?c.createLinearGradient(0,0,a,0):c.createLinearGradient(0,0,0,b);e(f).forEach(function(a){g.addColorStop(a.ratio,a.color)});c.fillStyle=g;c.fillRect(0,0,a,b);this.aQ=m}else if(this.aQ){c.clearRect(0,0,a,b);this.aQ=B}if(n){c.drawImage(this.xh.ff(),0,0,a,b);this.aQ=m}this.Tb.style.opacity= this.ab;this.Tb.style.filter="alpha(opacity="+Math.round(this.ab*100)+")";this.Tb.style["-ms-filter"]="alpha(opacity="+Math.round(this.ab*100)+")";this.Tb.style.borderTopLeftRadius=this.ct+"px";this.Tb.style.borderTopRightRadius=this.dt+"px";this.Tb.style.borderBottomLeftRadius=this.$s+"px";this.Tb.style.borderBottomRightRadius=this.bt+"px";this.Tb.style.borderLeft=this.dR(this.Fo,this.JP);this.Tb.style.borderTop=this.dR(this.Ho,this.LP);this.Tb.style.borderRight=this.dR(this.Go,this.KP);this.Tb.style.borderBottom= this.dR(this.Eo,this.IP);this.Tb.style.width=a+"px";this.Tb.style.height=b+"px";this.Tb.style.cursor="inherit";this.Tb.style.display=d?"block":"none";if(this.Tb.clientWidth===0&&a!==0){this.Tb.style.width=0;this.Tb.style.width=a+"px"}};b.prototype.dR=function(a,b){return a>0?b?a+"px solid "+b:a+"px solid transparent":"none"};b.prototype.Vza=function(){var a=[];if(this.Lz.length>0){for(var b=this.Lz.slice(),b=[].concat([b[0]],b,[b[b.length-1]]),c=this.Uza(),c=[].concat([0],c,[1]),f=0;f=0&&a.push({color:b[f],ratio:j})}for(f=0;f0?e(this.d0).map(function(a){return Math.min(1,Math.max(0,a))}):a==1?[0.5]:e(e.range(a)).map(function(b,c){return 1*c/(a-1)});b.lengtha&&b.splice(a,b.length-a);return b};return b}); define("ew",["require","jquery.mod","or","gg"],function(a){function b(){this.jT=this.lT=this.mT=this.kT=this.Eo=this.Go=this.Ho=this.Fo=0;this.dL=this.So=m;this.O8=this.R2=0;this.ja=m;this.LL=document.createElement("div");this.LL.setAttribute("tdvlayer","content");this.xma=e(this.LL);g.css(this.LL,{position:"absolute"});this.DI=document.createElement("div");this.ofa=e(this.DI);g.css(this.DI,{position:"absolute"});this.xma.append(this.ofa)}var e=a("jquery.mod"),d=a("or"),g=a("gg");b.prototype.append= function(a){this.ofa.append(a)};b.prototype.QV=function(a){this.DI.appendChild(a)};b.prototype.aua=function(a){this.DI.removeChild(a)};b.prototype.Ac=S("xma");b.prototype.EN=S("LL");b.prototype.YRa=function(a){this.R2!=a&&(this.R2=a,this.ja=m)};b.prototype.eTa=function(a){this.O8!=a&&(this.O8=a,this.ja=m)};b.prototype.TG=function(){return this.kT+this.Fo};b.prototype.XG=function(){return this.mT+this.Ho};b.prototype.WG=function(){return this.lT+this.Go};b.prototype.QG=function(){return this.jT+this.Eo}; b.prototype.wH=function(a){this.dL!=a&&(this.dL=a,this.ja=m)};b.prototype.ySa=function(a){this.kT!=a&&(this.kT=a,this.ja=m)};b.prototype.ASa=function(a){this.mT!=a&&(this.mT=a,this.ja=m)};b.prototype.zSa=function(a){this.lT!=a&&(this.lT=a,this.ja=m)};b.prototype.xSa=function(a){this.jT!=a&&(this.jT=a,this.ja=m)};b.prototype.iaa=function(a){this.Fo!=a&&(this.Fo=a,this.ja=m)};b.prototype.maa=function(a){this.Ho!=a&&(this.Ho=a,this.ja=m)};b.prototype.jaa=function(a){this.Go!=a&&(this.Go=a,this.ja=m)}; b.prototype.haa=function(a){this.Eo!=a&&(this.Eo=a,this.ja=m)};b.prototype.Jua=function(a){this.So!=a&&(this.So=a,this.ja=m)};b.prototype.Jg=function(){this.ja&&(this.V(),this.ja=B)};b.prototype.V=function(){g.css(this.LL,{overflow:this.dL?"visible":"hidden","z-index":this.So?d.tba:d.sba,left:this.TG()+"px",top:this.XG()+"px",right:this.WG()+"px",bottom:this.QG()+"px",cursor:"inherit"});g.css(this.DI,{left:-this.R2+"px",top:-this.O8+"px",right:this.dL?0:"initial",bottom:this.dL?0:"initial",cursor:"inherit"})}; return b}); define("jw","require,dZ,jquery.mod,kM,or,gg".split(","),function(a){function b(){this.ia=this.X=this.Aa=this.xa=l;this.bt=this.$s=this.dt=this.ct=0;this.cb=B;this.Q2=0;this.N8=4;this.G_=6;this.Z6=0;this.$b="#000000";this.ab=1;this.Tb=document.createElement("div");this.Tb.setAttribute("tdvlayer","shadow");this.ba=e(this.Tb);g.css(this.Tb,{position:"absolute",left:0,top:0,right:0,bottom:"0"});this.ja=B}a("dZ");var e=a("jquery.mod");a("kM");var d=a("or"),g=a("gg");b.prototype.Ac=S("ba");b.prototype.EN=S("Tb"); b.prototype.kaa=function(a){if(this.ct!=a){this.ct=a;this.ja=m}};b.prototype.laa=function(a){if(this.dt!=a){this.dt=a;this.ja=m}};b.prototype.faa=function(a){if(this.$s!=a){this.$s=a;this.ja=m}};b.prototype.gaa=function(a){if(this.bt!=a){this.bt=a;this.ja=m}};b.prototype.Oi=function(a){if(this.ab!=a){this.ab=a;this.ja=m}};b.prototype.qk=S("ab");b.prototype.Hf=function(a){if(this.cb!=a){this.cb=a;this.ja=m}};b.prototype.XRa=function(a){if(this.Q2!=a){this.Q2=a;this.ja=m}};b.prototype.dTa=function(a){if(this.N8!= a){this.N8=a;this.ja=m}};b.prototype.BRa=function(a){if(this.G_!=a){this.G_=a;this.ja=m}};b.prototype.TSa=function(a){if(this.Z6!=a){this.Z6=a;this.ja=m}};b.prototype.tH=function(a){if(this.$b!=a){this.$b=a;this.ja=m}};b.prototype.Jg=function(){if(this.ja){this.V();this.ja=B}};b.prototype.V=function(){var a=this.Q2+"px "+this.N8+"px "+this.G_+"px "+this.Z6+"px "+this.$b;this.Tb.style.display=this.cb?"block":"none";this.Tb.style.boxShadow=a;this.Tb.style["-webkit-box-shadow"]=a;this.Tb.style["-moz-box-shadow"]= a;this.Tb.style.borderTopLeftRadius=this.ct+"px";this.Tb.style.borderTopRightRadius=this.dt+"px";this.Tb.style.borderBottomLeftRadius=this.$s+"px";this.Tb.style.borderBottomRightRadius=this.bt+"px";this.Tb.style.filter="alpha(opacity="+Math.round(this.ab*100)+")";this.Tb.style["-ms-filter"]="alpha(opacity="+Math.round(this.ab*100)+")";this.Tb.style.opacity=this.ab;this.Tb.style.zIndex=d.Fca};return b}); define("mt","require,jquery.mod,dZ,kM,lm,bb,nW,ga,ew,jw,or,cu,gg,u".split(","),function(a){var b=a("jquery.mod");a("dZ");var e=a("kM"),d=a("lm"),g=a("bb"),c=a("nW"),i=a("ga"),f=a("ew"),j=a("jw"),n=a("or"),k=a("cu"),o=a("gg");a("u");var p=e.extend(d,function(){d.call(this);this.DE=p.DE++;this.k0=this.Td=this.W4=this.cL=this.S6=this.ba=this.Tb=r;this.zoa=this.$ha=B;this.Z=this.Pa=r;this.ia=this.X=this.Wt=this.Vt=0;this.Pw=this.cb=B;this.Qha=m;this.WJ=this.XJ=this.Ok=this.Pk=0;this.ab=1;this.qh=g.le; this.set("inView",B);this.set("toolTip",l);this.oB(m);this.I6(m)});p.prototype.he=R("ND");p.prototype.toString=function(){return"["+this.ba.attr("tdvclass")+"::"+this.DE+"]"};p.prototype.log=function(a){e.log(a+" "+this.toString()+" "+(new Date).getTime().toString())};p.prototype.tb=S("Pa");p.prototype.qr=function(a){(this.Pa=a)&&this.f3();this.kG();this.trigger(c.fwa)};p.prototype.Ac=function(){this.ba=b(this.Oq());this.Ac=S("ba");return this.ba};p.prototype.Oq=function(){this.Tb=document.createElement("div"); this.Tb.setAttribute("id",this.DE);this.ND&&this.Tb.setAttribute("tdvclass",this.ND);o.css(this.Tb,{margin:0,padding:0,position:"absolute",overflow:"visible",display:"block"});this.Oq=S("Tb");return this.Tb};p.prototype.Gk=function(){this.S6=new j;this.Gk=S("S6");return this.S6};p.prototype.Dc=function(){this.Td=new i;this.Dc=S("Td");return this.Td};p.prototype.wE=function(){this.cL=document.createElement("div");this.cL.setAttribute("tdvlayer","overShadow");o.css(this.cL,{position:"absolute",left:0, top:0,cursor:"inherit"});this.wE=S("cL");return this.cL};p.prototype.k2=function(){this.W4=b(this.wE());this.k2=S("W4");return this.W4};p.prototype.sb=function(){this.k0=new f;this.sb=S("k0");return this.k0};p.prototype.getParent=S("Z");p.prototype.Ra=S("X");p.prototype.zb=S("ia");p.prototype.zPa=function(){return this.X!==l&&this.ia!==l};p.prototype.Re=function(){return this.X-this.sb().TG()-this.sb().WG()};p.prototype.Qe=function(){return this.ia-this.sb().XG()-this.sb().QG()};p.prototype.rl=function(){return this.sb().TG()}; p.prototype.Rr=function(){return this.sb().XG()};p.prototype.Qr=function(){return this.sb().WG()};p.prototype.RG=function(){return this.sb().QG()};p.prototype.Hf=function(a){if(this.cb!=a){this.cb=a;this.Wd();if(this.Z){this.Z.Lb();this.Z.ud()}this.kG()}};p.prototype.kG=function(){var a=B;this.Pa&&this.cb&&this.qk()>0&&(this==this.Pa?a=m:this.Z&&(a=this.Z.Pw));this.Pw!=a&&this.r_(a)};p.prototype.r_=function(a){this.Pw=a;this.set("inView",a);this.Pw?this.trigger(new k(c.Vc)):this.trigger(new k(c.ad))}; p.prototype.CJa=function(a){if(this.Qha!=a){this.Qha=a;this.Z&&this.Z.ud()}};p.prototype.uJa=function(a){if(this.oE!=a){this.oE=a;this.Lb()}};p.prototype.tJa=function(a){if(this.nE!=a){this.nE=a;this.Lb()}};p.prototype.sJa=function(a){if(this.mE!=a){this.mE=a;this.Lb()}};p.prototype.rJa=function(a){if(this.lE!=a){this.lE=a;this.Lb()}};p.prototype.vJa=function(a){if(this.fm!=a){this.fm=a;if(this.fm!=l)this.zm=l;this.Lb()}};p.prototype.qJa=function(a){if(this.Yz!=a){this.Yz=a;if(this.Yz!=l)this.ym= l;this.Lb()}};p.prototype.PJa=function(a){if(this.zm!=a){this.zm=a;if(this.zm!=l)this.fm=l;this.Lb()}};p.prototype.LJa=function(a){if(this.ym!=a){this.ym=a;if(this.ym!=l)this.Yz=l;this.Lb()}};p.prototype.EJa=function(a){if(this.Ot!=a){if(a!=l)this.zT=l;this.Ot=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.cKa=function(a){if(this.Ep!=a){if(a!=l)this.BT=l;this.Ep=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.RJa=function(a){if(this.HL!=a){if(a!=l)this.AT=l;this.HL=a;this.Z&&this.Z.ud();this.Lb()}}; p.prototype.jJa=function(a){if(this.sI!=a){if(a!=l)this.yT=l;this.sI=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.MJa=function(a){if(this.zT!=a){if(a!=l)this.Ot=l;this.zT=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.OJa=function(a){if(this.BT!=a){if(a!=l)this.Ep=l;this.BT=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.NJa=function(a){if(this.AT!=a){if(a!=l)this.HL=l;this.AT=a;this.Z&&this.Z.ud();this.Lb()}};p.prototype.KJa=function(a){if(this.yT!=a){if(a!=l)this.sI=l;this.yT=a;this.Z&&this.Z.ud(); this.Lb()}};p.prototype.mJa=function(a){if(this.ew!=a){this.ew=a;this.Z&&this.Z.ud()}};p.prototype.nJa=function(a){if(this.fw!=a){this.fw=a;this.Z&&this.Z.ud()}};p.prototype.Wr=function(){return isNaN(this.fm)?this.Pk:this.fm};p.prototype.Vr=function(){return isNaN(this.Yz)?this.Ok:this.Yz};p.prototype.XDa=function(){return isNaN(this.uCa)?this.Dia:this.uCa};p.prototype.Tr=function(){return isNaN(this.oE)?this.XJ:this.oE};p.prototype.Vu=function(){return isNaN(this.nE)?this.WJ:this.nE};p.prototype.zW= function(){return isNaN(this.mE)?1E4:this.mE};p.prototype.yW=function(){return isNaN(this.lE)?1E4:this.lE};p.prototype.bna=function(a){if(this.n2()!=a){this.sb().ySa(a);this.Lb()}};p.prototype.n2=function(){return this.sb().kT};p.prototype.dna=function(a){if(this.q2()!=a){this.sb().ASa(a);this.Lb()}};p.prototype.q2=function(){return this.sb().mT};p.prototype.cna=function(a){if(this.p2()!=a){this.sb().zSa(a);this.Lb()}};p.prototype.p2=function(){return this.sb().lT};p.prototype.ana=function(a){if(this.m2()!= a){this.sb().xSa(a);this.Lb()}};p.prototype.m2=function(){return this.sb().jT};p.prototype.vO=function(a){if(this.Vt!=a){var b=this.Vt==0!=(a==0);this.Vt=a;this.sk();b&&this.Z&&this.Z.ud()}};p.prototype.wO=function(a){if(this.Wt!=a){var b=this.Wt==0!=(a==0);this.Wt=a;this.sk();b&&this.Z&&this.Z.ud()}};p.prototype.HPa=function(){return this.Vt!=0||this.Wt!=0};p.prototype.Oi=function(a){if(this.ab!=a){this.ab=a;o.css(this.wE(),{filter:"alpha(opacity="+Math.round(this.ab*100)+") ",opacity:this.ab}); this.kG();this.sk()}};p.prototype.qk=S("ab");p.prototype.gJa=function(a){if(this.Dc().ct!=a){this.Gk().kaa(a);this.Dc().kaa(a)}};p.prototype.dDa=function(){return this.Dc().ct};p.prototype.hJa=function(a){if(this.Dc().dt!=a){this.Gk().laa(a);this.Dc().laa(a)}};p.prototype.eDa=function(){return this.Dc().dt};p.prototype.ZIa=function(a){if(this.Dc().$s!=a){this.Gk().faa(a);this.Dc().faa(a)}};p.prototype.bDa=function(){return this.Dc().$s};p.prototype.$Ia=function(a){if(this.Dc().bt!=a){this.Gk().gaa(a); this.Dc().gaa(a)}};p.prototype.cDa=function(){return this.Dc().bt};p.prototype.cJa=function(a){if(this.Dc().Fo!=a){this.Dc().iaa(a);this.sb().iaa(a);this.Lb()}};p.prototype.Mga=function(){return this.Dc().Fo};p.prototype.iJa=function(a){if(this.Dc().Ho!=a){this.Dc().maa(a);this.sb().maa(a);this.Lb()}};p.prototype.Oga=function(){return this.Dc().Ho};p.prototype.eJa=function(a){if(this.Dc().Go!=a){this.Dc().jaa(a);this.sb().jaa(a);this.Lb()}};p.prototype.Nga=function(){return this.Dc().Go};p.prototype.aJa= function(a){if(this.Dc().Eo!=a){this.Dc().haa(a);this.sb().haa(a);this.Lb()}};p.prototype.Lga=function(){return this.Dc().Eo};p.prototype.bJa=function(a){this.Dc().DRa(a)};p.prototype.fJa=function(a){this.Dc().FRa(a)};p.prototype.dJa=function(a){this.Dc().ERa(a)};p.prototype.YIa=function(a){this.Dc().CRa(a)};p.prototype.yU=function(a){this.Gk().Hf(a)};p.prototype.XJa=function(a){this.Gk().XRa(a)};p.prototype.$Ja=function(a){this.Gk().dTa(a)};p.prototype.VJa=function(a){this.Gk().BRa(a)};p.prototype.ZJa= function(a){this.Gk().TSa(a)};p.prototype.YJa=function(a){this.Gk().Oi(a)};p.prototype.WJa=function(a){this.Gk().tH(a)};p.prototype.UIa=function(a){this.YCa()!=a&&this.Dc().Oi(a)};p.prototype.YCa=function(){return this.Dc().qk()};p.prototype.QIa=function(a){this.XCa()!=a&&this.Dc().tH(a)};p.prototype.XCa=function(){return this.Dc().$b};p.prototype.SIa=function(a){this.Dc().JRa(a)};p.prototype.RIa=function(a){this.Dc().IRa(a)};p.prototype.TIa=function(a){this.Dc().aSa(a)};p.prototype.Mx=function(a){if(this.qh!= a){this.qh=a;this.sk()}};p.prototype.oB=function(a){if(this.So!=a){this.So=a;o.css(this.wE(),{"z-index":this.So?n.tca:n.sca});this.sb().Jua(this.So);this.sk()}};p.prototype.I6=function(a){if(this.nla!=a){this.nla=a;o.css(this.Oq(),{"z-index":this.nla?n.Zca:n.Yca});this.sk()}};p.prototype.Ao=function(){this.kG();this.NN()};p.prototype.Cm=function(){this.kG()};p.prototype.d6=G();p.prototype.f3=function(){this.NN();this.Wd();this.Lb();this.ud();this.sk()};p.prototype.Ut=function(){this.WJ=this.XJ=this.Ok= this.Pk=0;this.Dia=l};p.prototype.NN=function(){var a=this.tb();a&&a.yD.NN(this)};p.prototype.Wd=function(){var a=this.tb();a&&a.yD.Wd(this)};p.prototype.Lb=function(){var a=this.tb();a&&a.yD.Lb(this)};p.prototype.ud=function(){var a=this.tb();a&&a.yD.ud(this)};p.prototype.sk=function(){var a=this.tb();a&&a.yD.sk(this)};p.prototype.C2=function(){var a=isNaN(this.zT)&&isNaN(this.Ot),b=isNaN(this.AT)&&isNaN(this.HL);return isNaN(this.fm)&&isNaN(this.zm)&&(a||b)?m:B};p.prototype.Eha=function(){var a= isNaN(this.BT)&&isNaN(this.Ep),b=isNaN(this.yT)&&isNaN(this.sI);return isNaN(this.Yz)&&isNaN(this.ym)&&(a||b)?m:B};p.prototype.EMa=function(){this.Ut();var a=this.XDa();if(a){var b=this.C2(),c=this.Eha();if(b&&!c){b=this.Qe();if(b!=0){this.Pk=b*a+this.rl()+this.Qr();this.Ok=b+this.Rr()+this.RG()}}else if(!b&&c){b=this.Re();if(b!=0){this.Ok=b/a+this.rl()+this.Qr();this.Pk=b+this.rl()+this.Qr()}}}if(!isNaN(this.oE)&&this.Pkthis.mE)this.Pk=this.mE; if(!isNaN(this.nE)&&this.Okthis.lE)this.Ok=this.lE};p.prototype.kb=function(){if(!this.zoa){this.zoa=m;var a=this.Oq(),b=this.wE();a.appendChild(this.Gk().EN());a.appendChild(b);b.appendChild(this.Dc().EN());b.appendChild(this.sb().EN())}};p.prototype.NTa=function(){this.EMa();var a=this.Wr(),b=this.Vr(),c=this.Tr(),f=this.Vu();if(a!=this.dGa||b!=this.cGa||c!=this.$Fa||f!=this.ZFa||this.zm!=this.bGa||this.ym!=this.aGa){this.dGa=a;this.cGa=b;this.$Fa= c;this.ZFa=f;this.bGa=this.zm;this.aGa=this.ym;return m}return B};p.prototype.Ja=function(){this.sk()};p.prototype.Fl=G();p.prototype.yua=function(a,b,f,j){if(this.xa!=a||this.Aa!=b||this.X!=f||this.ia!=j){this.xa=a;this.Aa=b;this.X=f;this.ia=j;this.Dc().setSize(this.X,this.ia);this.ud();this.sk();this.trigger(new k(c.uc))}};p.prototype.Jg=function(){var a=this.Oq(),b=this.wE();if(this.cb){b.style.width=this.X+"px";b.style.height=this.ia+"px";a.style.left=this.xa+this.Vt+"px";a.style.top=this.Aa+ this.Wt+"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.L0.bra(this.qh);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.Gk().Jg();this.Dc().Jg();this.sb().Jg();if(!this.$ha&&this.Pa){this.$ha=m;this.Pa.Fna?this.g3():this.Pa.bind(c.Ms,this.g3,this, m)}};p.prototype.g3=function(){this.trigger(c.INIT)};p.prototype.lPa=function(a){var a=a.Ac().offset(),b=this.Ac().offset(),c={};c.left=b.left-a.left;c.top=b.top-a.top;if(this.Pa){c.left=c.left/this.Pa.tx;c.top=c.top/this.Pa.tx}return c};p.DE=0;return p}); define("S","require,dZ,kM,nW,cu,gp,mt".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("gp"),i=a("mt"),f=e.extend(i,function(){this.j={};this.pu=this.xga=l;this.Cx={};this.uga=m;this.Gna={};i.call(this);this.LBa();this.Ya();this.he("UICustomizable");this.Wd()});f.fc={visible:m,includeInLayout:m,state:l,left:l,right:l,top:l,bottom:l,centerX:l,centerY:l,width:l,height:l,minWidth:l,minHeight:l,maxWidth:l,maxHeight:l,actualWidth:l,actualHeight:l,paddingLeft:0,paddingTop:0,paddingRight:0, paddingBottom:0,opacity:1,borderRadius:0,borderTopRadius:l,borderBottomRadius:l,borderLeftRadius:l,borderRightRadius:l,borderTopLeftRadius:l,borderTopRightRadius:l,borderBottomLeftRadius:l,borderBottomRightRadius:l,borderSize:0,borderLeftSize:l,borderTopSize:l,borderRightSize:l,borderBottomSize:l,borderColor:l,borderLeftColor:l,borderTopColor:l,borderRightColor:l,borderBottomColor:l,shadow:B,shadowHorizontalLength:0,shadowVerticalLength:3,shadowBlurRadius:6,shadowSpread:0,shadowColor:"#000000",shadowOpacity:l, backgroundOpacity:1,backgroundColor:l,backgroundColorRatios:l,backgroundColorDirection:l,backgroundImageUrl:l,hideEffect:l,showEffect:l};f.prototype.LBa=function(){this.Gna[c.Ob]=c.Za};f.prototype.Ya=function(){this.pn(f.fc)};f.prototype.pn=function(a){for(var b in a){var c=a[b],f=c&&c.length;!f||typeof c=="string"?this.f(b,c):f==1?this.f(b,c[0]):f==2?this.m(b,c[0],c[1]):f==3&&this.m(b,c[0],c[1],c[2])}};f.prototype.f=function(a,b){this.j[a]={i:m,d:b}};f.prototype.cEa=function(){var a=[],b;for(b in this.j)a.push(b); return a};f.prototype.m=function(a,b,c,f){this.Cx[b]||(this.Cx[b]={});this.f(a,f);this.Cx[b][c]=a};f.prototype.SF=function(a,b){if(b)this.xga=a;else if(this.xga!=l)return;if(this.pu!=a){var c=this.Cx[this.pu];if(c)for(var f in c)(this.j[f]||(this.j[f]={})).i=m;this.pu=a;if(c=this.Cx[this.pu])for(f in c)(this.j[f]||(this.j[f]={})).i=m;this.Wd()}};f.prototype.Y=function(a){if(b(a).isString())this.set(a,l);else{var c=a;for(a in c)this.set(a,c[a])}};f.prototype.set=function(a,c){var f=this.j[a];if(f){c== l&&(c=f.d);if(!b.isEqual(this.get(a),c)){a=="state"&&this.SF(c,m);i.prototype.set.call(this,a,c);f.i=m;this.Wd()}}else i.prototype.set.call(this,a,c)};f.prototype.get=function(a,b){switch(a){case "actualWidth":return this.Ra();case "actualHeight":return this.zb();default:var c=i.prototype.get.call(this,a);if(c===l){var f=this.j[a];f&&(c=f.d);c===l&&(c=b)}return c}};f.prototype.$da=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 f});define("je",["require","dZ","kM","cu"],function(a){var b=a("dZ"),e=a("kM"),d=a("cu");return e.extend(d,function(a,c,i,f,j,n,e,o){b.isNumber(c)||(c=1);b.isNumber(i)||(i=0);d.call(this,a);this.scale=c;this.rotation=i;this.x=f;this.y=j;this.pageX=n;this.pageY=e;this.touches=o||[]})}); define("oa",["require","dZ","kM","cu"],function(a){a("dZ");var b=a("kM"),e=a("cu");return b.extend(e,function(a,b,c,i,f,j,n,k){e.call(this,a);this.x=b;this.y=c;this.pageX=i;this.pageY=f;this.delta=j;this.bW=n;this.originalEvent=k})}); define("e","require,jquery.mod,dZ,kM,nW,gp,lr,S,je,oa,gg,u,lH".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kM"),g=a("nW"),c=a("gp"),i=a("lr"),f=a("S"),j=a("je"),n=a("oa");a("gg");var k=a("u"),a=a("lH"),o=d.extend(f,function(){f.call(this);this.he("UIComponent");this.OQ=[];this.Qia=0;this.aCa=500;this.kc=1;this.vn=k.SX();this.AJ=this.It=this.LR=B;this.set("propagateClick",m)});o.fc={autoRolledOver:B,autoPressed:B,contentOpaque:m,cursor:l,inheritedCursor:l,inheritedInteractionEnabled:m, interactionEnabled:m,rollOverOpacity:[c.O,"opacity"],rollOverShadow:[c.O,"shadow"],toolTipFollowMouse:B};e.defaults(o.fc,f.fc);o.prototype.Ya=function(){this.pn(o.fc)};o.prototype.rea=function(){this.hna(m)};o.prototype.qea=function(){this.hna(B)};o.prototype.oea=function(){this.RF(m)};o.prototype.pea=function(){this.RF(B)};o.prototype.TL=function(a){if(this.It!=a){this.It=a;this.Xf()}};o.prototype.RF=function(a){if(this.AJ!=a){this.AJ=a;this.Xf()}};o.prototype.hna=function(a){if(this.LR!=a){this.LR= a;this.Xf()}};o.prototype.Xf=function(){this.It?this.SF(c.U):this.AJ&&this.LR?this.SF(c.Ob):this.AJ?this.SF(c.Za):this.LR?this.SF(c.O):this.SF(c.le)};o.prototype.trigger=function(){f.prototype.trigger.apply(this,arguments)};o.prototype.qoa=function(a,b){this.trigger(new n(g.Hb,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.roa=function(a,b){this.trigger(new n(g.Uc,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.soa=function(a,b){this.trigger(new n(g.ic,a.x,a.y,a.pageX,a.pageY,l,l,b))};o.prototype.ELa= function(a,b,c){this.trigger(new n(g.lq,a.x,a.y,a.pageX,a.pageY,b.delta,b.bW,c))};o.prototype.noa=function(a){this.trigger(new n(g.oa,a.x,a.y,a.pageX,a.pageY))};o.prototype.ooa=function(a){this.trigger(new n(g.to,a.x,a.y,a.pageX,a.pageY))};o.prototype.HLa=function(){this.trigger(new n(g.kd))};o.prototype.GLa=function(){this.trigger(new n(g.jc))};o.prototype.CLa=function(){this.trigger(new n(g.bz))};o.prototype.DLa=function(){this.trigger(new n(g.uo))};o.prototype.BLa=function(a,b,c){this.trigger(new j(g.bD, a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.xLa=function(a,b,c){this.trigger(new j(g.ZY,a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.yLa=function(a,b,c){this.trigger(new j(g.$C,a,b,c.x,c.y,c.pageX,c.pageY,c.touches))};o.prototype.zLa=function(a){this.trigger(new j(g.Mwa,l,a))};o.prototype.ALa=function(a){this.trigger(new j(g.aD,a))};o.prototype.A7=function(a){a.stopImmediatePropagation();this.hE(["touchend"]);this.eia(a)?this.J5(a):this.Pla(a,m)};o.prototype.Pla=function(a,b){var c= this.yE(a);b&&this.rLa(c);this.qoa(c,a);this.Z&&this.Z.Pla(a,b&&this.get("propagateClick"))};o.prototype.z7=function(a){a.preventDefault();a.stopImmediatePropagation();this.eia(a)?this.H5(a):this.Ola(a)};o.prototype.Ola=function(a){var b=this.yE(a);this.qLa(b);this.roa(b,a);this.Z&&this.Z.Ola(a)};o.prototype.Sga=function(a,b){var c=a.pageX-b.pageX,f=a.pageY-b.pageY;return Math.sqrt(c*c+f*f)};o.prototype.Ux=function(a,b){this.RI(["touchend"]);b!==B&&a.preventDefault();a.stopImmediatePropagation(); if(this.yF)this.I5(a);else{this.Nla(a,this.dia());this.Uha()}this.yF=r;this.lI()};o.prototype.Nla=function(a,b){this.soa(this.yE(a),a);this.pLa(b);this.Z&&this.Z.Nla(a)};o.prototype.rLa=function(a){this.bind(g.jc,this.goa,this,m);this.xB=a};o.prototype.qLa=function(a){if(this.xB){var a=this.Sga(this.xB,a),b;if(k.ub()){b=this.tb();b=Math.min(b.Ra(),b.zb())*0.01;b=o.Xxa*b}else b=o.cya;a>b&&this.eV()}};o.prototype.pLa=function(a){if(this.xB){this.noa(this.xB);a&&this.ooa(this.xB);this.eV()}};o.prototype.eV= function(){if(this.xB){this.unbind(g.jc,this.goa,this);this.xB=l}};o.prototype.goa=function(){this.eV()};o.prototype.Q1=function(a){this.hE(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.J5(a)};o.prototype.J5=function(a){var b=this.d2(a);this.yF=b;this.BLa(b.scale,b.rotation,b.coordinates);this.Z&&this.Z.J5(a)};o.prototype.Aga=function(a){a.preventDefault();a.stopImmediatePropagation();this.H5(a)};o.prototype.H5=function(a){var b=this.d2(a,this.yF),c=b.rotation- this.yF.rotation,f=b.scale/this.yF.scale;this.yF=b;this.kc=this.kc*f;for(this.dk=this.dk+c;this.dk>180;)this.dk=this.dk-360;for(;this.dk<-180;)this.dk=this.dk+360;this.xLa(this.kc,this.dk,b.coordinates);c!=0&&this.zLa(this.dk);f!=1&&this.ALa(this.kc);this.eV();this.Z&&this.Z.H5(a)};o.prototype.Cga=function(a){this.RI(["gesturechange","gestureend"]);a.preventDefault();a.stopImmediatePropagation();this.I5(a)};o.prototype.I5=function(a){this.yLa(this.kc,this.dk,this.d2(a).coordinates);this.Z&&this.Z.I5(a)}; o.prototype.d4=function(a){this.hE(["mouseup"]);a.stopImmediatePropagation();this.Jla(a,m);p&&this.PFa(a.ctrlKey)};o.prototype.Jla=function(a,b){var c=this.gA(a);b&&this.zAa(c);this.qoa(c,a);this.Z&&this.Z.Jla(a,b&&this.get("propagateClick"))};o.prototype.e4=function(a){a.preventDefault();a.stopImmediatePropagation();this.tb().vC(this);this.Kla(a)};o.prototype.Kla=function(a){var b=this.gA(a);this.yAa(b);this.roa(b,a);this.Z&&this.Z.Kla(a)};o.prototype.qS=function(a){this.RI(["mouseup"]);a.preventDefault(); a.stopImmediatePropagation();this.Lla(a,this.dia());this.Uha()};o.prototype.Lla=function(a,b){this.soa(this.gA(a));this.xAa(b);this.Z&&this.Z.Lla(a,b)};o.prototype.zAa=function(a){this.bind(g.jc,this.cfa,this,m);this.Kz=a};o.prototype.yAa=function(a){this.Kz&&this.Sga(this.Kz,a)>o.Sxa&&this.$_()};o.prototype.xAa=function(a){if(this.Kz){this.noa(this.Kz);a&&this.ooa(this.Kz);this.$_()}};o.prototype.$_=function(){if(this.Kz){this.unbind(g.jc,this.cfa,this);this.Kz=l}};o.prototype.cfa=function(){this.$_()}; o.prototype.Sia=function(a){if(this.Pa.Ria){a.preventDefault();a.stopImmediatePropagation();this.Mla(a)}};o.prototype.Mea=T(B);o.prototype.Mla=function(a){var b=this.gA(a),c=this.NDa(a);this.Z&&!this.Mea(c.delta)&&this.Z.Mla(a);this.ELa(b,c,a)};o.prototype.gA=function(a){return this.eR(a.pageX,a.pageY)};o.prototype.NDa=function(a){var a=window.event||a.originalEvent||a,b={};b.delta=Math.max(-1,Math.min(1,a.wheelDelta||-a.detail));b.bW=a.wheelDelta?a.wheelDelta*0.01:b.delta;return b};o.prototype.yE= function(a){var b=this.a2(a),c;if(b===l){c=a.pageX!==l?this.eR(a.pageX,a.pageY):this.eR(a.originalEvent.pageX,a.originalEvent.pageY);c.touches=[c]}else if(b.length==0)c=this.SHa;else{c={x:0,y:0,pageX:0,pageY:0,oy:0,py:0,touches:[]};Array.from(b).forEach(function(a){a||(a=b[0]);a=this.eR(a.pageX,a.pageY);c.x=c.x+a.x;c.y=c.y+a.y;c.pageX=c.pageX+a.pageX;c.pageY=c.pageY+a.pageY;c.oy=c.oy+a.oy;c.py=c.py+a.py;c.touches.push(a)}.bind(this));c.x=c.x/b.length;c.y=c.y/b.length;c.pageX=c.pageX/b.length;c.pageY= c.pageY/b.length;c.oy=c.oy/b.length;c.py=c.py/b.length}return this.SHa=c};o.prototype.eia=function(a){if((a=this.a2(a))&&a.length>1)for(var b=0,c=0;c1)return m}return B};o.prototype.mFa=function(a){for(;a;){if(a==this.Tb)return m;a=a.parentNode}return B};o.prototype.a2=function(a){return a.originalEvent.touches||a.originalEvent.targetTouches||a.originalEvent.changedTouches};o.prototype.eR=function(a,b){var c=this.Ac().offset(),f=this.Pa?this.Pa.tx: 1,j={};j.x=(a-c.left)/f;j.y=(b-c.top)/f;j.pageX=a/f;j.pageY=b/f;j.oy=a;j.py=b;return j};o.prototype.d2=function(a,b){var c=this.yE(a);if(a.originalEvent.scale!==l||a.originalEvent.rotation!==l)return{coordinates:c,scale:a.originalEvent.scale,rotation:a.originalEvent.rotation};if(b){var f=this.$ga(a);return{coordinates:c,scale:b.scale*f/b.touchesDistance,rotation:0,touchesDistance:f}}return{coordinates:c,scale:1,rotation:0,touchesDistance:this.$ga(a)}};o.prototype.$ga=function(a){var b=this.a2(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};o.prototype.hE=function(a){this.OQ=e(this.OQ).union(a);for(var a=this.Zga(a),b=0;b0&&b.Lz.length>0,c=this.p("contentOpaque"),j=this.p("inheritedInteractionEnabled"),i=this.p("interactionEnabled");this.nB(j&&i&&(c||b))}if(a||this.v("cursor")||this.v("inheritedCursor")){this.H("cursor");this.H("inheritedCursor");this.yP?this.Mx(this.p("cursor")):this.Mx(this.p("inheritedCursor"))}};o.prototype.nB=function(a){if(this.yP!=a){(this.yP=a)?this.hE(o.Mda):this.RI(o.Mda);this.lI()}};o.prototype.lI=function(){this.Oq().style["pointer-events"]=this.rha()};o.prototype.rha= function(){return this.yP?"auto":"none"};o.prototype.PFa=function(a){if(a){for(var a=[],b=this;b;){a.push(b);b=b.getParent()}console.log(a.map(function(a){return a.Zs}))}else console.log(this.Zs)};o.QN=function(){return o.SM>0};o.Mda=function(){var a=[],a=a.concat(["touchstart","touchmove"]);k.Xd()!=k.pi&&(a=a.concat(["mousedown","mousemove","mousewheel"]));return a}();o.SM=0;o.FUa=1E3;o.cya=10;o.Xxa=5;o.Sxa=10;var p=a.Ji("debug");return o}); define("d",["require"],function(){return{MO:"absolute",tg:"horizontal",Dv:"grid",ih:"vertical"}});define("cv",["require"],function(){return function(a){this.hd=a;this.height=this.width=this.y=this.x=0}});define("dy",["require"],function(){return function(){this.minHeight=this.minWidth=this.height=this.width=0}}); define("cb",["require","mo","cv","dy"],function(a){function b(){this.qc=r;this.nl=e.ec;this.Jk=e.Ha;this.FB=this.Et=0}var e=a("mo"),d=a("cv"),g=a("dy");b.prototype.Iua=function(a){this.Et!=a&&(this.Et=a,this.we())};b.prototype.IX=function(a){this.FB!=a&&(this.FB=a,this.we())};b.prototype.Tua=function(a){this.qc=a;this.we()};b.prototype.uH=function(a){this.Jk!=a&&(this.Jk=a,this.we())};b.prototype.BH=function(a){this.nl!=a&&(this.nl=a,this.we())};b.prototype.TN=function(){return new g};b.prototype.update= function(){var a=this.YAa();this.hG(a);this.oJa(a)};b.prototype.hG=function(a){this.GM(a);this.FM(a)};b.prototype.iR=function(){for(var a=this.Aha(),b=[],f=0;fa&&(a=this.xA,g=m),g)a=Math.max(1,Math.floor((p+q)/(a+q))),a=(p-(a-1)*q)/a}else a=this.Kt;a=Math.max(1,a);t=Math.max(1,Math.floor(0.001+(p+q)/(a+q)));var g=t*a,s=t*(a+q)-q,u=0;if(p>=s)switch(this.Jk){case e.Ua:u=p-s;break;case e.ke:u=Math.round(0.5*(p-s));break;default:u=0}for(var p=[],s=[],w=0;wq&&(q=this.EJ,g=m),g)q=Math.max(1,Math.floor((u+w)/(q+w))),q=(u-(q-1)*w)/q}else q=this.Jt;g=Math.max(1,Math.ceil(o/t));b=g*q;var o=g*(q+w)-w,v=0;if(u>=o)switch(this.nl){case e.Yb:v=u-o;break;case e.Sd:v=Math.round(0.5*(u-o))}o=[];u=[]; for(f=0;fu?(p.width=u,b-=p.width,a=m):(g+=q.zm,d.push(p))}e=d}while(a);for(f=0;f=d)switch(this.Jk){case e.Ua:f-= d;break;case e.ke:f=Math.round(0.5*(f-d));break;default:f=0}else f=0;for(o=0;o=p.height)switch(this.nl){case e.Yb:p.y=j-p.height;break;case e.Sd:p.y=Math.round(0.5*(j-p.height));break;default:p.y=0}else p.y=0;p.x=f;f+=p.width+b}else p.x=0,p.y=0};return a}); define("cU",["require","kM","mo","cb","dy"],function(a){var b=a("kM"),e=a("mo"),d=a("cb"),g=a("dy"),a=b.extend(d,function(){d.call(this)});a.prototype.TN=function(){for(var a=new g,b=this.iR(),f=0;fu?(p.height=u,b-=p.height,a=m):(g+=q.ym,d.push(p))}e=d}while(a);for(f=0;ff&&(f=p.width),g++)}d+=b*(g-1); if(j>=d)switch(this.nl){case e.Yb:j-=d;break;case e.Sd:j=Math.round(0.5*(j-d));break;default:j=0}else j=0;for(o=0;o=0&&!f;d--)e(this.Ko).contains(this.zd[d])||(f=this.zd[d]);for(d=c+1;d0){e(this.Ko).forEach(function(a){this.sb().QV(a.Oq());a.qr(this.tb())},this);this.Ko=[];this.Lb();this.ud()}};p.prototype.sO= function(a){if(this.wn!=a){this.wn&&this.wn.Tua(r);(this.wn=a)&&this.wn.Tua(this)}};p.prototype.Ja=function(){var a=B,b=this.p("layout");if(this.v("layout")){switch(b){case f.Dv:this.sO(new n);break;case f.tg:this.sO(new k);break;case f.ih:this.sO(new o);break;default:this.sO(new j)}this.H("layout");a=m}var c=this.wn;if(this.v("horizontalAlign")||a){c.uH(this.p("horizontalAlign"));this.H("horizontalAlign")}if(this.v("verticalAlign")||a){c.BH(this.p("verticalAlign"));this.H("verticalAlign")}if(this.v("gap")|| a){if(b==f.Dv){c.Iua(this.p("gap"));c.IX(this.p("gap"))}else b==f.tg?c.Iua(this.p("gap")):b==f.ih&&c.IX(this.p("gap"));this.H("gap")}if(b==f.Dv){if(this.v("itemWidth")||a){var i=this.p("itemWidth"),e=g.co(i);e!==l?c.mSa(e):c.eSa(i);this.H("itemWidth")}if(this.v("itemHeight")||a){i=this.p("itemHeight");e=g.co(i);e!==l?c.lSa(e):c.dSa(i);this.H("itemHeight")}if(this.v("itemMinWidth")){c.jSa(this.p("itemMinWidth"));this.H("itemMinWidth")}if(this.v("itemMinHeight")){c.iSa(this.p("itemMinHeight"));this.H("itemMinHeight")}if(this.v("itemMaxWidth")){c.hSa(this.p("itemMaxWidth")); this.H("itemMaxWidth")}if(this.v("itemMaxHeight")){c.gSa(this.p("itemMaxHeight"));this.H("itemMaxHeight")}}if(this.v("childrenInteractionEnabled")){this.H("childrenInteractionEnabled");this.Goa()}this.Ub(["cursor"],{cursor:"inheritedCursor"},this.zd,m,B);d.prototype.Ja.call(this);b==f.Dv&&c.SRa(this.fm)};p.prototype.Ub=function(a,b,c,f,j){for(var d=0;dthis.Ma?this.Ma=0:this.Ma>a&&(this.Ma=a)};b.tg="horizontal";b.ih="vertical";return b});define("jq",["require","kM","lt"],function(a){var b=a("kM"),e=a("lt");return b.extend(e,function(a){e.call(this,e.tg,a)})});define("ei",["require","kM","lt"],function(a){var b=a("kM"),e=a("lt");return b.extend(e,function(a){e.call(this,e.ih,a)})}); define("gI",["require","nW","cu","fQ"],function(a){function b(){var a;a=g?!c:!document[f];i.visible!=a&&(i.visible=a,i.trigger(new d(e.ra)))}var e=a("nW"),d=a("cu"),g=B,c=B,i=new (a("fQ"));i.visible=m;for(var f,j,a=["hidden","msHidden","webkitHidden"],n=["visibilitychange","msvisibilitychange","webkitvisibilitychange"],k=0;kj?j:100:1;b.Pe=a;for(a=0;a=j?0:j>=d?1:j/d;0.5>j?j=Math.pow(2*j,a):(j=1-Math.pow(1-(2*j-1),a),j+=1);return b+(c-b)*0.5*j}};b.G$=g(a);return b}function e(a){var b={E9:function(b,c,j,d){return b+(c-b)*(1-Math.pow(1-(0>=j?0:j>=d?1:j/d),a))}};b.G$=g(a);return b}function d(a){var b={E9:function(b,c,j,d){return b+(c-b)*Math.pow(0>=j?0:j>=d?1:j/d,a)}};b.G$=g(a);return b}function g(a){return function(b,c,d){b=Math.abs(c-b);return 1>b/d?0:1/(1-Math.pow((b- d)/b,1/a))}}function c(a,c,i){this.Nj=r;switch(a){case "quad_in":this.Nj=d(2);break;case "quad_out":this.Nj=e(2);break;case "quad_in_out":this.Nj=b(2);break;case "cubic_in":this.Nj=d(3);break;case "cubic_out":this.Nj=e(3);break;case "cubic_in_out":this.Nj=b(3);break;case "quart_in":this.Nj=d(4);break;case "quart_out":this.Nj=e(4);break;case "quart_in_out":this.Nj=b(4);break;case "quint_in":this.Nj=d(5);break;case "quint_out":this.Nj=e(5);break;case "quint_in_out":this.Nj=b(5);break;default:this.Nj= d(1)}this.qt=c.slice();this.rd=0;this.$a=this.Cw(c,i);this.S0={};for(a=0;a=this.$a};c.prototype.Ki=S("$a");c.prototype.rk=function(){return this.rd/this.$a};c.prototype.getTime=S("rd");c.prototype.setTime=function(a){this.rd=Math.min(Math.max(0, a),this.$a);for(a=0;athis.Bd?this.YP()&&(c=Math.min(a,this.qb-this.gg)):athis.Tc?this.WP()&&(f=Math.min(b,this.Ib-this.zf)):bthis.Tc+this.zf&&j>=b&&j=a+this.zf&& dc+this.zf&&(c=d-this.zf)}this.hM(this.Bd,c)}};t.prototype.ZP=function(){return this.Kea()&&this.Tc>0};t.prototype.oua=function(){if(this.YP()){for(var a=Math.max(0,this.qb-this.gg),b=Math.min(a,this.Bd+this.gg*0.5),c=a=Math.min(a,this.Bd+this.gg),f=this.Ab().slice(),d=f.shift();f.length;d=f.shift())if(d.get("visible")){var j=d.xa;j+d.Ra()>this.Bd+this.gg&&j>=b&&j=a+this.gg&&dc+this.gg&&(c=d-this.gg)}this.hM(c,this.Tc)}};t.prototype.XP=function(){return this.Jea()&&this.Bd>0};t.prototype.hM=function(a,b){this.Rk=this.Bd!=a;this.Sk=this.Tc!=b;this.Br();this.Kx=new p("cubic_in_out",[new q("hScrollPosition",this.Bd,a),new q("vScrollPosition", this.Tc,b)],500);o.wb(this.i_,this)};t.prototype.Kea=function(){return this.Er&&this.zf0&&this.Tc>0||a<0&&this.Tc25){this.Rk=this.Jw;this.Sk=this.Er;this.Br()}if(this.Rk||this.Sk){this.Bd=this.Bd-b;this.Tc=this.Tc-c;this.jw=a.pageX;this.kw=a.pageY;this.Lu();this.cMa()}}; t.prototype.mfa=function(){this.tb().unbind(d.Uc,this.lfa,this);this.tb().unbind(d.ic,this.mfa,this);this.k3=B;this.Br();var a=Math.max(Math.abs(this.i0/0.001),Math.abs(this.j0/0.001));this.Kx=new p("linear",[new q("hScrollPosition",this.Bd,this.Bd-0.5*this.i0*a),new q("vScrollPosition",this.Tc,this.Tc-0.5*this.j0*a)],a);o.wb(this.i_,this)};t.prototype.UEa=function(){this.g0=this.jw;this.h0=this.kw};t.prototype.cMa=function(){var a=(new Date).getTime(),b=a-this.jfa;if(b>10){this.jfa=a;this.i0=(this.jw- this.g0)/b;this.j0=(this.kw-this.h0)/b;this.g0=this.jw;this.h0=this.kw}};t.prototype.i_=function(a){if(this.Kx&&!this.Kx.Se()&&(this.Rk||this.Sk)){this.Kx.vb(a);if(this.Rk){this.Bd=this.Kx.eb("hScrollPosition");if(this.Bd<0||this.Bd>this.qb-this.gg)this.Rk=B}if(this.Sk){this.Tc=this.Kx.eb("vScrollPosition");if(this.Tc<0||this.Tc>this.Ib-this.zf)this.Sk=B}this.Lu();o.wb(this.i_,this)}else{this.Sk=this.Rk=B;this.Kx=r;this.Br()}};t.prototype.Lu=function(a){if(a){if(!this.Jw)switch(this.p("horizontalAlign")){case c.Ua:this.Bd= this.qb-this.gg;break;case c.ke:this.Bd=(this.qb-this.gg)/2;break;default:this.Bd=0}if(!this.Er)switch(this.p("verticalAlign")){case c.Yb:this.Tc=this.Ib-this.zf;break;case c.Sd:this.Tc=(this.Ib-this.zf)/2;break;default:this.Tc=0}}this.Bd=Math.max(0,Math.min(this.qb-this.gg,this.Bd));this.Tc=Math.max(0,Math.min(this.Ib-this.zf,this.Tc));this.rn().fb(this.Bd);this.sn().fb(this.Tc);this.sb().YRa(this.Bd);this.sb().eTa(this.Tc);this.sk();if(this.Bla!=this.Bd||this.Cla!=this.Tc){this.Bla!==l&&this.Cla!== l&&this.trigger(new g(d.xo));this.Bla=this.Bd;this.Cla=this.Tc}};t.prototype.Br=function(){var a;a=this.get("scrollBarVisible")==f.ALWAYS?m:this.vn?this.Rk||this.Sk||this.k3:this.Rk||this.Sk||this.p3;this.rn().Hf(this.Jw&&a);this.sn().Hf(this.Er&&a);this.sk()};t.prototype.kb=function(){j.prototype.kb.call(this);if(!this.GAa){this.GAa=m;if(this.vn)this.bind(d.Hb,this.kfa,this);else{this.bind(d.Hb,this.FAa,this);this.bind(d.kd,this.JAa,this);this.bind(d.jc,this.IAa,this);this.bind(d.lq,this.HAa,this)}}}; t.prototype.Ja=function(){if(this.v("overflow")){this.X4=this.p("overflow");this.H("overflow");this.ud()}if(this.v("scrollBarColor")){this.rn().tH(this.p("scrollBarColor"));this.sn().tH(this.p("scrollBarColor"));this.H("scrollBarColor")}if(this.v("scrollBarWidth")){this.rn().AO(this.p("scrollBarWidth"));this.sn().AO(this.p("scrollBarWidth"));this.H("scrollBarWidth")}if(this.v("scrollBarMargin")||this.v("scrollBarVerticalMargin")||this.v("scrollBarHorizontalMargin")){var a=this.p("scrollBarHorizontalMargin", "scrollBarMargin"),b=this.p("scrollBarVerticalMargin","scrollBarMargin");this.rn().Gua(a);this.rn().Uua(b);this.sn().Gua(a);this.sn().Uua(b);this.H("scrollBarMargin");this.H("scrollBarVerticalMargin");this.H("scrollBarHorizontalMargin")}if(this.v("scrollBarOpacity")){this.rn().Oi(this.p("scrollBarOpacity"));this.sn().Oi(this.p("scrollBarOpacity"));this.H("scrollBarOpacity")}j.prototype.Ja.call(this)};t.prototype.Fl=function(){j.prototype.Fl.call(this);this.fMa();this.yMa();this.wMa();this.Br();this.sk()}; t.prototype.fMa=function(){for(var a=0,b=0,c=0,f=0,d=this.Ab(),j=0;jthis.gg||this.Ib>this.zf;if(this.X4==i.xo){this.Jw= this.gg"));break;default:b["line-height"]="normal";this.Fm.text(this.p("text")); this.Fm.html(this.Fm.html().split(" ").join(" "))}this.H("direction");this.H("text");setTimeout(function(){this.Lb();this.ud()}.bind(this),0)}if(this.v("fontFamily")){a=this.p("fontFamily");d(a).isString()||(a="");b.fontFamily=j.Qu(a);this.H("fontFamily");this.Lb();this.ud()}if(this.v("fontSize")){a=this.p("fontSize");d(a).isNumber()?a=a+"px":d(a).isString()||(a="");b.fontSize=a;this.H("fontSize");this.Lb();this.ud()}if(this.v("fontColor")){a=this.p("fontColor");d(a).isString()||(a="");b.color= a;this.H("fontColor")}if(this.v("fontWeight")){a=this.p("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.H("fontWeight");this.Lb();this.ud()}if(this.v("fontStyle")){a=this.p("fontStyle");switch(a){case "italic":case "normal":break;default:a="normal"}b.fontStyle=a;this.H("fontStyle");this.Lb();this.ud()}if(this.v("textDecoration")){a= this.p("textDecoration");switch(a){case "underline":case "overline":case "line-through":case "none":break;default:a="none"}b.textDecoration=a;this.H("textDecoration");this.Lb();this.ud()}if(this.v("horizontalAlign")){this.ud();this.H("horizontalAlign")}if(this.v("verticalAlign")){this.ud();this.H("verticalAlign")}a=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(d(a).any(function(a){return this.v(a)},this)){var c={};d(a).each(function(a){c[a]= this.p(a);this.H(a)},this);b["-moz-text-shadow"]=b["-webkit-text-shadow"]=b["text-shadow"]=[c.textShadowHorizontalLength+"px",c.textShadowVerticalLength+"px",c.textShadowBlurRadius+"px","rgba("+parseInt("0x"+c.textShadowColor.substr(1,2))+", "+parseInt("0x"+c.textShadowColor.substr(3,2))+", "+parseInt("0x"+c.textShadowColor.substr(5,2))+", "+c.textShadowOpacity+")"].join(" ");a=c.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(c.textShadowHorizontalLength, -c.textShadowVerticalLength)/Math.PI)*45;b.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*c.textShadowOpacity).toString(16)).slice(-2)+c.textShadowColor.substr(1,6)+",direction="+a+")";this.sb().wH((c.textShadowHorizontalLength>0||c.textShadowVerticalLength>0||c.textShadowBlurRadius>0)&&c.textShadowOpacity>0)}this.Y6(b);f.prototype.Ja.call(this)};a.prototype.Fl=function(){var a={left:"auto",right:"auto",top:"auto",bottom:"auto"};switch(this.p("horizontalAlign")){case c.Ha:a.left= "0";break;case c.Ua:this.Jg();a.left=this.Re()-b(this)+"px";break;case c.ke:this.Jg();a.left=Math.max(0,Math.round((this.Re()-b(this))*0.5))+"px"}switch(this.p("verticalAlign")){case c.ec:a.top="0";break;case c.Yb:this.Jg();a.top=this.Qe()-this.cM.clientHeight+"px";break;case c.Sd:this.Jg();a.top=Math.max(0,Math.round((this.Qe()-this.cM.clientHeight)*0.5))+"px"}this.Y6(a)};a.prototype.Y6=function(a){var b=this.cM.style,c;for(c in a)b[c]=a[c]};var n=function(){function a(){!j&&c()&&(j=setTimeout(function(){j= r;var c=(new Date).getTime()-5E3,f;for(f in d){var i=d[f];i.timestamp=0};j.prototype.qQa=function(a){return this.o=="playingReverse"&&this.On.indexOf(a)>=0};j.prototype.ij=function(a){if(this.o!= "stopped"){this.pe=this.o=="playing"?Math.min(this.$a,this.pe+a):Math.max(0,this.pe-a);this.Nf.setTime(this.pe);this.xu();this.sL()}};j.prototype.rk=function(){return this.Nf&&this.Nf.eb("pos")||0};j.prototype.xw=function(a){if(this.On)for(var b=0;b=this.$a){this.pe=this.$a;this.TF();this.On=[];if(this.o!="stopped"){this.o="stopped";this.get("animationDirection")=="alternate"?this.reverse():this.get("loop")&&this.play()}}else this.o!="stopped"&&g.wb(this.ij,this)};j.Ewa="start";j.vY="frame";j.Cj="end";j.Cwa= "reverseStart";j.vs="reverseEnd";return j}); define("gn",["require","nW","ej"],function(a){var b=a("nW"),e=a("ej");return{mCa:function(){this.Oj=this.ne=r;this.bind(b.Vc,this.iga,this,m);this.bind(b.ad,this.dga,this,m);this.bind(b.kd,this.fga,this,m);this.bind(b.jc,this.ega,this,m);this.bind(b.u("effect"),this.bga,this,m);this.bind(b.u("rollOverEffect"),this.gga,this,m);this.Vz=B},LUa:function(){this.unbind(b.Vc,this.iga,this,m);this.unbind(b.ad,this.dga,this,m);this.unbind(b.kd,this.fga,this,m);this.unbind(b.jc,this.ega,this,m);this.unbind(b.u("effect"), this.bga,this,m);this.unbind(b.u("rollOverEffect"),this.gga,this,m)},iga:function(){this.ne&&this.ne.play()},dga:function(){this.ne&&this.ne.stop();this.Oj&&this.Oj.stop();this.Vz=B},fga:function(){if(!this.Vz&&(this.Vz=m,this.Oj))if(this.ne&&this.ne.get("loop")&&0this.M_;)this.Wc.pop().cancel();if(b){var d=this.Bk,j=function(){b.call(f||window,d.ff(),d.$c(),d.Rd())};this.Bk.ul()?j():this.Bk.bind(c.T,j)}};b.prototype.clear=function(){this.Wc.forEach(function(a){a.cancel()});this.Bk=r};a=g.extend(k,function(a){k.call(this);this.he("Image");this.M_=a||1;this.E8=B;this.Jk=j.Ha;this.oR=B;this.nl=j.ec;this.zV=B;this.bf=n.NONE;this.q6= B;this.kF=this.lF=0;this.X2=this.U4=B;this.Ib=this.qb=0;this.ht=B;this.Zw=this.Kk=this.Mb=this.wR=this.vR=r;this.bind(c.uc,this.REa,this);this.bind(c.Vc,this.SEa,this)});a.prototype.j2=function(){this.Zw=new b(this.M_);this.j2=S("Zw");return this.Zw};a.prototype.Ya=function(){k.prototype.Ya.call(this);this.f("horizontalAlign",j.Ha);this.f("verticalAlign",j.ec);this.f("scaleMode",n.NONE)};a.prototype.set=function(a,b){if(a=="url"&&this.get("url")!=b){this.E8=m;this.Wd()}k.prototype.set.call(this,a, b)};a.prototype.uH=function(a){if(this.Jk!=a){this.Jk=a;this.oR=m;this.Wd()}};a.prototype.BH=function(a){if(this.nl!=a){this.nl=a;this.zV=m;this.Wd()}};a.prototype.yy=function(a){if(this.bf!=a){this.bf=a;this.q6=m;this.Wd();this.Lb()}};a.prototype.REa=function(){this.ht=m;this.Wd()};a.prototype.SEa=function(){this.lpa()};var q={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"};f.browser()==f.tk&&f.ub()&&(q.transform="translate3d(0,0,0)");a.prototype.iea=function(a,b,f){this.lF=b?b:0;this.kF=f?f:0;if(this.Mb){this.Mb.remove();this.Mb=r}if(this.Kk=a){this.Mb=d(this.Kk);o.css(this.Kk,q);this.vR.append(this.Mb)}this.U4=this.X2=m;this.Wd();this.Lb();this.Mb&&this.trigger(c.T)};a.prototype.kb=function(){k.prototype.kb.call(this);if(!this.vR){this.wR=document.createElement("div");this.vR=d(this.wR); o.css(this.wR,{position:"static",overflow:"hidden",cursor:"inherit"});this.sb().append(this.vR)}};a.prototype.Ut=function(){this.Pk=this.lF+this.rl()+this.Qr();this.Ok=this.kF+this.Rr()+this.RG();this.Dia=this.lF==0&&this.kF==0?0:this.lF/this.kF;this.WJ=this.XJ=0};a.prototype.Ja=function(){if(this.v("scaleMode")){this.yy(this.p("scaleMode"));this.H("scaleMode")}if(this.v("horizontalAlign")){this.uH(this.p("horizontalAlign"));this.H("horizontalAlign")}if(this.v("verticalAlign")){this.BH(this.p("verticalAlign")); this.H("verticalAlign")}if(this.$da())this.ht=m;k.prototype.Ja.call(this);this.lpa();if(this.zPa()){var a=B;if(this.q6||this.U4||this.ht){var b=this.Re(),c=this.Qe(),f=this.lF,d=this.kF,i,g;if(f==0||d==0)g=i=0;else switch(this.bf){case n.NONE:i=f;g=d;break;case n.Cv:i=b;g=c;break;case n.gh:if(f*c>d*b){i=b;g=d*b/f}else{i=f*c/d;g=c}break;case n.iq:if(f*c>d*b){i=f*c/d;g=c}else{i=b;g=d*b/f}break;case n.ro:i=b;g=d*b/f;break;case n.Fj:i=f*c/d;g=c}if(this.qb!=i||this.Ib!=g){this.qb=i;this.Ib=g;a=m}this.U4= this.q6=B}if(a||this.ht||this.X2){this.zV=this.oR=m;this.Kk&&o.css(this.Kk,{width:this.qb+"px",height:this.Ib+"px",visibility:"inherit"});o.css(this.wR,{width:this.Re()+"px",height:this.Qe()+"px","border-top-left-radius":this.kR(this.dDa(),this.Oga(),this.Mga())+"px","border-top-right-radius":this.kR(this.eDa(),this.Oga(),this.Nga())+"px","border-bottom-left-radius":this.kR(this.bDa(),this.Lga(),this.Mga())+"px","border-bottom-right-radius":this.kR(this.cDa(),this.Lga(),this.Nga())+"px"});this.Lb(); this.X2=this.ht=B}if(this.oR&&this.Kk){switch(this.Jk){case j.Ha:o.css(this.Kk,{"margin-left":0,"margin-right":this.Re()-this.qb+"px"});break;case j.Ua:o.css(this.Kk,{"margin-left":this.Re()-this.qb+"px","margin-right":0});break;case j.ke:o.css(this.Kk,{"margin-left":Math.floor((this.Re()-this.qb)*0.5)+"px","margin-right":Math.ceil((this.Re()-this.qb)*0.5)+"px"})}this.oR=B}if(this.zV&&this.Kk){switch(this.nl){case j.ec:o.css(this.Kk,{"margin-top":0,"margin-bottom":this.Qe()-this.Ib+"px"});break;case j.Yb:o.css(this.Kk, {"margin-top":this.Qe()-this.Ib+"px","margin-bottom":0});break;case j.Sd:o.css(this.Kk,{"margin-top":Math.floor((this.Qe()-this.Ib)*0.5)+"px","margin-bottom":Math.ceil((this.Qe()-this.Ib)*0.5)+"px"})}this.zV=B}}};a.prototype.lpa=function(){if(this.E8){var a=this.get("url");if(a)this.j2().load(a,this.iea,this);else{this.j2().clear();this.iea(r,0,0)}this.E8=B}};a.prototype.kR=function(a,b,c){if(!a)return 0;var f=0;b&&(f=Math.max(f,b));c&&(f=Math.max(f,c));return Math.max(0,a-f)};return a}); define("fy","require,kM,lB,gp,lk,lT".split(","),function(a){var b=a("kM"),e=a("lB"),d=a("gp"),g=a("lk"),c=a("lT"),a=b.extend(g,function(){g.call(this)});a.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("iconURL");this.m("rollOverIconURL",d.O,"iconURL");this.m("pressedIconURL",d.Za,"iconURL");this.m("pressedRollOverIconURL",d.Ob,"iconURL")};a.prototype.u0=function(){var a=new c(3);a.set("scaleMode",e.gh);return a};a.prototype.Ja=function(){if(this.v("iconURL")){var a=this.p("iconURL");this.Th.set("url", a);this.Th.set("visible",a?m:B);this.H("iconURL")}g.prototype.Ja.call(this)};return a});define("fx",["require","mS","fy"],function(a){var b=a("mS"),e=a("fy");return b.G("Button",e,function(){e.call(this)})});define("hF",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("CapPanoramaOverlay",b,function(){b.call(this)})});define("hu",["require","mS","hF"],function(a){var b=a("mS"),e=a("hF");return b.G("CeilingCapPanoramaOverlay",e,function(){e.call(this)})}); define("ct","require,dZ,jquery.mod,kM,nW,cu,e".split(","),function(a){a("dZ");var b=a("jquery.mod"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("e"),a=e.extend(c,function(){c.call(this);this.he("Canvas");this.i1=m;this.I=r;this.bind(d.uc,this.cAa,this)});a.prototype.cAa=function(){this.SW()};a.prototype.SW=function(){this.i1=m;this.sk()};a.prototype.kb=function(){c.prototype.kb.call(this);if(!this.I){this.I=b("");this.I.css({position:"absolute",left:0,top:0,cursor:"inherit"});this.sb().append(this.I)}}; a.prototype.Ja=function(){this.$da()&&this.SW();c.prototype.Ja.call(this)};a.prototype.Jg=function(){if(this.i1){this.i1=B;var a=this.I.get(0);a.width=this.Re();a.height=this.Qe();this.LTa()}c.prototype.Jg.call(this)};a.prototype.LOa=function(){return this.I.get(0).width};a.prototype.KOa=function(){return this.I.get(0).height};a.prototype.JOa=function(){return this.I.get(0).getContext("2d")};a.prototype.LTa=function(){this.trigger(new g(d.ra))};return a}); define("jz","require,kM,nW,gp,lk,ct".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("gp"),g=a("lk"),c=a("ct"),a=b.extend(g,function(){g.call(this)});a.prototype.Fl=function(){g.prototype.Fl.call(this)};a.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("iconColor");this.m("rollOverIconColor",d.O,"iconColor");this.m("pressedIconColor",d.Za,"iconColor");this.m("pressedRollOverIconColor",d.Ob,"iconColor")};a.prototype.u0=function(){var a=new c;a.bind(e.ra,this.Rva,this,m);return a};a.prototype.Ja= function(){if(this.v("iconColor")){this.Th.SW();this.H("iconColor")}g.prototype.Ja.call(this)};a.prototype.zDa=function(){return this.p("iconColor")};a.prototype.ADa=function(){return this.Th.JOa()};a.prototype.CDa=function(){return this.Th.LOa()};a.prototype.BDa=function(){return this.Th.KOa()};a.prototype.Rva=G();return a}); define("fG",["require","kM","jz","mo","gp"],function(a){var b=a("kM"),e=a("jz"),d=a("mo"),g=a("gp"),a=b.extend(e,function(){e.call(this);this.Y({horizontalAlign:d.ke,verticalAlign:d.Sd})});a.prototype.Ya=function(){e.prototype.Ya.call(this);this.f("iconLineWidth");this.m("rollOverIconLineWidth",g.O,"iconLineWidth");this.m("pressedIconLineWidth",g.Za,"iconLineWidth");this.m("pressedRollOverIconLineWidth",g.Ob,"iconLineWidth")};a.prototype.JDa=function(){return this.p("iconLineWidth")};a.prototype.Ja= function(){this.v("iconLineWidth")&&(this.Th.SW(),this.H("iconLineWidth"));e.prototype.Ja.call(this)};a.prototype.Rva=function(){var a=this.ADa(),b=this.zDa(),f=this.CDa(),d=this.BDa(),g=this.JDa();a.clearRect(0,0,f,d);a.lineWidth=g||1;a.strokeStyle=b||"#000000";a.beginPath();a.moveTo(0,0);a.lineTo(f,d);a.moveTo(0,d);a.lineTo(f,0);a.closePath();a.stroke()};return a});define("iM",["require","mS","fG"],function(a){var b=a("mS"),e=a("fG");return b.G("CloseButton",e,function(){e.call(this)})}); define("jB",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("CookiesPolicy",b,function(){b.call(this)})});define("ll",["require","kP","mS","nt"],function(a){var b=a("kP"),e=a("mS");BaseContainer=a("nt");a=e.G("Container",BaseContainer,function(){BaseContainer.call(this)});a.prototype.scrollTo=function(a,b){BaseContainer.prototype.scrollTo.call(this,a,b)};a.prototype.scrollIntoView=function(a){b.ry(function(){BaseContainer.prototype.scrollIntoView.call(this,a)}.bind(this))};return a}); define("kU",["require","lm","mS"],function(a){var b=a("lm"),e=a("mS"),a=e.G("PanoramaFrame",b,function(){b.call(this);this.$=r});a.prototype.get=function(a,g){switch(a){case "overlays":return this.l2();case "hfov":case "vfov":case "pitch":case "flipImageHorizontally":case "minFaceSize":if(this.$)return this.$.get(a,g)}return b.prototype.get.call(this,a,g)};a.prototype.l2=function(){var a=b.prototype.get.call(this,"overlays");a||(a=[]);return this.W6(a)};a.prototype.W6=function(a){if(this.WF===l|| this.WR!=a){var b=function(a){return e.va("PopupPanoramaOverlay",a)},c=function(a){return e.va("LensFlarePanoramaOverlay",a)};this.WR=a;this.WF=[].concat(a.filter(function(a){return!(b(a)||c(a))}),a.filter(c),a.filter(b))}return this.WF};a.prototype.FNa=R("$");a.prototype.VG=S("$");a.prototype.vl=T(B);return a});define("nF",["require","mS","kU"],function(a){var b=a("mS"),e=a("kU");return b.G("CubicPanoramaFrame",e,function(){e.call(this)})}); define("hS",["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("nU",["require","kM","hS","lH"],function(a){function b(a){return d[j][a]||d.en[a]||a}var e=a("kM"),d=a("hS"),g=a("lH"),c;for(c in d)d[c.substr(0,2)]=d[c];d.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
'; d["zh-hk"]=d["zh-mo"]=d["zh-tw"];d.no=d.nn;var i=function(){var a=window.navigator,b=["language","browserLanguage","systemLanguage","userLanguage"],c,f,d=[];(c=g.Yr("language"))&&d.push(c.toLowerCase());var j=a.languages;if(Array.isArray(j))for(c=0;c0&&a<1&&this.ona();if(this.Aw){this.Aw.gain.value=a;this.L.volume=1}else this.L.volume=a;this.L.muted=a==0}};b.prototype.Gw=function(){var a=this.L.currentSrc||this.L.children.length&&this.L.children[0].src||"";g.my(a)&&(a=l);return a};return b});define("nv",["require"],function(){return{Ol:"video",gwa:"audio"}}); define("mz","require,kM,nW,kn,hA,cu,fQ,u,lH,hX,gI".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("kn"),g=a("hA"),c=a("cu"),i=a("fQ"),f=a("u"),j=a("lH"),n=a("hX"),k=a("gI"),o=b.extend(i,function(a){i.call(this);this.L=a;this.IA=this.IA.bind(this);this.Xt=this.Xt.bind(this);this.Tk=this.Tk.bind(this);this.NA=this.NA.bind(this);this.jj=this.jj.bind(this);this.Wk=this.Wk.bind(this);this.ci=this.ci.bind(this);this.$q=this.$q.bind(this);this.MM=this.MM.bind(this);this.L.addEventListener("ended",this.Tk, m);this.L.addEventListener("pause",this.Wk,B);this.L.addEventListener("stalled",this.Wk,B);this.L.addEventListener("waiting",this.Wk,B);this.L.addEventListener("canplay",this.IA,m);this.L.addEventListener("canplaythrough",this.Xt,B);this.L.addEventListener("loadedmetadata",this.jj,m);this.L.addEventListener("play",this.ci,B);this.L.addEventListener("playing",this.$q,B);this.L.addEventListener("error",this.NA,B);this.d1=B;this.o=d.M;this.rF=this.Jh=r;k.bind(e.ra,this.gNa,this)});o.prototype.clear= function(){if(this.L){this.L.removeEventListener("ended",this.Tk,m);this.L.removeEventListener("pause",this.Wk,B);this.L.removeEventListener("stalled",this.Wk,B);this.L.removeEventListener("waiting",this.Wk,B);this.L.removeEventListener("canplay",this.IA,m);this.L.removeEventListener("canplaythrough",this.Xt,B);this.L.removeEventListener("loadedmetadata",this.jj,m);this.L.removeEventListener("play",this.ci,B);this.L.removeEventListener("error",this.NA,B);this.L=r}};o.prototype.play=function(){this.L.log("PlaybackController", "play");this.rF=d.Q;this.xL()};o.prototype.stop=function(){this.L.log("PlaybackController","stop");this.rF=d.M;this.xL()};o.prototype.mg=function(){return this.Jh||this.o};o.prototype.hC=function(){return this.L.readyState==this.L.HAVE_NOTHING||this.L.readyState==this.L.HAVE_METADATA||this.L.currentTime===0?B:m};o.prototype.xL=function(){if(!this.Jh&&this.rF){this.Jh=this.rF;this.rF=r;this.Jh==d.Q?this.d7():this.c7()}};o.prototype.gNa=function(){if(k.visible){this.L.log("PlaybackController","visibile changed to true, setting state to "+ this.o);this.Jh=this.o;this.Jh==d.Q?this.d7():this.c7()}else if(!this.L.paused){this.L.log("PlaybackController","paused by visibile changed to false");var a=this.L.pause();a&&a["catch"](this.NA)}};o.prototype.Gw=function(){return this.L.currentSrc||this.L.children.length&&this.L.children[0].src||""};o.prototype.d7=function(){var a=this.Gw();this.qU(a&&!j.my(a));this.FP=f.browser()==f.Mh;if(this.L.paused){this.L.log("PlaybackController","startPlaying calling play");this.L.muted=m;this.L.log("PlaybackController", "this._media.play()");(a=this.L.play())&&a["catch"](this.NA)}else{this.L.log("PlaybackController","startPlaying already playing");this.ci()}};o.prototype.$q=function(){this.L.log("PlaybackController","onPlaying event received. Visible: "+k.visible)};o.prototype.ci=function(){if(this.Jh==d.Q){this.L.log("PlaybackController","onPlay event received when waiting to play");this.Jh=r;this.o=d.Q;this.trigger(new c(o.QY));this.xL()}else this.L.log("PlaybackController","onPlay event received. Visible: "+k.visible)}; o.prototype.c7=function(){this.qU(B);this.FP=B;if(this.L.paused){this.L.log("PlaybackController","startPausing already paused");this.Wk()}else{this.L.log("PlaybackController","startPausing calling pause");var a=this.L.pause();a&&a["catch"](this.NA)}};o.prototype.Wk=function(){if(this.Jh==d.M){this.L.log("PlaybackController","onPause event received when waiting to stop");this.Jh=r;this.o=d.M;this.xL()}else if(k.visible){this.L.log("PlaybackController","onPause event received without calling to pause"); (this.o==d.Q&&!this.Jh||this.Jh==d.Q)&&!this.L.hasAttribute("loop")&&!isNaN(this.L.duration)&&this.L.currentTime==this.L.duration&&this.L.duration>0&&this.Tk();this.MM()}else this.L.log("PlaybackController","onPause event received when not visible")};o.prototype.IA=function(){this.L.log("PlaybackController","on can play");this.MM()};o.prototype.Xt=function(){this.L.log("PlaybackController","can play through");this.MM();this.qU(B)};o.prototype.MM=function(){if(this.rna()){if(this.FP&&this.L.currentTime== 0){this.L.log("PlaybackController","updatePlaying applying ios hack");this.FP=B;try{this.L.currentTime=0.3}catch(a){}}f.browser()!=f.OC&&this.mma()}};o.prototype.rna=function(){return this.o==d.Q&&k.visible&&this.L.paused&&this.L.readyState>=3};o.prototype.mma=function(a){if(!this.nma)if(a){if(this.rna()){this.L.log("PlaybackController","updatePlaying retrying play");this.Jh=d.Q;this.d7()}}else this.nma=setTimeout(function(){this.nma=r;this.mma(m)}.bind(this),500)};o.prototype.NA=function(){if(this.Jh== d.Q){this.L.log("PlaybackController","onError waiting to play");this.Jh=r;this.rF?this.xL():f.browser()==f.Mh?this.trigger(new c(o.uY)):this.Jh=d.Q}};o.prototype.jj=function(){this.L.log("PlaybackController","on loaded metadata");!isNaN(this.L.duration)&&this.L.currentTime==this.L.duration&&this.L.duration>0&&this.Tk()};o.prototype.Tk=function(){this.L.log("PlaybackController","onEnded");this.FP=B;if(this.o==d.Q&&!this.Jh||this.Jh==d.M){this.L.log("PlaybackController","onEnded finalizing video"); this.qU(B);this.Jh=d.M;this.c7();this.trigger(new c(o.Cj))}};o.prototype.qU=function(a){if(this.d1!=a){this.L.log("PlaybackController","downloading changed to: "+a);(this.d1=a)?n.vTa(g.Sba):n.uTa(g.Sba)}};o.uY="deactivated";o.Cj="end";o.QY="play";return o}); define("A",["require","kM","nW","cu","fQ"],function(a){var b=a("kM"),e=a("nW");a("cu");var d=a("fQ"),a=b.extend(d,function(a){d.call(this);this.jj=this.jj.bind(this);this.q4=this.q4.bind(this);this.ai=this.ai.bind(this);this.L=a;this.hk=r;this.ae=[];this.L.addEventListener("loadedmetadata",this.jj,m);this.L.textTracks.addEventListener("addtrack",this.q4,B)});a.prototype.set=function(a){a&&this.Dya(a)};a.prototype.clear=function(){this.yIa()};a.prototype.zN=function(){var a=this.hk&&this.hk.track.activeCues; a&&(a=Array.prototype.slice.call(a,0));return a||[]};a.prototype.jj=function(){this.jpa()};a.prototype.q4=function(){this.jpa()};a.prototype.ai=function(){this.Hma(this.hk.track.activeCues)};a.prototype.Hma=function(a){a||(a=[]);0==this.ae.length&&0==a.length||(this.ae=Array.prototype.slice.call(a),this.trigger(e.uk,this.ae))};a.prototype.Dya=function(a){this.L.log("TextTracksController","add text track src: "+a);this.hk=document.createElement("track");this.hk.kind="subtitles";this.hk.src=a;this.L.appendChild(this.hk)}; a.prototype.yIa=function(){this.hk&&(this.L.log("TextTracksController","remove text track"),this.hk.track.removeEventListener("cuechange",this.ai),this.hk.track.mode="disabled",this.hk.src="",this.L.removeChild(this.hk),this.hk=r,this.Hma([]))};a.prototype.jpa=function(){for(var a=0;a=this.L.HAVE_ENOUGH_DATA&&this.ZE!==l){this.L.log("TimeController","updateCurrentTime when can play through set time to: "+this.ZE);try{this.L.currentTime=this.ZE}catch(a){}this.ZE=l}};i.prototype.ze=function(){this.trigger(new e(i.mf))};i.prototype.cT=function(){if(g.r9()&&!g.Yra()&&!this.L.paused&&this.L.readyState>= this.L.HAVE_ENOUGH_DATA){var a=(new Date).getTime();this.XR||(this.XR=a);if(this.G3&&a-this.G3>500){this.v7++;this.v7/((a-this.XR)*0.001)>0.4&&g.RSa()}this.G3=a}if(this.EP!==l&&this.L.currentTime>this.EP){this.EP=l;try{this.L.currentTime=this.L.currentTime-0.01}catch(b){}}this.ze()};i.prototype.M6=function(a){if(!!this.vB!=a)if(this.vB){clearInterval(this.vB);this.vB=r}else this.vB=setInterval(this.ze,16)};i.prototype.Gw=function(){return this.L.currentSrc||this.L.children.length&&this.L.children[0].src|| ""};i.mf="time update";i.oi="duration update";return i}); define("lf","require,jquery.mod,kM,fB,u,lH".split(","),function(a){function b(){}a("jquery.mod");var e=a("kM"),d=a("fB"),g=a("u"),a=a("lH");b.CEa=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.OEa=function(){if(g.browser()==g.Mh){var a=g.jC();if(a>=10&&a<11||a>=11.3)return m}return B};b.DEa=function(){return g.browser()== g.Jl||g.browser()==g.Mh?m:B};var c;b.mqa=function(a){try{c||(c=document.createElement("audio"));return!!c.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};var i;b.IG=function(a){try{if(!i){i=document.createElement("video");i.setAttribute("webkit-playsinline","true");i.setAttribute("playsinline","true")}return!!i.canPlayType(a).replace(/^no$/,"")}catch(b){}return B};b.JNa=function(){return g.browser()==g.Mh?g.jC()>=15||d?m:B:m};b.EEa=function(){try{if(document.createElement("canvas").getContext("webgl"))return m}catch(a){}try{if(document.createElement("canvas").getContext("experimental-webgl"))return m}catch(b){}return B}; b.xva=function(a,b,c){if(g.Xd()==g.pi)if(!c||c>30){if(a<=3168&&b<=1584)return m}else{if(a<=4096&&b<=2048)return m}else if(g.Bsa())if(!c||c>30){if(a<=4096&&b<=4096||a<=5760&&b<=5760||a<=5760&&b<=2880||a<=8192&&b<=4096)return m}else{if(a<=5760&&b<=5760||a<=8192&&b<=4096)return m}else if(g.Asa())if(!c||c>30){if(a<=2880&&b<=2880||a<=4096&&b<=2048)return m}else{if(a<=3840&&b<=3840||a<=4096&&b<=4096||a<=5760&&b<=2880||a<=2880&&b<=5760)return m}else if(g.ub()){if(a<=3840&&b<=2160)return m}else if(a<=4096&& b<=2048)return m;return B};b.CTa=function(a,c){return b.xva(a,c,30)};b.log=function(){e.log("webgl: "+b.mba);e.log("html5 audio: "+b.fsa);e.log("html5 video: "+b.isa)};b.WKa=function(){return["webgl:"+b.mba,"html5audio:"+b.fsa,"html5video:"+b.isa].join(" ")};b.hsa=b.mqa('audio/ogg; codecs="vorbis"');b.gsa=b.mqa("audio/mpeg");b.fsa=b.hsa||b.gsa;b.g$=b.IG('video/ogg; codecs="theora"');b.wVa=b.IG('video/mp4; codecs="avc1.42E01E"');b.h$=b.IG('video/webm; codecs="vp8, vorbis"');b.PPa=b.IG('video/mp4; codecs="hev1"'); b.PW=b.IG("video/mp4");b.QPa=b.IG("video/quicktime");b.jsa=b.OEa();b.Sra=b.DEa();b.DPa=b.Sra||b.PW&&b.CEa();b.isa=b.g$||b.PW||b.h$;b.mba=b.EEa();a.Li("debug")&&a.Li("capabilities")&&b.log();b.summary=b.WKa();return b}); define("cr",["require","lH"],function(a){function b(){this.$R=this.J3=r;this.ft=[];this.Tq=B;this.Tw=l}var e=a("lH");b.prototype.Wp=function(a,b){this.J3=e.nv(a);this.$R=b;this.V()};b.prototype.load=function(a,b){var c={};c.call=a;c.context=b||window;this.ft.push(c);this.Tw||(this.Tw=this.hha());this.V()};b.prototype.ul=function(){return this.Tw!==l};b.prototype.V=function(){00};q.prototype.pX=function(a){this.Ce=[a].concat(d(this.Ce).without(a));this.k5()};q.prototype.i9=function(a){this.Ce.push(a);this.k5()};q.prototype.nH=function(a){this.Ce=d(this.Ce).without(a);this.k5()};q.prototype.k5= function(){var a=this.bEa();if(q.asa())for(;this.sr.length0?c.Q:c.M);a.forEach(function(a){if(!this.DDa(a)){var c=this.sDa(a.tX());!c&&!a.tX()&&this.sr.push(c=new b(new o(p.Ol,B)));c&&c.RTa(a)}}.bind(this));this.tDa().forEach(function(a){a.oI.stop()})};q.prototype.bEa=function(){return this.Ce.map(function(a,b){var c={};c.index=b;c.Fe=a.Z9();c.item=a;return c}).sort(function(a, b){return a.Fe-b.Fe||a.index-b.index}).map(function(a){return a.item})};q.prototype.hc=function(a){if(this.o!=a){this.o=a;this.trigger(new i(this.o==c.M?g.$f:g.Ms))}};q.prototype.sDa=function(a){var b=this.sr.filter(function(a){return a.q$()});if(b.length){if(a){a=b.filter(function(a){return a.WW()});a.length||(a=b.filter(function(a){return a.ZX()}))}else{a=b.filter(function(a){return!a.ZX()});a.length||(a=b.filter(function(a){return!a.WW()}))}a.length&&(b=a);if(n.browser()==n.Jl){b.sort(function(a, b){return b.AA-a.AA});return b[Math.min(2,b.length-1)]}return b[0]}return r};q.prototype.tDa=function(){return this.sr.filter(function(a){return a.q$()})};q.prototype.uha=function(){return this.sr.filter(function(a){return!a.q$()})};q.prototype.DDa=function(a){for(var b=0;b= 0;q.asa=function(){return t};q.dH=function(){return q.Rh().dH()};q.i9=function(a){q.Rh().i9(a)};q.pX=function(a){q.Rh().pX(a)};q.nH=function(a){q.Rh().nH(a)};q.jt=function(){if(q.h3===r)q.h3=new q;return q.h3};q.Rh=q.jt;q.jt();return q}); define("D","require,kM,cu,fQ,nW,kn,np,dt,mq,nv,bR,bf,lf".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("nW"),c=a("kn"),i=a("np"),f=a("dt"),j=a("mq"),n=a("nv"),k=a("bR"),o=a("bf"),p=a("lf"),q=b.extend(d,function(a,b,f){d.call(this);this.Pa=a;this.n=b;this.ir=f;this.j=r;this.XL();this.CS=this.CS.bind(this);this.n.bind(g.u("gain"),this.vK,this,m);this.n.bind(g.u("mp3Url"),this.dp,this,m);this.n.bind(g.u("oggUrl"),this.dp,this,m);this.o=c.M;this.Lk=B;this.pw=this.$a=0;this.Le=B;this.Mp= 1;this.bJ=B;this.pE=1;this.Zc=r;this.Aq=[]});q.prototype.tb=S("Pa");q.prototype.wd=function(a){if(this.o!=a&&!(a==c.Db&&this.o!=c.Q)){this.o=a;if(this.o==c.Q){this.Zza();k.pX(this)}else this.xKa();this.N7()}};q.prototype.xKa=function(){if(!this.bJ){this.bJ=m;this.rga=this.n.get("fadeOutTime");this.rga==0?this.Pna():this.CS(0)}};q.prototype.CS=function(a){if(!this.Zc||this.pE==0||!this.bJ||this.kFa())this.Pna();else{this.pE=Math.max(0,this.pE-a/this.rga);this.GP();o.wb(this.CS)}};q.prototype.Zza=function(){this.bJ= B;this.pE=1;this.GP()};q.prototype.Pna=function(){this.bJ=B;this.pE=1;if(this.Zc){k.nH(this);this.o==c.M&&this.L6()}};q.prototype.mg=S("o");q.prototype.Ki=S("$a");q.prototype.xC=function(a){this.pw=a;this.Zc&&this.Zc.play(this.Pa,this.j,this.pw)};q.prototype.sl=S("pw");q.prototype.lv=function(a){this.Mp=a;this.GP()};q.prototype.GP=function(){this.Zc&&this.Zc.lv(this.Mp*this.pE)};q.prototype.kf=function(a){this.Le=a;this.Zc&&this.Zc.kf(a)};q.prototype.setLoop=function(a){this.Lk=a;this.Zc&&this.Zc.setLoop(a)}; q.prototype.tX=function(){return!this.Le};q.prototype.De=function(){return n.gwa};q.prototype.Z9=S("ir");q.prototype.z9=function(a){this.Zc=a;setTimeout(function(){this.Zc&&this.Zc.bind(i.Cj,this.uK,this,m)}.bind(this),0);this.XL();this.Zc.bind(i.mf,this.ze,this,m);this.Zc.bind(i.oi,this.sm,this,m);this.Zc.bind(g.uk,this.ai,this,m);this.Zc.kf(this.Le);this.GP();this.Zc.setLoop(this.Lk);this.Zc.play(this.Pa,this.j,this.pw)};q.prototype.z$=function(){this.pw=this.Zc.sl();this.Zc.unbind(i.Cj,this.uK, this,m);this.Zc.unbind(i.mf,this.ze,this,m);this.Zc.unbind(i.oi,this.sm,this,m);this.Zc.unbind(g.uk,this.ai,this,m);this.Zc=r};q.prototype.clear=function(){this.wd(c.M);if(this.n){this.n.unbind(g.u("gain"),this.vK,this,m);this.n.unbind(g.u("mp3Url"),this.dp,this,m);this.n.unbind(g.u("oggUrl"),this.dp,this,m);this.n=r}};q.prototype.dp=function(){this.bB&&clearTimeout(this.bB);this.bB=setTimeout(function(){this.bB=r;if(this.Zc){this.j.src=this.Gw(this.n);this.Zc.play(this.Pa,this.j,this.pw)}}.bind(this), 10)};q.prototype.vK=function(){if(this.Zc){var a=this.n.get("gain");if(this.j.gain!=a){this.j.gain=a;this.Zc.nO(this.j.gain)}}};q.prototype.XL=function(){this.j=new j;this.j.src=this.Gw(this.n);this.j.Xu=m;this.j.gain=this.n.get("gain")};q.prototype.Gw=function(a){var b=a.get("mp3Url");if(b&&p.gsa)return b;return(a=a.get("oggUrl"))&&p.hsa?a:b||a};q.prototype.sm=function(){this.$a=this.Zc.Ki();this.I7()};q.prototype.ze=function(){this.$a!=this.Zc.Ki()&&this.sm();this.pw=this.Zc.sl();this.DM()};q.prototype.ai= function(){this.Aq=this.Zc.zN().map(function(a){for(var b=r,c=0;c 0){d=new b(d[0],f,j,g,b.watch(r,d.slice(1),f,j,g));d.j6(a);return d}return r};return b}); define("on",["require","jquery.mod","kM","nW","e"],function(a){var b=a("jquery.mod"),e=a("kM"),d=a("nW"),g=a("e"),c=e.extend(g,function(){g.call(this);this.he("DropDownArrow");this.I=r;this.ht=m;this.bind(d.uc,this.jCa,this)});c.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("color","#000000");this.f("direction",c.nY)};c.prototype.jCa=function(){this.ht=m;this.Wd()};c.prototype.kb=function(){g.prototype.kb.call(this);this.I||(this.I=b(""),this.I.css({position:"absolute",left:0, top:0}),this.sb().append(this.I))};c.prototype.Ja=function(){var a=B;this.v("color")&&(a=m,this.H("color"));this.v("direction")&&(a=m,this.H("direction"));this.ht&&(a=m,this.ht=B);if(a){var a=this.Re(),b=this.Qe(),d=this.p("color"),e=this.p("direction"),k=[0.5*a,0,a],e=e==c.nY?[b,0,0]:[0,b,b],o=this.I.get(0);o.width=a;o.height=b;o=o.getContext("2d");o.clearRect(0,0,a,b);o.beginPath();o.moveTo(k[0],e[0]);o.lineTo(k[1],e[1]);o.lineTo(k[2],e[2]);o.fillStyle=d;o.fill()}g.prototype.Ja.call(this)};c.nY= "down";c.bUa="up";return c}); define("hh","require,kM,cu,mo,bb,nW,d,gp,nt,on,ix".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("mo"),g=a("bb"),c=a("nW"),i=a("d"),f=a("gp"),j=a("nt"),n=a("on"),k=a("ix"),a=b.extend(j,function(){j.call(this);this.he("DropDownButton");this.Tv=this.Ia=r;this.C3=m;this.set("autoRolledOver",m);this.set("autoPressed",m);this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m);this.set("cursor",g.uf);this.bind(c.oa,this.j1,this)});a.prototype.Ya=function(){j.prototype.Ya.call(this);this.f("arrowColor", "#000000");this.f("arrowBeforeLabel");this.f("arrowWidth",9);this.f("arrowHeight",5);this.f("arrowGap",5);this.f("shadow",B);this.f("layout",i.tg);this.f("verticalAlign",d.Sd);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.m("rollOverBorderColor",f.O,"borderColor");this.m("rollOverArrowColor",f.O,"arrowColor");this.m("rollOverBackgroundColor",f.O,"backgroundColor");this.m("rollOverBackgroundColorRatios",f.O,"backgroundColorRatios");this.m("rollOverShadow", f.O,"shadow");this.m("pressedBorderColor",f.Za,"borderColor");this.m("pressedArrowColor",f.Za,"arrowColor");this.m("pressedBackgroundColor",f.Za,"backgroundColor");this.m("pressedBackgroundColorRatios",f.Za,"backgroundColorRatios");this.m("pressedShadow",f.Za,"shadow");this.m("pressedRollOverBorderColor",f.Ob,"borderColor");this.m("pressedRollOverArrowColor",f.Ob,"arrowColor");this.m("pressedRollOverBackgroundColor",f.Ob,"backgroundColor");this.m("pressedRollOverBackgroundColorRatios",f.Ob,"backgroundColorRatios"); this.m("pressedRollOverShadow",f.Ob,"shadow");this.m("pressedBorderColor",f.U,"borderColor");this.m("pressedArrowColor",f.U,"arrowColor");this.m("pressedBackgroundColor",f.U,"backgroundColor");this.m("pressedBackgroundColorRatios",f.U,"backgroundColorRatios");this.m("pressedShadow",f.U,"shadow")};a.prototype.set=function(a,b){if(a=="label"&&this.get("label")!=b){this.C3=m;this.Wd()}j.prototype.set.call(this,a,b)};a.prototype.kb=function(){j.prototype.kb.call(this);if(!this.Ia){this.Ia=new k;this.Ia.set("width", "100%");this.La(this.Ia)}if(!this.Tv){this.Tv=new n;this.Tv.set("direction",n.nY);this.La(this.Tv)}};a.prototype.j1=function(){this.open();this.trigger(new e(c.OPEN))};a.prototype.open=function(){this.unbind(c.oa,this.j1,this);this.TL(m)};a.prototype.close=function(){this.bind(c.oa,this.j1,this);this.TL(B)};a.prototype.Ja=function(){if(this.C3){this.Ia.set("text",this.get("label"));this.C3=B}this.Ub(["horizontalAlign","fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","textShadowColor", "textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.Ia],m,m);if(this.v("arrowGap")){this.set("gap",this.p("arrowGap"));this.H("arrowGap")}if(this.v("arrowColor")){this.Tv.set("color",this.p("arrowColor"));this.H("arrowColor")}if(this.v("arrowBeforeLabel")){this.p("arrowBeforeLabel")==m?this.Qm(this.Tv,0):this.Qm(this.Ia,0);this.H("arrowBeforeLabel")}if(this.v("arrowWidth")){this.Tv.set("width",this.p("arrowWidth"));this.H("arrowWidth")}if(this.v("arrowHeight")){this.Tv.set("height", this.p("arrowHeight"));this.H("arrowHeight")}j.prototype.Ja.call(this)};return a});define("gV",["require","dZ","kM","nt","d"],function(a){var b=a("dZ"),e=a("kM"),d=a("nt"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.ih};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.pn(g.fc)};return g}); define("kT","require,kM,cu,mo,bb,hn,nW,nt,gV,ix".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("mo"),g=a("bb"),c=a("hn"),i=a("nW"),f=a("nt"),j=a("gV"),n=a("ix"),a=b.extend(f,function(){f.call(this);this.he("DropDownPopup");this.Ld=r;this.OP=B;this.jb=r;this.KJ=[];this.Tx=m});a.prototype.open=function(a){this.Ld=a;this.OP=m;this.tb().Qm(this,this.tb().Ab().length-1);this.set("overIndex",-1);this.set("visible",m);this.bind(i.Hb,this.Cd,this);this.tb().bind(i.ic,this.Qk,this);this.tb().bind(i.uc, this.Sb,this)};a.prototype.close=function(){this.Ld=r;this.OP=m;this.set("visible",B);this.jb.set("overflow",c.pD);this.jb.set("contentOpaque",m);this.unbind(i.Hb,this.Cd,this);this.tb().unbind(i.ic,this.Qk,this);this.tb().bind(i.uc,this.Sb,this)};a.prototype.kb=function(){f.prototype.kb.call(this);if(!this.jb){this.jb=new j;this.jb.set("overflow",c.pD);this.jb.bind(i.uc,this.Sb,this);this.jb.bind(i.xo,this.Jx,this);this.La(this.jb)}};a.prototype.Sb=function(){this.Zoa()};a.prototype.Cd=function(){this.s6= B};a.prototype.Jx=function(){this.s6=m};a.prototype.Qk=function(){this.get("overIndex")==-1&&(!this.s6||!this.vn)&&this.trigger(new e(i.RC));this.s6=B};a.prototype.xGa=function(a){this.set("overIndex",this.i2(a.source))};a.prototype.yGa=function(a){a=this.i2(a.source);this.get("overIndex")==a&&this.set("overIndex",-1)};a.prototype.wGa=function(a){a=this.i2(a.source);this.set("overIndex",a);this.set("selectedIndex",a);this.trigger(new e(i.bn))};a.prototype.i2=function(a){for(var b=0;b=v){this.Tx=m;this.jb.set("top",b.top+j+g);this.jb.set("maxHeight",n)}else{this.Tx=B;this.jb.set("top",b.top-v+g);this.jb.set("maxHeight",v)}this.jb.set("overflow",c.xo)}j=x==d.ke?b.left+Math.round((f- i)*0.5):x==d.Ua?b.left+f-i:b.left;j<0?j=b.left:b.left+i>a.Ra()&&(j=b.left+f-i);this.jb.set("left",j);this.Foa()}};a.prototype.Foa=function(){var a=this.p("popUpBorderRadius");this.jb.Y({borderTopRadius:this.Tx?0:a,borderBottomRadius:this.Tx?a:0});for(var b=this.jb.Ab(),c=0;c=0&&b>=c.length&&(b=-1);this.set("selectedIndex",b);this.lj.set("items",this.p("items"));this.lj.set("selectedIndex",this.p("selectedIndex"));this.H("items");this.H("selectedIndex");if(this.Rn){this.Rn=B;this.trigger(new e(d.ra))}}if(a){a=this.p("label");if(!a){b=this.p("selectedIndex"); a=b<0?this.p("prompt"):this.p("items")[b]}this.Ld.set("label",a)}if(this.wna){this.lj.set("minWidth",this.Ld.Ra());this.lj.set("buttonWidth",this.Ld.Ra())}this.Ub(["fontFamily","fontSize","fontColor","fontWeight","fontStyle","textDecoration","horizontalAlign","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"],{},[this.Ld,this.lj],m,m);this.Ub(["popUpBorderRadius","popUpGap","popUpPaddingBottom","popUpPaddingLeft","popUpPaddingRight", "popUpPaddingTop","popUpBackgroundColor","popUpBackgroundOpacity","rollOverPopUpBackgroundColor","selectedPopUpBackgroundColor","popUpFontColor","rollOverPopUpFontColor","selectedPopUpFontColor","popUpShadow","popUpShadowBlurRadius","popUpShadowColor","popUpShadowHorizontalLength","popUpShadowOpacity","popUpShadowSpread","popUpShadowVerticalLength"],{},[this.lj],m,m);this.Ub(["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.Ld],m,m);g.prototype.Ja.call(this)};return a}); define("fq",["require","x","nW","mS","og"],function(a){var b=a("x"),e=a("nW"),d=a("mS"),g=a("og"),a=d.G("DropDown",g,function(){g.call(this);this.Yc=r;this.lia=[];this.bind(e.ra,this.qGa,this)});a.prototype.set=function(a,d){if("playList"==a){if(this.Yc)for(this.Yc.unbind("change",this.eu,this);this.lia.length;)this.lia.shift().unwatch();(this.Yc=d)?(b.watch(this.Yc,"items.label",this.lV,this),b.watch(this.Yc,"items.media.label",this.lV,this),this.lV(),this.Yc.bind("change",this.eu,this),this.eu()): this.lV()}g.prototype.set.call(this,a,d)};a.prototype.lV=function(){this.Yc?this.set("items",this.Yc.get("items").map(function(a){return a.get("label")||a.get("media")&&a.get("media").get("label")})):this.set("items",[])};a.prototype.eu=function(){this.set("selectedIndex",this.Yc.get("selectedIndex"))};a.prototype.qGa=function(){this.Yc&&this.Yc.set("selectedIndex",this.get("selectedIndex"))};return a}); define("di",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("DustPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a}); define("bz",["require","mS","ej"],function(a){var b=a("mS"),e=a("ej"),a=b.G("Effect",e,function(){e.call(this)});a.prototype.cancel=function(){return e.prototype.cancel.apply(this,arguments)};a.prototype.getPosition=function(){return e.prototype.rk.apply(this,arguments)};a.prototype.play=function(){return e.prototype.play.apply(this,arguments)};a.prototype.reverse=function(){return e.prototype.reverse.apply(this,arguments)};a.prototype.stop=function(){return e.prototype.stop.apply(this,arguments)}; return a});define("jn",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("ExternalModel3DObject",e,function(){e.call(this)})}); define("bm",["require","kM","ej"],function(a){var b=a("kM"),e=a("ej"),a=b.extend(e,function(){e.call(this);this.e_=this.d_=r});a.prototype.VF=function(){e.prototype.VF.call(this);this.d_=[];this.e_=[];this.xw(function(a){this.d_.push(this.get("alphaFrom",a.qk()));this.e_.push(this.get("alphaTo",a.qk()))});this.VT()};a.prototype.xu=function(){e.prototype.xu.call(this);this.VT()};a.prototype.VT=function(){this.xw(function(a,b){var c=this.d_[b],c=c+(this.e_[b]-c)*this.rk(),i=0this.Nh.indexOf(a.source)&&(this.Nh.push(a.source),1==this.Nh.length&&this.jF())};a.prototype.qja=function(a){a=this.Nh.indexOf(a.source);0<=a&&(this.Nh.splice(a,1),0==this.Nh.length&&this.um())};a.prototype.jF=function(){var a=this.get("effect"),b=this.get("rollOverEffect");b&&(a&&00?d.slice().sort(function(a,b){return a.get("timestamp")-b.get("timestamp")||d.indexOf(a)-d.indexOf(b)}):[c(a)]}}}); define("iJ",["require","lm","nW","mS","jN"],function(a){var b=a("lm"),e=a("nW"),d=a("mS"),g=a("jN"),a=d.G("FlatHotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.POa(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "opacity":case "distance":case "pitch":case "roll":case "yaw":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this, a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("p",["require","mS","iJ"],function(a){var b=a("mS"),e=a("iJ");return b.G("FlatHotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("dO",["require","mS","iJ"],function(a){var b=a("mS"),e=a("iJ");return b.G("FlatHotspotPanoramaOverlayMap",e,function(){e.call(this)})});define("nM",["require","mS","fE"],function(a){var b=a("mS"),e=a("fE");return b.G("FlyOverModel3DCamera",e,function(){e.call(this)})}); define("mk",["require","lm","nW","mS","jN"],function(a){var b=a("lm"),e=a("nW"),d=a("mS"),g=a("jN"),a=d.G("FramePanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.set=function(a,d){var f=B;switch(a){case "hfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "vfov":case "yaw":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc=== l&&(this.Qc=g.Y9(this)),this.Qc}return b.prototype.get.call(this,a,d)};return a});define("df",["require","dZ","kM","nt","d"],function(a){var b=a("dZ"),e=a("kM"),d=a("nt"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.Dv};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.pn(g.fc)};return g});define("jm",["require","mS","df"],function(a){var b=a("mS"),e=a("df");return b.G("GridContainer",e,function(){e.call(this)})}); define("iT","require,dZ,jquery.mod,cu,fQ,nW,hA,lH,jV,hX,kM".split(","),function(a){function b(){}function e(a){this.bRa=a;this.Zn=[];this.Fe=0}var d=a("dZ");a("jquery.mod");var g=a("cu"),c=a("fQ"),i=a("nW"),f=a("hA"),j=a("lH"),n=a("jV"),k=a("hX"),o=a("kM").extend(c,function(a){c.call(this);this.url=a;this.X$=this.Fe=0;this.status=o.vZ;this.qv=r});o.prototype.I$=function(a){this.X$=this.X$+a};o.prototype.jH=function(a){this.Fe=this.Fe+a};o.prototype.start=function(){this.status=o.lP;n.PX(this.url)? this.Xw():this.yn=k.add(this.url,f.NO,this.PIa.bind(this),this.Lea.bind(this))};o.prototype.PIa=function(){this.qv=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");this.qv.open("GET",this.url);this.qv.onreadystatechange=function(){this.qv.readyState>3&&this.Xw()}.bind(this);this.qv.send()};o.prototype.Lea=function(){if(this.qv){this.qv.abort();this.qv=r}};o.prototype.stop=function(){if(this.status==o.lP){this.status=o.vZ;this.Lea();this.yn&&this.yn.cancel()}};o.prototype.Xw= function(){this.qv=r;if(this.yn){this.yn.loaded();this.yn=r}this.status=o.txa;this.trigger(new g(i.T))};o.vZ="not loaded";o.lP="loading";o.txa="loaded";e.prototype.BNa=function(a){a.forEach(function(a){if(this.Zn.indexOf(a)<0){this.Zn.push(a);a.jH(this.Fe);a.I$(1)}}.bind(this))};e.prototype.lRa=function(a){var b=this.Zn;this.Zn=[];b.forEach(function(b){if(a.indexOf(b)<0)this.Zn.push(b);else{b.jH(-this.Fe);b.I$(-1)}}.bind(this))};e.prototype.dRa=function(){this.Zn.forEach(function(a){a.jH(-this.Fe); a.I$(-1)}.bind(this));this.Zn=[];this.Fe=0};e.prototype.jH=function(a){this.Fe=this.Fe+a;this.Zn.forEach(function(b){b.jH(a)})};b.Nd=[];b.Vla=[];b.NCa=0;b.Qpa=function(a,b){this.RT(a).BNa(b.map(function(a){return this.ka(a)}.bind(this)));this.GU();this.V()};b.pRa=function(a,b){this.RT(a).lRa(b.map(function(a){return this.ka(a)}.bind(this)));this.GU();this.V()};b.eRa=function(a){this.RT(a).dRa();this.GU();this.V()};b.eX=function(a,b){this.RT(a).jH(b);this.GU();this.V()};b.GU=function(){this.Nd.sort(function(a, b){return b.Fe-a.Fe})};b.V=function(a){if(this.enabled()&&(a||!this.Cr))if(a){this.Cr&&clearTimeout(this.Cr);this.Cr=r;var a=this.FDa(),b=this.GDa();d(a).difference(b).forEach(function(a){a.stop()});d(b).difference(a).forEach(function(a){a.start()})}else this.Cr=setTimeout(function(){this.Cr=r;this.V(m)}.bind(this),1E3)};b.Cr=r;b.FDa=function(){return this.Nd.filter(function(a){return a.status==o.lP})};b.GDa=function(){for(var a=this.HDa(),b=[],c=0;c0&&(f.status==o.vZ||f.status==o.lP)&&b.push(f)}return b};b.HDa=function(){return this.NCa>0?0:5};b.RT=function(a){var b=d(this.Vla).find(function(b){return b.bRa==a});if(!b){b=new e(a);this.Vla.push(b)}return b};b.ka=function(a){var b=d(this.Nd).find(function(b){return b.url==a});if(!b){b=new o(a);b.bind(i.T,this.V,this);this.Nd.push(b)}return b};b.enabled=function(a){if(a===l)return b.OBa||b.PBa?B:b.p1!==l?b.p1:b.K;b.K=a};b.K=m;b.Jaa=function(a){b.p1=a.get(TDV.PlayerSettings.BACKGROUND_PRELOAD_ENABLED)}; b.p1=l;b.PBa=j.Ji("disable-background-preload",B);b.OBa=B;return b});define("ef",["require","kM","lm","mS","iT"],function(a){var b=a("kM"),e=a("lm"),d=a("mS"),g=a("iT"),a=d.G("Media",e,function(){e.call(this);this.p8=b.Yp(this.p8,this)});a.prototype.p8=function(){g.Qpa(this,this.Xr())};a.prototype.Xr=function(){return[]};a.prototype.nRa=function(){g.eRa(this)};a.prototype.set=function(a,b){e.prototype.set.call(this,a,b);this.p8()};return a}); define("eL",["require","mS","ef"],function(a){var b=a("mS"),e=a("ef"),a=b.G("Panorama",e,function(){e.call(this);this.WR=this.WF=l;this.set("minFaceSize",l)});a.prototype.get=function(a,b){switch(a){case "overlays":return this.l2();case "frames":return this.cha();case "partial":if(359.9>this.get("hfov"))return m}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.l2=function(){var a=e.prototype.get.call(this, "overlays");a||(a=[]);return this.W6(a)};a.prototype.W6=function(a){if(this.WF===l||this.WR!=a){var g=function(a){return b.va("PopupPanoramaOverlay",a)},c=function(a){return b.va("LensFlarePanoramaOverlay",a)};this.WR=a;this.WF=[].concat(a.filter(function(a){return!(g(a)||c(a))}),a.filter(c),a.filter(g))}return this.WF};a.prototype.$ra=function(){return 0c.indexOf(e.wq)&&b.prototype.get.call(this,"grayscale")&&(c=c.concat([e.wq]));return c}return b.prototype.get.call(this,a,g)};e.prototype.Zra=function(a){return 0<=this.get("tags").indexOf(a)};e.wq="preload";e.mP="mobile";e.Lca="ipadpro";e.nP="mobilevr";e.zZ= "mobilevr2gen";e.AZ="ondemand";return e}); define("fI",["require","lx","u","lH"],function(a){var b=a("lx"),e=a("u"),d=a("lH");return{Up:function(a){return this.wj(a,"load")},cC:function(a){return this.wj(a,"preload")},ZG:function(a){return this.Up(a)!=this.cC(a)},wj:function(a,b){var d=a.get("levels")||[],f=this.WCa(d),f=this.$Da(b,f),d=this.ACa(d,b),j=this.mha(d,f[0],f[1],this.YDa(b));j||(j=this.mha(d,f[0],f[1],l));return j},ACa:function(a,c){"preload"==c?a=this.cJ(a,b.wq):"load"==c&&(a=this.zCa(a,b.wq));e.Yu()&&(a=this.cJ(a,b.Lca));e.u$()&& (a=this.cJ(a,b.zZ));e.Ff()&&(a=this.cJ(a,b.nP));e.ub()&&(a=this.cJ(a,b.mP));return a},WCa: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")},$Da:function(a,b){if("preload"==a)return[0,0];var d=1E4;this.GCa()||(e.Ff()?d=2048:e.Yu()?d=2048:e.ub()&&(d=1024));return 1>b?[d*b,d]:[d,d/b]},YDa:function(a){if("load"==a)return B},GCa:function(){return e.Yu()&&d.Ji("recent_ipad_use_max_res",B)},cJ:function(a,b){var d= a.filter(function(a){return a.Zra(b)});0==d.length&&(d=a);return d},zCa:function(a,b){var d=a.filter(function(a){return!a.Zra(b)});0==d.length&&(d=a);return d},mha:function(a,b,d,f){function j(a){return Math.abs(a.get("width")*a.get("height")-b*d)}a=a.filter(function(a){return f!==l&&f!=a.get("grayscale",B)?B:m});if(0==a.length)return r;a.sort(function(a,b){return j(a)-j(b)});return a[0]}}}); define("J",["require","lm","mS","fI"],function(a){var b=a("lm"),e=a("mS"),d=a("fI"),a=e.G("HotspotMapOverlayImageBase",b,function(){b.call(this)});a.prototype.Up=function(){return this.get("image")?d.Up(this.get("image")):r};a.prototype.cC=function(){return this.get("image")?d.cC(this.get("image")):r};return a});define("kN",["require","kM","cu"],function(a){var b=a("kM"),e=a("cu");return b.extend(e,function(a,b){e.call(this,a);this.Gg=b})}); define("cm",["require","kM","lm","nW","kN"],function(a){var b=a("kM"),e=a("lm"),d=a("nW"),g=a("kN"),a=b.extend(e,function(){e.call(this);this.QM=[];this.Af=l;this.o="initial"});a.prototype.Zr=S("QM");a.prototype.yO=function(a){this.QM!=a&&(this.QM=a,this.Xw=this.Af=l)};a.prototype.qSa=function(a){this.Af!==a&&(this.o="loading",this.Af=a,this.trigger(new g(d.dc,this.Af)))};a.prototype.waa=function(){"loaded"!==this.o&&(this.o="loaded",this.trigger(d.T))};a.prototype.QRa=function(){"loaded"!==this.o&& (this.o="error",this.trigger(d.tc))};return a});define("de",["require","kM","cm"],function(a){var b=a("kM"),e=a("cm"),a=b.extend(e,function(a){e.call(this);this.ie=a;this.n=l});a.prototype.De=S("ie");a.prototype.JPa=function(a){return this.n!==l&&this.n===a.n};a.Vca="map";a.Wca="overlay";return a}); define("js",["require","kM","de"],function(a){var b=a("kM"),e=a("de"),a=b.extend(e,function(a,b,c){e.call(this,e.Wca);this.uHa=a;this.xa=b;this.Aa=c});a.prototype.getX=S("xa");a.prototype.getY=S("Aa");a.Uca="image";a.Tca="fov";return a}); define("lq",["require","kM","js"],function(a){var b=a("kM"),e=a("js"),a=b.extend(e,function(a,b,c,i,f,j,n,k,o,p,q,t){e.call(this,e.Uca,c,i);this.n=a;this.ed=b;this.tma=f;this.Vt=j;this.Wt=n;this.X=k;this.ia=o;this.bf=p;this.Jk=q;this.nl=t;this.QM=[b]});a.prototype.ji=S("ed");a.prototype.$c=S("X");a.prototype.Rd=S("ia");return a}); define("gJ",["require","mS","J","fI","lq"],function(a){var b=a("mS"),e=a("J"),d=a("fI"),g=a("lq"),a=b.G("HotspotMapOverlayImage",e,function(){e.call(this);this.Rt=l});a.prototype.getItem=function(){return this.xj()};a.prototype.xj=function(a){this.Rt===l&&(this.Rt=this.ZV(a));return this.Rt};a.prototype.ZV=function(a){var b=this.get("image");return b?(b=d.Up(b),new g(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"))):r};return a});define("N",["require","mS","J"],function(a){var b=a("mS"),e=a("J");return b.G("HotspotMapOverlayMap",e,function(){e.call(this)})}); define("fO",["require","lm","nW","mS","jN"],function(a){var b=a("lm"),e=a("nW"),d=a("mS"),g=a("jN"),a=d.G("HotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.Y9(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "distance":case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "roll":case "yaw":case "opacity":case "playbackPositions":this.Qc= l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("lb",["require","mS","fO"],function(a){var b=a("mS"),e=a("fO");return b.G("HotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("Y",["require","mS","fO"],function(a){var b=a("mS"),e=a("fO");return b.G("HotspotPanoramaOverlayMap",e,function(){e.call(this)})}); define("kO",["require"],function(){function a(a){for(var b={},a=a.split(","),c=0;c\s]+))?)*)\s*(\/?)>/,e=/^<\/([-A-Za-z0-9_]+\:?[-A-Za-z0-9_]*)[^>]*>/,d=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,g=a("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),c=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"), i=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"),f=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"),n=a("script,style");return function(a,o){function p(a,b,e,n){b=b.toLowerCase();if(c[b])for(;u.last()&&i[u.last()];)q(0,u.last());f[b]&& u.last()==b&&q(0,b);(n=g[b]||!!n)||u.push(b);if(o.start){var k=[];e.replace(d,function(a,b,c,f,d){a=c?c:f?f:d?d:j[b]?b:"";k.push({name:b,value:a,B9:a.replace(/(^|[^\\])"/g,'$1\\"')})});o.start&&o.start(b,k,n)}}function q(a,b){if(b){b=b.toLowerCase();for(c=u.length-1;0<=c&&u[c]!=b;c--);}else var c=0;if(0<=c){for(var f=u.length-1;f>=c;f--)o.end&&o.end(u[f]);u.length=c}}var t,s,u=[],w=a;for(u.last=function(){return this[this.length-1]};a;){s=m;if(!u.last()||!n[u.last()]){if(0==a.indexOf("<\!--"))t=a.indexOf("--\>"), 0<=t&&(o.WNa&&o.WNa(a.substring(4,t)),a=a.substring(t+3),s=B);else if(0==a.indexOf("t?a:a.substring(0,t),a=0>t?"":a.substring(t),o.kN&&o.kN(s))}else a=a.replace(RegExp("(.*?)]*>"),function(a,b){b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(//g,"$1");o.kN&&o.kN(b);return""}),q(0, u.last());a==w&&h("Parse Error: "+a);w=a}q()}}); define("ff","require,jquery.mod,dZ,kM,nW,cu,fQ,u,kO".split(","),function(a){var b=a("jquery.mod");a("dZ");var e=a("kM"),d=a("nW"),g=a("cu"),c=a("fQ"),i=a("u"),f=a("kO"),j=e.extend(c,function(a){c.call(this);this.Xe=b(a);this.KL=[];this.rw=r});j.prototype.$Pa=function(a){a&&a.toLowerCase().indexOf("=0?i.EG()==i.NH?this.YEa(a):this.XEa(a):this.WEa(a)};j.prototype.WEa=function(a){this.Xe.empty();a&&this.Xe.append(a);this.poa()};j.prototype.YEa=function(a){this.Xe.empty();var c=this.Xe,d=r, j=[],g=r;new f(a,{start:function(a,f,j){if(a=="script"){for(var j=l,e=0;e");f.attr(n);c.append(f);if(j)d=f;else{c=f;d=r}}},kN:function(a){g?g.content=g.content+a:c.append(a)},end:function(a){if(a=="script"){j.push(g);g=r}else{d=c;c=c.parent()}}});this.KL=j;this.bS()};j.prototype.XEa=function(a){function c(){j++;return d+ j}this.Xe.empty();var d="fragment_"+e.Xta(6)+"_",j=0,g=c(),i=[g],s=l,u=[],w=r,v="";new f(a,{start:function(a,b,f){if(a=="script"){f=l;for(a=0;a";s=j}else{v=v+">";i.push(j);s=l}}},kN:function(a){w? w.content=w.content+a:v=v+a},end:function(a){if(a=="script"){u.push(w);w=r}else{s=i[i.length-1];i.pop()}}});this.Xe.get(0).innerHTML=v;this.Xe.addClass(g);for(a=0;a0){this.rw=this.KL[0];this.KL.splice(0,1);var a=this.rw.src;if(a){var c= this;j.HFa(a,function(){c.via()},function(){c.OFa()})}else{var f=this.rw.parent,a=this.rw.previousSibling,d;d=a?a.next():f.children(":first");a=document.write;document.write=d.length?function(a){d.before(a)}:function(a){f.append(a)};b.globalEval(this.rw.content);document.write=a;this.via()}}else this.poa()};j.prototype.OFa=function(){this.rw=r;this.bS()};j.prototype.via=function(){this.rw=r;this.bS()};j.prototype.poa=function(){this.trigger(new g(d.lb))};j.tia={};j.HFa=function(a,c,f){j.tia[a]?c.call(window): b.ajax({url:a,async:B,dataType:"script",error:f,success:function(){j.tia[a]=m;c.call(window)}})};return j}); define("mc",["require","kM","nW","cu","fQ"],function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),a=b.extend(g,function(a,b){g.call(this);this.gFa=a;this.K=b;this.Gi=r});a.prototype.bind=function(){var a=g.prototype.bind.apply(this,arguments);this.NM();return a};a.prototype.unbind=function(){var a=g.prototype.unbind.apply(this,arguments);this.NM();return a};a.prototype.start=function(){this.K=m;this.NM()};a.prototype.stop=function(){this.K=B;this.NM()};a.prototype.VK=function(){this.trigger(new d(e.le))}; a.prototype.NM=function(){if(this.K&&this.Ora(e.le)){if(this.Gi==r){var a=this;this.Gi=setTimeout(function(){a.Gi=r;a.VK();a.NM()},this.gFa)}}else this.Gi!=r&&(clearTimeout(this.Gi),this.Gi=r)};return a}); define("kK","require,jquery.mod,dZ,kM,nW,hP,mo,e,ff,gY,mc".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kM"),g=a("nW"),c=a("hP"),i=a("mo"),f=a("e"),j=a("ff"),n=a("gY"),a=a("mc"),k=d.extend(f,function(){f.call(this);this.he("HTML");this.Gz=k.qP;this.Ela=this.Fla=0;this.xna=(new Date).getTime();this.EQ=this.Wi=r;this.zD=this.zD.bind(this);this.l_=[]});k.prototype.Ya=function(){f.prototype.Ya.call(this);this.f("content");this.f("horizontalAlign",i.Ha);this.f("verticalAlign",i.Sd);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.qr=function(a){this.Pa&&c.get(this.Pa).gRa(this.zD);f.prototype.qr.call(this,a);if(this.Pa){c.get(this.Pa).uNa(this.zD);c.get(this.Pa).HG(this.zD)}};k.prototype.kb=function(){f.prototype.kb.call(this); if(!this.EQ){this.Wi=document.createElement("div");this.EQ=b(this.Wi);this.Y0({position:"absolute",display:"inline",left:0,top:0,"box-sizing":"border-box"});var a=this.sb();a.wH(B);a.append(this.EQ);this.Jha=new j(this.EQ);this.Jha.bind(g.lb,this.LEa,this,m);this.bind(g.uc,this.Kha,this)}};k.prototype.Ja=function(){var a={},b=B;this.v("visible")&&(b=m);if(this.v("content")){this.Jha.$Pa(this.p("content"));this.H("content");b=m}if(this.v("fontFamily")){b=this.p("fontFamily");e(b).isString()||(b=""); a.fontFamily=n.Qu(b);this.H("fontFamily");b=m}if(this.v("fontSize")){b=this.p("fontSize");e(b).isNumber()?b=b+"px":e(b).isString()||(b="");a.fontSize=b;this.H("fontSize");b=m}if(this.v("fontColor")){b=this.p("fontColor");e(b).isString()||(b="");a.color=b;this.H("fontColor");b=m}if(this.v("fontWeight")){b=this.p("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.H("fontWeight");b=m}if(this.v("fontStyle")){b=this.p("fontStyle");switch(b){case "italic":case "normal":break;default:b="normal"}a.fontStyle=b;this.H("fontStyle");b=m}if(this.v("textDecoration")){b=this.p("textDecoration");switch(b){case "underline":case "overline":case "line-through":case "none":break;default:b="none"}a.textDecoration=b;this.H("textDecoration");b=m}if(this.v("textAlign")){b=this.p("textAlign");switch(b){case "left":case "right":case "center":case "justify":break; default:b=""}a["text-align"]=b;this.H("textAlign");b=m}var c=["textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];if(e(c).any(function(a){return this.v(a)},this)){var d={};e(c).each(function(a){d[a]=this.p(a);this.H(a)},this);a["-moz-text-shadow"]=a["-webkit-text-shadow"]=a["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(" ");c=d.textShadowVerticalLength==0&&this.p("textShadowHorizontalLength")==0?135:Math.round(4*Math.atan2(d.textShadowHorizontalLength,-d.textShadowVerticalLength)/Math.PI)*45;a.filter="progid:DXImageTransform.Microsoft.Shadow(color=#"+("00"+(255*d.textShadowOpacity).toString(16)).slice(-2)+d.textShadowColor.substr(1,6)+",direction="+c+")"}e(["paddingTop","paddingRight", "paddingBottom","paddingLeft"]).any(function(a){return this.v(a)},this)&&(b=m);this.Y0(a);b&&this.Yia();f.prototype.Ja.call(this)};k.prototype.Yia=function(){this.Kha();this.Lb();this.p("visible")&&this.p("content")?this.NL(k.hda):this.NL(k.qP)};k.prototype.Ux=function(a){for(var b=a.target;b&&b.tagName!="A"&&b.tagName!="BUTTON";)b=b.parentElement;f.prototype.Ux.call(this,a,!b)};k.prototype.Ut=function(){f.prototype.Ut.call(this);var a=this.sb();this.Pk=this.Wi.clientWidth+a.TG()+a.WG();this.Ok=this.Wi.clientHeight+ a.XG()+a.QG()};k.prototype.bna=function(a){if(this.n2()!=a){this.Wi.style.paddingLeft=a+"px";this.Lb()}};k.prototype.n2=function(){return parseInt(this.Wi.style.paddingLeft)||0};k.prototype.dna=function(a){if(this.q2()!=a){this.Wi.style.paddingTop=a+"px";this.Lb()}};k.prototype.q2=function(){return parseInt(this.Wi.style.paddingTop)||0};k.prototype.cna=function(a){if(this.p2!=a){this.Wi.style.paddingRight=a+"px";this.Lb()}};k.prototype.p2=function(){return parseInt(this.Wi.style.paddingRight)||0}; k.prototype.ana=function(a){if(this.m2()!=a){this.Wi.style.paddingBottom=a+"px";this.Lb()}};k.prototype.m2=function(){return parseInt(this.Wi.style.paddingBottom)||0};k.prototype.LEa=function(){this.l_=Array.prototype.slice.call(this.Wi.querySelectorAll("*[style]")).map(function(a){var b={};b.MG=a;b.style=a.getAttribute("style");return b}).filter(function(a){return o.test(a.style)}).map(function(a){for(var b=a.style,c=[];;){var f=o.exec(b);if(f){c.push(function(a){return function(){return a}}(b.substr(0, f.index+1)));c.push(function(a,b){switch(b){case "vw":return function(b){return Math.round(b*a)+"px"};case "vh":return function(b,c){return Math.round(c*a)+"px"};case "vmin":return function(b,c,f){return Math.round(f*a)+"px"};case "vmax":return function(b,c,f){return Math.round(f*a)+"px"}}}(parseFloat(f[1]),f[3].toLowerCase()));b=b.substr(f.index+f[0].length)}else{c.push(function(a){return function(){return a}}(b));a.functions=c;return a}}});this.Pa&&c.get(this.Pa).HG(this.zD)};k.prototype.zD=function(a, b,c,f){if(this.l_.length!=0){this.l_.forEach(function(d){var j=d.functions.map(function(d){return d(a,b,c,f)}).join("");d.MG.setAttribute("style",j)});this.Yia()}};k.prototype.Kha=function(){var a={width:"auto",height:"auto"},b=this.sb();if(!this.C2()){this.Pk!=this.X&&this.Lb();var c=this.X-(b.TG()+b.WG());c>0&&(a.width=c+"px")}if(!this.Eha()){this.Ok!=this.ia&&this.Lb();b=this.ia-(b.XG()+b.QG());b>0&&(a.height=b+"px")}this.Y0(a)};k.prototype.wja=function(){var a=this.Wi.clientWidth,b=this.Wi.clientHeight; if(this.Fla!=a||this.Ela!=b){this.Fla=a;this.Ela=b;this.Lb();this.NL(k.hda)}else{a=(new Date).getTime()-this.xna;a>k.bya?this.NL(k.Rxa):a>k.aya&&this.NL(k.Qxa)}};k.prototype.EIa=function(){this.xna=(new Date).getTime()};k.prototype.NL=function(a){this.Gz==k.$Ta&&this.EIa();if(this.Gz!=a){this.Gz!=k.qP&&k.Uea[this.Gz].unbind(g.le,this.wja,this);this.Gz=a;this.Gz!=k.qP&&k.Uea[this.Gz].bind(g.le,this.wja,this,m)}};k.prototype.Y0=function(a){var b=this.Wi.style,c;for(c in a)b[c]=a[c]};var o=/[^\d]((\d*\.)?\d+)\s*(vmin|vmax|vw|vh)/i; k.qP="stopped";k.Rxa="slow";k.Qxa="normal";k.hda="fast";k.bya=3E4;k.aya=5E3;k.Uea={slow:new a(2E3,m),normal:new a(500,m),fast:new a(100,m)};return k});define("jH",["require","kK","mS"],function(a){var b=a("kK");return a("mS").G("HTML",b,function(){b.call(this)})});define("b",["require","dZ","kM","nt","d"],function(a){var b=a("dZ"),e=a("kM"),d=a("nt"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.MO};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.pn(g.fc)};return g}); define("iq",["require","kM","hn","b","kK"],function(a){var b=a("kM"),e=a("hn"),d=a("b"),g=a("kK"),a=b.extend(d,function(){d.call(this);this.Mw=r;this.set("contentOpaque",m)});a.prototype.Ya=function(){d.prototype.Ya.call(this);this.f("overflow",e.xo);this.f("html")};a.prototype.kb=function(){d.prototype.kb.call(this);this.Mw==r&&(this.Mw=new g,this.Mw.Y({left:0}),this.La(this.Mw))};a.prototype.Ja=function(){this.Mw.set("width",this.C2()?l:"100%");this.v("html")&&(this.Mw.set("content",this.p("html")), this.H("html"));this.Ub(["paddingLeft","paddingTop","paddingRight","paddingBottom"],{},[this.Mw],m,m);this.Ub(["cursor"],{},[this.Mw],m,B);d.prototype.Ja.call(this)};return a});define("bw",["require","iq","mS"],function(a){var b=a("iq");return a("mS").G("HTMLText",b,function(){b.call(this)})}); define("jD","require,jquery.mod,kM,nW,cu,lH,gS,bb,lB,gp,dW,lT".split(","),function(a){function b(a,b,c){return function(f){var d;d=b=="mouse"?this.gA(f):this.yE(f);this.cia(d)?a.call(this,f):c=="release"?a.call(this,f):this.OCa(d,f)}}var e=a("jquery.mod"),d=a("kM"),g=a("nW"),c=a("cu"),i=a("lH"),f=a("gS"),j=a("bb"),n=a("lB"),k=a("gp"),o=a("dW"),p=a("lT"),q=i.Li("debug"),a=d.extend(p,function(){this.he("Button");p.call(this,3);this.set("autoRolledOver",m);this.set("autoPressed",m);this.set("cursor", j.uf);this.set("scaleMode",n.gh);this.b0=document.createElement("canvas");this.b0.width=1;this.b0.height=1;this.c0=this.b0.getContext("2d");this.c0.globalCompositeOperation="copy";this.H1=B;this.bind(g.jc,this.PEa,this)});a.prototype.Ya=function(){p.prototype.Ya.call(this);this.f("buttonGroup");this.f("mode",o.me);this.f("pressed");this.f("iconURL");this.f("transparencyActive");this.m("rollOverOpacity",k.O,"opacity");this.m("rollOverIconURL",k.O,"iconURL");this.m("pressedOpacity",k.Za,"opacity"); this.m("pressedIconURL",k.Za,"iconURL");this.m("pressedRollOverOpacity",k.Ob,"opacity");this.m("pressedRollOverIconURL",k.Ob,"iconURL")};a.prototype.Q1=b(p.prototype.Q1,"touch","capture");a.prototype.Aga=b(p.prototype.SCa,"touch");a.prototype.Cga=b(p.prototype.SCa,"touch","release");a.prototype.A7=b(p.prototype.A7,"touch","capture");a.prototype.z7=b(p.prototype.z7,"touch");a.prototype.Ux=b(p.prototype.Ux,"touch","release");a.prototype.d4=b(p.prototype.d4,"mouse","capture");a.prototype.e4=function(a){var b= this.gA(a);if(this.cia(b)||this.H1){p.prototype.e4.call(this,a);p.prototype.set.call(this,"cursor",this.Hfa)}else{this.H1=m;if(b=this.bha(b)){e(b).trigger(this.dfa(a));a.preventDefault();a.stopImmediatePropagation()}this.Xga(b)=="pointer"?p.prototype.set.call(this,"cursor",j.uf):p.prototype.set.call(this,"cursor",j.le);this.H1=B}};a.prototype.PEa=function(){p.prototype.set.call(this,"cursor",this.Hfa)};a.prototype.qS=b(p.prototype.qS,"mouse","release");a.prototype.cia=function(a){if(!this.Mb)return B; if(this.get("transparencyActive"))return m;var b=this.Pa?this.Pa.tx:1,c=this.Mb.offset(),f=(a.oy-c.left)/b,d=this.Mb.width(),a=(a.py-c.top)/b,b=this.Mb.height();if(f>=0&&a>=0&&f0)return m}return B};a.prototype.OCa=function(a,b){var c=this.bha(a);if(c){e(c).trigger(this.dfa(b));b.preventDefault();b.stopImmediatePropagation()}};a.prototype.bha=function(a){this.Oq().style.pointerEvents= "none";a=document.elementFromPoint(a.oy,a.py);setTimeout(function(){this.Oq().style.pointerEvents=this.rha()}.bind(this),0);return a};a.prototype.dfa=function(a){return e.extend(e.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.Xga=function(a){if(a){var b=a.style.cursor;b=="inherit"&&(b=this.Xga(a.parentElement))}else b="default";return b}; a.prototype.uI=function(){if(this.get("pressed")){this.set("pressed",B);this.trigger(new c(g.Nl))}else{this.set("pressed",m);this.trigger(new c(g.Hj))}};a.prototype.set=function(a,b){if(a==="cursor")this.Hfa=b;return p.prototype.set.call(this,a,b)};a.prototype.Ja=function(){var a=B;if(this.v("backgroundOpacityy")||this.v("backgroundColor"))a=m;if(this.v("iconURL")){this.set("url",this.p("iconURL"));this.H("iconURL")}var b=B;if(this.v("mode")){if(this.p("mode")==o.me){this.unbind(g.oa,this.uI,this, m);this.set("autoPressed",m)}else{this.bind(g.oa,this.uI,this,m);this.set("autoPressed",B)}this.H("mode");b=m}if(b||this.v("pressed"))this.p("mode")==o.Jj?this.RF(this.p("pressed")==m):b&&this.RF(B);if(this.v("buttonGroup")){(b=this.p("buttonGroup"))?f.register(this,b):f.KO(this);this.H("buttonGroup")}p.prototype.Ja.call(this);if(a){a=this.Dc();if(a.qk()==0||a.Lz.length==0){a.Oi(0.001);a.zua(["#000000"])}}};return a}); define("bk",["require","jD","mS"],function(a){var b=a("jD");return a("mS").G("IconButton",b,function(){b.call(this)})});define("mD",["require","mS","hQ"],function(a){var b=a("mS"),e=a("hQ");return b.G("IconHotspotMapOverlay",e,function(){e.call(this,B)})});define("nq",["require","lT","mS"],function(a){var b=a("lT"),a=a("mS").G("Image",b,function(){b.call(this)});a.prototype.set=function(a,d){b.prototype.set.call(this,a,d)};return a}); define("kY",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("InnerModel3DObject",e,function(){e.call(this)})});define("iF",["require","ix","mS"],function(a){var b=a("ix");return a("mS").G("Label",b,function(){b.call(this)})});define("bI",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("LensFlarePanoramaOverlay",b,function(){b.call(this)})}); define("nx",["require","mS","eL"],function(a){var b=a("mS"),e=a("eL"),a=b.G("LivePanorama",e,function(){e.call(this)});a.prototype.vW=function(){return this.get("initialFrameIndex",0)};return a});define("iU",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("Light",b,function(){b.call(this)})}); define("cO",["require","kM","de"],function(a){var b=a("kM"),e=a("de"),a=b.extend(e,function(a,b,c,i,f,j,n){e.call(this,e.Vca);this.n=a;this.ed=b;this.X=c;this.ia=i;this.bf=f;this.E1=j;this.Cn=n.slice()});a.prototype.Zr=function(){for(var a=[this.ed],b=0;b=0}.bind(this))};a.prototype.Cea=function(){this.trigger(new g(d.Hj))};a.prototype.Dea=function(){this.trigger(new g(d.Nl))};a.prototype.xea=function(){this.trigger(new g(d.oa))};a.prototype.zea=function(){this.trigger(new g(d.Hb))};a.prototype.Aea=function(){this.trigger(new g(d.ic))};a.prototype.Fea=function(a){this.Bz.push(a.source);this.Hi()};a.prototype.Eea=function(a){this.Bz=this.Bz.filter(function(b){return b!= a.source});this.Hi()};a.prototype.set=function(a,b){this.bw[a]=b;this.si.forEach(function(a){a.Y(this.bw)}.bind(this));this.Hi()};a.prototype.Hi=function(){this.si.forEach(function(a){a.get("state")==f.Za&&this.Bz.indexOf(a)>=0?a.set("state",f.Ob):a.get("state")==f.Ob&&this.Bz.indexOf(a)<0&&a.set("state",f.Za)}.bind(this))};return a}); define("fV","require,dZ,kM,nW,cu,gp,bb,b,e,mK,nc".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("gp"),i=a("bb"),f=a("b"),j=a("e");a("mK");a("nc");var n=e.extend(f,function(){f.call(this);this.he("PlaybackBar");this.al=this.Af=r;this.Cg=[];this.GT=B;this.r5=this.YA=l;this.h7=B});n.fc={cursor:i.uf,overflow:"visible",height:20,position:0,duration:100,steps:l,selectedStep:l,backgroundColor:"#000000",barBackgroundColor:"#FFFFFF",barBackgroundColorDirection:l,barBackgroundColorRatios:l, barBorderColor:l,barBorderRadius:l,barBorderSize:l,barOpacity:l,liveDragging:l,playheadBackgroundColor:"#FFFFFF",playheadBackgroundColorDirection:l,playheadBackgroundColorRatios:l,playheadBorderColor:l,playheadBorderRadius:l,playheadBorderSize:l,playheadOpacity:l,playheadWidth:5,playheadHeight:30,playheadShadow:m,playheadShadowBlurRadius:3,playheadShadowColor:"#000000",playheadShadowHorizontalLength:0,playheadShadowOpacity:l,playheadShadowSpread:0,playheadShadowVerticalLength:3,stepBackgroundColor:"#FFFFFF", stepBackgroundColorDirection:l,stepBackgroundColorRatios:l,stepBorderColor:l,stepBorderRadius:6,stepBorderSize:0,stepOpacity:1,stepWidth:12,stepHeight:12,stepShadow:m,stepShadowBlurRadius:6,stepShadowColor:"#000000",stepShadowHorizontalLength:0,stepShadowOpacity:l,stepShadowSpread:0,stepShadowVerticalLength:0,selectedStepBackgroundColor:"#3399FF",selectedStepBackgroundColorDirection:l,selectedStepBackgroundColorRatios:l,selectedStepBorderColor:"#ffffff",selectedStepBorderRadius:10,selectedStepBorderSize:2, selectedStepOpacity:1,selectedStepWidth:20,selectedStepHeight:20,selectedStepShadow:m,selectedStepShadowBlurRadius:3,selectedStepShadowColor:"#000000",selectedStepShadowHorizontalLength:0,selectedStepShadowOpacity:l,selectedStepShadowSpread:0,selectedStepShadowVerticalLength:0};b.defaults(n.fc,f.fc);n.prototype.Ya=function(){this.pn(n.fc)};n.prototype.kb=function(){f.prototype.kb.call(this);(!this.Af||!this.al)&&this.bind(d.uc,this.HHa,this,m);if(this.Af==r){this.Af=new j;this.Af.Y({left:"0",height:"100%", cursor:i.uf});this.La(this.Af)}if(this.al==r){this.al=new j;this.al.Y({left:"0",cursor:i.uf});this.al.bind(d.uc,this.KHa,this,m);this.al.bind(d.Hb,this.IHa,this,m);this.tb().bind(d.Uc,this.wla,this,m);this.bind(d.oa,this.FHa,this,m);this.al.bind(d.ic,this.JHa,this,m);this.La(this.al)}var a=this.get("steps")||0;if(this.Cg.length!=a){for(;this.Cg.length>a;)this.NBa(this.Cg.pop());for(;this.Cg.length=0;b--)a.push(this.i6[b].h);this.Ed&&a.push(this.Ed); this.Dh&&a.push(this.Dh);var c=this.Ab(),a=a.filter(function(a){return c.indexOf(a)>=0}),c=c.filter(function(b){return a.indexOf(b)==-1}).concat(a);c.forEach(function(a,b){a&&this.I9(a)!=b&&this.Qm(a,b)}.bind(this))};s.prototype.Ja=function(){if(this.v("externalProgressBar")){(this.RQ=this.p("externalProgressBar"))?this.removeChild(this.Dh):this.La(this.Dh);this.H("externalProgressBar");b(s.Cda).each(function(a){this.pB(a)},this)}this.Ub(s.Uxa,s.rda,[this.Dh],m,m);var a=[this.Dh];this.RQ&&a.push(this.RQ); this.Ub(s.Cda,s.Dda,a,m,m);if(this.v("externalPlaybackBar")){this.Lq&&this.Lq.unbind(d.ra,this.l5,this,m);(this.Lq=this.p("externalPlaybackBar"))?this.removeChild(this.Ed):this.La(this.Ed);this.LM();this.Lq&&this.Lq.bind(d.ra,this.l5,this,m);this.H("externalPlaybackBar");b(s.yda).each(function(a){this.pB(a)},this)}this.Ub(s.Txa,s.qda,[this.Ed],m,m);a=[this.Ed];this.Lq&&a.push(this.Lq);this.Ub(s.yda,s.zda,a,m,m);t.prototype.Ja.call(this)};s.prototype.XMa=function(){if(this.o5){this.o5=B;this.GD.set("state", this.fi==g.Db?q.Za:q.le);this.HD.set("state",this.fi==g.Q||this.fi==g.Db?q.Za:q.le);this.zz.set("state",this.fi==g.Q?q.Za:q.le);this.JD.set("state",this.fi==g.M?q.Za:q.le)}};s.prototype.hc=function(a){this.fi=a;this.set("playbackState",a)};s.prototype.fT=function(){s.Wj(this)};s.prototype.hHa=function(){s.Sj(this)};s.prototype.SA=function(){this.fi==g.Db?this.Zj():this.jp()};s.prototype.TA=function(){this.Zj()};s.prototype.NGa=function(){this.fi==g.Q?this.jp():this.Zj()};s.prototype.px=function(){this.Nn()}; s.prototype.mx=function(){this.Nn();this.Zj()};s.prototype.gHa=function(){if(!this.Lj||!this.Lj.oqa())switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.tb().wi;a&&a.available()&&a.toggle()}};s.prototype.iHa=function(a){this.i6=a.data.players;this.ud()};s.prototype.Zj=function(){this.Ql&&this.Ql.play()};s.prototype.jp=function(){this.Ql&&this.Ql.pause()};s.prototype.Nn=function(){this.Ql&&this.Ql.stop()};s.prototype.RGa=function(a){this.Ima(a.data.player)};s.prototype.QGa=function(a){this.Lj== a.data.player&&this.Ima(r)};s.prototype.uka=function(){s.bq(this)};s.prototype.kHa=function(){this.un=m;this.LM()};s.prototype.jHa=function(){this.un=B;this.LM()};s.prototype.LM=function(){this.Ed&&this.Ed.set("visible",this.get("playbackBarVisible")&&(this.un||!this.get("playbackBarRollOverDisplay")||k.SX()))};s.prototype.Ima=function(a){if(this.Lj!=a){this.set("playbackBarVisible",B);this.Lj&&this.Lj.bq(B);this.Ql&&this.Ql.unbind(d.u("state"),this.YZ,this);this.RHa=this.Lj;(this.Lj=a)&&this.Lj.bq(!!this.KE); (this.Ql=this.Lj&&this.Lj.Xza?this.Lj:r)&&this.Ql.bind(d.u("state"),this.YZ,this,m);this.YZ()}};s.prototype.bq=function(a){this.KE=a;this.set("isKeyboardTarget",a);this.Lj&&this.Lj.bq(!!this.KE)};s.prototype.UTa=function(){return!this.RHa};s.prototype.YZ=function(){this.Ql?this.hc(this.Ql.get("state")):this.hc(g.M)};s.prototype.l5=function(){var a=(this.Lq?this.Lq:this.Ed).get("position");this.trigger(new c(s.RY,{position:a}))};s.rda={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"};s.Uxa=b(s.rda).keys();s.Dda={progressPercent:"percent",progressVisible:"visible"};s.Cda=b(s.Dda).keys();s.qda={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"};s.Txa=b(s.qda).keys();s.zda={playbackBarDuration:"duration",playbackBarPosition:"position",playbackBarSteps:"steps",playbackBarSelectedStep:"selectedStep",playbackBarVisible:"visible"};s.yda=b(s.zda).keys();s.jP="requestByPlayer";s.zca="playerShow";s.yca="playerHide";s.RY="playbackBarPositionChange";s.yA=r;s.bq=function(a){if(s.yA!=a){s.yA&&s.yA.bq(B);s.yA= a;s.yA&&s.yA.bq(m)}};s.by=[];s.Wj=function(a){var b=s.by.indexOf(a);b<0&&s.by.splice(b,1);s.by.push(a);this.bq(a)};s.Sj=function(a){var b=s.by.indexOf(a);b<0&&s.by.splice(b,1);s.yA==a&&s.bq(s.by.length?s.by[s.by.length-1]:r)};return s}); define("cT",["require","kM","lm","cu","by"],function(a){var b=a("kM"),e=a("lm"),d=a("cu"),g=a("by"),c=b.extend(e,function(a){e.call(this);this.Xza=a;this.$L=this.ax=r});c.Kg="mediaShow";c.Ll="mediaHide";c.prototype.bq=G();c.prototype.oqa=T(B);c.prototype.WL=function(a){this.ax!=a&&(this.ax&&this.S7(this.ax),(this.ax=a)&&this.E_(this.ax))};c.prototype.E_=function(a){a.bind(g.jP,this.Bpa,this,m);a.bind(g.RY,this.lL,this)};c.prototype.S7=function(a){a.unbind(g.jP,this.Bpa,this);a.unbind(g.RY,this.lL, this)};c.prototype.rH=function(a){this.ax.trigger(new d(g.jP,{players:a||[this]}))};c.prototype.Bpa=function(a){0>a.data.players.indexOf(this)&&this.ZF()};c.prototype.lL=G();c.prototype.ZF=G();c.prototype.ZJ=function(a){this.trigger(new d(c.Kg,{media:a}));this.$L=this.ax;this.$L.trigger(new d(g.zca,{player:this}))};c.prototype.YJ=function(a){this.trigger(new d(c.Ll,{media:a}));this.$L&&(this.$L.trigger(new d(g.yca,{player:this})),this.$L=r)};return c}); define("jx",["require"],function(){return{Ky:"constrained",Jwa:"free_drag",fUa:"free_drag_and_rotation",xZ:"sync_with_field_of_view"}}); define("jZ",["require","kM","jx","lB"],function(a){function b(){this.ja=m;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.bf=d.gh;this.rm=e.Ky;this.U3=this.Y3=1;this.ee=this.fe=this.Rl=this.Sl=100;this.Dm=b.jz}a("kM");var e=a("jx"),d=a("lB");b.prototype.Vra=function(){return this.Dm!==b.jz};b.prototype.Ura=function(){return this.Dm&b.sD?m:B};b.prototype.Wra=function(){return this.Dm&b.tD?m:B};b.prototype.Xra=function(){return this.Dm&b.nz?m:B};b.prototype.Tra=function(){return this.Dm&b.iz?m:B};b.prototype.getX= function(){this.Km();return this.xa};b.prototype.getY=function(){this.Km();return this.Aa};b.prototype.Vp=function(){this.Km();return this.Sa};b.prototype.OG=function(){this.Km();return this.Jc};b.prototype.kO=function(a,b,d,f,j){this.fe=a;this.ee=b;this.bf=d;this.Y3=f;this.U3=j;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=f;this.ja=m};b.prototype.fb=function(a,b,d,f){this.xa=a;this.Aa=b;this.Jc=d;this.Sa=f;this.ja=m};b.prototype.cq=function(a){this.rm=a;this.ja=m};b.prototype.setSize=function(a,b){this.Sl= a;this.Rl=b;this.ja=m};b.prototype.Km=function(){if(this.ja){this.ja=B;var a=b.jz;this.Sa>this.U3?(this.Sa=this.U3,a|=b.Vxa):this.Sathis.ee*this.Sl?(i=this.fe*this.Rl/this.ee,j=this.Rl):(i=this.Sl,j=this.ee*this.Sl/this.fe);break;default:case d.gh:this.fe* this.Rl>this.ee*this.Sl?(i=this.Sl,j=this.ee*this.Sl/this.fe):(i=this.fe*this.Rl/this.ee,j=this.Rl)}i*=this.Sa;j*=this.Sa;c=Math.min(0.5*this.Sl/i,0.5);i=Math.max(1-0.5*this.Sl/i,0.5);f=Math.min(0.5*this.Rl/j,0.5);j=Math.max(1-0.5*this.Rl/j,0.5)}else c=0,i=1,f=0,j=1;this.xai&&(this.xa=i,a|=b.tD);this.Aaj&&(this.Aa=j,a|=b.iz);if((this.rm==e.Ky||this.rm==e.Jwa)&&0!=this.Jc)this.Jc=0,a|=b.$xa;this.Dm=a}};b.jz=0;b.sD=1;b.tD=2;b.nz=4;b.iz=8; b.Wxa=16;b.Vxa=32;b.$xa=64;return b}); define("fU",["require"],function(){function a(){this.VI=0.1;this.wQ=this.A0=this.D0=this.C0=this.K0=this.z0=this.I0=this.H0=this.eN=this.d9=this.pz=this.h_=this.cN=this.a9=this.aN=this.Y8=0}a.prototype.xX=R("VI");a.prototype.Pua=function(a,e,d,g,c,i,f,j){this.Y8=a;this.a9=e;this.h_=d;this.d9=g;this.aN+=c;this.cN+=i;this.pz+=f;this.eN+=j};a.prototype.Ge=function(){return 0!=this.H0||0!=this.I0||0!=this.z0||0!=this.K0||0!=this.Y8||0!=this.a9||0!=this.h_||0!=this.d9||0!=this.aN||0!=this.cN||0!=this.pz|| 0!=this.eN};a.prototype.vb=function(a){a=1E3/a;this.C0=this.LQ(this.H0/a,this.Y8/a+this.aN,this.VI);this.D0=this.LQ(this.I0/a,this.a9/a+this.cN,this.VI);this.A0=this.LQ(this.z0/a,this.h_/a+this.pz,this.VI);this.wQ=this.LQ(this.K0/a,this.d9/a+this.eN,this.VI);this.H0=this.C0*a;this.I0=this.D0*a;this.z0=this.A0*a;this.K0=this.wQ*a;this.eN=this.pz=this.cN=this.aN=0};a.prototype.LQ=function(a,e,d){return 0==e?this.Nf(a,e,d):e};a.prototype.Nf=function(a,e,d){a=(e-a)*(1-d);0.01>Math.abs(a)&&(a=0);return e- a};return a}); define("fZ","require,kM,nW,cu,fQ,lB".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ");a("lB");var c=b.extend(g,function(){g.call(this);this.gE=7;this.rS=this.o3=B;this.tS=l;this.Jc=0;this.Sa=1;this.ee=this.fe=100;this.TR=1;this.t5=m;this.u5=B;this.rNa=m;this.c9=B;this.Ta=r});c.prototype.mO=R("gE");c.prototype.wd=function(a,b,c,d){this.Jc=a;this.Sa=b;this.fe=c;this.ee=d};c.prototype.JSa=function(a){this.t5=a;this.vU(this.t5&&!!this.Ta)};c.prototype.ds=function(a){if(this.Ta!=a){this.vU(B); this.P6(B);this.ql();this.Ta=a;this.vU(this.t5&&!!this.Ta);this.P6(this.rNa&&!!this.Ta)}};c.prototype.ql=function(){this.vU(B);this.P6(B);this.Ta=r};c.prototype.vU=function(a){if(this.u5!=a)(this.u5=a)?this.vza():this.PLa()};c.prototype.P6=function(a){if(this.c9!=a)(this.c9=a)?this.wza():this.QLa()};c.prototype.vza=function(){this.Ta.bind(e.Hb,this.Cd,this,m);this.Ta.bind(e.Uc,this.ej,this,m);this.Ta.bind(e.ic,this.fj,this,m)};c.prototype.PLa=function(){this.Ta.unbind(e.Hb,this.Cd,this);this.Ta.unbind(e.Uc, this.ej,this);this.Ta.unbind(e.ic,this.fj,this)};c.prototype.wza=function(){this.Ta.bind(e.lq,this.GA,this,m);this.Ta.bind(e.aD,this.dA,this,m)};c.prototype.QLa=function(){this.Ta.unbind(e.lq,this.GA,this);this.Ta.unbind(e.aD,this.dA,this)};c.prototype.Cd=function(a){this.BKa(a)};c.prototype.ej=function(a){this.Xoa(a)};c.prototype.fj=function(){this.r1()};c.prototype.GA=function(a){this.C8(a)};c.prototype.dA=function(a){this.D8(a)};c.prototype.BKa=function(a){this.o3=m;this.rS=B;this.tS=a;this.Xoa(a)}; c.prototype.Xoa=function(a){if(this.o3){var b=a.pageX-this.tS.pageX,j=a.pageY-this.tS.pageY;if(!this.rS)Math.sqrt(b*b+j*j)>this.gE?this.rS=m:b=j=0;if(this.rS)this.tS=a;a=this.Jc*Math.PI/180;this.trigger(new d(c.lo,{xDelta:-((b*Math.cos(a)+j*Math.sin(a))/this.fe),yDelta:-((j*Math.cos(a)-b*Math.sin(a))/this.ee)}))}};c.prototype.r1=function(){this.o3=B};c.prototype.D8=function(a){if(this.TR!=a.scale){this.r1();var b=this.TR;this.TR=a.scale;this.trigger(new d(c.qo,{zoomDelta:this.Sa*this.TR/b-this.Sa}))}}; c.prototype.C8=function(a){if(a.delta!=0){this.r1();this.trigger(new d(c.qo,{zoomDelta:this.Sa*a.bW*0.1}))}};c.lo="position change";c.qo="zoom change";c.sUa="vieport navigation";c.rUa="relative navigation";c.qUa="relative exponential navigation";c.pUa="dragging";return c});define("jg",["require"],function(){return{rZ:"rotateClockwise",sZ:"rotateCounterClockwise",Qs:"zoomIn",Rs:"zoomOut",$f:"stop"}}); define("mP","require,kM,cu,fQ,lB,fU,fZ,jg,nW".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("lB"),c=a("fU"),i=a("fZ"),f=a("jg");a("nW");var j=b.extend(d,function(a,b){d.call(this);this.h=a;this.W=b;this.Sq=this.QT=this.K=B;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.ee=this.fe=100;this.bf=g.Ky;this.Pb=new c;this.Va=new i;if(this.h.vn){this.Va.mO(j.TZ);this.Pb.xX(j.UZ)}else{this.Va.mO(0);this.Pb.xX(1)}this.Va.bind(i.lo,this.FGa,this,m);this.Va.bind(i.qo,this.ix,this,m)});j.prototype.clear= function(){this.Va.unbind(i.lo,this.QVa,this,m);this.Va.unbind(i.qo,this.ix,this,m);this.Va.ql();this.h=this.W=this.Pb=this.Va=r};j.prototype.Aj=function(a){switch(a){case f.rZ:this.xc(0,0,+j.OZ,0,0,0,0,0);break;case f.sZ:this.xc(0,0,-j.OZ,0,0,0,0,0);break;case f.Qs:this.xc(0,0,0,+j.cI,0,0,0,0);break;case f.Rs:this.xc(0,0,0,-j.cI,0,0,0,0);break;case f.$f:this.xc(0,0,0,0,0,0,0,0)}};j.prototype.fb=function(a,b,c,f,d,j){this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.fe=d;this.ee=j;this.Va.wd(this.Jc,this.Sa, this.fe,this.ee)};j.prototype.Ge=function(){return this.K&&this.Pb.Ge()};j.prototype.vb=function(a){this.Pb.vb(a);this.W.fb(this.xa+this.Pb.C0,this.Aa+this.Pb.D0,this.Jc+this.Pb.A0,this.Sa+this.Pb.wQ);this.xa=this.W.getX();this.Aa=this.W.getY();this.Jc=this.W.OG();this.Sa=this.W.Vp()};j.prototype.qO=function(a){this.Sq=a;this.Va.JSa(!this.Sq)};j.prototype.vd=function(a){(this.K=a)?this.Va.ds(this.h.getParent()):this.Va.ql()};j.prototype.FGa=function(a){this.xc(0,0,0,0,a.data.xDelta,a.data.yDelta, 0,0)};j.prototype.ix=function(a){this.xc(0,0,0,0,0,0,0,a.data.zoomDelta)};j.prototype.xc=function(a,b,c,f,d,j,e,g){this.Pb.Pua(a,b,c,f,d,j,e,g);this.Fh()};j.prototype.Fh=function(){this.trigger(new e(j.dh))};j.dh="position change request";j.TZ=7;j.UZ=0.2;j.cI=0.5;j.OZ=30;return j}); define("mh","require,kM,cu,fQ,nA,bD,fU,fZ,jg,nW".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("nA"),c=a("bD"),i=a("fU"),f=a("fZ"),j=a("jg");a("nW");var n=b.extend(d,function(a,b){d.call(this);this.h=a;this.W=b;this.K=B;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.ee=this.fe=100;this.N=r;this.l1=m;this.Gc=r;this.pT=0;this.yr=this.gk=this.Du=l;this.Pb=new i;this.Va=new f;if(this.h.vn){this.Va.mO(n.TZ);this.Pb.xX(n.UZ)}else{this.Va.mO(0);this.Pb.xX(1)}this.Va.bind(f.qo,this.ix,this,m)}); n.prototype.rSa=function(a,b){this.fe=a;this.ee=b;this.mG()};n.prototype.jv=function(a){if(this.Gc!=a){this.Gc=a;this.pT=l;this.mG()}};n.prototype.Sm=function(a,b){if(this.Gc==a){this.pT=b;this.mG()}};n.prototype.mG=function(){var a,b,c;if(this.Gc&&this.pT!=l){a=this.Gc.get("x",0)/this.fe;b=this.Gc.get("y",0)/this.ee;c=-(this.pT+this.Gc.get("angle",0))}else c=b=a=l;if(this.yr!=c){this.yr=c;this.Fh()}if(this.Du!=a||this.gk!=b){this.Du=a;this.gk=b;this.iFa();this.Fh()}};n.prototype.iFa=function(){this.l1= m;this.Fh()};n.prototype.yB=function(){if(this.l1||this.N&&this.N.Se()){this.l1=B;this.N=r;if(this.Du!=l&&this.gk!=l&&this.yr!=l){for(var a=this.yr-this.Jc;a>180;)a=a-360;for(;a<-180;)a=a+360;if(this.xa!=this.Du||this.Aa!=this.gk)this.N=new g("quad_in_out",[new c("x",this.xa,this.Du,1),new c("y",this.Aa,this.gk,1),new c("angleDif",a,a,360)],500);else if(this.yr!=this.Jc)this.N=new g("quad_in_out",[new c("x",this.xa,this.xa,1),new c("y",this.Aa,this.Aa,1),new c("angleDif",a,0,360)],500)}}};n.prototype.clear= function(){this.Va.unbind(f.qo,this.ix,this,m);this.Va.ql();this.h=this.W=this.N=this.Pb=this.Va=r};n.prototype.Aj=function(a){switch(a){case j.Qs:this.xc(+n.cI,0);break;case j.Rs:this.xc(-n.cI,0);break;case j.$f:this.xc(0,0)}};n.prototype.fb=function(a,b,c,f,d,j){this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.Va.wd(this.Jc,this.Sa,d,j)};n.prototype.Ge=function(){return this.K&&(this.N||this.Pb.Ge()||this.Du!=l&&this.xa!=this.Du||this.gk!=l&&this.Aa!=this.gk||this.yr!=l&&this.Jc!=this.yr)?m:B};n.prototype.vb= function(a){this.yB();if(this.N){this.N.vb(a);this.xa=this.N.eb("x");this.Aa=this.N.eb("y");this.Jc=this.yr-this.N.eb("angleDif")}else{if(this.Du!=l)this.xa=this.Du;if(this.gk!=l)this.Aa=this.gk;if(this.yr!=l)this.Jc=this.yr}this.Pb.vb(a);this.W.fb(this.xa,this.Aa,this.Jc,this.Sa+this.Pb.wQ);this.xa=this.W.getX();this.Aa=this.W.getY();this.Jc=this.W.OG();this.Sa=this.W.Vp()};n.prototype.vd=function(a){if(this.K=a){this.Va.ds(this.h.getParent());this.mG()}else this.Va.ql()};n.prototype.ix=function(a){this.xc(0, a.data.zoomDelta)};n.prototype.xc=function(a,b){this.Pb.Pua(0,0,0,a,0,0,0,b);this.Fh()};n.prototype.Fh=function(){this.trigger(new e(n.dh))};n.dh="position change request";n.TZ=7;n.UZ=0.2;n.cI=0.5;n.OZ=30;return n}); define("ni","require,kM,cu,fQ,jx,lB,jZ,mP,mh,nW".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("jx"),c=a("lB"),i=a("jZ"),f=a("mP"),j=a("mh"),n=a("nW"),k=b.extend(d,function(a){d.call(this);this.h=a;this.h.bind(n.uc,this.Sb,this);this.rm=g.Ky;this.Gc=r;this.Aa=this.xa=0.5;this.Jc=0;this.Sa=1;this.Da=r;this.gU=this.fU=this.Jr=this.Ir=B;this.Gm=m;this.K=B;this.W=new i;this.W.cq(this.rm);this.Jb=new f(this.h,this.W);this.Jb.bind(f.dh,this.cp,this,m);this.ii=new j(this.h,this.W);this.ii.bind(j.dh, this.cp,this,m);this.ST()});k.prototype.clear=function(){this.Jb.unbind(f.dh,this.cp,this);this.Jb.clear();this.Jb=r;this.ii.unbind(j.dh,this.cp,this);this.ii.clear();this.Da=this.W=this.ii=r;this.h.unbind(n.uc,this.Sb,this);this.h=r};k.prototype.stop=function(){this.Od=this.Da=r;this.K=B;this.Jb.vd(B);this.ii.vd(B);this.vu(0,0,0,0)};k.prototype.start=function(a){var b=a.Da,f=b.get("width",100),d=b.get("height",100),j=b.get("scaleMode",c.gh),e=b.get("minimumZoomFactor",1),g=b.get("maximumZoomFactor", 1),i=b.get("initialZoomFactor",1);this.Da=b;this.K=m;this.Od=a.getItem();this.vu(0,0,0,0);this.ii.rSa(f,d);this.W.kO(f,d,j,e,g);this.W.fb(0.5,0.5,0,i);this.h.rO(this.Od,this.W.getX(),this.W.getY(),this.W.OG(),this.W.Vp());this.ST()};k.prototype.Aj=function(a){this.Jb.Aj(a);this.ii.Aj(a)};k.prototype.cq=function(a){if(this.rm!=a){this.rm=a;this.W.cq(a);this.ST()}};k.prototype.jv=function(a){if(this.Gc!=a){this.Gc=a;this.ii.jv(a);this.ST()}};k.prototype.qO=function(a){this.Jb&&this.Jb.qO(a)};k.prototype.Sm= function(a,b,c,f){this.ii.Sm(a,b,c,f)};k.prototype.ev=function(a){if(this.K)if(this.ii.Ge()){this.ii.vb(a);this.gl(this.ii.xa,this.ii.Aa,this.ii.Jc,this.ii.Sa);this.Ba()}else if(this.Jb.Ge()){this.Jb.vb(a);this.gl(this.Jb.xa,this.Jb.Aa,this.Jb.Jc,this.Jb.Sa);this.Ba()}else this.vu(0,0,0,0)};k.prototype.fd=function(){if(this.Od){var a=this.h.HN(this.Od),b=this.h.IN(this.Od),c=this.h.wW(this.Od),f=this.h.ora(this.Od),d=this.h.GN(this.Od),j=this.h.FN(this.Od),e=a-this.xa,g=b-this.Aa,i=c-this.Jc,n=f- this.Sa;this.xa=a;this.Aa=b;this.Jc=c;this.Sa=f;this.vu(e,g,i,n);this.ii.fb(a,b,c,f,d,j);this.Jb.fb(a,b,c,f,d,j)}};k.prototype.ST=function(){if(this.rm==g.xZ&&this.Gc!=r&&this.Gc.get("map")==this.Da){this.Jb.vd(B);this.ii.vd(m)}else{this.Jb.vd(m);this.ii.vd(B)}};k.prototype.cp=function(){this.Ba()};k.prototype.Sb=function(){this.W.setSize(this.h.Ra(),this.h.zb());this.Ba()};k.prototype.Ba=function(){this.trigger(new e(k.ob))};k.prototype.gl=function(a,b,c,f){this.h.rO(this.Od,a,b,c,f)};k.prototype.vu= function(a,b,c,f){a=B;if(this.Jr!=f<0){this.Jr=!this.Jr;a=m}if(this.Ir!=f>0){this.Ir=!this.Ir;a=m}if(this.fU!=this.pz>0){this.fU=!this.fU;a=m}if(this.gU!=this.pz<0){this.gU=!this.gU;a=m}if(this.Gm!=(f==0)){this.Gm=!this.Gm;a=m}a&&this.trigger(new e(k.Dj,{rotatingClockwise:this.fU,rotatingCounterClockwise:this.gU,zoomingIn:this.Ir,zoomingOut:this.Jr,stopped:this.Gm}))};k.ob="request frame";k.Dj="movement change";return k}); define("jj","require,kM,cu,fQ,lB,jZ".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("lB"),c=a("jZ"),i=b.extend(d,function(a,b){d.call(this);this.J=a;this.h=b;this.W=new c;this.hg=[];this.ca=i.jh;this.qn=this.Ui=this.qn=this.Dk=r;this.Dg=this.J.get("transitionDuration");this.jg=l});i.prototype.cq=function(a){this.W.cq(a)};i.prototype.rN=function(a){a.PN()&&this.Y_();this.hg.push(a);this.US()};i.prototype.hide=function(){this.Y_();this.hg.push(r);this.US()};i.prototype.clear=function(){this.ca= i.jh;this.Y_();this.fIa();this.V5();this.h=r};i.prototype.fd=function(a){if(this.ca!=i.jh&&(this.ca==i.dn||this.ca==i.Qv)){this.jg=this.jg+a;a=Math.min(1,this.jg/this.Dg);this.ca==i.dn?this.h.aq(this.qn,a):this.h.aq(this.AQ,1-a);this.jg0&&this.Mya(this.hg[0],this.Ui);)this.hg.shift();this.hg.length>0&&this.Do()}};i.prototype.Mya=function(a,b){return a==b||!!a&&!!b&&a.isEqual(b)}; i.prototype.Do=function(){this.Ui&&(!this.hg[0]||this.hg[0].PN())&&this.Ui.Da!=(this.hg[0]&&this.hg[0].Da)&&this.trigger(new e(i.Ny,{map:this.Ui.Da}));if(this.J.get("transitionMode","blending")=="fade_out_fade_in"&&this.Ui&&(!this.hg[0]||this.hg[0].PN()))this.Yv();else{this.qn=(this.Dk=this.hg.shift())&&this.Dk.getItem();this.Dk?this.qI():this.Ui&&this.Yv()}};i.prototype.qI=function(){this.lya();this.Dk.PN()&&this.XIa();this.jg=0;this.ca=i.dn;this.Ba()};i.prototype.oCa=function(){this.V5();this.Ui= this.Dk;this.AQ=this.qn;this.qn=this.Dk=r;this.yw()};i.prototype.Yv=function(){this.jg=0;this.ca=i.Qv;this.Ba()};i.prototype.qCa=function(){this.V5();this.Ui=r;this.yw()};i.prototype.yw=function(){this.ca=i.jh;this.Ui&&this.Ui.PN()&&this.trigger(new e(i.Oy,{map:this.Ui.Da}));this.hg.length==0?this.Ui?this.trigger(new e(i.EY,{level:this.Ui})):this.trigger(new e(i.qY)):this.Do()};i.prototype.XIa=function(){var a=this.Dk.Da;this.Dk.wj();this.W.kO(a.get("width",100),a.get("height",100),a.get("scaleMode", g.gh),a.get("minimumZoomFactor",1),a.get("maximumZoomFactor",1));this.W.fb(0.5,0.5,0,a.get("initialZoomFactor",1));this.h.rO(this.qn,this.W.getX(),this.W.getY(),this.W.OG(),this.W.Vp())};i.prototype.Ba=function(){this.trigger(new e(i.ob))};i.prototype.Y_=function(){for(;this.hg.length>0;){var a=this.hg.shift();a&&this.h.Bj(a.getItem())}};i.prototype.lya=function(){if(this.Dk){this.h.f9(this.qn);this.h.q9(this.qn);this.h.aq(this.qn,0);this.trigger(new e(i.DY,{level:this.Dk}))}};i.prototype.V5=function(){if(this.Ui){this.h.removeItem(this.AQ); this.trigger(new e(i.WO,{level:this.Ui}));this.h.Bj(this.AQ);this.AQ=this.Ui=r}};i.prototype.fIa=function(){if(this.Dk){this.h.removeItem(this.qn);this.trigger(new e(i.WO,{level:this.Dk}));this.h.Bj(this.qn);this.qn=this.Dk=r}};i.jh="stopped";i.dn="blending";i.Qv="disolving";i.ob="request frame";i.DY="level added";i.WO="level removed";i.EY="level fully displayed";i.qY="all pending maps hidden";i.Oy="map show";i.Ny="map hide";return i}); define("jY",["require","dZ","kM","x"],function(a){var b=a("dZ"),e=a("kM"),d=a("x");return{F_:[],ea:function(a,b,d,f){this.Oda(a,b,d,f,B)},MV:function(a,b,d,f){this.Oda(a,b,d,f,m)},Oda:function(a,b,i,f,j){function n(){for(var f=[],d=0;d0){this.vg= this.hg.shift();if(!this.uA){this.uA=m;this.trigger(new g(j.VO,{level:this.vg,percent:0}))}this.pza();this.h.$n(this.vg.getItem());this.h.QX(this.vg.getItem())&&this.u4()}else if(this.uA){this.uA=B;this.trigger(new g(j.XO))}};j.prototype.u4=function(){this.O7();this.tKa();this.vg=r;this.O3()};j.prototype.tKa=function(){this.Nna();this.CA=this.vg;var a=this;this.OI=setTimeout(function(){a.OI=r;a.pGa()},500)};j.prototype.pGa=function(){var a=this.CA.Da;this.CA.cSa(a!=this.VR);this.VR=a;this.trigger(new g(j.FY, {level:this.CA}));this.CA=r};j.prototype.Nna=function(){if(this.OI!=r){clearTimeout(this.OI);this.OI=r;this.h.Bj(this.CA.getItem());this.CA=r}};j.prototype.yja=function(){this.O7();this.vg=r;this.O3()};j.prototype.zja=function(a){this.trigger(new g(j.VO,{level:this.vg,percent:a.Gg}))};j.prototype.pza=function(){var a=this.vg.getItem();a.bind(d.T,this.u4,this);a.bind(d.tc,this.yja,this);a.bind(d.dc,this.zja,this)};j.prototype.O7=function(){var a=this.vg.getItem();a.unbind(d.T,this.u4,this);a.unbind(d.tc, this.yja,this);a.unbind(d.dc,this.zja,this)};j.VO="level loading progress";j.FY="level loaded";j.XO="load stopped";return j}); define("mU",["require"],function(){function a(a){return a&&0==a.indexOf("#")}function b(a){return[parseInt(a.substr(1,2),16),parseInt(a.substr(3,2),16),parseInt(a.substr(5,2),16)]}function e(a,b){return Math.max(Math.abs(a[0]-b[0]),Math.abs(a[1]-b[1]),Math.abs(a[2]-b[2]))}var d={wRa:function(d,c,i){if(a(d)){var f=b(d),j=l,n=256;c.forEach(function(c){if(a(c)){var d=e(f,b(c));d=0&&c=0&&u0?"#"+this.L_(c[u+0])+this.L_(c[u+1])+this.L_(c[u+2]):"transparent"}}return this.Iha};b.prototype.bka=function(){var a=new i(this.xh.ff(),this.hb.get("width"),this.hb.get("height"));a.yy(this.tn.get("scaleMode")); a.uH(this.tn.get("horizontalAlign"));a.BH(this.tn.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.LG(c,b.width,b.height);this.jA=c.getImageData(0,0,b.width,b.height);b.width=b.height=0};b.prototype.L_=function(a){for(a=a.toString(16);a.length<2;)a="0"+a;return a};return b}); define("kr","require,dZ,kM,nW,cu,fQ,mU,lI,bb,nA,bD".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("fQ"),i=a("mU"),f=a("lI"),j=a("bb"),n=a("nA"),k=a("bD"),o=e.extend(c,function(a,b,j){c.call(this);this.h=a;this.Da=b;this.Qb=j;this.ka=this.Qb.getItem();this.xp=this.Qb.zra();this.yp=this.Qb.Bra();this.It=this.un=l;this.J=this.h.getParent();this.J.bind(d.Uc,this.Tf,this);this.J.bind(d.jc,this.HK,this);this.J.bind(d.Hb,this.tm,this);this.J.bind(d.ic,this.Zq,this);j.bind(d.u("selected"), this.Lka,this);j.bind(d.u("enabled"),this.hj,this);this.dS=new f(this.h,this.Da,this.Qb,this.Qb.get("map",r));this.fS=new f(this.h,this.Da,this.Qb,this.Qb.get("rollOverMap",this.Qb.get("map",r)));this.gS=new f(this.h,this.Da,this.Qb,this.Qb.get("selectedMap",this.Qb.get("rollOverMap",this.Qb.get("map",r))));this.rR=new f(this.h,this.Da,this.Qb,this.Qb.get("image",r));this.sR=new f(this.h,this.Da,this.Qb,this.Qb.get("rollOverImage",this.Qb.get("image",r)));this.tR=new f(this.h,this.Da,this.Qb,this.Qb.get("selectedImage", this.Qb.get("rollOverImage",this.Qb.get("image",r))));this.wc=this.vc=l;this.gG=r;this.Ws=[];this.Cq=[];this.lh={};this.zia=[];this.hA=B;this.Dr=this.Qb.get("useHandCursor");this.N=r;this.YF=l;this.oU=this.dU=this.NR=0;a=this.Qb.get("areas",[]);for(b=0;b0);this.H7(b.difference(a,c),"rollOut");this.OM()}}};o.prototype.OM=function(){for(var a="",b=0;b=0&&this.TJ.splice(b,1);if(!this.n3(a)){this.$la(a); this.X5(a)}};j.prototype.n3=function(a){return b(this.TJ).indexOf(a)>=0};j.prototype.fd=function(a){for(var b=0;b=0&&t.splice(s,1);if(q.tC==0&&q.status!=i.eP){q.status=i.eP;q.V$=0;this.ULa(p)}}}; b.prototype.Soa=function(a){for(var a=(a==l?this.$w:this.jha(a)).slice(),b=0;b");this.I=this.ba.get(0);this.ha=this.I.getContext("2d")}var e=a("jquery.mod"),a=a("u");b.prototype.getItem=S("ka");b.prototype.uN=function(a){return this.ka==a?this:r};b.prototype.gW=function(a){return this.ka==a?[this]:[]};b.prototype.mk=function(){this.Z&&this.Z.p9(this)};b.prototype.Te= function(a){this.HJa(a)};b.prototype.Vma=function(a){this.NJ!=a&&(this.NJ=a,this.Z&&this.Z.UW())};b.prototype.HJa=function(a){this.ab!=a&&(this.ab=a,this.TW())};b.prototype.wU=function(a){this.dk!=a&&(this.dk=a,this.TW())};b.prototype.UL=function(a,b){if(this.X!=a||this.ia!=b)this.X=a,this.ia=b,this.QW()};b.prototype.gl=function(a,b){if(this.Ot!=a||this.Ep!=b)this.Ot=a,this.Ep=b,this.TW()};b.prototype.TW=function(){this.Z&&this.Z.RW()};b.prototype.Wd=function(){this.HR=m};b.prototype.Ja=function(){this.HR&& (this.HR=B,this.Eg())};b.prototype.Eg=G();b.prototype.QW=function(){this.FR=m;this.TW()};b.prototype.TX=function(){if(this.FR){this.FR=B;if(this.I.width!=this.X||this.I.height!=this.ia)this.I.width=Math.round(this.X),this.I.height=Math.round(this.ia);this.ha.clearRect(0,0,this.I.width,this.I.height);this.Wf()}};b.prototype.Wf=G();b.prototype.lOa=function(a){if(0this.Ib*this.bd?this.md/this.Ib:this.bd/this.qb;break;default:this.Ne=this.qb*this.md>this.Ib*this.bd?this.bd/this.qb:this.md/this.Ib}this.rL=m}if(this.rL){this.rL=B;var a=this.Ra(),b=this.zb(),c=Math.cos(this.Jc*Math.PI/180),f=Math.sin(this.Jc* Math.PI/180);this.gl(this.bd*0.5-this.mr*a+(this.mr-this.xa)*c*a-(this.nr-this.Aa)*f*b,this.md*0.5-this.nr*b+(this.nr-this.Aa)*c*b+(this.mr-this.xa)*f*a);this.wU(this.Jc);this.UL(a,b);for(a=0;ad)g.Ka=2*Math.atan2(a.x,a.w),g.He=Math.PI/2, g.pitch=0;else{var c=a.x*a.x,i=a.z*a.z;g.Ka=-Math.atan2(2*a.y*a.w-2*a.x*a.z,1-2*a.y*a.y-2*i);g.He=-Math.asin(2*d);g.pitch=Math.atan2(2*a.x*a.w-2*a.y*a.z,1-2*c-2*i);g.pitch=Math.min(Math.PI/2,Math.max(-Math.PI/2,g.pitch))}g.Ka*=b;g.pitch*=b;g.He*=-b;return g},Ka:function(a){var d=a.x*a.y+a.z*a.w;return 0.499d?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("mZ",["require"],function(){var a={};a.degToRad=Math.PI/180;a.radToDeg=180/Math.PI;a.Vector2=function(a,e){this.x=a||0;this.y=e||0};a.Vector2.prototype={constructor:a.Vector2,set:function(a,e){this.x=a;this.y=e;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},subVectors:function(a,e){this.x=a.x-e.x;this.y=a.y-e.y;return this}};a.Vector3=function(a,e,d){this.x=a||0;this.y=e||0;this.z=d||0};a.Vector3.prototype={constructor:a.Vector3,set:function(a,e,d){this.x=a;this.y=e;this.z= d;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.multiplyScalar(1/a):this.z=this.y=this.x=0;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a},applyQuaternion:function(a){var e=this.x,d=this.y,g=this.z,c=a.x,i=a.y,f=a.z,a=a.w,j=a*e+i*g-f*d,n=a*d+f*e-c*g,k=a*g+c*d-i*e,e=-c*e-i*d-f*g;this.x=j*a+e*-c+n*-f-k*-i;this.y=n*a+e* -i+k*-c-j*-f;this.z=k*a+e*-f+j*-i-n*-c;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},crossVectors:function(a,e){var d=a.x,g=a.y,c=a.z,i=e.x,f=e.y,j=e.z;this.x=g*j-c*f;this.y=c*i-d*j;this.z=d*f-g*i;return this}};a.Quaternion=function(a,e,d,g){this.x=a||0;this.y=e||0;this.z=d||0;this.w=g!==l?g:1};a.Quaternion.prototype={constructor:a.Quaternion,set:function(a,e,d,g){this.x=a;this.y=e;this.z=d;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},Eua:function(a,e,d){var g=Math.cos(a/2),c=Math.cos(e/2),i=Math.cos(d/2),a=Math.sin(a/2),e=Math.sin(e/2),d=Math.sin(d/2);this.x=a*c*i+g*e*d;this.y=g*e*i-a*c*d;this.z=g*c*d-a*e*i;this.w=g*c*i+a*e*d;return this},setFromAxisAngle:function(a,e){var d=e/2,g=Math.sin(d);this.x=a.x*g;this.y=a.y*g;this.z=a.z*g;this.w=Math.cos(d);return this},multiply:function(a){return this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,e){var d=a.x,g=a.y,c=a.z,i=a.w,f=e.x,j=e.y,n=e.z,k=e.w;this.x= d*k+i*f+g*n-c*j;this.y=g*k+i*j+c*f-d*n;this.z=c*k+i*n+d*j-g*f;this.w=i*k-d*f-g*j-c*n;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},slerp:function(a,e){if(0===e)return this;if(1===e)return this.copy(a);var d=this.x,g=this.y,c=this.z,i=this.w,f=i*a.w+d*a.x+g* a.y+c*a.z;0>f?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,f=-f):this.copy(a);if(1<=f)return this.w=i,this.x=d,this.y=g,this.z=c,this;var j=Math.acos(f),n=Math.sqrt(1-f*f);if(0.001>Math.abs(n))return this.w=0.5*(i+this.w),this.x=0.5*(d+this.x),this.y=0.5*(g+this.y),this.z=0.5*(c+this.z),this;f=Math.sin((1-e)*j)/n;j=Math.sin(e*j)/n;this.w=i*f+this.w*j;this.x=d*f+this.x*j;this.y=g*f+this.y*j;this.z=c*f+this.z*j;return this},setFromUnitVectors:function(){var b,e;return function(d,g){b===l&&(b=new a.Vector3); e=d.dot(g)+1;1.0E-6>e?(e=0,Math.abs(d.x)>Math.abs(d.z)?b.set(-d.y,d.x,0):b.set(0,-d.z,d.y)):b.crossVectors(d,g);this.x=b.x;this.y=b.y;this.z=b.z;this.w=e;this.normalize();return this}}()};return a}); define("fb",["require","nW","cu","fQ","mZ"],function(a){function b(){n||(n=m,q=new j.Vector3(0,0,1),t=new j.Quaternion,s=new j.Quaternion(-Math.sqrt(0.5),0,0,Math.sqrt(0.5)),u=new j.Quaternion,d(),window.addEventListener("orientationchange",d,B),window.addEventListener("deviceorientation",g,B),e())}function e(){if(w&&!(o===l||p===l)){w=B;var a=j.degToRad*p;u.Eua(j.degToRad*o.beta,j.degToRad*o.alpha,-(j.degToRad*o.gamma));u.multiply(s);u.multiply(t.setFromAxisAngle(q,-a));v||(x++,5<=x&&(v=m,k.trigger(new i(c.Ic)))); k.trigger(new i(c.ra))}}function d(){p=window.orientation||0;w=m;e()}function g(a){o=a;w=m;e()}var c=a("nW"),i=a("cu"),f=a("fQ"),j=a("mZ"),n=B,k=new f,o,p,q,t,s,u,w,v=B,x=0;b.prototype.Ur=function(){e();return u};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",d,B);window.removeEventListener("deviceorientation",g,B)};return b}); define("iw","require,nW,cu,fQ,u,mZ".split(","),function(a){function b(a){this.vQa=a;this.v9=new g;this.aW=new g;this.T$=new g;this.UB=new n.Quaternion;this.S$=new n.Quaternion;this.Lpa=new n.Quaternion;this.xsa=B;this.dW=new n.Vector3;this.E$=new n.Vector3;this.wPa=new n.Quaternion}function e(){this.nta=B;this.mta=0;this.fN=new n.Vector3;this.EW=new n.Vector3;this.filter=new b(o);this.VQa=new d(p);this.bH=q.bH();this.Om=q.Om();q.J9();this.x$=q.dQa();this.fW=new n.Quaternion;q.Om()?this.fW.setFromAxisAngle(new n.Vector3(1, 0,0),Math.PI/2):this.fW.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2);this.o$=new n.Quaternion;this.GH=new n.Quaternion;this.LQa=new n.Quaternion;this.LQa.setFromAxisAngle(new n.Vector3(0,0,1),-window.orientation*Math.PI/180);this.Sua();q.iQa()&&this.fW.multiply(this.o$);this.gua=new n.Quaternion;this.bH=q.bH();this.Om=q.Om();this.cQa=q.J9()>=66;this.oC=this.oC.bind(this);this.XN=this.XN.bind(this);this.WN=this.WN.bind(this);screen&&screen.orientation&&screen.orientation.addEventListener?screen.orientation.addEventListener("change", this.oC):window.addEventListener("orientationchange",this.oC);this.x$?window.addEventListener("deviceorientation",this.XN):window.addEventListener("devicemotion",this.WN)}function d(a){this.WQa=a;this.mX=new n.Quaternion;this.qH=r;this.Bqa=new n.Quaternion;this.ZN=new n.Quaternion}function g(a,b){this.set(a,b)}var c=a("nW"),i=a("cu"),f=a("fQ"),j=a("u"),n=a("mZ"),k=new f,o=0.98,p=0.04;b.prototype.tNa=function(a,b){this.v9.set(a,b)};b.prototype.yNa=function(a,b){this.aW.set(a,b);q.sQa(b-this.T$.RX)&& this.uRa();this.T$.copy(this.aW)};b.prototype.uRa=function(){if(this.xsa){var a=this.xPa(this.aW.sample,this.aW.RX-this.T$.RX);this.wPa.multiply(a);this.UB.copy(this.S$);this.UB.multiply(a);a=new n.Quaternion;a.copy(this.UB);a.inverse();this.dW.set(0,0,-1);this.dW.applyQuaternion(a);this.dW.normalize();this.E$.copy(this.v9.sample);this.E$.normalize();a=new n.Quaternion;a.setFromUnitVectors(this.dW,this.E$);a.inverse();var b=new n.Quaternion;b.copy(this.UB);b.multiply(a);this.UB.slerp(b,1-this.vQa); this.S$.copy(this.UB)}else{this.Lpa=this.sNa(this.v9.sample);this.S$.copy(this.Lpa);this.xsa=m}};b.prototype.Ur=S("UB");b.prototype.sNa=function(a){var b=new n.Vector3;b.copy(a);b.normalize();a=new n.Quaternion;a.setFromUnitVectors(new n.Vector3(0,0,-1),b);a.inverse();return a};b.prototype.xPa=function(a,b){var c=new n.Quaternion,f=new n.Vector3;f.copy(a);f.normalize();c.setFromAxisAngle(f,a.length()*b);return c};e.prototype.stop=function(){screen&&screen.orientation&&screen.orientation.addEventListener&& screen.orientation.removeEventListener("change",this.oC);window.removeEventListener("orientationchange",this.oC);window.removeEventListener("deviceorientation",this.XN);window.removeEventListener("devicemotion",this.WN)};e.prototype.rk=T(r);e.prototype.Ur=function(){var a=l;if(this.x$&&this.zQ){this.Dqa=this.Dqa||function(){var a=(new n.Quaternion).setFromAxisAngle(new n.Vector3(0,0,-1),0),b=new n.Quaternion;this.mU=="landscape-secondary"?b.setFromAxisAngle(new n.Vector3(0,1,0),Math.PI/-2):b.setFromAxisAngle(new n.Vector3(0, 1,0),Math.PI/2);return a.multiply(b)}();this.Cqa=this.Cqa||function(){var a=new n.Quaternion;a.setFromAxisAngle(new n.Vector3(1,0,0),-Math.PI/2);return a}();var a=this.zQ,b=new n.Quaternion;b.copy(a);b.multiply(this.Cqa);b.multiply(this.gua);b.multiply(this.GH);b.multiplyQuaternions(this.Dqa,b);if(this.jWa){b.x=0;b.z=0;b.normalize()}this.iX[0]=b.x;this.iX[1]=b.y;this.iX[2]=b.z;this.iX[3]=b.w;return this.iX}a=this.VQa.jPa(this.filter.Ur(),this.EW,this.qH);b=new n.Quaternion;b.copy(this.fW);b.multiply(this.gua); b.multiply(a);b.multiply(this.GH);return b};e.prototype.XN=function(a){this.zQ=this.zQ||new n.Quaternion;var b=a.alpha,c=a.ZUa,a=a.qVa,b=(b||0)*Math.PI/180,c=(c||0)*Math.PI/180,a=(a||0)*Math.PI/180;this.zQ.Eua(c,b,-a)};e.prototype.WN=function(a){var b=a.rotationRate;if(b){var f=a.accelerationIncludingGravity,a=a.timeStamp/1E3;this.bH&&(a=a/1E3);var d=a-this.qH;if(d<=q.Uba||d>q.Rba)this.qH=a;else{this.fN.set(-f.x,-f.y,-f.z);this.EW.set(b.alpha,b.beta,b.gamma);(this.Om||this.bH||this.cQa)&&this.EW.multiplyScalar(Math.PI/ 180);this.filter.tNa(this.fN,a);this.filter.yNa(this.EW,a);this.qH=a;if(!this.nta){this.mta++;if(this.mta>=5){this.nta=m;k.trigger(new i(c.Ic))}}this.mU!=this.cra()&&this.oC();k.trigger(new i(c.ra))}}else{this.x$=m;window.addEventListener("deviceorientation",this.XN);window.removeEventListener("devicemotion",this.WN)}};e.prototype.bind=function(){k.bind.apply(k,arguments)};e.prototype.unbind=function(){k.unbind.apply(k,arguments)};e.prototype.oC=function(){this.Sua();k.trigger(new i(c.ra))};e.prototype.Sua= function(){this.GH.set(0,0,0,1);this.mU=this.cra();switch(this.mU){case "landscape-primary":this.GH.setFromAxisAngle(new n.Vector3(0,0,1),-Math.PI/2);break;case "landscape-secondary":this.GH.setFromAxisAngle(new n.Vector3(0,0,1),Math.PI/2)}this.o$.copy(this.GH);this.o$.inverse()};e.prototype.cra=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.fN.z>4.9||this.fN.z<-4.9?a=this.mU||a:this.fN.x>0&&(a="landscape-secondary"));return a};d.prototype.jPa=function(a,b,c){if(!this.qH){this.mX.copy(a);this.qH=c;return a}c=new n.Vector3;c.copy(b);c.normalize();b=b.length();if(bq.Rba?B:m}};q.Om=function(){var a=/iPad|iPhone|iPod/.test(navigator.platform);return function(){return a}}();q.FVa=function(){var a=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);return function(){return a}}();q.bH=function(){var a=navigator.userAgent.indexOf("Firefox")!==-1&&navigator.userAgent.indexOf("Android")!==-1;return function(){return a}}();q.J9= function(){var a=navigator.userAgent.match(/.*Chrome\/([0-9]+)/),b=a?parseInt(a[1],10):r;return function(){return b}}();q.dQa=function(){var a=B;if(q.J9()===65){var b=navigator.userAgent.match(/.*Chrome\/([0-9\.]*)/);if(b)var b=b[1].split("."),c=b[3],a=parseInt(b[2],10)===3325&&parseInt(c,10)<148}else"getVRDisplays"in navigator&&j.browser()==j.tk&&j.yN()&&j.gd()==j.RO&&(a=m);return function(){return a}}();q.iQa=function(){return window.orientation==90||window.orientation==-90};return e}); define("hl","require,kM,nW,cu,fQ,mO,u,fb,iw,lH".split(","),function(a){function b(){function a(){p=m;k.trigger(new d(e.ra))}function b(){var f;u&&(c||!o)?f=s:o&&(f=g);if(q!=f){if(q){q.unbind(e.ra,a);q.stop()}if(q=f){q.bind(e.ra,a,this,m);a()}}}var c=i.Xd()==i.pi||n.Li("debug")&&n.Yr("sensor")=="deviceorientation",g=new j,o=B;g.bind(e.Ic,function(){o=m;b()},this,m);var s=new f,u=B;s.bind(e.Ic,function(){u=m;b()},this,m)}a("kM");var e=a("nW"),d=a("cu"),g=a("fQ"),c=a("mO"),i=a("u"),f=a("fb"),j=a("iw"), n=a("lH"),k=new g,o={},p=B,q,t=[],s=B,u=B;o.Z$=function(a){a&&t.push(a);if(o.disabled){if(i.Xd()==i.pi&&window.DeviceMotionEvent&&DeviceMotionEvent.requestPermission){DeviceOrientationEvent.requestPermission().then(function(a){if(a==="granted"){u=m;c()}})["catch"](G());DeviceMotionEvent.requestPermission().then(function(a){if(a==="granted"){s=m;c()}})["catch"](G());var c=function(){if(o.disabled&&s&&u){o.disabled=B;for(b();t.length;)t.pop()()}};c()}}else for(;t.length;)t.pop()()};o.bind=function(a, b){k.bind(e.ra,a,b)};o.unbind=function(a,b){k.unbind(e.ra,a,b)};o.KQa=function(){return p};o.Ur=function(){p=B;if(q){var a=q.Ur(),a=c.bba(a);return{yaw:a.Ka,pitch:a.pitch,roll:a.He}}return{yaw:0,pitch:0,roll:0}};if(i.Xd()==i.GZ||i.Xd()==i.Pba){o.available=B;o.disabled=B}else if(i.Xd()==i.IH&&i.browser()==i.tk&&window.location.protocol!="https:"&&window.location.hostname!="localhost"){o.available=m;o.disabled=m}else if(i.Xd()==i.pi){o.available=m;o.disabled=m;if(!window.DeviceMotionEvent||!DeviceMotionEvent.requestPermission){var w= function(){window.removeEventListener("deviceorientation",w,B);o.disabled=B;b()};window.addEventListener("deviceorientation",w,B)}else o.Z$()}else{o.available=window.DeviceMotionEvent!=l;o.disabled=B}o.available&&!o.disabled&&b();return o});define("mb",["require"],function(){return{uUa:"single",FRONT:"front",Ha:"left",BACK:"back",Ua:"right",ec:"top",Yb:"bottom"}}); define("gz",["require","mb"],function(a){var a=a("mb"),b={},e=Math.PI/180,d=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.lf=Math.pow(10,3);b.jY=0.5*b.lf;b.sxa=b.lf;b.Mca=[a.FRONT,a.Ua,a.BACK,a.Ha,a.ec,a.Yb];b.wqa=function(a,d){for(var f=b.lf,j=b.jY,e=a*d,g=this.jt(),o=[],p=0,q=6*e;p=w)))return s=f.origin.x+f.direction.x*w-k.x,u=f.origin.y+f.direction.y*w-k.y,k=f.origin.z+f.direction.z*w-k.z,f=(b*s+e*u+q*k)/(b*b+e*e+q*q),k=(o*s+t*u+p*k)/(o*o+t*t+p*p),b=a.faceVertexUvs[0][0][0],e=a.faceVertexUvs[0][1][2],o=a.faceVertexUvs[0][0][1],a=b.x+(e.x-b.x)*f+(o.x-b.x)*k,b=b.y+(e.y-b.y)*f+(o.y-b.y)*k,0>f||1k||1=v))){u=d.origin.x+d.direction.x*v-k.x;w=d.origin.y+d.direction.y* v-k.y;d=d.origin.z+d.direction.z*v-k.z;if(0!=(k=s*f-o*q))f=(w*f-u*q)/k,q=(w*o-u*s)/-k;else if(0!=(k=p*f-o*t))f=(w*f-u*q)/k,q=(w*o-u*s)/-k;else if(0!=(k=p*q-s*t))f=(d*q-w*t)/k,q=(d*s-w*p)/-k;else return;if(!(0>q||1f||1a;a++){var e=g[(a+3)%4],k=g[a],p=g[(a+1)%4];if(0>=k.z)o[f++]=k;else{if(0>=e.z){var q=g[d++],t=e.z/(e.z-k.z);q.x=e.x+(k.x-e.x)*t;q.y=e.y+(k.y- e.y)*t;q.z=-1.0E-5;o[f++]=q}0>=p.z&&(q=g[d++],t=k.z/(k.z-p.z),q.x=k.x+(p.x-k.x)*t,q.y=k.y+(p.y-k.y)*t,q.z=-1.0E-5,o[f++]=q)}}if(2f.x&&-1>d.x&&-1>e.x||1f.y&&-1>d.y&&-1>e.y))return m}return B};b.xqa=function(a,d,f,j,g,k,o,p,q){for(var t=a*e,s=0.5*-t+0.5*Math.PI,u=d*e,w=0.5*(Math.PI-u)-f*e,v=0.5*b.sxa,x=64/Math.PI,y=Math.max(2,Math.ceil(t/j*x)),x=Math.max(2,Math.ceil(u/ g*x)),E=j*y,D=g*x,F=this.jt(),L=0,J=[],z=0;z<=D;z++){for(var K=[],I=w+z*u/D,A=0;A<=E;A++){var N=-(s+A*t/E);F.vertices.push(new THREE.Vector3(-v*Math.cos(N)*Math.sin(I),+v*Math.cos(I),+v*Math.sin(N)*Math.sin(I)));K.push(L++)}J.push(K)}for(s=t=0;s',v='',x='',y='',E='';if(c.ub()){s=s+" margin:0 1vmin; min-width:20vmin; padding:2.2vmin 4vmin; font-size:3.6vmin; font-weight:bold; min-width:30vmin;";o=o+" font-size:3.6vmin; line-height:4.3vmin;";p=p+" margin:5vmin 0;";q=q+" margin:5vmin 0;";t=t+" margin:3vmin 0;";u=u+" height:4vmin; margin:0 1vmin 0 0; width:4vmin;"}else s= s+" font-size:19px; padding:17px 34px;";p=p+o;b.prototype.t0=function(){if(!this.Si){this.Si=e("
");this.Si.css({position:"fixed","z-index":f.Swa,left:0,top:0,margin:0,padding:0,height:"100%",width:"100%","background-color":"rgba(255, 255, 255, 0.99)"});this.Si.html(this.KAa);e(this.Si).find("button").on("click",function(a){this.lGa(e(a.currentTarget).attr("id"))}.bind(this))}};b.prototype.B6=function(a,b){var c={},f;for(f in b)c[f]=a.css(f);this.l7.push({$el:a,css:c});a.css(b)};b.prototype.FIa= function(){for(;this.l7.length;){var a=this.l7.pop();a.$el.css(a.css)}};b.prototype.show=function(a,b,c){a||(a=G());b||(b=G());if(this.ZL){var f=this.oQ;this.oQ=function(){f();a()};var d=this.$P;this.$P=function(){d();b()}}else{this.t0();this.oQ=a;this.$P=b;var j=this.pDa();if(j===l){this.ZL=m;var g=this,j=e(n.Rp()||document.body);if(c!==m)j.children().each(function(){g.B6(e(this),{visibility:"hidden"})});else{this.B6(j,{overflow:"hidden"});j.children().each(function(){g.B6(e(this),{position:"absolute", "z-index":0})})}j.append(this.Si)}else{this.ZL=B;j?this.oQ():this.$P()}}};b.prototype.hide=function(){if(this.ZL){this.ZL=B;this.Si.detach();this.FIa()}};b.prototype.pDa=function(){var a=k.getItem(this.Vga());if(a=="true")return m;if(a=="false")return B};b.prototype.Oma=function(a){k.setItem(this.Vga(),a?"true":"false")};b.prototype.Vga=function(){return this.kNa+"DontDisplay:"+window.location.pathname};b.prototype.lGa=function(a){var b=e("#tdvvriw_dontdisplay").is(":checked");this.hide();if(a=="tdvvriw_continue"){this.oQ(); b&&this.Oma(m)}else if(a=="tdvvriw_cancel"){this.$P();b&&this.Oma(B)}};var a=d.extend(b,function(){var a=['
\n
',w,'
'+g("use-cardboard-info")+"
",'
","
",'
',"
",'
', '
'+g("samsung-internet-vr-app-info")+"
",'
","
",y,"
\n
",'
','","
"].join("\n");b.call(this,"ChromeAppInfoWindow", a)}),D=d.extend(b,function(){var a=['
\n
',w,'
'+g("use-cardboard-info")+"
",'
',"
",'
',"
",'
','
'+g("samsung-internet-vr-info")+"
","
",y,"
\n
", '
','","
"].join("\n");b.call(this,"SamsungInternetInfoWindow",a)}),F=d.extend(b,function(){b.call(this,"SamsungInternetForGearVRInfoWindow",['
\n
', y,'
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"))}),L=d.extend(b,function(){var a=['
','
','
","
"].join("\n");b.call(this,"ExternalVRDisplayVRInfoWindow",a)});L.prototype.t0=function(){b.prototype.t0.call(this);i.Ji("vrv")===m&&this.Si.css({background:"none"})};var J=d.extend(b,function(){var a;a=c.browser()==c.Mh?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)}),z=d.extend(b,function(){var a=['
\n
', w,'
'+g("use-cardboard-info")+'
","
",'
',"
",y,'
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)}),K=d.extend(b,function(){var a=['
\n
',w,'
'+g("cardboard-v1")+"
",'
","
",'
',"
",'
'+g("cardboard-v2")+"
",'
",x,"
\n
",'
','","
"].join("\n");b.call(this,"CardboardV2InfoWindow",a)}),I=d.extend(b,function(){var a=['
', '
','
","
"].join("\n");b.call(this,"EnterVRInfoWindow",a)}),A=d.extend(b,function(){b.call(this,"PreparingVRInfoWindow",['
','
Preparing VR...
',"
"].join("\n"))}), N=d.extend(b,function(){var a=['
',v,'
\n
',E,'
'+g("use-safari-for-vr")+"
",'
',"
",'
','","
"].join("\n");b.call(this,"UseSafariVRInfoWindow",a)}),d=d.extend(b,function(){var a=['
','','
\n
\n
', '','
'+g("rotate-device")+"
","
\n
"].join("\n");b.call(this,"RotateVRInfoWindow",a)}),H={};H.rxa=new D;H.tUa=new F;H.Fba=new L;H.ZTa=new z;H.cUa=new I;H.nUa=new A;H.$ca=new N;H.VH=new d;H.Jba=new J;H.lwa=new a;H.iY=new K;return H});define("cW",["require"],function(){return{Kl:"Cardboard",Nxa:"WebVR",Oxa:"WebXR"}}); define("gZ","require,lf,u,hH,lH,bf".split(","),function(a){var b=a("lf"),e=a("u"),d=a("hH"),g=a("lH");a("bf");var c={tQa:function(a){return this.eH(a)||this.Esa(a)?m:B},Os:function(){var a=e.XQa();c.Os=function(){return a};return a},Esa:function(a){return typeof a=="string"&&d.is(a,d.Ol)?m:B},CVa:function(a){return this.s$(a)||this.t$(a)?m:B},t$:function(a){return typeof a=="string"&&(d.is(a,d.Qwa)||d.my(a,d.Rwa))?m:B},eH:function(a){return!!a&&!!a.tagName&&a.tagName=="VIDEO"},ny:function(a){return typeof a== "string"&&d.is(a,d.Zm)||this.eH(a)&&d.is(a.currentSrc,d.Zm)?m:B},vl:function(a){return typeof a=="string"&&d.is(a,d.Ol)||this.eH(a)&&d.is(a.currentSrc,d.Ol)?m:B},s$:function(a){return!!a&&!!a.tagName&&a.tagName=="IMG"},psa:function(a){return!!a&&!!a.tagName&&a.tagName=="CANVAS"},wra:function(a){return Math.pow(2,Math.round(Math.log(a)/Math.LN2))},zsa:function(a){return a!==0&&(a&a-1)===0},ssa:function(){return e.browser()==e.Jl},kQa:function(){return e.browser()==e.vv},Om:function(){return e.Xd()== e.pi}},i=e.Xd()==e.IH&&!e.Ff()&&e.ENa()<11;c.Zva=function(a){if(j)return m;if(e.r9()&&e.iO()<15.1)if(e.iO()>=15){if(e.Yra())return m}else if(c.ny(a))return m;if(c.kQa())return m;if(c.Om()){if(e.iy()==e.UC&&e.jC()>=15)return B;if(c.ny(a)){if(!b.jsa||e.jC()>=14&&e.jC()<14.6)return m}else if(e.jC()<12||a&&a.videoWidth&&a.videoHeight&&a.videoWidth*a.videoHeight<=262144)return m}return i&&a&&a.currentTime<0.2?m:B};c.csa=function(){return c.ssa()||c.Om()};c.bsa=function(){return c.Om()&&b.jsa&&e.jC()<11}; var f=B;c.nsa=function(){f=B};c.bQa=function(){return f};c.GRa=function(){f=m};var j=g.Li("vic");c.TQa=function(){c.Om()&&(j=m)};c.yra=function(a){return{alpha:m,depth:m,stencil:m,antialias:e.Asa()||e.fQa()||e.r$()||e.vsa()||e.mQa()||e.oQa()||e.Fsa()?B:a||B,premultipliedAlpha:m,preserveDrawingBuffer:B,powerPreference:"default",failIfMajorPerformanceCaveat:B,xrCompatible:!c.ssa()}};c.u9=function(a,b){var f=c.yra(b);return a.getContext("webgl",f)||a.getContext("experimental-webgl",f)};c.gOa=function(a){var b= c.yra(m);return a.getContext("webgl2",b)};c.getPixelRatio=function(){if(e.ub()){var a=0,b=0;try{a=window.top.innerWidth;b=window.top.innerHeight}catch(c){if(e.Xd()==e.IH&&window.devicePixelRatio>1)return window.devicePixelRatio}var f=window.devicePixelRatio||1,a=[Math.max(document.documentElement.clientWidth,a),Math.max(document.documentElement.clientHeight,b)].sort(function(a,b){return b-a}),f=[screen.width*f,screen.height*f].sort(function(a,b){return b-a}),f=[f[0]/a[0],f[1]/a[1]].sort()[0];if(f!== Infinity)return f}else if(e.Xd()==e.Uwa&&e.browser()==e.tk)return 1;return window.devicePixelRatio};return c}); define("dK","require,kM,jquery.mod,dZ,nU,bZ,nW,u,e,mK,nc".split(","),function(a){function b(){this.cb=B;this.rM=r;this.ia=this.X=100;this.U2=this.Th=l;this.V2=100;this.ba=document.createElement("div");this.ba.style.opacity=0;this.ba.style.display="none";this.ba.style.cWa="opacity 0.3s";this.ba.addEventListener("transitionend",this.F7.bind(this));this.Td=document.createElement("div");this.vua(m);this.Td.style.position="absolute";this.Td.style.left=0;this.Td.style.top=0;this.Td.style.right=0;this.Td.style.bottom= 0;this.ba.appendChild(this.Td);this.Mb=document.createElement("img");this.Mb.style.cursor="pointer";this.Mb.style.position="absolute";this.Mb.style.left="50%";this.Mb.style.top="50%";this.Mb.style.transform="translate(-50%, -50%)";this.ba.appendChild(this.Mb);this.JZ=g(this.ba)}function e(a,b){this.reason=a;this.Ou=b}var d=a("kM"),g=a("jquery.mod");a("dZ");a("nU");var c=a("bZ"),i=a("nW"),f=a("u"),j=a("e"),n=a("mK"),k=a("nc"),o=d.extend(j,function(){j.call(this);this.he("UserInteractionWindow");this.Qb= r;this.lr=[];var a=new n;a.set("duration",500);a.set("easing","cubic_in");var b=new k;b.set("duration",500);b.set("easing","cubic_out");this.Y({contentOpaque:m,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B});this.bind(i.uc,this.H8,this,m);this.bind(i.oa,this.$Ma,this,m)});o.prototype.H8=function(){this.Qb&&this.Qb.setSize(this.Re(),this.Qe())};o.prototype.$Ma=function(){var a=this.lr.slice();this.lr=[];this.sV();a.forEach(function(a){a.Ou.call(a.context)})};o.prototype.kb=function(){j.prototype.kb.call(this); if(!this.Qb){this.Qb=new b;this.Qb.setSize(this.Re(),this.Qe());this.Qb.Hf(m);this.sb().append(this.Qb.Ac().css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"}));this.sV()}};o.prototype.Ao=function(){j.prototype.Ao.call(this);this.getParent().bind(i.uc,this.H8,this,m);o.rya(this)};o.prototype.Cm=function(){this.getParent().unbind(i.uc,this.H8,this,m);j.prototype.Cm.call(this);o.mIa(this)};o.prototype.qRa=function(a){this.kr(q,a)};o.prototype.$$=function(a){this.kr(p,a)};o.prototype.kr= function(a,b){this.lr.push(new e(a,b));this.lr.sort(function(a,b){return t[a.reason]-t[b.reason]});this.sV()};o.prototype.ONa=function(a){this.cancel(q,a)};o.prototype.MNa=function(){this.cancel(p,l)};o.prototype.cancel=function(a,b){var c=this.fEa(a,b);c>=0&&this.wIa(c)};o.prototype.Bea=function(){this.DP(m)};o.prototype.NP=function(){this.DP(B)};o.prototype.fEa=function(a,b){for(var c=0;c0?this.lr[0]:r};var p="vr",q="play",t={};t[p]=0;t[q]=1;b.prototype.Ac=S("JZ");b.prototype.setSize=function(a,b){if(this.X!==a||this.ia!==b){this.X=a;this.ia=b;this.tV()}};b.prototype.vua=function(a){this.Td.style.backdropFilter=a?"blur(8px)": "none"};b.prototype.Hf=function(a){if(this.cb!=a){this.cb=a;if(this.rM){clearTimeout(this.rM);this.rM=r}if(this.cb){this.ba.style.display="block";this.ba.style.opacity=0;this.rM=setTimeout(function(){this.rM=r;this.ba.style.opacity=1}.bind(this),30)}else this.ba.style.opacity=0}};b.prototype.vaa=function(a){if(this.Th!=a){this.Th=a;this.pMa()}};b.prototype.F7=function(){if(!this.cb)this.ba.style.display="none"};b.prototype.pMa=function(){switch(this.Th){case b.$Y:this.U2=c.dz;this.V2=c.mxa;break; case b.Lba:this.U2=c.Hxa;this.V2=c.Jxa}this.Mb.src=this.U2;this.tV()};b.prototype.tV=function(){if(f.ub()){this.Mb.style.maxWidth=Math.round(this.X*0.5)+"px";this.Mb.style.width="20vmin"}else{this.Mb.style.maxWidth=Math.round(this.X*0.33)+"px";this.Mb.style.width=this.V2+"px"}};b.$Y="play";b.Lba="vr";o.vca=b;o.Sc=[];o.g5=[];o.rya=function(a){o.Sc.push(a);o.g5.forEach(function(b){o.Vha(a,b)});o.g5=[]};o.mIa=function(a){o.Sc.splice(o.Sc.indexOf(a),1)};o.ready=function(){return o.Sc.length>0};o.$$=function(a){o.Sc.length? o.Sc.forEach(function(b){o.Vha(b,a)}):o.g5.push(a)};o.Vha=function(a,b){a.$$(function(){o.Sc.forEach(function(b){b!=a&&b.MNa()});b()})};return o}); define("nG",["require"],function(){var a={Ym:{}};a.Ym.NONE="none";a.Ym.Ha="left";a.Ym.Ua="right";a.Kj=function(){this.y=this.x=0;this.height=this.width=1};a.ada=function(){this.eye=a.Ym.NONE;this.viewport=new a.Kj;this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.projectionMatrix=new THREE.Matrix4};a.Kwa=function(){this.position=new THREE.Vector3;this.orientation=new THREE.Quaternion;this.views=[];this.nW=[]};a.Wwa=function(){this.xN=r;this.Xn=200;this.Mm=100;this.jW=1};return a}); define("dQ",["require"],function(){return{bP:"gaze",YY:"gaze_click"}}); define("gL","require,kM,nW,gZ,fQ,dK,nG,u,is,lH,dQ".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("gZ"),g=a("fQ"),c=a("dK"),i=a("nG"),f=a("u"),j=a("is"),n=a("lH"),k=a("dQ"),a=b.extend(g,function(){g.call(this);this.Bma=k.bP;this.Hn=[];this.od=new i.Kwa;this.yi=new i.ada;this.yi.eye=i.Ym.Ha;this.Di=new i.ada;this.Di.eye=i.Ym.Ua;this.od.views=[this.yi,this.Di];this.ce=new i.Wwa;this.bind(e.ra,this.JA,this,B)});a.prototype.Wp=G();a.prototype.nk=G();a.prototype.Ef=G();a.prototype.xW=S("ce");a.prototype.Sr= S("od");a.prototype.wb=G();a.prototype.isPresenting=G();a.prototype.De=G();a.prototype.DW=S("Bma");a.prototype.dC=G();a.prototype.zG=function(a){this.Hn.indexOf(a)<0&&this.Hn.push(a)};a.prototype.rX=function(a){this.Hn.splice(this.Hn.indexOf(a),1);this.dC()==a&&this.Ef()};a.prototype.DX=function(a){var b=this.Hn.indexOf(a);if(!(b<0||b==this.Hn.length-1)){this.Hn.splice(b,1);this.Hn.splice(this.Hn.length,0,a)}};a.prototype.ZDa=function(){return this.Hn.length>0?this.Hn[this.Hn.length-1]:r};a.prototype.t6= function(){var a=this.ZDa();if(a==r){a=document.createElement("canvas");a=d.u9(a);this.zG(a)}return a};a.prototype.YT=function(a){c.$$(a)};a.prototype.U6=function(a){if(f.gd()==f.PC){this.Y5();j.lwa.show(a,function(){this.Sda()}.bind(this))}else f.yN()&&f.gd()==f.MH?j.rxa.show(a):f.gd()==f.PO?j.$ca.show(a):f.gd()==f.QO?j.$ca.show():a()};a.prototype.u6=function(a){var b=function(b){this.Bma=b;a()}.bind(this);!f.ub()||f.Ff()?b(k.bP):n.Yr("cardboard_version")=="1"?b(k.bP):n.Yr("cardboard_version")== "2"?b(k.YY):j.iY.show(function(){b(k.YY)}.bind(this),function(){b(k.bP)}.bind(this))};a.prototype.JA=function(){f.ub()||(this.isPresenting()?j.Fba.show(this.Ef.bind(this)):j.Fba.hide())};a.prototype.Sda=function(){this.Y5();var a=this.Fha();a.push("vr");this.bea(a)};a.prototype.Y5=function(){this.bea(this.Fha().filter(function(a){return a!="vr"}))};a.prototype.Fha=function(){var a=window.location.hash.substring(1);return a.length?a.split("&"):[]};a.prototype.bea=function(a){window.location.hash="#"+ (a.length?a.join("&"):"")};return a}); define("s",["require","jquery.mod","mx"],function(a){function b(){k.get(0)==document.body&&i.height(window.innerHeight)}function e(a,b){var c={},f;for(f in b)c[f]=a.css(f);o.push({$el:a,css:c});a.css(b)}function d(a){this.ba=a}var g=a("jquery.mod"),c=a("mx");d.prototype.nk=function(){this.enabled()||this.toggle()};d.prototype.Ef=function(){this.enabled()&&this.toggle()};d.prototype.toggle=function(){this.enabled()?d.cancel():d.Ni(this.ba)};d.prototype.enabled=function(){return d.enabled(this.ba)}; var i=g("
").css({position:"fixed",bottom:0,left:0,height:"100vh",width:"100vw"}),f=g("
"),j=r,n=r,k=r,o=[],p=r;d.Ni=function(a){if(a!==j){d.cancel();j=a;var o=c.Rp()||document.body;n=g(a);k=g(o);f.insertAfter(n);n.appendTo(i);k.children().each(function(){e(g(this),{visibility:"hidden"})});e(n,{position:"absolute",left:0,top:0,width:"100%",height:"100%"});o==document.body?e(i,{position:"fixed",left:0,top:"",right:"",bottom:0,height:"100vh",width:"100vw",margin:0,padding:0}):e(i,{position:"absolute", left:0,top:0,right:"",bottom:"",width:"100%",height:"100%",margin:0,padding:0});i.appendTo(k);b();p=setInterval(b,300)}};d.cancel=function(){if(j){i.detach();n.insertBefore(f);for(f.detach();o.length;){var a=o.pop();a.$el.css(a.css)}k=n=j=r;o=[];clearInterval(p)}};d.enabled=function(a){return j==a};return d}); define("kE","require,kM,nW,cu,fQ,nU,bZ".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("nU"),a=a("bZ"),i=['
','','
\n
\n
'].join("\n"),f=i+['','
'+ c("rotate-device")+"
"].join("\n")+"
\n
",j=i+['','
Please, swipe up to
enter Fullscreen Mode
'].join("\n")+"
\n
",b=b.extend(g,function(){g.call(this);this.Xk=this.ln=this.mn=this.LJ=this.MJ=this.E3=this.F3=l; this.AR=B;this.Jx=this.s5=this.D3=this.Xe=r;this.zga=[];this.g3=this.vp=B;this.Sb=this.Sb.bind(this)});b.prototype.Ni=function(){if(!this.vp){this.vp=m;this.s0();window.addEventListener("resize",this.Sb);document.body.appendChild(this.Xe);document.body.appendChild(this.Jx);this.UKa=document.documentElement.style.overflow;this.TKa=document.body.style.overflow;document.documentElement.style.overflow="auto";document.body.style.overflow="auto";this.br()}};b.prototype.cancel=function(){if(this.vp){this.vp= B;window.removeEventListener("resize",this.Sb);document.body.style.overflow=this.TKa;document.documentElement.style.overflow=this.UKa;document.body.removeChild(this.Xe);document.body.removeChild(this.Jx);this.Sma(B)}};b.prototype.enabled=S("AR");b.prototype.s0=function(){if(!this.Xe){this.Xe=this.sQ({position:"fixed",top:0,left:0,zIndex:9999998},m);this.Xe.id="tdvminuictr";this.s5=this.sQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},m,f);this.Xe.appendChild(this.s5);this.D3= this.sQ({position:"fixed",backgroundColor:"#fff",top:0,left:0,textAlign:"center"},m,j);this.Xe.appendChild(this.D3);this.Jx=this.sQ({position:"absolute",top:0,left:0,right:0,height:"999999999vmax",zIndex:9999999},B);this.Jx.id="tdvminuiscrl";this.Jx.addEventListener("touchend",this.Sb)}};b.prototype.sQ=function(a,b,c){var f=document.createElement("div");this.OL(f,a);c!==l&&this.AJa(f,c);b&&this.zga.push(f);return f};b.prototype.Sb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.L4.bind(this), a)}.bind(this))};b.prototype.L4=function(){(this.mn!=window.innerWidth||this.ln!=window.innerHeight)&&this.br()};b.prototype.br=function(){this.mn=window.innerWidth;this.ln=window.innerHeight;this.Xk=this.mn>this.ln?"landscape":"portrait";var a;if(this.Xk=="landscape"){if(this.F3&&this.E3&&this.zFa(this.F3,this.E3)&&(!this.MJ&&!this.LJ||this.AFa(this.MJ,this.LJ))){this.MJ=this.mn;this.LJ=this.ln}if(this.uFa()){this.MJ=this.mn;this.LJ=this.ln}this.F3=this.mn;this.E3=this.ln;a=this.MJ==this.mn&&this.LJ== this.ln}else a=B;this.zga.forEach(function(a){a.style.height=this.ln+"px";a.style.width=this.mn+"px"}.bind(this));var b=this.vp&&this.Xk=="portrait",c=this.vp&&this.Xk=="landscape"&&!a,f=this.vp&&this.Xk=="landscape";this.OL(this.Xe,{display:b||c?"block":"none"});this.OL(this.s5,{display:b?"block":"none"});this.OL(this.D3,{display:c?"block":"none"});this.OL(this.Jx,{display:f?"block":"none",right:c?0:"99.9%"});this.Sma(a)};b.prototype.Sma=function(a){if(this.rU!=r){clearTimeout(this.rU);this.rU=r}if(this.AR!= a)this.rU=setTimeout(function(){this.rU=r;(this.AR=a)?this.trigger(new d(e.fq)):this.trigger(new d(e.lb));this.trigger(new d(e.ra))}.bind(this),a?1E3:0)};b.prototype.uFa=function(){var a=window.innerWidth,b=window.innerHeight,c=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(f){c=Math.min(c,Math.abs(100-100*a*f[1]/(b*f[0])))});return c<=1?m:B};b.prototype.zFa=function(a,b){return a*window.innerHeight> b*window.innerWidth};b.prototype.AFa=function(a,b){return a*window.innerHeight>=b*window.innerWidth};b.prototype.OL=function(a,b){for(var c in b)a.style[c]=b[c]};b.prototype.AJa=function(a,b){a.innerHTML=b};return new b}); define("ob","require,hA,u,mq,nv,bR".split(","),function(a){var b=a("hA"),e=a("u"),d=a("mq"),g=a("nv"),c=a("bR");if(e.browser()==e.tk){a=function(){this.j=new d;this.j.src="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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";this.j.loop= m;this.j.Xu=m;this.mb=r};a.prototype.tX=T(m);a.prototype.De=function(){return g.Ol};a.prototype.Z9=function(){return b.Gxa};a.prototype.z9=function(a){this.mb=a;this.mb.play(r,this.j,0)};a.prototype.z$=function(){this.mb=r};var i=B,f=new a,a={enable:function(){if(!i){i=m;c.i9(f)}},disable:function(){if(i){i=B;c.nH(f)}}}}else a={enable:G(),disable:G()};return a}); define("jS",["require","jquery.mod","nU","bZ"],function(a){function b(){this.Si=r;this.K=B;this.Sb=this.Sb.bind(this);this.ln=this.mn=this.Xk=l}var e=a("jquery.mod"),d=a("nU"),g=a("bZ");b.prototype.jt=function(){this.Si||(this.Si=e("
"),this.Si.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.Si.html(['
','','
\n
\n
','','
'+d("rotate-device")+"
","
\n
"].join("\n")))};b.prototype.show=function(a){this.K||(this.K=m,this.jt(), e(a).append(this.Si),e(window).on("resize",this.Sb),this.br())};b.prototype.hide=function(){this.K&&(this.K=B,e(window).off("resize",this.Sb),this.Si.detach())};b.prototype.Sb=function(){[0,250,1E3,2E3].forEach(function(a){setTimeout(this.L4.bind(this),a)}.bind(this))};b.prototype.L4=function(){(this.mn!=window.innerWidth||this.ln!=window.innerHeight)&&this.br()};b.prototype.br=function(){this.mn=window.innerWidth;this.ln=window.innerHeight;this.Xk=this.mn>this.ln?"landscape":"portrait";this.Si.toggle("landscape"!= this.Xk)};return new b}); define("km","require,kM,nW,cu,gz,lf,u,hl,is,cr,cW,gL,e,bf,mx,s,kE,ob,jS".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("gz"),c=a("lf"),i=a("u"),f=a("hl"),j=a("is"),n=a("cr"),k=a("cW"),o=a("gL"),p=a("e"),q=a("bf"),t=a("mx"),s=a("s"),u=a("kE"),w=a("ob"),v=a("jS"),x=b.extend(o,function(){o.call(this);this.nj=this.Bg=this.Ih=this.IL=this.Pt=this.kk=this.sd=r;this.ie=k.Kl;this.wb=this.wb.bind(this)});x.prototype.Wp=function(a){if(this.yJ()){var b=function(b){if(this.sd=b.length?b[0]:r){this.sd.depthNear= 0.1;this.sd.depthFar=2*g.lf;this.kk="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange",this.y5.bind(this),B);u.bind(e.lb,this.Ef.bind(this))}a(!!this.sd)}.bind(this),c=window.WebVRConfig||(window.WebVRConfig={});c.BUFFER_SCALE=x.FG;c.ALWAYS_APPEND_POLYFILL_DISPLAY=m;c.LOCK_ORIENTATION=B;n.cda.load(function(){navigator.getVRDisplays().then(b)["catch"](function(){b([])})}.bind(this))}else a(B)};x.prototype.nk=function(){!this.isPresenting()&&!this.Bg&&this.qB(function(){this.U6(function(){this.u6(function(){if(!this.isPresenting()&& !this.Bg){this.Bg=this.t6();this.R6();this.sd.requestPresent([{source:this.Bg.canvas}]).then(function(){this.nj=this.Bg;this.Bg=r;i.gd()!=i.KH&&v.show(t.Rp());this.DF();this.$M()}.bind(this))["catch"](function(){this.Bg=r;this.qM()}.bind(this))}}.bind(this))}.bind(this))}.bind(this))};x.prototype.Ef=function(){this.isPresenting()&&this.sd.exitPresent()};x.prototype.wb=function(a){return this.sd.requestAnimationFrame(function(b){var c=this.DF();c&&this.JB();a(b);c&&this.sd.submitFrame()}.bind(this))}; x.prototype.isPresenting=function(){return!!this.sd&&this.sd.isPresenting};x.prototype.dC=S("nj");x.prototype.De=S("ie");x.prototype.y5=function(){if(this.isPresenting())q.FX(this.wb,this.sd.cancelAnimationFrame.bind(this.sd));else{q.aaa();(this.nj||this.Bg)&&this.qM()}this.trigger(new d(e.ra))};x.prototype.yJ=function(){return f.available&&c.mba&&i.ub()&&i.iy()!=i.UC};x.prototype.qB=function(a){if(f.disabled)j.Jba.show(function(){f.Z$(function(){this.qB(a)}.bind(this))});else if(t.enabled()||!p.QN()){t.Ef(); this.YT(function(){this.qB(a)}.bind(this))}else a()};x.prototype.R6=function(){s.Ni(this.Bg.canvas);i.gd()==i.LH?this.Sda():w.enable();i.gd()==i.KH&&u.Ni()};x.prototype.DF=function(){this.sd.getFrameData(this.kk);if(!this.kk.pose||!this.kk.pose.orientation)return B;this.Pt=this.sd.getEyeParameters("left");this.IL=this.sd.getEyeParameters("right");var a=this.sd.getLayers();this.Ih=a&&a.length&&a[0]||r;return!this.Ih?B:m};x.prototype.$M=function(){this.ce.xN=r;this.ce.Xn=this.Pt.renderWidth*2;this.ce.Mm= this.Pt.renderHeight;this.ce.jW=1};x.prototype.JB=function(){var a=this.kk.pose;this.od.orientation.fromArray(a&&a.orientation||y);this.od.position.fromArray(a&&a.position||E);this.X8()};x.prototype.X8=function(){this.yi.position.fromArray(this.Pt.offset);this.yi.orientation.fromArray(y);this.yi.projectionMatrix.fromArray(this.kk.leftProjectionMatrix);this.yi.viewport.x=Math.round(this.ce.Xn*this.Ih.leftBounds[0]);this.yi.viewport.y=Math.round(this.ce.Mm*this.Ih.leftBounds[1]);this.yi.viewport.width= Math.round(this.ce.Xn*this.Ih.leftBounds[2]);this.yi.viewport.height=Math.round(this.ce.Mm*this.Ih.leftBounds[3]);this.Di.position.fromArray(this.IL.offset);this.Di.orientation.fromArray(y);this.Di.projectionMatrix.fromArray(this.kk.rightProjectionMatrix);this.Di.viewport.x=Math.round(this.ce.Xn*this.Ih.rightBounds[0]);this.Di.viewport.y=Math.round(this.ce.Mm*this.Ih.rightBounds[1]);this.Di.viewport.width=Math.round(this.ce.Xn*this.Ih.rightBounds[2]);this.Di.viewport.height=Math.round(this.ce.Mm* this.Ih.rightBounds[3])};x.prototype.qM=function(){this.Y5();this.nj=this.Bg=r;u.cancel();s.cancel();w.disable();v.hide()};x.FG=Math.min(1,1280/(Math.max(screen.width,screen.height)*window.devicePixelRatio));var y=[0,0,0,1],E=[0,0,0];return x}); define("iz","require,kM,cu,nW,u,cW,gL,gz,e,bf,s".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("nW"),g=a("u"),c=a("cW"),i=a("gL"),f=a("gz"),j=a("e"),n=a("bf"),k=a("s"),a=b.extend(i,function(){i.call(this);this.nj=this.Bg=this.Ih=this.IL=this.Pt=this.kk=this.sd=r;this.wb=this.wb.bind(this)});a.prototype.Wp=function(a){if(this.yJ()){var b=function(b){if(this.sd=b.length?b[0]:r){this.sd.depthNear=0.1;this.sd.depthFar=2*f.lf;this.kk="VRFrameData"in window?new VRFrameData:r;window.addEventListener("vrdisplaypresentchange", this.y5.bind(this),B);window.addEventListener("vrdisplayactivate",this.zla.bind(this));window.addEventListener("vrdisplaydeactivate",this.Ef.bind(this))}a(!!this.sd)}.bind(this);navigator.getVRDisplays().then(b)["catch"](function(){b([])})}else a(B)};a.prototype.nk=function(a){!this.isPresenting()&&!this.Bg&&this.qB(a,function(){this.U6(function(){this.u6(function(){!this.isPresenting()&&!this.Bg&&this.zla()}.bind(this))}.bind(this))}.bind(this))};a.prototype.Ef=function(){this.isPresenting()&&this.sd.exitPresent()}; a.prototype.wb=function(a){return this.sd.requestAnimationFrame(function(b){var c=this.DF();c&&this.JB();a(b);c&&this.sd.submitFrame()}.bind(this))};a.prototype.isPresenting=function(){return!!this.sd&&this.sd.isPresenting};a.prototype.dC=S("nj");a.prototype.De=function(){return c.Nxa};a.prototype.yJ=function(){return"getVRDisplays"in navigator&&!window.WebVRConfig};a.prototype.y5=function(){if(this.isPresenting()){n.FX(this.wb,this.sd.cancelAnimationFrame.bind(this.sd));this.DF()&&this.JB()}else{n.aaa(); (this.nj||this.Bg)&&this.qM()}this.trigger(new e(d.ra))};a.prototype.qB=function(a,b){a||j.QN()?b():this.YT(function(){b()})};a.prototype.zla=function(){this.Bg=this.t6();this.R6();this.sd.requestPresent([{source:this.Bg.canvas,attributes:{foveationLevel:3}}]).then(function(){this.nj=this.Bg;this.Bg=r;this.DF()&&this.JB()}.bind(this))["catch"](function(){this.Bg=r;this.qM()}.bind(this))};a.prototype.R6=function(){k.Ni(this.Bg.canvas)};a.prototype.DF=function(){this.sd.getFrameData(this.kk);if(!this.kk.pose|| !this.kk.pose.orientation)return B;this.Pt=this.sd.getEyeParameters("left");this.IL=this.sd.getEyeParameters("right");var a=this.sd.getLayers();this.Ih=a&&a.length&&a[0]||r;return!this.Ih?B:m};a.prototype.JB=function(){this.$M();var a=this.kk.pose;this.od.orientation.fromArray(a&&a.orientation||o);this.od.position.fromArray(a&&a.position||p);this.X8()};a.prototype.$M=function(){this.ce.xN=r;this.ce.Xn=this.Pt.renderWidth*2;this.ce.Mm=this.Pt.renderHeight;this.ce.jW=g.Ff()?2048/this.ce.Mm:1};a.prototype.X8= function(){this.yi.position.fromArray(this.Pt.offset);this.yi.orientation.fromArray(o);this.yi.projectionMatrix.fromArray(this.kk.leftProjectionMatrix);var a=this.Ih.leftBounds&&this.Ih.leftBounds.length==4?this.Ih.leftBounds:q;this.yi.viewport.x=Math.round(this.ce.Xn*a[0]);this.yi.viewport.y=Math.round(this.ce.Mm*a[1]);this.yi.viewport.width=Math.round(this.ce.Xn*a[2]);this.yi.viewport.height=Math.round(this.ce.Mm*a[3]);this.Di.position.fromArray(this.IL.offset);this.Di.orientation.fromArray(o); this.Di.projectionMatrix.fromArray(this.kk.rightProjectionMatrix);a=this.Ih.rightBounds&&this.Ih.rightBounds.length==4?this.Ih.rightBounds:t;this.Di.viewport.x=Math.round(this.ce.Xn*a[0]);this.Di.viewport.y=Math.round(this.ce.Mm*a[1]);this.Di.viewport.width=Math.round(this.ce.Xn*a[2]);this.Di.viewport.height=Math.round(this.ce.Mm*a[3])};a.prototype.qM=function(){this.nj=this.Bg=r;k.cancel()};var o=[0,0,0,1],p=[0,0,0],q=[0,0,0.5,1],t=[0.5,0,0.5,1];return a}); define("kb","require,kM,cu,nW,u,lS,cW,gL,gz,e,bf,s,lr,gI".split(","),function(a){function b(a){setTimeout(a,10)}var e=a("kM"),d=a("cu"),g=a("nW"),c=a("u"),i=a("lS"),f=a("cW"),j=a("gL"),n=a("gz"),k=a("e"),o=a("bf"),p=a("s"),q=a("lr"),t=a("gI"),s=e.extend(j,function(){j.call(this);this.KB=this.bN=this.Ii=this.nj=r;this.PF="stopped";this.wb=this.wb.bind(this);this.x6=this.x6.bind(this);this.y6=this.y6.bind(this);this.z6=this.z6.bind(this);this.ay=B;q.FH(function(){b(function(){this.ay=m}.bind(this))}.bind(this))}); s.prototype.Wp=function(a){if(this.yJ())this.jLa().then(function(b){b?a(m):a(B)})["catch"](function(){a(B)});else a(B)};s.prototype.nk=function(){this.PF=="stopped"&&this.qB(function(){this.U6(function(){this.u6(function(){setTimeout(function(){this.LKa()}.bind(this),200)}.bind(this))}.bind(this))}.bind(this))};s.prototype.LKa=function(){if(this.PF=="stopped"){this.PF="starting";this.trigger(new d(g.ra));o.Caa(m);navigator.xr.requestSession("immersive-vr").then(function(a){this.Ii=a;this.Ii.addEventListener("end", this.x6);this.Ii.addEventListener("select",this.y6);this.Ii.addEventListener("visibilitychange",this.z6);return this.Ii.requestReferenceSpace("local")}.bind(this)).then(function(a){this.bN=a;this.nj=this.t6();return this.nj.makeXRCompatible()}.bind(this)).then(function(){c.ub()&&p.Ni(this.nj.canvas);var a=XRWebGLLayer.getNativeFramebufferScaleFactor(this.Ii),a=Math.max(a,1);c.r$()?a=a*1:c.Dsa()?a=a*1:c.Ff()?a=a*1.42222:c.ub()&&(a=a*s.FG);this.KB=new XRWebGLLayer(this.Ii,this.nj,{antialias:B,framebufferScaleFactor:a}); this.Ii.updateRenderState({baseLayer:this.KB,depthNear:0.1,depthFar:2*n.lf});this.$M();this.PF="started";o.FX(this.wb,this.Ii.cancelAnimationFrame.bind(this.Ii));o.Caa(B)}.bind(this))["catch"](function(){o.Caa(B);this.Gma();this.trigger(new d(g.ra))}.bind(this))}};s.prototype.Ef=function(){this.isPresenting()&&this.Ii.end()};s.prototype.wb=function(a){return this.Ii.requestAnimationFrame(function(b,c){this.Z8=c;this.JB();a(b)}.bind(this))};s.prototype.isPresenting=function(){return this.PF!="stopped"}; s.prototype.De=function(){return f.Oxa};s.prototype.dC=S("nj");s.prototype.yJ=function(){return"xr"in navigator};s.prototype.jLa=function(){return"isSessionSupported"in navigator.xr?navigator.xr.isSessionSupported("immersive-vr"):"supportsSession"in navigator.xr?navigator.xr.supportsSession("immersive-vr"):Promise.reject()};s.prototype.qB=function(a){c.Dsa()?a():c.gd()==c.rs?this.ay?a():k.QN()?b(a):this.YT(function(){b(a)}):k.QN()?a():this.YT(function(){a()})};s.prototype.x6=function(){o.aaa();this.Gma(); this.trigger(new d(g.ra))};s.prototype.y6=function(){this.trigger(new d(g.bn))};s.prototype.z6=function(){t.Qaa(!this.Ii||this.Ii.visibilityState!="visible");i.Hwa&&this.Ii.visibilityState!="visible"&&this.Ef()};s.prototype.Gma=function(){this.KB=this.bN=this.Ii=this.nj=r;this.PF="stopped";p.cancel()};s.prototype.$M=function(){this.ce.xN=this.KB.framebuffer;this.ce.Xn=this.KB.framebufferWidth;this.ce.Mm=(c.gd()==c.rs?2:1)*this.KB.framebufferHeight;this.ce.jW=1};s.prototype.JB=function(){var a=this.Z8.getViewerPose(this.bN); if(a){var b=a&&a.transform.orientation||u;this.od.orientation.set(b.x,b.y,b.z,b.w);b=a&&a.transform.position||w;this.od.position.set(b.x,b.y,b.z);for(var a=this.Z8.getViewerPose(this.bN.getOffsetReferenceSpace(a.transform)),c=0;c-1?function(){function a(){f++;c=setTimeout(b, f*1E3)}function b(){c=r;if(f>5)window.location.reload();else if(!document.hidden&&!e.isPresenting()){e.nk(m);a()}}var c,f;document.addEventListener("visibilitychange",function(){if(!document.hidden){if(c){clearTimeout(c);c=r}f=0;a()}},B);if(c){clearTimeout(c);c=r}f=0;a()}():s&&e.nk()}else w.available=T(B);if(f){clearTimeout(f);f=r;a()}})};w.bind(d.ra,function(){t.yX(w.isPresenting())},window,m);window.addEventListener("vrdisplayblur",function(){t.Qaa(m)},m);window.addEventListener("vrdisplayfocus", function(){t.Qaa(B)},m);return w}); define("jT","require,dZ,kM,nW,hA,kI,hc,gx,bu,bb,e".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("hA"),c=a("kI"),i=a("hc"),f=a("gx"),j=a("bu"),n=a("bb"),k=a("e"),a=e.extend(k,function(){k.call(this);this.he("Renderer");this.set("toolTipDisabled",m);this.set("cursor",n.Ev);this.tw=[];this.wB=[];this.Xa="";this.Rg=new f;this.sb().append(this.Rg.Ac());this.bind(d.uc,this.Sb,this,m);this.bind(d.Vc,this.Wj,this,m);this.bind(d.ad,this.Sj,this,m);j.bind(d.ra,this.q8,this,m);this.gB=this.e6= B});a.prototype.$n=function(a){c.$n(a,g.an)};a.prototype.QX=function(a){return c.QX(a)};a.prototype.Bj=function(a){c.Bj(a,g.an)};a.prototype.f9=function(a){this.Rg.Mpa(a)};a.prototype.removeItem=function(a){this.Rg.$ta(a)};a.prototype.NV=function(a,b){this.Rg.Nr(a).Mpa(b);this.n8()};a.prototype.iRa=function(a,b){var c=this.Rg.Nr(a);c&&c.$ta(b)};a.prototype.q9=function(a){this.Rg.uN(a).mk()};a.prototype.aq=function(a,b){this.Rg.gW(a).forEach(function(a){a.Te(b)})};a.prototype.rO=function(a,b,c,f,d){this.Rg.Nr(a).fb(b, c,f,d);this.n8()};a.prototype.n8=function(){var a=this.Rg.bPa();if(a){i.zj=Math.min(i.Qba,i.zj*Math.sqrt(i.Xwa/a));this.Toa()}};a.prototype.fSa=function(a,b,c){this.Rg.uN(a).qaa(b,c)};a.prototype.HN=function(a){return this.Rg.Nr(a).getX()};a.prototype.IN=function(a){return this.Rg.Nr(a).getY()};a.prototype.wW=function(a){return this.Rg.Nr(a).OG()};a.prototype.ora=function(a){return this.Rg.Nr(a).Vp()};a.prototype.GN=function(a){return this.Rg.Nr(a).Ra()/i.zj};a.prototype.FN=function(a){return this.Rg.Nr(a).zb()/ i.zj};a.prototype.render=function(){this.gB&&this.Rg.render()};a.prototype.oX=function(a){this.tw.push(a);this.Koa()};a.prototype.mH=function(a){a=b(this.tw).lastIndexOf(a);a>=0&&this.tw.splice(a,1);this.Koa()};a.prototype.Koa=function(){var a;a=this.tw.length>0?this.tw[this.tw.length-1]:n.le;this.getParent().set("cursor",a)};a.prototype.gQ=function(){if(this.tw.length>0){this.getParent().set("cursor",n.le);this.tw=[]}};a.prototype.aRa=function(a){this.wB.push(a);this.OM()};a.prototype.UQa=function(a){a= b(this.wB).lastIndexOf(a);a>=0&&this.wB.splice(a,1);this.OM()};a.prototype.OM=function(){var a=this.wB.length==0?"":this.wB[this.wB.length-1]||"";if(this.Xa!=a){this.Xa=a;this.getParent().set("toolTip",this.Xa)}};a.prototype.uAa=function(){this.Xa&&this.getParent().set("toolTip","");this.Xa="";this.wB=[]};a.prototype.Cm=function(){this.uAa();this.gQ();k.prototype.Cm.call(this)};a.prototype.Sb=function(){this.Toa();this.n8()};a.prototype.Toa=function(){this.Rg.Ac().css({transform:i.zj!=1?"scale("+ (1/i.zj).toFixed(3)+")":"none","transform-origin":"0% 0%"});this.Rg.setSize(this.Ra()*i.zj,this.zb()*i.zj);this.render()};a.prototype.Wj=function(){this.e6=m;this.q8()};a.prototype.Sj=function(){this.e6=B;this.q8()};a.prototype.q8=function(){var a=this.e6&&!j.isPresenting();if(this.gB!=a)(this.gB=a)?this.render():this.Rg.lW()};return a}); define("R","require,kM,cu,mS,jh,cT,dp,jg,jT,nW,dW,gp".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("mS"),g=a("jh"),c=a("cT"),i=a("dp"),f=a("jg"),j=a("jT"),n=a("nW"),k=a("dW"),o=a("gp"),p=d.G("MapPlayer",c,function(){c.call(this,"map");this.sS=this.R3=this.Hh=B;this.wm=this.Gc=this.C=this.h=r;this.bw={};for(var a in p.Ss)this.bw[a]=this.UAa(a);this.Md=b.Yp(this.Eg,this)});p.prototype.stop=function(){this.xc(f.$f)};p.prototype.rotateClockwise=function(){this.xc(f.rZ)};p.prototype.rotateCounterClockwise= function(){this.xc(f.sZ)};p.prototype.zoomIn=function(){this.xc(f.Qs)};p.prototype.zoomOut=function(){this.xc(f.Rs)};p.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "map":this.R3=m;this.Md();break;case "viewerArea":this.Hh=m;this.Md();break;case "panoramaMapLocation":this.f5=m;this.Md();break;case "movementMode":this.sS=m;this.Md()}c.prototype.set.call(this,a,b)}};p.prototype.UAa=function(a){var b=p.Ss[a],a=new g(this,a,k.me);a.bind(n.Hb,function(){this.xc(b.movement)},this);b.stopOnRelease&& a.bind(n.ic,function(){this.xc(f.$f)},this);return a};p.prototype.CNa=function(a){this.wm=r;this.set("map",a.get("map"));this.set("panoramaMapLocation",a)};p.prototype.mRa=function(a){if(this.get("panoramaMapLocation")==a){this.set("panoramaMapLocation",r);this.wm=r}};p.prototype.Sm=function(a,b,c,f){this.C&&this.C.Sm(a,b,c,f);this.wm={yaw:b,pitch:c,hfov:f}};p.prototype.Eg=function(){if(this.Hh){this.Hh=B;this.ot();this.get("viewerArea")&&this.lt();this.WL(this.get("viewerArea"))}if(this.C){if(this.R3){this.R3= B;var a=this.get("map");if(a){this.rH();this.C.Mua(a)}else this.C.hv();this.f5=this.sS=m}if(this.f5){this.f5=B;a=this.get("panoramaMapLocation");this.C.jv(a);a&&this.wm&&this.C.Sm(a,this.wm.yaw,this.wm.pitch,this.wm.hfov)}if(this.sS){this.sS=B;this.C.cq(this.get("movementMode"))}}};p.prototype.ZF=function(){this.set("map",r)};p.prototype.lt=function(){var a=this.get("viewerArea");this.h=new j;this.h.Y({left:0,top:0,bottom:0,right:0});a.La(this.h);this.C=new i(a,this.h);this.C.bind(i.Dj,this.ap,this); this.C.bind(i.us,this.bi,this);this.C.bind(i.My,this.fF,this);this.C.bind(i.Oy,this.ex,this);this.C.bind(i.Ny,this.Yt,this);this.C.bind(i.Ej,this.UK,this,m)};p.prototype.ot=function(){if(this.h){this.C.unbind(i.Dj,this.ap,this);this.C.unbind(i.us,this.bi,this);this.C.unbind(i.My,this.fF,this);this.C.unbind(i.Oy,this.ex,this);this.C.unbind(i.Ny,this.Yt,this);this.C.unbind(i.Ej,this.UK,this);this.C.clear();this.h.getParent().removeChild(this.h);this.h=r}};p.prototype.ex=function(a){this.ZJ(a.data.map)}; p.prototype.Yt=function(a){this.YJ(a.data.map)};p.prototype.ap=function(a){for(var b in p.Ss)this.bw[b].set("state",a.data[p.Ss[b].pressedOn]?o.Za:o.le);this.trigger(new e(n.Xba,a.data))};p.prototype.UK=function(a){this.trigger(new e(p.Ej,{yawDelta:a.data.yawDelta}))};p.prototype.bi=function(a){this.h.getParent().Y({progressPercent:a.data.percent,progressVisible:m})};p.prototype.fF=function(){this.h.getParent().set("progressVisible",B)};p.prototype.xc=function(a){this.C&&this.C.Aj(a)};p.Ss={buttonRotateClockwise:{movement:f.rZ, pressedOn:"rotatingClockwise",stopOnRelease:m},buttonRotateCounterClockwise:{movement:f.sZ,pressedOn:"rotatingCounterClockwise",stopOnRelease:m},buttonZoomIn:{movement:f.Qs,pressedOn:"zoomingIn",stopOnRelease:m},buttonZoomOut:{movement:f.Rs,pressedOn:"zoomingOut",stopOnRelease:m}};p.Ej="requestYawChange";return p}); define("hO",["require","lm","nW","cu","mS"],function(a){var b=a("lm"),e=a("nW"),d=a("cu"),a=a("mS").G("PlayListItem",b,function(){b.call(this);this.o="stopped"});a.prototype.get=function(a,c){return"state"==a?this.o:b.prototype.get.call(this,a,c)};a.prototype.start=function(){this.HTa()};a.prototype.HTa=function(){"stopped"==this.o&&(this.o="starting",this.trigger(new d(e.Ms)))};a.prototype.NB=function(){this.Mva()};a.prototype.Mva=function(){"starting"==this.o&&(this.o="playing",this.trigger(new d(e.fq)))}; a.prototype.stop=function(){this.EH()};a.prototype.EH=function(){"playing"==this.o&&(this.o="stopping",this.trigger(new d(e.$f)))};a.prototype.end=function(){this.Nva()};a.prototype.Nva=function(){"stopping"==this.o&&(this.o="stopped",this.trigger(new d(e.lb)))};return a}); define("ow",["require","mS","cT","hO"],function(a){var b=a("mS"),e=a("cT"),d=a("hO"),a=b.G("MapPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.ex,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);d.prototype.stop.call(this)};a.prototype.ex=function(){this.get("player").unbind(e.Kg,this.ex,this);this.get("player").bind(e.Ll, this.Yt,this);this.NB();this.get("player").get("map")!=this.get("media")&&this.Yt()};a.prototype.Yt=function(){this.get("player").unbind(e.Ll,this.Yt,this);this.stop();this.end()};return a}); define("fH",["require","nW","mS","jn"],function(a){var b=a("nW"),e=a("mS"),d=a("jn"),g=e.G("MeasureModel3DObject",d,function(){d.call(this);this.bind(b.u("mode"),function(){this.trigger(g.ywa)},this,m);this.bind(b.u("distance"),function(){this.trigger(g.vwa)},this,m)});g.ywa="modeChange";g.vwa="distanceChange";return g});define("C",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("MeasureModel3DObjectPoint",b,function(){b.call(this)})}); define("dX",["require","mS","fE"],function(a){var b=a("mS"),e=a("fE");return b.G("OrbitModel3DCamera",e,function(){e.call(this)})}); define("fo",["require","kn","mS","ef","dX"],function(a){function b(a,b){Array.isArray(b)?a.fromArray(b):a.copy(b)}function e(a,b){return Array.isArray(b)?a.toArray(data):{x:a.x,y:a.y,z:a.z}}var d=a("kn"),g=a("mS"),c=a("ef"),i=a("dX"),a=g.G("Model3D",c,function(){c.call(this);this.set("camera",new i);this.set("geometryQuery",l);this.set("objectQuery",l)});a.prototype.pause=function(){this.get("state")==d.Q&&this.set("state",d.Db)};a.prototype.play=function(){this.set("state",d.Q)};a.prototype.stop= function(){this.set("state",d.M)};a.prototype.worldPositionToLocal=function(a,c){b(f,a);var d=n;Array.isArray(c)?d.fromArray(c):d.copy(c);n.invert();f.applyMatrix4(n);return e(f,a)};a.prototype.getMatrixWorld=function(a){var b=this.get("objectQuery");return b&&b.aPa(a)};a.prototype.worldDirectionToLocal=function(a,c){b(f,a);var d=k;Array.isArray(c)?d.fromArray(c):d.copy(c);n.mVa(k);n.invert();f.applyMatrix4(n);return e(f,a)};a.prototype.testIntersection=function(a,c){var d=this.get("geometryQuery"); if(d)return b(f,a),b(j,c),d.DTa(f,j)};a.prototype.getDistanceToFloor=function(a){var c=this.get("geometryQuery");if(c)return b(f,a),c.IOa(f)};a.prototype.pick=function(a,b){var c=this.get("picker");return!c?l:c.aO(a,b)};var f=new THREE.Vector3,j=new THREE.Vector3,n=new THREE.Matrix4,k=new THREE.Matrix4;a.prototype.Xr=function(){return[]};return a}); define("bd",["require","lm","kn","nW","mS"],function(a){var b=a("lm"),e=a("kn"),d=a("nW"),a=a("mS").G("Model3DAnimation",b,function(){b.call(this);this.bind(d.u("state"),function(){this.trigger(d.Yd)},this,m)});a.prototype.pause=function(){this.get("state")==e.Q&&this.set("state",e.Db)};a.prototype.play=function(){this.set("currentDirection","forward");this.set("state",e.Q)};a.prototype.reverse=function(){this.set("currentDirection","backward");this.set("state",e.Q)};a.prototype.stop=function(){this.set("state", e.M)};return a});define("gu",["require","lm","kn","mS","nW"],function(a){var b=a("lm"),e=a("kn"),d=a("mS"),g=a("nW"),a=d.G("Model3DCameraSequence",b,function(){b.call(this);this.set("state",e.M);this.bind(g.u("state"),function(){this.trigger(g.Yd)},this,m)});a.prototype.play=a.prototype.play=function(){this.set("state",e.Q)};a.prototype.pause=a.prototype.pause=function(){this.get("state")==e.Q&&this.set("state",e.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",e.M)};return a}); define("ia","require,kM,nW,cu,jh,cT,kn,dW,gp".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("jh"),c=a("cT"),i=a("kn"),f=a("dW"),j=a("gp"),a=b.extend(c,function(){c.call(this,m);this.fr=B;this.XF=m;this.o=i.M;this.zz=new g(this,"buttonPlayPause",f.Jj);this.zz.bind(e.Hj,this.OGa,this,m);this.zz.bind(e.Nl,this.PGa,this,m);this.GD=new g(this,"buttonPause",f.me);this.GD.bind(e.oa,this.SA,this,m);this.HD=new g(this,"buttonPlay",f.me);this.HD.bind(e.oa,this.TA,this,m);this.JD=new g(this,"buttonStop", f.me);this.JD.bind(e.oa,this.px,this,m);this.Pza=new g(this,"buttonRestart",f.me);this.Pza.bind(e.oa,this.mx,this,m);this.Yha=b.Yp(this.BMa,this);this.Yha()});a.prototype.set=function(a,b){a!="state"&&c.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){switch(a){case "state":return this.o}return c.prototype.get.call(this,a,b)};a.prototype.BMa=function(){if(this.XF){this.XF=B;this.GD.set("state",this.o==i.Db?j.Za:j.le);this.HD.set("state",this.o==i.Q||this.o==i.Db?j.Za:j.le);this.zz.set("pressed", this.o==i.Q);this.JD.set("state",this.o==i.M?j.Za:j.le)}};a.prototype.Ox=function(a){if(this.fr!=a)(this.fr=a)||this.hc(i.M)};a.prototype.hc=function(a){var b=this.o;this.o=a;c.prototype.set.call(this,"state",a);if(b!=this.o){this.XF=m;this.Yha();this.trigger(new d(e.Yd,{oldState:b,state:this.o}))}};a.prototype.SA=function(){this.fr&&(this.o==i.Db?this.Zj():this.jp())};a.prototype.TA=function(){this.fr&&this.Zj()};a.prototype.OGa=function(){this.fr&&this.Zj()};a.prototype.PGa=function(){this.fr&& this.jp()};a.prototype.px=function(){this.fr&&this.Nn()};a.prototype.mx=function(){if(this.fr){this.Nn();this.Zj()}};a.prototype.Zj=G();a.prototype.jp=G();a.prototype.Nn=G();return a}); define("ey",["require","kM","bf","cu","fQ"],function(a){var b=a("kM"),e=a("bf"),d=a("cu"),g=a("fQ"),c=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.kp=r;this.ca=c.jh;this.wg=this.rh=r;this.jg=this.Dg=l});c.prototype.display=function(a){this.kp=r;if(this.wg!=a||this.ca!=c.jh)this.kp=a,this.oka()};c.prototype.hide=function(){this.kp="none";this.oka()};c.prototype.clear=function(){this.ca=c.jh;this.kp=r;this.gIa();this.Wla();this.h=r};c.prototype.Yg=function(a){if(this.ca!=c.jh&&(this.ca== c.dn||this.ca==c.Qv||this.ca==c.mz))this.jg+=a,a=Math.min(1,this.jg/this.Dg),this.ca==c.dn?this.rh.set("opacity",a):this.ca==c.mz?(this.rh.set("opacity",Math.min(1,2*a)),this.wg.set("opacity",Math.min(1,2*(1-a)))):this.wg.set("opacity",1-a),this.jg");this.ba.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,"pointer-events":"none","background-color":"#ffffff"});this.ba.hide()}var e=a("jquery.mod"),d=a("u");b.prototype.Ac=S("ba");b.prototype.trigger=function(){d.browser()!=d.Mh&&this.ba.fadeIn(100).fadeOut(100)};return b}); define("lv",["require"],function(){function a(b,e){this.P=b;this.xTa=e||"Entity";this.id=this.xTa+"_"+a.DQa++;this.Vn={};this.gO={};this.Vaa=0}a.prototype.getComponent=function(a){return this.Vn[a.id]};a.prototype.D=function(a,e){var d=this.Vn[a.id];d?this.P.QNa(this,a):e&&(d=this.B(a));return d};a.prototype.B=function(a){if(a.id in this.Vn)return this.Vn[a.id];a.w$&&this.Vaa++;var e=this.Vn[a.id]=new a;this.P.xNa(this,a);return e};a.prototype.fa=function(a){a.id in this.Vn&&(a.w$&&this.Vaa--,this.gO[a.id]= this.Vn[a.id],delete this.Vn[a.id],this.P.cua(this,a,l))};a.prototype.TNa=function(){for(var a in this.gO)this.gO[a].clear(),delete this.gO[a]};a.prototype.fRa=function(){for(var a in this.Vn){var e=this.Vn[a].constructor;e.w$||(this.gO[a]=this.Vn[a],delete this.Vn[a],this.P.cua(this,e,B))}};a.DQa=0;return a});define("bX",["require"],function(){function a(){this.id=a.j4++;this.entities=[]}a.j4=0;return a}); define("kh",["require"],function(){function a(b,e){this.id=a.j4++;this.name=e;this.entities=b.entities;this.Yf=b.entities.slice();this.Oa=[];this.Pm=[]}a.prototype.RNa=function(){!this.Yf.length||(this.Yf=[]);!this.Oa.length||(this.Oa=[]);!this.Pm.length||(this.Pm=[])};a.j4=0;return a}); define("bo",["require","bX","kh"],function(a){function b(){this.MPa={};this.A={};this.sC={};this.NG={};this.Ru={};this.rC={};this.oN={};this.qC={}}function e(a){return"string"==typeof a?a:a.id}function d(a,b){0>a.indexOf(b)&&a.push(b)}function g(a,b){var c=a.indexOf(b);0<=c&&a.splice(c,1)}var c=a("bX"),i=a("kh");b.prototype.la=function(a){this.oN[a.id]={};this.oN[a.not]={}};b.prototype.cOa=function(a,b){var c=this.dEa(a),d=new i(c,b);this.sC[c.id].push(d);return d};b.prototype.dEa=function(a){var b= this.MPa[this.eEa(a)];if(b)return b;b=new c;this.A[b.id]=b;a=a.map(e);this.qC[b.id]={};for(var d=0;dthis.$a)this.j.get("loop")?this.j.set("currentTime",a%this.$a):(this.rb=m,this.j.trigger(e.lb),this.j.set("state",d.M));else{for(var b=this.yk||0;a>this.Sv[b].end;)b++;for(;ab;i--)f=this.Jf[i],j=this.qz[i],f.set("currentTime",0),j.stop();this.yk=b}else j=this.qz[this.yk],af;this.Jf[this.yk].set("currentTime",b?2*f-a:a);this.Jf[this.yk].set("currentDirection",b?"backward":"forward");this.j.set("currentTime",this.kh.time);this.ua()}};return b}); define("nO",["require","nW","kn"],function(a){function b(a,b,d,f,e){this.j=a;this.Pc=b;this.Jf=d;this.Mj=f;this.ua=e;this.C4=this.C4.bind(this);this.y4=this.y4.bind(this);this.zU()}var e=a("nW"),d=a("kn");b.prototype.dispose=function(){this.$U();this.ua=this.Mj=this.Jf=this.Pc=this.j=r};b.prototype.CN=S("Mj");b.prototype.frame=function(a){0f||(c.splice(f,1),a.remove(b))}},gba:function(a){var b=a.userData.Saa;if(b){var c=0.99*-a.far;b.forEach(function(a){a.position.z= c})}},wNa:function(a,b){var c=a.userData.Raa||(a.userData.Raa=[]);0<=c.indexOf(b)||(c.push(b),a.add(b),d.Pva(a))},hRa:function(a,b){var c=a.userData.Raa;if(c){var f=c.indexOf(b);0>f||(c.splice(f,1),a.remove(b))}},Pva:function(a){var b=a.userData.Raa;if(b){var c=0.99*a.far;b.forEach(function(a){a.scale.x=a.scale.y=a.scale.z=c})}}},g=new THREE.Vector3,c=new THREE.Quaternion,i=new THREE.Vector3,f=Math.PI/180;d.UG=function(a){var b=(a=d.cc(a))&&d.T9(a),e=b&&d.LN(b);if(e)return a.matrixWorld.decompose(g, c,i),g.applyMatrix4(e.matrixWorldInverse),i.setFromMatrixScale(a.parent.matrixWorld),2*Math.abs(g.z)*Math.tan(e.fov*f/2)/(d.BW(b)*Math.max(i.x,i.y,i.z))};d.YB=function(a,b){if(a.userData.id===b)return a;var c=r;if(a.children)for(var f=0;f=0){c.splice(c.indexOf(j),1);if(a.get("autoplay")){d.push(j);g.push(a)}else{n.push(j);u.push(a)}}}.bind(this));if(this.j&& g.length==0&&c.length>0){g=c.map(function(a){if(this.KQ.has(a))return this.KQ.get(a);var b=new i;this.KQ.set(a,b);return b}.bind(this));d=c}if(!e(this.zk&&this.zk.Jf||[],g)||!e(this.zk&&this.zk.CN()||[],d)){if(this.zk){this.zk.dispose();this.zk=r}if(g.length>0)this.zk=new f(this.j,this.Pc,g,d,this.ua.bind(this))}if(!e(this.Xq&&this.Xq.Jf||[],u)||!e(this.Xq&&this.Xq.CN()||[],n)){if(this.Xq){this.Xq.dispose();this.Xq=r}if(u.length>0)this.Xq=new j(this.j,this.Pc,u,n,this.ua.bind(this))}};b.prototype.CIa= function(){(this.j&&this.j.get("animations")||[]).forEach(function(a){a.set("state",g.M);a.set("currentTime",0)});this.KQ.clear()};b.prototype.ua=function(){if(!this.Cf){this.Cf=m;this.k.P.nb()}};b.rc=function(a){a.B(c.ps).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.ps);b.manager.dispose();b.manager=r;a.fa(c.ps)};b.update=function(a){a.getComponent(c.ps).manager.update()};b.frame=function(a,b,f){a.getComponent(c.ps).manager.frame(b,f)};return b}); define("mv",["require","kM","kW","fm","B"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("B"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.Spa.entities.length&&this.Spa.entities.slice().forEach(g.rc);this.animations.Oa.length&&this.animations.Oa.slice().forEach(function(f){g.update(f,a,b)});this.animations.entities.length&&this.animations.entities.slice().forEach(function(f){g.frame(f,a,b)});this.Tpa.entities.length&&this.Tpa.entities.slice().forEach(g.Gb)}; a.A={};a.A.Spa=[d.sv,d.ps.not];a.A.Tpa=[d.sv.not,d.ps];a.A.animations=[d.sv,d.ps];return a}); define("eN",["require"],function(){function a(a,g,i){var i=i||2,n=g&&g.length,k=n?g[0]*i:a.length,o=b(a,0,k,i,m),s=[];if(!o||o.next===o.prev)return s;var t,u,w,I;if(n){I=o;var A=i,o=[],N,H,C,n=0;for(N=g.length;n=A.next.y&&A.next.y!==A.y){var O=A.x+(H- A.y)*(A.next.x-A.x)/(A.next.y-A.y);if(O<=N&&O>C&&(C=O,M=A.x=A.x&&A.x>=U&&N!==A.x&&f(HM.x||A.x===M.x&&0>j(M.prev,M,A.prev)&&0>j(A.next,M,M.next))))M=A,V=P;A=A.next}while(A!==O);A=M}else A=r}A&&(I=q(A,g),e(I,I.next),I=e(A,A.next))}o=I}if(a.length>80*i){t=w=a[0];u=n=a[1];for(A=i;Aw&&(w=I),g>n&&(n=g);w=Math.max(w-t,n-u);w=0!==w?32767/w:0}d(o,s,i,t,u,w,0);return s}function b(a,b,c,f,d){var e;if(d===0=b;d-=f)e=t(d,a[d],a[d+1],e);e&&n(e,e.next)&&(s(e),e=e.next);return e}function e(a,b){if(!a)return a;b||(b=a);var c=a,f;do if(f=B,!c.mva&&(n(c,c.next)||0===j(c.prev,c,c.next))){s(c);c=b=c.prev;if(c===c.next)break;f=m}else c=c.next;while(f||c!==b);return b}function d(a,b,c,o,t,u,w){if(a){if(!w&& u){var J=a,z=J;do 0===z.z&&(z.z=i(z.x,z.y,o,t,u)),z.$p=z.prev,z=z.Al=z.next;while(z!==J);z.$p.Al=r;z.$p=r;var J=z,K,I,A,N,H,C,M=1;do{z=J;A=J=r;for(N=0;z;){N++;I=z;for(K=H=0;KH?N>M?N:M:H>M?H:M,W=K>C?K>U?K:U:C>U?C:U,O=O.next;O!==A;){if(O.x>=Q&&O.x<=P&&O.y>=V&&O.y<=W&&f(N,K,H,C,M,U,O.x,O.y)&&0<=j(O.prev,O,O.next)){A=B;break a}O=O.next}A=m}}if(A)b.push(z.ng/c|0),b.push(a.ng/c|0),b.push(I.ng/c|0),s(a),J=a=I.next;else if(a=I,a===J){if(w)if(1===w){a=e(a);w=b;J=c;z=a;do I=z.prev,A=z.next.next,!n(I,A)&&k(I,z,z.next,A)&&p(I,A)&&p(A,I)&&(w.push(I.ng/J|0),w.push(z.ng/J|0),w.push(A.ng/J|0),s(z),s(z.next),z=a=A),z=z.next;while(z!==a);a=e(z); d(a,b,c,o,t,u,2)}else{if(2===w)a:{w=a;do{for(J=w.next.next;J!==w.prev;){if(z=w.ng!==J.ng){z=w;I=J;A=l;if(A=z.next.ng!==I.ng)if(A=l,A=z.prev.ng!==I.ng){A=A=l;b:{A=z;do{if(A.ng!==z.ng&&A.next.ng!==z.ng&&A.ng!==I.ng&&A.next.ng!==I.ng&&k(A,A.next,z,I)){A=m;break b}A=A.next}while(A!==z);A=B}if(A=!A){A=l;if(A=p(z,I))if(A=l,A=p(I,z)){A=z;N=B;H=(z.x+I.x)/2;M=(z.y+I.y)/2;do A.y>M!==A.next.y>M&&A.next.y!==A.y&&H<(A.next.x-A.x)*(M-A.y)/(A.next.y-A.y)+A.x&&(N=!N),A=A.next;while(A!==z);A=N&&(j(z.prev,z,I.prev)|| j(z,I.prev,I))}A=A||n(z,I)&&0k?n>o?n:o:k>o?k:o,M=q>p?q>s?q:s:p>s?p:s,O=i(t,u,b,c,d),b=i(w,M,b,c,d),c=a.$p,a=a.Al;c&&c.z>=O&&a&&a.z<=b;){if(c.x>=t&& c.x<=w&&c.y>=u&&c.y<=M&&c!==e&&c!==g&&f(n,q,k,p,o,s,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.$p;if(a.x>=t&&a.x<=w&&a.y>=u&&a.y<=M&&a!==e&&a!==g&&f(n,q,k,p,o,s,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.Al}for(;c&&c.z>=O;){if(c.x>=t&&c.x<=w&&c.y>=u&&c.y<=M&&c!==e&&c!==g&&f(n,q,k,p,o,s,c.x,c.y)&&0<=j(c.prev,c,c.next))return B;c=c.$p}for(;a&&a.z<=b;){if(a.x>=t&&a.x<=w&&a.y>=u&&a.y<=M&&a!==e&&a!==g&&f(n,q,k,p,o,s,a.x,a.y)&&0<=j(a.prev,a,a.next))return B;a=a.Al}return m}function c(a,b){return a.x- b.x}function i(a,b,c,f,d){a=(a-c)*d|0;b=(b-f)*d|0;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function f(a,b,c,f,d,e,j,g){return(d-j)*(b-g)>=(a-j)*(e-g)&&(a-j)*(f-g)>=(c-j)*(b-g)&&(c-j)*(e-g)>=(d-j)*(f-g)}function j(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)}function n(a,b){return a.x===b.x&&a.y===b.y}function k(a,b,c,f){var d=0j(a,b,c)?-1:0,e= 0j(a,b,f)?-1:0,g=0j(c,f,a)?-1:0,i=0j(c,f,b)?-1:0;return d!==e&&g!==i||0===d&&o(a,c,b)||0===e&&o(a,f,b)||0===g&&o(c,a,f)||0===i&&o(c,b,f)?m:B}function o(a,b,c){return b.x<=Math.max(a.x,c.x)&&b.x>=Math.min(a.x,c.x)&&b.y<=Math.max(a.y,c.y)&&b.y>=Math.min(a.y,c.y)}function p(a,b){return 0>j(a.prev,a,a.next)?0<=j(a,b,a.next)&&0<=j(a,a.prev,b):0>j(a,b,a.prev)||0>j(a,a.next,b)}function q(a,b){var c=new u(a.ng,a.x,a.y),f=new u(b.ng,b.x,b.y),d=a.next,e=b.prev;a.next= b;b.prev=a;c.next=d;d.prev=c;f.next=c;c.prev=f;e.next=f;f.prev=e;return f}function t(a,b,c,f){a=new u(a,b,c);f?(a.next=f.next,a.prev=f,f.next.prev=a,f.next=a):(a.prev=a,a.next=a);return a}function s(a){a.next.prev=a.prev;a.prev.next=a.next;a.$p&&(a.$p.Al=a.Al);a.Al&&(a.Al.$p=a.$p)}function u(a,b,c){this.ng=a;this.x=b;this.y=c;this.next=this.prev=r;this.z=0;this.Al=this.$p=r;this.mva=B}function w(a,b,c,f){for(var d=0,e=c-f;b1.0E-4}),b=this.qPa(c);if(b.length===0){this.Rfa(a);this.moa(a,l)}else{this.zJa(a,b.length*3);this.PTa(a,n,b);j.copy(a.getComponent(i.Object3D).Rc.matrixWorld).invert();n.forEach(function(a){a.applyMatrix4(j)});for(var a=a.getComponent(i.Geometry),f=a.geometry.attributes.position.array,d=0,e=0;dMath.PI*0.5&&(d=Math.PI-d);if(d>y)return[]}}p.copy(a[1]).sub(a[0]).normalize(); q.copy(k.normal).cross(p).normalize();b=[];for(e=0;e=0&&b.splice(c,1);this.vta["delete"](a);a.fa(g.ss)};a.prototype.Laa=function(a){a.B(g.xv).position=new THREE.Vector3;var b=c.cc(a);this.uta.set(a,b);(b=this.TV.get(a.P))|| this.TV.set(a.P,b=[]);b.indexOf(a)<0&&b.push(a)};a.prototype.NX=function(a){var b=this.TV.get(a.P),c=b.indexOf(a);c>=0&&b.splice(c,1);this.uta["delete"](a);a.fa(g.xv)};return a});define("ko",["require","u"],function(a){var b=a("u"),a={},e=180/Math.PI,d=Math.PI/180;a.tl=function(a,b,d){return this.OB(a,b,d)};a.ms=function(a,b,d){return this.OB(a,d,b)};a.OB=function(a,b,i){return 2*Math.atan(i*Math.tan(0.5*a*d)/b)*e};a.uVa=function(a){return b.browser()==b.JH?Math.max(a,20):a};return a}); define("hz","require,kM,kW,fm,ko,ch".split(","),function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("ko"),c=a("ch"),a=b.extend(e,function(){e.apply(this,arguments);this.Naa=this.Naa.bind(this);this.Oaa=this.Oaa.bind(this);this.VX=this.VX.bind(this);this.WX=this.WX.bind(this);this.Xaa=this.Xaa.bind(this);this.Yaa=this.Yaa.bind(this)});a.prototype.execute=function(){this.Dta.entities.length&&this.Dta.entities.slice().forEach(this.Naa);this.Gta.entities.length&&this.Gta.entities.slice().forEach(this.Oaa); this.pC.Oa.length&&this.pC.Oa.slice().forEach(this.VX);this.cs.Oa.length&&this.cs.Oa.slice().forEach(this.WX);this.Eta.entities.length&&this.Eta.entities.slice().forEach(this.Xaa);this.Hta.entities.length&&this.Hta.entities.slice().forEach(this.Yaa)};a.prototype.Naa=function(a){var b=a.D(d.OrthographicCamera),c=a.B(d.Lv);a.B(d.Object3D).Rc=c.camera=b.camera=new THREE.OrthographicCamera;this.VX(a)};a.prototype.Oaa=function(a){var b=a.D(d.PerspectiveCamera),c=a.B(d.pq);a.B(d.Object3D).Rc=c.camera=b.camera= new THREE.PerspectiveCamera;this.WX(a)};a.prototype.VX=function(a){var b=a.getComponent(d.OrthographicCamera),a=a.getComponent(d.Lv);a.width=b.width;a.height=b.height;a=a.camera;a.left=b.width*-0.5;a.right=b.width*0.5;a.top=b.height*0.5;a.bottom=b.height*-0.5;a.updateProjectionMatrix()};a.prototype.WX=function(a){var b=a.getComponent(d.PerspectiveCamera),a=a.getComponent(d.pq);a.width=b.width;a.height=b.height;a.fov=b.fov;a.near=b.near;a.far=b.far;a=a.camera;a.aspect=b.width/b.height;a.fov=b.width> b.height?g.tl(b.fov,b.width,b.height):b.fov;a.near=b.near;a.far=b.far;c.gba(a);a.updateProjectionMatrix()};a.prototype.Xaa=function(a){var b=a.getComponent(d.Lv);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=r;a.fa(d.Lv);a.fa(d.Object3D)};a.prototype.Yaa=function(a){var b=a.getComponent(d.pq);b.camera.parent&&b.camera.parent.remove(b.camera);b.camera=r;a.fa(d.pq);a.fa(d.Object3D)};a.A={};a.A.Dta=[d.OrthographicCamera,d.Lv.not];a.A.Eta=[d.OrthographicCamera.not,d.Lv];a.A.Gta=[d.PerspectiveCamera, d.pq.not];a.A.Hta=[d.PerspectiveCamera.not,d.pq];a.A.pC=[d.OrthographicCamera,d.Lv];a.A.cs=[d.PerspectiveCamera,d.pq];a.NC=b.extend(e,function(){e.apply(this,arguments);this.M$=this.M$.bind(this)});a.NC.prototype.execute=function(){this.cs.entities.length&&this.cs.entities.slice().forEach(this.M$)};a.NC.prototype.M$=function(a){var b=a.getComponent(d.PerspectiveCamera);if(b.Ypa){var e=a.getComponent(d.pq),j=e.scene||c.Yn(a),g=e.camera;if(j&&g){var n=Number.POSITIVE_INFINITY,w=Number.NEGATIVE_INFINITY; if(e.boundingBox)e.L$=m;else{e.boundingBox=this.e0(j);e.L$=B}for(var j=e.boundingBox,j=[[j.min.x,j.max.x],[j.min.y,j.max.y],[j.min.z,j.max.z]],v=0;v<2;v++)for(var x=0;x<2;x++)for(var y=0;y<2;y++){k.set(j[0][v],j[1][x],j[2][y]).applyMatrix4(g.matrixWorldInverse);-k.z>w&&(w=-k.z);-k.z0?n:w>20?0.1:0.01;if(Math.abs(b.near-n)>f||Math.abs(b.far-w)>f){g.far=e.far=b.far=w;g.near=e.near=b.near=n;c.gba(g); c.Pva(g);g.updateProjectionMatrix()}if(!e.o9)e.o9=setTimeout(function(){e.boundingBox=r;e.o9=r;e.L$&&a.P&&a.P.nb()},i)}}};a.NC.prototype.e0=function(a){j.makeEmpty();a.traverse(function(a){if(a.geometry&&!a.isSprite){a.updateWorldMatrix(B,B);var b=a.geometry;b.boundingBox===r&&b.computeBoundingBox();n.copy(b.boundingBox);n.applyMatrix4(a.matrixWorld);j.union(n)}});return j};var i=500,f=1.0E-4,j=new THREE.Box3,n=new THREE.Box3,k=new THREE.Vector3;a.NC.A={};a.NC.A.cs=[d.PerspectiveCamera,d.pq];return a}); define("bl",["require","exports"],function(){return{xq:38,hq:40,Ua:39,Ha:37,ns:65,HZ:90,rD:87,nD:83,SC:68,mD:81,E:69,swa:27}}); define("kz",["require"],function(){return{IUa:G(),JUa:G(),JR:function(){return this.cf&&this.cf.Csa()||this.j&&!this.j.get("keyboardEnabled")?m:B},Qw:function(){return this.cf&&this.cf.Csa()||this.j&&!this.j.get("mouseEnabled")?m:B},Nja:function(){!this.Qk&&!this.zt&&this.tpa()},Mja:function(){!this.Qk&&!this.zt&&this.spa()},RS:function(){this.aia()||this.tpa()},QS:function(){this.aia()||this.spa()},tpa:function(){this.cf&&this.cf.By();this.j&&this.j.set("userInteracting",m)},spa:function(){this.cf&& this.cf.iba();this.j&&this.j.set("userInteracting",B)}}}); define("nn",["require"],function(){function a(a){this.j=a;this.Uw=m}function b(a,b,c){if(b!==l)if(180=a;)a+=360;aa)a=-180;else{for(;180c&&(a=c)}return a}function e(a,b,c){isNaN(a)&&h("invalid value");b!==l&&ac&&(a=c);return a}a.prototype.oSa=function(){this.Uw=B};a.prototype.qaa=function(a){this.j.set("fov",this.Uw?e(a,this.j.get("minFov",0.1),this.j.get("maxFov",180)):a)};a.prototype.Dl=function(a){this.j.set("yaw", this.Uw?b(a,this.j.get("minYaw"),this.j.get("maxYaw")):a)};a.prototype.hs=function(a){this.j.set("pitch",this.Uw?e(a,this.j.get("minPitch",-90),this.j.get("maxPitch",90)):a)};a.prototype.setX=function(a){this.j.set("x",this.Uw?e(a,this.j.get("minX"),this.j.get("maxX")):a)};a.prototype.setY=function(a){this.j.set("y",this.Uw?e(a,this.j.get("minY"),this.j.get("maxY")):a)};a.prototype.setZ=function(a){this.j.set("z",this.Uw?e(a,this.j.get("minZ"),this.j.get("maxZ")):a)};a.prototype.yC=function(a){this.j.set("distance", this.Uw?e(a,this.j.get("minDistance"),this.j.get("maxDistance")):a)};a.prototype.mi=function(a){this.j.set("easing",a)};return a}); define("dG","require,nW,kn,mS,fm,nn,nA,bD".split(","),function(a){function b(a,b,c){this.k=a;this.j=b;this.Fa=c;this.pa=new i(this.j);this.pa.oSa();this.hB=0;this.Xj=this.qm=l;this.xm=B;this.sU(0);this.B1=this.TQ=this.A1=this.SQ=this.o=l;this.hc(d.M);this.Fa.bind(e.u("state"),this.af,this,m);this.Fa.bind(e.u("movementIndex"),this.QA,this,m)}var e=a("nW"),d=a("kn"),g=a("mS"),c=a("fm"),i=a("nn"),f=a("nA"),j=a("bD");b.prototype.By=function(){if(!this.Fa.get("mandatory")){this.jQ();if(this.Fa.get("restartMovementOnUserInteraction")){if(this.o== d.Q){this.kM();this.hc(d.Db,m)}}else this.o==d.Q&&this.hc(d.M)}};b.prototype.iba=function(){this.o==d.Db&&this.xm&&this.Fa.get("restartMovementOnUserInteraction")&&this.e7()};b.prototype.frame=function(a){if(this.o==d.Q){this.N.vb(a);this.lMa();this.pa.setX(this.N.eb("x"));this.pa.setY(this.N.eb("y"));this.pa.setZ(this.N.eb("z"));this.pa.Dl(this.N.eb("yaw"));this.pa.hs(this.N.eb("pitch"));this.pa.yC(this.N.eb("distance"));this.pa.qaa(this.N.eb("fov"));this.pa.mi(0);a=this.Fa.get("movements")[this.qm]; a.set("position",this.N.rk());a.trigger(e.XC);if(this.N.Se()){a.trigger(e.lb);this.sU((this.qm+1)%this.Fa.get("movements").length,m);if(this.qm==0){this.hB++;this.Fa.trigger(e.rq);if(this.hB==this.Fa.get("repeat")){this.Zla();this.hc(d.M);this.Fa.trigger(e.lb)}}}}};b.prototype.lMa=function(){var a=this.SQ!==l&&this.A1!==l,b=this.TQ!==l&&this.B1!==l;if(a||b){var f=this.k.getComponent(c.xb).Kb;if(f){var d=this.N.getTime(),e=this.N.Ki(),f=f.D(c.TO,m),a=a&&d0||a>0)if(b>a){f.color=this.B1;f.opacity=b}else{f.color=this.A1;f.opacity=a}else{f.color="#000000";f.opacity=0}}}};b.prototype.Zla=function(){var a=this.k.getComponent(c.xb);(a=a&&a.Kb)&&a.fa(c.TO)};b.prototype.dispose=function(){this.jQ();this.Fa.unbind(e.u("state"),this.af,this,m);this.Fa.unbind(e.u("movementIndex"),this.QA,this,m);this.hc(d.M)};b.prototype.af=function(){var a=this.Fa.get("state");this.o!=a&&(a==d.Db&&this.o==d.M?this.Fa.set("state",d.M):this.hc(a))};b.prototype.hc= function(a,b){if(this.o!=a){this.o=a;if(this.o==d.Q){this.jQ();this.xm=B;this.lw();this.hQ()}else if(this.o==d.Db){this.xm=!!b;this.kM()}else if(this.o==d.M){this.xm=B;this.jQ();this.hB=0;var c=this.N.getTime(),f=this.N.Ki();c>0&&c=e?this.bk(y,e-360,e):this.bk(y,e,e+360);break;default:y= this.bk(y,e-180,e+180)}}else if(g.va("DistanceModel3DCameraMovement",a)){w=b+a.get("xDelta",0);v=c+a.get("yDelta",0);x=d+a.get("zDelta",0);y=e+a.get("yawDelta",0);E=i+a.get("pitchDelta",0);F=u+a.get("fovDelta",0);D=s+a.get("distanceDelta",0)}this.N=new f(a.get("easing"),[new j("x",b,w,a.get("xSpeed")),new j("y",c,v,a.get("ySpeed")),new j("z",d,x,a.get("zSpeed")),new j("yaw",e,y,a.get("yawSpeed")),new j("pitch",i,E,a.get("pitchSpeed")),new j("fov",u,F,a.get("fovSpeed")),new j("distance",s,D,a.get("distanceSpeed"))], a.get("duration"));this.SQ=a.get("fadeFromDuration");this.A1=a.get("fadeFromColor");this.TQ=a.get("fadeToDuration");this.B1=a.get("fadeToColor")};b.prototype.hQ=function(){this.Xj=l};b.prototype.kM=function(){if(this.N){this.Xj=l;var a=this.N&&this.N.L9("yaw");if(a)if(a.Ay>a.from)this.Xj="right";else if(a.Ayc;)a=a-(c- b);return a};return b}); define("jJ","require,jY,nW,kn,dG,ch".split(","),function(a){function b(a,b){this.k=a;this.j=b;this.ox=this.ox.bind(this);this.af=this.af.bind(this);this.wh=this.$i=r;this.pr=[];this.ag=r;this.sj=B;this.it=new Map;e.ea(this.j,["initialSequence","idleSequence","sequences.movements"],this.ox,m);e.ea(this.j,["state"],this.af,m);this.sp=B}var e=a("jY"),d=a("nW"),g=a("kn"),c=a("dG"),i=a("ch");b.prototype.Csa=function(){return!!this.ag&&this.ag.get("mandatory")};b.prototype.By=function(){this.sj=m;this.fk(); this.ag&&this.it.get(this.ag).By()};b.prototype.iba=function(){this.sj=B;this.ag&&this.it.get(this.ag).iba();this.wh&&(!this.ag||this.ag==this.wh)&&this.Ap()};b.prototype.Ap=function(){if(!this.sj&&!this.lA&&this.wh&&!this.ag&&this.j.get("timeToIdle"))this.lA=setTimeout(function(){this.lA=r;this.wK()}.bind(this),this.j.get("timeToIdle"))};b.prototype.fk=function(){if(this.lA){clearTimeout(this.lA);this.lA=r}};b.prototype.wK=function(){this.wh&&this.wh.set("state",g.Q)};b.prototype.frame=function(a){if(!this.sp){var b= i.Yn(this.k),c=0;b&&b.traverse(function(a){(a.isMesh||a.isSprite)&&c++});if(c>0){this.sp=m;this.iF()}else return}this.ag&&this.it.get(this.ag).frame(a);(a=this.ag&&this.ag.get("state")==g.Q)&&this.k.P.nb();return a};b.prototype.iF=function(){this.$i?this.$i.set("state",g.Q):this.Ap()};b.prototype.dispose=function(){e.da(this.j,["initialSequence","idleSequence","sequences.movements"],this.ox);e.da(this.j,["state"],this.af);this.fk();this.wh&&this.eE(this.wh);this.$i&&this.eE(this.$i);this.pr.forEach(this.eE.bind(this)); this.pr=r};b.prototype.af=function(){if(this.ag)this.ag.set("state",this.j.get("state"));else if(this.j.get("state")==g.Q){this.Ap();this.lA||this.j.set("state",g.M)}else this.fk()};b.prototype.ox=function(){var a=this.o6(this.j.get("initialSequence"));if(this.$i!=a){this.$i&&this.eE(this.$i);(this.$i=a)&&this.v0(this.$i)}a=this.o6(this.j.get("idleSequence"));if(this.wh!=a){this.wh&&this.eE(this.wh);(this.wh=a)&&this.v0(this.wh)}var b=(this.j.get("sequences")||[]).filter(this.o6.bind(this));this.pr.forEach(function(a){b.indexOf(a)< 0&&this.eE(a)}.bind(this));var c=this.pr;this.pr=b;this.pr.forEach(function(a){c.indexOf(a)<0&&this.v0(a)}.bind(this));!this.ag&&this.wh&&!this.lA&&this.Ap()};b.prototype.o6=function(a){var b=a&&a.get("movements");return!b||b.length==0?r:a};b.prototype.Pka=function(a){var a=a.source,b=a.get("state");if(b==g.Q){this.fk();b=this.ag;this.ag=a;b&&b!=this.ag&&b.set("state",g.M);this.j.set("state",g.Q);this.k.P.nb()}else if(b==g.Db)a==this.ag&&this.j.set("state",g.Db);else if(b==g.M&&a==this.ag){this.j.set("state", g.M);this.ag=r;a!=this.wh&&this.Ap()}};b.prototype.v0=function(a){if(this.it.has(a))this.it.get(a);else{a.set("state",g.M);a.bind(d.u("state"),this.Pka,this,m);var b=new c(this.k,this.j,a);this.it.set(a,b)}};b.prototype.eE=function(a){if(this.it.has(a)){a.set("state",g.M);a.unbind(d.u("state"),this.Pka,this,m);this.it.get(a).dispose();this.it["delete"](a)}};return b}); define("oh",["require"],function(){return{z3:function(a){this.RR=this.RR.bind(this);this.SR=this.SR.bind(this);this.FI=this.Fi=B;this.pd={};for(var b=0;ba.touches.length||(this.zt||(this.zt=m,this.VFa(a.touches),this.Qk||this.RS&&this.RS()),this.Gja&&this.Gja())},Iia:function(a){this.Qw&&this.Qw()||2>a.touches.length||!this.zt||(this.Pia(a.touches),this.Fja&&this.Fja(this.tLa, this.uLa,this.D7),this.z4&&this.z4(this.d3,this.e3,this.xM,this.yM,1,this.D7,this.wJ,this.C7,this.c3,this.B7))},Jia:function(){this.zt&&(this.zt=B,this.DS&&this.DS());this.Qk||this.QS&&this.QS()},VFa:function(a){this.c3=this.e3=this.d3=this.wJ=this.D7=this.yM=this.xM=this.C7=this.B7=l;this.wM=a;this.Pia(a)},Pia:function(a){d(a[0],this.wM[0])+d(a[1],this.wM[1])>d(a[0],this.wM[1])+d(a[1],this.wM[0])&&(a=[a[1],a[0]]);var b=Math.atan2(-(a[1].y-a[0].y),a[1].x-a[0].x)*i,c=d(a[0],a[1]),e=(a[0].x+a[1].x)/ 2,g=(a[0].y+a[1].y)/2;this.D7=this.wJ!==l?c/this.wJ:1;this.B7=b;this.C7=c;this.tLa=this.xM!==l?e-this.xM:0;this.uLa=this.yM!==l?g-this.yM:0;this.xM=e;this.yM=g;this.d3!==l||(this.d3=this.xM);this.e3!==l||(this.e3=this.yM);this.c3!==l||(this.c3=this.B7);this.wJ!==l||(this.wJ=this.C7);this.wM=a},jJ:function(){return this.ge?this.ge.Ra():100},fA:function(){return this.ge?this.ge.zb():100},Bt:function(){return this.ge?Math.max(this.ge.Ra(),this.ge.zb()):100},QF:function(a){if(this.ge!=a&&(this.ge&&(this.ge.unbind(g.Hb, this.Lia,this,m),this.ge.unbind(g.Uc,this.Mia,this,m),this.ge.unbind(g.ic,this.Nia,this,m),this.ge.unbind(g.oa,this.Gia,this,m),this.ge.unbind(g.to,this.Hia,this,m),this.ge.unbind(g.lq,this.Oia,this,m),this.ge.unbind(g.ZY,this.Iia,this,m),this.ge.unbind(g.bD,this.Kia,this,m),this.ge.unbind(g.$C,this.Jia,this,m)),this.ge=a,this.CR.ds(this.ge),this.ge))this.ge.bind(g.Hb,this.Lia,this,m),this.ge.bind(g.Uc,this.Mia,this,m),this.ge.bind(g.ic,this.Nia,this,m),this.ge.bind(g.oa,this.Gia,this,m),this.ge.bind(g.to, this.Hia,this,m),this.ge.bind(g.lq,this.Oia,this,m),this.ge.bind(g.ZY,this.Iia,this,m),this.ge.bind(g.bD,this.Kia,this,m),this.ge.bind(g.$C,this.Jia,this,m)},hK:function(a){a.x=-1+2*a.x/this.jJ();a.y=1-2*a.y/this.fA();return a},aG:function(a){this.vc=a.x;this.wc=a.y;this.fK=a.pageX;this.gK=a.pageY},Dx:function(a){this.CR.push(a)},qL:function(a){this.CR.pop(a)}}}); define("cx",["require","ch"],function(a){var b=a("ch");return{l4:function(a){this.Vd={};this.Vd.Kb=a;this.Vd.zy=r;this.Vd.propertyName=r;this.Vd.matrixWorld=new THREE.Matrix4;this.Vd.gX=B;this.Vd.timeout=r},m4:function(){this.o4(B);this.Vd.timeout&&clearTimeout(this.Vd.timeout)},k4:function(a,b){if(this.Vd.zy!=a||this.Vd.propertyName!=b)this.Vd.zy&&this.Vd.zy.set(this.Vd.propertyName,B),this.Vd.zy=a,this.Vd.propertyName=b,this.Vd.zy&&this.Vd.zy.set(this.Vd.propertyName,this.Vd.gX)},l8:function(){var a= b.cc(this.k),d=!!a&&!a.matrixWorld.equals(this.Vd.matrixWorld);d&&this.Vd.matrixWorld.copy(a.matrixWorld);this.o4(d);this.Vd.timeout&&(clearTimeout(this.Vd.timeout),this.Vd.timeout=r);d&&(this.Vd.timeout=setTimeout(function(){this.Vd.timeout=r;this.o4(B)}.bind(this),100))},o4:function(a){this.Vd.gX!=a&&(this.Vd.gX=a,this.Vd.zy&&this.Vd.zy.set(this.Vd.propertyName,this.Vd.gX))}}}); define("dF","require,kM,nW,bl,ko,ch,fm,kz,nn,jJ,oh,hB,cx,bb".split(","),function(a){function b(a){this.k=a;this.z3(t);this.dK();this.l4(a);this.$F=0.025;this.gj=0.25;this.Gha=1;this.eg=this.Rf=this.dg=this.Wh=this.Vh=0;this.oj=[];this.pa=this.cf=r;this.Dx(q.$y);this.update()}var e=a("kM"),d=a("nW"),g=a("bl");a("ko");var c=a("ch"),i=a("fm"),f=a("kz"),j=a("nn"),n=a("jJ"),k=a("oh"),o=a("hB"),p=a("cx"),q=a("bb");e.MB(b,[f,k,o,p]);b.prototype.update=function(){var a=this.k.getComponent(i.YC);this.hl(a&& a.Cb);this.k4(a&&a.Cb,"moving");var b=F.indexOf(this.k.P)==-1&&a.enabled;this.QF(a&&(b?a.Op:r));this.JJ(!!a&&b&&a.bs);b||this.PA();if(!b||!a.bs)this.Wh=this.Vh=this.dg=this.Rf=this.eg=0};b.prototype.frame=function(a){if(this.Wh||this.Vh||this.dg||this.Rf||this.eg){var b=a/1E3;this.iK(this.dg*a/1E3,this.Rf*b,this.eg*b,this.Wh*b,this.Vh*b)}this.l8()};b.prototype.cF=function(){var a=!(!this.dg&&!this.Rf&&!this.eg);this.Wh=this.Vh=this.eg=this.Rf=this.dg=0;var b=this.pd[g.ns]?1:this.pd[g.SC]?-1:0,c=this.pd[g.rD]? 1:this.pd[g.nD]?-1:0,d=this.pd[g.mD]?1:this.pd[g.E]?-1:0,f=this.pd[g.xq]?1:this.pd[g.hq]?-1:0,e=this.pd[g.Ha]?1:this.pd[g.Ua]?-1:0;if(b||c||d||f||e){var j=this.Fi?0.2:1;if(b)this.dg=-b*j*this.j.get("translationSpeed");if(d)this.Rf=-d*j*this.j.get("translationSpeed");if(c)this.eg=-c*j*this.j.get("translationSpeed");if(e)this.Wh=-e*j*100*this.j.get("rotationSpeed");if(f)this.Vh=f*j*100*this.j.get("rotationSpeed");this.k.P.nb();b=!(!this.dg&&!this.Rf&&!this.eg);!a&&b&&this.oMa()}};b.prototype.PS=function(){this.Qh= m;this.Dx(q.vk)};b.prototype.gF=function(a,b){if(this.Qh){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,b=b*c,c=-(a*c)*360/this.jJ()*this.j.get("rotationSpeed"),d=b*180/this.fA()*this.j.get("rotationSpeed");this.pa.Dl(this.j.get("yaw")+c);this.pa.hs(this.j.get("pitch")+d);this.pa.mi(this.gj);this.k.P.nb()}};b.prototype.PA=function(){this.Qh=B;this.qL(q.vk);this.k.P.nb()};b.prototype.SS=G();b.prototype.z4=G();b.prototype.DS=G();b.prototype.OS=G();b.prototype.hl=function(a){if(this.j!=a){if(this.j){if(this.cf){this.cf.dispose(); this.cf=r}this.pa=r;s.forEach(function(a){this.j.unbind(d.u(a),this.Jm,this,B)}.bind(this));u.forEach(function(a){this.j.unbind(d.u(a),this.ik,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.pa=new j(this.j);this.xJ();s.forEach(function(a){this.j.bind(d.u(a),this.Jm,this,B)}.bind(this));u.forEach(function(a){this.j.bind(d.u(a),this.ik,this,B)}.bind(this));this.Jm();this.ik();this.cf=new n(this.k,this.j);this.j.set("userInteracting",B)}}};b.prototype.xJ=function(){if(this.j){this.j.set("fov", this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Jm=function(){if(this.k&&this.j){var a=this.k.D(i.sa,m);a.Ig=this.j.get("x");a.rg=this.j.get("y");a.If=this.j.get("z");a.Ie=-this.j.get("yaw");a.hf=this.j.get("pitch");a.jf=0;a.pg="YXZ";a.Ee=0;a.je=0;a.Gf=this.j.get("distance");a.tN=this.j.get("easing"); (this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.x8()}};b.prototype.ik=function(){if(this.k&&this.j)this.k.D(i.PerspectiveCamera,m).fov=this.j.get("fov")};b.prototype.iK=function(a,b,c,d,f){var e=this.k.getComponent(i.sa);if(e){v.makeRotationFromEuler(E.set(0,e.Ie*w,0,e.pg));x.set(a,b,c).applyMatrix4(v).multiplyScalar(this.Gha);this.pa.setX(this.j.get("x")+x.x);this.pa.setY(this.j.get("y")+x.y);this.pa.setZ(this.j.get("z")+x.z);this.pa.Dl(this.j.get("yaw")+d);this.pa.hs(this.j.get("pitch")+ f);this.pa.mi(this.gj)}};b.prototype.oMa=function(){var a=this.gR();if(a>0)this.Gha=a};b.prototype.gR=function(){if(this.j){this.im(x);return this.s2(x.x,x.y,x.z)}};b.prototype.s2=function(a,b,c){var d=this.HE(x.set(a,b,c),y.set(0,-1,0));if(d.length>0)return d[0].distance;d=this.HE(x.set(a,b+1E3,c),y.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.HE=function(a,b){D.ray.origin.copy(a);D.ray.direction.copy(b);return D.intersectObjects(this.Fw(),B)};b.prototype.DR=function(a, b){D.setFromCamera(a,b);return D.intersectObjects(this.Fw(),B)};b.prototype.Fw=function(){var a=this.k&&c.Yn(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.im=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(v.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(v.makeRotationFromEuler(E.set(this.j.get("pitch")*w,-this.j.get("yaw")*w,0*w,"YXZ")));a.applyMatrix4(v.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}}; var t=[g.xq,g.hq,g.Ha,g.Ua,g.ns,g.nD,g.SC,g.rD,g.mD,g.E],s=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],u=["minFov","maxFov","fov"],w=Math.PI/180,v=new THREE.Matrix4,x=new THREE.Vector3(0,0,0),y=new THREE.Vector3(0,0,0),E=new THREE.Euler,D=new THREE.Raycaster;b.prototype.dispose=function(){this.hl(r);this.A3();this.eK();this.m4()};b.rc=function(a){a.B(i.xs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(i.xs); b.manager.dispose();b.manager=r;a.fa(i.xs)};b.update=function(a){a.getComponent(i.xs).manager.update()};b.frame=function(a,b,c){a.getComponent(i.xs).manager.frame(b,c)};var F=[];b.lO=function(a){F=[];a.forEach(function(a){F.indexOf(a.P)<0&&F.push(a.P)})};return b}); define("bV","require,kM,nW,bl,ko,ch,fm,kz,nn,jJ,oh,hB,cx,bb,nA,bD".split(","),function(a){function b(a){this.k=a;this.z3(I);this.dK();this.l4(a);this.Fc=v;this.np=this.sh=r;this.$F=0.025;this.gj=0.25;this.Eh=l;this.uB=1;this.eg=this.Rf=this.dg=this.Wh=this.Vh=0;this.oj=[];this.rA=this.sA=this.tA=this.pA=this.oA=this.ww=this.vi=this.ut=this.vt=this.xt=this.wt=this.tt=l;this.a3=1E3;this.qJ=l;this.BE=0;this.pa=this.cf=r;this.Dx(s.$y);this.update()}function e(a,b){var c=b-a;c>180?c=c-360:c<-180&&(c=c+ 360);return c}function d(){return(new Date).getTime()}var g=a("kM"),c=a("nW"),i=a("bl");a("ko");var f=a("ch"),j=a("fm"),n=a("kz"),k=a("nn"),o=a("jJ"),p=a("oh"),q=a("hB"),t=a("cx"),s=a("bb"),u=a("nA"),w=a("bD");g.MB(b,[n,p,q,t]);b.prototype.update=function(){var a=this.k.getComponent(j.ZC);this.hl(a&&a.Cb);this.k4(a&&a.Cb,"moving");var b=Y.indexOf(this.k.P)==-1&&a.enabled;this.QF(a&&(b?a.Op:r));this.JJ(!!a&&b&&a.bs);b||this.PA();if(!b||!a.bs)this.Wh=this.Vh=this.dg=this.Rf=this.eg=0};b.prototype.frame= function(a,b){this.cf&&this.cf.frame(a,b)&&this.wp();if(this.Iq){this.Iq.vb(a);this.pa.setX(this.Iq.eb("x"));this.pa.setY(this.Iq.eb("y"));this.pa.setZ(this.Iq.eb("z"));this.pa.yC(this.Iq.eb("distance"));this.pa.mi(0);if(this.Iq.Se())this.Iq=r}if(this.bg){this.bg=Math.max(0,this.bg-a/this.a3);this.pa.setX(this.j.get("x")+this.rA*this.bg);this.pa.setY(this.j.get("y")+this.sA*this.bg);this.pa.setZ(this.j.get("z")+this.tA*this.bg);this.pa.Dl(this.j.get("yaw")+this.pA*this.bg);this.pa.hs(this.j.get("pitch")+ this.oA*this.bg);this.pa.mi(0);this.k.P.nb();this.bg==0&&this.zL()}if(this.Wh||this.Vh||this.dg||this.Rf||this.eg){var c=a/1E3;this.iK(this.dg*c,this.Rf*c,this.eg*c,this.Wh*c,this.Vh*c)}if(this.Fc==v&&this.gk!==l&&!this.Rf&&this.j.get("keepHeight")&&this.qJ!==l&&Math.abs(this.gk-this.j.get("y"))>O){this.BE=Math.max(this.BE-a,0);var c=this.j.get("y"),d=this.gk-c,f=Math.min(a*this.qJ,Math.abs(d));this.pa.setY(c+f*(d>0?1:-1));this.k.P.nb()}if(this.Fc==v&&this.np&&!this.bg&&!this.Iq){this.Iz();this.k.P.nb()}this.l8()}; b.prototype.cF=function(){this.d8()};b.prototype.d8=function(){var a=this.eg!=0||this.Rf!=0||this.dg!=0;this.Wh=this.Vh=this.eg=this.Rf=this.dg=0;var b=this.pd[i.ns]?1:this.pd[i.SC]?-1:0,c=this.pd[i.rD]?1:this.pd[i.nD]?-1:0,d=this.pd[i.mD]?1:this.pd[i.E]?-1:0,f=this.pd[i.xq]?1:this.pd[i.hq]?-1:0,e=this.pd[i.Ha]?1:this.pd[i.Ua]?-1:0;if(f||e||b||c||d){var j=this.Fi?0.2:1;if(b)this.dg=-b*j*this.j.get("translationSpeed");if(d)this.Rf=-d*j*this.j.get("translationSpeed");if(c)this.eg=-c*j*this.j.get("translationSpeed"); if(e)this.Wh=-e*j*100*this.j.get("rotationSpeed");if(f)this.Vh=f*j*100*this.j.get("rotationSpeed");this.Iz();this.k.P.nb();this.S5();this.rCa();b=this.eg!=0||this.Rf!=0||this.dg!=0;!a&&b&&this.zL()}};b.prototype.PS=function(){this.Qh=m;if(!(this.Fc==MODE_ROTATING_YAW_GESTURE||this.Fc==MODE_ROTATION_PITCH_GESTURE||d()1?1/Math.sqrt(e):1,a=a*e,b=b*e,e=this.MDa();if(this.Fc!=e){this.Fc=e;this.Fc==x?this.vKa(c,f):this.Fc==y?this.Dna():this.Fc==E?this.HKa():this.Fc==MODE_ROTATING_AROUND_CAMERA&&this.FKa()}else this.Fc!=v&&(this.Fc==x?this.iMa(a,b,c,f):this.Fc==y?this.JMa(a,b):this.Fc==E?this.LMa(a,b):this.Fc==MODE_ROTATING_AROUND_CAMERA&&this.IMa(a,b))}};b.prototype.PA=function(){this.qL(s.vk);this.Qh=B;if(this.Fc!=v){this.Fc=v;this.sh=r;this.Bna();this.S5();this.Rha();this.k.P.nb()}};b.prototype.SS= function(a){if(this.Fc!=D){this.Fc=D;this.CKa()}else this.vMa(a);this.f4&&clearTimeout(this.f4);this.f4=setTimeout(function(){this.f4=r;if(this.Fc==D){this.Fc=v;this.wp()}}.bind(this),1E3)};b.prototype.z4=function(a,b,c,d,f,j,g,i,n,k){if(this.Fc!=MODE_ROTATING_YAW_GESTURE&&this.Fc!=MODE_ROTATION_PITCH_GESTURE){a=Math.abs(j-f)>0.05;c=e(n,k)>5;b=Math.abs(d-b)>0.02*this.fA();n=Math.min(Math.abs(n),180-Math.abs(n),Math.abs(k),180-Math.abs(k))<10;g=g/this.Bt()<0.2;if((a||b)&&(n||g)){this.Fc=MODE_ROTATION_PITCH_GESTURE; this.GKa()}else if((c||a)&&(!n||!g)){this.Fc=MODE_ROTATING_YAW_GESTURE;this.IKa()}}else this.Fc==MODE_ROTATING_YAW_GESTURE?this.MMa(f,j,n,k):this.Fc==MODE_ROTATION_PITCH_GESTURE&&this.KMa(b,d,f,j)};b.prototype.DS=function(){this.sh=r;this.Fc==MODE_ROTATING_YAW_GESTURE&&this.Bna();this.Fc=v;this.Dga=d();this.S5();this.Rha();this.k.P.nb()};b.prototype.OS=function(a,b){if(this.j.get("doubleClickAction")=="zoom"){var c=f.Yn(this.k),d=f.cc(this.k);if(d&&c){P.set(a,b);this.hK(P);c=this.DR(P,d);if(c.length!= 0){this.wp();this.Iz();c=c[0].point;F.setFromMatrixPosition(d.matrixWorld);this.Iq=new u("quad_in_out",[new w("x",F.x,(c.x+F.x)*0.5),new w("y",F.y,(c.y+F.y)*0.5),new w("z",F.z,(c.z+F.z)*0.5),new w("distance",0,0)],500)}}}};b.prototype.MDa=function(){return this.pS?this.Fi?y:x:this.Qk?this.Fi?MODE_ROTATING_AROUND_CAMERA:E:v};b.prototype.vKa=function(a,b){this.GF();this.Iz();this.Rya(a,b);this.j.get("keepHeight")&&this.UU();this.k.P.nb()};b.prototype.iMa=function(a,b,c,d){var e=f.cc(this.k);F.setFromMatrixPosition(e.matrixWorld); if(this.sh){L.set(c,d,0);this.hK(L);L.unproject(e);if(Math.atan2(this.sh.y-F.y,Math.sqrt((this.sh.z-F.z)*(this.sh.z-F.z)+(this.sh.x-F.x)*(this.sh.x-F.x)))*M>-2){z.copy(this.sh).applyMatrix4(e.matrixWorldInverse);K.copy(L).applyMatrix4(e.matrixWorldInverse);a=z.z/K.z;J.copy(K).multiplyScalar(a).applyMatrix4(e.matrixWorld).sub(this.sh);J.y!=0&&this.wp()}else{a=(this.sh.y-F.y)/(L.y-F.y);J.copy(L).sub(F).multiplyScalar(a).add(F).sub(this.sh)}J.multiplyScalar(-1)}else{U.makeRotationFromEuler(W.set(0,-this.j.get("yaw")* C,0,"YXZ"));Q.set(-a*this.j.get("translationSpeed")/this.Bt(),0,-b*this.j.get("translationSpeed")/this.Bt()).applyMatrix4(U);J.copy(Q).multiplyScalar(this.uB*10)}this.pa.setX(F.x+J.x);this.pa.setY(F.y+J.y);this.pa.setZ(F.z+J.z);this.jG(J.x,J.y,J.z,0,0);this.pa.mi(this.gj)};b.prototype.Dna=function(){this.GF();this.sh=r;this.u_();this.wp();this.k.P.nb()};b.prototype.JMa=function(a,b){var c;c||(c=1);var d=a*360/this.jJ()*this.j.get("rotationSpeed"),f=-b*180/this.fA()*this.j.get("rotationSpeed");this.pa.Dl(this.j.get("yaw")+ d);this.pa.hs(this.j.get("pitch")+f);this.pa.yC(this.j5/c);this.jG(0,0,0,d,f);this.pa.mi(this.gj);this.k.P.nb()};b.prototype.HKa=function(){this.Dna()};b.prototype.LMa=function(a,b){var c=f.cc(this.k),d=this.j.get("distance")||this.Eh||1,c=b*d*2*Math.tan(c.fov*C/2)/this.fA();c!=0&&this.wp();this.pa.setY(this.j.get("y")+c);d=a*360/this.jJ()*this.j.get("rotationSpeed");this.pa.Dl(this.j.get("yaw")+d);this.jG(0,c,0,d,0);this.pa.mi(this.gj)};b.prototype.FKa=function(){this.GF();this.Iz();this.wp();this.k.P.nb()}; b.prototype.IMa=function(a,b){var c=-a*360/this.jJ()*this.j.get("rotationSpeed"),d=b*180/this.fA()*this.j.get("rotationSpeed");this.pa.Dl(this.j.get("yaw")+c);this.pa.hs(this.j.get("pitch")+d);this.jG(0,0,0,c,d);this.pa.mi(this.gj);this.k.P.nb()};b.prototype.CKa=function(){this.wp();this.GF();this.sh=r;this.Iz();this.j.get("keepHeight")&&this.UU();this.k.P.nb()};b.prototype.vMa=function(a){this.yJa(Q);Q.multiplyScalar(-a*this.j.get("translationSpeed")*(this.uB||1));this.Eh&&this.kea(this.Eh+Q.y); this.pa.setX(this.j.get("x")+Q.x);this.pa.setY(this.j.get("y")+Q.y);this.pa.setZ(this.j.get("z")+Q.z);this.pa.mi(this.$F)};b.prototype.IKa=function(){this.GF();this.sh=r;this.u_();this.wp();this.k.P.nb();this.hr=l};b.prototype.MMa=function(a,b,c,d){this.hr!==l||(this.hr=c);c=e(this.hr,d);this.hr=d;this.pa.Dl(this.j.get("yaw")+c);this.pa.yC(this.j5*a/b);this.jG(0,0,0,c,0);this.pa.mi(this.gj);this.k.P.nb()};b.prototype.GKa=function(){this.GF();this.sh=r;this.u_();this.wp();this.k.P.nb();this.MT=l}; b.prototype.KMa=function(a,b,c,d){this.MT!==l||(this.MT=a);a=-(b-this.MT)*180/this.fA();this.MT=b;this.pa.hs(this.j.get("pitch")+a);this.pa.yC(this.j5*c/d);this.jG(0,0,0,0,a);this.pa.mi(this.gj);this.k.P.nb()};b.prototype.Rya=function(a,b){var c=f.Yn(this.k),d=f.cc(this.k);this.sh=r;if(d&&c){P.set(a,b);this.hK(P);c=this.DR(P,d);if(c.length)this.sh=c[0].point}};b.prototype.u_=function(){this.np=r;var a=f.Yn(this.k),b=f.cc(this.k);if(b&&a){P.set(0,0);a=this.DR(P,b);if(a.length)this.np=a[0].point;if(!this.np)this.np= (new THREE.Vector3).setFromMatrixPosition(b.matrixWorld);this.j.set("distance",F.setFromMatrixPosition(b.matrixWorld).distanceTo(this.np));this.j5=this.j.get("distance");this.j.set("x",this.np.x);this.j.set("y",this.np.y);this.j.set("z",this.np.z);this.j.set("easing",0)}};b.prototype.Iz=function(){if(this.np){this.np=r;var a=f.cc(this.k);F.setFromMatrixPosition(a.matrixWorld);this.j.set("distance",0);this.j.set("x",F.x);this.j.set("y",F.y);this.j.set("z",F.z);this.j.set("easing",0)}};var v="none", x="dragging",y="rotating",E="rotating yaw dragging y",D="moving front";MODE_ROTATING_AROUND_CAMERA="rotating around camera";MODE_ROTATING_YAW_GESTURE="rotating yaw gesture";MODE_ROTATION_PITCH_GESTURE="rotating pitch gesture";var F=new THREE.Vector3,L=new THREE.Vector3,J=new THREE.Vector3,z=new THREE.Vector3,K=new THREE.Vector3;b.prototype.hl=function(a){if(this.j!=a){if(this.j){if(this.cf){this.cf.dispose();this.cf=r}this.pa=r;A.forEach(function(a){this.j.unbind(c.u(a),this.Voa,this,B)}.bind(this)); N.forEach(function(a){this.j.unbind(c.u(a),this.Jm,this,B)}.bind(this));H.forEach(function(a){this.j.unbind(c.u(a),this.ik,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.pa=new k(this.j);this.xJ();A.forEach(function(a){this.j.bind(c.u(a),this.Voa,this,B)}.bind(this));N.forEach(function(a){this.j.bind(c.u(a),this.Jm,this,B)}.bind(this));H.forEach(function(a){this.j.bind(c.u(a),this.ik,this,B)}.bind(this));this.Jm();this.ik();this.cf=new o(this.k,this.j);this.j.set("userInteracting", B)}}};b.prototype.xJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"))}};b.prototype.Jm=function(){if(this.k&&this.j){var a=this.k.D(j.sa,m);a.Ig=this.j.get("x");var b=this.j.get("y")-a.rg;if(Math.abs(b)>O){a.rg=this.j.get("y");this.Fc==v&&!this.dg&&!this.Rf&&!this.eg&&!this.Wh&& !this.Vh&&!this.Iq&&!this.bg&&this.wp()}a.If=this.j.get("z");a.Ie=-this.j.get("yaw");a.hf=this.j.get("pitch");a.jf=0;a.pg="YXZ";a.Ee=0;a.je=0;a.Gf=this.j.get("distance");a.tN=this.j.get("easing");(this.j.get("minHeight")!==l||this.j.get("keepHeight"))&&this.x8()}};b.prototype.ik=function(){if(this.k&&this.j)this.k.D(j.PerspectiveCamera,m).fov=this.j.get("fov")};b.prototype.iK=function(a,b,c,d,f){var e=this.k.getComponent(j.sa);if(e){U.makeRotationFromEuler(W.set(0,e.Ie*C,0,e.pg));Q.set(a,b,c).applyMatrix4(U).multiplyScalar(this.uB); if(this.Eh!==l){this.Eh=this.Eh+Q.y;this.zL()}this.pa.setX(this.j.get("x")+Q.x);this.pa.setY(this.j.get("y")+Q.y);this.pa.setZ(this.j.get("z")+Q.z);this.pa.Dl(this.j.get("yaw")+d);this.pa.hs(this.j.get("pitch")+f);this.pa.mi(this.gj)}};b.prototype.yJa=function(a){var b=this.k.getComponent(j.sa);if(b){U.makeRotationFromEuler(W.set(b.hf*C,b.Ie*C,b.jf*C,b.pg));a.set(0,0,1).applyMatrix4(U)}};b.prototype.GF=function(){this.ww=d();this.vi=1;this.ut=this.vt=this.xt=this.wt=this.tt=0;this.bg=this.rA=this.sA= this.tA=this.pA=this.oA=l};b.prototype.jG=function(a,b,c,f,e){var j=d();this.vi=j-this.ww;this.ww=j;this.ut=a;this.vt=b;this.xt=c;this.wt=f;this.tt=e};b.prototype.Bna=function(){if(this.vi){this.rA=this.ut/this.vi;this.sA=this.vt/this.vi;this.tA=this.xt/this.vi;this.pA=this.wt/this.vi;this.oA=this.tt/this.vi;this.bg=1}};b.prototype.Voa=function(){if(this.j.get("minHeight")!==l){this.Eh===l&&this.UU();if(this.Eh!==l&&this.Eh0)return d[0].distance;d=this.HE(Q.set(a,b+1E3,c),V.set(0,-1,0));if(d.length>0)return d[d.length-1].distance-1E3};b.prototype.HE=function(a,b){X.ray.origin.copy(a);X.ray.direction.copy(b);return X.intersectObjects(this.Fw(),B)};b.prototype.DR=function(a,b){X.setFromCamera(a,b);return X.intersectObjects(this.Fw(), B)};b.prototype.Fw=function(){var a=this.k&&f.Yn(this.k);if(!a)return[];var b=[];a.traverse(function(a){!a.isSprite&&!a.isLine&&b.push(a)});return b};b.prototype.im=function(a){a.set(0,0,0);if(this.j){a.applyMatrix4(U.makeTranslation(0,0,this.j.get("distance")));a.applyMatrix4(U.makeRotationFromEuler(W.set(this.j.get("pitch")*C,-this.j.get("yaw")*C,0*C,"YXZ")));a.applyMatrix4(U.makeTranslation(this.j.get("x"),this.j.get("y"),this.j.get("z")))}};b.prototype.uDa=function(a){if(this.j){U.makeRotationFromEuler(W.set(this.j.get("pitch")* C,-this.j.get("yaw")*C,0,"YXZ"));a.set(0,0,-1).applyMatrix4(U)}else a.set(0,0,-1)};var I=[i.xq,i.hq,i.Ha,i.Ua,i.ns,i.nD,i.SC,i.rD,i.mD,i.E],A=["minHeight"],N=["minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minX","maxX","x","minY","maxY","y","minZ","maxZ","z","distance","easingSpeed"],H=["minFov","maxFov","fov"],C=Math.PI/180,M=180/Math.PI,O=1.0E-6,U=new THREE.Matrix4,Q=new THREE.Vector3(0,0,0),V=new THREE.Vector3(0,0,0),P=new THREE.Vector2(0,0),W=new THREE.Euler,X=new THREE.Raycaster;b.prototype.dispose= function(){this.Iz();this.hl(r);this.A3();this.eK();this.m4()};b.rc=function(a){a.B(j.zs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(j.zs);b.manager.dispose();b.manager=r;a.fa(j.zs)};b.update=function(a){a.getComponent(j.zs).manager.update()};b.frame=function(a,b,c){a.getComponent(j.zs).manager.frame(b,c)};var Y=[];b.lO=function(a){Y=[];a.forEach(function(a){Y.indexOf(a.P)<0&&Y.push(a.P)})};return b}); define("hs","require,kM,nW,bl,fm,kz,nn,jJ,oh,hB,cx,bb".split(","),function(a){function b(a){this.k=a;this.z3(w);this.dK();this.l4(a);this.dk=new THREE.Matrix4;this.$F=0.05;this.gj=0.25;this.dg=this.Rf=this.eg=this.Wh=this.Vh=0;this.rA=this.sA=this.tA=this.pA=this.oA=this.ww=this.vi=this.ut=this.vt=this.xt=this.wt=this.tt=l;this.a3=1E3;this.pma=720;this.koa=4;this.mia=720;this.B3=2;this.pa=this.cf=r;this.Dx(p.$y);this.update()}var e=a("kM"),d=a("nW"),g=a("bl"),c=a("fm"),i=a("kz"),f=a("nn"),j=a("jJ"), n=a("oh"),k=a("hB"),o=a("cx"),p=a("bb");e.MB(b,[i,n,k,o]);b.prototype.update=function(){var a=this.k.getComponent(c.kD);this.hl(a&&a.Cb);this.k4(a&&a.Cb,"moving");var b=y.indexOf(this.k.P)==-1&&a.enabled;this.QF(a&&(b?a.Op:r));this.JJ(!!a&&b&&a.bs);b||this.PA();if(!b||!a.bs)this.Wh=this.Vh=this.dg=this.Rf=this.eg=0};b.prototype.frame=function(a,b){this.cf&&this.cf.frame(a,b);if(this.bg){this.bg=Math.max(0,this.bg-a/this.a3);this.pa.setX(this.j.get("x")+this.rA*this.bg);this.pa.setY(this.j.get("y")+ this.sA*this.bg);this.pa.setZ(this.j.get("z")+this.tA*this.bg);this.pa.Dl(this.j.get("yaw")+this.pA*this.bg);this.pa.hs(this.j.get("pitch")+this.oA*this.bg);this.k.P.nb()}if(this.Wh||this.Vh||this.dg||this.Rf||this.eg){var c=a/1E3;this.iK(this.dg*c,this.Rf*c,this.eg*c,this.Wh*c,this.Vh*c)}this.l8()};b.prototype.cF=function(){this.d8()};b.prototype.d8=function(){this.Wh=this.Vh=this.eg=this.Rf=this.dg=0;var a=this.pd[g.ns]?1:this.pd[g.SC]?-1:0,b=this.pd[g.rD]?1:this.pd[g.nD]?-1:0,c=this.pd[g.mD]?1: this.pd[g.E]?-1:0,d=this.pd[g.xq]?1:this.pd[g.hq]?-1:0,f=this.pd[g.Ha]?1:this.pd[g.Ua]?-1:0;if(a||b||c||d||f){var e=this.Fi?0.2:1;if(a)this.dg=-a*e*this.B3*this.j.get("translationSpeed");if(c)this.Rf=-c*e*this.B3*this.j.get("translationSpeed");if(b)this.eg=-b*e*this.B3*this.j.get("translationSpeed");if(f)this.Wh=f*e*this.mia*this.j.get("rotationSpeed");if(d)this.Vh=-d*e*this.mia*this.j.get("rotationSpeed");this.k.P.nb()}};b.prototype.PS=function(){this.Dx(p.vk);this.Qh=m;this.ww=(new Date).getTime(); this.vi=1;this.ut=this.vt=this.xt=this.wt=this.tt=0;this.bg=this.rA=this.sA=this.tA=this.pA=this.oA=l;this.k.P.nb()};b.prototype.gF=function(a,b){if(this.Qh){var c=(a*a+b*b)/2500,c=c>1?1/Math.sqrt(c):1,a=a*c,b=b*c,c=(new Date).getTime();this.vi=c-this.ww;this.ww=c;this.ut=this.vt=this.xt=this.wt=this.tt=0;c=this.pS;this.Fi&&(c=!c);if(c){this.wt=+a*this.j.get("rotationSpeed")*this.pma/this.Bt();this.tt=-b*this.j.get("rotationSpeed")*this.pma/this.Bt();this.oma(this.wt,this.tt)}else{this.Wga(a*this.koa/ this.Bt(),b*this.koa/this.Bt(),t);this.ut=t.x;this.vt=t.y;this.xt=t.z;this.G7(this.ut,this.vt,this.xt)}this.pa.mi(this.gj)}};b.prototype.Wga=function(a,b,d){var f=this.k.getComponent(c.sa);d.set(-a*this.j.get("translationSpeed"),+b*this.j.get("translationSpeed"),0*this.j.get("translationSpeed"));d.applyMatrix4(u.makeRotationFromEuler(s.set(f.hf*q,f.Ie*q,f.jf*q,f.pg)));d.multiplyScalar(this.j.get("distance"))};b.prototype.PA=function(){this.qL(p.vk);if(this.Qh){this.Qh=B;if(this.vi){this.rA=this.ut/ this.vi;this.sA=this.vt/this.vi;this.tA=this.xt/this.vi;this.pA=this.wt/this.vi;this.oA=this.tt/this.vi;this.bg=1;this.pa.mi(this.gj)}this.ww=l}};b.prototype.SS=function(a){this.pa.yC(this.j.get("distance")-a*this.j.get("distance")*this.j.get("translationSpeed"));this.pa.mi(this.$F)};b.prototype.Gja=function(){this.Sha=this.j.get("distance");this.Qh=B};b.prototype.Fja=function(a,b,c){this.Wga(a/this.Bt(),b/this.Bt(),t);this.G7(t.x,t.y,t.z);this.pa.yC(this.Sha/c);this.pa.mi(this.gj)};b.prototype.DS= function(){this.Sha=this.j.get("distance")};b.prototype.iK=function(a,b,d,f,e){var j=this.k.getComponent(c.sa);if(j){u.makeRotationFromEuler(s.set(0,j.Ie*q,0,j.pg));t.set(a,b,d).applyMatrix4(u).multiplyScalar(this.j.get("distance"));this.G7(t.x,t.y,t.z);this.oma(f,e);this.pa.mi(this.gj)}};b.prototype.G7=function(a,b,c){this.pa.setX(this.j.get("x")+a);this.pa.setY(this.j.get("y")+b);this.pa.setZ(this.j.get("z")+c)};b.prototype.oma=function(a,b){this.pa.Dl(this.j.get("yaw")+a);this.pa.hs(this.j.get("pitch")+ b)};b.prototype.hl=function(a){if(this.j!=a){if(this.j){if(this.cf){this.cf.dispose();this.cf=r}this.pa=r;v.forEach(function(a){this.j.unbind(d.u(a),this.Jm,this,B)}.bind(this));x.forEach(function(a){this.j.unbind(d.u(a),this.ik,this,B)}.bind(this));this.j.set("userInteracting",B)}if(this.j=a){this.j.set("userInteracting",B);this.pa=new f(this.j);this.xJ();v.forEach(function(a){this.j.bind(d.u(a),this.Jm,this,B)}.bind(this));x.forEach(function(a){this.j.bind(d.u(a),this.ik,this,B)}.bind(this));this.Jm(); this.ik();this.cf=new j(this.k,this.j)}}};b.prototype.xJ=function(){if(this.j){this.j.set("fov",this.j.get("initialFov"));this.j.set("x",this.j.get("initialX"));this.j.set("y",this.j.get("initialY"));this.j.set("z",this.j.get("initialZ"));this.j.set("yaw",this.j.get("initialYaw"));this.j.set("pitch",this.j.get("initialPitch"));this.j.set("distance",this.j.get("initialDistance"));this.j.set("easing",this.gj)}};b.prototype.Jm=function(){if(this.k&&this.j){var a=this.k.D(c.sa,m);a.Ig=this.j.get("x"); a.rg=this.j.get("y");a.If=this.j.get("z");a.Ie=-this.j.get("yaw");a.hf=this.j.get("pitch");a.jf=0;a.pg="YXZ";a.Ee=0;a.je=0;a.Gf=this.j.get("distance");a.tN=this.j.get("easing")}};b.prototype.ik=function(){if(this.k&&this.j)this.k.D(c.PerspectiveCamera,m).fov=this.j.get("fov")};var q=Math.PI/180,t=new THREE.Vector3(0,1,0),s=new THREE.Euler,u=new THREE.Matrix4,w=[g.xq,g.hq,g.Ha,g.Ua,g.ns,g.nD,g.SC,g.rD,g.mD,g.E],v=["easing","minYaw","maxYaw","yaw","minPitch","maxPitch","pitch","minDistance","maxDistance", "distance","minX","maxX","x","minY","maxY","y","minZ","maxZ","z"],x=["minFov","maxFov","fov"];b.prototype.dispose=function(){this.hl(r);this.A3();this.eK();this.m4()};b.rc=function(a){a.B(c.Hs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.Hs);b.manager.dispose();b.manager=r;a.fa(c.Hs)};b.update=function(a){a.getComponent(c.Hs).manager.update()};b.frame=function(a,b,d){a.getComponent(c.Hs).manager.frame(b,d)};var y=[];b.lO=function(a){y=[];a.forEach(function(a){y.indexOf(a.P)<0&&y.push(a.P)})}; return b}); define("gF","require,kM,kW,fm,dF,bV,hs".split(","),function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("dF"),c=a("bV"),i=a("hs"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.Vqa.entities.length&&this.Vqa.entities.slice().forEach(c.rc);this.wN.Oa.length&&this.wN.Oa.slice().forEach(c.update);this.wN.entities.length&&this.wN.entities.slice().forEach(function(d){c.frame(d,a,b)});this.Wqa.entities.length&&this.Wqa.entities.slice().forEach(c.Gb);this.Qqa.entities.length&&this.Qqa.entities.slice().forEach(g.rc); this.vN.Oa.length&&this.vN.Oa.slice().forEach(g.update);this.vN.entities.length&&this.vN.entities.slice().forEach(function(c){g.frame(c,a,b)});this.Rqa.entities.length&&this.Rqa.entities.slice().forEach(g.Gb);this.Ata.entities.length&&this.Ata.entities.slice().forEach(i.rc);this.YN.Oa.length&&this.YN.Oa.slice().forEach(i.update);this.YN.entities.length&&this.YN.entities.slice().forEach(function(c){i.frame(c,a,b)});this.Bta.entities.length&&this.Bta.entities.slice().forEach(i.Gb);if(this.sN.Yf.length|| this.sN.Pm.length){g.lO(this.sN.entities);this.vN.entities.slice().forEach(g.update);c.lO(this.sN.entities);this.wN.entities.slice().forEach(c.update);i.lO(this.sN.entities);this.YN.entities.slice().forEach(i.update)}};a.A={};a.A.sN=[d.Av];a.A.Qqa=[d.YC,d.xs.not];a.A.vN=[d.YC,d.xs];a.A.Rqa=[d.YC.not,d.xs];a.A.Vqa=[d.ZC,d.zs.not];a.A.wN=[d.ZC,d.zs];a.A.Wqa=[d.ZC.not,d.zs];a.A.Ata=[d.kD,d.Hs.not];a.A.YN=[d.kD,d.Hs];a.A.Bta=[d.kD.not,d.Hs];return a}); define("ip",["require","fm"],function(a){function b(a){this.k=a;this.zna=this.aa=r;this.ia=this.X=l;this.update()}var e=a("fm");b.prototype.update=function(){var a=this.k.getComponent(e.Pi),b=a.source&&a.source.width||0,c=a.source&&a.source.height||0;if(this.aa&&(!!this.aa.GVa!=a.isSprite||this.X!=b||this.ia!=c))this.aa.map.dispose(),this.aa.dispose(),this.aa=r;this.X=b;this.ia=c;this.aa||(a.isSprite?(this.aa=new THREE.SpriteMaterial,this.aa.sizeAttenuation=B):this.aa=new THREE.MeshBasicMaterial, this.aa.map=new THREE.Texture,this.aa.transparent=m,this.k.B(e.Material).material=this.aa);this.aa.map.image!=a.source&&(this.aa.map.image=a.source,this.aa.map.needsUpdate=m);this.zna!=a.KX&&(this.zna=a.KX,this.aa.map.needsUpdate=m);this.aa.opacity=a.opacity||0;this.aa.depthTest=!!a.depthTest;this.aa.visible=00);if(b!=0)if((b=c.cc(this.cl))&&b.isCamera){i.setFromMatrixPosition(b.matrixWorld);f.set(this.vc,this.wc,0);this.hK(f);f.unproject(b);f.sub(i);for(b=0;b=0&&b.splice(c,1);v["delete"](a);a.fa(g.zv);a.fa(g.Av)};return b}); define("kt",["require","kM","kW","fm","dT"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("dT"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.dO.entities.length&&this.dO.entities.slice().forEach(g.Paa);this.cv.Oa.length&&this.cv.Oa.slice().forEach(g.hba);this.cv.entities.length&&this.cv.entities.slice().forEach(g.frame);this.eO.entities.length&&this.eO.entities.slice().forEach(g.Zaa);this.Gqa.entities.length&&this.Gqa.entities.slice().forEach(g.$Sa);this.Fqa.entities.length&& this.Fqa.entities.slice().forEach(g.Qva);this.Iqa.entities.length&&this.Iqa.entities.slice().forEach(g.uva);this.Jqa.entities.length&&this.Jqa.entities.slice().forEach(g.uva)};a.A={};a.A.dO=[d.wo,d.Ks.not];a.A.cv=[d.wo,d.Ks];a.A.eO=[d.wo.not,d.Ks];a.A.Gqa=[d.Object3D,d.io,d.zv.not];a.A.Fqa=[d.Object3D,d.io,d.zv];a.A.Iqa=[d.Object3D.not,d.zv];a.A.Jqa=[d.io.not,d.zv];return a}); define("kk",["require","fm","ch"],function(a){function b(a){this.k=a;this.x5=B}var e=a("fm"),d=a("ch");b.prototype.update=function(){this.x5=B};b.prototype.frame=function(){this.qf()};b.prototype.qf=function(){if(!this.x5&&(this.wa=this.wa||d.Yn(this.k))){var a=d.cc(this.k),b=a&&a.parent;if(b&&b.matrixWorld){var t=[];this.wa.traverse(function(b){!b.isSprite&&!b.isLine&&b!=a&&t.push(b)});var s=this.k.D(e.ys);k.set(s.x,s.y,s.z).applyMatrix4(b.matrixWorld);n.ray.origin.set(k.x,k.y,k.z);n.ray.direction.set(0, -1,0);var u=n.intersectObjects(t,B);if(0!=u.length){var w=u[0];i.copy(b.matrixWorld).invert();u=this.k.D(e.sa,m);f.setFromMatrixPosition(b.matrixWorld);g.copy(w.object.matrixWorld);j.setFromMatrixPosition(g);c.copy(g).invert();!s.MN&&w.face&&w.face.normal?to.copy(w.face.normal).applyMatrix4(g).sub(j).add(f):to.copy(f).add(up);to.applyMatrix4(i).normalize();quaternion.setFromUnitVectors(from,to);euler.setFromQuaternion(quaternion,u.pg);u.hf=euler.x*TO_DEG;u.Ie=euler.y*TO_DEG;u.jf=euler.z*TO_DEG;k.copy(w.point).applyMatrix4(i); u.Ig=k.x;u.rg=k.y;u.If=k.z;o.setFromMatrixScale(i);b=Math.max(o.x,o.y,o.z);u.Ee=0;u.je=0;u.Gf=b*s.distance;this.x5=m}}}};b.prototype.dispose=G();var g=new THREE.Matrix4,c=new THREE.Matrix4,i=new THREE.Matrix4,f=new THREE.Vector3,j=new THREE.Vector3,n=new THREE.Raycaster,k=new THREE.Vector3,o=new THREE.Vector3;new THREE.Matrix4;matrix4b=new THREE.Matrix4;from=new THREE.Vector3(0,0,1);to=new THREE.Vector3;up=new THREE.Vector3(0,1,0);euler=new THREE.Euler;quaternion=new THREE.Quaternion;TO_RAD=Math.PI/ 180;TO_DEG=180/Math.PI;b.rc=function(a){a.B(e.jq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.jq);b.manager.dispose();b.manager=r;a.fa(e.jq)};b.frame=function(a){a.getComponent(e.jq).manager.frame()};b.update=function(a){a.getComponent(e.jq).manager.update()};return b}); define("ho",["require","kM","kW","fm","kk"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("kk"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Sqa.entities.length&&this.Sqa.entities.slice().forEach(g.rc);this.hW.Oa.length&&this.hW.entities.slice().forEach(g.update);this.hW.entities.length&&this.hW.entities.slice().forEach(g.frame);this.Tqa.entities.length&&this.Tqa.entities.slice().forEach(g.Gb);this.Uqa.entities.length&&this.Uqa.entities.slice().forEach(g.Gb)}; a.A={};a.A.Sqa=[d.Object3D,d.ys,d.jq.not];a.A.hW=[d.Object3D,d.ys,d.jq];a.A.Tqa=[d.Object3D.not,d.jq];a.A.Uqa=[d.ys.not,d.jq];return a});define("fS",["require","fm"],function(a){var b=a("fm");return{rc:function(a){var d=a.B(b.cD),g=a.B(b.Object3D);a.B(b.sa);a=a.D(b.Group);g.Rc=d.group=a.group=new THREE.Group},Gb:function(a){a.getComponent(b.cD).group=r;a.fa(b.cD);a.fa(b.Object3D)}}}); define("kR",["require","kM","kW","fm","fS"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("fS"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Lra.entities.length&&this.Lra.entities.slice().forEach(g.rc);this.Mra.entities.length&&this.Mra.entities.slice().forEach(g.Gb)};a.A={};a.A.Lra=[d.Group,d.cD.not];a.A.Mra=[d.Group.not,d.cD];return a}); define("be","require,kM,nW,kn,cu,fQ,bf".split(","),function(a){function b(a,b,c,d){this.i$=a;this.src=a.src;this.uX=b;this.nN=c;this.kW=d;this.WB=this.i$.width/this.nN;this.VB=this.i$.height/this.uX}var e=a("kM"),d=a("nW"),g=a("kn");a("cu");var c=a("fQ"),i=a("bf"),a=e.extend(c,function(a,e,j,i,n,s,u){c.call(this);this.hm=n;this.Qg=new b(a,e,j,n);this.ema=s;this.raa(i);this.C1=u;this.I=document.createElement("canvas");this.I.width=this.Qg.WB;this.I.height=this.Qg.VB;this.ha=this.I.getContext("2d"); this.ha.globalCompositeOperation="copy";this.o=g.M;this.WT=this.$l=0;this.y0=l;this.uh=f.Ni(this.Qg);this.uh.bind(d.ra,this.Xi,this,m);this.Xi()});a.prototype.raa=function(a){if(this.pe!==a){var b=this.vM;this.pe=a;this.vM=this.pe*this.Qg.kW;this.D1=this.vM-this.pe*0.1;if(b!==l)this.$l=this.$l/b*this.vM}};a.prototype.Cua=function(a){if(this.C1!==a){this.C1=a;this.Xi()}};a.prototype.wd=function(a){if(this.o!=a){if(a==g.Db){if(this.o!=g.Q)return}else if(a==g.Q){if(this.o==g.M){this.$l=this.WT=0;this.Xi()}}else if(a== g.M&&(this.$l!=0||this.WT==0)){this.$l=this.D1;this.Xi()}this.o=a;i.wb(this.ij,this);this.trigger(d.Yd)}};a.prototype.mg=S("o");a.prototype.ij=function(a){if(this.o==g.Q){this.$l=Math.min(this.$l+a,this.uh.uh.length*this.pe);if(this.$l>=this.vM){this.WT++;if(this.ema&&this.WT==this.ema){this.wd(g.M);this.$l=this.D1;this.trigger(d.lb)}else{this.$l=this.$l%this.vM;this.trigger(d.rq)}}this.Xi();this.o==g.Q&&i.wb(this.ij,this)}};a.prototype.clear=function(){this.wd(g.M);this.I.width=this.I.height=0;this.I= r;f.cRa(this.Qg);this.Qg=r};a.prototype.kg=S("I");a.prototype.Xi=function(){var a=this.C1&&this.$l>=this.D1?0:Math.floor(this.$l/this.pe);if(this.y0!=a&&a0?b[0]:this.cj[0]; b.qOa();if(b.uh.length==b.Qg.kW){this.cj.splice(this.cj.indexOf(b),1);if(this.cj.length==0)return}}this.wma()}}};return a}); define("nR",["require","nW","kn"],function(a){function b(a,b){this.ld=a;this.ac=b;this.cb=B;this.$Z();this.c_();this.OA()}var e=a("nW"),d=a("kn");b.prototype.clear=function(){this.T5();this.Z5();this.ld.set("state",d.M);this.ac=this.ld=r};b.prototype.Hf=function(a){this.cb!=a&&(this.cb=a,this.Ar())};b.prototype.OA=function(){this.ac.wd(this.ld.get("state"))};b.prototype.AK=function(){this.Ar()};b.prototype.CK=function(){this.ac.raa(this.ld.get("frameDuration"))};b.prototype.BK=function(){this.ac.Cua("first"== this.ld.get("finalFrame"))};b.prototype.yK=function(){this.ld.trigger(e.rq)};b.prototype.xK=function(){this.ld.trigger(e.lb)};b.prototype.zK=function(){this.ld.set("state",this.ac.mg())};b.prototype.Ar=function(){this.ld.get("autoplay")&&this.ac.wd(this.cb?d.Q:d.M)};b.prototype.$Z=function(){this.ld.bind(e.u("state"),this.OA,this,m);this.ld.bind(e.u("autoplay"),this.AK,this,m);this.ld.bind(e.u("frameDuration"),this.CK,this,m);this.ld.bind(e.u("finalFrame"),this.BK,this,m)};b.prototype.T5=function(){this.ld.unbind(e.u("state"), this.OA,this,m);this.ld.unbind(e.u("autoplay"),this.AK,this,m);this.ld.unbind(e.u("frameDuration"),this.CK,this,m);this.ld.unbind(e.u("finalFrame"),this.BK,this,m)};b.prototype.c_=function(){this.ac.bind(e.rq,this.yK,this,m);this.ac.bind(e.lb,this.xK,this,m);this.ac.bind(e.Yd,this.zK,this,m)};b.prototype.Z5=function(){this.ac.unbind(e.rq,this.yK,this,m);this.ac.unbind(e.lb,this.xK,this,m);this.ac.unbind(e.Yd,this.zK,this,m)};return b}); define("et",["require","nW","mS","be","nR"],function(a){function b(a,b,f,j){this.be=a;this.Mb=b;this.ib=f;this.ua=j.bind(this);d.va("AnimatedImageResource",this.be)?(this.ac=new g(this.Mb,this.be.get("rowCount",1),this.be.get("colCount",1),this.be.get("frameDuration"),this.be.get("frameCount",this.be.get("rowCount",1)*this.be.get("colCount",1)),this.be.get("repeat"),"first"==this.be.get("finalFrame")),this.ib.image=this.ac.kg(),this.ac.bind(e.ra,this.uJ,this,m),this.jn=new AnimationPlaybackController(this.be, this.ac)):this.ib.image=this.Mb;this.ib.needsUpdate=m;this.ua()}var e=a("nW"),d=a("mS"),g=a("be");AnimationPlaybackController=a("nR");b.prototype.Hf=function(a){this.jn&&this.jn.Hf(a)};b.prototype.dispose=function(){this.jn&&(this.jn.clear(),this.jn=r);this.ac&&(this.ac.unbind(e.ra,this.uJ,this,m),this.ac.clear(),this.ac=r);this.ib=this.Mb=this.be=r};b.prototype.uJ=function(){this.ib.needsUpdate=m;this.ua()};return b}); define("ex",["require"],function(){var a={},b=r;a.fra=function(){if(!b){var a=document.createElement("canvas");a.width=128;a.height=128;a.getContext("2d").clearRect(0,0,a.width,a.height);b=a}return b};return a}); define("iY",["require","ko","mo","lB"],function(a){var b=a("ko"),e=a("mo"),d=a("lB"),g=180/Math.PI,c=Math.PI/180;return{tW:function(a,b,c,g,k,o,p){b||(b=a*g/c);k||(k=d.Cv);var q={};switch(k){case d.Cv:q.width=a;q.height=b;break;case d.NONE:q.width=c;q.height=g;break;case d.gh:q.width=Math.min(b*c/g,a);q.height=Math.min(a*g/c,b);break;case d.iq:q.width=Math.max(b*c/g,a);q.height=Math.max(a*g/c,b);break;case d.ro:q.width=a;q.height=a*g/c;break;case d.Fj:q.width=b*c/g,q.height=b}q.width>a?(q.ov=a/q.width, q.IO=o==e.Ha?0:o==e.Ua?1-q.ov:0.5*(1-q.ov),q.width=a):(q.IO=0,q.ov=1);q.height>b?(q.pv=b/q.height,q.LO=p==e.ec?1-q.pv:p==e.Yb?0:0.5*(1-q.pv),q.height=b):(q.LO=0,q.pv=1);return q},V9:function(a,f,j,n,k,o,p,q){f||(f=b.tl(a,j,n));k||(k=d.Cv);o||(o=4096/360);var t={};switch(k){case d.Cv:t.ue=a;t.dq=f;break;case d.NONE:t.ue=2*Math.atan2(0.5*j,45*o)*g;t.dq=b.tl(t.ue,j,n);break;case d.gh:t.ue=Math.min(b.ms(f,j,n),a);t.dq=Math.min(b.tl(a,j,n),f);break;case d.iq:t.ue=Math.max(b.ms(f,j,n),a);t.dq=Math.max(b.tl(a, j,n),f);break;case d.ro:t.ue=a;t.dq=b.tl(a,j,n);break;case d.Fj:t.ue=b.ms(f,j,n),t.dq=f}t.ue>a?(t.ov=Math.tan(0.5*a*c)*j/Math.tan(0.5*t.ue*c)/j,t.IO=p==e.Ha?0:p==e.Ua?1-t.ov:0.5*(1-t.ov),t.ue=a):(t.IO=0,t.ov=1);t.dq>f?(t.pv=Math.tan(0.5*f*c)*n/Math.tan(0.5*t.dq*c)/n,t.LO=q==e.ec?1-t.pv:q==e.Yb?0:0.5*(1-t.pv),t.dq=f):(t.LO=0,t.pv=1);return t}}}); define("ju","require,jY,nW,cu,mS,cm,kI,et,ex,fm,nA,bD,iY".split(","),function(a){function b(a){this.k=a;this.lB=this.lB.bind(this);this.ua=this.ua.bind(this);this.qj=this.qj.bind(this);a=a.getComponent(k.As);this.Xh=a.gH;this.Ud=a.Ga;this.j=a.Cb;this.be=a.ksa;this.xFa=a.isSprite;this.Cf=B;this.dm=this.hb=r;this.Kq=0;this.Q0=this.ab=this.iE=this.K=l;e.ea(this.j,t,this.lB,B);e.ea(this.be,s,this.lB,B);e.ea(this.j,u,this.qj,B);this.lB()}var e=a("jY"),d=a("nW"),g=a("cu"),c=a("mS"),i=a("cm"),f=a("kI"), j=a("et"),n=a("ex"),k=a("fm"),o=a("nA"),p=a("bD"),q=a("iY"),t=["height","scaleMode","width"],s=["levels.url","levels.width","levels.height"],u=["depthTest","enabled","encoding","hidden","opacity"];b.prototype.frame=function(a){if(this.dm){this.dm.vb(a);this.Kq=this.dm.eb("alpha");this.k8();if(this.dm.Se())this.dm=r;this.k.P.nb()}if(this.Cf)this.Cf=B};b.prototype.lB=function(){var a=this.be&&this.be.get("levels")||[],a=a.filter(function(a){return!!a.get("url")}),b=1,d=1;if(c.va("AnimatedImageResource", this.be)){b=this.be.get("rowCount");d=this.be.get("colCount")}var f=r;if(a.length>0){a.sort(function(a,b){return b.get("width")-a.get("width")});var f=this.j.get("width"),e=this.j.get("height"),j=this.j.get("scaleMode","fill"),g=a[0].get("width")/d,i=a[0].get("height")/b,n=q.tW(f,e,g,i,j),f=a.reduce(function(a,c){return!a||a.get("width")>c.get("width")&&c.get("width")/d>=n.width&&c.get("height")/b>=n.height?c:a})}this.PL(f)};b.prototype.PL=function(a){if(this.hb!=a){if(this.hb){this.WBa();this.V0(); this.CQ();this.No();this.Cf=B}if(this.hb=a){this.Jo();this.Oz();this.JI();this.Cf=B;this.ua()}}};b.prototype.JI=function(){if(!this.dd){this.dd=new i;this.dd.yO([this.hb.get("url")]);this.dd.bind(d.T,this.Xc,this,m);this.dd.bind(d.dc,this.Wja,this,m);this.dd.bind(d.tc,this.pf,this,m);this.ir=this.k.getComponent(k.As).Fe;f.$n(this.dd,this.ir)}};b.prototype.No=function(){if(this.dd){this.dd.unbind(d.T,this.Xc,this,m);this.dd.unbind(d.dc,this.Wja,this,m);this.dd.unbind(d.tc,this.pf,this,m);f.Bj(this.dd, this.ir);this.dd=r}};b.prototype.Xc=function(){this.EBa();this.K7(new g(d.T))};b.prototype.Wja=function(a){this.K7(new g(d.dc,{percent:a.Gg}))};b.prototype.pf=function(){this.K7(new g(d.tc))};b.prototype.K7=function(a){this.Xh&&this.Xh.trigger(a)};b.prototype.ua=function(){if(!this.Cf){this.Cf=m;this.k.P.nb()}};b.prototype.Jo=function(){this.ib=new THREE.Texture;this.ib.image=n.fra();this.ib.generateMipmaps=m;this.ib.minFilter=THREE.LinearMipMapLinearFilter};b.prototype.CQ=function(){if(this.ib){this.ib.dispose(); this.ib=r}};b.prototype.Oz=function(){if(this.xFa){this.aa=new THREE.SpriteMaterial({map:this.ib});this.aa.sizeAttenuation=B;this.aa.transparent=m;this.aa.visible=0;this.aa.opacity=0;this.aa.needsUpdate=m;this.k.B(k.Material).material=this.aa}this.qj(m)};b.prototype.qj=function(a){var b=this.j.get("enabled")&&!this.j.get("hidden")&&!!this.Pn,c=this.K!==b;if(c||a){this.K=b;var b=this.Kq,f=this.K?1:0;this.dm=b!==f?new o("linear",[new p("alpha",b,f,l)],Math.abs(b-f)*200):r;this.k8()}b=this.j.get("encoding"); if(this.iE!==b||a){this.iE=b;this.SMa()}b=this.j.get("depthTest");if(this.Q0!==b||a){this.Q0=b;this.tMa()}b=this.j.get("opacity");if(this.ab!==b||a){this.ab=b;this.k8()}c&&this.Ud&&this.Ud.trigger(this.K?d.Vc:d.ad)};b.prototype.SMa=function(){if(this.aa&&(this.aa.map||this.aa.emissiveMap)){var a=this.iE=="srgb"?THREE.sRGBEncoding:THREE.LinearEncoding;if(this.aa.map)this.aa.map.encoding=a;if(this.aa.emissiveMap)this.aa.emissiveMap.encoding=a;this.aa.needsUpdate=m}this.ua()};b.prototype.tMa=function(){if(this.aa)this.aa.depthTest= this.Q0;this.ua()};b.prototype.k8=function(){if(this.aa){this.aa.opacity=this.ab*this.Kq;this.aa.visible=this.aa.opacity>0;if(this.aa.isShaderMaterial&&this.aa.uniforms.opacity)this.aa.uniforms.opacity.value=this.ab*this.Kq}this.Pn&&this.Pn.Hf(this.ab>0);this.ua()};b.prototype.V0=function(){if(this.aa){this.aa.dispose();this.aa=r;this.k.fa(k.Material)}};b.prototype.EBa=function(){this.Pn=new j(this.be,f.ff(this.hb.get("url")),this.ib,this.ua);this.qj(m)};b.prototype.WBa=function(){if(this.Pn){this.Pn.dispose(); this.Pn=r}};b.prototype.dispose=function(){this.PL(r);e.da(this.j,t,this.lB);e.da(this.be,s,this.lB);e.da(this.j,u,this.qj);this.k=this.Xh=this.be=this.j=r};b.rc=function(a){a.B(k.Fv).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(k.Fv);b.manager.dispose();b.manager=r;a.fa(k.Fv)};b.frame=function(a,b){a.getComponent(k.Fv).manager.frame(b)};return b}); define("lU",["require","kM","kW","fm","ju"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("ju"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.xl.entities.length&&this.xl.entities.slice().forEach(g.rc);this.yl.entities.length&&this.yl.entities.slice().forEach(g.Gb);this.materials.entities.length&&this.materials.entities.slice().forEach(function(d){g.frame(d,a,b)})};a.A={};a.A.xl=[d.As,d.Fv.not];a.A.materials=[d.As,d.Fv];a.A.yl=[d.As.not,d.Fv];return a}); define("I",["require","mU","fm"],function(a){function b(a){this.k=a;this.aa=r;this.update()}var e=a("mU"),d=a("fm");b.prototype.update=function(){this.aa||(this.aa=new THREE.LineBasicMaterial,this.aa.transparent=m,this.k.B(d.Material).material=this.aa);var a=this.k.getComponent(d.Ri);this.aa.color=new THREE.Color(e.HC(a.color||"#ffffff"));this.aa.lineWidth=a.width||1;this.aa.opacity=a.opacity||0;this.aa.depthTest=!!a.depthTest;this.aa.visible=00&&a.Cb.get("castShadow");var e=a.Jd.castShadow?a.Cb.get("shadowMapSize"): 16;if(e!=a.Jd.shadow.mapSize.width){a.Jd.shadow.dispose();a.Jd.shadow=a.Jd.shadow.clone();a.Jd.shadow.mapSize.width=a.Jd.shadow.mapSize.height=e}a.Jd.shadow.radius=a.Cb.get("shadowRadius");a.Jd.shadow.bias=a.Cb.get("shadowBias");this.hpa()}a.Jd.color=new THREE.Color(i.HC(a.Cb.get("color")));a.Jd.intensity=a.Cb.get("intensity");a.Jd.visible=a.Jd.intensity>0;a=this.k.getComponent(d.xb);if(!a||a.Kb!=b){a=this.k.D(d.xb,m);a.Kb=b}};var n=new THREE.Box3,k=new THREE.Vector3;b.prototype.frame=function(){this.hpa()}; b.prototype.hpa=function(){var a=this.k&&this.k.getComponent(d.Light);if(a&&a.Jd&&a.Jd.castShadow){var b=g.cc(a.target),c=a.Jd.shadow.camera,f=this.e0(b,n),b=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,j=Number.NEGATIVE_INFINITY;near=bottom=Number.POSITIVE_INFINITY;far=Number.NEGATIVE_INFINITY;for(var i=0;i<2;i++)for(var o=0;o<2;o++)for(var y=0;y<2;y++){k.set(i==0?f.min.x:f.max.x,o==0?f.min.y:f.max.y,y==0?f.min.z:f.max.z).applyMatrix4(c.matrixWorldInverse);if(k.xe)e=k.x;if(k.y> j)j=k.y;if(k.yfar&&(far=-k.z);-k.z0;a.material.needsUpdate=m}}if(e.envMapIntensity!==l){e=e.envMapIntensity*(c===l?1:c);if(a.material.envMapIntensity!==e){this.nga(a);a.material.envMapIntensity=e;a.material.needsUpdate=m}}}var p=this.TCa(d);(a.material.map== r?[]:Array.isArray(a.material.map)?a.material.map:[a.material.map]).forEach(function(a){if(a.anisotropy!==p){a.anisotropy=p;a.needsUpdate=m}})}a.children&&a.children.forEach(function(a){a.userData.WPa=b;a.userData.VPa=c;a.userData.l$=d;this.K5(a)}.bind(this))};a.prototype.TCa=function(a){return 1+Math.round((a||0)*(c.hra().capabilities.getMaxAnisotropy()-1))};a.prototype.nga=function(a){if(a.userData.av===l){a.userData.av=a.material;a.material=a.material.clone()}};a.prototype.aU=function(a){if(a.userData.av!== l){a.material=a.userData.av;delete a.userData.av}};a.prototype.Pga=function(a){var b=a.userData.zta,a=a.userData.WPa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.gDa=function(a){var b=a.userData.envMapIntensity,a=a.userData.VPa;if(!(a===l&&b===l)){b=(a!==l?a:1)*(b!==l?b:1);return b===1?l:b}};a.prototype.fDa=function(a){var b=a.userData.h9;if(b!==l)return b;a=a.userData.l$;if(a!==l)return a};a.prototype.Hd=function(a,b){var c=this.Pga(a);if(c!==l){c=c>0;if(a.userData.TTa!== c){a.userData.TTa=c;b.Ga&&b.Ga.trigger(c?e.Vc:e.ad)}}};a.A={};a.A.Xsa=[g.mq,g.Object3D,g.Kv.not];a.A.Wsa=[g.mq,g.Object3D,g.Kv];a.A.Ysa=[g.mq.not,g.Kv];a.A.Zsa=[g.Object3D.not,g.Kv];return a}); define("nP",["require","nW","fm","ch"],function(a){function b(a){this.k=a;this.upa=this.Pq=this.Pc=r;this.pG=-1}a("nW");var e=a("fm");a("ch");b.prototype.frame=function(){if(!this.Pq&&(this.Pq=this.k.getComponent(e.ug).c$)){var a=this.Pq.userData&&this.Pq.userData.gltfExtensions&&this.Pq.userData.gltfExtensions.KHR_materials_variants;this.upa=a&&a.variants||[];this.update()}};b.prototype.update=function(){var a=this.k.getComponent(e.Ds).name,b=this.upa.findIndex(function(b){return b.name==a}),c=this.Pq.scene; this.Pc!=c?(this.Pc&&this.kma(this.Pc),this.Pc=c,this.pG=b,this.Pc&&this.nna(this.Pc,this.pG)):this.pG!=b&&(this.pG=b,this.Pc&&this.nna(this.Pc,this.pG));this.k.P.nb()};b.prototype.kma=function(a){this.lea(a,-1)};b.prototype.nna=function(a,b){this.NFa(a,b,function(){this.Pc==a&&this.pG==b&&this.lea(a,b)}.bind(this))};b.prototype.NFa=function(a,b,c){var e=[];a.traverse(function(a){var c=a.isMesh&&a.userData.gltfExtensions&&a.userData.gltfExtensions.KHR_materials_variants;if(c=c&&c.mappings)a.userData.av|| (a.userData.av=a.material),a.userData.Cy||(a.userData.Cy={}),(c=c.find(function(a){return a.variants.indexOf(b)!=-1}))&&e.push(this.Pq.parser.getDependency("material",c.material).then(function(c){a.userData.Cy[b]||(a.userData.Cy[b]=c)}))}.bind(this));Promise.all(e).then(function(){c(a,b)})};b.prototype.lea=function(a,b){a.traverse(function(a){if(a.userData.Cy){var d=a.userData.Cy[b];d?(a.material=d,this.Pq.parser.assignFinalMaterial(a)):a.material=a.userData.av}}.bind(this));this.k.P.nb()};b.prototype.dispose= function(){this.Pc&&(this.kma(this.Pc),this.Pc=r)};b.rc=function(a){a.B(e.vo).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.vo);b.manager.dispose();b.manager=r;a.fa(e.vo)};b.update=function(a){a.getComponent(e.vo).manager.update()};b.frame=function(a){a.getComponent(e.vo).manager.frame()};return b}); define("hd",["require","kM","kW","fm","nP"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("nP"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.ata.entities.length&&this.ata.entities.slice().forEach(g.rc);this.bX.entities.length&&this.bX.entities.slice().forEach(g.frame);this.bX.Oa.length&&this.bX.Oa.slice().forEach(g.update);this.bta.entities.length&&this.bta.entities.slice().forEach(g.Gb);this.cta.entities.length&&this.cta.entities.slice().forEach(g.Gb); this.dta.entities.length&&this.dta.entities.slice().forEach(g.Gb)};a.A={};a.A.ata=[d.Ds,d.ug,d.Object3D,d.vo.not];a.A.bX=[d.Ds,d.ug,d.Object3D,d.vo];a.A.bta=[d.Ds.not,d.vo];a.A.cta=[d.Object3D.not,d.vo];a.A.dta=[d.ug.not,d.vo];return a}); define("hr",["require","fm"],function(a){var b=a("fm");return{rc:function(a){var d=a.B(b.nq);a.B(b.sa);var g=a.D(b.Mesh);a.B(b.Object3D).Rc=d.ao=g.ao=new THREE.Mesh(a.getComponent(b.Geometry).geometry,a.getComponent(b.Material).material);g.ao.renderOrder=g.renderOrder},update:function(a){var d=a.D(b.nq);d.ao.geometry=a.getComponent(b.Geometry).geometry;d.ao.material=a.getComponent(b.Material).material;d.ao.renderOrder=a.getComponent(b.Mesh).renderOrder},Gb:function(a){a.getComponent(b.nq).ao=r;a.fa(b.nq); a.fa(b.Object3D)}}}); define("fd",["require","kM","kW","fm","hr"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("hr"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.hta.entities.length&&this.hta.entities.slice().forEach(g.rc);this.gta.Oa.length&&this.gta.Oa.slice().forEach(g.update);this.cX.entities.length&&this.cX.entities.slice().forEach(g.Gb);this.AQa.entities.length&&this.cX.entities.slice().forEach(g.Gb);this.BQa.entities.length&&this.cX.entities.slice().forEach(g.Gb)};a.A= {};a.A.hta=[d.Mesh,d.Geometry,d.Material,d.nq.not];a.A.gta=[d.Mesh,d.Geometry,d.Material,d.nq];a.A.cX=[d.Mesh.not,d.nq];a.A.AQa=[d.Geometry.not,d.nq];a.A.BQa=[d.Material.not,d.nq];return a}); define("oo",["require","kM","nW","fQ"],function(a){function b(a){this.tqa=a;this.Gg=0;this.D9=B}var e=a("kM"),d=a("nW"),g=a("fQ"),a=e.extend(g,function(a){g.call(this);this.mm=new Map;this.kE=a||this});a.prototype.RRa=function(a){if(this.kE=a)this.rj(),this.h8()};a.prototype.sqa=function(){this.mm.forEach(function(a,b){this.TT(b)}.bind(this));this.mm=new Map};a.prototype.ul=function(){var a=0;this.mm.forEach(function(b){b.D9&&a++});return a==this.mm.size};a.prototype.dispose=function(){this.sqa(); this.kE=this.mm=r};a.prototype.gN=function(a,d){if(!this.mm.has(a))return this.mm.set(a,new b(d||1)),this.vya(a),a};a.prototype.qX=function(a){this.mm.has(a)&&(this.mm["delete"](a),this.TT(a))};a.prototype.QB=function(a){return this.gN(new g,a)};a.prototype.Xc=function(a){var a=a.source,b=this.mm.get(a);b&&(this.TT(a),b.Gg=100,b.D9=m,this.rj(),this.h8())};a.prototype.bi=function(a){this.mm.get(a.source).Gg=a.data.percent;this.rj()};a.prototype.pf=function(a){a=a.source;this.TT(a);a=this.mm.get(a); a.D9=m;a.Gg=100;this.kE.trigger(d.tc);this.rj();this.h8()};a.prototype.rj=function(){var a=0,b=0;this.mm.forEach(function(d){b+=d.tqa;a+=d.Gg*d.tqa});this.kE.trigger(d.dc,{percent:a/b})};a.prototype.h8=function(){this.ul()&&this.kE.trigger(d.T)};a.prototype.vya=function(a){a.bind(d.T,this.Xc,this,m);a.bind(d.dc,this.bi,this,m);a.bind(d.tc,this.pf,this,m)};a.prototype.TT=function(a){a.unbind(d.T,this.Xc,this,m);a.unbind(d.dc,this.bi,this,m);a.unbind(d.tc,this.pf,this,m)};return a}); define("kA",["require","nW","mU","fm","ch"],function(a){function b(a){this.k=a;this.j=this.k.getComponent(g.ug).Cb;this.oe=r;this.VQ=l;i.forEach(function(a){this.j.bind(e.u(a),this.ye,this,m)}.bind(this));this.update()}var e=a("nW"),d=a("mU"),g=a("fm"),c=a("ch"),i=["floorColor","floorHeight","floorOpacity","floorRadius"];b.prototype.update=function(){var a=this.j.get("floorColor");if(this.VQ!=a&&(!a&&this.oe&&(this.Pfa(this.oe),this.oe=r),this.VQ=a))this.oe||(this.oe=this.gBa()),this.GJa(this.oe, this.VQ);a=this.j.get("floorOpacity");this.oe&&this.oe.material.opacity!=a&&(this.oe.material.opacity=a);a=this.j.get("floorHeight");this.oe&&this.oe.position.y!=a&&(this.oe.position.y=a);a=this.j.get("floorRadius");this.oe&&this.oe.scale.x!=a&&(this.oe.scale.x=this.oe.scale.y=this.oe.scale.z=a)};b.prototype.frame=function(){if(this.oe&&!this.oe.parent){for(var a=c.cc(this.k);a&&!a.isScene;)a=a.parent;a&&a.add(this.oe)}};b.prototype.dispose=function(){i.forEach(function(a){this.j.unbind(e.u(a),this.ye, this,m)}.bind(this));this.oe&&(this.Pfa(this.oe),this.oe=r)};b.prototype.ye=function(){this.k.P.nb();this.update()};b.prototype.gBa=function(){var a=new THREE.BoxGeometry(1E3,0.001,1E3),a=new THREE.CircleGeometry(1,128),a=new THREE.Mesh(a);a.receiveShadow=m;a.position.y=0;a.rotation.x=0.5*-Math.PI;a.needsUpdate=m;return a};b.prototype.GJa=function(a,b){var c=a.material;if(c&&(!c.isShadowMaterial&&"transparent"==b||!c.DVa&&"transparent"!=b))c.dispose(),c=r;"transparent"==b?c||(c=new THREE.ShadowMaterial): (c||(c=new THREE.MeshStandardMaterial,c.defines.USE_UV="",c.onBeforeCompile=function(a){var b=a.fragmentShader.lastIndexOf("}");a.fragmentShader=a.fragmentShader.substring(0,b)+"float uvCenterCoef = 2.0 * length(vUv - 0.5);\nfloat uvAlphaCoef = 1.0 - smoothstep(0.97, 1.0, uvCenterCoef);\ngl_FragColor.a = uvAlphaCoef * gl_FragColor.a;\n"+a.fragmentShader.substring(b,a.fragmentShader.length)},c.roughness=1,c.metalness=0,c.envMapIntensity=0,c.transparent=m),c.color=new THREE.Color(d.HC(b)));c.needsUpdate= m;a.material=c};b.prototype.Pfa=function(a){a.parent&&a.parent.remove(a);a.material&&a.material.dispose();a.material=r;a.geometry&&a.geometry.dispose();a.geometry=r};return b}); define("lM",["require","nW","fm"],function(a){function b(a){this.k=a;this.Gr=a.P;this.j=this.k.getComponent(d.ug).Cb;this.j.bind(e.u("lights"),this.g8,this,B);this.qa=r;this.Qt=[];this.K3=new Map;this.update()}var e=a("nW"),d=a("fm");b.prototype.update=function(){var a=this.k.getComponent(d.Object3D),a=a&&a.Rc;this.qa!=a&&(this.qa=a,this.g8())};b.prototype.g8=function(){this.Wma(this.qa?this.j.get("lights",[]).length?this.j.get("lights"):[]:[])};b.prototype.dispose=function(){this.qa=r;this.j.unbind(e.u("lights"), this.g8,this,B);this.Wma([])};b.prototype.Wma=function(a){this.Qt!=a&&(this.Qt.forEach(function(b){0>a.indexOf(b)&&this.pIa(b)}.bind(this)),a.forEach(function(a){0>this.Qt.indexOf(a)&&this.uya(a)}.bind(this)),this.Qt=a)};b.prototype.uya=function(a){var b=this.Gr.td("Light"),e=b.B(d.Light);e.Cb=a;e.target=this.k;this.K3.set(a,b)};b.prototype.pIa=function(a){var b=this.K3.get(a);this.K3["delete"](a);this.Gr.Df(b)};return b}); define("lJ",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("Model3DResourceLevel",b,function(){b.call(this)});a.mP="mobile";a.prototype.get=function(a,d){switch(a){case "levels":d=[this];break;case "url":for(var g=b.prototype.get.call(this,a),c=this.get("levels"),i=0;c&&i=0.98*f||!a.object.visible)return B;a=Array.isArray(a.object.material)&&a.face?a.object.material[a.face.materialIndex]:a.object.material;return!a|| a.visible}).length};a.prototype.IOa=function(a){b.ray.origin.copy(a);b.ray.direction.copy(d);var a=this.Fw(),e=b.intersectObjects(a,B);if(0-1}))&&b.get("url");b||c.length&&(b=c[0].get("url"));b||(b=a.get("url"));return b};b.prototype.update=G();b.prototype.Xc=function(){this.AE.parse(this.Oo.getData(),p.getDirectory(this.ed),this.H4,this.I4)};b.prototype.bi= function(a){this.Ud.trigger(e.dc,a.data)};b.prototype.pf=function(a){o.TC&&a&&a.message&&console.error(a.message);this.Ud.trigger(e.tc)};b.prototype.I4=function(a){o.TC&&a&&a.message&&console.error(a.message);this.Ud.trigger(e.tc)};b.prototype.H4=function(a){if(this.AE){a.scene.traverse(function(a){if(a.isMesh)a.material.depthWrite=!a.material.transparent});this.qa=a.scene;this.Xya(this.qa);this.Of.B(j.Object3D).Rc=this.qa;this.k.D(j.ug,m).c$=a;this.kya();this.j.set("geometryQuery",new c(this.qa)); this.j.set("objectQuery",new i(this.qa));this.iV()}};b.prototype.kya=function(){var a=this.k.getComponent(j.ug);this.k.B(j.sv).Cb=a.Cb};b.prototype.iV=function(){this.j.set("isLoaded",m);this.Ud.trigger(e.T)};b.prototype.Xya=function(a){if(a.userData.id===l)a.userData.id="root";for(var b=[a];b.length;){var c=b.shift(),a=[];c.children&&(a=a.concat(c.children));c.isSkinnedMesh&&(a=a.concat(c.skeleton.bones));a.forEach(function(a,d){if(a.userData.id===l)a.userData.id=c.userData.id+"/"+d;b.push(a)})}}; b.prototype.oya=function(){this.Oo.bind(e.T,this.Xc,this,m);this.Oo.bind(e.dc,this.bi,this,m);this.Oo.bind(e.tc,this.pf,this,m)};b.prototype.jIa=function(){this.Oo.unbind(e.T,this.Xc,this,m);this.Oo.unbind(e.dc,this.bi,this,m);this.Oo.unbind(e.tc,this.pf,this,m)};b.prototype.dispose=function(){if(this.Oo){this.jIa();this.Oo.cancel();this.Oo=r}if(this.AE)this.AE=r;if(this.qa){this.qa.traverse(function(a){function b(a){a&&c.indexOf(a)<0&&c.push(a)}var c=[];b(a.material);b(a.userData.av);if(a.userData.Cy)for(var d in a.userData.Cy)b(a.userData.Cy[d]); c.forEach(function(a){a.dispose();Object.keys(a).forEach(function(b){(b=a[b])&&typeof b==="object"&&"minFilter"in b&&b.dispose()})});a.geometry&&a.geometry.userData.gqa&&a.geometry.disposeBoundsTree();a.geometry&&a.geometry.dispose()});this.qa=r;this.Of.fa(j.Object3D)}if(this.NE){this.NE.dispose();this.NE=r}if(this.Ud){this.qe.qX(this.Ud);this.mj.qX(this.Ud);this.qe=this.Ud=r}if(this.j){this.j.set("geometryQuery",r);this.j.set("objectQuery",r);this.j.set("isLoaded",B);this.j=r}};return b}); define("jv","require,jY,lm,nW,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.na=a;this.fE=b;this.q=d;this.Me=this.Me.bind(this);this.Vk=this.Vk.bind(this);this.Bf=1;this.K=B;this.cea=new Map;this.Pg=[];this.Mg=this.na.P.td("DraggingPositionContainer");this.Mg.B(c.Group);this.Mg.B(c.sa);this.Pg.push(this.Mg);this.pc=r;this.sz=[this.Ipa=this.m0("x"),this.Jpa=this.m0("y"),this.Kpa=this.m0("z")];this.sz.forEach(function(a){this.Nx(a,function(a){a.opacity=0.5;a.depthTest=B});a.B(c.xb).Kb=this.Mg}.bind(this)); e.ea(this.q,q,this.Me,m);e.ea(this.q,t,this.Vk,m)}var e=a("jY");a("lm");var d=a("nW"),g=a("fQ"),c=a("fm"),i=a("ch");b.prototype.dispose=function(){e.da(this.q,q,this.Me);e.da(this.q,t,this.Vk);var a=this.na.P;this.Pg.forEach(function(b){a.Df(b)});this.q=this.na=this.sz=this.k=this.Pg=r};b.prototype.frame=function(){if(this.K){this.RL(i.UG(this.Mg)||1);if(this.pc){var a=this.fE.getComponent(c.sa);this.q.set("x",a.Ee);this.q.set("y",a.je);this.q.set("z",a.Gf)}else this.dMa()}};var f=new THREE.Vector3, j=new THREE.Vector3,n=new THREE.Euler,k=new THREE.Quaternion,o=new THREE.Matrix4,p=180/Math.PI;b.prototype.m0=function(a){var b=this.na.P.td("DraggingArrow");this.Pg.push(b);b.B(c.Group);var d=b.D(c.sa,m);if(a==="x")d.jf=-90;else if(a=="z")b.D(c.sa,m).hf=90;a=this.na.P.td("DraggingArrowCylinder");this.Pg.push(a);a.B(c.Mesh).renderOrder=1;a.B(c.Geometry).geometry=new THREE.CylinderGeometry(0.05,0.05,0.85,16,1,m);a.B(c.Bc);a.B(c.xb).Kb=b;a.D(c.sa,m).je=-0.075;d=this.na.P.td("DraggingArrowCone");this.Pg.push(d); d.B(c.Mesh).renderOrder=1;d.B(c.Geometry).geometry=new THREE.ConeGeometry(0.05,0.15,16,1,m);d.B(c.Bc);d.B(c.xb).Kb=b;d.D(c.sa,m).je=0.425;this.cea.set(b,[a,d]);return b};b.prototype.RL=function(a){if(this.Bf!=a){this.Bf=a;this.Me()}};b.prototype.Me=function(){var a=this.q.get("draggableArrowLength")*this.Bf;this.Nx(this.Ipa,function(a){a.color=this.q.get("draggableXControlsColor")}.bind(this));var b=this.Ipa.D(c.sa,m);b.scale=a;b.Ig=a/2;this.Nx(this.Jpa,function(a){a.color=this.q.get("draggableYControlsColor")}.bind(this)); b=this.Jpa.D(c.sa,m);b.scale=a;b.rg=a/2;this.Nx(this.Kpa,function(a){a.color=this.q.get("draggableZControlsColor")}.bind(this));b=this.Kpa.D(c.sa,m);b.scale=a;b.If=a/2};b.prototype.dMa=function(){var a=i.cc(this.fE);if(a){o.copy(a.matrixWorld).invert().decompose(f,k,j);a=this.Mg.getComponent(c.sa);n.setFromQuaternion(k,a.pg);n.x=n.x*p;n.y=n.y*p;n.z=n.z*p;if(a.hf!=n.x||a.Ie!=n.y||a.jf!=n.z){a=this.Mg.D(c.sa);a.hf=n.x;a.Ie=n.y;a.jf=n.z}}};b.prototype.Vk=function(){var a=this.q.get("positionDraggable"); if(this.K!=a)if(this.K=a){this.Mg.B(c.xb).Kb=this.fE;this.sz.forEach(function(a){a=a.B(c.xd);a.gv=m;a.Pu=m;a.Ga=new g;a.Ga.bind(d.kd,this.jF,this,m);a.Ga.bind(d.jc,this.um,this,m);a.Ga.bind(d.Hb,this.tm,this,m);a.Ga.bind(d.ic,this.Zq,this,m)}.bind(this))}else{this.Mg.fa(c.xb);this.sz.forEach(function(a){a.fa(c.xd)})}};b.prototype.jF=function(a){(a=this.Fk(a))&&a!=this.pc&&this.Nx(a,function(a){a.opacity=1})};b.prototype.um=function(a){(a=this.Fk(a))&&a!=this.pc&&this.Nx(a,function(a){a.opacity=0.5})}; b.prototype.tm=function(a){this.Px(this.Fk(a))};b.prototype.Zq=function(a){a=this.Fk(a);if(a==this.pc){this.Px(r);this.sz.indexOf(a)!=-1&&this.q.trigger(d.Is)}};b.prototype.Nx=function(a,b){this.cea.get(a).forEach(function(a){b(a.D(c.Bc))}.bind(this))};b.prototype.Fk=function(a){a=this.sz.map(function(a){return a.getComponent(c.xd).Ga}).indexOf(a.source);return a==-1?r:this.sz[a]};b.prototype.Px=function(a){if(this.pc){this.Nx(this.pc,function(a){a.opacity=0.5});this.fE.fa(c.io)}if(this.pc=a){this.Nx(this.pc, function(a){a.opacity=1});var a=i.getWorldPosition(this.fE),b=i.getWorldPosition(this.pc);this.fE.B(c.io).direction=b.sub(a)}};var q=["draggableArrowLength","draggableXControlsColor","draggableYControlsColor","draggableZControlsColor"],t=["positionDraggable"];return b}); define("m","require,jY,nW,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.na=a;this.k=b;this.q=d;this.Tj=this.Tj.bind(this);this.Me=this.Me.bind(this);this.Vk=this.Vk.bind(this);this.pc=r;this.K=B;this.PT=[1,1,1,1,1,1];this.Pg=[];this.Mf=[this.uG=this.Io(),this.tG=this.Io(),this.wG=this.Io(),this.vG=this.Io(),this.yG=this.Io(),this.xG=this.Io()];this.Mf.forEach(function(a){a=a.D(c.Bc);a.opacity=0.5;a.depthTest=B}.bind(this));e.ea(this.q,k,this.Me,m);e.ea(this.q,o,this.Tj,m);e.ea(this.q,p, this.Vk,m)}var e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm"),i=a("ch");b.prototype.frame=function(){if(this.K){this.JJa(this.Mf.map(function(a){return i.UG(a)||1}));if(this.pc){var a=i.cc(this.k),b=i.cc(this.uE(this.pc));if(a&&b){j.copy(a.matrixWorld).invert();f.setFromMatrixPosition(b.matrixWorld).applyMatrix4(j);var a=this.q.get("x"),b=this.q.get("y"),c=this.q.get("z"),d=this.q.get("width"),e=this.q.get("height"),g=this.q.get("depth"),n=0,k=0,o=0,p=0,F=0,L=0;switch(this.pc){case this.uG:p=f.x-d*0.5;n= p*0.5;break;case this.tG:p=-f.x-d*0.5;n=-p*0.5;break;case this.wG:F=f.y-e*0.5;k=F*0.5;break;case this.vG:F=-f.y-e*0.5;k=-F*0.5;break;case this.yG:L=f.z-g*0.5;o=L*0.5;break;case this.xG:L=-f.z-g*0.5;o=-L*0.5}this.q.set("x",a+n);this.q.set("width",d+p);this.q.set("y",b+k);this.q.set("height",e+F);this.q.set("z",c+o);this.q.set("depth",g+L)}}}};var f=new THREE.Vector3,j=new THREE.Matrix4;b.prototype.Io=function(){var a=this.na.P.td("DraggingSphere");this.Pg.push(a);a.B(c.Mesh).renderOrder=2;a.B(c.Geometry).geometry= new THREE.SphereGeometry;a.B(c.Bc);return a};b.prototype.Me=function(){this.uG.D(c.Bc).color=this.q.get("draggableXControlsColor");this.tG.D(c.Bc).color=this.q.get("draggableXControlsColor");this.wG.D(c.Bc).color=this.q.get("draggableYControlsColor");this.vG.D(c.Bc).color=this.q.get("draggableYControlsColor");this.yG.D(c.Bc).color=this.q.get("draggableZControlsColor");this.xG.D(c.Bc).color=this.q.get("draggableZControlsColor");var a=this.q.get("draggableSphereRadius");this.Mf.forEach(function(b,d){b.D(c.sa, m).scale=a*this.PT[d]}.bind(this))};b.prototype.Tj=function(){this.uG.D(c.sa,m).Ee=this.q.get("width")/2;this.tG.D(c.sa,m).Ee=-this.q.get("width")/2;this.wG.D(c.sa,m).je=this.q.get("height")/2;this.vG.D(c.sa,m).je=-this.q.get("height")/2;this.yG.D(c.sa,m).Gf=this.q.get("depth")/2;this.xG.D(c.sa,m).Gf=-this.q.get("depth")/2};b.prototype.Vk=function(){var a=this.q.get("sizeDraggable");if(this.K!=a){this.K=a;this.Mf.forEach(function(b){if(a){b.B(c.xb).Kb=this.k;this.Mf.forEach(function(a){a=a.B(c.xd); a.gv=m;a.Pu=m;a.Ga=new g;a.Ga.bind(d.kd,this.$E,this,m);a.Ga.bind(d.jc,this.x4,this,m);a.Ga.bind(d.Hb,this.v4,this,m);a.Ga.bind(d.ic,this.w4,this,m)}.bind(this))}else{b.fa(c.xb);this.Mf.forEach(function(a){a.fa(c.xd)}.bind(this))}}.bind(this))}};b.prototype.JJa=function(a){for(var b=B,c=0;c=this.Nb.position||this.Nb.FO&&1<=this.Nb.position?c.cc(this.Of).visible=B:c.cc(this.Of).visible=m;d.update(this.aa,this.Nb);this.k.P.nb()};var i=new THREE.MeshBasicMaterial;b.prototype.dispose=function(){c.cc(this.Of).visible=m;this.Pc&&this.Pc.traverse(function(a){a.material== this.aa&&(a.material=i)}.bind(this));this.aM&&(c.hRa(this.aM.parent,this.aM),this.aM=r);this.aa&&(this.Nb.js.dispose(),this.Nb.ks.dispose(),this.Nb.texture.dispose(),this.Nb=r,this.aa.dispose(),this.aa=r);e.da(this.q,f,this.au);this.k&&this.k.P.Df(this.k);this.q=this.k=this.na=r};var f="sourceX,sourceY,sourceZ,sourceYaw,sourceFaces,targetX,targetY,targetZ,targetYaw,targetFaces,position".split(",");return b}); define("cC","require,jY,nW,fQ,fm,ch".split(","),function(a){function b(a,b,d){this.na=a;this.k=b;this.q=d;this.hF=this.hF.bind(this);this.Me=this.Me.bind(this);this.Vk=this.Vk.bind(this);this.pc=r;this.K=B;this.Bf=1;this.Mg=this.na.P.td("DraggingSize2DContainer");this.Mg.B(c.Group);this.Mg.B(c.sa);this.Mf=[this.Q3=this.Io(),this.I3=this.Io(),this.n6=this.Io(),this.R5=this.Io()];this.Mf.forEach(function(a){a.B(c.sa);a=a.D(c.Bc);a.color="#ffffff";a.opacity=0.5;a.depthTest=B}.bind(this));this.Fq=this.n0(); this.Pg=[this.Mg,this.Fq].concat(this.Mf);[this.Fq].concat(this.Mf).forEach(function(a){a.B(c.xb).Kb=this.Mg}.bind(this));e.ea(this.q,u,this.hF,m);e.ea(this.q,s,this.Me,m);e.ea(this.q,w,this.Vk,m)}var e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm"),i=a("ch"),f=new THREE.Matrix4,j=new THREE.Vector3,n=new THREE.Vector3;new THREE.Quaternion;new THREE.Vector3;var k=new THREE.Quaternion,o=new THREE.Vector3,p=new THREE.Vector3,q=new THREE.Euler,t=180/Math.PI;b.prototype.frame=function(){if(this.K){var a=i.cc(this.Mg), b=a&&i.T9(a),d=b&&i.LN(b);if(d){if(this.pc){var e=i.Ara(b),b=i.BW(b);i.getWorldPosition(this.k,p).project(d);p.x=(p.x+1)*e*0.5;p.y=(1-p.y)*b*0.5;i.getWorldPosition(this.pc,o).project(d);o.x=(o.x+1)*e*0.5;o.y=(1-o.y)*b*0.5;var e=this.q.get("anchorX"),b=this.q.get("anchorY"),g,u,s=p.x-o.x,w=o.y-p.y,z=-s,K=-w;if(this.I3===this.pc&&(e>0||b<1))s>w?g=s/e:u=w/(1-b);else if(this.R5===this.pc&&(e<1||b<1))z>w?g=z/(1-e):u=w/(1-b);else if(this.Q3===this.pc&&(e>0||b>0))s>K?g=s/e:u=K/b;else if(this.n6===this.pc&& (e<1||b>0))z>K?g=z/(1-e):u=K/b;u!==l&&g===l?g=u*this.eea:g!==l&&u===l&&(u=g/this.eea);if(g!==l&&u!==l){this.q.set("width",this.X=g);this.q.set("height",this.ia=u)}}g=this.Mg.getComponent(c.sa);f.copy(a.parent.matrixWorld).invert().multiply(d.matrixWorld).decompose(j,k,n);q.setFromQuaternion(k,g.pg);q.x=q.x*t;q.y=q.y*t;q.z=q.z*t;if(g.hf!=q.x||g.Ie!=q.y||g.jf!=q.z){g=this.Mg.D(c.sa);g.hf=q.x;g.Ie=q.y;g.jf=q.z}this.RL(i.UG(this.Mg)||1)}}};b.prototype.ZLa=function(a,b){this.U7!=r&&clearTimeout(this.U7); this.U7=setTimeout(function(){this.U7=r;if(this.X!==a||this.ia!==b){this.X=a;this.ia=b;this.eea=this.X/this.ia}}.bind(this),100)};b.prototype.Io=function(){var a=this.na.P.td("DraggingSphere");a.B(c.Mesh).renderOrder=2;a.B(c.Geometry).geometry=new THREE.SphereGeometry;a.B(c.Bc);return a};b.prototype.n0=function(){var a=this.na.P.td("BoxBorder");a.B(c.Line);a.B(c.Geometry).geometry=this.CBa();var b=a.B(c.Ri);b.color="#0000ff";b.depthTest=B;b.width=1;return a};b.prototype.CBa=function(){var a=[new THREE.Vector3(-0.5, -0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,-0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,0.5,0),new THREE.Vector3(-0.5,-0.5,0)];return(new THREE.BufferGeometry).setFromPoints(a)};b.prototype.Me=function(){var a=this.Fq.D(c.Ri);a.color=this.q.get("draggableLineColor");a.opacity=this.q.get("draggableLineOpacity");a.width=this.q.get("draggableLineWidth");this.Mf.forEach(function(a){a.D(c.Bc).color=this.q.get("draggableSphereColor"); a.D(c.sa).scale=this.q.get("draggableSphereRadius")*this.Bf}.bind(this))};b.prototype.RL=function(a){if(this.Bf!=a){this.Bf=a;this.hF();this.Me()}};b.prototype.hF=function(){var a=this.q.get("anchorX"),b=this.q.get("anchorY"),d=this.q.get("width"),f=this.q.get("height");transformComponent=this.Q3.D(c.sa,m);transformComponent.Ee=-a*d*this.Bf;transformComponent.je=b*f*this.Bf;transformComponent=this.n6.D(c.sa,m);transformComponent.Ee=(1-a)*d*this.Bf;transformComponent.je=b*f*this.Bf;transformComponent= this.I3.D(c.sa,m);transformComponent.Ee=-a*d*this.Bf;transformComponent.je=(b-1)*f*this.Bf;transformComponent=this.R5.D(c.sa,m);transformComponent.Ee=(1-a)*d*this.Bf;transformComponent.je=(b-1)*f*this.Bf;transformComponent=this.Fq.D(c.sa,m);transformComponent.Ee=(0.5-a)*d*this.Bf;transformComponent.je=(b-0.5)*f*this.Bf;transformComponent.Zf=d*this.Bf;transformComponent.qg=f*this.Bf;this.ZLa(d,f)};b.prototype.Vk=function(){var a=this.q.get("sizeDraggable");if(this.K!=a)if(this.K=a){this.Mg.B(c.xb).Kb= this.k;this.Mf.forEach(function(a){a=a.B(c.xd);a.gv=m;a.Pu=m;a.Ga=new g;a.Ga.bind(d.kd,this.$E,this,m);a.Ga.bind(d.jc,this.x4,this,m);a.Ga.bind(d.Hb,this.v4,this,m);a.Ga.bind(d.ic,this.w4,this,m)}.bind(this))}else{this.Mg.fa(c.xb);this.Mf.forEach(function(a){a.fa(c.xd)}.bind(this))}};b.prototype.$E=function(a){if((a=this.Fk(a))&&a!=this.pc)a.D(c.Bc).opacity=1};b.prototype.x4=function(a){if((a=this.Fk(a))&&a!=this.pc)a.D(c.Bc).opacity=0.5};b.prototype.v4=function(a){this.Px(this.Fk(a))};b.prototype.w4= function(a){if((a=this.Fk(a))&&a==this.pc){this.Px(r);this.hF();(a=this.Mf.indexOf(a)!=-1)&&this.q.trigger(d.Is);a&&this.q.trigger(d.Gca)}};b.prototype.Fk=function(a){a=this.Mf.map(function(a){return a.getComponent(c.xd).Ga}).indexOf(a.source);if(a==-1)return r;a=this.Mf[a];return!this.rFa(a)?r:a};b.prototype.rFa=function(a){var b=this.q.get("anchorX"),c=this.q.get("anchorY");return this.I3===a&&(b>0||c>0)||this.R5===a&&(b<1||c>0)||this.Q3===a&&(b>0||c<1)||this.n6===a&&(b<1||c<1)?m:B};b.prototype.Px= function(a){if(this.pc){this.pc.D(c.Bc).opacity=0.5;this.uE(this.pc).fa(c.io)}if(this.pc=a){this.pc.D(c.Bc).opacity=1;var b=this.uE(this.pc).B(c.io),d=i.getWorldPosition(this.k),a=i.getWorldPosition(a),a=(new THREE.Vector3).copy(a).sub(d),f=Math.min(a.length(),this.Bf*10),d=(new THREE.Vector3).copy(d).add(j.copy(a).setLength(f));b.direction=a;b.min=d}};b.prototype.uE=function(a){return this.Mf.indexOf(a)!=-1?a:r};b.prototype.dispose=function(){e.da(this.q,u,this.hF);e.da(this.q,s,this.Me);e.da(this.q, w,this.Vk);var a=this.na.P;this.Pg.forEach(function(b){a.Df(b)});this.q=this.na=this.Mf=this.k=this.Pg=r};var s=["draggableLineColor","draggableLineOpacity","draggableLineWidth","draggableSphereColor","draggableSphereRadius"],u=["anchorX","anchorY","height","x","y","z","width"],w=["sizeDraggable"];return b}); define("hG","require,jY,hA,fm,jv,cC,ch".split(","),function(a){function b(a,b,f,j,n){this.na=a;this.qe=f;this.mj=j;this.q=n;this.Tj=this.Tj.bind(this);this.KK=this.KK.bind(this);this.Me=this.Me.bind(this);this.TS=this.TS.bind(this);this.Xh=this.qe.QB(1);this.q.get("preload")&&this.mj.gN(loadingEventDispatcher);this.k=this.na.P.td("SpriteContainer");this.k.B(g.Group);a=this.k.B(g.xb);a.Kb=this.na;a.id=this.q.get("parentId");this.BM=this.na.P.td("TranslationSpriteContainer");this.BM.B(g.Group);this.BM.B(g.xb).Kb= this.k;this.tr=this.na.P.td("Sprite");this.tr.B(g.xb).Kb=this.BM;a=this.tr.B(g.As);a.Cb=this.q;a.ksa=this.q.get("image");a.Ga=this.q;a.gH=this.Xh;a.isSprite=m;a.Fe=this.q.get("preload")?d.eD:d.$wa;this.tr.B(g.Sprite).renderOrder=2;this.tr.B(g.xd).Ga=this.q;this.tr.B(g.Jy);this.tr.B(g.UO).object=this.q;this.L3=B;this.Bf=1;this.Ww=this.k.P.td("TranslationLine");this.Ww.B(g.Line).renderOrder=1;this.Ww.B(g.Ri);this.Tz=new c(this.na,this.k,this.q);this.g1=new i(this.na,this.BM,this.q);e.ea(this.q,q,this.Tj, m);e.ea(this.q,s,this.KK,m);e.ea(this.q,u,this.Me,m);e.ea(this.q,t,this.TS,m)}var e=a("jY"),d=a("hA"),g=a("fm"),c=a("jv"),i=a("cC"),f=a("ch");b.prototype.frame=function(){this.Tz.frame();this.g1.frame();this.RL(f.UG(this.k)||1)};b.prototype.Tj=function(){if(this.k.B(g.xb).id!=this.q.get("parentId"))this.k.D(g.xb).id=this.q.get("parentId");var a=this.k.D(g.sa,m);a.Ee=this.q.get("x");a.je=this.q.get("y");a.Gf=this.q.get("z")};b.prototype.RL=function(a){if(this.Bf!=a){this.Bf=a;this.KK()}};b.prototype.KK= function(){var a=this.BM.D(g.sa,m),b=this.q.get("translationLength");k.set(this.q.get("translationX"),this.q.get("translationY"),this.q.get("translationZ"));b!==l&&k.setLength(b*this.Bf);a.Ig=k.x;a.rg=k.y;a.If=k.z;b=this.Ww.D(g.sa,m);k.set(a.Ig,a.rg,a.If);b.scale=k.length();j.setFromUnitVectors(o,k.normalize());n.setFromQuaternion(j,b.pg);n.x=n.x*p;n.y=n.y*p;n.z=n.z*p;b.hf=n.x;b.Ie=n.y;b.jf=n.z;this.Roa()};var j=new THREE.Quaternion,n=new THREE.Euler,k=new THREE.Vector3,o=new THREE.Vector3(0,0,1), p=180/Math.PI;b.prototype.Me=function(){var a=this.tr.D(g.xd,m);a.Gl=this.q.get("useHandCursor");a.DH=this.q.get("transparentAreaActive");a.Pu=this.q.get("clickEnabled");a.gv=this.q.get("rollOverEnabled");a=this.Ww.D(g.Ri);a.color=this.q.get("translationLineColor");a.depthTest=this.q.get("depthTest");a.opacity=this.q.get("translationLineOpacity");a.width=this.q.get("translationLineWidth");this.Roa()};b.prototype.TS=function(){var a=this.tr.D(g.Sprite,m);a.AG=this.q.get("anchorX");a.BG=this.q.get("anchorY"); a.width=this.q.get("width");a.height=this.q.get("height");a.scale=this.q.get("scale")};b.prototype.Roa=function(){var a=this.q.get("translationLineVisible")&&this.q.get("translationLineOpacity")>0&&(this.q.get("translationX")!=0||this.q.get("translationY")!=0||this.q.get("translationZ")!=0);if(this.L3!=a)(this.L3=a)?this.Ww.B(g.xb).Kb=this.k:this.Ww.fa(g.xb)};b.prototype.dispose=function(){this.Tz.dispose();this.Tz=r;this.g1.dispose();this.g1=r;e.da(this.q,q,this.Tj);e.da(this.q,s,this.KK);e.da(this.q, u,this.Me);e.da(this.q,t,this.TS);this.qe.qX(this.Xh);this.mj.qX(this.PHa);this.PHa=this.qe=r;var a=this.na.P;this.na=r;a.Df(this.tr);this.tr=r;a.Df(this.Ww);this.Ww=r;a.Df(this.k);this.q=this.k=r};var q=["parentId","x","y","z"],t=["anchorX","anchorY","width","height","scale"],s=["translationX","translationY","translationZ","translationLength"],u=["clickEnabled","depthTest","rollOverEnabled","transparentAreaActive","translationLineColor","translationLineOpacity","translationLineVisible","translationLineWidth", "useHandCursor"];return b});define("fD",["require","mS","cn","lo","hG"],function(a){var b=a("mS"),e=a("cn"),d=a("lo"),g=a("hG");return{create:function(a,i,f,j,n){return b.va("SpriteModel3DObject",n)?new g(a,i,f,j,n):b.va("BoxModel3DObject",n)?new e(a,i,n):b.va("ProjectedMaterialModel3DObject",n)?new d(a,i,n):r}}}); define("kq",["require","jY","fm","fD"],function(a){function b(a,b,f,j){this.k=a;this.Of=b;this.qe=f;this.mj=j;this.RA=this.RA.bind(this);this.Gr=a.P;this.j=this.k.getComponent(d.ug).Cb;this.qa=(a=this.k.getComponent(d.Object3D))&&a.Rc;this.Sf=[];this.wS=new Map;e.ea(this.j,["objects.enabled"],this.RA,m)}var e=a("jY"),d=a("fm"),g=a("fD");b.prototype.update=function(){var a=this.k.getComponent(d.Object3D),a=a&&a.Rc;if(this.qa!==a){var b=this.qa;this.qa=a;this.pV(!!b)}};b.prototype.frame=function(){this.wS.forEach(function(a){a&& a.frame&&a.frame()})};b.prototype.dispose=function(){this.qa=r;e.da(this.j,["objects.enabled"],this.RA);this.QL([])};b.prototype.RA=function(){this.pV()};b.prototype.pV=function(a){this.QL(this.j.get("objects").filter(function(a){return a.get("enabled")}),a)};b.prototype.QL=function(a,b){if(this.Sf!=a||b)this.Sf.forEach(function(d){(b||0>a.indexOf(d))&&this.sIa(d)}.bind(this)),a.forEach(function(a){(b||0>this.Sf.indexOf(a))&&this.zya(a)}.bind(this)),this.Sf=a};b.prototype.zya=function(a){this.wS.set(a, g.create(this.k,this.Of,this.qe,this.mj,a))};b.prototype.sIa=function(a){var b=this.wS.get(a);b&&b.dispose();this.wS["delete"](a)};return b}); define("jI",["require","nW","fm"],function(a){function b(a,b){this.k=a;this.Of=b;this.dj=this.qa=this.j=r;this.gT=new Map;this.hl(this.k.getComponent(d.ug).Cb);this.update()}var e=a("nW"),d=a("fm");b.prototype.update=function(){var a=this.Of.getComponent(d.Object3D),a=a&&a.Rc;this.qa!=a&&(this.qa=a,this.tz())};b.prototype.hl=function(a){this.j&&g.forEach(function(a){this.j.unbind(e.u(a),this.tz,this,B)}.bind(this));if(this.j=a)g.forEach(function(a){this.j.bind(e.u(a),this.tz,this,B)}.bind(this)), this.tz()};b.prototype.tz=function(){this.$ma(this.j.get("model"));if(this.qa){var a=this.j.get("castShadow"),b=this.j.get("receiveShadow"),c=this.j.get("bakedTextures");this.qa.traverse(function(d){if(d.isMesh&&(c?this.LAa(d):this.aU(d),a!==l&&(d.castShadow=a),b!==l))d.receiveShadow=b}.bind(this));this.k.P.nb()}};b.prototype.LAa=function(a){a.material&&!a.material.isMeshBasicMaterial&&!this.gT.get(a)&&(this.gT.set(a,a.material),a.material=(new THREE.MeshBasicMaterial).copy(a.material))};b.prototype.aU= function(a){var b=a.material,c=this.gT.get(a);b&&c&&(this.gT["delete"](a),a.material=c)};b.prototype.$ma=function(a){if(this.dj!=a&&(this.dj&&c.forEach(function(a){this.dj.unbind(e.u(a),this.t_,this,B)}.bind(this)),this.dj=a))c.forEach(function(a){this.dj.bind(e.u(a),this.t_,this,B)}.bind(this)),this.t_()};b.prototype.t_=function(){var a=this.Of.D(d.sa,m);a.Ee=this.dj.get("positionX");a.je=this.dj.get("positionY");a.Gf=this.dj.get("positionZ");a.hf=this.dj.get("rotationX");a.Ie=this.dj.get("rotationY"); a.jf=this.dj.get("rotationZ");a.scale=this.dj.get("scale");a.Ig=this.dj.get("translationX");a.rg=this.dj.get("translationY");a.If=this.dj.get("translationZ")};b.prototype.dispose=function(){this.qa&&(this.qa.traverse(function(a){a.isMesh&&this.aU(a)}.bind(this)),this.qa=r);this.$ma(r);this.hl(r)};var g=["bakedTextures","castShadow","model","receiveShadow"],c="positionX,positionY,positionZ,rotationX,rotationY,rotationZ,scale,translationX,translationY,translationZ".split(",");return b}); define("bN","require,nW,cu,oo,fm,kA,lM,er,kq,jI".split(","),function(a){function b(a){this.k=a;this.k.B(c.Group);this.Of=this.k.P.td("GLTF");this.Of.B(c.xb).Kb=this.k;a=this.k.getComponent(c.ug);this.mj=new g(a.Uta);this.qe=new g(a.gH);this.Ud=a.Ga;this.Zw=new j(this.k,this.Of,this.qe,this.mj);this.Sf=new n(this.k,this.Of,this.qe,this.mj);this.Qt=new f(this.k);this.oe=new i(this.k);this.j=new k(this.k,this.Of)}var e=a("nW"),d=a("cu"),g=a("oo"),c=a("fm"),i=a("kA"),f=a("lM"),j=a("er"),n=a("kq"),k=a("jI"); b.prototype.update=function(){this.Zw.update();this.Sf.update();this.j.update();this.Qt.update();this.oe.update()};b.prototype.frame=function(){this.Sf.frame();this.oe.frame();this.Ud.trigger(new d(e.XC))};b.prototype.dispose=function(){if(this.oe){this.oe.dispose();this.oe=r}if(this.Zw){this.Zw.dispose();this.Zw=r}if(this.Sf){this.Sf.dispose();this.Sf=r}if(this.Qt){this.Qt.dispose();this.Qt=r}if(this.j){this.j.dispose();this.j=r}if(this.qe){this.qe.dispose();this.qe=r}if(this.Of){this.Of.P.Df(this.Of); this.Of=r}this.Ud=r};b.rc=function(a){a.B(c.Es).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(c.Es);b.manager.dispose();b.manager=r;a.fa(c.Es)};b.update=function(a){a.getComponent(c.Es).manager.update()};b.frame=function(a){a.getComponent(c.Es).manager.frame()};return b}); define("ks",["require","kM","kW","fm","bN"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("bN"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.kta.entities.length&&this.kta.entities.slice().forEach(g.rc);this.dX.Oa.length&&this.dX.Oa.slice().forEach(g.update);this.dX.entities.length&&this.dX.entities.slice().forEach(g.frame);this.lta.entities.length&&this.lta.entities.slice().forEach(g.Gb)};a.A={};a.A.kta=[d.ug,d.Es.not];a.A.dX=[d.ug,d.Es];a.A.lta=[d.ug.not, d.Es];return a}); define("ce",["require","fm","ch"],function(a){function b(a){this.k=a;this.Pc=r}var e=a("fm"),d=a("ch");b.prototype.frame=function(){if(!this.Pc){var a=this.k.getComponent(e.jD),b=d.cc(a.container);if(this.Pc=b&&a.id&&d.YB(b,a.id)||r)this.k.B(e.Object3D).Rc=this.Pc,this.k.P.nb()}};b.prototype.update=function(){this.Pc&&(this.k.fa(e.Object3D),this.Pc=r)};b.prototype.dispose=function(){this.Pc&&(this.k.fa(e.Object3D),this.Pc=r)};b.rc=function(a){a.B(e.Gs).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.Gs); b.manager.dispose();b.manager=r;a.fa(e.Gs)};b.frame=function(a){a.getComponent(e.Gs).manager.frame()};b.update=function(a){a.getComponent(e.Gs).manager.update()};return b}); define("gG",["require","kM","kW","fm","ce"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("ce"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.wta.entities.length&&this.wta.entities.slice().forEach(g.rc);this.hX.Oa.length&&this.hX.Oa.slice().forEach(g.update);this.hX.entities.length&&this.hX.entities.slice().forEach(g.frame);this.xta.entities.length&&this.xta.entities.slice().forEach(g.Gb)};a.A={};a.A.wta=[d.jD,d.Gs.not];a.A.hX=[d.jD,d.Gs];a.A.xta=[d.jD.not, d.Gs];return a}); define("ng",["require","fm"],function(a){function b(a){this.k=a;this.Bw=new THREE.PlaneGeometry;this.jS=this.k.B(e.Object3D).Rc=new THREE.Mesh(this.Bw);this.update()}var e=a("fm");b.prototype.update=function(){var a=this.k.getComponent(e.Material).material;a&&this.jS.material!=a&&(this.jS.material=a,this.jS.needsUpdate=m);this.jS.renderOrder=this.k.getComponent(e.Plane).renderOrder};b.prototype.dispose=function(){this.Bw.dispose();this.Bw=r};b.rc=function(a){a.B(e.Js).manager=new b(a)};b.Gb=function(a){var b= a.getComponent(e.Js);b.manager.dispose();b.manager=r;a.fa(e.Js);a.fa(e.Object3D)};b.update=function(a){a.getComponent(e.Js).manager.update()};return b}); define("gB",["require","kM","kW","fm","ng"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("ng"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.cO.entities.length&&this.cO.entities.slice().forEach(g.rc);this.bO.Oa.length&&this.bO.Oa.slice().forEach(g.update);this.Nta.entities.length&&this.Nta.entities.slice().forEach(g.Gb);this.Ota.entities.length&&this.Ota.entities.slice().forEach(g.Gb)};a.A={};a.A.cO=[d.Material,d.Plane,d.Js.not];a.A.bO=[d.Plane,d.Material, d.Js];a.A.Nta=[d.Plane.not,d.Js];a.A.Ota=[d.Material.not,d.Js];return a}); define("hq",["require","fm","ch"],function(a){var b=a("fm"),e=a("ch");return{rc:function(a){var g=a.getComponent(b.xb),c=e.cc(g.Kb);if(c){var i=a.B(b.oq);i.parent=c;g.id&&(c=c&&e.YB(c,g.id));i.id=g.id;i.hd=e.cc(a);i.attach=g.attach;c&&i.hd&&(i.attach?c.attach(i.hd):c.add(i.hd))}},update:function(a){var g=a.getComponent(b.xb),c=a.getComponent(b.oq),i=e.cc(g.Kb),f=e.cc(a);if(c.parent!=i||c.hd!=f||g.id!=c.id||g.attach!=c.attach||f&&i&&!f.parent)c=a.D(b.oq),c.hd&&c.hd.parent&&(g.Kb.D(b.Object3D),c.hd.parent.remove(c.hd)), c.parent=i,g.id&&(i=i&&e.YB(i,g.id)),c.id=g.id,c.hd=f,c.attach=g.attach,i&&c.hd&&(c.attach?i.attach(c.hd):i.add(c.hd))},Gb:function(a){var e=a.getComponent(b.oq);e.hd&&e.hd.parent&&e.hd.parent.remove(e.hd);e.parent=r;e.hd=r;e.id=l;a.fa(b.oq)}}}); define("me",["require","kM","kW","fm","hq"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("hq"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.VN.entities.length&&this.VN.entities.slice().forEach(g.rc);this.Xp.entities.length&&this.Xp.entities.slice().forEach(g.update);this.Xp.Oa.length&&this.Xp.Oa.slice().forEach(g.update);this.Xp.Yf.length&&this.Xp.Yf.slice().forEach(g.update);this.pqa.entities.length&&this.pqa.entities.slice().forEach(g.Gb);this.qqa.entities.length&& this.qqa.entities.slice().forEach(g.Gb)};a.A={};a.A.VN=[d.Object3D,d.xb,d.oq.not];a.A.Xp=[d.Object3D,d.xb,d.oq];a.A.pqa=[d.Object3D.not,d.xb,d.oq];a.A.qqa=[d.xb.not,d.oq];return a}); define("cY",["require","kM","kW","fm","ch"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("ch"),a=b.extend(e,function(){e.apply(this,arguments);this.Ve=this.Ve.bind(this);this.jd=this.jd.bind(this);this.SB=this.SB.bind(this)});a.prototype.execute=function(){this.Jta.entities.length&&this.Jta.entities.slice().forEach(this.Ve);this.Ita.entities.length&&this.Ita.entities.slice().forEach(this.SB);this.Kta.entities.length&&this.Kta.entities.slice().forEach(this.jd);this.Lta.entities.length&&this.Lta.entities.slice().forEach(this.jd)}; a.prototype.Ve=function(a){a.B(d.ez)};a.prototype.jd=function(a){a.fa(d.ez)};var c=new THREE.Matrix4,i=new THREE.Vector3;a.prototype.SB=function(a){var b=a.getComponent(d.Ml),e=a.getComponent(d.sa);if(e){var k=a.getComponent(d.Object3D).Rc;if(k&&k.parent){var o=1.0E-7;a.getComponent(d.vf)&&(o=g.UG(a)||o);c.copy(k.parent.matrixWorld).invert();i.setFromMatrixScale(c);k=Math.max(i.x,i.y,i.z);k*=b.scale;b.hH!==l&&(k=Math.min(b.hH*o,k));b.iH!==l&&(k=Math.max(b.iH*o,k));if(e.scale!=k||e.Zf!=b.Zf||e.qg!= b.qg||e.Lh!=b.Lh)e=a.D(d.sa),e.scale=k,e.Zf=b.Zf,e.qg=b.qg,e.Lh=b.Lh}}};a.A={};a.A.Jta=[d.Object3D,d.Ml,d.ez.not];a.A.Ita=[d.Object3D,d.Ml,d.ez];a.A.Kta=[d.Object3D.not,d.ez];a.A.Lta=[d.Ml.not,d.ez];return a}); define("dI",["require","nW","fm","ch"],function(a){function b(a){this.k=a;this.sx=r;this.nK=new THREE.Vector3;this.Ma=new THREE.Vector3;this.b3=this.Pd=this.E7=B;this.update()}var e=a("nW"),d=a("fm"),g=a("ch");b.prototype.update=function(){this.V4=this.k.getComponent(d.Ij).Kb};b.prototype.frame=function(){this.$oa();this.Jm()};b.prototype.$oa=function(){var a=this.V4&&this.V4.getComponent(d.xd),a=a&&a.Ga;if(this.sx!=a&&(this.sx&&(this.sx.unbind(e.Uc,this.Tf,this,m),this.sx.unbind(e.jc,this.um,this, m)),this.sx=a))this.sx.bind(e.Uc,this.Tf,this,m),this.sx.bind(e.jc,this.um,this,m)};b.prototype.Tf=function(a){if("mesh"!=a.data.type)this.um();else{var b=this.Pd;this.Pd=m;var k=g.cc(this.k);if((k=k&&k.parent)&&k.matrixWorld){var o=this.k.getComponent(d.Ij);o&&(i.setFromMatrixPosition(k.matrixWorld),f.copy(k.matrixWorld).invert(),j.fromArray(a.data.objectMatrixWorld),c.setFromMatrixPosition(j),n.copy(j).invert(),o.rotate?a.data.normal?this.nK.copy(a.data.normal).applyMatrix4(j).sub(c).add(i):this.nK.copy(a.data.cameraPosition): this.nK.copy(p),this.nK.applyMatrix4(f).normalize(),this.Ma.copy(a.data.position).applyMatrix4(f),this.E7=m,this.k.P.nb(),b||(a=this.k.getComponent(d.Ij).Ga)&&a.trigger(e.kd))}}};var c=new THREE.Vector3,i=new THREE.Vector3,f=new THREE.Matrix4,j=new THREE.Matrix4,n=new THREE.Matrix4;b.prototype.um=function(){if(this.Pd){this.Pd=B;this.k.P.nb();var a=this.k.getComponent(d.Ij).Ga;a&&a.trigger(e.jc)}};b.prototype.Jm=function(){if(this.E7||this.Pd){this.E7=B;var a=this.k.D(d.sa,m);a.Ee=0;a.je=0;a.Gf=0; k.setFromUnitVectors(o,this.nK);q.setFromQuaternion(k,a.pg);a.hf=q.x*t;a.Ie=q.y*t;a.jf=q.z*t;a.Ig=this.Ma.x;a.rg=this.Ma.y;a.If=this.Ma.z;a.tN=this.b3?0.4:0;this.b3||(g.AX(this.k,a),this.b3=m)}};var k=new THREE.Quaternion,o=new THREE.Vector3(0,0,1),p=new THREE.Vector3(0,1,0),q=new THREE.Euler,t=180/Math.PI;b.prototype.dispose=function(){this.V4=r;this.$oa()};b.rc=function(a){a.B(d.qq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(d.qq);b.manager.dispose();b.manager=r;a.fa(d.qq)};b.frame= function(a){a.getComponent(d.qq).manager.frame()};b.update=function(a){a.getComponent(d.qq).manager.update()};return b}); define("hZ",["require","kM","kW","fm","dI"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("dI"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(){this.Pta.entities.length&&this.Pta.entities.slice().forEach(g.rc);this.lX.Oa.length&&this.lX.entities.slice().forEach(g.update);this.lX.entities.length&&this.lX.entities.slice().forEach(g.frame);this.Qta.entities.length&&this.Qta.entities.slice().forEach(g.Gb);this.Rta.entities.length&&this.Rta.entities.slice().forEach(g.Gb)}; a.A={};a.A.Pta=[d.Object3D,d.Ij,d.qq.not];a.A.lX=[d.Object3D,d.Ij,d.qq];a.A.Qta=[d.Object3D.not,d.qq];a.A.Rta=[d.Ij.not,d.qq];return a});define("fK",["require","gZ"],function(a){return a("gZ")}); define("eB",["require","fm","nA","bD"],function(a){function b(a){this.k=a;this.enabled=B;this.dm=r;this.Kq=0;this.passes=[];this.ki=this.li=B;this.ve=r;this.ia=this.X=100}var e=a("fm"),d=a("nA"),g=a("bD");b.prototype.dispose=function(){this.ve&&(this.ve.saoRenderTarget.dispose(),this.ve.blurIntermediateRenderTarget.dispose(),this.ve.beautyRenderTarget.dispose(),this.ve.normalRenderTarget.dispose(),this.ve.depthRenderTarget.dispose(),this.ve.depthMaterial.dispose(),this.ve.normalMaterial.dispose(), this.ve.saoMaterial.dispose(),this.ve.vBlurMaterial.dispose(),this.ve.hBlurMaterial.dispose(),this.ve.materialCopy.dispose(),this.ve.depthCopy.dispose(),this.ve=r)};b.prototype.update=function(a,b,f,j,n){var k=this.k.getComponent(e.MC),o=!!k;if(this.li=this.enabled!=o)(this.enabled=o)?(!this.ve&&a&&b&&(this.ve=new THREE.SAOPass(a,b,B,m)),this.dm=new d("linear",[new g("alpha",0,1,l)],k.Kqa),this.Kq=0,this.passes=[this.ve],this.ki=m):(this.passes=[],this.ki=B);if(this.enabled&&(this.dm&&(this.dm.vb(n), this.Kq=this.dm.eb("alpha"),1==this.Kq&&(this.dm=r),this.k.P.nb()),k.output!==r&&(this.ve.params.output=k.output),this.ve.params.saoBias=k.bias/k.scale,this.ve.params.saoIntensity=this.Kq*k.intensity,this.ve.params.saoScale=k.scale,this.ve.params.saoKernelRadius=k.Gsa,this.ve.params.saoMinResolution=k.ita/1E3,this.ve.params.saoBlur=0 0.0)\n {\n vec3 rgb = (color * opacity + texel.rgb * texel.a * (1.0 - opacity)) / composedAlpha;\n gl_FragColor = vec4(rgb, composedAlpha);\n }\n else\n {\n gl_FragColor = texel;\n }\n}"}; return b}); define("fF",["require","fm"],function(a){function b(a){this.k=a;this.enabled=B;this.dm=r;this.Kq=0;this.passes=[];this.ki=this.li=B;this.zi=r;this.B5=new THREE.Matrix4;this.D5=new THREE.Matrix4;this.A5=new THREE.Vector3}var e=a("fm");b.prototype.dispose=function(){this.zi&&(this.zi.dispose(),this.zi=r)};b.prototype.update=function(a,b){var c=this.k.getComponent(e.SH),i=!!c;if(this.li=this.enabled!=i)(this.enabled=i)?(!this.zi&&a&&b&&(this.zi=new THREE.MotionBlurPass,this.zi.needsSwap=m,this.B5.copy(b.matrixWorldInverse), this.D5.copy(b.projectionMatrix),this.A5.copy(b.position)),this.passes=[this.zi],this.ki=m):(this.passes=[],this.ki=B);this.enabled&&(this.zi.uniforms.inverseProjectionMatrix.value.copy(b.projectionMatrix).invert(),this.zi.uniforms.near.value=b.near,this.zi.uniforms.far.value=b.far,this.zi.uniforms.depthLimit.value=0.99,this.zi.uniforms.clipToWorldMatrix.value.copy(b.matrixWorld).multiply(this.zi.uniforms.inverseProjectionMatrix.value),this.zi.uniforms.previousWorldToClipMatrix.value.copy(this.D5).multiply(this.B5), this.zi.uniforms.cameraMove.value.copy(b.position).sub(this.A5),this.zi.uniforms.velocityFactor.value=c.intensity,this.zi.uniforms.samples.value=c.jua);this.B5.copy(b.matrixWorldInverse);this.D5.copy(b.projectionMatrix);this.A5.copy(b.position)};return b}); define("ev",["require","mU","fm"],function(a){function b(a){this.k=a;this.enabled=m;this.passes=[];this.J$=this.ki=this.li=B;this.KU=l;this.oh=this.Uf=this.ek=r}a("mU");var e=a("fm");b.prototype.dispose=function(){this.ek&&(this.ek.dispose(),this.ek=r);this.Uf&&(this.Uf=r);this.oh&&(this.oh.material.dispose(),this.oh=r)};b.prototype.update=function(a,b,c,i,f,j){f=this.k.getComponent(e.Ey);j=!!f&&f.lva&&j;if(this.li=this.KU!==j)(this.KU=j)?(this.ek||(this.ek=new THREE.SSAARenderPass(a,b),this.ek.sampleLevel= f.DO,this.ek.needsSwap=m,this.ek.clear=m,this.ek.clearColor=65793,this.ek.clearAlpha=0),this.oh||(this.oh=new THREE.ShaderPass(THREE.CopyShader),this.oh.needsSwap=m),this.passes=[this.ek,this.oh],this.J$=this.ki=m):(this.Uf||(this.Uf=new THREE.RenderPass,this.Uf.clear=m,this.Uf.clearColor=65793,this.Uf.clearAlpha=0),this.passes=[this.Uf],this.J$=this.ki=B);this.KU?(this.ek.scene=a,this.ek.camera=b,this.ek.sampleLevel=f.DO,this.oh.uniforms.opacity.value=Math.pow(2,Math.round(5 0.0)\n {\n vec3 rgb = (color * alpha + texel.rgb * texel.a * (1.0 - alpha)) / composedAlpha;\n gl_FragColor = vec4(rgb, composedAlpha);\n }\n else\n {\n gl_FragColor = texel;\n }\n}"}; return b}); define("gt","require,eB,q,nL,fF,ev,mM,ch".split(","),function(a){function b(a){this.Mc=a;this.wa=this.ma=this.of=r;this.ia=this.X=l;this.oh=this.Nq=this.h=this.FF=r;this.NQ=[new i(a),new e(a),new c(a),new f(a),new d(a),new g(a)];this.vS=B}var e=a("eB"),d=a("q"),g=a("nL"),c=a("fF"),i=a("ev"),f=a("mM"),j=a("ch");b.prototype.dispose=function(){if(this.h)this.h.domElement.style.backgroundColor=l;for(;this.NQ.length;)this.NQ.pop().dispose();this.Ofa();if(this.Nq){this.Nq.material.dispose();this.Nq=r}if(this.oh){this.oh.material.dispose(); this.oh=r}};b.prototype.setSize=function(a,b){if(this.X!=a||this.ia!=b){this.X=a;this.ia=b;this.of&&this.of.setSize(this.X,this.ia);this.h&&this.h.setSize(this.X,this.ia)}};b.prototype.yH=R("wa");b.prototype.iv=R("ma");b.prototype.setRenderTarget=function(a){if(this.FF!=a){this.FF=a;if(this.of){this.of.reset(a||l);this.of.renderToScreen=!a}}};b.prototype.KSa=function(a){if(this.h!=a){this.h=a;this.h.setSize(this.X,this.ia);this.Ofa()}};b.prototype.render=function(a){this.jKa();this.kMa(a);this.h.domElement.style.backgroundColor= this.vS?"#000000":l;this.of.render()};b.prototype.jKa=function(){if(!this.of){this.of=new THREE.EffectComposer(this.h,this.FF||l);this.of.renderToScreen=!this.FF;this.of.setSize(this.X,this.ia)}};b.prototype.kMa=function(a){var b=B,c=B;this.vS=B;this.NQ.forEach(function(d){d.update(this.wa,this.ma,this.X,this.ia,a,this.of.renderToScreen);b||(b=d.li);c||(c=d.ki);this.vS||(this.vS=d.J$)}.bind(this));c=c&&this.h.outputEncoding==THREE.sRGBEncoding&&this.of.renderToScreen;j.PSa(this.wa,c);if(c&&!this.Nq){this.Nq= new THREE.ShaderPass(THREE.GammaCorrectionShader);b=this.Nq.needsSwap=m}else if(this.Nq)this.Nq.enabled=c;if(!this.of.renderToScreen&&!this.oh){this.oh=new THREE.ShaderPass(THREE.CopyShader);b=this.oh.needsSwap=m}else if(this.oh)this.oh.enabled=!this.of.renderToScreen;if(b){var d=[];this.NQ.forEach(function(a){d=d.concat(a.passes)});this.Nq&&d.push(this.Nq);for(this.oh&&d.push(this.oh);this.of.passes.length>0;)this.of.removePass(this.of.passes[this.of.passes.length-1]);d.forEach(function(a){this.of.addPass(a)}.bind(this))}}; b.prototype.Ofa=function(){if(this.of){this.of.renderTarget1!=this.FF&&this.of.renderTarget1.dispose();this.of.renderTarget2!=this.FF&&this.of.renderTarget2.dispose();this.of=r}};return b}); define("cV",["require","u","fm","ch","gt"],function(a){function b(a){this.caa=a;this.opacity=0;this.height=this.width=l;this.renderTarget=r;this.wa=l;this.vma=B;this.uma=m;this.ma=l;this.fB=B;this.hT=l;this.bc=new c(a);this.update()}var e=a("u"),d=a("fm"),g=a("ch"),c=a("gt");b.prototype.update=function(){var a=this.caa.getComponent(d.Scene);this.opacity=a&&a.opacity||0;this.vma=a?a.locked:B;this.uma=a?a.enabled:m;var b=a&&a.scene;this.wa!=b&&(this.wa=b,this.fB=m,this.bc.yH(this.wa));var c=(b=(b=a&& a.Un)&&(b.getComponent(d.OrthographicCamera)||b.getComponent(d.PerspectiveCamera)))&&b.width,e=b&&b.height;if(this.width!=c||this.height!=e)this.width=c,this.height=e,this.fB=m,this.bc.setSize(this.width,this.height);a=a&&"srgb"==a.outputEncoding?THREE.sRGBEncoding:THREE.LinearEncoding;this.hT!=a&&(this.hT=a,this.fB=m,g.OSa(this.wa,a));a=b&&b.camera;this.ma!=a&&(this.ma=a,this.fB=m,this.bc.iv(this.ma));this.wa&&(g.NSa(this.wa,this.ma),g.QSa(this.wa,this.width,this.height));return this};b.prototype.render= function(a,b,c){if((b||this.fB||!this.vma)&&this.uma)window.stats&&window.stats.begin(),b?(a.setRenderTarget(r),this.fB=m):(this.renderTarget||(this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight,{minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat,type:THREE.HalfFloatType,samples:a.capabilities.isWebGL2?e.ub()?2:8:0}),this.renderTarget.depthTexture=new THREE.DepthTexture),a.setRenderTarget(this.renderTarget),this.renderTarget.texture.encoding= this.hT,this.fB=B),a.outputEncoding=this.hT,this.bc.setRenderTarget(b?r:this.renderTarget),this.bc.KSa(a),this.bc.render(c),window.stats&&window.stats.end()};b.prototype.isVisible=function(){return this.wa&&this.ma&&0c.indexOf(a)}).forEach(function(a){a.dispose()});this.tu=c;var e=this.tu.filter(function(a){return a.isVisible()});if(0\n}"});a.transparent=m;return a};b.rc=function(a){a.B(d.sq).manager= new b(a)};b.Gb=function(a){var b=a.getComponent(d.sq);b.manager.dispose();b.manager=r;a.fa(d.sq)};b.update=function(a){a.getComponent(d.sq).manager.update()};b.frame=function(a,b,c){a.getComponent(d.sq).manager.frame(b,c)};return b}); define("kS",["require","kM","kW","fm","fr"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("fr"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a,b){this.eua.entities.length&&this.eua.entities.slice().forEach(g.rc);this.sX.entities.length&&this.sX.entities.slice().forEach(function(d){g.frame(d,a,b)});this.fua.entities.length&&this.fua.entities.slice().forEach(g.Gb)};a.A={};a.A.eua=[d.hh,d.sq.not];a.A.fua=[d.hh.not,d.sq];a.A.sX=[d.hh,d.sq];return a}); define("jr","require,kM,nW,fQ,de,ch,hA,kI".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("fQ"),g=a("de"),c=a("ch"),i=a("hA"),f=a("kI"),a=b.extend(d,function(a,b){d.call(this);this.ed=a;this.wa=b;this.ka=new g;this.ka.yO([this.ed]);this.ka.bind(e.T,this.Xc,this,B);this.ka.bind(e.tc,this.pf,this,B);this.Nc=r;this.ab=0;f.$n(this.ka,i.eD)});a.prototype.Oi=function(a){if(this.ab!==a){this.ab=a;if(this.Nc){this.Nc.material.opacity=this.ab;this.Nc.material.visible=this.ab>0;this.Nc.material.needsUpdate= m}}};a.prototype.ul=function(){return!!this.Nc};a.prototype.Xc=function(){this.BBa();this.trigger(e.T)};a.prototype.pf=function(){this.trigger(e.tc)};a.prototype.BBa=function(){var a=new THREE.Texture;a.image=f.ff(this.ed);a.generateMipmaps=m;a.minFilter=THREE.LinearMipMapLinearFilter;a.needsUpdate=m;a=new THREE.SpriteMaterial({map:a});a.sizeAttenuation=B;a.transparent=m;a.visible=this.ab>0;a.opacity=this.ab;this.Nc=new THREE.Sprite(a);this.Nc.renderOrder=-1E3};a.prototype.update=function(){if(this.Nc){var a= c.LN(this.wa);if(this.Nc.parent!=a){this.Nc.parent&&c.Zta(this.Nc.parent,this.Nc);a&&c.vNa(a,this.Nc)}if(a){var b=c.BW(this.wa),d=this.Nc.material.map.image.width,f=this.Nc.material.map.image.height,a=b/(2*Math.tan(a.fov*j/2)),b=Math.max(b/a,c.Ara(this.wa)/(a*d/f));if(this.Nc.scale.y!=b){this.Nc.scale.y=b;this.Nc.scale.x=b*d/f}}d=c.AW(this.wa);if(this.Nc.material.map.encoding!=d){this.Nc.material.map.encoding=d;this.Nc.material.needsUpdate=m}}};a.prototype.dispose=function(){if(this.Nc){this.Nc.parent&& c.Zta(this.Nc.parent,this.Nc);this.Nc.material.map.dispose();this.Nc.material.dispose();this.Nc=r}this.ka&&f.Bj(this.ka,i.eD)};var j=Math.PI/180;return a}); define("iZ","require,nW,fm,jr,nA,bD".split(","),function(a){function b(a,b){this.k=a;this.Xh=b;this.Ys=l;this.$h=this.Ul=this.N=this.wa=r;this.update()}var e=a("nW"),d=a("fm"),g=a("jr"),c=a("nA"),i=a("bD");b.prototype.frame=function(a){this.N&&this.yB(a);this.Ul&&this.Ul.update();this.$h&&this.$h.update()};b.prototype.update=function(){var a=this.k.getComponent(d.Scene);this.wa=a.scene;if(!this.wa){if(!a.scene)return;this.wa=a.scene}a=a.j9||r;if(!(this.Ys===a||this.N)){this.TI(this.$h);this.$h=r; if(this.Ys=a)this.$h=this.PAa(this.Ys);else{this.lw();this.Xh.trigger(e.T)}}};b.prototype.yB=function(a){this.N.vb(a);this.Ul&&this.Ul.Oi(Math.min(1,Math.max(0,this.N.eb("alpha"))));this.$h&&this.$h.Oi(Math.min(1,Math.max(0,this.N.eb("nextAlpha"))));if(this.N.Se()){this.N=r;if(this.Ul){this.TI(this.Ul);this.Ul=r}this.Ul=this.$h;this.$h=r;this.update()}this.k.P.nb()};b.prototype.N4=function(){this.$h.unbind(e.T,this.N4,this,m);this.$h.unbind(e.tc,this.O4,this,m);this.lw();this.Xh.trigger(e.T)};b.prototype.O4= function(){this.TI(this.$h);this.$h=r;this.lw();this.Xh.trigger(e.T)};b.prototype.lw=function(){if(this.$h&&this.Ul)this.N=new c("linear",[new i("nextAlpha",0,2,l),new i("alpha",2,0,l)],600);else if(this.$h)this.N=new c("linear",[new i("nextAlpha",0,1,l)],300);else if(this.Ul)this.N=new c("linear",[new i("alpha",1,0,l)],300);this.k.P.nb()};b.prototype.PAa=function(a){a=new g(a,this.wa);this.oza(a);a.Oi(0);return a};b.prototype.TI=function(a){if(a){this.NLa(a);a.dispose()}};b.prototype.oza=function(a){a.bind(e.T, this.N4,this,m);a.bind(e.tc,this.O4,this,m)};b.prototype.NLa=function(a){a.unbind(e.T,this.N4,this,m);a.unbind(e.tc,this.O4,this,m)};b.prototype.dispose=function(){if(this.Ul){this.TI(this.Ul);this.Ul=r}if(this.$h){this.TI(this.$h);this.$h=r}};return b}); define("kV","require,nW,hA,mU,oo,fm,ch,jV".split(","),function(a){function b(a,b){this.k=a;this.lU=this.MF=this.LF=this.Xv=this.uz=this.Ys=this.Wz=l;this.ma=this.h=this.wa=r;this.Xh=b;this.qe=new c(this.Xh);this.Wc=[new j(d.eD),new j(d.eD)];this.Wc.forEach(function(a){a.bind(e.T,this.Xc,this,m);a.bind(e.tc,this.pf,this,m)}.bind(this));this.kna([]);this.update()}var e=a("nW"),d=a("hA"),g=a("mU"),c=a("oo"),i=a("fm"),f=a("ch"),j=a("jV");b.prototype.frame=function(){if(!this.h&&this.wa)if(this.h=b.mPa(this.wa)){this.V(); this.i8()}};b.prototype.update=function(){var a=this.k.getComponent(i.Scene),b=B,c=B,d=a.Nqa||r;if(this.Wz!==d){this.Wz=d;c=m}d=a.j9||r;if(this.Ys!==d){this.Ys=d;c=m}d=a.$pa||r;if(this.uz!==d){this.uz=d;c=m}if(c){this.mpa();this.i8();b=m}if(this.Xv!==a.backgroundColor){this.Xv=a.backgroundColor;b=m}if(this.wa!==a.scene){this.wa=a.scene;b=m}b&&this.V()};b.prototype.mpa=function(){this.kna(this.vEa())};b.prototype.vEa=function(){var a=[];this.Wz&&a.indexOf(this.Wz)==-1&&a.push(this.Wz);!this.Ys&&this.uz&& a.indexOf(this.uz)==-1&&a.push(this.uz);if(this.wa&&this.wa.background&&this.wa.background.image&&this.wa.background.image.src){var b=this.wa.background.image.src;a.indexOf(b)==-1&&a.push(b)}return a};b.prototype.kna=function(a){var b=[],c=[];this.Wc.forEach(function(d){var f=d.ji();if(a.indexOf(f)<0){d.cancel();b.push(d)}else c.push(f)});a.forEach(function(a){c.indexOf(a)<0&&b.shift().load(a)})};b.prototype.i8=function(){var a=0;this.qe.sqa();this.Wc.forEach(function(b){if(b.ji()&&!b.ul()){this.qe.gN(b); a++}}.bind(this));a==0&&this.Xh&&this.Xh.trigger(e.T)};b.prototype.dispose=function(){this.Wc.forEach(function(a){a.cancel();a.unbind(e.T,this.Xc,this,m);a.unbind(e.tc,this.pf,this,m)}.bind(this));if(this.k){this.BQ();this.rt();this.k=r}};b.prototype.Xc=function(){this.V();this.i8()};b.prototype.V=function(){if(this.wa&&this.h){if(this.Wz){var a=this.iha(this.Wz);a?this.Sya(a):this.BQ()}else this.BQ();if(this.Ys)this.rt();else if(this.uz)(a=this.iha(this.uz))?this.gea(a,l):this.rt();else this.Xv? this.gea(l,this.Xv):this.rt();this.mpa();this.k.P.nb()}};b.prototype.iha=function(a){for(var b=0;b0)return d.renderer}return r};return b}); define("hj",["require","fm","oo","iZ","kV"],function(a){function b(a){this.k=a;this.Xh=r;var b=this.k.D(e.Scene),j=this.k.D(e.uq);this.k.B(e.Object3D).Rc=j.scene=b.scene=new THREE.Scene;this.qe=new d;this.ZI=new c(a,this.qe.QB());this.Td=new g(a,this.qe.QB())}var e=a("fm"),d=a("oo"),g=a("iZ"),c=a("kV");b.prototype.frame=function(a){this.ZI.frame(a);this.Td.frame(a)};b.prototype.update=function(){this.ZI.update();this.Td.update();this.sMa()};b.prototype.sMa=function(){var a=this.k.getComponent(e.Scene); this.Xh!=a.A9&&(this.Xh=a.A9,this.qe.RRa(this.Xh))};b.prototype.dispose=function(){this.qe&&(this.qe.dispose(),this.qe=r);this.Td&&(this.Td.dispose(),this.Td=r);this.ZI&&(this.ZI.dispose(),this.ZI=r);this.k&&(this.k=r)};b.rc=function(a){a.B(e.uq).manager=new b(a)};b.Gb=function(a){var b=a.getComponent(e.uq);b.manager.dispose();b.manager=r;a.fa(e.uq);a.fa(e.Object3D)};b.frame=function(a,b){a.getComponent(e.uq).manager.frame(b)};b.update=function(a){a.getComponent(e.uq).manager.update()};b.Eaa=function(a){c.Eaa(a)}; return b}); define("eI",["require","kM","kW","fm","hj"],function(a){var b=a("kM"),e=a("kW"),d=a("fm"),g=a("hj"),a=b.extend(e,function(){e.apply(this,arguments)});a.prototype.execute=function(a){this.lua.entities.length&&this.lua.entities.slice().forEach(g.rc);this.scenes.Oa.length&&this.scenes.Oa.slice().forEach(g.update);this.scenes.entities.length&&this.scenes.entities.slice().forEach(function(b){g.frame(b,a)});g.Eaa(this.sX.entities.slice());this.mua.entities.length&&this.mua.entities.slice().forEach(g.Gb)};a.A= {};a.A.lua=[d.Scene,d.uq.not];a.A.scenes=[d.Scene,d.uq];a.A.mua=[d.Scene.not,d.uq];a.A.sX=[d.hh,d.sq];return a}); define("eq",["require","u"],function(a){function b(a){this.ig=a;"CANVAS"==a.tagName?(this.I=a,this.kc=1):(this.I=document.createElement("canvas"),this.kc=g.Xd()==g.pi?0.5:1,this.I.width=Math.round(a.width*this.kc),this.I.height=Math.round(a.height*this.kc));this.ha=this.I.getContext("2d");this.ha.globalCompositeOperation="copy";this.I!=a&&this.ha.drawImage(a,0,0,a.width,a.height,0,0,this.I.width,this.I.height)}function e(a,b,c){0>a?a=c==THREE.RepeatWrapping?b+a%b:c==THREE.MirroredRepeatWrapping?0== Math.floor(Math.abs(a/b))%2?Math.abs(a%b):b-1+a%b:0:a>=b&&(a=c==THREE.RepeatWrapping?a%b:c==THREE.MirroredRepeatWrapping?1==Math.floor(a/b)%2?b-1-a%b:a%b:b-1);return a}function d(a,b,d){try{if(a instanceof CanvasRenderingContext2D)return a.getImageData(b,d,1,1).data;if(a.tagName&&"CANVAS"==a.tagName)return a.qFa?[0,0,0,0]:a.getContext("2d").getImageData(b,d,1,1).data;c.drawImage(a,b,d,1,1,0,0,1,1);return c.getImageData(0,0,1,1).data}catch(e){return[0,0,0,0]}}var g=a("u");b.prototype.transparent=function(a, c){return b.transparent(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.mv=function(a,c){return b.mv(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.info=function(a,c){return b.info(this.ha,Math.round(a*this.kc),Math.round(c*this.kc))};b.prototype.dispose=function(){this.I!=this.ig&&(this.I.width=this.I.height=0);this.ig=this.I=this.ha=r};b.FTa=function(a,c,d){if(!a.image||!a.image.width||!a.image.height)return m;c=e(Math.round(c*a.image.width),a.image.width,a.wrapS); d=e(Math.round((1-d)*a.image.height),a.image.height,a.wrapT);return!b.transparent(a.image,c,d)};b.transparent=function(a,c,d){return!b.mv(a,c,d)};b.mv=function(a,b,c){return!a.tagName||a.tagName&&"VIDEO"==a.tagName?m:0b;b++)a[b]= "0"+b.toString(16);for(;256>b;b++)a[b]=b.toString(16);return a}();return b}); define("nB","require,kM,nW,eq,fm,ch,hB,bb".split(","),function(a){function b(a){this.cl=a;this.dK();this.YI=[];this.Ix=r;this.hA=this.r6=B;this.sla={};this.sla.aO=this.AHa.bind(this);this.update()}function e(a,b,c,d){this.Kb=a;this.Rc=b;this.point=c;this.normal=d}function d(a){return{x:a.x,y:a.y,z:a.z}}function g(a,b){a.indexOf(b)<0&&a.push(b)}function c(a,b){var c=a.indexOf(b);c>=0&&a.splice(c,1)}var i=a("kM"),f=a("nW"),j=a("eq"),n=a("fm"),k=a("ch"),o=a("hB"),p=a("bb");i.MB(b,[o]);b.prototype.update= function(){var a=this.cl.getComponent(n.wo);this.QF(a&&(a.enabled?a.Op:r));a&&a.Cb&&a.Cb.set("picker",a.Op?this.sla:r)};b.prototype.frame=function(){this.uu(s)};b.prototype.Tf=function(){this.Qk&&E.indexOf(this.cl.P)==-1?this.uu(s):this.uu(t)};b.prototype.uu=function(a){if(!(this.Ix&&a>=this.r6)){this.Ix&&clearTimeout(this.Ix);this.r6=a;this.Ix=setTimeout(function(){this.Ix=r;this.XGa()}.bind(this),this.r6)}};b.prototype.XGa=function(){var a=this.gEa();this.Qma(a.map(function(a){return a.Kb}));a.forEach(function(a){this.jV(f.Uc, a)}.bind(this))};b.prototype.GK=function(){var a=this.T1();a&&this.jV(f.oa,a)};b.prototype.OS=function(){var a=this.T1();a&&this.jV(f.to,a)};b.prototype.tm=function(){var a=this.T1();if(a){this.u1=a.Kb;this.w1=a.Kb.getComponent(n.xd).Ga;this.jV(f.Hb,a)}};b.prototype.Zq=function(){var a;if(this.u1)a=(a=this.u1.getComponent(n.xd))&&a.Ga;if(!a&&this.w1)a=this.w1;this.w1=this.u1=r;a&&a.trigger(f.ic,this.Jga())};b.prototype.AHa=function(a,b,c){var d=this.vc,e=this.wc,f=this.fK,j=this.gK;this.vc=b;this.wc= c;this.gK=this.fK=l;var a=this.X1(a,[],1),g;a.length>0&&(g=this.tha(a[0]));this.vc=d;this.wc=e;this.fK=f;this.gK=j;return g};b.prototype.gEa=function(){var a=F.get(this.cl.P);if(!a||a.length==0)return[];var b=J.get(this.cl.P);return this.X1(a,b)};b.prototype.T1=function(){var a=D.get(this.cl.P);if(!a||a.length==0)return r;var b=L.get(this.cl.P),a=this.X1(a,b,1);return a.length>0?a[0]:r};b.prototype.Qma=function(a){this.YI.forEach(function(b){a.indexOf(b)<0&&this.toa(b,f.jc)}.bind(this));var b=this.YI; this.YI=a;this.YI.forEach(function(a){b.indexOf(a)<0&&this.toa(a,f.kd)}.bind(this));var c=a.find(function(a){return(a=a.getComponent(n.xd))&&a.Gl});if(this.hA!=c)(this.hA=c)?this.Dx(p.uf):this.qL(p.uf)};b.prototype.X1=function(a,b,c){c===l&&(c=Infinity);var d=[],f=[];a&&a.forEach(function(a){var b=k.cc(a);if(b){d.push(a);f.push(b)}});var g=[],i=[];b&&b.forEach(function(a){var b=k.cc(a);if(b){g.push(a);i.push(b)}});for(var a=this.fFa(f,this.vc,this.wc),b=[],o=[],q=0;q=0))if(x=y.getComponent(n.xd)){var F=Array.isArray(t.material)&&p.face?t.material[p.face.materialIndex]:t.material;if(!F||F.visible)if(x.DH||!F||!F.map||j.FTa(F.map,p.uv.x,p.uv.y)){t.isSkinnedMesh&&(t=this.DCa(t.skeleton.bones,u));b.push(y);o.push(new e(y,t,u,s))}}}}return o}; b.prototype.fFa=function(a,b,c){var d=k.cc(this.cl);if(!d||!d.isCamera)return[];w.set(b,c);this.hK(w);v.setFromCamera(w,d);var e=[];a.forEach(function(a){a.traverse(function(a){if(!a.isSkinnedMesh&&a.geometry&&!a.geometry.userData.gqa){a.geometry.computeBoundsTree();a.geometry.userData.gqa=m}if(a.isSkinnedMesh&&!a.userData.l9){a.userData.l9=a.geometry.boundingBox;a.geometry.boundingBox=x;a.userData.iqa=a.geometry.boundingSphere;a.geometry.boundingSphere=y;e.push(a)}})});v.firstHitOnly=m;a=v.intersectObjects(a, m);e.forEach(function(a){a.geometry.boundingBox=a.userData.l9;delete a.userData.l9;a.geometry.boundingSphere=a.userData.iqa;delete a.userData.iqa});a=a.filter(function(a){return a.object.isLine?B:m});a.sort(function(a,b){var c=-a.object.renderOrder,d=-b.object.renderOrder;if(c==d){c=a.object.material&&!a.object.material.depthTest?0:1;d=b.object.material&&!b.object.material.depthTest?0:1}if(c==d){c=a.distance;d=b.distance}return c-d});return a};b.prototype.jV=function(a,b){var c=this.tha(b);b.Kb.getComponent(n.xd).Ga.trigger(a, c)};b.prototype.Jga=function(){var a={};a.x=this.vc;a.y=this.wc;if(this.fK!==l&&this.gK!==l){a.pageX=this.fK;a.pageY=this.gK}return a};b.prototype.tha=function(a){var b=this.Jga(),c=a.Rc,e=a.point,a=a.normal;b.position=d(e);b.cameraPosition=d(u.setFromMatrixPosition(k.cc(this.cl).matrixWorld));for(var f=c,j=b;;){j.object=f.userData.id;j.name=f.name;j.type=f.isMesh?"mesh":f.isBone?"bone":"other";j.localPosition=d(f.worldToLocal(u.copy(e)));j.localScale=f.worldToLocal(u.set(1,1,1).normalize()).length(); j.objectMatrixWorld=c.matrixWorld.toArray();a&&(j.normal=d(q(c,a,f,u)));if(!f.parent||!f.parent.userData.id)break;f=f.parent;j=j.parent={}}return b};var q=function(){var a=new THREE.Vector3;matrix4=new THREE.Matrix4;return function(b,c,d,e){e.copy(c);if(b==d)return e;e.applyMatrix4(b.matrixWorld);e.sub(a.setFromMatrixPosition(b.matrixWorld));e.add(a.setFromMatrixPosition(d.matrixWorld));e.applyMatrix4(matrix4.copy(d.matrixWorld).invert()).normalize();return e}}();b.prototype.toa=function(a,b){var c= a.getComponent(n.xd);(c=c&&c.Ga)&&c.trigger(b)};b.prototype.DCa=function(a,b){for(var c=r,d=Infinity,e=a.slice();e.length;){var f=e.shift(),j=b.distanceTo(f.getWorldPosition(u));if(jb+180;)a=a-360;return e(a,b,c)}function e(a,b,c){if(!c)return b;a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var d=a("kM"),g=a("nW"),c=a("cu"),i=a("kW"),f=a("fm"),j=a("ch"),a=d.extend(i,function(){i.apply(this,arguments);this.Ve=this.Ve.bind(this);this.tf=this.tf.bind(this);this.jd=this.jd.bind(this)});a.prototype.execute=function(a,b){this.VN.entities.length&&this.VN.entities.slice().forEach(this.Ve); this.Xp.Yf.length&&this.Xp.Yf.slice().forEach(function(c){this.tf(c,a,b)}.bind(this));this.Xp.Oa.length&&this.Xp.Oa.slice().forEach(function(c){this.tf(c,a,b)}.bind(this));this.yta.entities.length&&this.yta.entities.slice().forEach(function(c){this.tf(c,a,b)}.bind(this));this.Lqa.entities.length&&this.Lqa.entities.slice().forEach(this.jd);this.Mqa.entities.length&&this.Mqa.entities.slice().forEach(this.jd)};a.prototype.Ve=function(a){var b=a.getComponent(f.sa),c=a.B(f.vf);c.Ee=b.Ee;c.je=b.je;c.Gf= b.Gf;c.hf=b.hf;c.Ie=b.Ie;c.jf=b.jf;c.pg=b.pg;c.scale=b.scale;c.Zf=b.Zf;c.qg=b.qg;c.Lh=b.Lh;c.Ig=b.Ig;c.rg=b.rg;c.If=b.If;this.updateMatrixWorld(a)};a.prototype.tf=function(a){var c=a.getComponent(f.sa),d=a.getComponent(f.vf),j=c.tN||0;j?a.getComponent(f.hz)||a.B(f.hz):a.fa(f.hz);var g=r;if(c.Ee!==d.Ee){g||(g=a.D(f.vf));g.Ee=e(g.Ee,c.Ee,j)}if(c.je!==d.je){g||(g=a.D(f.vf));g.je=e(g.je,c.je,j)}if(c.Gf!==d.Gf){g||(g=a.D(f.vf));g.Gf=e(g.Gf,c.Gf,j)}if(c.hf!==d.hf){g||(g=a.D(f.vf));g.hf=b(g.hf,c.hf,j)}if(c.Ie!== d.Ie){g||(g=a.D(f.vf));g.Ie=b(g.Ie,c.Ie,j)}if(c.jf!==d.jf){g||(g=a.D(f.vf));g.jf=b(g.jf,c.jf,j)}if(c.scale!==d.scale){g||(g=a.D(f.vf));g.scale=c.scale}if(c.Zf!==d.Zf){g||(g=a.D(f.vf));g.Zf=c.Zf}if(c.qg!==d.qg){g||(g=a.D(f.vf));g.qg=c.qg}if(c.Lh!==d.Lh){g||(g=a.D(f.vf));g.Lh=c.Lh}if(c.Ig!==d.Ig){g||(g=a.D(f.vf));g.Ig=e(g.Ig,c.Ig,j)}if(c.rg!==d.rg){g||(g=a.D(f.vf));g.rg=e(g.rg,c.rg,j)}if(c.If!==d.If){g||(g=a.D(f.vf));g.If=e(g.If,c.If,j)}g?this.updateMatrixWorld(a):a.fa(f.hz)};var n=new THREE.Vector3; a.prototype.updateMatrixWorld=function(a){j.AX(a,a.getComponent(f.vf));var b=a.getComponent(f.sa).Ga;if(b){j.getWorldPosition(a,n);a={position:{}};a.position.x=n.x;a.position.y=n.y;a.position.z=n.z;b.trigger(new c(g.Is,a))}};a.prototype.jd=function(a){a.fa(f.vf);a.fa(f.hz)};a.A={};a.A.Xp=[f.Object3D,f.sa,f.vf];a.A.VN=[f.Object3D,f.sa,f.vf.not];a.A.yta=[f.Object3D,f.sa,f.vf,f.hz];a.A.Lqa=[f.Object3D.not,f.sa,f.vf];a.A.Mqa=[f.sa.not,f.vf];return a}); define("gw",["require"],function(){function a(a,d,g){this.ed=a;this.doa=d;this.Uz=g||b}var b=function(){var a=document.createElement("canvas");a.width=a.height=256;a.getContext("2d").clearRect(0,0,a.width,a.height);return a}();a.prototype.isEmpty=function(){return this.Uz==b};a.prototype.isEqual=function(a,b){return this.ed==a.ed&&Math.abs(this.doa-a.doa)<(b||0)&&this.Uz==a.Uz};return a}); define("cX",["require","lf","u","hH"],function(a){function b(a){return g.xva(a.get("width"),a.get("height"),a.get("framerate"))}function e(a,b){if(!b)return m;var c=a.get("url"),e=a.get("type")||"";switch(b){case f:return i.is(c,i.bda)||d(e,"webm");case j:return i.is(c,i.Owa)||(i.is(c,i.gZ)||i.is(c,i.Wba)||!c)&&(d(e,"hev1")||d(e,"h265")||d(e,"heic"))?m:B;case n:return i.is(c,i.gZ)||d(e,"mp4");case k:return i.is(c,i.Zm)||d(e,"x-mpegurl");case o:return i.is(c,i.pca)||d(e,"ogg");case p:return i.is(c, i.Wba)||d(e,"quicktime");default:return B}}function d(a,b){return 0<=(a||"").toLowerCase().indexOf(b)}var g=a("lf"),c=a("u"),i=a("hH"),f="webm",j="h265",n="mp4",k="hls",o="ogv",p="mov",q={vPa:function(a){return q.select(a.get("levels"))},tPa:function(a){return q.select(a.get("levels"))},select:function(a){a||(a=[]);var a=a.slice(),d=[];g.DPa&&d.push({type:k,ls:B});g.PPa&&d.push({type:j,ls:m});g.h$&&d.push({type:f,ls:m});g.PW&&d.push({type:n,ls:m});g.QPa&&d.push({type:p,ls:m});g.g$&&d.push({type:o, ls:m});d.push({type:n,ls:m});d.push({type:f,ls:m});d.push({type:n,ls:B});d.push({type:f,ls:B});for(var i=1E3*(c.ub()?800:5E3),q=0;q0&&this.wf>this.$a-0.15&&!this.IR()&&!this.Lk?this.JQ():n.browser()==n.tk&&this.wf>0&&this.wf>this.$a-0.05&&!this.IR()&&this.Lk&&this.JQ();this.DM()};v.prototype.ai=function(){this.Aq=this.mb.zN().map(function(a){for(var b=r,c=0;cu*e){w=i;c=s*i/u}else{c=e;w=u*e/s}break;default:if(s*i>u*e){c=e;w=u*e/s}else{w=i;c=s*i/u}}switch(b.dsa){case f.Ha:e=-e*0.5;break;case f.Ua:e=e*0.5-c;break;default:e=-c*0.5}switch(b.verticalAlign){case f.ec:i=i*0.5-w;break;case f.Yb:i= -i*0.5;break;default:i=-w*0.5}s=b.zIndex-n.Ywa;g.set(b.geometry,e,i,0,0,0,c,0,0,1,0,w,0,1,0);a.D(d.sa,m).Gf=s;a.P.nb()};n.Ywa=100;n.A={};n.A.cO=[d.Pv,d.Ps.not];n.A.bO=[d.Pv,d.Ps,d.Kj];n.A.Mta=[d.Pv.not,d.Ps];return n}); define("ii","require,mv,n,mp,hz,gF,hR,kt,ho,kR,lU,it,nY,nH,fw,bG,hd,fd,ks,gG,gB,me,cY,hZ,kS,eI,mL,hV,kx,ep,jR,el,nN,fg".split(","),function(a){var b=a("mv"),e=a("n"),d=a("mp"),g=a("hz"),c=a("gF"),i=a("hR"),f=a("kt"),j=a("ho"),n=a("kR"),k=a("lU"),o=a("it"),p=a("nY"),q=a("nH"),t=a("fw"),s=a("bG"),u=a("hd"),w=a("fd"),v=a("ks"),x=a("gG"),y=a("gB");ParentSystem=a("me");PixelScaleTransformSystem=a("cY");PointerOverTransformSystem=a("hZ");RendererSystem=a("kS");SceneSystem=a("eI");SelectionSystem=a("mL"); SolidMaterialSystem=a("hV");SphereSystem=a("kx");SpriteSystem=a("ep");TransformSystem=a("jR");VideoMaterialSystem=a("el");ViewportSystem=a("nN");ViewportPlaneGeometrySystem=a("fg");a={};a.sv=b;a.Il=e;a.Jy=d;a.Camera=g;a.nwa=c;a.Pi=i;a.Av=f;a.ys=j;a.Group=n;a.As=k;a.Ri=o;a.Light=p;a.Line=q;a.Iv=t;a.mq=s;a.Ds=u;a.Mesh=w;a.ug=v;a.hxa=x;a.xb=ParentSystem;a.Plane=y;a.Ml=PixelScaleTransformSystem;a.Ij=PointerOverTransformSystem;a.hh=RendererSystem;a.Scene=SceneSystem;a.yxa=SelectionSystem;a.Bc=SolidMaterialSystem; a.Sphere=SphereSystem;a.Sprite=SpriteSystem;a.sa=TransformSystem;a.Nv=VideoMaterialSystem;a.Kj=ViewportSystem;a.Pv=ViewportPlaneGeometrySystem;return a}); define("nd",["require","u"],function(a){function b(a){for(var a=atob(a.split(",")[1]),b=[],c=0;c=0)){this.jB.push(a);if(a=this.h.D(j.hh))a.jO=this.jB.slice()}};a.prototype.oRa=function(a){a=this.jB.indexOf(a);if(!(a<0)){this.jB.splice(a,1);if(a=this.h.D(j.hh))a.jO=this.jB.slice()}};a.prototype.SSa=function(){if(this.rB!=m){this.rB=m;var a=this.h.D(j.hh);if(a)a.shadowMap=this.rB}};a.prototype.vd=function(a){this.Gr.vd(a)};a.prototype.uC=function(){this.dJ.trigger();this.Gr.update();var a=this.h.getComponent(j.hh).canvas;return k.Gva(a)};a.prototype.s9=function(){this.Gr.update(); return this.h.getComponent(j.hh).canvas.toDataURL("image/png")};a.prototype.Wj=function(){this.mKa()};a.prototype.Sj=function(){this.fLa()};a.prototype.mKa=function(){var a=this.h.getComponent(j.hh);if(!a){a=this.h.B(j.hh);a.MG=document.createElement("div");this.sb().QV(a.MG);a.jO=this.jB.slice();a.antialias=m;a.shadowMap=this.rB;if(this.Vb.get(o)&&this.nNa){this.ZM=document.createElement("div");for(var b in p)this.ZM.style[b]=p[b];this.sb().QV(this.ZM)}}};a.prototype.fLa=function(){var a=this.h.getComponent(j.hh); if(a){this.sb().aua(a.MG);this.ZM&&this.sb().aua(this.ZM);this.ZM=r;this.h.fa(j.hh)}};var o=b([119,97,116,101,114,109,97,114,107]),p={};p[b([104,101,105,103,104,116])]=b([49,48,48,37]);p[b([119,105,100,116,104])]=b([49,48,48,37]);p[b([112,111,115,105,116,105,111,110])]=b([97,98,115,111,108,117,116,101]);p[b([116,111,112])]=0;p[b([108,101,102,116])]=0;p[b([98,97,99,107,103,114,111,117,110,100,73,109,97,103,101])]=b([117,114,108,40,34])+c.Lxa+b([34,41]);p[b([98,97,99,107,103,114,111,117,110,100,80, 111,115,105,116,105,111,110])]=b([99,101,110,116,101,114]);p[b([98,97,99,107,103,114,111,117,110,100,83,105,122,101])]=b([99,111,110,116,97,105,110]);p[b([112,111,105,110,116,101,114,69,118,101,110,116,115])]=b([110,111,110,101]);p[b([98,97,99,107,103,114,111,117,110,100,82,101,112,101,97,116])]=b([110,111,45,114,101,112,101,97,116]);p[b([111,112,97,99,105,116,121])]=0.5;return a}); define("na",["require","jY"],function(a){function b(){this.rK=this.rK.bind(this);this.OT=this.q=r;this.kga=[];this.WI=new Map;this.Tta=this.Pm=this.Yf=this.filter=r}var e=a("jY");b.prototype.Wua=function(a,b){this.dispose();this.q=a;this.OT=b;e.ea(this.q,[this.OT],this.rK,m)};b.prototype.rK=function(a){a=a||[];this.filter&&(a=a.filter(this.filter));var b=this.kga,c=this.kga=a;b.forEach(function(a,b){var d=c.indexOf(a);if(-1==d){var e=this.WI.get(a);this.WI["delete"](a);this.Pm&&this.Pm(a,e)}else d!= b&&(e=this.WI.get(a),this.Tta&&(d=this.Tta(a,d,e,b),d!=e&&this.WI.set(a,d)))}.bind(this));c.forEach(function(a,c){if(-1==b.indexOf(a)&&this.Yf){var d=this.Yf(a,c);this.WI.set(a,d)}}.bind(this))};b.prototype.dispose=function(){this.q&&(e.da(this.q,[this.OT],this.rK),this.rK([]),this.OT=this.q=r)};return b}); define("mm",["require","jY","fm"],function(a){function b(a,b,d,k){this.q=a;this.S=b;this.na=d;this.h=k;this.au=this.au.bind(this);this.aT=this.aT.bind(this);this.MS=this.MS.bind(this);this.k=this.na.P.td("InnerObject");e.ea(this.q,g,this.au,m);e.ea(this.q,c,this.aT,m);e.ea(this.q,i,this.MS,m)}var e=a("jY"),d=a("fm");b.prototype.aT=function(){var a=this.k.D(d.xd,m);a.Gl=this.q.get("useHandCursor");a.DH=this.q.get("transparentAreaActive");a.Ga=this.q;a.Pu=this.q.get("clickEnabled");a.gv=this.q.get("rollOverEnabled")}; b.prototype.MS=function(){var a=this.k.D(d.mq,m);a.opacity=this.q.get("enabled")&&!this.q.get("hidden")?this.q.get("opacity"):0;a.Ga=this.q};b.prototype.au=function(){var a=this.k.D(d.jD,m);a.id=this.q.get("objectId");a.container=this.na};b.prototype.dispose=function(){this.na.P.Df(this.k);this.k=r;e.da(this.q,g,this.au);e.da(this.q,c,this.aT);e.da(this.q,i,this.MS)};var g=["objectId"],c=["clickEnabled","rollOverEnabled","transparentAreaActive","useHandCursor"],i=["hidden","enabled","opacity"];return b}); define("O",["require","jY","fm"],function(a){function b(a,b){this.bc=a;this.Mc=b;this.K=B;this.ye=this.ye.bind(this);e.ea(this.bc,g,this.ye,m)}var e=a("jY"),d=a("fm");b.prototype.ye=function(){var a=this.bc.get("enabled")&&!this.bc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.MC),(this.K=a)&&this.Mc.B(d.MC));this.K&&(a=this.Mc.D(d.MC),a.Kqa=this.bc.get("easingDuration"),a.bias=this.bc.get("bias"),a.intensity=this.bc.get("intensity"),a.scale=this.bc.get("scale"),a.Gsa=this.bc.get("kernelRadius"), a.ita=this.bc.get("minResolution"),a.n9=this.bc.get("blurRadius"),a.output="ao"==this.bc.get("output")?THREE.SAOPass.OUTPUT.SAO:THREE.SAOPass.OUTPUT.Default)};b.prototype.dispose=function(){this.Mc.fa(d.MC);this.Mc=r;e.da(this.bc,g,this.ye,m)};var g="disabled,enabled,bias,easingDuration,intensity,scale,kernelRadius,minResolution,blurRadius,output".split(",");return b}); define("cj",["require","jY","fm"],function(a){function b(a,b){this.bc=a;this.Mc=b;this.K=B;this.ye=this.ye.bind(this);e.ea(this.bc,g,this.ye,m)}var e=a("jY"),d=a("fm");b.prototype.ye=function(){var a=this.bc.get("enabled")&&!this.bc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.Ey),(this.K=a)&&this.Mc.B(d.Ey));this.K&&(a=this.Mc.D(d.Ey),a.$qa="fxaa"==this.bc.get("mode"),a.lva="ssaa"==this.bc.get("mode"),a.DO=this.bc.get("ssaaSampleLevel"))};b.prototype.dispose=function(){this.Mc.fa(d.Ey);this.Mc= r;e.da(this.bc,g,this.ye,m)};var g=["disabled","enabled","mode","ssaaSampleLevel"];return b}); define("eA",["require","jY","nW","mS","fm"],function(a){function b(a,b,c){this.h=a;this.S=b;this.Oh=c;this.J=this.h.J;this.ma=r;this.ye=this.ye.bind(this);this.h.bind(d.uc,this.Sb,this,m);this.S.bind(d.u("camera"),this.yS,this,m);this.J.bind(d.u("isKeyboardTarget"),this.A4,this,m);this.yS();this.A4();this.Sb()}var e=a("jY"),d=a("nW"),g=a("mS"),c=a("fm");b.prototype.vd=function(a){for(var b in f){var c=this.Oh.D(f[b]);c&&(c.enabled=a)}};b.prototype.dispose=function(){this.ma&&(e.da(this.ma,i,this.ye, m),this.ma=r);this.S.unbind(d.u("camera"),this.yS,this,m);this.S=r;this.J.unbind(d.u("isKeyboardTarget"),this.A4,this,m);this.J=r;this.h.unbind(d.uc,this.Sb,this,m);this.Oh=this.h=r};b.prototype.yS=function(){var a,b;for(b in f){var c=f[b];this.S.get("camera")&&g.va(b,this.S.get("camera"))?a=this.Oh.D(c,m):this.Oh.fa(c)}a&&(a.Cb=this.S.get("camera"),a.Op=this.h.getParent(),a.bs=this.J.get("isKeyboardTarget"))};b.prototype.A4=function(){var a=this.S.get("camera"),b,c;for(c in f){var d=f[c];a&&g.va(c, a)&&(b=this.Oh.D(d,m))}b&&(b.bs=this.J.get("isKeyboardTarget"));this.ma!=a&&(this.ma&&e.da(this.ma,i,this.ye,m),(this.ma=a)&&e.ea(this.ma,i,this.ye,m))};b.prototype.ye=function(){var a=this.Oh.D(c.PerspectiveCamera,m);a.Ypa=this.ma.get("autoNearFar");a.Zpa=this.ma.get("autoNearFarTolerance");a.near=this.ma.get("near");a.far=this.ma.get("far")};b.prototype.Sb=function(){var a=this.Oh.D(c.PerspectiveCamera,m);a.width=this.h.Re();a.height=this.h.Qe()};var i=["autoNearFar","autoNearFarTolerance","near", "far"],f={OrbitModel3DCamera:c.kD,FirstPersonModel3DCamera:c.YC,FlyOverModel3DCamera:c.ZC};return b}); define("ha",["require","jY","fm"],function(a){function b(a,b){this.bc=a;this.Mc=b;this.K=B;this.ye=this.ye.bind(this);e.ea(this.bc,g,this.ye,m)}var e=a("jY"),d=a("fm");b.prototype.ye=function(){var a=this.bc.get("enabled")&&!this.bc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.SH),(this.K=a)&&this.Mc.B(d.SH));this.K&&(a=this.Mc.D(d.SH),a.jua=this.bc.get("samples"),a.intensity=this.bc.get("intensity"))};b.prototype.dispose=function(){this.Mc.fa(d.SH);this.Mc=r;e.da(this.bc,g,this.ye,m)};var g= ["disabled","enabled","samples","intensity"];return b}); define("jQ",["require","jY","fm"],function(a){function b(a,b){this.bc=a;this.Mc=b;this.ye=this.ye.bind(this);e.ea(this.bc,g,this.ye,m)}var e=a("jY"),d=a("fm");b.prototype.ye=function(){var a=this.bc.get("enabled")&&!this.bc.get("disabled");this.K!=a&&(this.K&&this.Mc.fa(d.qD),(this.K=a)&&this.Mc.B(d.qD));this.K&&(a=this.Mc.D(d.qD),a.lsa=this.bc.get("innerRadius"),a.Fta=this.bc.get("outerRadius"),a.color=this.bc.get("color"),a.opacity=this.bc.get("opacity"))};b.prototype.dispose=function(){this.Mc.fa(d.qD); this.Mc=r;e.da(this.bc,g,this.ye,m)};var g="enabled,disabled,opacity,color,innerRadius,outerRadius".split(",");return b}); define("eM","require,kM,jY,nW,fQ,fm".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b){g.call(this);this.cd=a;this.na=b;this.Zd=this.Zd.bind(this);this.k=r;this.jk=0;this.cb=B;this.oL=[];this.cd.bind(d.u("areaOpacity"),this.lka,this);this.iG()});a.prototype.CX=function(a){this.oL.forEach(function(a){a.unbind(d.Vc,this.Hd,this,m);a.unbind(d.ad,this.Hd,this,m)}.bind(this));this.oL=a;this.oL.forEach(function(a){a.bind(d.Vc,this.Hd,this,m);a.bind(d.ad, this.Hd,this,m)}.bind(this));this.Coa();this.Hd()};a.prototype.dispose=function(){this.cd.unbind(d.u("areaOpacity"),this.lka,this);this.Eu()};a.prototype.isVisible=S("cb");a.prototype.lka=function(){this.iG();this.Sn()};a.prototype.iG=function(){this.cd.get("areaOpacity")>0?this.Qx():this.Eu()};a.prototype.Qx=function(){if(!this.k){this.k=this.na.P.td("MeasureArea");var a=new g;a.bind(d.ra,this.dx,this,m);this.k.B(c.Il).Ga=a;this.k.B(c.Bc);this.k.B(c.xb).Kb=this.na;e.ea(this.cd,i,this.Zd,m);this.Coa()}}; a.prototype.Eu=function(){if(this.k){this.k.getComponent(c.Il).Ga.unbind(d.ra,this.dx,this,m);e.da(this.cd,i,this.Zd);this.k.P.Df(this.k);this.k=r}};a.prototype.Em=function(a){if(this.cb!=a)if(this.cb=a){this.Jn(1);this.trigger(d.Vc)}else{this.Jn(0);this.trigger(d.ad)}};a.prototype.Hd=function(){this.Em(this.oL.every(function(a){return a.isVisible()}))};a.prototype.dx=function(a){this.cd.set("area",a.data.area)};a.prototype.Zd=function(){if(this.k){var a=this.k.D(c.Bc);a.color=this.cd.get("areaColor"); a.depthTest=this.cd.get("depthTest");a.doubleSided=m;this.Sn()}};a.prototype.Jn=function(a){if(this.jk!=a){this.jk=a;this.Sn()}};a.prototype.Sn=function(){if(this.k)this.k.D(c.Bc).opacity=this.cd.get("areaOpacity")*Math.max(1.0E-4,this.jk)};a.prototype.Coa=function(){if(this.k)this.k.D(c.Il).entities=this.oL.map(function(a){return a.k})};var i=["areaColor","areaOpacity","depthTest"];return a}); define("bO",["require","gY"],function(a){function b(a,b,f){g.style.fontFamily=d.Qu(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 e(Math.ceil(g.clientWidth),Math.ceil(g.clientHeight));document.body.removeChild(g);f&&(f.font=b.fontSize+" "+d.Qu(b.fontFamily),a=f.measureText(a).width,j.height*=a/j.width,j.width=a);return j}function e(a,b){this.width=a;this.height=b}var d=a("gY"),g=document.createElement("div"); g.style.display="inline-block";g.style.margin=0;g.style.padding=0;g.style.whiteSpace="nowrap";b.yZ=function(){this.fontFamily="Arial";this.fontSize="12px";this.fontWeight="400";this.fontStyle="normal"};b.vUa=e;return b}); define("fc",["require","bO","gY"],function(a){function b(){this.F1=this.Qq("#ffffff");this.Xv=this.Qq("#000000");this.mh=this.We=0;this.I=document.createElement("canvas");this.ha=this.I.getContext("2d");this.ha.xVa="high";this.vr=new d.yZ;this.G1=this.qE=l;this.f_=this.g_=0.5;this.Kp=l;this.dG=b.dZ;this.Iu=l;this.AH(0)}function e(a){return 1000&&(this.Vw&&this.Vw.isVisible()||this.zx&&this.zx.isVisible()||this.Lg&&this.Lg.isVisible()))};a.prototype.eKa=function(){if(!this.Ln){this.Ln=new f;this.Ln.set("duration",300);this.Ln.bind(f.vY,this.Rka,this,m);this.Ln.bind(f.Cj,this.Qka,this,m);this.Ln.play()}};a.prototype.dLa=function(){if(this.Ln){this.Ln.unbind(f.vY,this.Rka,this,m);this.Ln.unbind(f.Cj,this.Qka,this,m);this.Ln.stop();this.Ln=r}};a.prototype.Rka=function(){this.Jn(2*this.Ln.rk()-1)}; a.prototype.Qka=function(){this.Jn(1)};a.prototype.Zd=function(){this.k.D(c.Pi).depthTest=this.xE("depthTest");this.zh.TRa(this.xE("labelFontColor"));this.zh.ARa(this.xE("labelBackgroundColor"));this.zh.URa(this.xE("labelFontFamily"));this.zh.VRa(this.xE("labelFontSize"));this.Sn();this.Wf()};a.prototype.xE=function(a){var b;this.VU&&(b=this.cd.get(this.VU+a[0].toUpperCase()+a.substr(1)));b===l&&(b=this.cd.get(a));return b};a.prototype.Wf=function(a){if(this.zh.update()||a){var a=this.k.D(c.Pi),b= this.k.D(c.Sprite);a.KX=(new Date).getTime();b.width=this.zh.$c();b.height=this.zh.Rd()}};a.prototype.Jn=function(a){if(this.jk!=a){this.jk=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Pi).opacity=this.xE("labelOpacity")*Math.max(1.0E-4,this.jk)};var j=["depthTest","areaLabelBackgroundColor","areaLabelFontColor","areaLabelFontFamily","areaLabelOpacity","areaLabelFontSize","distanceLabelBackgroundColor","distanceLabelFontColor","distanceLabelFontFamily","distanceLabelOpacity","distanceLabelFontSize", "labelBackgroundColor","labelFontColor","labelFontFamily","labelOpacity","labelFontSize","partialDistanceLabelBackgroundColor","partialDistanceLabelFontColor","partialDistanceLabelFontFamily","partialDistanceLabelOpacity","partialDistanceLabelFontSize"];return a}); define("gi","require,kM,jY,nW,fQ,fm".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b){g.call(this);this.cd=a;this.na=b;this.jl=this.il=r;this.Zd=this.Zd.bind(this);this.k=r;this.jk=0;this.cb=B;this.Qx()});a.prototype.CX=function(a,b){if(this.il!=a||this.jl!=b){this.il&&this.il.unbind(d.Vc,this.Hd,this,m);this.il&&this.il.unbind(d.ad,this.Hd,this,m);this.jl&&this.jl.unbind(d.Vc,this.Hd,this,m);this.jl&&this.jl.unbind(d.ad,this.Hd,this,m);this.il= a;this.jl=b;this.il&&this.il.bind(d.Vc,this.Hd,this,m);this.il&&this.il.bind(d.ad,this.Hd,this,m);this.jl&&this.jl.bind(d.Vc,this.Hd,this,m);this.jl&&this.jl.bind(d.ad,this.Hd,this,m);this.k.D(c.xb,m).Kb=this.il&&this.il.k;this.k.D(c.Iv,m).Kb=this.jl&&this.jl.k;this.Hd()}};a.prototype.dispose=function(){this.CX(r,r);this.Eu()};a.prototype.Qx=function(){if(!this.k){this.k=this.na.P.td("MeasureLine");this.k.B(c.Line);this.k.B(c.Ri);this.k.B(c.sa);e.ea(this.cd,i,this.Zd,m)}};a.prototype.Eu=function(){if(this.k){e.da(this.cd, i,this.Zd);this.k.P.Df(this.k);this.k=r}};a.prototype.isVisible=S("cb");a.prototype.Em=function(a){if(this.cb!=a)if(this.cb=a){this.Jn(1);this.trigger(d.Vc)}else{this.Jn(0);this.trigger(d.ad)}};a.prototype.Hd=function(){this.Em(this.il&&this.il.isVisible()&&this.jl&&this.jl.isVisible())};a.prototype.Zd=function(){var a=this.k.D(c.Ri);a.color=this.cd.get("lineColor");a.depthTest=this.cd.get("depthTest");a.width=this.cd.get("lineWidth");a.depthTest=this.cd.get("depthTest");this.Sn()};a.prototype.Jn= function(a){if(this.jk!=a){this.jk=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Ri).opacity=this.cd.get("lineOpacity")*Math.max(1.0E-4,this.jk)};var i=["depthTest","lineColor","lineOpacity","lineWidth"];return a}); define("lu","require,kM,jY,nW,fQ,fm".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm"),a=b.extend(g,function(a,b,c){g.call(this);this.cd=a;this.na=b;this.op=c;this.du=this.du.bind(this);this.Zd=this.Zd.bind(this);this.di=this.di.bind(this);this.k=r;this.Qh=this.JL=this.Pd=this.Wv=B;this.jk=0;this.cb=B;this.Qx();e.ea(this.cd,i,this.du,m);e.ea(this.cd,j,this.Zd,m);e.MV(this.op,f,this.di,m);this.bind(d.Is,this.Aka,this,m);this.bind(d.kd,this.jF,this,m);this.bind(d.jc,this.um, this,m);this.di();this.NW()&&this.Em(m)});a.prototype.dispose=function(){e.da(this.cd,i,this.du);e.da(this.cd,j,this.Zd);e.da(this.op,f,this.di);this.unbind(d.Is,this.Aka,this,m);this.unbind(d.kd,this.jF,this,m);this.unbind(d.jc,this.um,this,m);this.Eu()};a.prototype.uua=function(a){if(this.Wv!==a){if(this.Wv=a){a=this.k.B(c.Ij);a.Kb=this.na;a.rotate=B;a.Ga=new g;this.Em(m);a.Ga.bind(d.kd,this.$E,this,m)}else{(a=this.k.getComponent(c.Ij))&&a.Ga.unbind(d.kd,this.$E,this,m);this.k.fa(c.Ij);a=this.k.getComponent(c.sa); this.Aua(a.Ig,a.rg,a.If)}this.Zx();this.t8()}};a.prototype.Bua=function(a){a===l&&(a=B);if(this.Qh!==a)(this.Qh=a)?this.k.B(c.Av):this.k.fa(c.Av)};a.prototype.MSa=function(a){if(this.JL!==a){this.JL=a;this.t8();this.Pd=B;this.Zx()}};a.prototype.Aua=function(a,b,c){this.op.set("x",a);this.op.set("y",b);this.op.set("z",c);this.Em(this.NW())};a.prototype.Qx=function(){this.k=this.na.P.td("MeasurePoint");this.k.B(c.Sphere);this.k.B(c.Bc);this.k.B(c.xd).Ga=this;this.k.B(c.Fs);this.k.B(c.sa).Ga=this;this.k.B(c.Ml); this.k.B(c.xb).Kb=this.na;this.t8();this.Sn();this.Zx()};a.prototype.Eu=function(){this.k.P.Df(this.k);this.k=r};a.prototype.isVisible=S("cb");a.prototype.Em=function(a){if(this.cb!=a)if(this.cb=a){this.Jn(1);this.trigger(d.Vc)}else{this.Jn(0);this.trigger(d.ad)}};a.prototype.t8=function(){var a=this.k.D(c.xd);a.Gl=this.JL;a.gv=this.JL;a.Pu=!this.Wv;a=this.k.D(c.Fs,m);a.Lva=!this.JL||this.Wv;a.Kva=this.Wv};a.prototype.$E=function(){this.Em(m)};a.prototype.jF=function(){this.Pd=m;this.Zx()};a.prototype.um= function(){this.Pd=B;this.Zx()};a.prototype.du=function(){this.k.D(c.xb).id=this.cd.get("parentId")};a.prototype.Zd=function(){if(this.k){var a=this.k.D(c.Ml);a.Zf=a.qg=a.Lh=1;a.hH=this.cd.get("pointMaxRadius");a.iH=this.cd.get("pointMinRadius");a.scale=this.cd.get("pointRadius")||1;this.k.D(c.Bc).depthTest=this.cd.get("depthTest");this.Zx()}};a.prototype.Zx=function(){if(this.k){var a=this.Wv?"pointDragColor":this.Pd?"pointOverColor":"pointColor";this.k.D(c.Bc).color=this.cd.get(a)}};a.prototype.Jn= function(a){if(this.jk!=a){this.jk=a;this.Sn()}};a.prototype.Sn=function(){this.k.D(c.Bc).opacity=Math.max(1.0E-4,this.jk)};a.prototype.Aka=function(a){this.x=a.data.position.x;this.y=a.data.position.y;this.z=a.data.position.z};a.prototype.di=function(){if(this.NW()&&this.k){var a=this.k.D(c.sa,m);a.Ig=this.op.get("x");a.rg=this.op.get("y");a.If=this.op.get("z")}};a.prototype.NW=function(){var a=this.op.get("x"),b=this.op.get("y"),c=this.op.get("z");return a!==l&&b!==l||c!==l};a.prototype.distanceTo= function(a){var b=this.x-a.x,c=this.y-a.y,a=this.z-a.z;return Math.sqrt(b*b+c*c+a*a)};var i=["parentId"],f=["x","y","z"],j=["depthTest","mode","pointDragColor","pointColor","pointOverColor","pointMaxRadius","pointMinRadius","pointRadius"];return a}); define("ma","require,jY,nW,bl,eM,en,gi,lu,u,fm".split(","),function(a){function b(a,b,c,d){this.q=a;this.S=b;this.na=c;this.h=d;this.J=this.h.J;this.hj=this.hj.bind(this);this.WS=this.WS.bind(this);this.NS=this.NS.bind(this);this.dT=this.dT.bind(this);this.dF=this.dF.bind(this);this.dx=this.dx.bind(this);this.bF=this.bF.bind(this);this.gi=new Map;this.nL=new Map;this.Uo=[];this.zA=[];this.qF=new Map;this.Sg=[];this.Ai=r;this.ie=this.Fc=l;this.K=B;e.ea(this.q,["enabled"],this.hj,m)}var e=a("jY"),d= a("nW"),g=a("bl"),c=a("eM"),i=a("en"),f=a("gi"),j=a("lu"),n=a("u");a("fm");b.prototype.dispose=function(){this.Ck();e.da(this.q,["enabled"],this.hj,m);this.ie=this.Fc=this.Ai=this.Sg=this.zA=this.Uo=this.nL=this.gi=r};b.prototype.hj=function(){this.q.get("enabled")?this.yt():this.Ck()};b.prototype.yt=function(){if(!this.K){this.K=m;this.MAa();this.yfa(this.q);document.addEventListener("keyup",this.bF);e.ea(this.q,k,this.WS,m);e.ea(this.q,p,this.dT,m);e.ea(this.q,o,this.NS,m);e.ea(this.q,q,this.dF, m);e.ea(this.q,t,this.dx,m);this.S.bind(d.oa,this.eka,this,m);this.S.bind(d.to,this.fka,this,m)}};b.prototype.Ck=function(){if(this.K){this.K=B;this.fna([]);this.Ufa(this.q);this.SBa();document.removeEventListener("keyup",this.bF);e.da(this.q,k,this.WS);e.da(this.q,p,this.dT,m);e.da(this.q,o,this.NS,m);e.da(this.q,q,this.dF,m);e.da(this.q,t,this.dx,m);this.S.unbind(d.oa,this.eka,this,m);this.S.unbind(d.to,this.fka,this,m)}};b.prototype.WS=function(){this.fna(this.q.get("points"))};b.prototype.NS= function(){var a=this.q.get("mode");if(a!=this.Fc){switch(this.Fc){case "create":this.Sg.length<1||this.Ai&&this.Sg.length<2?a="create":this.vIa(this.Ai);break;case "edit":a=="create"?this.q.get("type")==="single"&&this.Sg.length>0?a="edit":this.zP():this.wu(r);break;case "view":a==="create"&&(this.q.get("type")==="single"&&this.Sg.length>0?a="view":this.zP());break;default:a=="create"&&(this.q.get("type")==="single"&&this.Sg.length>0&&this.A2(this.Dt(-1))?a="edit":this.wu(this.Dt(-1),B))}this.Fc= a;this.q.set("mode",this.Fc);this.apa()}};b.prototype.dT=function(){var a=this.q.get("type");if(a!==this.ie){this.ie=a;this.ie==="single"&&this.Sg.length>1&&this.q.set("points",this.TUa.slice(0,1))}};b.prototype.dF=function(){this.Poa();this.kV()};b.prototype.dx=function(){var a=this.h2(this.Lg);a&&a.AH(this.q.get("area"))};b.prototype.bF=function(a){a.which==g.swa&&this.J.get("isKeyboardTarget")&&(this.q.get("mode")=="create"?this.q.set("mode","edit"):this.Fc=="edit"&&this.wu(r))};b.prototype.zP= function(){this.Cya();this.wu(this.Dt(-1),B)};b.prototype.Cya=function(){var a=this.J.get("application").Qp("MeasureModel3DObjectPoint");if(!n.ub()){var b=this.Dt(-1);if(b&&this.A2(b)){a.set("x",b.get("x"));a.set("y",b.get("y"));a.set("z",b.get("z"))}}this.q.set("points",this.Sg.concat([a]))};b.prototype.Dt=function(a){var b=[this.q].concat(this.Sg);return a<0&&b.length-a>0?b[b.length+a]:a>=0&&a0?this.q.set("mode","edit"):this.zP()}else this.q.get("mode")=="edit"&&this.wu(r)};b.prototype.fka=function(){this.q.get("mode")=="create"&&n.ub()&&this.q.set("mode","edit")};b.prototype.wka=function(){this.q.get("mode")=="create"&&this.q.set("mode","edit")};b.prototype.vka=function(a){if(this.q.get("mode")== "create"){var b=this.Dt(-2),a=this.nL.get(a.source);if(b==a)this.q.set("mode","edit");else{b=this.Ai;this.wu(r);b.set("x",a.get("x"));b.set("y",a.get("y"));b.set("z",a.get("z"));a==this.Dt(0)?this.q.set("mode","edit"):this.zP()}}};b.prototype.xka=function(a){this.q.get("mode")=="edit"&&this.wu(this.nL.get(a.source),m)};b.prototype.yka=function(){this.q.get("mode")=="edit"&&this.wu(r)};b.prototype.zka=function(){this.kV()};b.prototype.kV=function(){for(var a=[],b=this.Dt(0),c=this.u2(),d=0;dthis.Uo.length;)this.rBa();for(var a=m,b=0;b1){b=this.gi.get(a[a.length-1]);a=this.aS(b);a.GSa(b);a.setStyle(i.Jca)}if(this.q.get("displayAreaLabel")&&this.Lg){a=this.aS(this.Lg);a.zRa(this.Lg);a.setStyle(i.vxa)}this.XBa();this.kV();this.dx()};b.prototype.apa=function(){var a=!this.Ai&&this.Fc!="view";this.gi.forEach(function(b){b.MSa(a)})};b.prototype.YLa=function(){this.Lg&&this.Lg.CX([this.q].concat(this.u2()).map(function(a){return this.gi.get(a)}.bind(this)))};b.prototype.yfa=function(a){var b=this.gi.get(a); if(!b){b=new j(this.q,this.na,a);this.gi.set(a,b);this.nL.set(b,a);b.bind(d.to,this.wka,this,m);b.bind(d.oa,this.vka,this,m);b.bind(d.Hb,this.xka,this,m);b.bind(d.ic,this.yka,this,m);b.bind(d.Is,this.zka,this,B)}};b.prototype.Ufa=function(a){var b=this.gi.get(a);if(b){b.unbind(d.Is,this.zka,this,B);b.unbind(d.to,this.wka,this,m);b.unbind(d.oa,this.vka,this,m);b.unbind(d.Hb,this.xka,this,m);b.unbind(d.ic,this.yka,this,m);b.dispose();this.gi["delete"](a);this.nL["delete"](b)}};b.prototype.rBa=function(){this.Uo.push(new f(this.q, this.na))};b.prototype.VBa=function(){this.Uo.length!=0&&this.Uo.pop().dispose()};b.prototype.qBa=function(){var a=new i(this.S,this.q,this.na);this.zA.push(a);return a};b.prototype.SLa=function(){this.qF.clear()};b.prototype.aS=function(a){var b;b=this.zA.length>this.qF.size?this.zA[this.qF.size]:this.qBa();this.qF.set(a,b);return b};b.prototype.h2=function(a){return this.qF.get(a)};b.prototype.XBa=function(){for(;this.zA.length>this.qF.size;)this.UBa()};b.prototype.UBa=function(){this.zA.length!= 0&&this.zA.pop().dispose()};b.prototype.MAa=function(){if(!this.Lg)this.Lg=new c(this.q,this.na)};b.prototype.SBa=function(){if(this.Lg){this.Lg.dispose();this.Lg=r}};var k=["points"],o=["mode"],p=["type"],q=["displayAreaLabel","displayDistanceLabel","displayPartialDistanceLabel"],t=["area"];return b}); define("ny",["require","jY","nW","fQ","fm"],function(a){function b(a,b,c){this.S=a;this.na=b;this.Oh=c;this.K=B;this.hx=this.hx.bind(this);e.ea(this.S,i,this.hx,m)}var e=a("jY"),d=a("nW"),g=a("fQ"),c=a("fm");b.prototype.hx=function(){var a=!!this.S.get("maxNearestObjectsVisible");this.K!=a&&(this.K&&this.Ck(),(this.K=a)&&this.yt())};b.prototype.yt=function(){var a=this.Oh.B(c.gq);a.Ga=new g;a.Ga.bind(d.ra,this.sK,this,m);this.na.P.nb()};b.prototype.Ck=function(){this.Oh.getComponent(c.gq).Ga.unbind(d.ra, this.sK,this,m);this.Oh.fa(c.gq);this.S.get("objects").forEach(function(a){a.get("hideBasedOnDistance")&&a.uaa(B)})};b.prototype.sK=function(a){var b=0,c=this.S.get("maxNearestObjectsVisible");a.data.beacons.forEach(function(a){if(a=this.ZCa(a))a.get("hideBasedOnDistance")?(a.uaa(b>=c),b++):a.uaa(B)}.bind(this))};b.prototype.ZCa=function(a){a=(a=a.entity.getComponent(c.UO))&&a.object;if(!a.get||a.get("hideBasedOnDistance")===l)a=r;return a};b.prototype.dispose=function(){e.da(this.S,i,this.hx,m); this.K&&(this.K=B,this.Ck())};var i=["maxNearestObjectsVisible"];return b}); define("hv",["require","jY","nW","fm"],function(a){function b(a,b,c,d){this.q=a;this.S=b;this.na=c;this.h=d;this.hj=this.hj.bind(this);this.du=this.du.bind(this);this.di=this.di.bind(this);this.br=this.br.bind(this);this.Zd=this.Zd.bind(this);this.K=B;this.k=r;this.cb=B;e.ea(this.q,["enabled"],this.hj,m)}var e=a("jY"),d=a("nW"),g=a("fm");b.prototype.dispose=function(){this.Ck();e.da(this.q,["enabled"],this.hj,m)};b.prototype.hj=function(){this.q.get("enabled")?this.yt():this.Ck()};b.prototype.yt= function(){this.K||(this.K=m,this.k=this.na.P.td("Sphere"),this.k.B(g.xb).Kb=this.na,this.k.B(g.Sphere),this.k.B(g.Bc),this.k.B(g.xd).Ga=this.q,this.k.B(g.sa),this.k.B(g.Ml),e.ea(this.q,c,this.du,m),e.ea(this.q,i,this.di,m),e.ea(this.q,f,this.br,m),e.ea(this.q,j,this.Zd,m))};b.prototype.Ck=function(){this.K&&(this.K=B,e.da(this.q,c,this.du),e.da(this.q,i,this.di),e.da(this.q,f,this.br),e.da(this.q,j,this.Zd),this.k.P.Df(this.k),this.k=r,this.Em(B))};b.prototype.du=function(){this.k.D(g.xb).id=this.q.get("parentId")}; b.prototype.di=function(){var a=this.k.D(g.sa);a.Ee=this.q.get("x");a.je=this.q.get("y");a.Gf=this.q.get("z")};b.prototype.br=function(){var a=this.k.D(g.Ml);a.Zf=a.qg=a.Lh=1;a.scale=this.q.get("radius");a.hH=this.q.get("maxRadius");a.iH=this.q.get("minRadius")};b.prototype.Zd=function(){var a=this.k.D(g.xd);a.Gl=this.q.get("useHandCursor");a.DH=this.q.get("transparentAreaActive");a=this.k.D(g.Bc);a.color=this.q.get("color");a.opacity=this.q.get("hidden")?0:this.q.get("opacity");a.depthTest=this.q.get("depthTest"); this.Em(00.5;if(this.b4!=a)(this.b4=a)&&this.k&&this.k.D(c.ys)};b.prototype.dispose=function(){this.Ck();e.da(this.q,["enabled"],this.hj,m);this.a4.unbind(d.T,this.$t,this,B);this.a4=r};var i=["distance","horizontal","x","y","z"],f=["depthTest","hidden","opacity","transparentAreaActive","useHandCursor"], j=["opacity","surfaceReticleRadius","surfaceReticleMaxRadius","surfaceReticleMinRadius","surfaceSelectionEnabled"];return b}); define("id","require,jY,nW,fQ,gQ,u,fm".split(","),function(a){function b(a,b,c){this.S=a;this.na=b;this.h=c;this.J=this.h.J;this.Zt=this.Zt.bind(this);this.Pd=l;this.S.bind(d.u("surfaceSelectionEnabled"),this.q1,this,m);this.q1()}var e=a("jY"),d=a("nW"),g=a("fQ"),c=a("gQ"),i=a("u"),f=a("fm");b.prototype.q1=function(){var a=this.S.get("surfaceSelectionEnabled")&&!i.ub();!!this.k!=a&&(a?this.yt():this.Ck())};b.prototype.yt=function(){if(!this.k){this.k=this.na.P.td("PointerReticle");this.k.B(f.Plane).renderOrder= 2;this.k.B(f.Ij).Kb=this.na;this.k.B(f.Fs);this.k.B(f.xb).Kb=this.na;var a=this.k.B(f.gq);a.Ga=new g;a.Ga.bind(d.ra,this.sK,this,m);e.ea(this.S,j,this.Zt,m);this.wr=new c(this.J);this.wr.fb(0);this.wr.update();a=this.k.B(f.Pi);a.source=this.wr.kg();a.depthTest=B;a=this.na.D(f.xd);a.Ga.bind(d.oa,this.GK,this,m);a.Ga.bind(d.Uc,this.Tf,this,m);a.Ga.bind(d.jc,this.um,this,m);this.Ud=r;this.H6(B)}};b.prototype.Ck=function(){if(this.k){if(this.Ud){this.Ud.trigger(d.jc);this.Ud=r}var a=this.na.D(f.xd);a.Ga.unbind(d.oa, this.GK,this,m);a.Ga.unbind(d.Uc,this.Tf,this,m);a.Ga.unbind(d.jc,this.um,this,m);this.k.getComponent(f.gq).Ga.unbind(d.ra,this.sK,this,m);this.na.P.Df(this.k);this.wr=this.k=r;e.da(this.S,j,this.Zt)}};b.prototype.Zt=function(){var a=this.k.D(f.Ml,m);a.Zf=a.qg=2;a.scale=this.S.get("surfaceReticleRadius");a.hH=this.S.get("surfaceReticleMaxRadius");a.iH=this.S.get("surfaceReticleMinRadius")};b.prototype.sK=function(a){var a=this.ODa(a),b=this.$Ca(a);b==0&&(a=r);this.WIa(a);this.lJa(b)};b.prototype.GK= function(){this.Ud&&this.Ud.trigger(d.oa)};b.prototype.Tf=function(){this.H6(m)};b.prototype.um=function(){this.H6(B)};b.prototype.H6=function(a){if(this.Pd!==a){this.Pd=a;this.k.D(f.Pi).opacity=this.Pd?1:0}};b.prototype.WIa=function(a){a=this.Kga(a);if(this.Ud!=a){this.Ud&&this.Ud.trigger(d.jc);(this.Ud=a)&&this.Ud.trigger(d.kd)}};b.prototype.ODa=function(a){a=a.data.beacons;if(!a)return r;for(var b=0;b=0};a.prototype.Opa=function(a){if(!(this.WE.indexOf(a)>=0)){this.WE.push(a);this.Qd&&this.lna(a)}};a.prototype.Y$=function(a){var b=this.WE.indexOf(a);if(!(b<0)){this.WE.splice(b,1);this.Qd&&this.Xna(a)}};a.prototype.Aaa=function(a,b){var c=this.VE.get(a);c&&c.AC(b)};a.prototype.Nua=function(a,b){var c=this.VE.get(a);c&&c.vd(b)};a.prototype.JN=function(a){return(a=this.VE.get(a))?a.ePa(): l};a.prototype.uC=function(){return this.Qd&&this.Qd.uC()};a.prototype.s9=function(){return this.Qd&&this.Qd.s9()};a.prototype.lna=function(a){this.Xna(a);this.VE.set(a,new d(this,this.Qd,a))};a.prototype.Xna=function(a){var b=this.VE.get(a);if(b){this.VE["delete"](a);b.dispose()}};return a}); define("bF","require,kM,nW,mS,jh,ia,dN,kG,dW".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("mS"),g=a("jh"),c=a("ia"),i=a("dN"),f=a("kG"),j=a("dW"),a=d.G("Model3DPlayer",c,function(){c.call(this,"model");this.Mo=this.nS=this.Hh=B;this.C=this.h=r;this.$a=this.rd=0;this.Md=b.Yp(this.Eg,this);this.J_=new g(this,"buttonToggleSprites",j.Jj);this.J_.bind(e.Hj,function(){this.set("spritesEnabled",m)},this);this.J_.bind(e.Nl,function(){this.set("spritesEnabled",B)},this);this.J_.set("pressed",this.get("spritesEnabled"))}); a.prototype.play=function(){this.TA()};a.prototype.pause=function(){this.SA()};a.prototype.stop=function(){this.px()};a.prototype.restart=function(){this.mx()};a.prototype.getModelPixelScale=function(){return this.LDa()};a.prototype.captureToDataURL=function(){return this.h&&this.h.s9()};a.prototype.saveScreenshot=function(){return this.h&&this.h.uC()};a.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "model":this.nS=m;this.set("requesterPlayer",r);this.Md();break;case "viewerArea":this.Hh= m;this.Md();break;case "displayPlaybackBar":this.Mo=m;this.Md()}c.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0}return c.prototype.get.call(this,a,b)};a.prototype.Eg=function(){if(this.Hh){this.Hh=B;this.ot();this.get("viewerArea")&&this.lt();this.WL(this.get("viewerArea"));this.nS=m}var a=B;if(this.h&&(this.nS||this.OU)){var b=this.get("model");if(b&&!this.h.tb()){this.Md();return}this.nS=B;this.$a=this.rd=0;a=m;if(b){this.rH(this.get("requesterPlayer")? [this.get("requesterPlayer"),this]:[this]);this.C.uSa(b)}else this.C.hv()}if(this.Mo){this.Mo=B;a=m}a&&this.Mu()};a.prototype.ZF=function(){this.set("model",r)};a.prototype.lt=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new f(a,b,this);this.h.Y({left:0,top:0,bottom:0,right:0});b.La(this.h);this.C=new i(b,this.h);this.C.bind(i.Qy,this.Uk,this);this.C.bind(i.Py,this.gx,this);this.C.bind(i.HY,this.ika,this,m);this.C.bind(i.mc,this.xe,this);this.Ox(m)};a.prototype.ot=function(){if(this.h){this.C.unbind(i.Qy, this.Uk,this);this.C.unbind(i.Py,this.gx,this);this.C.unbind(i.HY,this.ika,this,m);this.C.unbind(i.mc,this.xe,this);this.C.clear();this.h.getParent().removeChild(this.h);this.h=r;this.Ox(B)}};a.prototype.xe=function(a){this.hc(a.data.state)};a.prototype.Uk=function(a){var b=this.get("viewerArea");this.Ed=b&&b.Ed;this.ZJ(a.data.model);this.Mu()};a.prototype.gx=function(a){this.Ed=r;this.YJ(a.data.model)};a.prototype.ika=function(a){this.rd=a.data.time;this.$a=a.data.duration;this.Mu()};a.prototype.lL= function(a){this.kB(a.data.position)};a.prototype.Zj=function(){this.C&&this.C.play()};a.prototype.Nn=function(){this.C&&this.C.stop()};a.prototype.jp=function(){this.C&&this.C.pause()};a.prototype.kB=function(a){this.C&&this.C.setTime(a)};a.prototype.LDa=function(){return this.C&&this.C.JN()};a.prototype.Mu=function(){if(this.h){var a=this.h.getParent();this.$a>0&&this.get("displayPlaybackBar")?a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.$a,playbackBarVisible:m}):a.set("playbackBarVisible", B)}};return a}); define("om",["require","mS","cT","hO"],function(a){var b=a("mS"),e=a("cT"),d=a("hO"),a=b.G("Model3DPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.Uk,this),a.get("model")==this.get("media")&&this.get("media").get("isLoaded")?this.Uk():a.set("model",this.get("media")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.Uk,this),a.get("model")==this.get("media")&&a.set("model", r));d.prototype.stop.call(this)};a.prototype.Uk=function(a){if(!a||a.data.media==this.get("media"))this.get("player").unbind(e.Kg,this.Uk,this),this.get("player").bind(e.Ll,this.gx,this),this.NB()};a.prototype.gx=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Ll,this.gx,this),this.stop(),this.end())};return a}); define("jp",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("Model3DResource",b,function(){b.call(this)});a.prototype.get=function(a,d){switch(a){case "levels":d=[this];break;case "url":for(var g=b.prototype.get.call(this,a),c=this.get("levels"),i=0;c&&i0?1:-1;return b*(Math.pow(10,b*a)-1)/9}function d(a,b){return Math.min(Math.max(a/b,-1),1)}var g=a("kM");a("dZ");var c=a("nW"),i=a("cu"),f=a("fQ"),j=a("cA"),n=a("oj"),k=a("mN"),o=g.extend(f,function(){f.call(this);this.Bia=this.Cia=1800;this.gE=7;this.UFa=this.sLa=0;this.BJ=B;this.el=l;this.FA=j.Vba;this.joa=j.Pca;this.gE=0;this.hU=l;this.sj=B;this.ED=r;this.iA=3;this.ya=90;this.e1= this.tB=this.kc=1;this.Ed=this.Ta=r;this.kL=B});o.prototype.iv=function(a){this.Cia=a.get("manualRotationSpeed");this.Bia=a.get("manualRotationSpeed");this.iA=a.get("manualZoomSpeed");this.e1=a.get("draggingFactor")};o.prototype.vy=function(a){this.FA=a;this.s8()};o.prototype.DC=function(a){this.joa=a;this.s8()};o.prototype.zC=function(a){this.ya=a;this.tB=this.ya/90};o.prototype.ds=function(a){this.ql();if(a){this.Ta=a;if(this.Ed=a.UOa&&a.Ed){this.Ed.bind(c.Hb,this.tla,this,m);this.Ed.bind(c.ic, this.ula,this,m)}this.Ta.bind(c.Hb,this.Cd,this,m);this.Ta.bind(c.Uc,this.ej,this,m);this.Ta.bind(c.ic,this.fj,this,m);this.Ta.bind(c.lq,this.GA,this,m);this.Ta.tb().get("settings").get(TDV.PlayerSettings.lxa)!==B&&this.Ta.bind(c.aD,this.dA,this,m);this.Ta.bind(c.bD,this.Ega,this,m);this.Ta.bind(c.$C,this.Bga,this,m);this.s8()}};o.prototype.ql=function(){if(this.Ta!=r){if(this.Ed){this.Ed.unbind(c.Hb,this.tla,this);this.Ed.unbind(c.ic,this.ula,this);this.Ed=r}this.Ta.unbind(c.Hb,this.Cd,this);this.Ta.unbind(c.Uc, this.ej,this);this.Ta.unbind(c.ic,this.fj,this);this.Ta.unbind(c.lq,this.GA,this);this.Ta.unbind(c.aD,this.dA,this);this.Ta.unbind(c.bD,this.Ega,this);this.Ta.unbind(c.$C,this.Bga,this);this.Ta=r;this.PQ()}};o.prototype.s8=function(){if(this.Ta)if(this.Ta.vn){this.hU=this.joa;this.gE=this.sLa}else{this.hU=this.FA;this.gE=this.UFa}};o.prototype.tla=function(){this.kL=m};o.prototype.ula=function(){this.kL=B};o.prototype.Cd=function(a){if(!this.kL){this.JKa(a);this.f7()}};o.prototype.ej=function(a){this.kL|| this.lG(a)};o.prototype.fj=function(){if(!this.kL){this.s1();this.PQ()}};o.prototype.GA=function(a){this.C8(a);this.f7(500)};o.prototype.Ega=function(){this.f7()};o.prototype.dA=function(a){this.D8(a)};o.prototype.Bga=function(){this.PQ()};o.prototype.JKa=function(a){this.BJ=m;this.el=a;this.lG(a)};o.prototype.lG=function(a){if(this.BJ)switch(this.hU){case j.Ly:this.OMa(a);break;case j.ts:this.NMa(a)}};o.prototype.OMa=function(a){this.fpa(+b(e(d(Math.abs(a.x-this.el.x)<3?0:a.x-this.el.x,this.Ta.Ra())), this.Cia*this.tB),-b(e(d(Math.abs(a.y-this.el.y)<3?0:a.y-this.el.y,this.Ta.zb())),this.Bia*this.tB))};o.prototype.NMa=function(a){this.r8(-b(d(a.x-this.el.x,this.Ta.Ra()),this.ya*this.e1),+b(d(a.y-this.el.y,this.Ta.Ra()),this.ya*this.e1));this.el=a};o.prototype.s1=function(){if(this.BJ){this.BJ=B;switch(this.hU){case j.Ly:this.fpa(0,0)}}};o.prototype.fpa=function(a,b){var c=new n(o.ws);c.rv=a;c.bv=b;this.trigger(c)};o.prototype.r8=function(a,b){var c=new n(o.ws);c.HH=a;c.lH=b;this.trigger(c)};o.prototype.D8= function(a){if(this.kc!=a.scale){this.s1();var b=this.kc;this.kc=a.scale;a=new k(o.qo);a.e$=this.ya*b/this.kc-this.ya;this.trigger(a)}};o.prototype.C8=function(a){if(a.delta!=0){this.s1();var b=new k(o.qo);b.e$=this.ya*-a.delta*this.iA/100;this.trigger(b)}};o.prototype.f7=function(a){var b=this.ED!=r;this.Lna();if(a&&(b||!this.sj)){var c=this;this.ED=setTimeout(function(){c.ED=r;c.PQ()},a)}if(!this.sj){this.sj=m;this.trigger(new i(o.fh))}};o.prototype.PQ=function(){this.Lna();if(this.sj){this.sj= B;this.trigger(new i(o.eh))}};o.prototype.Lna=function(){if(this.ED!=r){clearTimeout(this.ED);this.ED=r}};o.ws="rotation change";o.qo="zoom change";o.fh="user interaction start";o.eh="user interaction end";return o}); define("dq",["require","u"],function(a){function b(){this.$F=d.ub()?0.066:0.1;this.WFa=0.5;this.wKa=d.ub()?0.066:0.1;this.qNa=0.1;this.MU=this.SU=B;this.reset()}function e(a,b,d){a=(b-a)*(1-d);0.01>Math.abs(a)&&(a=0);return b-a}var d=a("u");b.prototype.reset=function(){this.Efa=this.B0=this.YD=this.qw=this.MI=this.F0=this.E0=this.J0=this.CE=this.iA=this.cU=this.eU=this.mp=this.jL=this.Hr=this.dN=0};b.prototype.Faa=function(a,b,d,e,j,n,k,o,p){return this.dN!=a||(this.jL=b)||this.eU!=d||0!=e||0!=j|| this.MU!=k||this.Via!=o||this.SU!=p?(this.dN=a,this.jL=b,this.eU=d,this.Hr+=e,this.mp+=j,this.cU+=n,this.MU=k,this.Via=o,this.SU=p,m):B};b.prototype.gTa=function(a,b){return this.iA!=a||0!=b?(this.iA=a,this.CE+=b,m):B};b.prototype.Ge=function(){return 0!=this.J0||0!=this.E0||0!=this.F0||0!=this.MI||0!=this.dN||0!=this.jL||0!=this.eU||0!=this.iA||0!=this.Hr||0!=this.mp||0!=this.CE};b.prototype.vb=function(a){var a=1E3/a,b=this.J0/a,d=this.dN/a+this.Hr;this.Hr=0;var f=this.E0/a,j=this.jL/a+this.mp; this.mp=0;var n=this.F0/a,k=this.eU/a+this.cU;this.cU=0;var o=this.iA+this.CE*a;this.CE=0;var p=0==d&&0==j&&0==k,q=0==b&&0==f&&0==n;this.MU&&q&&!p||this.SU&&p&&!q||this.Via&&!p&&!q?(p=p?this.$F:q?this.wKa:this.WFa,this.qw=e(b,d,p),this.YD=e(f,j,p),this.B0=e(n,k,p)):(this.qw=d,this.YD=j,this.B0=k);b=0==this.MI;d=0==o;this.MI=this.MU&&b&&!d||this.SU&&d&&!b?e(this.MI,o,this.qNa):o;this.J0=this.qw*a;this.E0=this.YD*a;this.F0=this.B0*a;this.Efa=this.MI/a};return b}); define("cS","require,jquery.mod,kM,e,fa,dq,bf,nW".split(","),function(a){var b=a("jquery.mod"),e=a("kM"),d=a("e"),g=a("fa"),c=a("dq"),i=a("bf"),f=a("nW"),a=e.extend(d,function(){d.call(this);this.he("Renderer");this.I=b("");this.I.css({position:"absolute",left:0,top:0});this.sb().append(this.I);this.Nw=r;this.ta=this.GE=this.EE=this.FE=0;this.bl=B;this.LHa=150;this.tJ=0;this.lm=r;this.bind(f.uc,this.Sb,this,m);this.Va=new g;this.Va.VVa(720);this.Va.mO(0);this.Va.vy("drag_rotation"); this.Va.zC(360);this.Va.bind(g.ws,this.YGa,this);this.Pb=new c});a.prototype.bSa=function(a,b,c){this.Nw=a;this.FE=b;this.EE=c;this.GE=Math.floor(this.Nw.length*this.ta/360);this.k6();this.Va.ds(this);this.Ba()};a.prototype.SNa=function(){this.Nw=r;this.fk();this.k6();this.Va.ql()};a.prototype.play=function(){this.bl=m;this.Ba()};a.prototype.YGa=function(a){this.fk();this.Pb.Faa(a.rv,a.bv,0,a.HH,a.lH,0,B,m);this.Ba()};a.prototype.wK=function(){this.play()};a.prototype.ij=function(a){if(this.Nw)if(this.Pb.Ge()){this.bl= B;this.Pb.vb(a);this.Yda(this.Pb.qw);this.Ba()}else if(this.bl){this.Yda(this.LHa*a/1E3);this.Ba()}else this.JE()||this.Ap()};a.prototype.Dl=function(a){for(this.ta=a;this.ta<0;)this.ta=this.ta+360;for(;this.ta>=360;)this.ta=this.ta-360;this.qMa()};a.prototype.qMa=function(){if(this.Nw){var a=Math.floor(this.Nw.length*this.ta/360);if(this.GE!=a){this.GE=a;this.Ula()}}};a.prototype.Yda=function(a){this.Dl(this.ta+a)};a.prototype.Sb=function(){this.k6()};a.prototype.k6=function(){var a=this.I.get(0); if(this.FE==0||this.EE==0){a.width=0;a.height=0}else{var b=this.Re(),c=this.Qe();if(c*this.FE>b*this.EE){a.width=b;a.height=this.EE*b/this.FE}else{a.height=c;a.width=this.FE*c/this.EE}this.I.css({left:Math.round((b-a.width)*0.5)+"px",top:Math.round((c-a.height)*0.5)+"px"});this.Ula()}};a.prototype.Ula=function(){if(this.Nw){var a=this.I.get(0),b=this.Nw[this.GE];a.getContext("2d").drawImage(b,0,0,this.FE,this.EE,0,0,a.width,a.height)}};a.prototype.JE=function(){return this.lm?m:B};a.prototype.Ap= function(){this.fk();if(this.tJ>0){var a=this;this.lm=setTimeout(function(){a.lm=r;a.wK()},this.tJ)}};a.prototype.fk=function(){if(this.lm){clearTimeout(this.lm);this.lm=r}};a.prototype.Ba=function(){i.wb(this.ij,this)};return a}); define("lK","require,nW,hA,cu,mS,fI,z,cS,nt,jV".split(","),function(a){var b=a("nW"),e=a("hA"),d=a("cu"),g=a("mS"),c=a("fI"),i=a("z"),f=a("cS"),j=a("nt"),n=a("jV"),a=g.G("Object3D",j,function(){j.call(this);this.Wc=this.om=this.Dh=this.h=r;this.bind(b.Vc,this.Wj,this);this.bind(b.ad,this.Sj,this)});a.prototype.kb=function(){j.prototype.kb.call(this);if(!this.h){this.h=new f;this.h.Y({left:0,top:0,right:0,bottom:0});this.La(this.h)}if(!this.Dh){this.Dh=new i;this.Dh.Y({left:0,bottom:0,right:0,height:20, visible:B});this.La(this.Dh)}};a.prototype.Wj=function(){this.OJ()};a.prototype.Sj=function(){this.Nn()};a.prototype.OJ=function(){this.Dh.set("percent",0);this.Dh.set("visible",m);this.h.Dl(this.get("yaw"));var a=this.get("frames",[]);this.om=[];this.Wc=[];for(var d=0;dg.indexOf(a)?b.push(a):d.push(a)});b.forEach(function(a){a.XB().wd(e.M)});this.Co=d;this.B2=B};b.prototype.start=function(a){this.end(a);this.Co=this.nha(a);this.B2=0a&&(a+=d);return i[a*g|0]}function b(a){a%=d;0>a&&(a+=d);return c[a*g|0]}function e(){this.identity()}e.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.bh=this.ah=this.$g=0};e.prototype.clone=function(){var a=new e;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.$g=this.$g;a.ah= this.ah;a.bh=this.bh;return a};e.prototype.concat=function(a){var b=this.m11,c=this.m12,d=this.m13,e=this.m21,f=this.m22,g=this.m23,i=this.m31,u=this.m32,w=this.m33,v=this.$g,x=this.ah,y=this.bh;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+g*a.m31;this.m22=e*a.m12+f*a.m22+g*a.m32;this.m23=e*a.m13+f*a.m23+g*a.m33;this.m31=i*a.m11+u*a.m21+w*a.m31;this.m32=i*a.m12+u*a.m22+w*a.m32;this.m33=i*a.m13+u*a.m23+w*a.m33;this.$g=v* a.m11+x*a.m21+y*a.m31+a.$g;this.ah=v*a.m12+x*a.m22+y*a.m32+a.ah;this.bh=v*a.m13+x*a.m23+y*a.m33+a.bh};e.prototype.translate=function(a,b,c){this.$g+=a;this.ah+=b;this.bh+=c};e.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.$g*=a;this.ah*=b;this.bh*=c};e.prototype.rotateX=function(c){var d=a(c),c=b(c),e=this.m12*d+this.m13*c,f=this.m22*c-this.m23*d,g=this.m22*d+this.m23*c,i=this.m32*c-this.m33*d,t=this.m32* d+this.m33*c,s=this.ah*c-this.bh*d,u=this.ah*d+this.bh*c;this.m12=this.m12*c-this.m13*d;this.m13=e;this.m22=f;this.m23=g;this.m32=i;this.m33=t;this.ah=s;this.bh=u};e.prototype.rotateY=function(c){var d=a(c),c=b(c),e=-this.m11*d+this.m13*c,f=this.m21*c+this.m23*d,g=-this.m21*d+this.m23*c,i=this.m31*c+this.m33*d,t=-this.m31*d+this.m33*c,s=this.$g*c+this.bh*d,u=-this.$g*d+this.bh*c;this.m11=this.m11*c+this.m13*d;this.m13=e;this.m21=f;this.m23=g;this.m31=i;this.m33=t;this.$g=s;this.bh=u};e.prototype.rotateZ= function(c){var d=a(c),c=b(c),e=this.m11*d+this.m12*c,f=this.m21*c-this.m22*d,g=this.m21*d+this.m22*c,i=this.m31*c-this.m32*d,t=this.m31*d+this.m32*c,s=this.$g*c-this.ah*d,u=this.$g*d+this.ah*c;this.m11=this.m11*c-this.m12*d;this.m12=e;this.m21=f;this.m22=g;this.m31=i;this.m32=t;this.$g=s;this.ah=u};e.prototype.rotate=function(a,b,c){this.rotateX(a);this.rotateY(b);this.rotateZ(c)};e.prototype.invert=function(){var a=this.GOa();if(0==a)return B;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.$g=-(b.$g*this.m11+b.ah*this.m21+b.bh*this.m31);this.ah=-(b.$g*this.m12+b.ah*this.m22+b.bh*this.m32);this.bh=-(b.$g*this.m13+b.ah*this.m23+b.bh*this.m33);return m};e.prototype.GOa=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)};e.prototype.CG=function(a){var b=a.x*this.m12+a.y*this.m22+a.z*this.m32+this.ah,c=a.x*this.m13+a.y*this.m23+a.z*this.m33+this.bh;a.x=a.x*this.m11+a.y*this.m21+a.z*this.m31+this.$g;a.y=b;a.z=c};for(var d=2*Math.PI,g=18E4/d,c=new Float32Array(180001),i=new Float32Array(180001),f=0;18E4>f;f++)c[f]=Math.cos(f/g),i[f]=Math.sin(f/g);c[18E4]=c[0];i[18E4]=i[0];return e}); define("dw",["require"],function(){return{qs:0,Ha:1,Ua:2}}); define("bW",["require","mS"],function(a){var b=a("mS"),e={get:function(a){return a.dya||(a.dya=this.BCa(a))},BCa:function(a){if(b.va("CubicPanoramaFrame",a))return a.get("stereoCube")?e.Mv:a.get("cube")?e.Cs:e.wk;if(b.va("SphericPanoramaFrame",a)){if(a.get("stereoSphere")){var g=a.get("hfov"),c=a.get("vfov"),i=a.get("stereoSphere").get("levels"),a=Math.max.apply(Math,i.map(function(a){return a.get("width")})),i=Math.max.apply(Math,i.map(function(a){return a.get("height")}));return 2==Math.round(i/ c/(a/g))?e.yo:e.tq}return e.kq}},Mv:"stereoCube_12_1",Cs:"monoCube_6_1",wk:"monoCube_1_1",kq:"monoSphere_1_1",yo:"stereoSphere_1_2",tq:"stereoSphere_2_1"};return e}); define("mF","require,mS,lx,dw,mb,bW,iY,lf,u,hH,lB,jV,nu".split(","),function(a){function b(a,b,c){return a.split(b).join(c).split(encodeURI(b)).join(c)}function e(){var a=D.Yu()&&URL.Ji("recent_ipad_use_max_res",B);e=function(){return a};return a}function d(a){if(a.length==0)return 1;a.sort(function(a,b){return b.get("width")-a.get("width")});return a[0].get("width")/a[0].get("height")}function g(a,b){var c=1E4;e()||(D.Ff()?c=2048:D.Yu()?c=1280:D.ub()&&(c=1024));switch(a){case y.Cs:return[6*c,c]; case y.wk:return[c,c];case y.Mv:return[12*c,c]}switch(a){case y.yo:b=b*2;break;case y.tq:b=b*0.5}return b>2?[c*4,c*4/b]:[c*2*b,c*2]}function c(a){if(e())return[l,l];switch(a){case y.Cs:if(D.Ff()||D.ub())return[18432,1536];break;case y.yo:if(D.Ff())return[5352,5352];if(D.ub())return[6086,6086];break;case y.kq:if(D.Ff())return[7168,3584];if(D.ub()&&D.Yu())return[8192,4096]}return[l,l]}function i(a,b){var d=c(b);return a.filter(function(a){return u.va("TiledImageResourceLevel",a)?m:d[0]!==l&&a.get("width")> d[0]||d[1]!==l&&a.get("height")>d[1]?B:m})}function f(){return D.Yu()?[w.Lca]:D.u$()?D.gd()==D.wv||D.gd()==D.QC?[w.nP,w.zZ]:[w.zZ,w.nP]:D.Ff()?[w.nP]:D.ub()?[w.mP]:[]}function j(a){a.sort(function(a,b){return a.get("width")-b.get("width")});return a}function n(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!== l?c:[]}function o(a,b,c){a=a.filter(function(a){return a.get("tags").indexOf(b)>=0});return a.length?a:c!==l?c:[]}function p(a,b,c){switch(c){case y.Mv:case y.Cs:case y.wk:return a;case y.kq:case y.tq:return a*b.get("hfov",180)/90;case y.yo:return a*b.get("hfov",180)*2/90}}function q(a,b){switch(b){case y.Mv:return a.get("stereoCube").get("levels");case y.Cs:return a.get("cube").get("levels");case y.wk:return a.get("front").get("levels");case y.kq:return a.get("sphere").get("levels");case y.yo:case y.tq:return a.get("stereoSphere").get("levels")}} function t(a,b){var c=q(a,b),d=a.get("minFaceSize");if(d){var e=p(d,a,b),d=c.filter(function(a){return a.get("height")>=e});d.length>0&&(c=d)}return c}function s(a){for(var b=[],c=0;c0)return j(d);d=this.WDa(a);if(b&&!this.Zha(d)){c=this.sha(a);if(c!= d)return[c,d]}return[d]},nQa:function(a){return a.get("tags").indexOf(w.AZ)>=0},M9:function(a,b,c){if(y.get(a)!=y.wk)return b;var d;switch(c){case x.FRONT:d=a.get("front");break;case x.Ha:d=a.get("left");break;case x.BACK:d=a.get("back");break;case x.Ua:d=a.get("right");break;case x.ec:d=a.get("top");break;case x.Yb: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",B)== b.get("grayscale",B)&&a.get("colCount",1)==b.get("colCount",1)&&a.get("rowCount",1)==b.get("rowCount",1)});return a[0]},Dra:function(a,c,d,e,f,g,j,i){var a=a.get("url"),k=0;a.indexOf("{eye}")>=0||a.indexOf(encodeURI("{eye}"))>=0?a=b(a,"{eye}",H[d]):k=k+6*(f?A:I)[d];a.indexOf("{face}")>=0||a.indexOf(encodeURI("{face}"))>=0?a=b(a,"{face}",N[e]):c!=y.wk&&(k=k+K[e]);a=b(a,"{row}",j);return a=b(a,"{column}",i+k*g)},hPa:function(a,b){return z.kJ(z.eA(a.get("image")),90,90,F.gh,b)},FOa:function(a,b){return z.kJ(z.eA(a.get("image")), a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},TOa:function(a,b){return z.kJ(z.eA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},uPa:function(a,b){return z.kJ(z.eA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},ira:function(a,b){return z.kJ(z.eA(a.get("image")),a.get("hfov"),a.get("vfov"),a.get("scaleMode"),b)},eA:function(a){return a&&a.get("levels")||[]},kJ:function(a,b,c,d,g){if(!a||!a.length)return r;for(var a=k(a,w.wq,a),i=f(),q=0;q=0?B:D.gd()==D.Hy?m:L.PX(a.get("url"))}},K=function(){var a={};a[x.Ua]=0;a[x.Ha]=1;a[x.ec]=2;a[x.Yb]=3;a[x.FRONT]=4;a[x.BACK]=5;return a}(),I=function(){var a={};a[v.Ua]=0;a[v.Ha]=1;a[v.qs]=0; return a}(),A=function(){var a={};a[v.Ua]=1;a[v.Ha]=0;a[v.qs]=0;return a}(),N=function(){var a={};a[x.Ua]="r";a[x.Ha]="l";a[x.ec]="u";a[x.Yb]="d";a[x.FRONT]="f";a[x.BACK]="b";return a}(),H=function(){var a={};a[v.Ha]="l";a[v.Ua]="r";a[v.qs]="b";return a}();return z}); define("hW","require,dZ,nW,ko,eZ,a,mF".split(","),function(a){function b(a){this.h=a;this.ja=B;this.Dm=b.jz;this.I1=this.Pha=B;this.ni(r);this.h.bind(d.uc,this.Sb,this,m);this.Sb()}var e=a("dZ"),d=a("nW"),g=a("ko"),c=a("eZ"),i=a("a"),f=a("mF");b.prototype.Vra=function(){return this.Dm!==b.jz};b.prototype.Ura=function(){return this.Dm&b.sD?m:B};b.prototype.Wra=function(){return this.Dm&b.tD?m:B};b.prototype.Xra=function(){return this.Dm&b.nz?m:B};b.prototype.Tra=function(){return this.Dm&b.iz?m:B}; b.prototype.yX=R("Pha");b.prototype.Oc=function(){this.Km();return this.ta};b.prototype.Hc=function(){this.Km();return this.Qa};b.prototype.rf=function(){this.Km();return this.Lc};b.prototype.Uu=function(){this.Km();return this.ya};b.prototype.ni=function(a){if(a){this.d5=a.get("hfov",360);this.qT=a.get("vfov",180);this.fL=a.get("pitch",0);this.UA=a.get("partial",B);this.D2=a.$ra();this.z2=a.Pra();this.I2=Math.min(a.get("hfovMax",170),170);this.rJ=a.get("hfovMin");this.T3=f.sra(a)}else{this.d5=360; this.qT=180;this.fL=0;this.z2=this.D2=this.UA=B;this.I2=120;this.T3=this.rJ=1}this.ta=0;this.Qa=this.fL;this.Lc=0;this.ja=m};b.prototype.fb=function(a,b,c,d,e){this.ta=a;this.Qa=b;this.Lc=c;this.ya=d;this.I1=e;this.ja=m};b.prototype.Sb=function(){var a=this.h.Ra(),b=this.h.zb();if(this.X!=a||this.ia!=b){this.X=a;this.ia=b;this.ja=m}};b.prototype.Km=function(){if(this.ja){this.ja=B;var a=this.ta*k,d=this.Qa*k,f=this.ya*k,s,u,w,v=(this.I1?g.ms(this.I2,this.X,this.ia):this.I2)*k,x;a:{x=this.rJ;if(e(x).isString())if((x= x.match(/^\s*([+-]?\d+\.?\d*)\s*%\s*$/))&&x.length>=2){x=parseFloat(x[1]);break a}x=l}x=x!==l?2*Math.atan2(this.X*this.h.getPixelRatio()*0.5,this.T3*45*x/100):this.rJ?(this.I1?g.ms(this.rJ,this.X,this.ia):this.rJ)*k:2*Math.atan2(this.X*this.h.getPixelRatio()*0.5,this.T3*45);x=Math.min(v,x);if(this.Pha){s=360;w=180;u=0}else if(this.D2||this.z2){s=this.z2?90:this.fL+this.qT*0.5;var y=this.D2?-90:this.fL-this.qT*0.5;w=s-y;u=(s+y)*0.5;s=this.d5}else{s=this.d5;u=this.fL;w=this.qT}s=s*k;w=w*k;u=u*k;for(y= this.X/this.ia;a<-j;)a=a+2*j;for(;a>j;)a=a-2*j;f=Math.max(Math.min(f,v),x);v=b.jz;d>n?v=v|b.nz:d<-n&&(v=v|b.iz);var d=Math.max(Math.min(d,j*0.5),-j*0.5),E=2*Math.atan(Math.tan(f*0.5)/y);if(E>=w){f=2*Math.atan(Math.tan(w*0.5)*y);d=u;v=v|b.nz|b.iz}else{var D=Math.min(w*0.5+u,j*0.5);w=Math.max(-w*0.5+u,-j*0.5);u=!this.UA&&D>=j*0.495?j*0.5:D-E*0.5;w=!this.UA&&w<=-j*0.495?-j*0.5:w+E*0.5;if(d>u){d=u;v=v|b.nz}else if(d0?y:-y,1);w=new c;w.rotateX(-d); y.apply(w);y=y.Oc()*2;y<0&&(y=y+2*j);w=s*0.5-y*0.5;E=-s*0.5+y*0.5;if(y>s){a=0;f=Math.max(x,f*s/y);v=v|b.sD|b.tD}else if(a>w){a=w;v=v|b.tD}else if(ab;)a=a-360;return a};a.prototype.JA=function(){this.K&&this.Rn()};a.prototype.Rn=function(){this.trigger(new d(e.ra))};return a});define("ec",["require"],function(){return{gD:"left",hD:"right",fD:"down",iD:"up",Dca:"rotate10x",dda:"zoom2x",Q:"playing",Qs:"zoomIn",Rs:"zoomOut",$f:"stop"}}); define("fe","require,kM,bl,cu,fQ,ec".split(","),function(a){var b=a("kM"),e=a("bl"),d=a("cu"),g=a("fQ"),c=a("ec"),i=b.extend(g,function(a){g.call(this);this.h=a;this.K=B;this.Uh={};this.eM=r;this.Fi=this.dM=B;this.PR=this.PR.bind(this);this.Mt=this.Mt.bind(this);this.oc=this.h.oc;document.addEventListener("keydown",this.PR);document.addEventListener("keyup",this.Mt)});i.prototype.clear=function(){this.K=B;this.oc=this.h=r;document.removeEventListener("keydown",this.PR);document.removeEventListener("keyup", this.Mt)};i.prototype.vd=function(a){if(this.K!=a)(this.K=a)&&this.mV()};var f=[e.xq,e.hq,e.Ha,e.Ua,e.ns,e.HZ];i.prototype.PR=function(a){var b=a.which,c=B;if(!this.Uh[b]&&f.indexOf(b)>=0){if(!this.eM&&!this.dM)this.eM=setTimeout(this.aHa.bind(this),100);c=this.Uh[b]=m}if(this.Fi!=a.shiftKey){this.Fi=a.shiftKey;c=m}c&&this.mV()};i.prototype.aHa=function(){this.dM=m;this.mV()};i.prototype.Mt=function(a){var b=a.which,c=B;if(b in this.Uh){delete this.Uh[b];c=B;for(b in this.Uh)this.Uh[b]&&(c=m);if(!c){this.eM&& clearTimeout(this.eM);this.eM=r;this.dM=B}c=m}if(this.Fi!=a.shiftKey){this.Fi=a.shiftKey;c=m}c&&this.mV()};i.prototype.mV=function(){if(this.K){var a=this.oc.get("arrowKeysAction");if(a!="none"){var a=a=="rotate",b=[];this.Uh[e.ns]?b.push(c.Qs):this.Uh[e.HZ]&&b.push(c.Rs);this.dM&&(this.Uh[e.ns]||this.Uh[e.HZ])&&b.push(c.dda);this.Uh[e.Ha]?b.push(c.gD):this.Uh[e.Ua]&&b.push(c.hD);if(a||this.Fi)this.Uh[e.xq]?b.push(c.iD):this.Uh[e.hq]&&b.push(c.fD);this.dM&&(this.Uh[e.Ha]||this.Uh[e.Ua]||this.Uh[e.xq]|| this.Uh[e.hq])&&b.push(c.Dca);b.length==0&&b.push(c.$f);this.trigger(new d(i.IY,{ota:b}))}}};i.IY="movementsChange";return i}); define("md",["require"],function(){function a(){this.oz=m;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.oz&&(this.oz=B,this.XU=this.YU=this.Cu=this.Hm=this.ZD=this.bE=this.$D=this.sw=l)};a.prototype.moveTo=function(a,b,g,c,i){this.Hm=a;this.Cu=b;this.YU=g;this.XU=c;this.Z2=i;this.oz=m};a.prototype.fb=function(a,b,g,c){this.sw=a;this.$D=b;this.bE=g;this.ZD=c};a.prototype.Tp=S("sw");a.prototype.Sp=S("$D");a.prototype.ky=S("bE");a.prototype.aC= S("ZD");a.prototype.Ge=S("oz");a.prototype.vb=function(){if(this.oz)if(this.Z2)this.sw=this.Hm,this.$D=this.Cu,this.bE=this.YU,this.ZD=this.XU,this.oz=B;else{for(var a=this.sw,d=this.Hm-180,g=this.Hm+180;ag;)a-=g-d;this.sw=a;this.sw=b(this.sw,this.Hm);this.$D=b(this.$D,this.Cu);this.bE=b(this.bE,this.YU);this.ZD=b(this.ZD,this.XU);this.sw==this.Hm&&this.$D==this.Cu&&this.bE==this.YU&&this.ZD==this.XU&&(this.oz=B)}};return a}); define("cq",["require","mO","lH","bu"],function(a){function b(){this.K=B;this.Lc=this.Qa=this.ta=0;this.UR=l}var e=a("mO"),d=a("lH"),g=a("bu");b.prototype.vd=function(a){this.K!=a&&(this.K=a,this.UR=l)};b.prototype.fb=function(a,b,c){this.ta=a;this.Qa=b;this.Lc=c};b.prototype.Tp=S("ta");b.prototype.Sp=S("Qa");b.prototype.ky=S("Lc");b.prototype.Ge=T(m);b.prototype.vb=function(){var a=e.bba(g.Sr().orientation);this.ta+=this.UR===l?0:a.Ka-this.UR;this.UR=a.Ka;this.Qa=a.pitch;this.Lc=a.He;this.Qa=i=== l?a.pitch:i;this.Lc=c===l?a.He:c};var c=d.Li("debug")?d.uW("force_vr_roll"):l,i=d.Li("debug")?d.uW("force_vr_pitch"):l;return b}); define("g","require,dZ,kM,nW,cu,fQ,cA,he,fe,dq,fa,md,cq,ec,bu,bb".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("fQ"),i=a("cA"),f=a("he"),j=a("fe"),n=a("dq"),k=a("fa"),o=a("md"),p=a("cq"),q=a("ec"),t=a("bu"),s=a("bb"),u=e.extend(c,function(a,b,e){c.call(this);this.h=a;this.oc=this.h.oc;this.W=b;this.nc=e;this.Bx=this.Iw=this.nJ=this.QT=this.K=B;this.Pb=new n;this.Bp=new o;this.Lc=this.Qa=this.ta=0;this.ya=90;this.tB=1;this.qh=l;this.x_=this.nI=5;this.ay=B;this.Va=new k;this.Va.bind(k.ws, this.IK,this,m);this.Va.bind(k.qo,this.ix,this,m);this.Va.bind(k.fh,this.gp,this,m);this.Va.bind(k.eh,this.fp,this,m);this.Hk=new f;this.Hk.bind(d.ra,this.Hja,this);this.Hw=B;this.nm=new j(this.h);this.nm.bind(j.IY,this.Qja,this,m);this.Fr=new p;t.bind(d.ra,this.Bn,this,m);this.Bn()});u.prototype.clear=function(){this.Va.unbind(k.ws,this.IK,this,m);this.Va.unbind(k.qo,this.ix,this,m);this.Va.unbind(k.fh,this.gp,this,m);this.Va.unbind(k.eh,this.fp,this,m);this.Va.ql();this.Va=r;this.Hk.unbind(d.ra, this.Hja,this);this.Hk=r;this.nm.unbind(j.IY,this.Qja,this,m);this.nm.clear();this.nm=r;t.unbind(d.ra,this.Bn,this,m);this.nc=this.W=this.Pb=r;this.gQ();this.h=this.oc=r};u.prototype.iv=function(a){this.Pb.reset();this.Bp.reset();this.Va.iv(a);this.nI=a.get("automaticRotationSpeed");this.x_=a.get("automaticZoomSpeed")};u.prototype.Aj=function(a){function c(d){return b(a).contains(d)}b.isArray(a)||(a=[a]);var d=0,e=0,f=0,g=B;if(!c(q.$f)){c(q.gD)?d=-this.nI:c(q.hD)&&(d=+this.nI);c(q.fD)?e=-this.nI: c(q.iD)&&(e=+this.nI);c(q.Qs)?f=-this.x_:c(q.Rs)&&(f=+this.x_);c(q.Q)&&(g=m);c(q.dda)&&(f=f*2);if(c(q.Dca)){d=d*10;e=e*10}d=d*this.tB;e=e*this.tB}this.xc(d,e,0,f,0,0,0,0,g,m,m,m)};u.prototype.fb=function(a,b,c,d){this.ta=a;this.Qa=b;this.Lc=c;this.ya=d;this.tB=this.ya/90;this.Hk.fb(this.ta,this.Qa,this.Lc);this.Fr.fb(this.ta,this.Qa,this.Lc);this.Va.zC(this.ya);this.Bp.fb(this.ta,this.Qa,this.Lc,this.ya)};u.prototype.moveTo=function(a,b,c,d,e){this.Bp.moveTo(a,b,c,this.nc.Yqa(d),e);this.QT=B;this.Pb.reset(); this.Fh()};u.prototype.Gaa=function(a,b,c){this.xc(0,0,0,0,a,b,c,0,B,B,B)};u.prototype.Ge=function(){return this.K&&(this.Bx||this.YX())?m:B};u.prototype.VNa=function(){this.Bx=this.ay=B};u.prototype.YX=function(){return this.K?this.ay?m:this.Fr.K?this.Fr.Ge()||this.Pb.Ge():this.Hk.K?this.Hw?m:this.Hk.Ge()||this.Pb.Ge():this.Pb.Ge()||this.Bp.Ge():B};u.prototype.vb=function(a){this.ay=B;this.Pb.vb(a);this.Bx=B;var b,c,d;d=this.ya;if(this.Fr.K){this.Fr.vb(a);a=this.Fr.Tp()+this.Pb.qw;b=this.Fr.Sp(); c=this.Fr.ky()}else if(this.Bp.Ge()){this.Bp.vb(a);a=this.Bp.Tp();b=this.Bp.Sp();c=this.Bp.ky();d=this.Bp.aC()}else{if(this.Hk.K){this.Hw=B;this.Hk.vb(a);a=this.Hk.Tp()+this.Pb.qw;b=this.Hk.Sp();this.nJ&&(b=b+this.Pb.YD);c=this.Hk.ky()}else{a=this.ta+this.Pb.qw;b=this.Qa+this.Pb.YD;c=0}d=d+this.Pb.Efa}this.nc.eo(d);this.W.fb(a,b,c,this.nc.lg(),this.nc.Su());this.ta=this.W.Oc();this.Qa=this.W.Hc();this.Lc=this.W.rf();this.ya=this.W.Uu();if(this.QT&&this.W.Vra()){d=this.Pb.dN;if(this.W.Ura()||this.W.Wra())d= -d;a=this.Pb.jL;if(this.W.Xra()||this.W.Tra())a=-a;this.xc(d,a,0,0,0,0,0,0,m,B,B,m)}};u.prototype.Tp=S("ta");u.prototype.Sp=S("Qa");u.prototype.ky=S("Lc");u.prototype.aC=S("ya");u.prototype.vd=function(a){if(this.K!=a){if(this.K=a){this.Mx(this.Va.FA==i.ts?s.$y:l);this.Va.ds(this.h.getParent());this.Fh()}else{this.gQ();this.Va.ql()}this.j8()}};u.prototype.oO=function(a){if(this.Iw!=a){this.Iw=a;this.j8();this.Hw=m}};u.prototype.ty=function(a){this.nm.vd(a)};u.prototype.j8=function(){this.Hk.vd(this.K&& this.Iw&&!t.isPresenting());this.Fr.vd(this.K&&t.isPresenting())};u.prototype.Hja=function(){this.Fh()};u.prototype.pO=function(a){this.nJ=a;this.Hk.cTa(this.nJ)};u.prototype.vy=function(a){this.Va.vy(a);this.Mx(this.Va.FA==i.ts?s.$y:l)};u.prototype.DC=function(a){this.Va.DC(a)};u.prototype.Bn=function(){this.j8();this.Fh()};u.prototype.IK=function(a){var b=!this.Fr.K&&(!this.Hk.K||this.nJ);if(this.Va.FA==i.Ly){var c=l;if(a.rv!=0||a.bv!=0){var d=Math.sqrt(a.bv*a.bv+a.rv*a.rv)>25,e=Math.atan2(a.bv, a.rv)*180/Math.PI;e>=-22.5&&e<22.5?c=d?s.Zba:s.Yba:e>=22.5&&e<67.5?c=d?s.aca:s.hca:e>=67.5&&e<112.5?c=d?s.$ba:s.gca:e>=112.5&&e<157.5?c=d?s.bca:s.ica:e>=157.5||e<-157.5?c=d?s.fca:s.mca:e>=-157.5&&e<-112.5?c=d?s.eca:s.lca:e>=-112.5&&e<-67.5?c=d?s.cca:s.jca:e>=-67.5&&e<-22.5&&(c=d?s.dca:s.kca)}this.Mx(c);this.xc(a.rv,a.bv,0,0,a.HH,a.lH,0,0,B,B,B,b)}else this.xc(a.rv,a.bv,0,0,a.HH,a.lH,0,0,B,B,b,b)};u.prototype.ix=function(a){this.xc(0,0,0,a.OPa,0,0,0,a.e$,B,m,B,m)};u.prototype.xc=function(a,b,c,d,e, f,g,j,i,k,n,o){var q=B;this.oc.get("rotationEnabled")&&(q=this.Pb.Faa(a,b,c,e,f,g,k,n,o)||q);this.oc.get("zoomEnabled")&&(q=this.Pb.gTa(d,j)||q);if(q){this.Bp.reset();this.QT=i;this.Fh()}};u.prototype.Fh=function(){this.Bx=m;this.trigger(new g(u.dh))};u.prototype.gp=function(){this.ay=m;this.trigger(new g(u.fh));this.Va.FA==i.ts&&this.Mx(s.vk)};u.prototype.fp=function(){this.trigger(new g(u.eh));this.Va.FA==i.ts&&this.Mx(s.$y)};u.prototype.Qja=function(a){this.Aj(a.data.ota);a.data.ota.indexOf(q.$f)< 0&&this.h.tb().trigger(new g(d.WC,{CO:a}))};u.prototype.Mx=function(a){if(this.qh!=a&&this.K){this.qh&&this.h.mH(this.qh);(this.qh=a)&&this.h.oX(this.qh)}};u.prototype.gQ=function(){if(this.qh){this.h.mH(this.qh);this.qh=l}};u.dh="position change request";u.fh="user interaction start";u.eh="user interaction end";return u});define("ml",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("TargetRotationalCameraMovement",b,function(){b.call(this)})}); define("P","require,kM,nW,kn,cu,fQ,mS,gs,ml,nA,bD".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("kn"),g=a("cu"),c=a("fQ"),i=a("mS");a("gs");a("ml");var f=a("nA"),j=a("bD"),n=b.extend(c,function(a,b,d){c.call(this);this.h=a;this.W=b;this.nc=d;this.HF=this.Fa=r;this.xx=this.xm=B;this.Xj=l;this.XE=[];this.hB=0;this.N=r;this.Qa=this.ta=0;this.ya=90});n.prototype.clear=function(){this.end();this.W=this.h=r};n.prototype.start=function(a){this.UJa(a);this.CHa();this.xx=B;this.hQ();this.xm=B;this.Fh(); this.pj()};n.prototype.end=function(){if(this.Fa!=r){this.bfa();this.xm=this.xx=B;this.N=r;this.pj()}};n.prototype.PQa=function(){if(this.Fa&&this.Fa.get("restartMovementOnUserInteraction")){if(!this.xm){this.kM();this.j7();this.N=r;this.xm=m;this.pj()}}else{this.N=r;this.pause()}};n.prototype.SQa=function(){if(this.xm){this.xm=B;this.kia()||this.e7()}};n.prototype.UJa=function(a){this.bfa();this.Fa=a;this.Fa.bind(e.dz,this.Nka,this,m);this.Fa.bind(e.gP,this.Mka,this,m);this.Fa.bind(e.u("movementIndex"), this.QA,this,m);this.XE=this.Fa.get("movements",[])};n.prototype.bfa=function(){this.j7();if(this.Fa!=r){this.Fa.unbind(e.dz,this.Nka,this);this.Fa.unbind(e.gP,this.Mka,this);this.Fa.unbind(e.u("movementIndex"),this.QA,this);this.Fa.set("movementIndex",-1);this.Fa=r;this.XE=[]}};n.prototype.yj=function(){return this.Fa?this.xx?d.Db:d.Q:d.M};n.prototype.fb=function(a,b,c,d){this.ta=a;this.Qa=b;this.ya=d};n.prototype.Ge=function(){return this.Fa&&this.N&&!this.xx&&!this.xm&&!this.kia()?m:B};n.prototype.vb= function(a){if(this.Ge()){this.N.vb(a);a=this.N.eb("hfov");if(this.nc.wsa()){var b=this.N.L9("hfov");b.from=this.nc.YV(b.from);b.Ay=this.nc.YV(b.Ay);a=this.nc.YV(a)}this.W.fb(this.N.eb("yaw"),this.N.eb("pitch"),0,a,this.nc.Su());this.ta=this.W.Oc();this.Qa=this.W.Hc();this.ya=this.W.Uu();this.N.Se()&&this.GGa()}};n.prototype.Tp=S("ta");n.prototype.Sp=S("Qa");n.prototype.aC=S("ya");n.prototype.play=function(){if(this.xx){this.xx=B;this.N||this.QA();this.hQ();this.Fh();this.pj()}};n.prototype.pause= function(){if(!this.xx){this.xx=m;this.kM();this.pj()}};n.prototype.Nka=function(){this.play()};n.prototype.Mka=function(){this.pause()};n.prototype.CHa=function(){this.hB=0;var a=this.Fa.get("movementIndex",-1);a==-1&&(a=0);this.DT(a)};n.prototype.EHa=function(){this.hB++;var a=this.Fa.get("repeat",1);if(this.XE.length>0&&(a==0||this.hB=0?this.lw(this.XE[a]):r};n.prototype.GGa=function(){this.XE[this.Fa.get("movementIndex")].trigger(new g(e.lb));this.DHa()};n.prototype.kia=function(){return this.HF!=r};n.prototype.e7=function(){this.j7();var a=this,b=this.Fa.get("restartMovementDelay")||0;this.HF=setTimeout(function(){a.HF=r;a.WGa()}, b);this.pj()};n.prototype.j7=function(){if(this.HF){clearTimeout(this.HF);this.HF=r}};n.prototype.WGa=function(){this.DT(this.Fa.get("movementIndex"));this.Fh();this.pj()};n.prototype.lw=function(a){var b,c,d,e=this.bk(this.ta,-180,180),g=this.Qa,n=this.ya;if(i.va("TargetRotationalCameraMovement",a)){b=a.get("targetYaw",e);c=a.get("targetPitch",g);if(d=a.get("targetHfov")){this.nc.Kua(d);d=this.nc.lg()}else d=n;this.W.fb(b,c,0,d,this.nc.Su());if(this.W.UA)b=this.W.Oc();else switch(this.y1(a)){case "left":b= this.bk(b,e-360,e);break;case "right":b=this.bk(b,e,e+360);break;case "longest":b=this.bk(b,e-180,e+180);b=b>=e?this.bk(b,e-360,e):this.bk(b,e,e+360);break;default:b=this.bk(b,e-180,e+180)}}else if(i.va("DistanceRotationalCameraMovement",a)){b=e+a.get("yawDelta",0);this.W.UA&&(b=Math.min(Math.max(-180,b),180));c=g+a.get("pitchDelta",0);d=n+a.get("hfovDelta",0);this.W.fb(b,c,0,d,this.nc.Su());this.W.UA&&(b=this.W.Oc())}c=this.W.Hc();d=this.W.Uu();return new f(a.get("easing"),[new j("yaw",e,b,a.get("yawSpeed")), new j("pitch",g,c,a.get("pitchSpeed")),new j("hfov",n,d,a.get("hfovSpeed"))],a.get("duration"))};n.prototype.hQ=function(){this.Xj=l};n.prototype.kM=function(){if(this.N){this.Xj=l;var a=this.N&&this.N.L9("yaw");if(a)if(a.Ay>a.from)this.Xj="right";else if(a.Ayc;)a=a-(c-b);return a};n.prototype.Fh=function(){this.trigger(new g(n.dh))}; n.prototype.JLa=function(){this.trigger(new g(n.VY))};n.prototype.pj=function(){this.trigger(new g(n.mc))};n.dh="position change request";n.VY="sequence end";n.mc="playback state change";return n}); define("br","require,dZ,kM,nW,cu,fQ,hW,gK,g,P,ec,bu,kn".split(","),function(a){a("dZ");var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("hW"),i=a("gK"),f=a("g"),j=a("P"),n=a("ec"),k=a("bu"),o=a("kn"),p=b.extend(g,function(a,b){g.call(this);this.h=a;this.h.bind(e.uc,this.Sb,this);k.bind(e.ra,this.Bn,this,m);this.nc=b;this.m6=B;this.ya=this.Lc=this.Qa=this.ta=l;this.Jr=this.Ir=this.jK=this.mK=this.lK=this.kK=B;this.Gm=m;this.CE=this.mp=0;this.K=B;this.lm=r;this.tJ=5E3;this.$i=this.wh=r;this.pr=[];this.fi= this.Vv=o.M;this.W=new c(a);this.Jb=new f(this.h,this.W,this.nc);this.Jb.bind(f.dh,this.cp,this,m);this.Jb.bind(f.fh,this.gp,this,m);this.Jb.bind(f.eh,this.fp,this,m);this.km=new i(this.h,this.W,this.nc);this.km.bind(i.dh,this.cp,this,m);this.Be=new j(this.h,this.W,this.nc);this.Be.bind(j.dh,this.cp,this,m);this.Be.bind(j.VY,this.nx,this,m);this.Be.bind(j.mc,this.Oka,this,m)});p.prototype.clear=function(){this.fk();this.Jb.unbind(f.dh,this.cp,this);this.Jb.unbind(f.fh,this.gp,this,m);this.Jb.unbind(f.eh, this.fp,this,m);this.Jb.clear();this.Jb=r;this.km.unbind(i.dh,this.cp,this,m);this.km.clear();this.km=r;this.Be.unbind(j.dh,this.cp,this);this.Be.unbind(j.VY,this.nx,this);this.Be.unbind(j.mc,this.Oka,this);this.Be.clear();this.W=this.Be=r;this.h.unbind(e.uc,this.Sb,this);k.unbind(e.ra,this.Bn,this,m);this.h=r;if(this.ma){this.ma.unbind(e.u("sequences"),this.ox,this,m);this.ma=r}this.xU([])};p.prototype.end=function(){this.Vv=o.M;this.fk();this.Jb.vd(B);this.km.vd(B);this.Be.end();this.K=B;this.vu(0, 0,0,0);this.$i=this.wh=r;if(this.ma){this.ma.unbind(e.u("sequences"),this.ox,this,m);this.ma=r}this.xU([]);this.AB()};p.prototype.start=function(a,b){this.Vv=o.Q;this.K=m;this.vu(0,0,0,0);this.SL(a);this.C6(b);this.Tla();this.NU(this.$i);this.km.vd(m);this.AB()};p.prototype.yj=S("fi");p.prototype.play=function(a){this.Vv=o.Q;this.Be.yj()==o.Db?this.Be.play():this.Be.yj()==o.M&&(!a&&this.$i?this.NU(this.$i):this.JE()||this.Ap());this.AB()};p.prototype.resume=function(){if(this.Vv==o.Db){this.Jb.VNa(); this.play(m)}};p.prototype.pause=function(){this.Jb.Aj(n.$f);if(this.Vv==o.Q){this.Vv=o.Db;if(this.Be.yj()==o.Q){this.Be.pause();this.AB()}else this.JE()&&this.fk()}};p.prototype.stop=function(){this.Vv=o.M;this.Be.yj()!=o.M&&this.Be.end();this.Jb.Aj(n.$f);this.AB();this.JE()&&this.fk()};p.prototype.moveTo=function(a,b,c,d,e){this.Jb.moveTo(a,b,c,d,e)};p.prototype.xU=function(a){this.pr.forEach(function(a){a.unbind(e.dz,this.Ema,this,m)}.bind(this));this.pr=a;this.pr.forEach(function(a){a.bind(e.dz, this.Ema,this,m)}.bind(this))};p.prototype.Bn=function(){this.W.yX(k.isPresenting())};p.prototype.Aj=function(a){this.Jb.Aj(a)};p.prototype.Gaa=function(a,b,c){this.Jb.Gaa(a,b,c)};p.prototype.oO=function(a){if(this.Iw!=a){this.Iw=a;this.Jb.oO(this.Iw);this.Ba()}};p.prototype.pO=function(a){this.Jb.pO(a)};p.prototype.vy=function(a){this.Jb.vy(a)};p.prototype.DC=function(a){this.Jb.DC(a)};p.prototype.ty=function(a){this.Jb.ty(a)};p.prototype.ev=function(a){if(this.K)if(this.Jb.Ge()||k.isPresenting()|| this.Iw&&(this.Jb.K||!this.Jb.nJ)){this.Jb.YX()&&this.Be.PQa();this.Jb.vb(a);this.gl(this.Jb.Tp(),this.Jb.Sp(),this.Jb.ky(),this.Jb.aC());this.Ba()}else if(this.Be.xm){this.Be.SQa();this.Ba()}else if(this.Be.Ge()){this.Be.vb(a);this.gl(this.Be.Tp(),this.Be.Sp(),0,this.Be.aC());this.Ba()}else if(this.km.Ge()){this.km.vb(a);this.gl(this.km.Tp(),this.km.Sp(),0,this.km.aC());this.Ba()}else if(this.m6){this.m6=B;this.nc.eo(this.h.lg());this.W.fb(this.h.Oc(),this.h.Hc(),this.h.rf(),this.nc.lg(),this.nc.Su()); this.gl(this.W.Oc(),this.W.Hc(),this.W.rf(),this.W.Uu());this.Ba()}else{this.vu(0,0,0,0);this.Vv==o.Q&&this.Be.yj()!=o.Q&&(this.JE()||this.Ap())}};p.prototype.fd=function(){this.CMa();this.Tla()};p.prototype.CMa=function(){var a=this.h.Oc()-this.ta||0,b=this.h.Hc()-this.Qa||0,c=this.h.rf()-this.Lc||0;this.vu(a,b,c,this.h.lg()-this.ya||0)};p.prototype.Tla=function(){this.ta=this.h.Oc();this.Qa=this.h.Hc();this.Lc=this.h.rf();this.ya=this.h.lg();this.Jb.fb(this.ta,this.Qa,this.Lc,this.ya);this.Be.fb(this.ta, this.Qa,this.Lc,this.ya);this.km.fb(this.ta,this.Qa,this.Lc,this.ya)};p.prototype.SL=function(a){this.W.ni(a)};p.prototype.C6=function(a){this.ma=a;this.tJ=a.get("timeToIdle",5E3);this.wh=a.get("idleSequence");this.$i=a.get("initialSequence");this.Jb.iv(a);this.km.iv(a);a.bind(e.u("sequences"),this.ox,this,m);this.xU(a.get("sequences",[]))};p.prototype.ox=function(){this.xU(this.ma.get("sequences",[]))};p.prototype.Ema=function(a){this.NU(a.source)};p.prototype.cp=function(){this.fk();this.Ba()}; p.prototype.gp=function(){this.trigger(new d(p.fh))};p.prototype.fp=function(){this.trigger(new d(p.eh))};p.prototype.NU=function(a){if(a){this.Jb.vd(!a.get("mandatory",B));this.Be.start(a)}else this.nx()};p.prototype.nx=function(){this.Jb.vd(m);this.Ap()};p.prototype.Oka=function(){this.AB()};p.prototype.Sb=function(){this.m6=m;this.Ba()};p.prototype.JE=function(){return this.lm!=r};p.prototype.Ap=function(){this.fk();var a=this;this.lm=setTimeout(function(){a.lm=r;a.wK()},this.tJ)};p.prototype.fk= function(){if(this.lm){clearTimeout(this.lm);this.lm=r}};p.prototype.wK=function(){this.NU(this.wh)};p.prototype.Ba=function(){this.trigger(new d(p.ob))};p.prototype.gl=function(a,b,c,d){this.h.fb(a,b,c,d)};p.prototype.vu=function(a,b,c,e){var c=B,f=Math.abs(a)<0.001&&Math.abs(b)<0.001&&Math.abs(e)<0.001;if(f||this.Iw){c=this.Gm!=m;this.Jr=this.Ir=this.jK=this.mK=this.lK=this.kK=B;this.Gm=m}else{if(this.kK!=a<-0.001){this.kK=!this.kK;c=m}if(this.lK!=a>0.001){this.lK=!this.lK;c=m}if(this.jK!=b<-0.001){this.jK= !this.jK;c=m}if(this.mK!=b>0.001){this.mK=!this.mK;c=m}if(this.Ir!=e<-0.001){this.Ir=!this.Ir;c=m}if(this.Jr!=e>0.001){this.Jr=!this.Jr;c=m}if(this.Gm!=f){this.Gm=!this.Gm;c=m}}f||this.trigger(new d(p.lo,{yaw:this.ta,pitch:this.Qa,roll:this.Lc,hfov:this.ya}));if(c){(this.K||this.Gm)&&this.trigger(new d(p.Dj,{movingLeft:this.kK,movingRight:this.lK,movingUp:this.mK,movingDown:this.jK,zoomingIn:this.Ir,zoomingOut:this.Jr,stopped:this.Gm}));this.AB()}};p.prototype.AB=function(){var a;if(this.K){a=this.Be.yj(); if(!this.Gm)a=o.Q}else a=o.M;if(this.fi!=a){this.fi=a;this.trigger(new d(p.mc,{state:this.fi}))}};p.ob="request frame";p.Dj="movement change";p.lo="position change";p.mc="playback state change";p.fh="user interaction start";p.eh="user interaction end";return p}); define("gr","require,nW,hW,u,hl,lH,bu,mO".split(","),function(a){function b(a,c,d){this.h=a;this.nc=c;this.Vx=d;this.W=new e(a);d.Hg&&this.W.ni(d.Hg);this.su=new e(a);this.OE=this.Nt=l;this.ta=this.h.Oc();this.Qa=this.h.Hc();this.Lc=this.h.rf();this.ya=this.Vx.Hg?this.h.lg():b.uba;this.Kna=0;this.$=r;this.ria=m}a("nW");var e=a("hW");a("u");var d=a("hl"),g=a("lH"),c=a("bu"),i=a("mO");b.prototype.ni=function(a){if(this.$!=a){this.vx=m;this.$=a}};b.prototype.kv=function(a,b){this.ta=a;this.Qa=b};b.prototype.PB= function(a){this.nc.Kua(a);return this.nc.lg()};b.prototype.eo=R("ya");b.prototype.tO=R("ria");b.prototype.CC=R("Kna");b.prototype.ev=function(){if(this.nc.wsa())this.ya=this.nc.YV(this.ya);if(this.Vx.Wb()){var a=c.Sr().orientation,a=i.bba(a);this.ta=this.ta+(this.Nt===l?0:a.Ka-this.Nt);this.Nt=a.Ka;this.Qa=a.pitch;this.Lc=a.He;this.Qa=j===l?a.pitch:j;this.Lc=f===l?a.He:f}else if(this.Vx.Nra()){var a=d.Ur(),b=this.iB(a.yaw,this.ta);this.ta=this.ta+(this.Nt===l?0:b-this.Nt);this.Qa=this.Qa+(this.OE=== l?0:a.pitch-this.OE);this.Lc=a.roll;this.Nt=a.yaw;this.OE=a.pitch}else{a=this.iB(this.h.Oc(),this.ta);b=this.h.Hc();this.ta=this.ta+(this.Nt===l?0:a-this.Nt);this.Qa=this.Qa+(this.OE===l?0:b-this.OE);this.Lc=this.h.rf()}this.vx&&this.W.ni(this.$);this.W.yX(c.isPresenting());this.W.fb(this.ta,this.Qa,this.Lc,this.ya,this.nc.Su());if(this.vx){this.vx=B;if(this.Vx&&this.Vx.Hg)if(a=this.h.gf(this.Vx.Hg)){a.set("deltaYaw",this.h.Oc()-this.W.Oc());a.set("deltaPitch",this.h.Hc()-this.W.Hc());a.set("deltaRoll", this.h.rf()-this.W.rf())}}this.ta=this.W.Oc();this.Qa=this.W.Hc();this.Lc=this.W.rf();if(!this.Vx.Wb()&&!this.Vx.Nra()){this.Nt=this.ta;this.OE=this.Qa}this.ya=this.ria?this.W.Uu():this.ya;this.h.fb(this.ta,this.Qa,this.Lc,this.ya);this.h.CC(this.Kna)};b.prototype.vX=function(a,b){this.su.ni(a);this.su.fb(0,0,0,b,this.nc.Su());return this.su.Uu()};b.prototype.vRa=function(a,b){this.su.ni(a);this.su.fb(b.Ka,b.pitch,b.He,b.ue,this.nc.Su());b.Ka=this.su.Oc();b.pitch=this.su.Hc();b.He=this.su.rf();b.ue= this.su.Uu()};b.prototype.iB=function(a,b){for(;a+180b;)a=a-360;return a};b.prototype.Aqa=function(){return b.uba};b.uba=TDV.Bca.pwa;var f=g.Li("debug")?g.uW("force_vr_roll"):l,j=g.Li("debug")?g.uW("force_vr_pitch"):l;return b}); define("os",["require","gm","lC","u","bu"],function(a){function b(a,c,j,n,k){this.h=a;this.zl=c;a=this.h.J;this.HO=a.get("transitionMode","blending");c=a.get("transitionDuration",500);this.MEa(j,n)&&(this.HO=b.aP,c=1500);this.DG=a.get("blendingTransitionDuration",c);this.vOa=a.get("firstTransitionDuration",c);this.Eqa=a.get("disolveTransitionDuration",c);this.Iva=a.get("translationTransitionDuration",1E3);a.get("translationTransitionSpeed");this.Jva=a.get("translationTransitionEnabled",m);this.Cta= a.get("originTransitionDuration",3E3);this.$X=1E3;this.Hg=j;this.kTa=!j||j.p$();this.lTa=!j||j.osa();this.sc=n;this.ova=!n||n.p$();this.Waa=!n||n.osa();this.yTa=!!n&&this.s3(n);c=(this.EC=k)&&k.get("initialPosition")||new e;this.og=new e;this.og.set("yaw",c.get("yaw",0));this.og.set("pitch",c.get("pitch"));this.og.set("hfov",c.get("hfov"));this.ef=new d;this.ef.set("yaw",this.og.get("yaw"));this.ef.set("pitch",this.og.get("pitch"));this.ef.set("hfov",this.og.get("hfov"));this.ef.set("stereographicFactor", 0);this.Wn=[];if(!j){this.Wn=k&&k.get("displayMovements")||[];for(c=this.Wn.length-1;0<=c;c--)this.ef.set("yaw",this.ef.get("yaw",this.Wn[c].get("targetYaw"))),this.ef.set("pitch",this.ef.get("pitch",this.Wn[c].get("targetPitch"))),this.ef.set("hfov",this.ef.get("hfov",this.Wn[c].get("targethfov"))),this.ef.set("stereographicFactor",this.ef.get("stereographicFactor",this.Wn[c].get("stereographicFactor")));k=k&&k.get("displayOriginPosition")||this.og;this.ef.set("yaw",k.get("yaw"));this.ef.set("pitch", k.get("pitch"));this.ef.set("hfov",k.get("hfov"));this.ef.set("stereographicFactor",k.get("stereographicFactor"))}this.CH=this.HO==b.Wm&&this.Jva&&this.ova&&this.rEa(j,n)||r;var o=this.HO==b.Wm&&this.sc&&this.ova&&this.zl&&this.sc.get("modelLocations")||[],k=this.HO==b.Wm&&this.Hg&&this.kTa&&this.zl&&this.Hg.get("modelLocations")||[],p=[];k.forEach(function(a){o.forEach(function(b){a.get("model")==b.get("model")&&p.push([a,b])})});var q=this.zl&&this.zl.get("model");this.Xb=this.lc=r;10}).length)this.mode=b.aP;this.Vm=r}var e=a("gm"),d=a("lC"),g=a("u"),c=a("bu");b.prototype.Nra=function(){return this.h.oc.get("gyroscopeEnabled")}; b.prototype.Wb=function(){return c.isPresenting()};b.prototype.rEa=function(a,b){if(!a||!b)return r;var c=(a.get("adjacentPanoramas")||[]).filter(function(a){return a.get("enabled")&&a.KNa()&&a.get("panorama")==b});return 0==c.length?r:c[0]};b.prototype.MEa=function(a,b){return this.Wb()&&g.Xd()==g.pi&&(this.s3(a)||this.s3(b))};b.prototype.s3=function(a){return!!a&&a.vl()};b.aP="fade_out_fade_in";b.Gba="fade_in";b.Hba="fade_out";b.Wm="blending";b.Qca="translation";b.DZ="translation_from_model";b.EZ= "translation_through_model";b.Rca="translation_to_from_model";b.Sca="translation_to_model";return b});define("eC",["require"],function(){function a(a,e,d,g){this.C=a;this.Eb=e;this.h=d;this.t=g}a.prototype.Fg=T(B);a.prototype.Yg=G();a.prototype.lC=T(B);return a}); define("ln",["require","kM","eC","nA","bD"],function(a){var b=a("kM"),e=a("eC"),d=a("nA"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(a){if(!this.rb){if(!this.N){var b=this.h.gf(this.t.sc);b.mk();b.set("alpha",0.01);this.N=new d("linear",[new g("alpha",0,1,l)],this.t.DG)}this.N.vb(a);a=this.N.eb("alpha");b=this.h.gf(this.t.sc);b.set("alpha",a);this.N.Se()&&(this.rb=m)}};return a}); define("dH",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("ProjectedMaterialModel3DObject",e,function(){e.call(this)})});define("ly",["require","kM","eC"],function(a){var b=a("kM"),e=a("eC"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i);this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(){this.rb||(this.Bi(),this.rb=m)};a.prototype.Bi=G();return a}); define("cK",["require","kM","dH","ly"],function(a){var b=a("kM"),e=a("dH"),d=a("ly"),g=b.extend(d,function(a,b,e,g,n){d.call(this,a,b,e,g);this.Ch=n||3});g.prototype.Bi=function(){var a=this.t.lc,b=this.t.Xb,d=this.t.dv=new e;this.Ch&1&&(d.set("sourceX",a.get("x")),d.set("sourceY",a.get("y")),d.set("sourceZ",a.get("z")),d.set("sourceYaw",a.get("yaw")),d.set("sourceFaces",this.Nea(this.t.Hg,this.t.Zua)));this.Ch&2&&(d.set("targetX",b.get("x")),d.set("targetY",b.get("y")),d.set("targetZ",b.get("z")), d.set("targetYaw",b.get("yaw")),d.set("targetFaces",this.Nea(this.t.sc,this.t.pva)));a=(a||b).get("model");a.set("objects",a.get("objects").concat([this.t.dv]))};g.prototype.Nea=function(a,b){var d=this.h.gf(a),e=d.get("alpha");d.set("alpha",1);var g=this.h.jN(b);d.set("alpha",e);return g};g.Kca=b.extend(g,function(a,b,d,e){g.call(this,a,b,d,e,1)});g.Xca=b.extend(g,function(a,b,d,e){g.call(this,a,b,d,e,2)});return g}); define("le",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Bi=function(){this.t.zl.h.Nua(this.t.Xb.get("model"),B)};return a});define("kj",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Bi=function(){this.t.zl.h.Nua(this.t.lc.get("model"),m)};return a}); define("kZ",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Bi=function(){this.t.sc&&!this.h.gf(this.t.sc)&&(this.Tg=this.h.create(this.t.sc),this.Tg.set("alpha",0),this.h.add(this.Tg))};return a}); define("op",["require","kM","nW","cT","eC"],function(a){var b=a("kM"),e=a("nW"),d=a("cT"),g=a("eC"),a=b.extend(g,function(a,b,f,j){g.call(this,a,b,f,j);this.S=(this.t.lc||this.t.Xb).get("model");this.sp=B;this.S?(this.cx=this.t.zl,this.cx.get("model")!=this.S||!this.S.get("isLoaded")?(this.cx.set("model",this.S),this.S.bind(e.T,this.$t,this,m),this.cx.set("requesterPlayer",this.h.oc),this.cx.bind(d.Kg,this.Uk,this,m)):(this.$t(),this.Uk(),this.sp=m)):this.sp=m});a.prototype.Fg=S("sp");a.prototype.lC= T(m);a.prototype.$t=function(){this.S.unbind(e.T,this.$t,this)};a.prototype.Uk=function(){this.cx.unbind(d.Kg,this.Uk,this,m);this.sp=m};return a});define("hm",["require","kM","ly","bC"],function(a){var b=a("kM"),e=a("ly"),d=a("bC"),a=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f)});a.prototype.Bi=function(){this.t.yTa&&d.Ni(this.h.tb())};return a}); define("eU",["require","kM","eC","nA","bD"],function(a){var b=a("kM"),e=a("eC"),d=a("nA"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(a){if(!this.rb){if(!this.N){var b;b=this.t.Xb&&this.t.Xb.get("targetFaces")?0.01*this.t.DG:this.t.Xb?0.5*this.t.DG:this.h.J.UTa()&&!this.t.Hg?this.t.vOa:this.t.DG;this.N=new d("linear",[new g("alpha",0.001,1,l)],b)}this.N.vb(a);a=this.N.eb("alpha");this.h.gf(this.t.sc).set("alpha", a);this.N&&this.N.Se()&&(this.rb=m)}};return a}); define("iB",["require","kM","fQ","gZ"],function(a){var b=a("kM"),e=a("fQ"),d=a("gZ"),a=b.extend(e,function(){e.call(this);this.Z=this.qa=r;this.zd=[];this.zR=this.Cf=B;this.pK=r;this.Rj=[this];this.J8={};this.Gq={};this.pJ=B;this.L5={};this.M5={};this.zo(["blendingActive","globalBlendingActive"]);this.jya();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", B);this.set("index",0)});a.prototype.jya=function(){var a="alpha,deltaYaw,deltaPitch,deltaRoll,translationX,translationY,translationZ".split(",");Array.isArray(a)||(a=[a]);a.forEach(function(a){this.L5[a]=m}.bind(this))};a.prototype.zo=function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){this.M5[a]=m}.bind(this))};a.prototype.set=function(a,b){this.J8[a]!==b&&(this.M5[a]&&this.zd.forEach(function(d){d.set(a,b)}),this.Pya(a,b),this.ML(a))};a.prototype.get=function(a){return this.J8[a]};a.prototype.ML= function(a){this.Gq[a]||(this.Gq[a]=m,this.pJ||(this.pJ=m,this.ua()),this.L5[a]&&this.zd.forEach(function(b){b.ML(a)}))};a.prototype.qAa=function(){this.pJ&&(this.pJ=B,this.Gq={})};a.prototype.F=function(){if(this.pJ)for(var a=0;a=b.HAVE_CURRENT_DATA&&a.eFa.drawImage(b,0,0,f,j);a.image=a.Ro}else a.image=b;a.Wq&&a.image!=a.Wq&&(g.cW(a.Wq),delete a.Wq);a.needsUpdate=m;if((f=g.b$(a))&&f.isShaderMaterial)f.needsUpdate=m;e.nsa()},zOa:function(a){a?e.t$(a)?a=b.ff(a,B):e.Esa(a)?a=this.SG():e.eH(a)&&!(a.readyState>=a.HAVE_CURRENT_DATA&&0 0.0)"," color.rgb /= color.a;"]));if(b.fy){var k=a.image.width||a.image.videoWidth,o=a.image.height||a.image.videoHeight,p=0.5*Math.min(k,o)*b.fy;d.uniforms.blendingLimit={type:"v2",value:new THREE.Vector2(p/k,p/o)};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.Kr&& (d.uniforms.chromaColor={type:"v3",value:new THREE.Vector3(parseInt(b.Kr.substr(1,2),16)/255,parseInt(b.Kr.substr(3,2),16)/255,parseInt(b.Kr.substr(5,2),16)/255)},d.uniforms.chromaThreshold={type:"f",value:b.mN},d.uniforms.chromaSmoothing={type:"f",value:b.lN},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.ON?".bgr":".rgb")+", alpha);"]);a.format=THREE.RGBAFormat;d.fragmentShader=[].concat(e,["void main() {"],g,["}"]).join("\n")}else d.fragmentShader="uniform sampler2D texture;\nvarying vec2 vUV;\nvoid main() {\n\tgl_FragColor = texture2D(texture, vUV);\n}";d=new THREE.ShaderMaterial(d);this.tz(d);return d},dispose:function(a){Array.isArray(a)||(a=[a]);a.forEach(function(a){var b=g.S9(a);b&&d.dispose(b);a.dispose()})},tz:function(a){a.side=THREE.FrontSide; a.transparent=m;a.depthTest=B;a.needsUpdate=m;a.userData={};a.userData.$sa={};d.VSa(g.S9(a),a)},yaa:function(a,b){a.userData.$sa.ao=b},rra:function(a){return a.userData.$sa.ao}};b.prototype.sRa=function(){return this.JO||this.ON||this.fy||this.Kr||this.premultipliedAlpha};b.prototype.isEqual=function(a){return this.JO===a.JO&&this.ON===a.ON&&this.fy===a.fy&&this.Kr===a.Kr&&this.mN===a.mN&&this.lN===a.lN&&this.premultipliedAlpha===a.premultipliedAlpha&&this.side===a.side};g.Xm=b;return g}); define("eg",["require","gz","cp"],function(a){function b(a){return Array.isArray(a)?a:a?[a]:[]}var e=a("gz"),d=a("cp"),g={create:function(a,e){var f=new THREE.Mesh(a,e);f.overdraw=B;f.matrixAutoUpdate=B;f.userData.$u={};f.userData.$u.attributes={};b(e).forEach(function(a){d.yaa(a,f)});return f},uqa:function(a){var b=new THREE.Group;g.forEach(a,function(a){b.add(a)});return b},sSa:function(a,e){b(e).forEach(function(a){d.yaa(a,r)});d.dispose(a.material);a.material=e;b(e).forEach(function(b){d.yaa(b, a)})},ly:function(a){return b(a.material)},$Oa:function(a,b){if(a.layers.mask&b.layers.mask){var d=g.ly(a);return e.ZOa(a.geometry,b,a.matrixWorld).map(function(a){return d[a]})}return[]},saa:function(a,b){a.geometry=b},WOa:function(a,b){var f=[];g.uj(a,function(a){var c=g.ly(a);b.forEach(function(b){var g=e.VOa(a.geometry,a.matrixWorld,b);if(g){var i=d.S9(c[g.materialIndex]),b=i.image;b==i.Wq&&(b=i.Wq.Ea);i=Math.round(g.Ova*b.width-0.5);i=0>i?0:i>b.width-1?b.width-1:i;g=Math.round((1-g.Vva)*b.height- 0.5);g=0>g?0:g>b.height-1?b.height-1:g;f.push({x:i,y:g,source:b})}})});return f},yH:function(a,b){g.forEach(a,function(a){b?b.add(a):a.parent&&a.parent.remove(a)})},Dy:"panoramaId",LC:"panoramaFrameId",bY:"panoramaOverlayId",aY:"levelIndex",setAttribute:function(a,b,d){g.uj(a,function(a){a.userData.$u.attributes[b]=d})},getAttribute:function(a,b){return a.userData.$u.attributes[b]},Pqa:function(a,b,d){for(var e=[],g=0,k=a.length;g0&&d(e);if(e.visible!=f){e.visible=f;a=m}});var j=n.Pqa(j,n.LC,l),j=n.Kra(j,n.Dy),i;for(i in j){var s=j[i],u=c.map(T(B));s.sort(function(a,b){return n.Hra(b)-n.Hra(a)});var w=s.some(g);s.forEach(function(f){var g=b(c,f)&&n.pW(f)>0&&d(f)&&(!w||e(f));if(g){for(var g=m,j=w||e(f)&&n.pW(f)>0.999,i=0;i0?1E3:this.o.iN/Math.tan(Math.min(this.o.Kh*0.5,89.99)*s);q.ub()||(a=a*1.5);var c=p.H9(this.o.sg),d=p.pk(this.o.sg).filter(b),f=d.filter(g),j={},j=o.Pqa(f,o.LC,l),j=o.Kra(j,o.LC);j.none=o.eW(f,o.LC,l);var f=[],i;for(i in j)for(var k=j[i],u=0,J=k.length;uH){N=z;H=O}else if(O>=a&&O0.75*a?f.push(N):f.push(C);else{C&&f.indexOf(C)<0&&f.push(C);N&&f.indexOf(N)<0&&f.push(N)}}}a=[];for(c=0;c=0)}return a};t.prototype.$x=function(){this.Cr=r;for(var a=[],b=[],d=[],g=(new Date).getTime()-u,j=p.H9(this.o.sg),i=p.pk(this.o.sg),k=0,n=i.length;k=0){if(this.o.El>0||(e(q).C$||t.cZ)==t.$m)I=K;else for(var A=0,N=j.length;AC){this.Yw.sort(function(a,b){return e(a).Hsa-e(b).Hsa});k=this.Yw.splice(0,this.Yw.length-C);C=0;for(M=k.length;C0&&b.push(q)}d=Number.POSITIVE_INFINITY;k=0;for(n=b.length;k=0&&c.splice(d,1);this.Yw.push(b);this.G6(b,m);a=a.ao();e(a).Zp.indexOf(b)>=0&&this.s_(a,e(a).fv);this.Uoa()};t.prototype.s_=function(a,b){var d=e(a).fv,d=d?d.length:l,g=e(a).Zp,g=g?g.length:l;e(a).fv=b;e(a).Zp=b.filter(c);n.waa(a,e(a).Zp.length==0&&(e(a).C$||t.cZ)==t.$m); var j=e(a).fv,j=j?j.length:l,i=e(a).Zp,i=i?i.length:l;if(g!==i||d!==j)a.dispatchEvent({type:f.dc,Gg:j?100-100*i/j:100});g!==i&&i===0&&a.dispatchEvent({type:f.T})};t.prototype.G6=function(a,c){if(c!=a.visible){var e=k.rra(a),f=o.getAttribute(e,o.Dy),g=o.getAttribute(e,o.aY);if(f===l||g===l)a.visible=c;else{for(var j=p.pk(this.o.sg).filter(b),f=o.eW(j,o.Dy,f),g=o.eW(f,o.aY,g),i=o.ly(e).indexOf(a),e=g.map(function(a){return o.ly(a)[i]}),g=c,f=0;fthis.To.indexOf(a)&&this.To.push(a);if("object"===typeof a&&a!==r){if(g=a[this.SJ],!g){g=this.SJ;for(var c=[],i=0;8>i;i++)c.push(Math.floor(16*Math.random()).toString(16));g=a[g]=c.join("")}}else g=a;this.QR[g]=b;this.length=this.To.length};a.prototype.get=function(a){return this.QR["object"===typeof a&&a!==r?a[this.SJ]: a]};a.prototype.FPa=function(a){return 0<=this.To.indexOf(a)};a.prototype.remove=function(a){var b=this.To.indexOf(a);0>b||(this.To.splice(b,1),"object"===typeof a&&a!==r?(b=a[this.SJ],delete a[this.SJ]):b=a,delete this.QR[b],this.length=this.To.length)};a.prototype.forEach=function(a){this.To.slice().forEach(function(b){a(b,this.get(b))}.bind(this))};a.prototype.dispose=function(){for(;this.To.length;)this.remove(this.To.pop());this.To=this.QR=r};return a}); define("ns",["require","kM","fQ","y"],function(a){function b(){this.TB=[]}var e=a("kM"),d=a("fQ"),g=a("y"),a=e.extend(d,function(a){d.call(this);this.Ye=a;this.Sc=[];this.Gt=new g;this.YM=[];this.k1=[];this.aF=this.aF.bind(this)});a.prototype.Ue=function(a){this.Sc.forEach(function(a){a.removeEventListener?a.removeEventListener(this.Ye,this.aF):a.unbind?a.unbind(this.Ye,this.aF,this,m):h("invalid instance type")}.bind(this));this.Sc=a.slice();this.Sc.forEach(function(a){a.addEventListener?a.addEventListener(this.Ye, this.aF):a.bind?a.bind(this.Ye,this.aF,this,m):h("invalid instance type");this.Gt.FPa(a)||this.Gt.set(a,new b)}.bind(this));this.W7()};a.prototype.dispose=function(){this.Ue([]);this.Sc=r;this.Gt.dispose();this.k1=this.YM=this.Gt=r};a.prototype.Hl=function(a){this.YM.push(a);this.W7();return this};a.prototype.bo=function(a){this.k1.push(a);return this};a.prototype.Or=function(a){this.Sc.forEach(function(b){a(b,this.Gt.get(b).TB)}.bind(this))};a.prototype.wl=function(a){a=this.Gt.get(a).TB;return 0== a.length?r:a[a.length-1]};a.prototype.aF=function(a){var b=a.target||a.source;if(b=this.Gt&&this.Gt.get(b))b.TB.push(a),this.k1.forEach(function(b){b(a,this)}.bind(this)),this.W7()};a.prototype.W7=function(){if(0!=this.Sc.length){for(var a=0;a=0&&j.splice(a,1);i.JC(this.texture,r)};return{add:function(a,c){var d=new k(a,c);j.push(d);b();return d}}}); define("mi","require,kM,nW,cm,kI,dz,cQ".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cm"),g=a("kI"),c=a("dz"),i=a("cQ"),a=b.extend(i,function(a){i.call(this);this.ie=i.Fxa;this.ed=a;this.ig=this.BF=this.dd=r});a.prototype.ff=S("ig");a.prototype.C_=function(){this.JI()};a.prototype.TU=function(){this.No()};a.prototype.A_=function(){this.yBa()};a.prototype.jM=function(){this.No();this.W0()};a.prototype.Yx=function(){this.No();this.W0()};a.prototype.dispose=function(){this.No();this.W0();i.prototype.dispose.call(this)}; a.prototype.Xc=function(){this.ig=g.ff(this.ed);this.eF(m)};a.prototype.pf=function(){this.eF(B)};a.prototype.fja=function(){this.eja()};a.prototype.JI=function(){if(!this.dd){this.dd=new d;this.dd.yO([this.ed]);this.dd.bind(e.T,this.Xc,this,m);this.dd.bind(e.tc,this.pf,this,m);g.$n(this.dd,this.PJ)}};a.prototype.No=function(){if(this.dd){this.dd.unbind(e.T,this.Xc,this,m);this.dd.unbind(e.tc,this.pf,this,m);g.Bj(this.dd,this.PJ);this.dd=r}};a.prototype.yBa=function(){this.BF=c.add(this.ib,this.ig); this.BF.bind(e.T,this.fja,this,m)};a.prototype.W0=function(){if(this.BF){this.BF.unbind(e.T,this.fja,this,m);this.BF.remove();this.BF=r}};return a}); define("oe",["require","kM","kI","mT","mi"],function(a){var b=a("kM"),e=a("kI"),d=a("mT"),g=a("mi"),a=b.extend(g,function(a,b,d,e,n){g.call(this,a.get("url"));this.xa=b;this.Aa=d;this.X=e;this.ia=n;this.BFa=0!=this.xa||0!=this.Aa||this.X!=a.get("width")||this.ia!=a.get("height")});a.prototype.Xc=function(){this.BFa?(this.FBa(),this.No(),this.eF(!!this.ig)):g.prototype.Xc.call(this)};a.prototype.jM=function(){g.prototype.jM.call(this);this.X0()};a.prototype.Yx=function(){g.prototype.Yx.call(this); this.X0()};g.prototype.dispose=function(){g.prototype.dispose.call(this);this.X0()};a.prototype.FBa=function(){var a=e.ff(this.ed);this.ig=d.dOa(a,this.xa,this.Aa,this.X,this.ia)};a.prototype.X0=function(){this.ig&&(d.cW(this.ig),this.ig=r)};return a}); define("fi","require,mS,dw,mb,gZ,eQ,mi,oe,gz,cp,eg,bW,mF,ov,u".split(","),function(a){var b=a("mS"),e=a("dw"),d=a("mb"),g=a("gZ"),c=a("eQ"),i=a("mi"),f=a("oe"),j=a("gz"),n=a("cp"),k=a("eg"),o=a("bW"),p=a("mF"),q=a("ov"),t=a("u"),s={$Na:function(a,b){var c=o.get(a);switch(c){case o.Mv:case o.Cs:case o.wk:return this.kBa(c,a,b);case o.kq:case o.yo:case o.tq:return this.mBa(c,a,b)}},fOa:function(a,b){var c=new i(b.get("posterURL"));return this.Bfa(a,b,c)},eOa:function(a,b){var d=new c;return this.Bfa(a, b,d)},Bfa:function(a,b,c){var d=a.get("hfov"),f=a.get("vfov"),g=a.get("pitch"),i=b.get("width"),b=b.get("url"),a=o.get(a),p=a==o.tq?2:1,t=a==o.yo?2:1,a=p+t>2?[e.Ha,e.Ua]:[e.qs],s=Math.round(i/p),z=n.hy(c.texture(),new n.Xm(b));q.zH(z,c);z.visible=m;return a.map(function(a,b){var c=j.xqa(d,f,g,1,1,b%p/p,(t-1-Math.floor(b/p))/t,1/p,1/t),c=k.create(c,[z]);c.layers.set(a);q.BX(c,s/d);return c}.bind(this))},bOa:function(a){var b=[d.Ua,d.Ha,d.ec,d.Yb,d.FRONT,d.BACK].map(function(){var b=new c;b.Cl(s.mEa(a)); var d=n.hy(b.texture());q.zH(d,b);d.visible=m;return d}),f=j.wqa(1,1),b=k.create(f,b);q.BX(b,256/90);b.layers.set(e.qs);return b},V6:{},mEa:function(a){if(!s.V6[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.V6[a]=b}return s.V6[a]},kBa:function(a,c,f){var i=a==o.Mv?[e.Ua,e.Ha]:[e.qs],n=c.get("flipImageHorizontally");n&&(i=i.reverse());var t=a==o.wk?1:6*i.length,s=f.get("width")/t,F=f.get("height"),L,J;if(b.va("TiledImageResourceLevel", f)){L=f.get("colCount",t)/t;J=f.get("rowCount",1)}else if(this.hma(a,f)){L=Math.ceil(s/g.Os());J=Math.ceil(F/g.Os())}else J=L=1;var z=[d.Ua,d.Ha,d.ec,d.Yb,d.FRONT,d.BACK];return i.map(function(d,e){var g=Array(6);z.forEach(function(i,k){var q=p.M9(c,f,i);if(b.va("TiledImageResourceLevel",f))g[j.Mca.indexOf(i)]=this.fBa(q,a,d,i,n,L,J);else{var t=a==o.wk?0:Math.round((e*z.length+k)*s),x=L>1||J>1||a!=o.wk?s>256?1:0.5:0;g[j.Mca.indexOf(i)]=this.wfa(q,L,J,t,0,s,F,x)}}.bind(this));var i=Array.prototype.concat.apply([], g),t=j.wqa(L,J),i=k.create(t,i);i.layers.set(d);q.BX(i,s/90);return i}.bind(this))},mBa:function(a,b,c){var d=a==o.kq?[e.qs]:[e.Ha,e.Ua];b.get("flipImageHorizontally")&&(d=d.reverse());var f=c.get("width"),i=c.get("height"),n=b.get("hfov"),p=b.get("vfov"),t=b.get("pitch"),s=Math.round(f/n/(i/p)),b=Math.round(i/p/(f/n)),z=Math.round(f/s),K=Math.round(i/b),I=(a=this.hma(a,c))?Math.ceil(z/g.Os()):1,A=a?Math.ceil(K/g.Os()):1;return d.map(function(a,b){var d=this.wfa(c,I,A,b%s*z,Math.floor(b/s)*K,z,K), e=j.xqa(n,p,t,I,A,0,0,1,1),d=k.create(e,d);d.layers.set(a);q.BX(d,z/n);return d}.bind(this))},hma:function(a,b){switch(a){case o.Mv:case o.Cs:case o.yo:case o.tq:return m;case o.wk:return B;case o.kq:return t.Ira().maxTextureSizec;)a-=c-b;return a}var e=a("kM"),d=a("eC"),g=a("nA"),c=a("bD"),a=e.extend(d,function(a,b,c,e){d.call(this,a,b,c,e);this.N=r;this.rb=B;this.qm=0});a.prototype.Fg=S("rb");a.prototype.Yg=function(a){if(!this.rb&&(this.N||(this.N=this.qmthis.t.Wn.length&&(this.Eb.tO(m),this.rb=m)};a.prototype.bBa=function(){var a=b(this.h.Oc(),-180,180),d=this.h.Hc();this.h.rf();var e=this.h.lg(),n=this.h.o.El,k=this.t.og.get("hfov"),k={Ka:this.t.og.get("yaw"),pitch:this.t.og.get("pitch",d),He:this.h.rf(),ue:k?this.Eb.PB(k):e,El:0};this.Eb.vRa(this.t.sc,k);k.Ka=b(k.Ka,a-180,a+180);var o=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(d.get("easing"),[new c("yaw",e,a,d.get("yawSpeed")),new c("pitch",n,t,d.get("pitchSpeed")),new c("hfov",k,q,d.get("hfovSpeed")),new c("stereographicFactor",o,p,d.get("stereographicFactorSpeed"))],d.get("duration"))};return a}); define("fA",["require","kM","eC","nA","bD"],function(a){var b=a("kM"),e=a("eC"),d=a("nA"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(a){if(!this.rb){if(!this.N){var b=this.h.Hc(),e=this.h.lg(),j=this.h.o.El,n=this.t.ef.get("stereographicFactor",0),k=Math.abs(j-n),o=0this.h.zb()?this.h.AN():this.h.BN());this.S.bind(e.XC,this.CGa,this,m)}};return a});define("hx",["require","kM","ly","os"],function(a){var b=a("kM"),e=a("ly"),d=a("os"),a=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f)});a.prototype.Bi=function(){this.t.sc&&(this.t.mode==d.DZ||this.t.mode==d.EZ?this.t.sc.set("minFaceSize",1024):this.t.sc.set("minFaceSize",l))};return a}); define("gO",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Bi=function(){this.Eb.ni(this.t.sc);this.Eb.CC(this.t.Waa?this.t.ef.get("stereographicFactor",0):0);this.Eb.kv(this.t.ef.get("yaw"),this.t.ef.get("pitch",this.h.Hc()));var a=this.t.ef.get("hfov");!a&&!this.t.Hg&&(a=this.Eb.Aqa());a&&(a=this.Eb.PB(a),this.Eb.eo(a),this.Eb.tO(!this.t.Waa))};return a}); define("fT",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Bi=function(){this.Eb.ni(this.t.sc);this.Eb.eo(this.Eb.vX(this.t.sc,this.h.lg()));this.Eb.kv(this.h.Oc()+this.t.CH.gra(),this.h.Hc())};a.prototype.lC=T(m);return a}); define("nJ",["require","kM","eC","nA","bD"],function(a){var b=a("kM"),e=a("eC"),d=a("nA"),g=a("bD"),a=b.extend(e,function(a,b,d,g){e.call(this,a,b,d,g);this.N=r;this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(a){if(!this.rb){if(!this.N){var b=this.h.lg(),e=this.Eb.vX(this.t.sc,b),j=!this.t.Wb()&&0.01=1-0.5*this.yu*this.yu/this.wP?this.yu=Math.sqrt(2*(1-this.Ma)*this.wP):this.yu0&&a<1); this.t.dv.set("position",b)};a.prototype.nx=function(){var a=this.t.lc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.rb=m;this.GL()};a.prototype.YL=function(){var a=this.t.lc.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.GL=function(){var a=this.t.lc.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing", b);a.set("surfaceSelectionEnabled",c)},30)};return a}); define("hM","require,kM,nW,mS,gu,eY,dH,eC".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("mS"),g=a("gu"),c=a("eY"),i=a("dH"),f=a("eC"),a=b.extend(f,function(a,b,c,d){f.call(this,a,b,c,d);this.rb=B;this.yza=0;this.zza=1;this.eL=[];this.bK=[];this.eL.push(this.mna.bind(this))});a.prototype.Fg=S("rb");a.prototype.Yg=function(){if(this.t.zl.get("model")!=this.t.Xb.get("model"))this.hka();else{var a=this.eL;for(this.eL=[];a.length>0;)a.shift()()}};a.prototype.DGa=function(){var a=this.bK;for(this.bK= [];a.length>0;)a.shift()()};a.prototype.MKa=function(){this.gKa();this.YL();this.bK.push(this.JEa.bind(this));this.bK.push(this.cpa.bind(this))};a.prototype.gKa=function(){var a=this.t.Xb.get("model").get("camera");a.set("easing",0);a.set("x",this.t.lc.get("x"));a.set("y",this.t.lc.get("y"));a.set("z",this.t.lc.get("z"));a.set("yaw",this.h.Oc()+this.t.lc.get("yaw"));a.set("pitch",this.h.Hc());a.set("fov",this.h.Ra()>this.h.zb()?this.h.AN():this.h.BN());this.qd=new c;this.qd.set("targetX",this.t.Xb.get("x")); this.qd.set("targetY",this.t.Xb.get("y"));this.qd.set("targetZ",this.t.Xb.get("z"));if(this.t.EC.get("keepInitialPositionOnTranslation")){var b=this.t.og.get("yaw")+this.t.Xb.get("yaw"),d=this.t.og.get("pitch"),f=this.t.og.get("hfov");this.qd.set("targetYaw",b);d!==l&&this.qd.set("targetPitch",d);f!==l&&this.qd.set("targetFov",f)}this.qd.set("duration",1500);this.qd.set("easing","cubic_in_out");this.qd.bind(e.XC,this.DGa,this,m);this.Fa=new g;this.Fa.set("movements",[this.qd]);this.Fa.set("mandatory", m);this.Fa.bind(e.lb,this.hka,this,m);a.set("sequences",a.get("sequences").concat([this.Fa]));this.Fa.play()};a.prototype.mna=function(){if(this.h.gf(this.t.sc).get("ready")){var a=this.t.lc,b=this.t.Xb,c=a.get("model"),e=c.get("objects").find(function(a){return d.va("ProjectedMaterialModel3DObject",a)}),f=!e;e||(e=new i);this.t.dv=e;e.set("sourceX",a.get("x"));e.set("sourceY",a.get("y"));e.set("sourceZ",a.get("z"));e.set("sourceYaw",a.get("yaw"));e.set("targetX",b.get("x"));e.set("targetY",b.get("y")); e.set("targetZ",b.get("z"));e.set("targetYaw",b.get("yaw"));a=this.h.gf(this.t.Hg);b=this.h.gf(this.t.sc);a.set("alpha",1);b.set("alpha",0.01);e.set("sourceFaces",this.h.jN(this.t.Zua,e.get("sourceFaces")));a.set("alpha",0.01);b.set("alpha",1);e.set("targetFaces",this.h.jN(this.t.pva,e.get("targetFaces")));a.set("alpha",1);b.set("alpha",0.01);e.set("position",0);f&&c.set("objects",c.get("objects").concat([this.t.dv]));this.MKa()}else this.eL.push(this.mna.bind(this))};a.prototype.JEa=function(){this.h.gf(this.t.Hg).set("alpha", 0);this.Lfa()};a.prototype.Lfa=function(){(this.xla=this.xla===l?10:this.xla-1)?this.eL.push(this.Lfa.bind(this)):this.h.EX(m)};a.prototype.nCa=function(){this.h.EX(B)};var j=new THREE.Vector3,n=new THREE.Vector3,k=new THREE.Vector3;a.prototype.tEa=function(){var a=this.t.lc;j.set(a.get("x"),a.get("y"),a.get("z"));var b=this.t.Xb;n.set(b.get("x"),b.get("y"),b.get("z"));a=a.get("model").get("camera");k.set(a.get("x"),a.get("y"),a.get("z"));return k.distanceTo(j)/n.distanceTo(j)};a.prototype.cpa=function(){var a= this.tEa(),a=Math.max(0,Math.min(1,(a-this.yza)/this.zza));this.t.dv.set("position",a);a<1&&this.bK.push(this.cpa.bind(this))};a.prototype.hka=function(){var a=this.t.lc.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.nCa();this.GL();this.rb=m};a.prototype.YL=function(){var a=this.t.lc.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled", B)};a.prototype.GL=function(){var a=this.t.lc.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a}); define("kH","require,kM,nW,gu,eY,eC,ko".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("gu"),g=a("eY"),c=a("eC"),i=a("ko"),a=b.extend(c,function(a,b,d,e){c.call(this,a,b,d,e);this.rb=B});a.prototype.Fg=S("rb");a.prototype.Yg=function(){if(!this.Fa){var a=this.t.Xb.get("model").get("camera");a.tTa();var b=Math.abs(a.get("pitch")-this.h.Hc()),c=b>30;this.qd=new g;this.qd.set("targetX",this.t.Xb.get("x"));this.qd.set("targetY",this.t.Xb.get("y"));this.qd.set("targetZ",this.t.Xb.get("z"));this.qd.set("targetDistance", 0);this.qd.set("targetFov",this.GEa(this.h.lg()));this.qd.set("targetYaw",this.h.Oc()+this.t.Xb.get("yaw"));c?this.qd.set("targetPitch",a.get("pitch")):this.qd.set("targetPitch",this.h.Hc());this.qd.set("duration",1500);this.qd.set("easing","cubic_in_out");this.qd.bind(e.XC,this.F4,this,m);var f=[this.qd];if(c){c=new g;c.set("targetPitch",this.h.Hc());c.set("duration",b/90*1E3);c.set("easing","quad_in_out");f.push(c)}this.Fa=new d;this.Fa.set("movements",f);this.Fa.set("mandatory",m);this.Fa.bind(e.lb, this.nx,this,m);a.set("sequences",a.get("sequences").concat([this.Fa]));this.Fa.play();this.YL();this.bM=(new THREE.Vector3).set(a.get("x"),a.get("y"),a.get("z"));this.n7=(new THREE.Vector3).set(this.t.Xb.get("x"),this.t.Xb.get("y"),this.t.Xb.get("z"))}};a.prototype.GEa=function(a){return this.h.Ra()0&&a<1);this.t.dv.set("position",b)};a.prototype.nx=function(){var a=this.t.Xb.get("model").get("camera");a.set("sequences",a.get("sequences").filter(function(a){return a!=this.Fa}.bind(this)));this.rb=m;this.GL()};a.prototype.YL=function(){var a=this.t.Xb.get("model");this.vL=a.get("postprocessing");this.wL=a.get("surfaceSelectionEnabled");a.set("postprocessing",B);a.set("surfaceSelectionEnabled",B)};a.prototype.GL= function(){var a=this.t.Xb.get("model"),b=this.vL,c=this.wL;setTimeout(function(){a.set("postprocessing",b);a.set("surfaceSelectionEnabled",c)},30)};return a});define("iy",["require","kM","ly"],function(a){var b=a("kM"),e=a("ly"),a=b.extend(e,function(a,b,c,i,f){e.call(this,a,b,c,i);this.Wza=f});a.prototype.Bi=function(){this.Wza.call(this.C)};return a}); define("fN",["require","kM","eC"],function(a){var b=a("kM"),e=a("eC"),a=b.extend(e,function(a,b,c,i){e.call(this,a,b,c,i)});a.prototype.Fg=function(){var a=this.h.tb(),b=a&&a.oG,a=a&&a.UE;return!!b&&!b.get("visible")&&!!a&&!a.get("visible")};return a}); define("M",["require","kM","eC"],function(a){var b=a("kM"),e=a("eC"),d=b.extend(e,function(a,b,d,f){e.call(this,a,b,d,f);this.ru=r});d.prototype.Fg=function(){this.ru||(this.ru=this.t.sc&&this.h.gf(this.t.sc));return this.ru&&this.ru.get("ready")};d.prototype.lC=T(m);d.oca=b.extend(d,function(a,b,e,f){d.call(this,a,b,e,f)});d.oca.prototype.lC=T(B);d.uca=b.extend(d,function(a,b,e,f){d.call(this,a,b,e,f)});d.uca.prototype.Fg=function(){this.ru||(this.ru=this.t.sc&&this.h.gf(this.t.sc));return this.ru&& (this.ru.get("ready")||this.ru.Q$())};return d}); define("nb",["require","kM","bl","cu","fQ"],function(a){var b=a("kM"),e=a("bl"),d=a("cu"),g=a("fQ"),c=b.extend(g,function(a){g.call(this);this.h=a;this.K=B;this.Mt=this.Mt.bind(this);this.oc=this.h.oc});c.prototype.clear=function(){this.oc=this.h=r};c.prototype.vd=function(a){this.K!=a&&(this.K&&document.removeEventListener("keyup",this.Mt),(this.K=a)&&document.addEventListener("keyup",this.Mt))};c.prototype.Mt=function(a){"translate"==this.oc.get("arrowKeysAction")&&(a.which==e.hq&&!a.shiftKey?this.trigger(new d(c.JY)): a.which==e.xq&&!a.shiftKey&&this.trigger(new d(c.KY)))};c.KY="moveForward";c.JY="moveBackward";return c}); define("of","require,cu,fQ,gr,os,ln,cK,le,kj,kZ,op,hm,eU,ld,bH,mX,cf,fA,gU,gq,r,dj,oq,kp,hx,gO,fT,nJ,fs,dJ,lD,kp,bv,gj,hM,kH,iy,fN,M,nb,kM".split(","),function(a){var b=a("cu"),e=a("fQ"),d=a("gr"),g=a("os"),c=a("ln"),i=a("cK"),f=a("le"),j=a("kj"),n=a("kZ"),k=a("op"),o=a("hm"),p=a("eU"),q=a("ld"),t=a("bH"),s=a("mX"),u=a("cf"),w=a("fA"),v=a("gU"),x=a("gq"),y=a("r"),E=a("dj"),D=a("oq"),F=a("kp"),L=a("hx"),J=a("gO"),z=a("fT"),K=a("nJ"),I=a("fs"),A=a("dJ"),N=a("lD"),F=a("kp"),H=a("bv"),C=a("gj"),M=a("hM"), O=a("kH"),U=a("iy"),Q=a("fN"),V=a("M");a("nb");var P=a("kM").extend(e,function(a,b,c){e.call(this);this.J=a;this.h=b;this.nc=c;this.Eb=this.cx=r;this.Nfa=this.Hq=this.iL=this.iu=l;this.t=r;this.Cg=[]});P.prototype.zaa=R("cx");P.prototype.clear=function(){this.b6(this.Hq);this.t&&this.b6(this.t.sc);this.iL=this.iu=l;this.W=this.nc=this.h=this.J=this.t=r};P.prototype.start=function(a,b){if(!this.t&&a==this.Hq||this.t&&a==this.t.sc)this.iL=this.iu=l;else{this.iu=a;this.iL=b;this.Cg.length==0&&this.QU()}}; P.prototype.hide=function(){this.iu=r;!this.t&&this.Hq&&this.QU()};P.prototype.HOa=function(){return this.t&&this.t.sc};P.prototype.QU=function(){this.t=new g(this.h,this.cx,this.Hq,this.iu,this.iL);this.Eb=new d(this.h,this.nc,this.t);this.iL=this.iu=l;this.ga(L);this.ga(n);switch(this.t.mode){case g.Hba:this.pb(this.Hu);this.ga(t);this.pb(this.Gu);this.ga(v);this.pb(this.Fp);break;case g.Gba:this.ga(N);this.pb(this.Xx);this.ga(V);this.ga(o);this.ga(J);this.pb(this.zr);this.ga(p);this.ga(Q);this.ga(u); this.pb(this.Wx);break;case g.aP:if(this.t.Wb()){this.ga(N);this.pb(this.Xx);this.pb(this.Hu);this.ga(s);this.pb(this.Gu);this.ga(v);this.pb(this.Fp);this.ga(V);this.ga(y);this.pb(this.zr);this.pb(this.Wx);this.ga(q)}else{this.ga(N);this.pb(this.Xx);this.pb(this.Hu);this.ga(t);this.pb(this.Gu);this.ga(v);this.pb(this.Fp);this.ga(V);this.ga(o);this.ga(J);this.pb(this.zr);this.ga(p);this.ga(Q);this.ga(u);this.pb(this.Wx)}break;case g.Qca:this.ga(N);this.pb(this.Xx);this.pb(this.Hu);this.pb(this.Gu); if(this.t.Wb()){this.ga(z);this.pb(this.zr);this.ga(H);this.ga(v);this.pb(this.Fp)}else{this.ga(I);this.pb(this.zr);this.ga(H);this.ga(v);this.pb(this.Fp);this.ga(K);this.ga(o);this.ga(Q)}this.pb(this.Wx);break;case g.Wm:this.ga(N);this.pb(this.Xx);this.ga(V);if(this.t.Wb()){this.pb(this.Hu);this.pb(this.Gu);this.ga(y);this.pb(this.zr);this.ga(c);this.ga(v);this.pb(this.Fp)}else{this.pb(this.Hu);this.pb(this.Gu);this.ga(w);this.pb(this.zr);this.ga(c);this.ga(v);this.pb(this.Fp);this.ga(o);this.ga(Q); this.ga(u)}this.pb(this.Wx);break;case g.DZ:this.ga(N);this.pb(this.Xx);this.ga(k);this.ga(V);this.ga(i.Xca);this.ga(E);this.ga(O);this.pb(this.zr);this.ga(p);this.ga(x);this.ga(f);this.ga(o);this.ga(Q);this.pb(this.Wx);break;case g.Sca:this.ga(k);this.ga(i.Kca);this.ga(j);this.ga(F);this.pb(this.Hu);this.ga(t);this.pb(this.Gu);this.ga(v);this.pb(this.Fp);this.ga(C);this.ga(x);this.ga(A);break;case g.EZ:this.pb(this.Xx);this.ga(k);this.ga(j);this.pb(this.Hu);this.pb(this.Gu);this.ga(V.uca);this.ga(M); this.ga(v);this.pb(this.Fp);this.ga(V.oca);this.ga(D);this.pb(this.zr);this.ga(p);this.ga(x);this.ga(f);this.ga(o);this.ga(Q);this.pb(this.Wx);break;case g.Rca:this.pb(this.Xx);this.ga(k);this.ga(i.Kca);this.ga(j);this.ga(F);this.ga(V);this.pb(this.Hu);this.ga(t);this.pb(this.Gu);this.ga(v);this.pb(this.Fp);this.ga(C);this.ga(x);this.ga(i.Xca);this.ga(E);this.ga(O);this.pb(this.zr);this.ga(p);this.ga(x);this.ga(f);this.pb(this.Wx)}this.pb(this.LLa);this.Ba()};P.prototype.F7=function(){this.Hq=this.t.sc; this.Nfa=this.t.EC;this.t=this.Eb=r;this.iu===l?this.Hq?this.vLa(this.Hq,this.Nfa):this.wLa():this.QU()};window.XNa=m;window.YNa=m;document.addEventListener("keydown",function(a){if(a.which==67)window.XNa=window.YNa=m});P.prototype.ev=function(a){for(;this.Cg.length;){var b=this.Cg[0];if(this.iu!==l&&this.iu!==this.Hq&&b.lC()){this.b6(this.t.sc);this.Cg=[];this.QU();break}else{b.Yg(a);this.Ba();this.Eb.ev(a);if(b.Fg()){this.Cg.shift();this.Cg.length==0&&this.F7()}else break}}};document.addEventListener("keydown", function(){(new Date).getTime()});document.addEventListener("keyup",function(){(new Date).getTime()});P.prototype.fd=G();P.prototype.ga=function(a){this.Cg.push(new a(this,this.Eb,this.h,this.t))};P.prototype.pb=function(a){this.Cg.push(new U(this,this.Eb,this.h,this.t,a))};P.prototype.b6=function(a){if(a)if(a=this.h.gf(a)){this.h.remove(a);this.Fp()}};P.prototype.Xx=function(){this.trigger(new b(P.UY,{panorama:this.t.sc}))};P.prototype.Fp=function(){this.trigger(new b(P.LY,{panorama:this.t?this.t.Hg: this.Hq,nextPanorama:this.t?this.t.sc:r}))};P.prototype.Hu=function(){this.trigger(new b(P.Sy,{panorama:this.t.Hg}))};P.prototype.Gu=function(){this.trigger(new b(P.Ry,{panorama:this.t.Hg,nextPanorama:this.t.sc}))};P.prototype.Wx=function(){this.trigger(new b(P.Ty,{panorama:this.t.sc,camera:this.t.EC}))};P.prototype.LLa=function(){this.trigger(new b(P.po))};P.prototype.zr=function(){this.trigger(new b(P.Uy,{panorama:this.t.sc,camera:this.t.EC}))};P.prototype.vLa=function(a,c){this.trigger(new b(P.rY, {panorama:a,camera:c}))};P.prototype.wLa=function(){this.trigger(new b(P.sY))};P.prototype.Ba=function(){this.trigger(new b(P.ob))};P.ob="request frame";P.UY="request load";P.LY="panorama removed";P.rY="all pending panoramas displayed";P.sY="all pending panoramas hidden";P.Ry="panorama end";P.Uy="panorama start";P.Ty="panorama show";P.Sy="panorama hide";P.po="transition end";return P}); define("kC",["require","kM","cu","fQ"],function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=b.extend(d,function(a){d.call(this);this.h=a});g.prototype.clear=function(){this.end();this.h=r};g.prototype.$G=function(a){for(var b=this.fR(a),d=a.vW(),e=0;e0.99&&(e=d+1);c.prototype.Gp.call(this,this.Ma*k.fI,k.fI,this.Ma*k.fI,k.fI,a,e)};k.prototype.fd=function(a){if(this.$){var b=this.h.Oc(),c=this.h.Hc(),d=this.h.rf(),e=0;if(this.aB!==l&&this.C5!==l&&this.Gla!==l)var g=b-this.aB,k=c-this.C5,n=d-this.Gla,e=Math.sqrt(g*g+k*k+ n*n)*1E3/a;this.aB=b;this.C5=c;this.Gla=d;for(var g=this.fR(this.$),x=this.Ma*(g-1),k=Math.max(0,Math.min(g-2,Math.floor(x))),n=k+1,x=1-(x-k),y=1-x,E=[],D=0;Dk?g+a:g-a:k>this.St&&k>x&&(g=Da?d:1,d=b>a?1:1-d,g=0;gk&&o.mk(),o.set("alpha",k))}this.Gp();this.vA||this.Ba()}};a.prototype.yj=function(){return this.KR?this.vA?d.Db:d.Q:d.M};a.prototype.pj=function(){g.prototype.pj.call(this,this.yj())};a.prototype.Gp=function(){var a=this.rd,b=this.$a,d=this.coa(this.rd),e=this.coa(this.$a),n=this.hm+1,k=0===this.V1()?this.tE(): l;g.prototype.Gp.call(this,a,b,d,e,n,k)};return a});define("bJ",["require","kM","kC"],function(a){var b=a("kM"),e=a("kC");return b.extend(e,function(a){e.call(this,a)})}); define("lO",["require","kM","nW","kn","kC"],function(a){var b=a("kM"),e=a("nW"),d=a("kn"),g=a("kC"),a=b.extend(g,function(a){g.call(this,a);this.Le=B});a.prototype.$G=G();a.prototype.start=function(a){this.end();this.$=a;this.$.set("mute",this.Le);this.$.get("autoplay")&&this.$.set("state",d.Q);this.Ts()};a.prototype.getTime=function(){return this.$?this.$.get("currentTime"):0};a.prototype.yj=function(){return this.$?this.$.get("state"):d.M};a.prototype.play=function(){this.$&&this.$.set("state", d.Q)};a.prototype.pause=function(){this.$&&this.$.set("state",d.Db)};a.prototype.MX=function(){this.$&&this.$.set("state",d.Db)};a.prototype.stop=function(){this.$&&this.$.set("state",d.M)};a.prototype.end=function(){this.$&&(this.qu(),this.$=r)};a.prototype.BC=function(a){this.$&&this.$.set("state",d.Q);this.$&&this.$.set("currentTime",a)};a.prototype.kf=function(a){this.Le=a;this.$&&this.$.set("mute",this.Le)};a.prototype.Ts=function(){this.$.bind(e.u("currentTime"),this.ze,this,m);this.$.bind(e.u("duration"), this.sm,this,m);this.$.bind(e.u("state"),this.af,this,m);this.$.get("state")!=d.M&&this.pj()};a.prototype.qu=function(){this.$.unbind(e.u("currentTime"),this.ze,this,m);this.$.unbind(e.u("duration"),this.sm,this,m);this.$.unbind(e.u("state"),this.af,this,m)};a.prototype.af=function(){this.pj()};a.prototype.ze=function(){this.Gp()};a.prototype.sm=function(){this.Gp()};a.prototype.Gp=function(){this.$&&g.prototype.Gp.call(this,this.$.get("currentTime"),this.$.get("duration"))};return a}); define("w","require,kM,kn,cu,fQ,mS,kC,bp,mH,bJ,lO".split(","),function(a){var b=a("kM");a("kn");var e=a("cu"),d=a("fQ"),g=a("mS"),c=a("kC"),i=a("bp"),f=a("mH"),j=a("bJ"),n=a("lO"),k=b.extend(d,function(a){d.call(this);this.h=a;this.M3=this.rQ(f);this.F2=this.rQ(i);this.BV=this.rQ(n);this.b7=this.rQ(j);this.Ad=r});k.prototype.clear=function(){this.fQ(this.M3);this.M3=r;this.fQ(this.F2);this.F2=r;this.fQ(this.BV);this.BV=r;this.fQ(this.b7);this.h=this.Ad=this.b7=r};k.prototype.rQ=function(a){a=new a(this.h); a.bind(c.ob,this.re,this,m);a.bind(c.Qi,this.ep,this,m);a.bind(c.mc,this.xe,this,m);return a};k.prototype.fQ=function(a){a.unbind(c.ob,this.re,this);a.unbind(c.Qi,this.ep,this);a.unbind(c.mc,this.xe,this);a.clear()};k.prototype.q3=function(a,b){return g.va(b,a)};k.prototype.Rga=function(a){return this.q3(a,"HDRPanorama")?this.F2:this.q3(a,"LivePanorama")?this.M3:this.q3(a,"VideoPanorama")?this.BV:this.b7};k.prototype.$G=function(a){(this.Ad=this.Rga(a))&&this.Ad.$G(a)};k.prototype.start=function(a){this.re(); (this.Ad=this.Rga(a))&&this.Ad.start(a)};k.prototype.yj=function(){if(this.Ad)return this.Ad.yj()};k.prototype.getTime=function(){return this.Ad?this.Ad.getTime():0};k.prototype.play=function(){this.Ad&&this.Ad.play()};k.prototype.pause=function(){this.Ad&&this.Ad.pause()};k.prototype.kH=function(){this.Ad&&this.Ad.kH()};k.prototype.sH=function(){this.Ad&&this.Ad.sH()};k.prototype.MX=function(){this.Ad&&this.Ad.MX()};k.prototype.stop=function(){this.Ad&&this.Ad.stop();this.trigger(new e(k.Qi,{duration:0, time:0,steps:l,selectedStep:l}))};k.prototype.end=function(){if(this.Ad){this.Ad.end();this.Ad=r}};k.prototype.BC=function(a){this.Ad&&this.Ad.BC(a)};k.prototype.sy=function(a){this.Ad&&this.Ad.sy(a)};k.prototype.By=function(){this.Ad&&this.Ad.By()};k.prototype.fd=function(a){this.Ad&&this.Ad.fd(a)};k.prototype.kf=function(a){this.BV.kf(a)};k.prototype.re=function(){this.trigger(new e(k.ob))};k.prototype.ep=function(a){this.trigger(new e(k.Qi,a.data))};k.prototype.xe=function(a){this.trigger(new e(k.mc, a.data))};k.ob="request frame";k.wwa="frame display";k.xwa="frame hide";k.Qi="time change";k.mc="playback state change";return k}); define("lP",["require","kM","nW","fQ","kN"],function(a){var b=a("kM"),e=a("nW"),d=a("fQ"),g=a("kN"),a=b.extend(d,function(a){d.call(this);this.h=a;this.Tg=this.$=r});a.prototype.start=function(a){this.$=a;this.Tg=this.h.gf(this.$);this.Tg.bind(e.T,this.Xc,this,m);this.Tg.bind(e.dc,this.fu,this,m);this.Tg.get("ready")?this.trigger(e.Ic,{panorama:this.$}):this.Tg.bind(e.Ic,this.iF,this,m);this.Tg.set("loadingActive",m)};a.prototype.stop=function(){this.$=r;this.Tg&&(this.Tg.unbind(e.Ic,this.iF,this), this.Tg.unbind(e.T,this.Xc,this),this.Tg.unbind(e.dc,this.fu,this),this.Tg.set("loadingActive",B),this.Tg=r,this.trigger(e.$f))};a.prototype.clear=function(){this.stop()};a.prototype.iF=function(){this.Tg.unbind(e.Ic,this.iF,this);this.trigger(e.Ic,{panorama:this.$})};a.prototype.Xc=function(){this.Tg.unbind(e.Ic,this.iF,this);this.Tg.unbind(e.T,this.Xc,this);this.Tg.unbind(e.dc,this.fu,this);this.Tg=r;this.trigger(e.T,{panorama:this.$});this.$=r;this.trigger(e.$f)};a.prototype.fu=function(a){this.trigger(new g(e.dc, a.Gg))};return a}); define("jt","require,kM,nW,cu,fQ,R".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("R"),i=b.extend(g,function(a){g.call(this);this.h=a;this.Vo=this.$=this.Yh=r;this.Qa=this.ta=0;this.ya=Math.PI*0.5});i.prototype.clear=function(){this.stop();this.ama();this.Yh=this.h=r};i.prototype.xaa=function(a){if(this.Yh!=a){this.ama();this.iQ();this.Yh=a;this.Tda();this.yya()}};i.prototype.yya=function(){this.Yh&&this.Yh.bind(e.u("map"),this.aka,this,B)};i.prototype.ama=function(){this.Yh&& this.Yh.unbind(e.u("map"),this.aka,this,B)};i.prototype.stop=function(){this.iQ();this.$=r};i.prototype.fd=function(){this.ta=this.h.Oc();this.Qa=this.h.Hc();this.ya=this.h.lg();this.Yh&&this.Vo&&this.Yh.Sm(this.Vo,this.ta,this.Qa,this.ya)};i.prototype.aka=function(){if(this.$){this.iQ();(this.Vo=this.Ama(this.$,this.Yh.get("map",r),B))&&this.vna()}};i.prototype.display=function(a){if(this.$!=a){this.iQ();this.$=a;this.Tda()}};i.prototype.hide=function(a){this.$==a&&this.stop()};i.prototype.iQ=function(){if(this.Vo){this.HEa(); this.Vo=r}};i.prototype.Tda=function(){if(this.Yh&&this.$)(this.Vo=this.Ama(this.$,this.Yh.get("map",r),m))&&this.vna()};i.prototype.Ama=function(a,b,c){for(var a=a.get("mapLocations",[]),d=0;d0?a[0]:r};i.prototype.vna=function(){this.Yh.CNa(this.Vo);this.Yh.bind(c.Ej,this.gma,this,m);this.Yh.Sm(this.Vo,this.ta,this.Qa,this.ya)};i.prototype.HEa=function(){if(this.Yh){this.Yh.mRa(this.Vo);this.Yh.unbind(c.Ej,this.gma,this)}}; i.prototype.gma=function(a){this.trigger(new d(i.Ej,{yawDelta:a.data.yawDelta}))};i.Ej="request yaw change";return i}); define("gM","require,nW,kP,fQ,bf,bu".split(","),function(a){function b(a){this.lQ=a;this.Zi=r;this.K_={};for(a=0;a500};b.prototype.hand=S("AEa");b.prototype.quaternion= S("ak");b.prototype.position=S("Ma");b.prototype.pressed=function(a){a||(a=this.lQ.YQa);return!a?this.I_>0:this.K_[a]};var s=new n;s.all=function(){d();return u};s.aX=function(){d();return w};s.Ha="left";s.Ua=q;var u=[],w=r,v={},x=l,y=r,E=URL.Ji("disable-controller",B);o.bind(f.ra,i);i();return s}); define("dc",["require","eP","a"],function(a){function b(a,b){this.sf=a||new e(0,0,0);this.Mi=b||new e(1,0,0)}var e=a("eP"),d=a("a");b.prototype.clone=function(){return new b(this.sf.clone(),this.Mi.clone())};b.prototype.apply=function(a){a.CG(this.sf);a.CG(this.Mi)};b.prototype.Fra=function(){return d.jy(this.sf,this.Mi)};return b}); define("hI",["require","dc","eP"],function(a){function b(a,b,d){this.X=a||100;this.ia=b||100;this.ya=d||Math.PI;this.G5=l;this.Gq=m}var e=a("dc"),d=a("eP");b.prototype.zC=function(a){this.ya!=a&&(this.ya=a,this.Gq=m)};b.prototype.Uu=S("ya");b.prototype.AO=function(a){this.X!=a&&(this.X=a,this.Gq=m)};b.prototype.$c=S("X");b.prototype.Hua=function(a){this.ia!=a&&(this.ia=a,this.Gq=m)};b.prototype.Rd=S("ia");b.prototype.project=function(a){if(0!=a.z){this.dpa();var b=1/a.z,d=this.G5*b;a.x=0.5*this.X- a.x*d;a.y=0.5*this.ia-a.y*d;a.z=b}};b.prototype.unproject=function(a){this.dpa();return new e(new d(0,0,0),new d(0.5*this.X-a.x,0.5*this.ia-a.y,this.G5))};b.prototype.dpa=function(){this.Gq&&(this.G5=0.5*this.X/Math.tan(0.5*this.ya),this.Gq=B)};return b}); define("oc",["require"],function(){function a(){this.He=this.pitch=this.Ka=0;this.Kh=this.ue=90;this.iN=this.VV=this.height=this.width=100;this.zj=1;this.kC=this.Wb=B;this.El=0;this.mW=this.LV=this.fX=B;this.iC=this.fO=m;this.camera=this.qN=this.pN=this.sg=r;this.enabled=B;this.Pe=0;this.EO=l}a.prototype.clone=function(){var b=new a;b.Ka=this.Ka;b.pitch=this.pitch;b.He=this.He;b.ue=this.ue;b.Kh=this.Kh;b.width=this.width;b.height=this.height;b.VV=this.VV;b.iN=this.iN;b.zj=this.zj;b.Wb=this.Wb;b.kC= this.kC;b.El=this.El;b.fX=this.fX;b.mW=this.mW;b.LV=this.LV;b.fO=this.fO;b.iC=this.iC;b.sg=this.sg;b.pN=this.pN;b.qN=this.qN;b.camera=this.camera;b.enabled=this.enabled;b.Pe=this.Pe;b.EO=this.EO;return b};return a}); define("du","require,jquery.mod,dZ,nW,mo,bf,gY".split(","),function(a){function b(a){this.Uaa=a;this.element=document.createElement("div");this.$aa=document.createElement("span");this.element.appendChild(this.$aa);this.$aa.innerHTML=a.text.split("
").join("\n").split("\n").map(d).join("
");this.XV=B}function e(a){this.J=a;this.IM=c.throttle(this.IM.bind(this),100);this.JM=c.throttle(this.JM.bind(this),100);this.ba=document.createElement("div");this.ba.style.position="absolute";this.ba.style.left= 0;this.ba.style.top=0;this.ba.style.right=0;this.ba.style.bottom=0;this.ba.style.zIndex=1;this.ba.style.cursor="inherit";this.ba.style.display="none";this.JZ=g(this.ba);this.Zk=document.createElement("div");this.Zk.style.position="absolute";this.Zk.style.left=0;this.Zk.style.right=0;this.Zk.style.zIndex=1;this.Zk.style.cursor="inherit";this.ba.appendChild(this.Zk);this.Rx=r;this.bG=[];this.Ah=[];this.c5={};this.qG=f.Yb;this.J.bind(i.u("subtitlesEnabled"),this.iG,this);e.wca.forEach(function(a){this.J.bind(i.u(a), this.IM,this)}.bind(this));e.xca.forEach(function(a){this.J.bind(i.u(a),this.JM,this)}.bind(this));this.iG();this.IM();this.JM()}function d(a){k.innerHTML=a;return k.innerText}var g=a("jquery.mod"),c=a("dZ"),i=a("nW"),f=a("mo"),j=a("bf"),n=a("gY");e.prototype.clear=function(){this.Kaa(r);if(this.J){this.J.unbind(i.u("subtitlesEnabled"),this.iG,this);e.wca.forEach(function(a){this.J.unbind(i.u(a),this.IM,this)}.bind(this));e.xca.forEach(function(a){this.J.unbind(i.u(a),this.JM,this)}.bind(this));this.J= r}};e.prototype.Ac=S("JZ");e.prototype.Kaa=function(a){if(this.Rx!=a){this.Rx&&this.Rx.unbind(i.u("activeSubtitles"),this.p4,this,m);(this.Rx=a)&&this.Rx.bind(i.u("activeSubtitles"),this.p4,this,m);this.p4()}};e.prototype.p4=function(){this.bKa(this.Rx&&this.Rx.get("activeSubtitles")||[])};e.prototype.iG=function(){this.K=this.J.get("subtitlesEnabled");this.v8()};e.prototype.IM=function(){this.qG=this.iJ("subtitlesVerticalAlign",[f.ec,f.Sd,f.Yb],f.Yb);this.Zk.style["text-align"]=this.iJ("subtitlesHorizontalAlign", [f.Ha,f.Ua,f.ke],f.ke);this.Zk.style.bottom=this.qG==f.Yb?this.Pj("subtitlesBottom",0):"";this.Zk.style.top=this.qG==f.ec?this.Pj("subtitlesTop",0):this.qG==f.Sd?"50%":"";this.Zk.style.transform=this.qG==f.Sd?"translate(0, -50%)":"";this.v8()};e.prototype.JM=function(){var a={};a["background-color"]=this.v2("subtitlesBackgroundColor","subtitlesBackgroundOpacity");a.border=[this.Pj("subtitlesBorderSize"),"solid",this.Rh("subtitlesBorderColor")].join(" ");a["box-shadow"]=this.Rh("subtitlesShadow",B)? [this.Pj("subtitlesShadowHorizontalLength"),this.Pj("subtitlesShadowVerticalLength"),this.Pj("subtitlesShadowBlurRadius"),this.v2("subtitlesShadowColor","subtitlesShadowOpacity","#000000",0)].join(" "):"";a.display="inline-block";a["font-family"]=n.Qu(this.Rh("subtitlesFontFamily"));a["font-size"]=this.Pj("subtitlesFontSize");a.color=this.Rh("subtitlesFontColor");a["font-weight"]=this.iJ("subtitlesFontWeight",["bold","bolder","lighter","100","200","300","400","500","600","700","800","900","normal"], "normal");a["font-style"]=this.iJ("subtitlesFontStyle",["italic","normal"],"normal");a["margin-bottom"]=this.Pj("subtitlesGap");a.opacity=this.Rh("subtitlesOpacity");a["padding-top"]=this.Pj("subtitlesPaddingTop");a["padding-bottom"]=this.Pj("subtitlesPaddingBottom");a["padding-left"]=this.Pj("subtitlesPaddingLeft");a["padding-right"]=this.Pj("subtitlesPaddingRight");a.position="relative";a["text-align"]=this.iJ("subtitlesHorizontalAlign",["left","right","center"],"center");a["text-decoration"]=this.Rh("subtitlesTextDecoration", ["underline","overline","line-through","none"],"none");a["text-shadow"]=[this.Pj("subtitlesTextShadowHorizontalLength"),this.Pj("subtitlesTextShadowVerticalLength"),this.Pj("subtitlesTextShadowBlurRadius"),this.v2("subtitlesTextShadowColor","subtitlesTextShadowOpacity","#000000",0)].join(" ");this.c5=a;this.eza()};e.prototype.bKa=function(a){this.bG=a;this.v8()};e.prototype.v8=function(){for(var a=this.K?this.bG:[],c=this.Ah.length-1;c>=0;c--){var d=this.Ah[c];if(a.indexOf(d.Uaa)>=0)break;this.Zk.removeChild(d.element)}for(var e= [],g=B;c>=0;c--){d=this.Ah[c];if(!d.XV&&a.indexOf(d.Uaa)<0){d.XV=m;d.element.style.visibility="hidden";g=m}e.splice(0,0,d)}g&&j.wb(this.ffa,this);this.Ah=e;var i=this.Ah.filter(function(a){return!a.XV}).map(function(a){return a.Uaa});a.filter(function(a){return i.indexOf(a)<0}).forEach(function(a){a=new b(a);this.jea(a);this.qG==f.Yb&&this.Ah.length>0?this.Zk.insertBefore(a.element,this.Ah[this.Ah.length-1].element):this.Zk.appendChild(a.element);this.Ah.push(a)}.bind(this));this.ba.style.display= this.Ah.length>0?"block":"none"};e.prototype.ffa=function(a){for(var b=B,a=Math.round(200*a/1E3),c=0;c=d.element.clientHeight){a=a-d.element.clientHeight;this.Zk.removeChild(d.element);this.Ah.splice(c,1);c--}else{d.element.style.height=d.element.clientHeight-a+"px";break}}}b&&j.wb(this.ffa,this)};e.prototype.eza=function(){this.Ah.forEach(this.jea.bind(this))};e.prototype.jea=function(a){for(var b in this.c5)a.$aa.style[b]=this.c5[b]};e.prototype.Rh= function(a,b){return this.J.get(a,b)};e.prototype.Pj=function(a,b){var c=this.J.get(a,b);isNaN(c)||(c=Math.round(c)+"px");return c};e.prototype.iJ=function(a,b,c){a=this.J.get(a);return b.indexOf(a)<0?c:a};e.prototype.v2=function(a,b,c,d){a=this.J.get(a,c);b=this.J.get(b,d);return"rgba("+parseInt("0x"+a.substr(1,2))+", "+parseInt("0x"+a.substr(3,2))+", "+parseInt("0x"+a.substr(5,2))+", "+b+")"};e.wca=["subtitlesHorizontalAlign","subtitlesVerticalAlign","subtitlesTop","subtitlesBottom"];e.xca=["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 e}); define("ez",["require","kM","nW","du"],function(a){var b=a("kM"),e=a("nW"),d=a("du"),a=b.extend(d,function(a,b){d.call(this,a);this.oc=b;this.oc.bind(e.u("panorama"),this.G4,this);this.G4()});a.prototype.clear=function(){this.oc&&(this.oc.unbind(e.u("panorama"),this.G4,this),this.oc=r);d.prototype.clear.call(this)};a.prototype.G4=function(){this.Kaa(this.oc.get("panorama"))};return a}); define("db",["require"],function(){function a(a,b){this.h=a;this.EF=b;this.Uf=new THREE.CustomRenderPass(b);this.Uf.renderToScreen=B;this.jU=new THREE.SavePass;this.jU.enabled=m;this.Zv=new THREE.ShaderPass(THREE.BlendShader,"tDiffuse1");this.Zv.uniforms.tDiffuse2.value=this.jU.renderTarget.texture;this.Zv.uniforms.mixRatio.value=0.8;this.Zv.renderToScreen=m;this.Zv.enabled=m;this.cla=new THREE.ShaderPass(THREE.CopyShader);this.cla.renderToScreen=m;this.Xl=new THREE.EffectComposer(a);this.Xl.addPass(this.Uf); this.Xl.addPass(this.Zv);this.Xl.addPass(this.jU);this.Xl.addPass(this.cla);this.hw=this.iw=l}var b=new THREE.Vector2;a.prototype.destroy=function(){this.Xl=this.Zv=this.jU=this.Uf=this.EF=this.h=r};a.prototype.start=function(){this.Zv.uniforms.mixRatio.value=0;this.L1=3};a.prototype.render=function(a,d){this.h.getSize(b);if(this.iw!==b.width||this.hw!==b.height)this.iw=b.width,this.hw=b.height,this.Xl.setSize(this.iw,this.hw);this.Uf.scene=a;this.Uf.camera=d;0\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}\n"; o.side=THREE.BackSide;o.depthWrite=B;o.transparent=m;o.depthTest=B;o.needsUpdate=m;var q=new THREE.Mesh(new THREE.SphereGeometry(5,64,64),o);q.overdraw=B;q.matrixAutoUpdate=B;q.renderOrder=1E3;var t=new THREE.Matrix4;this.CC=function(a){k=a};this.setSize=function(b,d){if(c!=b||n!=d)a.setSize(c=b,n=d)};this.$c=function(){return c};this.Rd=function(){return n};this.start=function(e){e.add(q);e.add(p);e.traverse(function(a){if(a.layers.test(p.layers)){a.userData.y$=a.layers.mask;a.layers.mask=p.layers.mask}}); p.visible=m;q.visible=m;d.naa(e,[b]);a.setClearColor(16777215,1);a.setPixelRatio(g.getPixelRatio());c&&n&&a.setSize(c,n)};this.stop=function(b){a.setClearColor(0,0);b.traverse(function(a){if(a.userData.y$!==l){a.layers.mask=a.userData.y$;delete a.userData.y$}});p.visible=B;q.visible=B;b.remove(q);b.remove(p)};this.fov=function(){return b.fov};this.fba=function(){if(k>0){q.matrix.copy(b.matrixWorld);q.matrix.multiply(t.makeTranslation(0,0,-k*5));q.matrixWorldNeedsUpdate=m}};this.camera=function(){return b}; var s=0;this.render=function(c,d,e){if(k>0){s++;if(!g.bQa()||s%10==0){g.GRa();q.visible=B;p.update(a,c);q.visible=m}}a.setRenderTarget(d);e&&a.clear();a.render(c,b)}}}}); define("eu","require,jquery.mod,lS,ko,mO,dw,ku,bh,gz,gZ,bu".split(","),function(a){function b(){this.ba=e("
");this.ba.css({position:"absolute",left:0,top:0,right:0,bottom:0,"z-index":0,cursor:"inherit"});this.ma=new THREE.PerspectiveCamera(90,16/9,0.1,2*n.lf);this.ma.layers.enable(i.Ha);this.vQ=new THREE.PerspectiveCamera;this.wa=new THREE.Scene;this.Cfa=new THREE.Scene;this.Dfa=new THREE.Scene;window.xUa=THREE;this.wa.add(this.ma);this.mt=this.ow=this.h=r;this.AA=0;this.ku=this.Kf=this.a7= this.R8=r;this.Xia=this.x0=B}var e=a("jquery.mod"),d=a("lS"),g=a("ko"),c=a("mO"),i=a("dw"),f=a("ku"),j=a("bh"),n=a("gz"),k=a("gZ"),o=a("bu");b.prototype.Yn=S("wa");b.prototype.ZB=S("vQ");b.prototype.BOa=function(){return this.Kf.fov(this.ma)};b.prototype.getPixelRatio=function(){return this.h.getPixelRatio()};b.prototype.Ac=S("ba");b.prototype.EOa=function(){return this.h?this.h.domElement.width:this.ba.width()};b.prototype.DOa=function(){return this.h?this.h.domElement.height:this.ba.height()};b.prototype.kg= function(){return this.h.domElement};b.prototype.update=function(a){this.GMa(a);this.jMa(a);this.ik(a);this.DMa(a)};var p=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,0,-1),new THREE.Vector3(0,0,1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],q=[new THREE.Vector3(-1,0,0),new THREE.Vector3(1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)],p=[new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0, 0,-1),new THREE.Vector3(0,0,1),new THREE.Vector3(0,1,0),new THREE.Vector3(0,1,0)],q=[new THREE.Vector3(1,0,0),new THREE.Vector3(-1,0,0),new THREE.Vector3(0,1,0),new THREE.Vector3(0,-1,0),new THREE.Vector3(0,0,1),new THREE.Vector3(0,0,-1)];b.prototype.jN=function(a){var b=this.Kf,c=this.Kf.$c(),d=this.Kf.Rd();b.stop();this.h.setPixelRatio(1);this.h.setSize(a,a);var e=new THREE.PerspectiveCamera(90,1,this.ma.near,this.ma.far);e.layers=this.ma.layers;e.visible=m;this.wa.add(e);for(var f=[],g=0;g<6;g++){var j= document.createElement("canvas");j.width=j.height=a;var i=j.getContext("2d");e.up.copy(p[g]);e.lookAt(q[g]);e.updateProjectionMatrix();e.updateMatrixWorld();this.h.clear();this.h.render(this.wa,e);i.save();i.scale(-1,1);i.drawImage(this.h.domElement,0,0,-a,a);i.restore();f.push(j)}this.wa.remove(e);this.Kf=b;this.Kf.start(this.wa);this.Kf.setSize(c,d);this.DL();return f};b.prototype.render=function(){this.DL()};b.prototype.GMa=function(a){if(a.enabled){this.AA=(new Date).getTime();this.h||this.lKa(a); if(a.Wb&&o.De()==o.oD.Kl)this.Xia=m;o.DX(this.h.getContext())}if(this.x0=a.enabled&&!a.Wb){this.ow.setSize(a.width,a.height);this.mt.setSize(a.width,a.height)}};b.prototype.lKa=function(a){if(!this.h&&a.enabled){for(;t.length>=s;){t.sort(function(a,b){return a.AA-b.AA});t[0].oAa()}t.push(this);var b=this.Ac().get(0);this.ow=new THREE.CSS3DRenderer;this.ow.domElement.style.position="absolute";this.ow.domElement.style.zIndex=0;b.appendChild(this.ow.domElement);var c={precision:"mediump",alpha:m};if(t.length== 1&&a.Wb){a=o.dC();c.context=a;c.canvas=a.canvas}else{c.canvas=document.createElement("canvas");c.context=k.u9(c.canvas,a.LV)}this.h=new THREE.WebGLRenderer(c);this.h.debug.checkShaderErrors=d.TC;this.h.domElement.style.position="absolute";this.h.domElement.style.zIndex=1;this.h.domElement.style.pointerEvents="none";this.h.setClearColor(0,0);b.appendChild(this.h.domElement);this.mt=new THREE.CSS3DRenderer;this.mt.domElement.style.position="absolute";this.mt.domElement.style.zIndex=2;this.mt.domElement.style.pointerEvents= "none";b.appendChild(this.mt.domElement);this.ku=new f(this.h,function(a,b,c,d,e){this.Xia&&this.h.resetState();this.Kf.render(b,d,e)}.bind(this));this.a7=new j.gxa(this.h,this.ma);this.Jna=new j.Axa(this.h,this.ma);this.R8=new j.Ixa(this.h,this.ma);o.zG(this.h.getContext())}};b.prototype.oAa=function(){if(this.h){t.splice(t.indexOf(this),1);this.Kf=this.a7=this.R8=r;this.ku.destroy();this.ku=r;o.rX(this.h.getContext());var a=this.Ac().get(0);a.removeChild(this.mt.domElement);this.mt=r;a.removeChild(this.h.domElement); this.h.dispose();this.h=r;a.removeChild(this.ow.domElement);this.ow=r}};b.prototype.ik=function(a){this.ma.quaternion.copy(c.Zqa(a.Ka,a.pitch,a.He));this.ma.fov=g.tl(a.ue,a.width,a.height);this.ma.aspect=a.width/a.height;this.ma.updateProjectionMatrix();this.ma.updateMatrixWorld();this.Kf&&this.Kf.fba();this.Kf&&this.vQ.copy(this.Kf.camera());this.vQ.updateProjectionMatrix();this.vQ.updateMatrixWorld();this.wa.D$===m&&this.wa.updateMatrixWorld()};b.prototype.jMa=function(a){var b=a.Wb?this.R8:a.El> 0?this.Jna:this.a7;if(this.Kf!=b){this.Kf&&this.Kf.stop(this.wa);(this.Kf=b)&&this.Kf.start(this.wa)}if(this.Kf){this.Kf.setSize(a.width,a.height);this.Kf==this.Jna&&this.Kf.CC(a.El)}};b.prototype.DMa=function(a){this.ku&&(a.fX?this.ku.oaa(f.eZ):a.mW&&!a.Wb?this.ku.oaa(f.Iba):this.ku.oaa(f.NONE))};b.prototype.DL=function(){this.ku&&this.ku.render(this.wa,this.ma);if(this.x0){this.ow.render(this.Cfa,this.ma);this.mt.render(this.Dfa,this.ma)}};var t=[],s=10;return b}); define("c","require,kM,iB,eQ,cp,eg,V,ov,od".split(","),function(a){var b=a("kM"),e=a("iB"),d=a("eQ"),g=a("cp"),c=a("eg"),i=a("V"),f=a("ov"),j=a("od"),a=b.extend(e,function(){e.call(this);this.set("tag","ComposedWebGLObject");this.set("webglScene",r);this.set("meshGroup",r);this.set("camera",r);this.set("textureSource",r);this.set("materialConfig",this.Nb=new g.Xm);this.kt&&this.kt();this.Pz&&this.Pz();this.nw&&this.nw();this.kn&&this.kn()});a.prototype.Bb=function(){e.prototype.Bb.call(this);this.Dn&& this.Dn();this.UJ&&this.UJ();this.tF&&this.tF()};a.prototype.Fb=function(){this.TE&&this.TE();this.uF&&this.uF();this.Fn&&this.Fn();c.dispose(this.get("meshGroup"));c.yH(this.get("meshGroup"),r);this.set("meshGroup",r);e.prototype.Fb.call(this)};a.prototype.V=function(a){this.qf&&this.qf(a);e.prototype.V.call(this,a);this.set("camera",i.ZB(a.sg));this.set("webglScene",a.sg);if(!this.get("meshGroup")){this.set("meshGroup",c.uqa(this.Yl()));this.get("meshGroup").userData.NQa=this}this.F("webglScene", "meshGroup")&&c.yH(this.get("meshGroup"),this.get("webglScene"));this.ll();this.qj&&this.qj(a);this.TMa();this.Ku&&this.Ku(a);this.Jp&&this.Jp(a);this.DB();this.F("loadingActive","meshGroup")&&f.vd(this.get("meshGroup"),this.get("loadingActive"));this.F("blendingActive","meshGroup")&&j.wua(this.get("meshGroup"),this.get("blendingActive"))};a.prototype.ll=function(){this.F("composedAlpha","meshGroup")&&this.Uv()};a.prototype.Uv=function(){c.Te(this.get("meshGroup"),this.get("composedAlpha"))};a.prototype.TMa= function(){if(this.F("textureSource")||this.F("materialConfig")&&!this.Nb.isEqual(this.get("materialConfig"))){var a=this.sE();if(a){c.sSa(a,this.UD());this.Uv()}}};a.prototype.DB=function(){if(this.F("index","meshGroup")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b,d){c.JX(a,this.get("index")+b/d.length)}.bind(this))}};a.prototype.UD=function(){var a=this.get("textureSource")||new d;this.Nb=this.get("materialConfig");var b=g.hy(a.texture(),this.Nb);f.zH(b,a);return[b]};a.prototype.ufa= function(){var a=new d,b=g.hy(a.texture());f.zH(b,a);return[b]};a.prototype.At=function(a){return c.WOa(this.get("meshGroup"),a)};return a}); define("nm","require,hA,gz,eg,iY,ov,ko,mO,mo".split(","),function(a){var b=a("hA"),e=a("gz"),d=a("eg"),g=a("iY"),c=a("ov"),i=a("ko"),f=a("mO"),j=a("mo"),n=new THREE.Matrix4,k=Math.PI/180;return{kt:function(){this.set("distance",l);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",l);this.set("vfov",r);this.set("scaleMode",r); this.set("horizontalAlign",r);this.set("verticalAlign",r);this.set("attachToCamera",B);this.vh=this.mw();this.Wg=new THREE.Matrix4;this.nd=new THREE.Matrix4;this.En=new THREE.Matrix4;this.cm=new THREE.Matrix4;this.Ei=new THREE.Matrix4;this.w_=new THREE.Matrix4;this.nea=new THREE.Quaternion;this.nfa=new THREE.Matrix4;this.tI=new THREE.Matrix4;this.EI=new THREE.Matrix4;this.aw=new THREE.Matrix4;this.nh=new THREE.Matrix4},Ku:function(a){this.Hp(a);this.z8()},z8:function(){if(this.F("hfov","vfov","contentWidth", "contentHeight","panoramaPixelsPerDegree","scaleMode","horizontalAlign","verticalAlign")){var a=g.V9(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=e.Rua(this.vh[1],a.IO,a.LO,a.ov,a.pv);if(this.vh[1]!=a){this.vh[1]=a;(a=this.sE())&&d.saa(a,this.vh[1])}}},sE:function(){var a=this.get("meshGroup");return a?d.pk(a)[1]:r},Yl:function(){return[0,1].map(function(a){var e= a==0?this.ufa():this.UD(),a=d.create(this.vh[a],e);c.fs(a,c.$m);c.gs(a,c.so);c.uy(a,b.lD);c.xH(a,1);return a}.bind(this))},mw:function(){return[e.JG(),e.JG()]},Hp:function(a){var b=B;if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.Wg.makeTranslation(-this.get("composedTranslationX")*0.5*e.lf,this.get("composedTranslationY")*0.5*e.lf,this.get("composedTranslationZ")*0.5*e.lf);b=m}if(this.F("composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.nd.makeRotationY(-a.Ka* k);this.nd.multiply(n.makeRotationX(-this.get("composedDeltaPitch")*k));this.nd.multiply(n.makeRotationY(this.get("composedDeltaYaw")*k));this.nd.multiply(n.makeRotationY(a.Ka*k));b=m}if(this.F("yaw","pitch")){this.En.makeRotationY(-this.get("yaw")*k);this.En.multiply(n.makeRotationX(this.get("pitch")*k));b=m}if(this.F("distance","flipHorizontally","scale","hfov","vfov","contentWidth","contentHeight","scaleMode","horizontalAlign","verticalAlign","composedTranslationX","composedTranslationY","composedTranslationZ")){var c= this.Z.get("composedTranslationX")==0&&this.Z.get("composedTranslationY")==0&&this.Z.get("composedTranslationZ")==0&&this.get("distance")!==l?e.bC(this.get("distance")):e.Tu();this.cm.makeTranslation(0,0,-c);var t=this.get("contentWidth"),s=this.get("contentHeight"),u=this.get("hfov"),w=this.get("vfov")||i.tl(u,t,s),v=(this.get("flipHorizontally")?-1:1)*this.get("scale"),x=this.get("scale"),y=this.get("scaleMode"),E=this.get("panoramaPixelsPerDegree"),b=this.get("horizontalAlign")||j.ke,D=this.get("verticalAlign")|| j.Sd,t=g.V9(u,w,t,s,y,E,b,D),u=v*e.W9(c,u),w=x*e.X9(c,w);this.tI.makeScale(u,w,1);v=v*e.W9(c,t.ue);c=x*e.X9(c,t.dq);this.EI.makeScale(v,c,1);this.nfa.makeTranslation(b==j.Ha?-(u-v)*0.5:b==j.Ua?(u-v)*0.5:0,D==j.ec?(w-c)*0.5:D==j.Yb?-(w-c)*0.5:0,0);b=m}if(this.F("rotationX","rotationY","rotationZ","roll")){this.Ei.makeRotationZ(this.get("roll")*k);this.Ei.multiply(n.makeRotationY(this.get("rotationY")*k));this.Ei.multiply(n.makeRotationX(this.get("rotationX")*k));this.Ei.multiply(n.makeRotationZ(this.get("rotationZ")* k));b=m}this.set("cameraYaw",a.Ka);this.set("cameraPitch",a.pitch);this.set("cameraRoll",a.He);if(this.get("attachToCamera")&&this.F("cameraYaw","cameraPitch","cameraRoll")){this.nea.copy(f.Zqa(a.Ka,a.pitch,a.He));this.w_.makeRotationFromQuaternion(this.nea);b=m}else if(this.F("attachToCamera")){this.w_.identity();b=m}if(b||this.F("meshGroup")){this.nh.copy(this.Wg);this.nh.multiply(this.nd);this.nh.multiply(this.w_);this.nh.multiply(this.En);this.nh.multiply(this.cm);this.nh.multiply(this.Ei);this.aw.copy(this.nh); this.aw.multiply(this.tI);this.nh.multiply(this.nfa);this.nh.multiply(this.EI);a=d.pk(this.get("meshGroup"));d.Pp(a[0],this.aw);d.Pp(a[1],this.nh)}}}});define("iW",["require","kM","c","nm"],function(a){var b=a("kM"),e=a("c"),a=a("nm");return b.extend(e,a,function(){e.call(this);this.set("tag","Plane")})}); define("hk","require,kM,jY,nW,mS,iW,mi,ns,mF,eq,kN".split(","),function(a){function b(a,b,c,d,f,g){for(a=(a-b)/g;c+180d;)d=d+360;c=(c-d)/g;return c=a<-0.1||a>0.1?e(f,c,Math.abs(1/(1500*a))):e(f,c,0.08)}function e(a,b,c){a=(b-a)*(1-c);Math.abs(a)<1.0E-5&&(a=0);return b-a}var d=a("kM"),g=a("jY"),c=a("nW"),i=a("mS"),f=a("iW"),j=a("mi"),n=a("ns"),k=a("mF"),o=a("eq"),p=a("kN"),a=d.extend(f,function(a){f.call(this);this.n=a;this.Rj.push(this.n);this.yf=this.yf.bind(this);this.ie= i.va("CeilingCapPanoramaOverlay",this.n)?"ceiling":"tripod";this.set("tag","Cap");this.set("pitch",this.ie=="tripod"?-90:90);this.Pd=B;this.aB=this.E5=this.hr=l;this.OHa=this.ie=="tripod"?1:-1;this.Ti=this.$j=this.yg=r});a.prototype.Bb=function(){f.prototype.Bb.call(this);this.yg=(new n(c.T)).Hl(this.Zo.bind(this));this.$j=(new n(c.dc)).bo(this.MA.bind(this));g.ea(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.yf,m)};a.prototype.Fb=function(){this.Ti&&this.Ti.dispose(); this.Ti=r;this.yg.dispose();this.$j.dispose();g.da(this.n,["angle","distance","hfov","image.levels.url","inertia","rotate"],this.yf);f.prototype.Fb.call(this)};a.prototype.yf=function(){this.set("angle",this.n.get("angle"));this.set("distance",this.n.get("distance"));this.set("hfov",this.n.get("hfov"));var a=k.FOa(this.n,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.n.get("inertia")); this.set("rotate",this.n.get("rotate"))};a.prototype.Yl=function(){var a=f.prototype.Yl.call(this);this.yg.Ue(a);this.$j.Ue(a);return a};a.prototype.V=function(a){this.b8();this.lG(a);f.prototype.V.call(this,a)};a.prototype.b8=function(){if(this.F("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.Zo=function(){this.Ti&&this.Ti.dispose();this.Ti=new o(this.get("textureSource").ff()); this.trigger(c.Ic);this.trigger(c.T)};a.prototype.MA=function(a,b){var d=0;b.Or(function(a){(a=b.wl(a))&&(d=d+a.Gg)});this.trigger(new p(c.dc,d/b.Sc.length))};a.prototype.lG=function(a){this.set("rendererYaw",a.Ka);if(this.F("angle","inertia","rotate")||(this.get("rotate")||this.get("inertia"))&&this.F("rendererYaw")){var c=this.get("angle"),d=this.get("rotate"),e=this.get("inertia"),f=this.OHa*a.Ka;d&&(c=c+f);var g=0,j=c-f;if(this.hr!==l){if(e)if(d){g=b(f,this.aB,c,this.hr,this.E5,a.Pe);c=this.hr+ g*a.Pe}else{g=b(f,this.aB,j,this.Dla,this.E5,a.Pe);j=this.Dla+g*a.Pe;c=j+f}this.hr!=c&&this.ua()}this.Dla=j;this.hr=c;this.E5=g;this.aB=f;this.set("rotationZ",-c)}};a.prototype.Tm=function(a){if(a.Ye==c.xk){var b=!a.pl()&&this.Dp(a);if(b){a.cy(this.n);this.n.get("useHandCursor")&&a.dy(this.n);a.lk(this.get("distance"))}if(this.Pd!=b){this.Pd=b;this.n.trigger(this.Pd?c.kd:c.jc);a.as()&&this.n.trigger(this.Pd?c.bz:c.uo)}}else if(a.Ye==c.Gj&&!a.pl()&&this.Dp(a)){this.n.PG(c.oa,m).length>1&&a.es(this.n); a.lk(this.get("distance"));this.n.trigger(c.oa)}};a.prototype.Dp=function(a){return this.At(a.qp).some(function(a){return this.Ti&&this.Ti.mv(a.x,a.y)}.bind(this))};return a}); define("jA","require,kM,nW,kn,iB,bu".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("kn"),g=a("iB"),c=a("bu"),a=b.extend(g,function(){g.call(this);this.Wg=new THREE.Matrix4;this.rpa=B;this.Zh=new THREE.Matrix4;this.Pf=r;this.fl=new THREE.Matrix4;this.CL=this.mL=0;this.kI=0.75;this.SI=0.5;this.Uq=4;this.X3=0;this.Vq=-2;this.Wo=3;this.hS=0;this.Zz=7;this.gL=this.wx=1;this.aK=0.15;this.$z=this.VA=0;this.BR=this.HT=d.M;this.RU=this.LU=1E3}),i=Math.PI/180,f=new THREE.Matrix4;a.prototype.Tl=G();a.prototype.Bb= function(){g.prototype.Bb.call(this);this.trigger(e.Ic);this.trigger(e.T)};a.prototype.Fb=function(){this.W_()};a.prototype.Uj=function(){this.Tl();this.EL()};a.prototype.Vj=function(){this.ua()};a.prototype.EL=function(){if(this.Pf){this.W_();this.xfa()}};a.prototype.tQ=G();a.prototype.xfa=function(){this.DIa();this.Pf=new THREE.Group;for(var a=this.BR==d.Q,b=this.VA,c=this.$z;c+b>0;){var e=Math.random()*(c+b)<=c;e?c--:b--;var f=this.tQ();f.matrixAutoUpdate=B;f.overdraw=B;f.material.opacity=0;f.userData= {rOa:e,oH:new THREE.Matrix4,Rpa:new THREE.Matrix4,baa:new THREE.Matrix4,y:l,cwa:l,N$:a};this.Pf.add(f);a&&this.l6(f,this.Vq,this.Wo);this.BIa(f)}this.mL=a?this.Pf.children.length:0;this.T8.add(this.Pf);this.mea()};a.prototype.W_=function(){if(this.Pf){this.Pf.parent&&this.Pf.parent.remove(this.Pf);for(var a=0,b=this.Pf&&this.Pf.children.length;a80&&c<100);var d=Math.random()* 360,e=Math.sin(d*i)*Math.sin(c*i)*b,g=-Math.cos(c*i)*b,b=Math.cos(d*i)*Math.sin(c*i)*b;a.userData.cwa=g*this.wx;a.userData.Rpa.makeTranslation(e,g,b);a.userData.baa.makeRotationY(d*i);a.userData.baa.multiply(f.makeRotationX(-c*i))};a.prototype.V=function(a){g.prototype.V.call(this,a);this.bMa(a);this.T8=a.sg;if(this.T8!=(this.Pf&&this.Pf.parent)){this.W_();this.T8&&this.xfa()}else this.F("index")&&this.mea();this.zMa(a)};a.prototype.bMa=function(a){a=a.Wb&&c.De()==c.oD.Kl;if(a!=this.Oha)(this.Oha= a)&&setTimeout(function(){this.Pf&&this.EL()}.bind(this),0)};a.prototype.zMa=function(a){if(this.Pf){if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){this.rpa=this.get("composedTranslationX")!=0||this.get("composedTranslationY")!=0||this.get("composedTranslationZ")!=0;this.Wg.makeTranslation(-this.get("composedTranslationX")*this.Uq,this.get("composedTranslationY")*this.Uq,this.get("composedTranslationZ")*this.Uq)}var b=this.HT==d.Q,c=this.Pf.children,e=c.length,f= b?Math.round(e*a.Pe/this.LU):0;if(this.mL+f>0){this.CL=b?0:Math.min(this.mL,this.CL+Math.round(e*a.Pe/this.RU));a=this.get("composedAlpha");for(b=0;b0){f--;g.userData.N$=m;this.mL++;this.l6(g,this.Wo,this.Wo+(this.Wo-this.Vq))}else continue;g.userData.oH.multiply(g.userData.Rpa);g.userData.y=g.userData.y+g.userData.cwa;if(g.userData.ythis.Wo){if(this.CL>0){this.CL--;g.userData.N$=B;this.mL--;g.material.opacity=0;continue}var i=g.userData.y< this.Vq?this.Wo:this.Vq;this.l6(g,i,i)}i=a;g.userData.ythis.Wo-this.kI&&(i=i*((this.Wo-g.userData.y)/this.kI));g.material.opacity=i*this.gL;if(this.rpa){g.matrix.copy(this.Wg);g.matrix.multiply(g.userData.oH)}else g.matrix.copy(g.userData.oH);g.matrix.multiply(g.userData.baa);g.matrixWorldNeedsUpdate=m}this.ua()}}};a.prototype.mea=function(){if(this.Pf)for(var a=this.get("index"),b=0;b0&&(this.get("visibleOnStop")||this.get("state")!=d.M));this.F("composedAlpha","meshGroup","inView")&&f.Te(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0);this.jn&&this.jn.Hf(this.get("inView"))},FS:function(){this.Ea&& c.va("AnimatedImageResource",this.Ea)?this.set("visibleOnStop",this.Ea.get("visibleOnStop")):this.set("visibleOnStop",m)},IS:function(){this.set("levelURL",this.hb.get("url"))},TE:function(){this.Zea()},Zea:function(){if(this.jn){this.jn.clear();this.jn=r}if(this.ac){this.ac.unbind(e.ra,this.uJ,this,m);this.ac.unbind(e.Yd,this.Lha,this,m);this.ac.clear();this.ac=r}if(this.Ti){this.Ti.dispose();this.Ti=r}if(this.get("textureSource")){this.c6();this.set("textureSource",r)}if(this.Ea){this.lIa();this.Ea= r}if(this.hb){this.oIa();this.hb=r}},qya:function(){b.ea(this.Ea,["visibleOnStop"],this.FS,m)},lIa:function(){b.da(this.Ea,["visibleOnStop"],this.FS,m)},tya:function(){b.ea(this.hb,["url"],this.IS,m)},oIa:function(){b.da(this.hb,["url"],this.IS,m)},vJ:function(){this.c6();var a,b=this.get("image");if(c.va("AnimatedImageResource",b)){this.ac=new p(this.get("textureSource").ff(),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.ac.kg();this.ac.bind(e.Yd,this.Lha,this,m);this.ac.bind(e.ra,this.uJ,this,m);this.jn=new j(b,this.ac);this.set("visibleOnStop",b.get("visibleOnStop"));this.set("state",this.ac.mg())}else{a=this.get("textureSource").ff();this.Ti=new o(a);this.set("visibleOnStop",m);this.set("state",r)}this.ll();this.set("contentWidth",a.width);this.set("contentHeight",a.height);this.get("textureSource").Cl(a);this.trigger(e.Ic);this.trigger(e.T)},Mha:function(){this.c6(); this.trigger(e.Ic);this.trigger(e.T)},Lha:function(){this.set("state",this.ac.mg())},uJ:function(){this.get("textureSource").update();this.ua()},Eya:function(){var a=this.get("textureSource");a.bind(e.T,this.vJ,this,m);a.bind(e.tc,this.Mha,this,m)},c6:function(){var a=this.get("textureSource");a.unbind(e.T,this.vJ,this,m);a.unbind(e.tc,this.Mha,this,m)},f2:function(a){return this.Ti&&this.Ti.ig==a.source?this.Ti.info(a.x,a.y):o.info(a.source,a.x,a.y)}}}); define("nT","require,jY,nW,mS,mU,y".split(","),function(a){function b(a){a=a.get("mapColor");return a=="image"||a=="transparent"||a=="any"}function e(a){a=a.get("mapColor");return a!="image"&&a!="transparent"&&a!="any"}var d=a("jY"),g=a("nW"),c=a("mS"),i=a("mU"),f=new (a("y"));return{nw:function(){this.set("beamEnabled",B);this.ES=this.ES.bind(this);this.S2=r;this.Nh=[];this.Cq=[];this.Lw=r},ZRa:function(a){if(this.Lw!=a){this.U5();this.Lw=a;this.Nda()}},Jp:function(a){this.Gx=a.Ka;this.Fx=a.pitch}, U5:function(){this.Lw&&d.da(this.Lw,["areas"],this.ES,m)},Nda:function(){this.Lw&&d.ea(this.Lw,["areas"],this.ES,m)},tF:function(){this.U5();this.Nda()},uF:function(){this.Kma([]);this.U5()},ES:function(){var a=this.Lw.get("areas",[]);this.S2=c.va("HotspotPanoramaOverlayImage",this.n)||c.va("FlatHotspotPanoramaOverlayImage",this.n)||c.va("QuadHotspotPanoramaOverlayImage",this.n)?a.filter(b):a.filter(e);this.S2.forEach(function(a){f.set(a,0)})},Tm:function(a){if(a.Ye==g.xk){var b=this.R1(a);if(b.length> 0){a.cy(b);this.Dr(b)&&a.dy(b);a.lk(this.get("distance"));var c=this.Xa(b,a.mC());c&&a.PV(c,this.Sx(a.mC()))}this.Kma(b,a.as(),a.mC())}else if(a.Ye==g.Gj){b=this.R1(a);if(b.length>0){var d=B;b.forEach(function(a){a.trigger(g.oa);!d&&a.PG(g.oa,m).length>1&&(d=m)});a.lk(this.get("distance"));d&&a.es(b)}}else if(a.Ye==g.pZ){b=this.R1(a);if(b.length>0){d=B;b.forEach(function(b){var c={};a.as()&&(c=a.kj.tra());b.trigger(g.Hb,c);!d&&b.PG(g.Hb,m).length>1&&(d=m)});this.Cq=b;a.lk(this.get("distance"));d&& a.es(b)}}else if(a.Ye==g.qZ&&this.Cq.length){this.Cq.forEach(function(b){var c={};a.as()&&(c=a.kj.tra());b.trigger(g.ic,c)});this.Cq=[]}},R1:function(a){if(!this.get("beamEnabled")||this.get("alpha")==0||a.pl())return[];var b=this.At(a.qp);return b.length==0?[]:this.S2.filter(function(a){var c=a.get("mapColor");return c=="any"?m:c=="image"?b.some(function(a){return this.f2(a).mv}.bind(this)):c=="transparent"?b.every(function(a){return!this.f2(a).mv}.bind(this)):c&&c[0]=="#"?b.some(function(a){return i.sW(this.f2(a).color, c)<10}.bind(this)):B}.bind(this))},Kma:function(a,b,c){this.Nh.forEach(function(d){if(a.indexOf(d)<0){var e=f.get(d)-1;f.set(d,e);if(e==0){d.trigger(g.jc,{center:c});b&&d.trigger(g.uo)}}});var d=this.Nh;this.Nh=a;this.Nh.forEach(function(a){if(d.indexOf(a)<0){var e=(f.get(a)||0)+1;f.set(a,e);if(e==1){a.trigger(g.kd,{center:c});b&&a.trigger(g.bz)}}})},Xa:function(a,b){for(var c="",d=a.length-1;d>=0&&c=="";d--){var e=a[d];if(!b||e.get("displayTooltipInTouchScreens")&&this.qa.J.get("displayTooltipInTouchScreens")!== B)c=e.get("toolTip","")}return c},Sx:function(a){if(a){var a=this.get("yaw")-this.Gx,b=this.get("pitch")-this.Fx;return Math.sqrt(a*a+b*b)}return 0},Dr:function(a){for(var b=this.Lw.get("useHandCursor"),c=a.length-1;c>=0&&b===l;c--)b=a[c].get("useHandCursor");return!!b}}}); define("mR",["require","u","cy"],function(a){function b(){this.Ch=l;this.GE=this.XA=0;this.ja=m;this.kQ=this.x7=this.N1=l;this.cb=B}var e=a("u"),d=a("cy"),g=Math.PI/180,c=e.browser()==e.Mh?[-0.5,0]:[0,0];b.prototype.xy=function(a){this.Ch!=a&&(this.Ch=a,this.ja=m)};b.prototype.wy=function(a){if(athis.XA+c[1])this.XA=a,this.ja=m};b.prototype.get=function(a,b){b!==l||(b=m);this.ja&&(this.V(),this.ja=B);var c=this.N1.get(a)||0,d=(this.x7.get(a)||0)-c;b&&(180d&&(d+=360)); return c+d*this.kQ};b.prototype.U9=function(){this.ja&&(this.V(),this.ja=B);for(var a=this.N1.get("vertices"),b=this.x7.get("vertices"),c=[],e=0;eo&&(o+=360);var p=a[e].get("pitch")||0,q=(b[e].get("pitch")||0)-p;c.push(new d(g+o*this.kQ,p+q*this.kQ))}return c};b.prototype.qk=function(){return this.get("opacity",B)};b.prototype.eC=function(){var a=this.get("hfov")||this.get("vfov"),b=this.Ch[0].get("hfov")||this.Ch[0].get("vfov"); return Math.tan(0.5*a*g)/Math.tan(0.5*b*g)};b.prototype.V=function(){for(var a=this.GE,b,c=this.Ch.length-1,d,e;;){b=Math.min(a+1,c);d=this.xha(a);e=this.xha(b);if(d<=this.XA&&this.XA<=e)break;if(d>this.XA){if(0==a){b=a;break}a-=1}else{if(a==c){b=a;break}a+=1}}this.N1=this.Ch[a];this.x7=this.Ch[b];a=e-d;this.kQ=00,e=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")!==B&&this.get("rollOverDisplay")}this.get("rollOverItems").forEach(function(a){a.set("visible",b);a.set("beamEnabled",c&&b&&e)});var g=this.get("rollOverItems").length==0;this.get("items").forEach(function(a){a.set("visible",g||!b);a.set("beamEnabled",c&&(g||!b)&&e)});this.get("rollOverMaps").forEach(function(a){a.set("visible",B);a.set("beamEnabled",c&&b&&e)});var j=this.get("rollOverMaps").length==0;this.get("maps").forEach(function(a){a.set("visible",B);a.set("beamEnabled", c&&(j||!b)&&e)});this.set("visible",a)}if(this.F("visible")){var a=this.get("alpha"),s=this.get("visible")?1:0,u=(this.get("visible")?this.get("fadeInDuration"):this.get("fadeOutDuration"))*Math.abs(a-s);this.ol=new i("linear",[new f("alpha",a,s)],Math.max(u,1));this.ua();this.get("visible")?this.n.trigger(d.Vc):this.n.trigger(d.ad)}};a.prototype.ll=function(a){if(this.ol){if(this.ol.Se())this.ol=r;else{this.ol.vb(a.Pe);this.set("alpha",this.ol.eb("alpha"))}this.ua()}};a.prototype.HA=function(){this.rj(); this.trigger(d.T)};a.prototype.oGa=function(){this.rj();this.trigger(d.Ic)};a.prototype.LA=function(){this.rj()};a.prototype.rj=function(){var a=0;this.Fd.Or(function(b){var c=0,d;this.$e.wl(b)?c=100:(d=this.Fd.wl(b))&&(c=d.Gg);a=a+c}.bind(this));this.trigger(new j(d.dc,a/this.Fd.Sc.length))};a.prototype.hGa=function(a){a.data.center?this.T7([a.source],[]):this.fG([a.source],[])};a.prototype.gGa=function(a){a.data.center?this.T7([],[a.source]):this.fG([],[a.source])};a.prototype.fG=function(a,b){this.Doa(this.Nh, a,b);this.set("over",this.Nh.length>0)};a.prototype.T7=function(a,b){this.Doa(this.n_,a,b);this.set("centerOver",this.n_.length>0)};a.prototype.Doa=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("cz",["require","jY","mR"],function(a){var b=a("jY"),e=a("mR");return{kn:function(){this.set("playbackPositions",r);this.set("scaleMode",l);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Wa=new e},Dn:function(){b.ea(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Dd,m)},Fn:function(){b.da(this.n,"horizontalAlign,verticalAlign,scale,scaleMode,distance,playbackPositions".split(","),this.Dd)},Dd:function(){this.set("horizontalAlign",this.n.get("horizontalAlign")); this.set("verticalAlign",this.n.get("verticalAlign"));this.set("scaleMode",this.n.get("scaleMode"));this.set("distance",this.n.get("distance"));this.set("scale",this.n.get("scale"));this.set("playbackPositions",this.n.get("playbackPositions"))},qf:function(){this.F("playbackPositions","currentTime")&&(this.Wa.xy(this.get("playbackPositions")),this.Wa.wy(this.get("currentTime")),this.set("yaw",this.Wa.get("yaw")),this.set("pitch",this.Wa.get("pitch")),this.set("roll",this.Wa.get("roll")),this.set("rotationX", this.Wa.get("rotationX")),this.set("rotationY",this.Wa.get("rotationY")),this.set("hfov",this.Wa.get("hfov")),this.set("vfov",this.Wa.get("vfov")),this.set("alpha",this.Wa.qk()))}}}); define("eJ","require,kM,jY,nW,eg,c,nm,gA,nT,cz,mF".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("eg"),c=a("c"),i=a("nm"),f=a("gA"),j=a("nT"),n=a("cz"),k=a("mF"),o=0,a=b.extend(c,i,f,j,n,function(a){c.call(this);this.set("tag","HotspotImage");this.set("id","hs_image_"+o++);this.set("side",THREE.DoubleSide);this.n=a;this.Rj.push(this.n);this.yf=this.yf.bind(this)});a.prototype.Bb=function(){c.prototype.Bb.call(this);e.ea(this.n,["image.levels"],this.yf,m)};a.prototype.Fb=function(){e.da(this.n, ["image.levels"],this.yf);c.prototype.Fb.call(this)};a.prototype.yf=function(){this.set("image",this.n.get("image"));this.set("level",k.TOa(this.n,this.get("panoramaPixelsPerDegree")))};a.prototype.V=function(a){this.zB();c.prototype.V.call(this,a);this.F("inView")&&this.n.trigger(this.get("inView")?d.Vc:d.ad)};a.prototype.zB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a){g.setAttribute(a,g.Dy,this.get("panoramaId"));g.setAttribute(a, g.bY,this.get("id"))}.bind(this))}};return a}); define("bt",["require","eP","a"],function(a){function b(a,b,d){this.sf=a||new e(0,0,0);this.Mi=b||new e(1,0,0);this.qy=d||new e(0,1,0)}var e=a("eP"),d=a("a");b.prototype.clone=function(){return new b(this.sf.clone(),this.Mi.clone(),this.qy.clone())};b.prototype.apply=function(a){a.CG(this.sf);a.CG(this.Mi);a.CG(this.qy)};b.prototype.intersection=function(a,b){var i=d.jy(a.sf,a.Mi),f=d.jy(this.sf,a.sf),j=d.jy(this.sf,this.Mi);j.$V(d.jy(this.sf,this.qy));i=i.RB(j);if(!(0==i||b&&0>i))return f=-j.RB(f)/ i,new e(a.sf.x+(a.Mi.x-a.sf.x)*f,a.sf.y+(a.Mi.y-a.sf.y)*f,a.sf.z+(a.Mi.z-a.sf.z)*f)};b.prototype.nX=function(a,b){var i=d.jy(this.sf,this.Mi),f=d.jy(this.sf,this.qy),j=d.jy(this.sf,a),n=i.R9(),k=f.R9();return b?new e(j.RB(i)/(n*n),j.RB(f)/(k*k),0):new e(j.RB(i)/n,j.RB(f)/k,0)};return b}); define("dx","require,ko,hI,dc,eP,bt,eZ,lB".split(","),function(a){var b=a("ko"),e=a("hI"),d=a("dc"),g=a("eP"),c=a("bt"),i=a("eZ"),f=a("lB"),j=Math.PI/180,n=180/Math.PI,k=new i,o=new e,p=new c,q=new g;return{get:function(a,b,c,d,e,f,i,n){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.rotateY(c*j);k.rotateZ(e*j);k.rotateX(d*j);b.apply(k);if(b.z>0){o.AO(i);o.Hua(n);o.zC(f*j);o.project(b);return b}return r},STa:function(a,b,c){k.identity();k.rotateX(-c.Hc()* j);k.rotateZ(-c.rf()*j);k.rotateY(-c.Oc()*j);q.set(a,b,0);a=c.unproject(q).Fra();a.apply(k);return{Ka:a.Oc()*n,pitch:a.Hc()*n}},gWa:function(a,c,d,e,g,i,n,o,D,F,L,J,z,K){K||(K=f.Cv);z||(z=b.tl(J,F,L));J||(J=b.ms(z,F,L));var I=F*0.5/Math.tan(J*0.5*j),A=I*Math.tan(J*0.5*j)*2,N=I*Math.tan(z*0.5*j)*2;p.sf.set(+A*0.5,+N*0.5,0);p.Mi.set(-A*0.5,+N*0.5,0);p.qy.set(+A*0.5,-N*0.5,0);k.identity();k.rotateZ(-D*j);k.rotateX(-n*j);k.rotateY(o*j);k.translate(0,0,I);k.rotateZ(-i*j);k.rotateX(-g*j);k.rotateY(-e*j); k.rotateY(d.Oc()*j);k.rotateZ(d.rf()*j);k.rotateX(d.Hc()*j);p.apply(k);q.set(a,c,0);g=p.intersection(d.unproject(q));e={x:l,y:l,xScaled:l,yScaled:l};if(g&&g.z>0){g=p.nX(g);e.xScaled=e.x=g.x/A;e.yScaled=e.y=g.y/N}if(K!=f.Cv){var H,C;switch(K){case f.gh:H=Math.min(b.ms(z,F,L),J);C=Math.min(b.tl(J,F,L),z);break;case f.iq:H=Math.max(b.ms(z,F,L),J);C=Math.max(b.tl(J,F,L),z);break;case f.ro:H=J;C=b.tl(J,F,L);break;case f.Fj:H=b.ms(z,F,L);C=z}if(H!=J||C!=z){A=I*Math.tan(H*0.5*j)*2;N=I*Math.tan(C*0.5*j)* 2;p.sf.set(+A*0.5,+N*0.5,0);p.Mi.set(-A*0.5,+N*0.5,0);p.qy.set(+A*0.5,-N*0.5,0);p.apply(k);q.set(a,c,0);if((g=p.intersection(d.unproject(q)))&&g.z>0){g=p.nX(g);e.xScaled=g.x/A;e.yScaled=g.y/N}}}return e},dVa:function(a,b,c,e,f,i,n){n=f*0.5/Math.tan(n*0.5*j);p.sf.set(+f*0.5,+i*0.5,n);p.Mi.set(-f*0.5,+i*0.5,n);p.qy.set(+f*0.5,-i*0.5,n);k.identity();k.rotateZ(-e*j);k.rotateX(-c*j);k.rotateY(-b*j);k.rotateY(a.Oc()*j);k.rotateZ(a.rf()*j);k.rotateX(a.Hc()*j);p.apply(k);a=new d(new g(0,0,0),new g(0,0,1)); if((a=p.intersection(a))&&a.z>0){a=p.nX(a);return{x:a.x/f,y:a.y/i}}return r}}}); define("dP",["require","hA","gz","eg","ov"],function(a){var b=a("hA"),e=a("gz"),d=a("eg"),g=a("ov"),c=Math.PI/180;return{kt:function(){this.set("distance",l);this.set("width",100);this.set("height",100);this.set("offsetX",l);this.set("offsetY",l);this.set("centerX",0);this.set("centerY",0);this.set("roll",0);this.vh=this.mw();this.Bw=e.JG();this.cm=new THREE.Matrix4;this.KD=new THREE.Matrix4;this.NF=new THREE.Matrix4;this.dja=new THREE.Matrix4;this.Ei=new THREE.Matrix4;this.fl=new THREE.Matrix4;this.Zh= new THREE.Matrix4},Ku:function(a){this.Hp(a)},sE:function(){var a=this.get("meshGroup");return a?d.pk(a)[0]:r},Yl:function(){var a=d.create(this.Bw,this.UD());g.fs(a,g.$m);g.gs(a,g.so);g.uy(a,b.lD);g.xH(a,1);return[a]},Yl:function(){return[0].map(function(a){var c=this.UD(),a=d.create(this.vh[a],c);g.fs(a,g.$m);g.gs(a,g.so);g.uy(a,b.lD);g.xH(a,1);return a}.bind(this))},mw:function(){return[e.JG()]},Hp:function(a){var b=B,g=B;this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll", a.He);this.set("rendererCameraFOV",a.Kh);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.Wb);this.F("distance","composedTranslationX","composedTranslationY","composedTranslationZ")&&this.set("z",0==this.get("composedTranslationX")&&0==this.get("composedTranslationY")&&0==this.get("composedTranslationZ")&&this.get("distance")!==l?e.bC(this.get("distance")):e.Tu());this.F("z")&&(this.cm.makeTranslation(0,0,-this.get("z")),g=m);a.Kh&&this.F("z","rendererCameraFOV")&& this.set("rendererHeightZ",2*Math.tan(0.5*a.Kh*c)*this.get("z"));if(a.camera&&this.F("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","rendererHeightZ","inVR","centerX","centerY")){this.KD.copy(a.camera.matrixWorld);var b=this.get("rendererHeightZ"),n=b*a.camera.aspect,n=0.5*((this.get("centerX")-0.5*a.width)*n/a.width),b=0.5*((0.5*a.height-this.get("centerY"))*b/a.height);this.NF.makeTranslation(n,b,0);b=m}this.F("roll")&&(this.Ei.makeRotationZ(this.get("roll")* c),b=m);if(a.Kh&&(g||this.F("rendererHeight","inVR","rendererHeightZ","width","height","flipHorizontally")))g=a.Wb?512/a.height:1,a=(this.get("flipHorizontally")?-1:1)*this.get("width")*g,g*=this.get("height"),this.fl.makeScale(a,g,1),b=m;this.F("width","height","offsetX","offsetY")&&(a=0.5-this.get("offsetX")/this.get("width"),g=this.get("offsetY")/this.get("height")-0.5,this.dja.makeTranslation(a,g,0),b=m);b&&(this.Zh.copy(this.KD),this.Zh.multiply(this.cm),this.Zh.multiply(this.NF),this.Zh.multiply(this.Ei), this.Zh.multiply(this.fl),this.Zh.multiply(this.dja),d.Pp(this.get("meshGroup"),this.Zh))}}});define("jo",["require","kM","c","dP"],function(a){var b=a("kM"),e=a("c"),a=a("dP");return b.extend(e,a,function(){e.call(this);this.set("tag","Sprite")})}); define("go",["require","mU"],function(a){function b(a,e,c,i,f,j){this.Mn=e;this.I=document.createElement("canvas");this.I.width=this.Mn;this.I.height=this.Mn;switch(a){case b.OH:this.eCa(c,i,f,j);break;case b.cP:this.fCa(c,i,f,j)}}var e=a("mU");b.prototype.$c=S("Mn");b.prototype.Rd=S("Mn");b.prototype.kg=S("I");b.prototype.eCa=function(a,b,c,i){for(var f=0.5*this.Mn,j=0.5*this.Mn,n=0.5*this.Mn,k=this.I.getContext("2d"),b=e.$N(b),o=k.createRadialGradient(f,j,0,f,j,n),p=0;pb;b++)c=45*Math.PI/180+2*Math.PI* b/6,a=f+Math.cos(c)*n,c=j+Math.sin(c)*n,0==b?k.moveTo(a,c):k.lineTo(a,c);k.closePath();k.fill()};b.OH="circle";b.cP="hexagon";return b}); define("mG","require,kM,jY,nW,dx,iB,dd,jo,go,eQ".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("dx"),c=a("iB"),i=a("dd"),f=a("jo"),j=a("go"),n=a("eQ"),a=b.extend(c,function(a){c.call(this);this.n=a;this.Rj.push(this.n);this.yf=this.yf.bind(this);this.set("tag","LensFlare");this.set("translationAlpha",0);this.q_=this.NAa();this.df=this.HBa();this.Zg(this.q_.concat([this.df]))});a.prototype.Bb=function(){c.prototype.Bb.call(this);this.trigger(d.Ic);this.trigger(d.T);e.ea(this.n,["yaw", "pitch","bleaching","bleachingDistance"],this.yf,m)};a.prototype.Fb=function(){e.da(this.n,["yaw","pitch","bleaching","bleachingDistance"],this.yf,m);c.prototype.Fb.call(this)};a.prototype.yf=function(){this.set("yaw",this.n.get("yaw"));this.set("pitch",this.n.get("pitch"));this.set("bleaching",this.n.get("bleaching"));this.set("bleachingDistance",this.n.get("bleachingDistance"))};a.prototype.V=function(a){c.prototype.V.call(this,a);this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll", a.He);this.set("rendererCameraFOV",a.Kh);this.set("rendererWidth",a.width);this.set("rendererHeight",a.height);this.set("inVR",a.Wb);if(this.F("composedTranslationX","composedTranslationY","composedTranslationZ")){var b=this.get("composedTranslationX"),d=this.get("composedTranslationY"),e=this.get("composedTranslationZ");this.set("translationAlpha",Math.max(0,1-Math.sqrt(b*b+d*d+e*e)*10))}if(this.F("rendererYaw","rendererPitch","rendererRoll","rendererCameraFOV","rendererWidth","rendererHeight","inVR", "yaw","pitch","translationAlpha","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){var f=a.Ka+this.get("composedDeltaYaw"),j=a.pitch+this.get("composedDeltaPitch"),i=a.He+this.get("composedDeltaRoll"),b=this.get("translationAlpha"),e=d=0,n,x,y,E;if(!a.Wb)if(f=g.get(this.get("yaw"),this.get("pitch"),f,j,i,a.Kh,a.width,a.height)){x=a.width*0.5;E=a.height*0.5;n=f.x;y=f.y;x=(x-n)*2;E=(E-y)*2;e=Math.sqrt(x*x+E*E);d=Math.sqrt(a.width*a.width,a.height*a.height);a=Math.min(a.width,a.height);d= Math.max(0,Math.min(0.7,1-e/d))*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",n+x*k[a].position);b.set("centerY",y+E*k[a].position)}}this.df.set("alpha",e)}};a.prototype.NAa=function(){return k.map(function(a){var b=(new j(a.form,a.FC,a.opacity,a.color,a.fC,a.gC)).kg(),c=new n;c.Cl(b);b=new f;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.HBa=function(){return new i("#ffffff")};var k=[{form:j.cP,position:0.1,size:52,FC:128,opacity:0.8,color:"#FCFCFC",fC:[1,0.5],gC:[0,0.866]},{form:j.cP,position:0.2,size:52,FC:128,opacity:0.6,color:"#C8FCC8",fC:[1,0.5],gC:[0,0.866]},{form:j.OH,position:0.36,size:112,FC:128,opacity:0.5,color:"#C8C8FC",fC:[1,0.9,0.6,0],gC:[0,0.2,0.4,1]},{form:j.OH,position:0.47,size:32,FC:128,opacity:0.3,color:"#96C8AF",fC:[1,1,0],gC:[0, 0.9,1]},{form:j.OH,position:0.65,size:52,FC:128,opacity:0.7,color:"#FCFCFC",fC:[0.7,0.7,0.2,0],gC:[0,0.1,0.4,1]},{form:j.cP,position:0.88,size:128,FC:128,opacity:0.4,color:"#AF96C8",fC:[1,0.5],gC:[0,0.866]},{form:j.OH,position:1,size:33,FC:128,opacity:0.8,color:"#C89696",fC:[0.8,0.8,0.6,0],gC:[0,0.2,0.4,1]}];return a}); define("cZ",["require","bO","gY"],function(a){function b(a,b){this.jb=a;this.jla=5;this.Nd=b.map(function(b){return new e(a,b)});this.LE=this.ME=this.mh=this.We=0;this.f8();this.I=document.createElement("canvas");this.I.width=this.We;this.I.height=this.mh;this.ha=this.I.getContext("2d");this.ja=m;this.Oe=this.dla=-1}function e(a,b){this.nC=a;this.item=b;this.label=b.get("label");this.fontFamily=this.nC.get("fontFamily","Arial");this.fontSize="12px";this.backgroundColor=this.nC.get("backgroundColor", "#000000");this.hua=this.nC.get("rollOverBackgroundColor",this.backgroundColor);this.xRa=this.nC.get("selectedBackgroundColor",this.hua);this.Xqa=this.nC.get("fontColor","#000000");this.iua=this.nC.get("rollOverFontColor",b.Xqa);this.yRa=this.nC.get("selectedFontColor",b.iua);this.zva=this.yva=this.Ava=this.Bva=this.height=this.width=this.left=this.top=0;this.status=B;this.n$=m}var d=a("bO"),g=a("gY");e.prototype.QTa=function(){var a=new d.yZ;a.fontFamily=this.fontFamily;a.fontSize=this.fontSize; a=d(this.label,a);this.Bva=a.width;this.Ava=a.height};e.prototype.USa=function(a){this.status!=a&&(this.status=a,this.n$=m)};e.prototype.kOa=function(a){if(this.n$){this.n$=B;var b,d;switch(this.status){case "normal":b=this.backgroundColor;d=this.Xqa;break;case "over":b=this.hua;d=this.iua;break;case "selected":b=this.xRa,d=this.yRa}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=d;a.font=this.fontSize+" '"+this.fontFamily+ "'";a.font=this.fontSize+(isNaN(this.fontSize)?"":"px")+" "+g.Qu(this.fontFamily);a.textBaseline="middle";a.textAlign="center";a.fillText(this.label,Math.round(this.yva),Math.round(this.zva));return m}return B};b.prototype.$c=S("We");b.prototype.Rd=S("mh");b.prototype.kg=S("I");b.prototype.f8=function(){var a=0,b=0;this.Nd.forEach(function(d){d.QTa();a=Math.max(d.Bva,a);b=Math.max(d.Ava,b)});this.ME=a+2*this.jla;this.LE=b+2*this.jla;var d=0,e=0,g=0;this.VJ=20;if(20=this.VJ&&(g=0,e+=this.ME,d=0);a.left=e;a.top=d;a.yva=e+0.5*this.ME;a.zva=d+0.5*this.LE;a.width=this.ME;a.height=this.LE;g+=1;d+=this.LE}.bind(this));this.We=Math.ceil(this.Nd.length/this.VJ)*this.ME;this.mh=Math.min(this.VJ,this.Nd.length)*this.LE};b.prototype.update=function(){for(var a=B,b=0;b=this.Nd.length&&(d=-1));return d};b.prototype.Baa=R("dla");b.prototype.Iaa=R("Oe");b.prototype.clear=function(){this.Nd=this.I=this.ha=this.jb=r};return b}); define("bx","require,kM,jY,nW,iW,cZ,eQ,nA,bD,bu".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 e=a("kM"),d=a("jY"),g=a("nW"),c=a("iW"),i=a("cZ"),f=a("eQ"),j=a("nA"),n=a("bD");VR=a("bu");a=e.extend(c,function(a){c.call(this);this.jb=a;this.$o=this.$o.bind(this);this.ju=this.I=r;this.Cu=this.Hm=this.F5=this.nu=l;this.Pea=20;this.Lf=r;this.ab=this.jb.get("opacity",0.5);this.bL=this.jb.get("rollOverOpacity",this.ab);this.RFa=1;this.TFa=0.66;this.set("tag", "MenuButton");this.set("visible",B);this.set("over",B);this.set("centerDistance",l)});a.prototype.Bb=function(){c.prototype.Bb.call(this);d.ea(this.jb,["label"],this.$o,m)};a.prototype.Fb=function(){d.da(this.jb,["label"],this.$o);c.prototype.Fb.call(this)};a.prototype.$o=function(){this.I=r};a.prototype.V=function(a){this.Ju(a);this.Wf(a);this.yB(a);this.qf(a);this.Hd(a);c.prototype.V.call(this,a)};a.prototype.Ju=function(a){if(a.Wb&&!this.ju&&VR.De()==VR.oD.Kl)this.Zg([this.ju=new c])};a.prototype.Wf= function(){if(this.get("visible")){if(!this.I){this.get("textureSource")||this.set("textureSource",new f);this.I=new i(this.jb,[this.jb]);this.get("textureSource").Cl(this.I.kg());this.set("contentWidth",this.I.$c());this.set("contentHeight",this.I.Rd());this.set("hfov",2*Math.atan2(this.I.$c()*0.5,300)*o);this.set("distance",this.jb.get("distance"))}if(this.I.update()){this.get("textureSource").update();this.ua()}this.F("over")&&this.I.Baa(this.get("over")?0:-1)}};a.prototype.yB=function(a){if(this.F("visible"))this.Lf= new j("linear",[new n("displayCoef",this.get("visible")?0:1,this.get("visible")?1:0,l)],300);if(this.Lf)this.Lf.Se()?this.Lf=r:this.Lf.vb(a.Pe)};a.prototype.qf=function(a){if(this.get("visible")||this.Lf){this.Hm=a.Ka;this.Cu=Math.min(90,Math.max(-90,this.Pea+this.Pea-a.pitch));if(this.F("visible")&&this.get("visible")){this.set("yaw",a.Ka);this.set("pitch",a.pitch)}else{for(;this.Hm+180this.nu;)this.nu=this.nu+360;var c=(this.Hm-this.nu)/a.Pe,d=(this.Cu- this.F5)/a.Pe,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.Hm+c));this.set("pitch",b(this.get("pitch"),this.Cu+e))}this.nu=this.Hm;this.F5=this.Cu;e=this.get("yaw")-a.Ka;a=this.get("pitch")-a.pitch;this.set("centerDistance",Math.sqrt(e*e+a*a))}};a.prototype.Hd=function(){if(!this.get("visible")&&!this.Lf)this.set("alpha",0);else if(this.F("over","centerDistance")||this.Lf){var a=this.get("over")?this.bL:this.ab,b=this.TFa, c=this.get("centerDistance")/this.get("hfov");if(c<1){b=b+(1-c)*(this.RFa-b);a=a+(1-c)*(this.bL-a)}if(this.Lf){a=a*this.Lf.eb("displayCoef");b=b*this.Lf.eb("displayCoef")}this.set("alpha",a);this.set("scale",b)}};a.prototype.Tm=function(a){if(a.Ye==g.xk){var b=B;this.get("visible")&&!a.pl()&&(b=this.At(a.qp).length>0);if(b){a.cy(this.jb);a.dy(this.jb);a.lk(this.get("distance"))}if(this.get("over")!=b){this.get("over")&&this.jb.trigger(g.jc);this.set("over",b);this.get("over")&&this.jb.trigger(g.kd)}}else if(a.Ye== g.Gj&&this.get("visible")&&!a.pl()&&this.At(a.qp).length>0){a.es(this.jb);this.jb.trigger(g.oa);this.trigger(g.oa)}};var k=Math.PI/180,o=180/Math.PI;return a}); define("jb","require,kM,jY,nW,iW,cZ,eQ,nA,bD,bu".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("iW"),c=a("cZ"),i=a("eQ"),f=a("nA"),j=a("bD"),n=a("bu"),a=b.extend(g,function(a,b){g.call(this);this.jb=a;this.bx=b;this.$o=this.$o.bind(this);this.I=r;this.F5=this.nu=l;this.Lf=r;this.ab=this.jb.get("opacity",0.5);this.bL=this.jb.get("rollOverOpacity",this.ab);this.set("textureSource",new i);this.set("tag","MenuPanel");this.set("overIndex",-1);this.set("selectedIndex",-1);this.Mfa=B});a.prototype.Bb= function(){g.prototype.Bb.call(this);e.ea(this.jb,["label"],this.$o,m);this.bx.forEach(function(a){e.ea(a,["label"],this.$o,m)}.bind(this))};a.prototype.Fb=function(){e.da(this.jb,["label"],this.$o,m);this.bx.forEach(function(a){e.da(a,["label"],this.$o,m)}.bind(this));g.prototype.Fb.call(this)};a.prototype.$o=function(){this.I=r};a.prototype.V=function(a){this.Ju(a);this.Wf(a);this.yB(a);this.qf(a);g.prototype.V.call(this,a)};a.prototype.WAa=function(){if(!this.I){this.I=new c(this.jb,this.bx);this.get("textureSource").Cl(this.I.kg()); this.set("contentWidth",this.I.$c());this.set("contentHeight",this.I.Rd());this.set("hfov",2*Math.atan2(this.I.$c()*0.5,300)*k);this.set("distance",this.jb.get("distance"))}};a.prototype.Wf=function(){this.I||this.WAa();this.F("selectedIndex")&&this.I.Baa(this.get("selectedIndex"));this.F("overIndex")&&this.I.Baa(this.get("overIndex"));if(this.I.update()){this.get("textureSource").update();this.ua()}};a.prototype.Ju=function(a){if(a.Wb&&!this.ju&&n.De()==n.oD.Kl)this.Zg([this.ju=new g])};a.prototype.yB= function(a){if(!this.Lf&&!this.Mfa)this.Lf=new f("linear",[new j("alpha",0,1,l),new j("scale",0,1,l),new j("yaw",a.Ka,this.get("yaw"),l),new j("pitch",a.pitch,this.get("pitch"),l)],300);if(this.Lf)if(this.Lf.Se()){this.Mfa=m;this.Lf=r}else this.Lf.vb(a.Pe)};a.prototype.qf=function(){if(this.Lf){var a=this.get("overIndex")<0?this.ab:this.bL;this.set("alpha",a*this.Lf.eb("alpha"));this.set("scale",this.Lf.eb("scale"));this.set("yaw",this.Lf.eb("yaw"));this.set("pitch",this.Lf.eb("pitch"))}else if(this.F("overIndex")){a= this.get("overIndex")<0?this.ab:this.bL;this.set("alpha",a)}};a.prototype.Tm=function(a){if(a.Ye==d.xk){var b=-1;if(!a.pl()){var c=this.At(a.qp).filter(function(a){return a.source==this.I.kg()}.bind(this));c.length>0&&(b=this.I.lra(c[0].x,c[0].y))}if(b>=0){a.cy(this.bx[b]);a.dy(this.bx[b]);a.lk(this.get("distance"))}this.get("overIndex")>=0!=b>=0&&(b>0?this.trigger(d.kd):this.trigger(d.jc));if(this.get("overIndex")!=b){this.get("overIndex")>=0&&this.bx[this.get("overIndex")].trigger(d.jc);this.set("overIndex", b);this.get("overIndex")>=0&&this.bx[this.get("overIndex")].trigger(d.kd)}}else if(a.Ye==d.Gj&&!a.pl()){c=this.At(a.qp).filter(function(a){return a.source==this.I.kg()}.bind(this));if(c.length>0){b=this.I.lra(c[0].x,c[0].y);if(b>=0){c=this.bx[b];this.set("selectedIndex",b);a.es(c);a.lk(this.get("distance"));c.trigger(d.oa);this.trigger(d.oa,{item:c})}}}};var k=180/Math.PI;return a}); define("hY",["require","kM","nW","iB","jb"],function(a){var b=a("kM"),e=a("nW"),d=a("iB"),g=a("jb"),a=b.extend(d,function(a){d.call(this);this.jb=a;this.ux=[];this.mF=r;this.set("tag","MenuPanels");this.set("visible",B)});a.prototype.V=function(a){this.F("visible")&&this.get("visible")&&(this.set("yaw",a.Ka),this.set("pitch",a.pitch),this.Vda(this.jb));d.prototype.V.call(this,a)};a.prototype.Vda=function(a){var a=new g(this.jb,a.get("children",[])),b=this.get("yaw");this.Ab().forEach(function(a){b+= a.get("hfov")+i});a.set("yaw",b);a.set("pitch",this.get("pitch"));this.Aya(a);this.appendChild(a)};a.prototype.cma=function(a){this.Ab().slice(a).forEach(function(a){this.tIa(a);a.remove()}.bind(this));this.ux=this.ux.filter(function(a){return 0<=this.Ab().indexOf(a)}.bind(this))};a.prototype.Aya=function(a){a.bind(e.kd,this.mla,this,m);a.bind(e.jc,this.lla,this,m);a.bind(e.oa,this.kla,this,m)};a.prototype.tIa=function(a){a.unbind(e.kd,this.mla,this,m);a.unbind(e.jc,this.lla,this,m);a.unbind(e.oa, this.kla,this,m)};a.prototype.mla=function(a){0>this.ux.indexOf(a.source)&&(this.ux.push(a.source),1==this.ux.length&&this.afa())};a.prototype.lla=function(a){a=this.ux.indexOf(a.source);0<=a&&(this.ux.splice(a,1),0==this.ux.length&&this.IJa())};a.prototype.kla=function(a){var b=a.source,a=a.data.item;a.get("children",[]).length?(this.cma(this.Ab().indexOf(b)+1),this.Vda(a)):this.efa()};a.prototype.efa=function(){this.set("visible",B);this.cma(0);this.afa();this.trigger(e.RC)};a.prototype.afa=function(){this.mF&& (clearTimeout(this.mF),this.mF=r)};a.prototype.IJa=function(){this.mF||(this.mF=setTimeout(function(){this.mF=r;this.efa()}.bind(this),c))};var c=3E3,i=1;return a}); define("fJ","require,kM,nW,iB,bx,hY".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("iB"),g=a("bx"),c=a("hY"),a=b.extend(d,function(a){d.call(this);this.n=a;this.Rj.push(this.n);this.set("tag","Menu");this.set("visible",B);this.Ld=new g(this.n);this.Ld.bind(e.oa,this.Dza,this,B);this.Ah=new c(this.n);this.Ah.bind(e.RC,this.vHa,this,B);this.Zg([this.Ld,this.Ah])});a.prototype.Bb=function(){d.prototype.Bb.call(this);this.trigger(e.Ic);this.trigger(e.T)};a.prototype.V=function(a){this.set("visible", a.Wb);if(this.F("visible")){this.Ld.set("visible",this.get("visible"));this.Ah.set("visible",B)}d.prototype.V.call(this,a)};a.prototype.Dza=function(){this.Ld.set("visible",B);this.Ah.set("visible",m)};a.prototype.vHa=function(){this.Ld.set("visible",this.get("visible"))};return a}); define("kB","require,kM,nW,iW,eQ,ns,kN".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("iW"),g=a("eQ"),c=a("ns"),i=a("kN"),a=b.extend(d,function(){d.call(this);this.set("tag","CustomPlane");this.set("source",r);this.set("sourceUpdated",B);this.Fd=this.yg=r});a.prototype.Bb=function(){this.yg=(new c(e.T)).Hl(this.Zo.bind(this));this.Fd=(new c(e.T)).bo(this.fu.bind(this));d.prototype.Bb.call(this)};a.prototype.Fb=function(){this.yg.dispose();this.Fd.dispose();d.prototype.Fb.call(this)};a.prototype.V= function(a){if(this.F("source","sourceUpdated","useMipmapping","anisotropy")){var b=this.get("textureSource");b||this.set("textureSource",b=new g);this.F("source")&&b.Cl(this.get("source"));this.F("sourceUpdated")&&(b.update(),this.set("sourceUpdated",B));this.F("useMipmapping")&&b.XX(this.get("useMipmapping"),this.get("anisotropy"))}d.prototype.V.call(this,a);if(this.F("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.yg.Ue(a);this.Fd.Ue(a)}}};a.prototype.Zo=function(){this.trigger(e.Ic); this.trigger(e.T)};a.prototype.fu=function(a,b){var c=0;b.Or(function(a){(a=b.wl(a))&&(c=c+a.Gg)});this.trigger(new i(e.dc,c/b.Sc.length))};return a}); define("gH","require,kM,jY,nW,gz,iB,kB,lj,dc,bt".split(","),function(a){function b(a,b,c){this.jX=a;this.jX.bind(g.u("distanceToFloor"),this.V,this,B);this.tj=b;this.tj.bind(g.u("yaw"),this.V,this,B);this.tj.bind(g.u("distance"),this.V,this,B);this.tj.bind(g.u("enabled"),this.V,this,B);this.tj.bind(g.u("enabledInSurfaceSelection"),this.V,this,B);this.Ma=r;this.Bl=new f;this.Bl.set("hfov",20);this.Bl.set("vfov",20);this.Bl.set("pitch",-90);this.Bl.set("useMipmapping",m);this.Bl.set("anisotropy",16); this.Bl.set("source",c.kg());this.Bl.set("contentWidth",c.$c());this.Bl.set("contentHeight",c.Rd());this.V()}var e=a("kM"),d=a("jY"),g=a("nW"),c=a("gz"),i=a("iB"),f=a("kB"),j=a("lj"),n=a("dc"),k=a("bt"),a=e.extend(i,function(a){i.call(this);this.BS=this.BS.bind(this);this.Yq=this.Yq.bind(this);this.xS=this.xS.bind(this);this.set("tag","SurfaceSelector");this.set("reticleVisible",B);this.set("enabled",B);this.$=a;this.AP=[];this.eJ=new k;this.Ag=new n;this.Kc=new f;this.Kc.set("useMipmapping",m);this.Kc.set("anisotropy", 16);this.Kc.set("hfov",20);this.Kc.set("vfov",20);this.Kc.set("pitch",-90);this.set("reticleCoef",1);this.Zg([this.Kc])});a.prototype.Bb=function(){this.tBa();i.prototype.Bb.call(this);d.ea(this.$,["distanceToFloor"],this.BS,m);d.ea(this.$,["adjacentPanoramas"],this.Yq,m);d.ea(this.qa.oc,["adjacentPanoramaPositionsEnabled"],this.xS,m);this.trigger(g.Ic);this.trigger(g.T)};a.prototype.Fb=function(){i.prototype.Fb.call(this);d.da(this.$,["distanceToFloor"],this.BS);d.da(this.$,["adjacentPanoramas"], this.Yq);d.da(this.qa.oc,["adjacentPanoramaPositionsEnabled"],this.xS);this.Jma([])};a.prototype.BS=function(){var a=this.$.get("distanceToFloor");this.Kc.set("distance",a);var a=c.bC(a),b=c.W9(a,90),d=c.X9(a,90);this.eJ.sf.set(-b*0.5,-a,-d*0.5);this.eJ.Mi.set(b*0.5,-a,-d*0.5);this.eJ.qy.set(-b*0.5,-a,d*0.5);this.lma=a/c.Tu()};a.prototype.Yq=function(){this.Jma(this.$.get("adjacentPanoramas",[]))};a.prototype.xS=function(){this.Yq()};a.prototype.Jma=function(a){this.AP.forEach(function(a){a.clear()}); this.AP=a.map(function(a){return new b(this.$,a,this.w5)}.bind(this));a=[];this.qa.oc.get("adjacentPanoramaPositionsEnabled")&&(a=a.concat(this.AP.map(function(a){return a.Bl})));a=a.concat([this.Kc]);this.Zg(a)};a.prototype.V=function(a){i.prototype.V.call(this,a);this.set("enabled",a.EO);this.B8(a);this.$x(a)};a.prototype.B8=function(){if(this.F("enabled","reticleVisible","composedTranslationX","composedTranslationY","composedTranslationZ","composedDeltaYaw","composedDeltaPitch","composedDeltaRoll")){this.Kc.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.Hoa()}};a.prototype.tBa=function(){this.IF=new j(this.qa.J);this.IF.fb(this.get("reticleCoef"));this.Kc.set("source",this.IF.kg());this.Kc.set("contentWidth",this.IF.$c());this.Kc.set("contentHeight",this.IF.Rd());this.w5= new j(this.qa.J);this.w5.fb(0);this.w5.update(1)};a.prototype.$x=function(a){this.F("reticleCoef")&&this.IF.fb(this.get("reticleCoef"));this.Kc.set("sourceUpdated",this.IF.update(a.Pe))};a.prototype.Tm=function(a){if(!this.get("enabled")||a.qp.length==0||a.pl()||a.MQa())this.set("reticleVisible",B);else{var b=a.qp[0];this.Ag.sf.set(b.origin.x,b.origin.y,b.origin.z);this.Ag.Mi.set(b.origin.x+b.direction.x,b.origin.y+b.direction.y,b.origin.z+b.direction.z);if(b=this.eJ.intersection(this.Ag,m)){var c= this.eJ.nX(b,m),d=2*(0.5-c.x),c=2*(0.5-c.y),e=o*Math.atan2(-d,c),f=-90+o*Math.atan2(Math.sqrt(d*d+c*c),1);if(f<-75||f>-1)this.set("reticleVisible",B);else{var j={x:d*this.lma,y:-c*this.lma};if(!a.as()&&!a.usa())this.set("reticleVisible",B);else if(a.Ye==g.xk){this.set("reticleVisible",m);this.Kc.set("alpha",Math.min(1,(f- -75)/5));this.Kc.set("translationX",j.x);this.Kc.set("translationZ",j.y)}var i=this.qa.oc.get("surfaceSelectionHorizontalAngle")*0.5,k=this.qa.oc.get("surfaceSelectionVerticalAngle")* 0.5,c=this.AP.map(function(a){var b=a.SOa(e),c=a.sPa(f),d=a.sW(j);return{tj:a.tj,MN:b,Xva:c,distance:d}}).filter(function(a){return a.MN180?360-a:a};b.prototype.sPa=function(a){return!this.Ma?Infinity:Math.abs(this.Ma.pitch-a)};b.prototype.sW=function(a){if(!this.cG)return Infinity;var b=a.x-this.cG.x,a=a.y-this.cG.y;return Math.sqrt(b*b+a*a)};b.prototype.V=function(){var a=this.tj.get("yaw"),b=this.tj.get("distance"),d=this.tj.get("enabled")&&this.tj.get("enabledInSurfaceSelection");if(a===l||b===l||!d){this.cG=this.Ma=r;this.Bl.set("alpha",0)}else{var d=this.jX.get("distanceToFloor"),e=-90+Math.atan2(b, d)*o;this.Bl.set("alpha",e<-1?1:0);this.Ma={Ka:a,pitch:e};e=-Math.cos(a*p)*b/d;a=-Math.sin(a*p)*b/d;b=c.bC(d)/c.Tu();this.cG={x:a*b,y:e*b};this.Bl.set("translationX",this.cG.x);this.Bl.set("translationZ",this.cG.y);this.Bl.set("distance",d)}};var o=180/Math.PI,p=Math.PI/180;return a}); define("X","require,kM,jY,nW,kN,iB,iW,gH,ns,mF,iT,bu".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("kN"),c=a("iB"),i=a("iW"),f=a("gH"),j=a("ns"),n=a("mF"),k=a("iT"),o=a("bu"),p=0,a=b.extend(c,function(a){c.call(this);this.n=a;this.Rj.push(this.n);this.KA=this.KA.bind(this);this.xf=this.xf.bind(this);this.Yq=this.Yq.bind(this);this.zo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Panorama");this.set("loadingActive",B);this.set("blendingActive",m);this.set("currentTime", 0);this.set("adjacentPanoramas",[]);this.set("preloadEnabled",m);this.set("backgroundPreloadEnabled",m);this.set("surfaceSelectionEnabled",B);this.set("id","panorama_"+p++);this.set("ready",B);this.LT=[];this.Gn=this.Fd=this.$e=r;this.uh=new q;this.Ila=new t;this.XKa=new f(this.n);this.Cn=new t;this.Zg([this.uh,this.Ila,this.XKa,this.Cn])});a.prototype.Bb=function(){this.$e=(new j(d.T)).Hl(this.Zo.bind(this));this.Fd=(new j(d.dc)).bo(this.MA.bind(this));this.Gn=(new j(d.Ic)).Hl(this.rGa.bind(this)); c.prototype.Bb.call(this);this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")+1);e.ea(this.n,["currentTime"],this.KA,m);e.ea(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.xf,m);e.ea(this.n,["adjacentPanoramas"],this.Yq,m)};a.prototype.Fb=function(){this.$e.dispose();this.Fd.dispose();this.Gn.dispose();this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")-1);c.prototype.Fb.call(this);e.da(this.n, ["currentTime"],this.KA);e.da(this.n,["frames","overlays","vrMenu","flipImageHorizontally"],this.xf);e.da(this.n,["adjacentPanoramas"],this.Yq);this.i7()};a.prototype.xf=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",B)}var c=this.qa.Wu(this.n.get("frames"));c.forEach(function(a){a.set("panoramaId",this.get("id"));a.set("flipHorizontally",this.n.get("flipImageHorizontally"))}.bind(this));var d=this.n.get("overlays"),e=this.qa.Wu(d),f=e.slice(), g=e.filter(b).filter(function(b){return a(b,"enabled",m)});this.n.get("vrMenu")&&e.push(this.qa.Wu(this.n.get("vrMenu")));e.forEach(function(a){a.set("panoramaId",this.get("id"))}.bind(this));this.$e.Ue(c.concat(e));this.Fd.Ue(c.concat(e));this.Gn.Ue(c.concat(g));this.Ila.Zg(e.filter(b));this.uh.Zg(c);this.Cn.Zg(e.filter(function(a){return!b(a)}));this.set("panoramaPixelsPerDegree",n.sra(this.n));this.Ooa()};a.prototype.KA=function(){this.set("currentTime",this.n.get("currentTime",0))};a.prototype.Yq= function(){this.set("adjacentPanoramas",this.n.get("adjacentPanoramas",[]))};a.prototype.Zo=function(){this.rj();this.trigger(d.T)};a.prototype.rGa=function(){this.rj();this.set("ready",m);this.trigger(d.Ic)};a.prototype.MA=function(){this.rj()};a.prototype.rj=function(){var a=0;this.Fd.Or(function(b){var c=0,d;this.$e.wl(b)?c=100:(d=this.Fd.wl(b))&&(c=d.Gg);a=a+c}.bind(this));this.trigger(new g(d.dc,a/this.Fd.Sc.length))};a.prototype.V=function(a){if(a.Wb&&!this.ju&&o.De()==o.oD.Kl)this.Zg([this.ju= new i].concat(this.Ab()));var b=this.get("blendingActive");this.set("blendingActive",this.get("alpha")<1);b!=this.get("blendingActive")&&this.qa.set("globalBlendingActive",this.qa.get("globalBlendingActive")+(this.get("blendingActive")?1:-1));this.set("backgroundPreloadEnabled",this.qa.Vb.get("backgroundPreloadEnabled")!==B);this.set("preloadEnabled",a.fO);this.F("adjacentPanoramas","loadingActive","preloadEnabled","backgroundPreloadEnabled")&&(this.get("loadingActive")&&this.get("backgroundPreloadEnabled")? this.DKa():this.i7());this.F("index")&&this.Ooa();c.prototype.V.call(this,a)};a.prototype.j$=function(){return n.j$(this.n,this.get("preloadEnabled"))};a.prototype.Q$=function(){return n.Q$(this.n,this.get("preloadEnabled"))};a.prototype.DKa=function(){this.i7();this.LT=this.get("adjacentPanoramas").map(function(a){a=a.get("panorama");return[a,n.Nm(a,this.get("preloadEnabled"))]}.bind(this));this.LT.forEach(function(a){k.Qpa(a[0],a[1]);k.eX(a[0],1)})};a.prototype.i7=function(){this.LT.forEach(function(a){k.eX(a[0], -1);k.pRa(a[0],a[1])});this.LT=[]};a.prototype.Ooa=function(){var a=this.get("index");this.uh.Ab().forEach(function(b,c,d){b.set("panoramaIndex",a);b.set("frameIndex",c);b.set("frameCount",d.length)})};var q=b.extend(c,function(){c.call(this);this.zo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});q.prototype.V=function(a){this.Ab().forEach(function(a,b,c){a.set("frontFrame",c[c.length-1])});c.prototype.V.call(this, a)};var t=b.extend(c,function(){c.call(this);this.zo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("currentTime",0);this.set("tag","Group")});return a}); define("iO",["require","kM","fk","eg"],function(a){var b=a("kM"),e=a("fk"),d=a("eg"),g=0,a=b.extend(e,function(){e.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.V=function(a){e.prototype.V.call(this,a);this.zB()};a.prototype.DB=function(){if(this.F("panoramaIndex","frameIndex","frameCount","meshGroup")){var a=this.get("meshGroup");if(a){var b=this.get("panoramaIndex"),e=this.get("frameIndex"), g=this.get("frameCount"),n=a.children.length;a.children.forEach(function(a,c){d.JX(a,b+(c+e/g)/n)}.bind(this))}}};a.prototype.zB=function(){if(this.F("meshGroup","panoramaId","id")){var a=this.get("meshGroup");a&&a.children.forEach(function(a,b){d.setAttribute(a,d.Dy,this.get("panoramaId"));d.setAttribute(a,d.aY,b);d.setAttribute(a,d.LC,this.get("id"))}.bind(this))}};return a}); define("nh","require,kM,jY,nW,hA,iB,iO,ns,mF,fi,ov,kN".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("nW"),g=a("hA"),c=a("iB"),i=a("iO"),f=a("ns"),j=a("mF"),n=a("fi"),k=a("ov"),o=a("kN"),a=b.extend(i,function(a){i.call(this);this.set("tag","ImagePanoramaFrame");this.yla=m;this.n=a;this.Rj.push(this.n);this.$j=this.yg=this.Gn=r;this.N3=[];this.xf=this.xf.bind(this);this.zo(["loadingActive","currentTime","panoramaId","panoramaPixelsPerDegree"]);this.Zg([this.Cn=new p])});a.prototype.Bb=function(){this.Gn= new f(d.T);this.yg=new f(d.T);this.$j=new f(d.dc);i.prototype.Bb.call(this);e.ea(this.n,["overlays"],this.xf,m)};a.prototype.Fb=function(){this.Gn.dispose();this.yg.dispose();this.$j.dispose();e.da(this.n,["overlays"],this.xf);i.prototype.Fb.call(this)};a.prototype.xf=function(){this.Cn.Zg(this.qa.Wu(this.n.get("overlays")));this.Boa()};a.prototype.Boa=function(){this.yg.Ue([].concat(this.N3,this.Cn.Ab()));this.$j.Ue([].concat(this.N3,this.Cn.Ab()))};a.prototype.Yl=function(){var a=[],b=[],c=[];j.Q9(this.n, this.yla).forEach(function(d,e){var f=n.$Na(this.n,d);if(j.nQa(d)){if(e==0){a=a.concat(f);b=b.concat(f)}k.gs(f,e==0?k.so:k.dP);k.fs(f,e==0?k.$m:k.cZ)}else{e==0&&(a=a.concat(f));b=b.concat(f);k.gs(f,k.so);k.fs(f,k.$m)}k.uy(f,e==0?g.oZ:g.an);k.xH(f,e);c=c.concat(f)}.bind(this));this.Gn.Ue(a);this.N3=b;this.Boa();this.yg.Hl(this.Zo.bind(this));this.Gn.Hl(this.TGa.bind(this));this.$j.bo(this.MA.bind(this));this.trigger(new o(d.dc,0));return c};a.prototype.TGa=function(){this.trigger(d.Ic)};a.prototype.Zo= function(){this.trigger(d.T)};a.prototype.V=function(a){this.yla=a.fO;this.xMa();i.prototype.V.call(this,a)};a.prototype.xMa=function(){var a=this.get("frontFrame");if(this.F("frontFrame")||a&&a.F("alpha"))this.Cn.set("alpha",!a||a==this?1:1-a.get("alpha"))};a.prototype.MA=function(){var a=0;this.$j.Or(function(b){var c=0,d;this.yg.wl(b)?c=100:(d=this.$j.wl(b))&&(c=d.Gg);a=a+c}.bind(this));this.trigger(new o(d.dc,a/this.$j.Sc.length))};var p=b.extend(c,function(){c.call(this);this.zo(["loadingActive", "panoramaId","panoramaPixelsPerDegree"]);this.set("loadingActive",B);this.set("tag","Group")});return a}); define("lN","require,dZ,nW,cu,kn,nu".split(","),function(a){function b(a,b){this.yc=a;this.R=b;this.bl=B;this.ti=[];this.Zl=this.XD=l;this.ae=[];this.D_();this.r0();this.PU();this.af()}function e(a,b,c){this.time=a;this.cue=b;this.action=c}var d=a("dZ"),g=a("nW"),c=a("cu"),i=a("kn"),f=a("nu");b.prototype.clear=function(){this.zI();this.ti=[];this.R7();this.R=this.yc=r};b.prototype.D_=function(){this.R.bind(f.mf,this.ze,this,m);this.R.bind(g.Yd,this.af,this,m);this.R.bind(g.lb,this.rx,this,m)};b.prototype.R7= function(){this.R.unbind(f.mf,this.ze,this,m);this.R.unbind(g.Yd,this.af,this,m);this.R.unbind(g.lb,this.rx,this,m)};b.prototype.af=function(){var a=this.R.mg()!=i.M;if(this.bl!=a)(this.bl=a)?this.PU():this.zI()};b.prototype.rx=function(){this.GB()};b.prototype.ze=function(){this.GB()};b.prototype.PU=function(){this.Zl=this.XD=0};b.prototype.GB=function(){if(this.R&&this.bl){var a=this.ae.slice(),b=this.R.sl(),e=b-this.XD;if(e<0){this.ae=[];this.Zl=0}e=e>=0&&e<2;this.XD=b;var f;for(f=this.Zl;f b)break;for(;this.Zl0){this.ae=[];this.CM()}};b.prototype.CM=function(){this.yc.trigger(new c(g.uk,{activeCues:this.ae.slice()}))};b.prototype.r0=function(){this.ti=[];var a= this.yc.get("cues",[]);d(a).each(function(a){this.ti.push(new e(a.get("startTime",0),a,"start"));this.ti.push(new e(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.ti.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("li",["require","nW","kn","cu","nu"],function(a){function b(a,b,c){this.Vb=a;this.yc=b;this.R=c;this.R.xC(this.wf=this.yc.get("currentTime",0));this.R.kf(this.Le=this.Vb.get("mute",B));this.R.wd(this.o=this.yc.get("state",d.M));this.R.setLoop(this.Lk=this.yc.get("loop"));this.$a=this.R.Ki();this.Bya();this.Hya();this.Ts()}var e=a("nW"),d=a("kn"),g=a("cu"),c=a("nu");b.prototype.clear=function(){this.uIa();this.zIa();this.qu();this.R.wd(d.M);this.yc.set("state",d.M);this.yc.set("currentTime", 0);this.yc.set("duration",l)};b.prototype.Zka=function(){var a=this.yc.get("state",d.M);this.o!=a&&this.R.wd(this.o=a)};b.prototype.Xka=function(){var a=this.yc.get("currentTime",0);this.wf!=a&&this.R.xC(this.wf=a)};b.prototype.RK=function(){var a=this.Vb.get("mute",0);this.Le!=a&&this.R.kf(this.Le=a)};b.prototype.Yka=function(){var a=this.yc.get("loop");this.Lk!=a&&this.R.setLoop(this.Lk=a)};b.prototype.ZK=function(){this.yc.set("currentTime",this.wf=this.R.sl())};b.prototype.XK=function(){this.yc.set("duration", this.$a=this.R.Ki())};b.prototype.YK=function(){this.yc.set("state",this.o=this.R.mg())};b.prototype.$K=function(){this.yc.trigger(new g(e.lb))};b.prototype.Bya=function(){this.Vb.bind(e.u("mute"),this.RK,this,m)};b.prototype.uIa=function(){this.Vb.unbind(e.u("mute"),this.RK,this,m)};b.prototype.Hya=function(){this.yc.bind(e.u("state"),this.Zka,this,m);this.yc.bind(e.u("currentTime"),this.Xka,this,m);this.yc.bind(e.u("loop"),this.Yka,this,m)};b.prototype.zIa=function(){this.yc.unbind(e.u("state"), this.Zka,this,m);this.yc.unbind(e.u("currentTime"),this.Xka,this,m);this.yc.unbind(e.u("loop"),this.Yka,this,m)};b.prototype.Ts=function(){this.R.bind(c.mf,this.ZK,this,m);this.R.bind(c.oi,this.XK,this,m);this.R.bind(e.Yd,this.YK,this,m);this.R.bind(e.lb,this.$K,this,m)};b.prototype.qu=function(){this.R.unbind(c.mf,this.ZK,this,m);this.R.unbind(c.oi,this.XK,this,m);this.R.unbind(e.Yd,this.YK,this,m);this.R.unbind(e.lb,this.$K,this,m)};return b}); define("dE","require,kM,nW,hA,kn,iO,ns,fi,lN,li,eg,ov,jK,nu,kN".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("hA"),g=a("kn"),c=a("iO"),i=a("ns"),f=a("fi"),j=a("lN"),n=a("li"),k=a("eg"),o=a("ov"),p=a("jK"),q=a("nu"),t=a("kN"),a=b.extend(c,function(a){c.call(this);this.n=a;this.Rj.push(this.n);this.zo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","VideoPanoramaFrame");this.set("frameEmpty",l);this.set("atStart",l);this.ypa=this.n.get("stereoSphere")||this.n.get("sphere"); this.hb=q.wj(this.ypa);this.rG=[];this.ZA=[];this.$j=this.yg=this.Gh=this.R=r});a.prototype.Bb=function(){this.yg=(new i(e.T)).Hl(this.Zo.bind(this));this.$j=(new i(e.dc)).bo(this.MA.bind(this));this.R=new q(this.qa.Vb,this.ypa);this.Lo=new j(this.n.VG(),this.R);this.za=new n(this.qa.Vb,this.n.VG(),this.R);this.Bu=new p(this.n.VG(),this.R);this.Ts();c.prototype.Bb.call(this)};a.prototype.Fb=function(){this.yg.dispose();this.$j.dispose();this.qu();this.Lo.clear();this.Lo=r;this.za.clear();this.za= r;this.Bu.clear();this.Bu=r;this.R.clear();this.Gh=this.R=r;c.prototype.Fb.call(this)};a.prototype.Yl=function(){this.rG=f.eOa(this.n,this.hb);this.eNa=o.GC(k.ly(this.rG[0])[0]);this.rG.forEach(function(a){o.gs(a,o.so);o.fs(a,o.$m)});if(this.hb.get("posterURL")){this.ZA=f.fOa(this.n,this.hb);this.ZA.forEach(function(a){o.gs(a,o.so);o.fs(a,o.$m);o.uy(a,d.oZ)})}else this.ZA=[];var a=[].concat(this.rG,this.ZA);this.yg.Ue(a);this.$j.Ue(a);this.trigger(new t(e.dc,0));return a};a.prototype.V=function(a){var b= this.R.rW();this.set("frameEmpty",b.isEmpty());this.set("atStart",!(this.get("currentTime")>1));c.prototype.V.call(this,a);if(!this.Gh||!this.Gh.isEqual(b)){this.Gh=b;this.eNa.Cl(this.Gh.Uz);this.ua()}else this.R.mg()==g.Q&&this.ua()};a.prototype.ll=function(){if(this.F("composedAlpha","meshGroup","frameEmpty","atStart"))if(this.ZA.length&&this.get("frameEmpty")&&this.get("atStart")){this.ZA.forEach(function(a){k.Te(a,this.get("composedAlpha"))}.bind(this));this.rG.forEach(function(a){k.Te(a,0)}.bind(this))}else{this.ZA.forEach(function(a){k.Te(a, 0)}.bind(this));this.rG.forEach(function(a){k.Te(a,this.get("composedAlpha"))}.bind(this))}};a.prototype.Zo=function(){this.trigger(e.Ic);this.trigger(e.T)};a.prototype.MA=function(a,b){var c=0;b.Or(function(a){(a=b.wl(a))&&(c=c+a.Gg)});this.trigger(new t(e.dc,c/b.Sc.length))};a.prototype.af=function(){this.ua()};a.prototype.ze=function(){this.ua()};a.prototype.Ts=function(){this.R.bind(q.mf,this.ze,this,m);this.R.bind(e.Yd,this.af,this,m)};a.prototype.qu=function(){this.R.unbind(q.mf,this.ze,this, m);this.R.unbind(e.Yd,this.af,this,m)};return a}); define("gf","require,kM,nW,iW,mi,ns,kN".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("iW"),g=a("mi"),c=a("ns"),i=a("kN"),a=b.extend(d,function(){d.call(this);this.set("tag","ImagePlane");this.set("url",r);this.Fd=this.$e=r});a.prototype.Bb=function(){this.$e=(new c(e.T)).Hl(this.Zo.bind(this));this.Fd=(new c(e.dc)).bo(this.fu.bind(this));d.prototype.Bb.call(this)};a.prototype.Fb=function(){this.$e.dispose();this.Fd.dispose();d.prototype.Fb.call(this)};a.prototype.V=function(a){if(this.F("url")){var b= this.get("url");this.set("textureSource",b?new g(b):r)}d.prototype.V.call(this,a);if(this.F("meshGroup")){a=(a=this.get("meshGroup"))&&a.children||[];if(a.length){this.$e.Ue(a);this.Fd.Ue(a)}}};a.prototype.Zo=function(){this.trigger(e.Ic);this.trigger(e.T)};a.prototype.fu=function(a,b){var c=0;b.Or(function(a){(a=b.wl(a))&&(c=c+a.Gg)});this.trigger(new i(e.dc,c/b.Sc.length))};return a}); define("bB","require,kM,jY,nW,kn,gZ,iB,dd,kB,gf,li,mR,ns,mF,eq,ko,S,kN,nA,bD,nu".split(","),function(a){function b(a){setTimeout(a,0)}function e(a,b){for(var c=a-b;c>180;)c=c-360;for(;c<-180;)c=c+360;return c+b}var d=a("kM"),g=a("jY"),c=a("nW"),i=a("kn");a("gZ");var f=a("iB"),j=a("dd"),n=a("kB"),k=a("gf"),o=a("li"),p=a("mR"),q=a("ns"),t=a("mF"),s=a("eq"),u=a("ko"),w=a("S"),v=a("kN"),x=a("nA"),y=a("bD"),E=a("nu"),D=Math.PI/180,a=d.extend(f,function(a){f.call(this);this.n=a;this.Rj.push(this.n);this.xf= this.xf.bind(this);this.$S=this.$S.bind(this);this.zo(["loadingActive","currentTime","panoramaPixelsPerDegree"]);this.set("tag","Popup");this.set("inVR",B);this.set("enabledInStandard",m);this.set("interactionEnabled",m);this.set("loadingActive",B);this.set("frameEmpty",m);this.set("state",i.M);this.set("itemVisible","none");this.set("visible",B);this.set("visiblePosition",0);this.set("alpha",0);this.set("over",B);this.set("gazeOver",B);this.set("video",r);this.set("image",r);this.Td=this.bb=this.Ea= this.Fd=this.$e=r;this.Wa=new p;this.Xs=this.Rw=this.ol=this.Gh=this.R=r});a.prototype.Bb=function(){this.$e=(new q(c.T)).Hl(this.HA.bind(this));this.Fd=(new q(c.dc)).bo(this.LA.bind(this));f.prototype.Bb.call(this);this.OAa();this.appendChild(this.Td);g.ea(this.n,F,this.xf,m);g.MV(this.n,L,this.$S,m)};var F=["playbackPositions","popupDistance","popupMaxHeight","popupMaxWidth","image.levels.url","video","state"],L=["visible"];a.prototype.Fb=function(){this.$e.dispose();this.Fd.dispose();g.da(this.n, F,this.xf);g.da(this.n,L,this.$S);this.Rz();this.vw();this.rt();f.prototype.Fb.call(this)};a.prototype.xf=function(){var a=t.hPa(this.n,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.n.get("video"));this.set("state",this.n.get("state"));this.set("popupDistance",this.n.get("popupDistance"));this.set("popupMaxWidth",this.n.get("popupMaxWidth"));this.set("popupMaxHeight", this.n.get("popupMaxHeight"));this.set("playbackPositions",this.n.get("playbackPositions"))};a.prototype.$S=function(){this.set("visible",this.n.get("visible"))};a.prototype.V=function(a){this.Gx=a.Ka;this.Fx=a.pitch;this.Ju(a);this.AMa();this.PM(a);this.Hd(a);this.rMa(a);this.$La(a);f.prototype.V.call(this,a)};a.prototype.AMa=function(){if(this.F("playbackPositions","currentTime")){this.Wa.xy(this.get("playbackPositions"));this.Wa.wy(this.get("currentTime"));this.set("sourceYaw",this.Wa.get("yaw")); this.set("sourcePitch",this.Wa.get("pitch"));this.set("sourceRotationX",this.Wa.get("rotationX"));this.set("sourceRotationY",this.Wa.get("rotationY"));this.set("sourceRotationZ",this.Wa.get("rotationZ"));this.set("sourceHFOV",this.Wa.get("hfov"))}};a.prototype.Ju=function(){if(this.F("video","imageURL")){var a=[this.Td];if(this.F("imageURL")){this.II();this.Ea&&a.push(this.Ea);this.ML("itemVisible")}if(this.F("video")){this.KI();this.bb&&a.push(this.bb);this.ML("itemVisible")}this.$e.Ue(a);this.Fd.Ue(a); this.Zg(a)}};a.prototype.PM=function(){if(this.R){var a=this.R.rW();this.set("frameEmpty",!!a&&a.isEmpty());if(!this.Gh||a&&!this.Gh.isEqual(a)){this.Gh=a;this.bb.set("source",this.Gh.Uz);this.bb.set("sourceUpdated",m);this.ua()}else this.R.mg()==i.Q&&this.ua()}else this.set("frameEmpty",B)};a.prototype.Hd=function(a){this.set("inVR",a.Wb);this.set("hotspotsEnabled",a.iC);this.set("rendererYaw",a.Ka);this.set("rendererPitch",a.pitch);this.set("rendererRoll",a.He);this.set("rendererWidth",a.VV);this.set("rendererHeight", a.iN);this.set("rendererHFOV",a.ue);if(this.F("visible")){var d=this.get("visiblePosition"),f=this.get("visible")?1:0,g=Math.max(1,this.n.get(this.get("visible")?"showDuration":"hideDuration")*Math.abs(f-d)),j=this.n.get(this.get("visible")?"showEasing":"hideEasing");if(d!=f)this.ol=new x(j,[new y("position",d,f)],g);this.get("visible")||this.R&&this.R.wd(i.M)}if(this.ol){if(this.ol.Se()){this.ol=r;if(this.get("visible")){this.n.trigger(c.WH);this.n.get("autoplay")&&this.R&&this.R.wd(i.Q)}else b(function(){this.n&& this.n.trigger(c.RH)}.bind(this))}else this.ol.vb(a.Pe);if(this.ol){this.set("visiblePosition",this.ol.eb("position"));this.ua()}}d=B;if(d=a.Wb?this.F("visible","itemVisible"):this.F("rendererYaw","rendererPitch","rendererRoll","rendererWidth","rendererHeight","rendererHFOV","itemVisible","popupMaxWidth","popupMaxHeight","sourceHFOV")){this.set("targetImageScale",this.wha(this.Ea,a));this.set("targetVideoScale",this.wha(this.bb,a));this.set("targetYaw",e(this.get("rendererYaw"),this.get("sourceYaw"))); this.set("targetPitch",this.get("rendererPitch"));this.set("targetRotationZ",e(a.Wb?0:this.get("rendererRoll"),this.get("sourceRotationZ")))}if(d||this.F("visiblePosition","targetScale","targetYaw","targetPitch","targetRoll","popupDistance","hfov")){var f=this.get("visiblePosition"),k=this.get("targetYaw")*f+this.get("sourceYaw")*(1-f),n=this.get("targetPitch")*f+this.get("sourcePitch")*(1-f),o=this.get("sourceRotationX")*(1-f),q=this.get("sourceRotationY")*(1-f),p=this.get("targetRotationZ")*f+this.get("sourceRotationZ")* (1-f),a=Math.min(1,2*f),u=this.get("popupDistance"),s=this.get("sourceHFOV"),d=this.get("targetImageScale")*f+(1-f),f=this.get("targetVideoScale")*f+(1-f);this.set("alpha",a);this.Ea&&this.Ea.set("scale",d);this.bb&&this.bb.set("scale",f);[].concat(this.bb?[this.bb]:[],this.Ea?[this.Ea]:[]).forEach(function(a){a.set("yaw",k);a.set("pitch",n);a.set("rotationX",o);a.set("rotationY",q);a.set("rotationZ",p);a.set("distance",u);a.set("hfov",s)})}};a.prototype.rMa=function(a){if(this.F("frameEmpty","state", "imageURL","video")){var b="none";this.bb&&(!this.Ea||!this.get("frameEmpty")&&this.get("state")!=i.M)?b="video":this.Ea&&(b="image");this.set("itemVisible",b)}if(this.F("itemVisible")){this.get("itemVisible")!="video"&&this.R&&this.R.wd(i.M);var b=this.Ea?this.Ea.get("alpha"):0,c=this.bb?this.bb.get("alpha"):0,d=this.get("itemVisible")=="image"?1:0,e=this.get("itemVisible")=="video"?1:0,f=this.get("itemVisible")=="video"?1:Math.max(Math.abs(d-b),Math.abs(e-c))*200;this.Rw=new x("linear",[new y("imageAlpha", b,d),new y("videoAlpha",c,e)],f)}if(this.Rw){this.Rw.Se()?this.Rw=r:this.Rw.vb(a.Pe);if(this.Rw){this.Ea&&this.Ea.set("alpha",this.Rw.eb("imageAlpha"));this.bb&&this.bb.set("alpha",this.Rw.eb("videoAlpha"));this.ua()}}};a.prototype.$La=function(a){if(this.F("gazeOver","inVR","visible")){this.Yea();this.get("inVR")&&this.n.get("lookAwayToHide")&&!this.get("gazeOver")&&this.get("visible")&&this.AKa()}if(a.Wb&&this.n.get("darkenBackground")&&this.n.get("lookAwayToHide")){if(this.F("visible")&&this.get("visible")){this.Td.set("alpha", 0.8);this.Xs=r}if(this.F("gazeOver"))this.Xs=new x(this.get("gazeOver")?"linear":"quad_in",[new y("alpha",this.Td.get("alpha"),this.get("gazeOver")?0.8:0)],this.get("gazeOver")?300:this.n.get("lookAwayToHideTime"))}else{this.Xs=r;this.Td.set("alpha",a.Wb&&this.n.get("darkenBackground")?0.8:0)}if(this.Xs){this.Xs.Se()?this.Xs=r:this.Xs.vb(a.Pe);if(this.Xs){this.Td.set("alpha",this.Xs.eb("alpha"));this.ua()}}};a.prototype.AKa=function(){this.Yea();this.cS=setTimeout(function(){this.cS=r;this.n.set("visible", B)}.bind(this),this.n.get("lookAwayToHideTime"))};a.prototype.Yea=function(){if(this.cS){clearTimeout(this.cS);this.cS=r}};a.prototype.wha=function(a,b){if(!a)return 1;var c=this.get("popupMaxWidth","100%"),d=w.co(c),e=a.get("contentWidth"),f=a.get("contentHeight"),g=this.get("popupMaxHeight","100%"),j=w.co(g),i;if(this.get("inVR")){var k=i=this.get("rendererWidth")*0.5,n=Math.min(b.Kh,80),o=u.OB(n,i,k),q=this.get("sourceHFOV");i=Math.min(Math.tan(o*(d!==l?d/100:c/i)*0.5*D)/Math.tan(q*0.5*D),Math.tan(n* (j!==l?j/100:g/k)*0.5*D)/Math.tan(u.OB(q,e,f)*0.5*D))}else{i=this.get("rendererWidth");k=this.get("rendererHeight");o=Math.min((d!==l?i*d/100:c)/e,(j!==l?k*j/100:g)/f);e=e*o;o=this.get("rendererHFOV");q=this.get("sourceHFOV");i=Math.tan(o*0.5*D)*e/i/Math.tan(q*0.5*D)}return i};a.prototype.II=function(){this.Rz();if(this.get("imageURL")){this.Ea=new k;this.Ea.set("url",this.get("imageURL"));this.Ea.set("contentWidth",this.get("imageWidth"));this.Ea.set("contentHeight",this.get("imageHeight"));this.Ea.set("alpha", 0)}};a.prototype.Rz=function(){if(this.Ea){this.Ea.remove();this.Ea=r}};a.prototype.KI=function(){this.vw();if(this.get("video")){this.bb=new n;var a=E.wj(this.get("video"));this.bb.set("contentWidth",a.get("width"));this.bb.set("contentHeight",a.get("height"));this.bb.set("alpha",0);this.R=new E(this.qa.Vb,this.get("video"));this.za=new o(this.qa.Vb,this.n,this.R);this.Ts()}};a.prototype.vw=function(){if(this.bb){this.qu();this.za.clear();this.za=r;this.R.clear();this.Gh=this.R=r;this.bb.remove(); this.bb=r}};a.prototype.OAa=function(){this.rt();this.Td=new j("#000000")};a.prototype.rt=function(){if(this.Td){this.Td.remove();this.Td=r}};a.prototype.HA=function(){this.trigger(c.Ic);this.trigger(c.T)};a.prototype.LA=function(a,b){var d=0;b.Or(function(a){var b=0,c;this.$e.wl(a)?b=100:(c=this.Fd.wl(a))&&(b=c.Gg);d=d+b}.bind(this));this.trigger(new v(c.dc,d/b.Sc.length))};a.prototype.af=function(){this.ua()};a.prototype.ze=function(){this.ua()};a.prototype.rx=function(){this.n.trigger(c.lb)};a.prototype.Ts= function(){this.R.bind(E.mf,this.ze,this,m);this.R.bind(c.Yd,this.af,this,m);this.R.bind(c.lb,this.rx,this,m)};a.prototype.qu=function(){this.R.unbind(E.mf,this.ze,this,m);this.R.unbind(c.Yd,this.af,this,m);this.R.unbind(c.lb,this.rx,this,m)};a.prototype.Tm=function(a){if(a.Ye==c.xk){if(!a.pl()&&this.get("visible")){a.es(this.n);this.set("over",this.Dp(a));this.set("gazeOver",this.hLa(a))}else this.set("over",B);if(this.get("over")){a.cy(this.n);a.as()&&a.dy(this.n);a.lk(this.get("popupDistance"))}if(this.F("over")){this.n.trigger(this.get("over")? c.kd:c.jc);a.as()&&this.n.trigger(this.get("over")?c.bz:c.uo)}}else if(a.Ye==c.Gj&&!a.pl()&&this.get("visible")){a.es(this.n);a.lk(this.get("popupDistance"));this.Dp(a)?a.eQa()||this.n.trigger(c.oa):this.n.set("visible",B)}};a.prototype.Dp=function(a){return this.$na(a.qp)};a.prototype.hLa=function(a){a=a.gJ;return!!a&&this.$na([a])};a.prototype.$na=function(a){if(this.get("visible"))for(var a=(this.get("itemVisible")=="video"?this.bb:this.Ea).At(a),b=0;b 0&&this.get("hotspotsEnabled")&&this.get("enabled")&&(!this.get("inVR")||this.get("enabledInVR"))&&(this.get("inVR")||this.get("enabledInStandard")));this.F("blendingActive")&&this.zk.CSa(this.get("blendingActive"))};a.prototype.PM=function(){this.set("frameEmpty",!this.bb||this.bb.get("frameEmpty"))};a.prototype.Hd=function(a){var b=this.get("itemVisible");if(this.F("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.bb&&(!this.Ea||!this.get("frameEmpty")&&(this.get("state")!=g.M||this.Q8&&this.get("videoVisibleOnStop")))?c="video":this.Ea&&(c="image");if(this.get("state")!=g.M)this.Q8=m}this.set("itemVisible",c);this.set("beamEnabled",c!="none"&&this.get("interactionEnabled"))}if(this.F("itemVisible")){var c=this.get("itemVisible")!="none",e=b!="none"; if(c&&e&&!this.get("chromaColor")&&this.Jq.length==0){this.Ea&&this.Ea.set("alpha",this.get("itemVisible")=="image"?1:0);this.bb&&this.bb.set("alpha",this.get("itemVisible")=="video"?1:0)}else{b=c==e?100:c?this.get("fadeInDuration"):this.get("fadeOutDuration");c!=e&&this.n.trigger(c?d.Vc:d.ad);var e=this.Ea?this.Ea.get("alpha"):0,f=this.bb?this.bb.get("alpha"):0,c=[{KC:f,image:e}];if(this.get("itemVisible")=="video"){c.push({KC:1,image:e,time:b*(1-f)});c.push({KC:1,image:0,time:50*(e-0)})}else if(this.get("itemVisible")== "image"){c.push({KC:f,image:1,time:b*(1-e)});c.push({KC:0,image:1,time:50*(f-0)})}else c.push({KC:0,image:0,time:Math.max(f,e,1/b)*b});this.Jq=[];for(b=1;b0&&this.Jq.push(new p("linear",[new q("imageAlpha",c[b-1].image,c[b].image),new q("videoAlpha",c[b-1].KC,c[b].KC)],c[b].time))}}if(this.Jq.length>0){this.Jq[0].Se()?this.Jq.shift():this.Jq[0].vb(a.Pe);if(this.Jq.length>0){this.Ea&&this.Ea.set("alpha",this.Jq[0].eb("imageAlpha"));this.bb&&this.bb.set("alpha",this.Jq[0].eb("videoAlpha")); this.ua()}}};a.prototype.II=function(){this.Rz();if(this.get("image")&&this.get("imageLevel")){this.Ea=new this.nA;this.Ea.set("image",this.get("image"));this.Ea.set("level",this.get("imageLevel"));this.Ea.set("visible",m);this.Ea.set("alpha",0);this.Ea.set("side",THREE.DoubleSide)}};a.prototype.Rz=function(){if(this.Ea){this.Ea.remove();this.Ea=r}};a.prototype.KI=function(){this.vw();if(this.get("video")&&this.get("videoLevel")){this.bb=new this.P8;this.bb.set("scriptObject",this.n);this.bb.set("video", this.get("video"));this.bb.set("level",this.get("videoLevel"));this.bb.set("visible",m);this.bb.set("alpha",0);this.bb.set("side",THREE.DoubleSide)}};a.prototype.vw=function(){if(this.bb){this.bb.remove();this.bb=r}};a.prototype.HA=function(){this.trigger(d.Ic);this.trigger(d.T)};a.prototype.LA=function(a,b){var c=0;b.Or(function(a){(a=b.wl(a))&&(c=c+a.Gg)});this.trigger(new o(d.dc,c/b.Sc.length))};a.prototype.r2=function(){return this.get("itemVisible")=="video"?this.bb:this.Ea};return a}); define("gl","require,nW,kn,cp,eg,gZ,lN,li,eQ,jK,nu".split(","),function(a){var b=a("nW"),e=a("kn"),d=a("cp"),g=a("eg");a("gZ");var c=a("lN"),i=a("li"),f=a("eQ"),j=a("jK"),n=a("nu");return{Pz:function(){this.set("visible",B);this.set("inView",B);this.set("frameEmpty",m);this.set("blending",0);this.set("chromaColor",l);this.set("chromaThreshold",0);this.set("chromaSmoothing",0);this.set("scriptObject",r);this.set("video",r);this.set("level",r);this.set("loop",B);this.set("side",l);this.hb=this.bb=r; this.Q8=B;this.bV=this.Gh=this.Bu=this.za=this.Lo=this.R=r},TE:function(){this.vw()},qj:function(a){this.WMa();this.EM();this.PM(a)},WMa:function(){if(this.F("scriptObject","video","level")){this.vw();this.bb=this.get("video");this.hb=this.get("level");this.n=this.get("scriptObject");this.KI()}},EM:function(){if(this.F("video","blending","chromaColor","chromaThreshold","chromaSmoothing","side")&&this.bb){var a=new d.Xm(this.bb.ji());a.fy=this.get("blending");a.Kr=this.get("chromaColor");a.mN=this.get("chromaThreshold"); a.lN=this.get("chromaSmoothing");a.side=this.get("side");this.set("materialConfig",a)}},ll:function(){this.F("visible","composedAlpha","image","state")&&this.set("inView",this.get("visible")&&this.get("composedAlpha")>0);this.F("composedAlpha","meshGroup","inView")&&g.Te(this.get("meshGroup"),this.get("inView")?this.get("composedAlpha"):0)},PM:function(){var a=this.R&&this.R.rW(),b=!!a&&a.isEmpty();if(b&&!this.get("frameEmpty")&&this.R.mg()==e.Q&&this.n.get("loop")){a=this.Gh;b=B}this.set("frameEmpty", b);if(!this.Gh||a&&!this.Gh.isEqual(a)){this.Gh=a;this.bV.Cl(this.Gh.Uz);this.bV.update();this.ua()}else this.R.mg()==e.Q&&this.ua()},KI:function(){if(this.bb&&this.hb&&this.n){this.set("textureSource",this.bV=new f);this.set("contentWidth",this.hb.get("width"));this.set("contentHeight",this.hb.get("height"));this.set("alpha",0);this.R=new n(this.qa.Vb,this.bb);this.R.HRa();this.Lo=new c(this.n,this.R);this.za=new i(this.qa.Vb,this.n,this.R);this.Bu=new j(this.qa.oc.get("panorama"),this.R);this.Ts(); this.trigger(b.Ic);this.trigger(b.T)}},vw:function(){if(this.R){this.set("textureSource",this.bV=r);this.qu();this.za.clear();this.za=r;this.Lo.clear();this.Lo=r;this.Bu.clear();this.Bu=r;this.R.clear();this.Gh=this.R=r;this.set("frameEmpty",m);this.hb=this.bb=r}},Ts:function(){this.R.bind(n.mf,this.ze,this,m);this.R.bind(b.Yd,this.af,this,m)},qu:function(){this.R.unbind(n.mf,this.ze,this,m);this.R.unbind(b.Yd,this.af,this,m)},af:function(){this.ua()},ze:function(){this.ua()}}}); define("nz",["require","jY","mR"],function(a){var b=a("jY"),e=a("mR");return{kn:function(){this.set("playbackPositions",r);this.set("distance",l);this.Dd=this.Dd.bind(this);this.Wa=new e},Dn:function(){b.ea(this.n,["playbackPositions","distance"],this.Dd,m)},Fn:function(){b.da(this.n,["playbackPositions","distance"],this.Dd)},Dd:function(){this.set("distance",this.n.get("distance"));this.set("playbackPositions",this.n.get("playbackPositions"))},qf:function(){this.F("playbackPositions","currentTime")&& (this.Wa.xy(this.get("playbackPositions")),this.Wa.wy(this.get("currentTime")),this.set("vertices",this.Wa.U9()),this.set("alpha",this.Wa.qk()));this.F("video","image","vertices","distance")&&this.Ab().forEach(function(a){a.set("vertices",this.get("vertices"));a.set("distance",this.get("distance"))}.bind(this))}}}); define("jG","require,kM,eK,c,dL,gA,gl,nz".split(","),function(a){var b=a("kM"),e=a("eK"),d=a("c"),g=a("dL"),c=a("gA"),i=a("gl"),a=a("nz"),f=b.extend(d,g,c,function(){d.call(this);this.set("tag","QuadVideoHotspotImage")}),j=b.extend(d,g,i,function(){d.call(this);this.set("tag","QuadVideoHotspotVideo")});return b.extend(e,a,function(a){e.call(this,a);this.nA=f;this.P8=j})}); define("ki","require,kM,jY,kn,jA,mU,u".split(","),function(a){var b=a("kM"),e=a("jY"),d=a("kn"),g=a("jA"),c=a("mU"),i=a("u"),a=b.extend(g,function(a){g.call(this);this.n=a;this.Uj=this.Uj.bind(this);this.Vj=this.Vj.bind(this);this.Tl()});a.prototype.Bb=function(){g.prototype.Bb.call(this);this.n.set("state",this.n.get("startState"));e.ea(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.Uj,m);e.ea(this.n,["state"],this.Vj, m)};a.prototype.Fb=function(){e.da(this.n,["color","speed","intensity","size","opacity","maxDistance","farPlaneDistance","particleCount","farPlaneParticleCount"],this.Uj);e.da(this.n,["state"],this.Vj);this.n.set("state",d.M);g.prototype.Fb.call(this)};a.prototype.Uj=function(){this.Tl();this.EL()};a.prototype.Vj=function(){this.HT=this.n.get("state");this.ua()};a.prototype.Tl=function(){g.prototype.Tl.call(this);var a,b;if(i.Ff()){this.Zz=this.Uq=4;this.VA=2400;this.$z=1200;a=1.5;b=1.6}else{this.Uq= 2;this.Zz=4;this.VA=4800;this.$z=2400;b=a=1}var d=this.n.get("intensity",0.5);this.$b=c.$N(this.n.get("color","#ffffff"));this.gL=this.n.get("opacity",0.25)*0.24+0.01;this.gL=this.gL*2;this.wx=(d*(0.37-0.17)+0.17)*a;a=(this.n.get("speed",0.5)*(0.09-0.02)+0.02)/this.wx*b;this.aK=a*0.9;this.EA=a*1.1;this.VA=Math.round(this.n.get("particleCount",this.VA)*d);this.$z=Math.round(this.n.get("farPlaneParticleCount",this.$z)*d);this.hS=0;this.Wo=2;this.Vq=-2;this.X3=0;this.kI=0.75;this.SI=0.5;this.BR=this.n.get("initialState"); this.LU=this.n.get("startDuration");this.RU=this.n.get("stopDuration");this.Uq=this.n.get("maxDistance",this.Uq);this.Zz=this.n.get("farPlaneDistance",this.Zz);this.Zx()};a.prototype.tQ=function(){var a=new THREE.MeshBasicMaterial;a.color=new THREE.Color(this.$b[0]/255,this.$b[1]/255,this.$b[2]/255);a.side=THREE.FrontSide;a.transparent=m;a.depthTest=B;a.needsUpdate=m;if(!this.Bw)this.Bw=new THREE.BoxGeometry(0.01,0.2,0.01);return new THREE.Mesh(this.Bw,a)};a.prototype.Zx=function(){var a=this.Pf&& this.Pf.children||[],b=new THREE.Color(this.$b[0]/255,this.$b[1]/255,this.$b[2]/255);a.forEach(function(a){a.material.color=b;a.material.needsUpdate=m})};return a}); define("fY","require,kM,y,nW,cu,iB".split(","),function(a){var b=a("kM"),e=a("y"),d=a("nW"),g=a("cu"),c=a("iB"),i=b.extend(c,function(a,b,d,g){c.call(this);this.Vb=a;this.J=b;this.oc=d;this.h=g;this.pK=new e;this.K6(this);this.set("tag","Root");this.set("globalBlendingActive",0)});i.prototype.gf=function(a){return this.pK.get(a)};i.prototype.all=function(){for(var a=[],b=[this];b.length>0;){var c=b.pop();a.push(c);for(var d=c.zd.length-1;d>=0;d--)b.push(c.zd[d])}return a};i.prototype.update=function(a){var b= this.all(),c=b.length,d;for(d=0;dthis.j_;)this.rz-=this.j_;this.fAa(this.rz/this.j_);this.PE="changing";return m}; a.prototype.Zfa=function(a){this.Xi(this.Vfa+this.Kn,0,this.Fu,this.CU,0,2*Math.PI);this.Xi(this.Vfa,0,this.Fu,a,0,2*Math.PI)};a.prototype.iCa=function(a){this.Xi(this.eQ-0.5*(this.Ak+this.Kn),this.Ak+this.Kn,this.CU,this.Fu,0,2*Math.PI);this.Xi(this.eQ-0.5*this.Ak,this.Ak,this.kAa,this.Fu,0,2*Math.PI);this.Xi(this.eQ-0.5*this.Ak,this.Ak,this.lAa,this.Fu,0.5*Math.PI,(0.5+2*a)*Math.PI)};a.prototype.dCa=function(a,e){this.Xi(this.Vea-0.5*(this.Ak+this.Kn),this.Ak+this.Kn,this.CU,this.Fu,0,2*Math.PI); this.Xi(this.Vea-0.5*this.Ak,this.Ak,this.iAa,this.Fu,0,2*Math.PI);a=(0.5+2*a)*Math.PI;for(e=(0.5+2*e)*Math.PI;ea?(e=a/0.25,a=0.5*e):0.5>a?(e=(a-0.25)/0.25,a=0.5+e,e=1+0.5*e):0.75>a?(e=(a-0.5)/0.25,a=0.5+0.5*e,e=0.5+e):(a=e=(a-0.75)/0.25,e=0.5+0.5*e);this.dCa(a,e)};a.prototype.tHa=function(a){this.OD();this.iCa(a)};return a}); define("lQ","require,kM,eg,iW,ht,eQ,bu".split(","),function(a){var b=a("kM"),e=a("eg"),d=a("iW"),g=a("ht"),c=a("eQ"),i=a("bu"),a=b.extend(d,function(){d.call(this);this.I=r;this.set("tag","Reticle");this.set("changing",B);this.set("over",B);this.set("overProgress",l);this.set("visible",m);this.set("attachToCamera",m);this.ju=r});a.prototype.V=function(a){this.Ju(a);this.Wf(a);this.qf(a);d.prototype.V.call(this,a)};a.prototype.Ju=function(a){if(a.Wb&&!this.ju&&i.De()==i.oD.Kl)this.Zg([this.ju=new d])}; a.prototype.Wf=function(a){if(!this.I){this.set("textureSource",new c);this.I=new g(this.qa.J);this.get("textureSource").Cl(this.I.kg());this.set("contentWidth",this.I.$c());this.set("contentHeight",this.I.Rd());this.set("hfov",6);this.set("distance",this.qa.J.get("vrPointerDistance"))}this.F("changing")&&this.I.wX(this.get("changing"));this.F("over","overProgress")&&this.I.wSa(this.get("over"),this.get("overProgress"));this.I.update(a.Pe)&&this.get("textureSource").update();this.get("changing")&& this.ua()};a.prototype.qf=function(){this.mk()};a.prototype.ll=function(){this.F("composedAlpha","meshGroup","visible")&&this.Uv()};a.prototype.Uv=function(){e.Te(this.get("meshGroup"),this.get("visible")?this.get("composedAlpha"):0)};return a}); define("bj","require,jquery.mod,dZ,nW,u,or,gY".split(","),function(a){function b(a){this.Pa=a;this.hoa=this.Pa.vn;this.Pa.bind(g.Uc,this.Tf,this);this.ba=e("");this.ba.css({"pointer-events":"none",position:"absolute","z-index":c.Oca,"text-align":"center",display:"none"});this.Td=e("");this.Td.css({position:"absolute",left:0,top:0,right:0,bottom:0});this.ba.append(this.Td);this.aV=e("");this.aV.css({position:"relative"});this.ba.append(this.aV);this.Gi=this.ER= this.ph=r;this.hu=this.gu=l;this.Ht=B;this.ioa=l}var e=a("jquery.mod"),d=a("dZ"),g=a("nW");a("u");var c=a("or"),i=a("gY"),f={toolTip:l,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.Ac=S("ba");b.prototype.vC=function(a){if(!this.hoa){for(;a&&a.get("toolTipDisabled");)a=a.getParent();this.hide();this.ph&& d(d(f).keys()).each(function(a){this.ph.unbind(g.u(a),this.J4,this)},this);if(this.ph=a){d(d(f).keys()).each(function(a){this.ph.bind(g.u(a),this.J4,this)},this);this.J4()}}};b.prototype.iTa=function(a,b){this.ph=a;this.ioa=b;this.MR()||(this.Ht?this.una():this.iM())};b.prototype.sna=function(a,b,c){this.Ht&&this.ph.trigger(g.Nca);this.XLa(a);this.aV.html(this.nEa(b));this.Qea=c;this.qf();this.ph.trigger(g.Bxa);this.Ht=m;this.ba.css("display","inline");(c||a.get("checkToolTipOcclusion"))&&this.sKa(a)}; b.prototype.qf=function(){var a=this.im(),b=a.x,a=a.y,c=this.ba.outerWidth(),d=this.ba.outerHeight();if(this.Qea){b=b-this.ba.width()*0.5;a=a-this.ba.height()*0.5}b=Math.max(Math.min(b,this.Pa.Ra()-c-3),3);a=Math.max(Math.min(a,this.Pa.zb()-d-3),3);this.ba.css("left",b+"px");this.ba.css("top",a+"px")};b.prototype.im=function(){var a={};if(this.Qea){var b=this.ph.Ac().offset();a.x=b.left+this.ph.Ra()*0.5;a.y=b.top+this.ph.zb()*0.5}else{a.x=this.gu;a.y=this.hu+25}return a};b.prototype.hide=function(){this.Jz(); this.Mna();if(this.Ht){this.ba.css("display","none");this.ph.trigger(g.Nca);this.Ht=B}};b.prototype.J4=function(){this.ph.get("toolTip")?this.MR()||(this.Ht?this.tna():this.iM()):this.MR()?this.Jz():this.Ht&&this.hide()};b.prototype.Tf=function(a){this.gu=a.pageX;this.hu=a.pageY;this.Ht&&this.ph.get("toolTipFollowMouse")&&this.qf()};b.prototype.tna=function(){this.sna(this.ph,this.ph.get("toolTip"),B)};b.prototype.una=function(){this.sna(this.ph,this.ioa,m)};b.prototype.MR=function(){return this.Gi!= r};b.prototype.iM=function(){var a=this.ph&&this.ph.get("toolTipDisplayTime");if(a===l||a===r)a=f.toolTipDisplayTime;this.Jz();this.Gi=setTimeout(function(){this.Gi=r;this.hoa?this.una():this.tna()}.bind(this),a)};b.prototype.Jz=function(){if(this.MR()){clearTimeout(this.Gi);this.Gi=r}};b.prototype.sKa=function(a){var b=this.im();this.Mna();var c=function(){this.ba.css("display",this.Ht&&!this.nFa(a,b.x,b.y)?"inline":"none")}.bind(this);this.ER=setInterval(c,300);c()};b.prototype.Mna=function(){if(this.ER){clearInterval(this.ER); this.ER=r}};b.prototype.XLa=function(a){function b(c){var d=a.get(c);return d===l?f[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.ba.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 e=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"+e.substr(1,2))+", "+parseInt("0x"+e.substr(3,2))+ ", "+parseInt("0x"+e.substr(5,2))+", "+b("toolTipShadowOpacity")+")"].join(" ");c["-moz-border-radius"]=c["-webkit-border-radius"]=c.borderRadius=b("toolTipBorderRadius")+"px";this.Td.css(c);c={};c["font-family"]=i.Qu(b("toolTipFontFamily"));e=b("toolTipFontSize");d(e).isNumber()?e=e+"px":d(e).isString()||(e="");c["font-size"]=e;c["font-weight"]=b("toolTipFontWeight");c["font-style"]=b("toolTipFontStyle");c.color=b("toolTipFontColor");e=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"+e.substr(1,2))+", "+parseInt("0x"+e.substr(3,2))+", "+parseInt("0x"+e.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"))+e.substr(1,6)+",direction="+g+")";this.aV.css(c)};b.prototype.nFa=function(a,b,c){for(var b=document.elementsFromPoint(b,c),a=a.Ac()[0],c=this.Pa.Ac()[0],d=0;d0.29)return m}}return B};b.prototype.CAa=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.nEa=function(a){for(var a=(a||"").split("\n"),b=0;b"+a+"
"})};b.prototype.sCa=function(a){b.Fda.nodeValue=a;return b.Bda.innerHTML};b.qwa=f;b.Bda=document.createElement("pre"); b.Fda=document.createTextNode("");b.Bda.appendChild(b.Fda);b.DUa=600;return b}); define("cJ",["require","bj","bO","gY"],function(a){function b(a,b){this.J=a;this.kl=b;this.iKa()}var e=a("bj"),d=a("bO"),g=a("gY");b.prototype.kg=S("I");b.prototype.$c=function(){return this.I.width};b.prototype.Rd=function(){return this.I.height};b.prototype.iKa=function(){this.I=document.createElement("canvas");var a=this.kl.split("\n"),b=this.xg("toolTipBackgroundColor"),e=this.xg("toolTipBackgroundOpacity"),j=this.xg("toolTipBorderRadius"),n=this.xg("toolTipBorderColor"),k=this.xg("toolTipBorderSize"); this.xg("toolTipDisplayTime");var o=this.xg("toolTipFontFamily"),p=this.xg("toolTipFontSize"),q=this.xg("toolTipFontColor"),t=this.xg("toolTipFontWeight"),s=this.xg("toolTipFontStyle"),u=this.xg("toolTipPaddingBottom"),w=this.xg("toolTipPaddingLeft"),v=this.xg("toolTipPaddingTop"),x=this.xg("toolTipPaddingRight"),y=this.xg("toolTipOpacity"),E=this.xg("toolTipTextShadowBlurRadius"),D=this.xg("toolTipTextShadowColor"),F=this.xg("toolTipTextShadowHorizontalLength"),L=this.xg("toolTipTextShadowVerticalLength"), J=this.xg("toolTipTextShadowOpacity"),z=new d.yZ;z.fontFamily=o;z.fontSize=p+(isNaN(p)?"":"px");z.fontWeight=t;z.fontStyle=s;var K=a.map(function(a){return d(a,z,H)}),I=0,A=0;K.forEach(function(a){I=Math.max(a.width,I);A+=a.height});var N=1a))this.DQ=a};b.prototype.PV=function(a,b){if(""==this.Xa||this.Sx>b)this.Xa=a,this.Sx=b};b.prototype.GO=S("Xa");b.prototype.es=function(a){this.Oea=e(a)};b.prototype.pl= function(){return 0=this.Dma){this.k7();this.PD()}else this.Kc.set("overProgress",a/this.Dma)};return a}); define("kL","require,kM,nW,lQ,nQ,eV,nl,bu".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("lQ"),g=a("nQ"),c=a("eV"),i=a("nl"),f=a("bu"),a=b.extend(i,function(a){i.call(this,i.FZ,a);this.Ag=this.o=r;this.Kc=new d;this.h.add(this.Kc);this.Vg="";this.Xa=r;this.fV=this.fV.bind(this);document.body.addEventListener("touchend",this.fV);f.bind(e.bn,this.Epa,this,m)});a.prototype.clear=function(){document.body.removeEventListener("touchend",this.fV);f.unbind(e.bn,this.Epa,this,m);this.h.remove(this.Kc); this.Kc=r;this.Xa&&this.h.remove(this.Xa);this.Xa=r};a.prototype.update=function(a){this.o=a;this.Kc.set("changing",a.WV);this.Hi()};a.prototype.fV=function(){this.PD()};a.prototype.Epa=function(){this.PD()};a.prototype.PD=function(){this.hi(this.Sh(e.Gj));this.Kc.set("over",B)};a.prototype.Hi=function(){var a=this.Sh(e.xk);this.hi(a);this.zp(a.GO());this.Kc.set("over",a.Gl())};a.prototype.zp=function(a){if(this.Vg!=a){this.Vg&&this.h.remove(this.Xa);if(this.Vg=a){this.Xa=new g(this.Vg);this.Xa.set("text", this.Vg);this.h.add(this.Xa)}}};a.prototype.hi=function(a){this.h.KN().sort(function(a,b){return b.get("index")-a.get("index")}).forEach(function(b){b.Tm(a)}.bind(this))};a.prototype.Sh=function(a){this.Ag=this.c2();return new c(this,this.Ag?[this.Ag]:[],this.Ag,a)};return a}); define("kc","require,kM,gz,cp,eg,eQ,h,mU".split(","),function(a){var b=a("kM"),e=a("gz"),d=a("cp"),g=a("eg"),c=a("eQ"),i=a("h"),f=a("mU"),j=new THREE.Matrix4,n=Math.PI/180,a=b.extend(i,function(){i.call(this);this.set("tag","Laser");this.set("matrix",r);this.set("over",B);this.set("pressed",B);this.set("intersectionDistance",0);this.set("visible",B);this.set("attachToCamera",B);this.set("dotVisible",m);this.O5=this.yL=this.jr=this.N5=r;new THREE.Matrix4;this.P5=new THREE.Matrix4;this.P5.multiply(j.makeRotationX(-90* n));this.P5.multiply(j.makeTranslation(0,k*0.5,0));this.IQ=this.HQ=this.GQ=this.st=this.a1=r;new THREE.Matrix4;this.b1=new THREE.Matrix4;this.GI=this.FQ=this.$0=r;new THREE.Matrix4;this.Nz=[new THREE.Matrix4,new THREE.Matrix4,new THREE.Matrix4];this.Nz[0].multiply(j.makeRotationX(-90*n));this.Nz[0].multiply(j.makeTranslation(0,-p*0.5,0));this.Nz[1].multiply(j.makeRotationX(-90*n));this.Nz[1].multiply(j.makeTranslation(0,-p*0.5,-o*0.5));this.Nz[2].multiply(j.makeRotationX(-90*n));this.Nz[2].multiply(j.makeTranslation(0, -p*0.5,-o))});a.prototype.V=function(a){i.prototype.V.call(this,a);this.B8();this.$x()};a.prototype.B8=function(){if(this.F("visible"))this.get("meshGroup").visible=this.get("visible");this.F("dotVisible")&&g.Te([this.HQ,this.FQ],this.get("dotVisible")?1:0)};a.prototype.$x=function(){if(this.F("over","pressed")){this.Moa();this.epa()}};var k=0.35,o=0.012,p=0.1;a.prototype.Yl=function(){this.FQ=g.create(new THREE.SphereGeometry(2.3,32,32),this.$Aa());this.HQ=g.create(new THREE.SphereGeometry(2,32, 32),this.aBa());this.O5=g.create(new THREE.CylinderGeometry(0.003,0.003,k,8),this.zBa());this.TD=[];this.TD.push(g.create(new THREE.CylinderGeometry(o,o,p,32),this.q0()));this.TD.push(g.create(new THREE.BoxGeometry(2*o,p,o),this.q0()));this.TD.push(g.create(new THREE.CylinderGeometry(o,o,p,32),this.q0()));return[this.FQ,this.HQ,this.O5].concat(this.TD)};a.prototype.$Aa=function(){if(this.$0==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new c;e.Cl(a);this.$0= d.hy(e.texture(),new d.Xm);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.$0};a.prototype.aBa=function(){if(this.a1==r){this.st=document.createElement("canvas");this.st.width=this.st.height=256;this.GQ=this.st.getContext("2d");this.IQ=new c;this.IQ.Cl(this.st);this.a1=d.hy(this.IQ.texture(),new d.Xm);this.Moa()}return this.a1};a.prototype.Moa=function(){this.GQ.fillStyle=this.U1();this.GQ.clearRect(0,0,this.st.width,this.st.height); this.GQ.fillRect(0,0,this.st.width,this.st.height);this.IQ.update()};a.prototype.zBa=function(){if(this.N5==r){this.jr=document.createElement("canvas");this.jr.width=this.jr.height=256;this.yL=this.jr.getContext("2d");this.Q5=new c;this.Q5.Cl(this.jr);this.N5=d.hy(this.Q5.texture(),new d.Xm);this.epa()}return[this.N5]};a.prototype.epa=function(){var a=f.$N(this.U1()).join(", "),b=this.yL.createLinearGradient(0,0,0,this.jr.height);b.addColorStop(0,"rgba("+a+", 0)");b.addColorStop(0.5,"rgba("+a+", 1)"); b.addColorStop(1,"rgba("+a+", 1)");this.yL.fillStyle=b;this.yL.clearRect(0,0,this.jr.width,this.jr.height);this.yL.fillRect(0,0,this.jr.width,this.jr.height);this.Q5.update()};a.prototype.q0=function(){if(this.GI==r){var a=document.createElement("canvas");a.width=a.height=256;var b=a.getContext("2d"),e=new c;e.Cl(a);this.GI=d.hy(e.texture(),new d.Xm);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.GI,this.GI,this.GI]};a.prototype.Hp= function(){var a=B,b=B,c=B;if(this.F("intersectionDistance")){var b=(b=this.get("intersectionDistance"))?e.bC(b):e.Tu(),d=b/e.Tu();this.b1.makeTranslation(0,0,-b);this.b1.multiply(j.makeScale(d,d,d));b=m}if(this.F("matrix"))c=b=a=m;if(b){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.b1);g.Pp(this.HQ,j);g.Pp(this.FQ,j)}if(a){j.identity();(b=this.get("matrix"))&&j.multiply(b);j.multiply(this.P5);g.Pp(this.O5,j)}if(c){b=this.get("matrix");for(a=0;a=0};z.prototype.Cm=function(){this.am.clear();c.prototype.Cm.call(this)};z.prototype.Sb=function(){var a=this.Ra(),c=this.zb();if(this.o.width!=a||this.o.height!=c)if(!a||!c)b.log("Invalid size values: "+a+" "+c);else{this.o.width=a;this.o.height=c;this.aR.AO(this.o.width);this.aR.Hua(this.o.height);this.wb()}};z.prototype.Wj= function(){this.o.enabled=m;this.wb()};z.prototype.Sj=function(){this.o.enabled=B};z.prototype.Bn=function(){this.o.Wb=D.isPresenting();this.Jp();this.wb()};z.prototype.tGa=function(){this.Jp();this.wb()};z.prototype.dHa=function(){this.wb()};z.prototype.IGa=function(){this.wb()};z.prototype.EX=function(a){if(this.g6!=a)(this.g6=a)||this.wb()};z.prototype.CC=function(a){if(this.o.El!=a){this.o.El=a;this.wb()}};z.prototype.fb=function(a,c,d,e){if(this.o.Ka!=a||this.o.pitch!=c||this.o.He!=d||this.o.ue!= e)if(isNaN(a)||isNaN(c)||isNaN(d)||!e)b.log("Invalid position values: "+a+" "+c+" "+d+" "+e);else{this.o.Ka=a;this.o.pitch=c;this.o.He=d;this.o.ue=e;this.aR.zC(this.o.ue*J);this.wb()}};z.prototype.Oc=function(){return this.o.Ka};z.prototype.Hc=function(){return this.o.pitch};z.prototype.rf=function(){return this.o.He};z.prototype.lg=function(){return this.o.ue};z.prototype.AN=function(){return this.o.Wb?this.o.Kh:E.ms(this.o.Kh,this.o.width,this.o.height)};z.prototype.BN=function(){return this.o.Kh}; z.prototype.unproject=function(a){return this.aR.unproject(a)};z.prototype.wb=function(){F.wb(this.ij,this)};z.prototype.ij=function(){if(F.k$){var a=(new Date).getTime(),b=Math.max(1,Math.min(a-this.oia,33));this.oia=a;this.trigger(new g(z.TY,{frameTime:b}));if(this.o.enabled){this.o.Pe=b;this.UT()}}else this.wb()};z.prototype.UT=function(){this.dl.update(this.o);this.o.VV=this.dl.EOa();this.o.iN=this.dl.DOa();this.o.Kh=this.dl.BOa();this.o.zj=this.dl.getPixelRatio();this.qa.update(this.o);this.aoa.update(this.o); this.cja.update(this.o);this.kj.update(this.o);this.g6||this.dl.render()};z.TY="render start";z.ZVa=T(m);return z}); define("ft",["require","kM","cu","fQ","lw"],function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("lw"),c=b.extend(d,function(a){d.call(this);this.h=a;this.h.bind(g.TY,this.Jka,this,m)});c.prototype.clear=function(){this.h.unbind(g.TY,this.Jka,this,m);this.h=r};c.prototype.wb=function(){this.h.wb()};c.prototype.Jka=function(a){a=a.data.frameTime;this.trigger(new e(c.mo,{frameTime:a}));this.trigger(new e(c.oo,{frameTime:a}))};c.mo="frameStart";c.oo="positionSet";return c}); define("dl",["require","u","ko"],function(a){function b(){this.ia=this.X=0;this.ya=90;this.Xk="landscape";this.T4=B;this.zJ=e.ub()}var e=a("u"),d=a("ko");b.prototype.Kua=function(a){this.ya=this.Yqa(a)};b.prototype.Yqa=function(a){return this.zJ&&"portrait"==this.Xk?d.OB(a,this.ia,this.X):a};b.prototype.XOa=function(a){return this.zJ&&"portrait"==this.Xk?d.tl(a,this.X,this.ia):a};b.prototype.eo=function(a){return this.ya=this.zJ&&this.T4?d.OB(a,this.ia,this.X):a};b.prototype.wsa=function(){return this.zJ&& this.T4};b.prototype.Su=function(){return this.zJ&&"portrait"==this.Xk};b.prototype.lg=S("ya");b.prototype.YV=function(a){return d.OB(a,this.ia,this.X)};b.prototype.setSize=function(a,b){this.X=a;this.ia=b;var d=this.SDa();this.T4=this.Xk!=d;this.Xk=d};b.prototype.SDa=function(){return 0===this.X||0===this.ia?"landscape":this.Xj;)c=c-(j-d);b=b.pitch;return e<=c&&c<=g&&i<=b&&b<=t}.bind(this));if(d.length==0)return r;d.sort(function(b,d){var e=this.im(b),g=this.im(d);return(a-e.Ka)*(a-e.Ka)+(c-e.pitch)*(c-e.pitch)-((a-g.Ka)*(a-g.Ka)+(c-g.pitch)*(c-g.pitch))}.bind(this));return d[0]};a.prototype.im=function(a){var b=a.get("yaw"),a=a.get("distance");if(b===l||a===l)return r; var c=this.$.get("distanceToFloor");return{Ka:b,pitch:-90+Math.atan2(a,c)*i}};var i=180/Math.PI;return a}); define("lh","require,kM,nW,cu,fQ,mC,br,of,w,lP,jt,ft,dl,ik,dx".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("mC"),i=a("br"),f=a("of"),j=a("w"),n=a("lP"),k=a("jt"),o=a("ft"),p=a("dl"),q=a("ik"),t=a("dx"),s=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.nc=new p;this.Vf=new o(this.h);this.de=new n(this.h);this.yb=new f(this.J,this.h,this.nc);this.Na=new i(this.h,this.nc);this.Ze=new j(this.h);this.Tt=new k(this.h);this.yd=new c(this.h); this.hV=new q(this.h);this.Vf.bind(o.mo,this.kx,this,m);this.Vf.bind(o.oo,this.lx,this,m);this.de.bind(e.Ic,this.Xja,this,m);this.de.bind(e.$f,this.DK,this,m);this.de.bind(e.dc,this.bi,this,m);this.yb.bind(f.ob,this.re,this,m);this.yb.bind(f.UY,this.Yja,this,m);this.yb.bind(f.LY,this.nka,this,m);this.yb.bind(f.rY,this.hja,this,m);this.yb.bind(f.sY,this.ija,this,m);this.yb.bind(f.Uy,this.MK,this,m);this.yb.bind(f.Sy,this.jx,this,m);this.yb.bind(f.Ty,this.cu,this,m);this.yb.bind(f.Ry,this.LK,this,m); this.yb.bind(f.po,this.qx,this,m);this.Na.bind(i.ob,this.re,this,m);this.Na.bind(i.Dj,this.ap,this);this.Na.bind(i.lo,this.di,this);this.Na.bind(i.mc,this.xe,this,m);this.Na.bind(i.fh,this.gp,this,m);this.Na.bind(i.eh,this.fp,this,m);this.Ze.bind(j.ob,this.re,this,m);this.Ze.bind(j.Qi,this.ep,this,m);this.Ze.bind(j.mc,this.xe,this,m);this.Tt.bind(k.Ej,this.cka,this,m)});s.prototype.clear=function(){this.de.clear();this.Vf.clear();this.Na.clear();this.yb.clear();this.Ze.clear();this.Tt.clear();this.yd.clear(); this.de.unbind(e.Ic,this.Xja,this);this.de.unbind(e.$f,this.DK,this);this.de.unbind(e.dc,this.bi,this);this.Vf.unbind(o.mo,this.kx,this);this.Vf.unbind(o.oo,this.lx,this);this.yb.unbind(f.ob,this.re,this);this.yb.unbind(f.UY,this.Yja,this);this.yb.unbind(f.LY,this.nka,this);this.yb.unbind(f.rY,this.hja,this);this.yb.unbind(f.sY,this.ija,this);this.yb.unbind(f.Uy,this.MK,this);this.yb.unbind(f.Sy,this.jx,this);this.yb.unbind(f.Ty,this.cu,this);this.yb.unbind(f.Ry,this.LK,this);this.yb.unbind(f.po, this.qx,this);this.Na.unbind(i.Gwa,this.re,this);this.Na.unbind(i.Dj,this.ap,this);this.Na.unbind(i.lo,this.di,this);this.Na.unbind(i.mc,this.xe,this,m);this.Na.unbind(i.fh,this.gp,this);this.Na.unbind(i.eh,this.fp,this);this.Ze.unbind(j.ob,this.re,this);this.Ze.unbind(j.Qi,this.ep,this);this.Ze.unbind(j.mc,this.xe,this);this.Tt.unbind(k.Ej,this.cka,this);this.J=this.h=this.hV=this.yd=this.Tt=this.Ze=this.yb=this.Na=this.Vf=this.de=r};s.prototype.xaa=function(a){this.Tt.xaa(a)};s.prototype.zaa=function(a){this.yb.zaa(a)}; s.prototype.ni=function(a,b,c){this.h.set("visible",m);this.Ze.MX();a.set("currentTime",c);this.yb.start(a,b)};s.prototype.VG=function(){return this.de.$||this.yb.HOa()||this.yb.Hq};s.prototype.hv=function(){this.de.stop();this.Ze.end();this.Na.end();this.yb.hide();this.Tt.stop();this.yd.end();this.hV.end()};s.prototype.sH=function(){this.Na.resume();this.Ze.sH()};s.prototype.kH=function(){this.Na.pause();this.Ze.kH()};s.prototype.play=function(){this.Na.play();this.yd.play();this.Ze.play()};s.prototype.pause= function(){this.Na.pause();this.yd.pause();this.Ze.pause()};s.prototype.stop=function(){this.Na.stop();this.yd.stop();this.Ze.stop()};s.prototype.ty=function(a){this.Na.ty(a);this.hV.ty(a)};s.prototype.getTime=function(){return this.Ze.getTime()};s.prototype.moveTo=function(a,b,c,d,e){this.Na.moveTo(a,b,c,d,e)};s.prototype.Oc=function(){return this.h?this.h.Oc():l};s.prototype.Hc=function(){return this.h?this.h.Hc():l};s.prototype.rf=function(){return this.h?this.h.rf():l};s.prototype.lg=function(){return this.h? this.nc.XOa(this.h.lg()):l};s.prototype.AN=function(){return this.h?this.h.AN():l};s.prototype.BN=function(){return this.h?this.h.BN():l};s.prototype.xe=function(){var a=this.Ze.yj()||this.Na.yj();this.trigger(new d(s.mc,{state:a}))};s.prototype.Aj=function(a){this.Na.Aj(a)};s.prototype.oO=function(a){this.Na.oO(a)};s.prototype.vy=function(a){this.Na.vy(a)};s.prototype.pO=function(a){this.Na.pO(a)};s.prototype.kf=function(a){this.Ze.kf(a)};s.prototype.DC=function(a){this.Na.DC(a)};s.prototype.nPa= function(a,b){var c=t.get(a,b,this.h.Oc(),this.h.Hc(),this.h.rf(),this.h.lg(),this.h.Ra(),this.h.zb());return c?{x:c.x,y:c.y}:r};s.prototype.cPa=function(a,b){var c=t.STa(a,b,this.h);return c?{yaw:c.Ka,pitch:c.pitch}:r};s.prototype.uC=function(){this.h.uC()};s.prototype.Yja=function(a){this.de.start(a.data.panorama)};s.prototype.bi=function(a){this.h.wX(m);this.trigger(new d(s.us,{percent:a.Gg}))};s.prototype.Xja=function(a){this.Ze.end();this.hV.ni(a.data.panorama)};s.prototype.DK=function(){this.h.wX(B); this.trigger(new d(s.My))};s.prototype.re=function(){this.Vf.wb()};s.prototype.kx=function(a){a=a.data.frameTime;this.nc.setSize(this.h.Ra(),this.h.zb());this.yb.ev(a);this.Na.ev(a)};s.prototype.lx=function(a){a=a.data.frameTime;this.yb.fd(a);this.Na.fd(a);this.Ze.fd(a);this.Tt.fd(a);this.yd.fd(a)};s.prototype.MK=function(a){this.Tt.display(a.data.panorama);this.Ze.$G(a.data.panorama);this.trigger(new d(s.Uy,{panorama:a.data.panorama}))};s.prototype.nka=function(a){this.Tt.hide(a.data.panorama)}; s.prototype.hja=function(a){this.Ze.start(a.data.panorama);this.yd.start(a.data.panorama)};s.prototype.ija=function(){this.Ze.end();this.h.set("visible",B)};s.prototype.LK=function(a){this.Na.end();this.yd.end(a.data.nextPanorama);this.trigger(new d(s.Ry,{panorama:a.data.panorama}))};s.prototype.cu=function(a){this.Na.start(a.data.panorama,a.data.camera);this.trigger(new d(s.Ty,{panorama:a.data.panorama}))};s.prototype.jx=function(a){this.trigger(new d(s.Sy,{panorama:a.data.panorama}))};s.prototype.cka= function(a){this.Na.Gaa(a.data.yawDelta,0)};s.prototype.ap=function(a){this.trigger(new d(s.Dj,a.data))};s.prototype.di=function(a){this.trigger(new d(s.lo,a.data))};s.prototype.qx=function(a){this.trigger(new d(s.po,a.data))};s.prototype.gp=function(){this.Ze.By();this.trigger(new d(s.fh))};s.prototype.fp=function(){this.trigger(new d(s.eh))};s.prototype.Dua=function(a){this.Ze.BC(a)};s.prototype.sy=function(a){this.Ze.sy(a)};s.prototype.ep=function(a){this.trigger(new d(s.Qi,a.data))};s.us="loadingProgress"; s.My="loadingEnd";s.Dj="movementChange";s.lo="positionChange";s.Uy="panoramaStart";s.Ry="panoramaEnd";s.Ty="panoramaShow";s.Sy="panoramaHide";s.mc="playbackStateChange";s.fh="userInteractionStart";s.eh="userInteractionEnd";s.Qi="timeChange";s.po="transitionEnd";return s}); define("nD","require,kM,nW,cu,kn,cA,mS,jh,ia,gR,lh,ec,lw,hl,is,bu,dW,gp".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("kn"),c=a("cA"),i=a("mS"),f=a("jh"),j=a("ia"),n=a("gR"),k=a("lh"),o=a("ec"),p=a("lw"),q=a("hl"),t=a("is"),s=a("bu"),u=a("dW"),w=a("gp"),v=i.G("PanoramaPlayer",j,function(){j.call(this,"panorama");j.prototype.set.call(this,"rotationEnabled",m);j.prototype.set.call(this,"zoomEnabled",m);j.prototype.set.call(this,"surfaceSelectionEnabled",B);j.prototype.set.call(this, "surfaceSelectionHorizontalAngle",90);j.prototype.set.call(this,"surfaceSelectionVerticalAngle",180);j.prototype.set.call(this,"adjacentPanoramaPositionsEnabled",B);j.prototype.set.call(this,"fxaaEnabled",B);j.prototype.set.call(this,"aaEnabled",B);this.m7=this.T2=this.Hw=this.mS=this.eS=this.N_=this.vx=this.Hh=this.m_=B;this.w2=m;this.Mo=this.KE=this.pQ=B;this.$Q=this.M1=this.rd=this.$a=0;this.n5=this.p5=l;this.g4=m;this.fi=g.M;this.C=this.h=r;this.Uia={};for(var a in v.Ss)this.Uia[a]=this.vBa(a); this.QP=new f(this,"buttonToggleGyroscope",u.Jj);this.QP.bind(e.Hj,function(){this.set("gyroscopeEnabled",m)},this);this.QP.bind(e.Nl,function(){this.set("gyroscopeEnabled",B)},this);this.QP.set("pressed",this.get("gyroscopeEnabled")&&q.available);this.Cza=new f(this,"buttonCardboardView",u.me);this.Cza.bind(e.oa,function(){this.set("viewMode",v.Rv)},this,m);this.Sza=new f(this,"buttonVRView",u.me);this.Sza.bind(e.oa,function(){this.set("viewMode",v.Rv)},this,m);s.bind(e.ra,function(){this.xoa("viewMode"); this.trigger(v.Fwa)},this,m);this.RP=new f(this,"buttonToggleHotspots",u.Jj);this.RP.bind(e.Hj,function(){this.set("hotspotsEnabled",m)},this);this.RP.bind(e.Nl,function(){this.set("hotspotsEnabled",B)},this);this.RP.set("pressed",this.get("hotspotsEnabled"));this.UP=new f(this,"buttonToggleSurfaceSelection",u.Jj);this.UP.bind(e.Hj,function(){this.set("surfaceSelectionEnabled",m)},this);this.UP.bind(e.Nl,function(){this.set("surfaceSelectionEnabled",B)},this);this.UP.set("pressed",this.get("surfaceSelectionEnabled")); this.Qza=new f(this,"buttonScreenshot",u.me);this.Qza.bind(e.oa,this.sma,this,m);this.Md=b.Yp(this.Eg,this)});v.uwa="cameraPositionChange";v.fh="userInteractionStart";v.eh="userInteractionEnd";v.us="loadingProgress";v.Awa="preloadMediaShow";v.Fwa="viewModeChange";v.prototype.moveLeft=function(){this.xc(o.gD)};v.prototype.moveRight=function(){this.xc(o.hD)};v.prototype.moveUp=function(){this.xc(o.iD)};v.prototype.moveDown=function(){this.xc(o.fD)};v.prototype.playLeft=function(){this.xc([o.gD,o.Q])}; v.prototype.playRight=function(){this.xc([o.hD,o.Q])};v.prototype.playUp=function(){this.xc([o.iD,o.Q])};v.prototype.playDown=function(){this.xc([o.fD,o.Q])};v.prototype.play=function(){this.Zj()};v.prototype.pause=function(){this.jp()};v.prototype.stop=function(){this.px()};v.prototype.seek=function(a){this.kB(a)};v.prototype.setFramePlaybackPosition=function(a){this.wJa(a)};v.prototype.setFrameTransitionPosition=function(a){this.xJa(a)};v.prototype.restart=function(){this.mx()};v.prototype.zoomIn= function(){this.xc(o.Qs)};v.prototype.zoomOut=function(){this.xc(o.Rs)};v.prototype.resumeCamera=function(){this.GIa()};v.prototype.pauseCamera=function(){this.yHa()};v.prototype.moveTo=function(a,b,c,d){this.Tia(a,b,c,d,B)};v.prototype.setPosition=function(a,b,c,d){this.Tia(a,b,c,d,m)};v.prototype.getScreenPosition=function(a,b){return this.iEa(a,b)};v.prototype.getPanoramaPosition=function(a,b){return this.TDa(a,b)};v.prototype.saveScreenshot=function(){return this.sma()};v.prototype.get=function(a, b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0;case "viewMode":return s.isPresenting()?v.Rv:v.VZ;case "video":a="panorama";break;case "rendererPanorama":return this.C&&this.C.VG()}if(!b)switch(a){case "mouseControlMode":b=c.Vba;break;case "touchControlMode":b=c.Pca}return j.prototype.get.call(this,a,b)};v.prototype.set=function(a,b){if(this.get(a)!=b){switch(a){case "application":this.m_=m;this.Md();break;case "startTime":this.vx=m;this.Md();break;case "video":case "panorama":a= "panorama";this.vx=m;this.Md();break;case "camera":this.N_=m;this.Md();break;case "viewerArea":this.Hh=m;this.Md();break;case "displayPlaybackBar":case "hdrPanoramaDisplayPlaybackBarSteps":case "livePanoramaDisplayPlaybackBarSteps":case "buttonPlay":case "buttonPlayPause":this.Mo=m;this.Md();break;case "mapPlayer":this.eS=m;this.Md();break;case "model3DPlayer":this.mS=m;this.Md();break;case "gyroscopeEnabled":this.Hw=m;this.Md();break;case "gyroscopeVerticalDraggingEnabled":this.w2=m;this.Md();break; case "viewMode":if(b=="vr")b=v.Rv;b==v.Rv&&!s.isPresenting()?s.nk():b!=v.Rv&&s.isPresenting()&&s.Ef();b=s.isPresenting()?v.Rv:v.VZ;break;case "hotspotsEnabled":this.T2=m;this.Md();break;case "mouseControlMode":case "touchControlMode":this.pQ=m;this.Md();break;case "surfaceSelectionEnabled":this.m7=m;this.Md()}j.prototype.set.call(this,a,b)}};v.prototype.bq=function(a){this.KE=a;this.C&&this.C.ty(this.KE)};v.prototype.oqa=function(){return this.get("doubleClickAction")!="inherit"};v.prototype.E_=function(a){j.prototype.E_.call(this, a);a.bind(e.to,this.Apa,this,m)};v.prototype.S7=function(a){j.prototype.S7.call(this,a);a.unbind(e.to,this.Apa,this,m)};v.prototype.Apa=function(){switch(this.get("doubleClickAction")){case "toggle_fullscreen":var a=this.get("application").wi;a&&a.available()&&a.toggle()}};v.prototype.vBa=function(a){var b=v.Ss[a],a=new f(this,a,u.me);a.bind(e.Hb,function(){this.xc(b.movement)},this);b.stopOnRelease&&a.bind(e.ic,function(){this.xc(o.$f)},this);return a};v.prototype.Eg=function(){if(this.Hh||this.m_){this.Hh= this.m_=B;this.pQ=this.Hw=this.mS=this.eS=m;this.ot();this.get("viewerArea")&&this.get("application")&&this.lt();this.WL(this.get("viewerArea"))}var a=B;if(this.h){if(this.eS){this.eS=B;this.C.xaa(this.get("mapPlayer"))}if(this.mS){this.mS=B;this.C.zaa(this.get("model3DPlayer"))}if(this.pQ){this.pQ=B;this.C.vy(this.get("mouseControlMode"));this.C.DC(this.get("touchControlMode"))}if(this.vx||this.N_){this.$Q=this.M1=this.$a=this.rd=0;this.n5=this.p5=l;a=m;this.N_=this.vx=B;if(this.get("panorama"))this.C.ni(this.get("panorama"), this.get("camera",new n),this.get("startTime"));else{this.C.hv();this.g4=m;this.fi=g.M;this.hc(g.M)}}if(this.w2){this.w2=B;this.C.pO(this.get("gyroscopeVerticalDraggingEnabled",m))}if(this.Hw){this.Hw=B;var b=this.get("gyroscopeEnabled")&&q.available;if(b&&q.disabled){b=B;t.Jba.show(function(){q.Z$(function(){this.set("gyroscopeEnabled",m)}.bind(this))}.bind(this))}this.set("gyroscopeEnabled",b);this.C.oO(b);this.QP.set("pressed",b)}if(this.T2){this.T2=B;this.RP.set("pressed",this.get("hotspotsEnabled"))}if(this.Mo){this.Mo= B;a=m}if(this.m7){this.m7=B;this.UP.set("pressed",this.get("surfaceSelectionEnabled"))}a&&this.Mu()}};v.prototype.ZF=function(){this.set("panorama",r)};v.prototype.lt=function(){var a=this.get("viewerArea"),b=this.get("application");this.h=new p(b,a,this);this.h.Y({left:0,top:0,bottom:0,right:0});a.La(this.h);this.C=new k(a,this.h);this.C.bind(k.Dj,this.ap,this);this.C.bind(k.lo,this.vja,this);this.C.bind(k.us,this.bi,this);this.C.bind(k.My,this.fF,this);this.C.bind(k.Ty,this.cu,this,m);this.C.bind(k.Sy, this.jx,this,m);this.C.bind(k.Uy,this.MK,this,m);this.C.bind(k.Ry,this.LK,this,m);this.C.bind(k.mc,this.xe,this);this.C.bind(k.fh,this.gp,this);this.C.bind(k.eh,this.fp,this);this.C.bind(k.Qi,this.ep,this);this.C.bind(k.po,this.qx,this,m);this.get("application").bind(e.u("mute"),this.JK,this);this.get("application").get("mute",B)&&this.C.kf(m);this.C&&this.C.ty(this.KE);s.bind(e.ra,this.Bn,this,m);this.l0();this.Ox(m)};v.prototype.ot=function(){if(this.h){this.C.unbind(k.Dj,this.ap,this);this.C.unbind(k.lo, this.vja,this);this.C.unbind(k.us,this.bi,this);this.C.unbind(k.My,this.fF,this);this.C.unbind(k.Ty,this.cu,this,m);this.C.unbind(k.Sy,this.jx,this,m);this.C.unbind(k.Uy,this.MK,this,m);this.C.unbind(k.Ry,this.LK,this,m);this.C.unbind(k.mc,this.xe,this);this.C.unbind(k.fh,this.gp,this);this.C.unbind(k.eh,this.fp,this);this.C.unbind(k.Qi,this.ep,this);this.C.unbind(k.po,this.qx,this);this.C.clear();this.C=r;this.get("application").unbind(e.u("mute"),this.JK,this);this.h.getParent().removeChild(this.h); this.h=r;s.unbind(e.ra,this.Bn,this,m);this.Ox(B)}};v.prototype.JK=function(){this.h&&this.C.kf(this.get("application").get("mute",B))};v.prototype.xe=function(a){this.fi=a.data.state;this.Xf()};v.prototype.Xf=function(){this.hc(this.g4||s.isPresenting()?this.fi:g.Q)};v.prototype.gp=function(){this.trigger(new d(v.fh))};v.prototype.fp=function(){this.trigger(new d(v.eh))};v.prototype.MK=function(a){this.trigger(new d(v.Awa,{panorama:a.data.panorama}))};v.prototype.LK=G();v.prototype.cu=function(a){this.l0(); this.ZJ(a.data.panorama)};v.prototype.jx=function(a){this.YJ(a.data.panorama)};v.prototype.ap=function(a){for(var b in v.Ss)this.Uia[b].set("state",a.data[v.Ss[b].pressedOn]?w.Za:w.le);this.g4=a.data.stopped;this.Xf();this.trigger(new d(e.Xba,a.data))};v.prototype.vja=function(a){this.l0();this.trigger(new d(v.uwa,a.data))};v.prototype.l0=function(){if(this.C){this.set("yaw",this.C.Oc());this.set("pitch",this.C.Hc());this.set("roll",this.C.rf());this.set("hfov",this.C.lg());this.set("actualHFOV", this.C.AN());this.set("actualVFOV",this.C.BN())}};v.prototype.bi=function(a){this.h.getParent().Y({progressPercent:a.data.percent,progressVisible:m});this.trigger(new d(v.us,a.data))};v.prototype.fF=function(){this.h.getParent().set("progressVisible",B)};v.prototype.qx=function(){this.trigger(e.CZ)};v.prototype.Bn=function(){this.set("viewMode",s.isPresenting()?v.Rv:v.VZ);this.Xf()};v.prototype.Tia=function(a,b,c,d,e){this.C&&this.C.moveTo(a,b,c,d,e)};v.prototype.xc=function(a){this.C&&this.C.Aj(a)}; v.prototype.Zj=function(){this.C.play()};v.prototype.Nn=function(){this.C.stop()};v.prototype.jp=function(){this.C.pause()};v.prototype.kB=function(a){this.C&&(this.Uga()?this.C.sy(a):this.C.Dua(a))};v.prototype.wJa=function(a){this.C&&this.C.Dua(a)};v.prototype.xJa=function(a){this.C&&this.C.sy(a)};v.prototype.yHa=function(){this.C&&this.C.kH()};v.prototype.GIa=function(){this.C&&this.C.sH()};v.prototype.iEa=function(a,b){if(this.C)return this.C.nPa(a,b)};v.prototype.TDa=function(a,b){if(this.C)return this.C.cPa(a, b)};v.prototype.sma=function(){this.C&&this.C.uC()};v.prototype.lL=function(a){this.kB(a.data.position)};v.prototype.ep=function(a){this.rd=a.data.time;this.$a=a.data.duration;this.M1=a.data.transitionPosition;this.$Q=a.data.transitionLength;this.p5=a.data.steps;this.n5=a.data.selectedStep;this.Mu()};v.prototype.Mu=function(){var a=this.h.getParent(),b=B;if(this.mDa()){var c=this.Uga(),d=this.VDa();if(c){if(this.$Q>0){a.Y({playbackBarPosition:this.M1,playbackBarDuration:this.$Q,playbackBarSteps:this.p5, playbackBarSelectedStep:this.n5,playbackBarLiveDragging:d});b=m}}else if(this.$a>0){a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.$a,playbackBarSteps:l,playbackBarSelectedStep:l,playbackBarLiveDragging:d});b=m}}a.set("playbackBarVisible",b)};v.prototype.mDa=function(){var a=this.get("panorama");return a?i.va("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",B)):i.va("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBar",this.get("displayPlaybackBar", B)):i.va("VideoPanorama",a)?this.get("videoPanoramaDisplayPlaybackBar",this.get("displayPlaybackBar",m)):B:B};v.prototype.Uga=function(){var a=this.get("panorama");return!a?B:i.va("HDRPanorama",a)?this.get("hdrPanoramaDisplayPlaybackBarSteps",m):i.va("LivePanorama",a)?this.get("livePanoramaDisplayPlaybackBarSteps",m):B};v.prototype.VDa=function(){var a=this.get("panorama");return!a||i.va("VideoPanorama",a)?B:m};v.Rv="cardboard";v.VZ="standard";v.Ss={buttonMoveLeft:{movement:o.gD,pressedOn:"movingLeft", stopOnRelease:m},buttonMoveRight:{movement:o.hD,pressedOn:"movingRight",stopOnRelease:m},buttonMoveUp:{movement:o.iD,pressedOn:"movingUp",stopOnRelease:m},buttonMoveDown:{movement:o.fD,pressedOn:"movingDown",stopOnRelease:m},buttonPlayLeft:{movement:[o.gD,o.Q],pressedOn:"movingLeft",stopOnRelease:B},buttonPlayRight:{movement:[o.hD,o.Q],pressedOn:"movingRight",stopOnRelease:B},buttonPlayUp:{movement:[o.iD,o.Q],pressedOn:"movingUp",stopOnRelease:B},buttonPlayDown:{movement:[o.fD,o.Q],pressedOn:"movingDown", stopOnRelease:B},buttonZoomIn:{movement:o.Qs,pressedOn:"zoomingIn",stopOnRelease:m},buttonZoomOut:{movement:o.Rs,pressedOn:"zoomingOut",stopOnRelease:m}};return v}); define("cw",["require","mS","cT","hO"],function(a){var b=a("mS"),e=a("cT"),d=a("hO"),a=b.G("PanoramaPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.cu,this),a.set("panorama",this.get("media")),a.set("camera",this.get("camera")))};a.prototype.stop=function(){var a=this.get("player");a&&(a.unbind(e.Kg,this.cu,this),a.get("panorama")==this.get("media")&&a.set("panorama",r));d.prototype.stop.call(this)}; a.prototype.cu=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Kg,this.cu,this),this.get("player").bind(e.Ll,this.jx,this),this.NB())};a.prototype.jx=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Ll,this.jx,this),this.stop(),this.end())};return a});define("kQ",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("PanoramaSnapshot",b,function(){b.call(this)})}); define("my",["require","kM","cm"],function(a){var b=a("kM"),e=a("cm"),a=b.extend(e,function(a,b,c,i){e.call(this);this.ed=a;this.X=b;this.ia=c;this.E1=i});a.prototype.Zr=function(){return[this.ed]};a.prototype.ji=S("ed");a.prototype.$c=S("X");a.prototype.Rd=S("ia");return a}); define("nV",["require","mS","ef","fI","my"],function(a){var b=a("mS"),e=a("ef"),d=a("fI"),g=a("my"),a=b.G("Photo",e,function(){e.call(this);this.ka=l});a.prototype.xj=function(){if(this.ka==l){var a=this.get("image");this.ka=a?new g(d.Up(a).get("url"),this.get("width"),this.get("height"),this.get("flipImageHorizontally",B)):r}return this.ka};a.prototype.Xr=function(){var a=this.hR(this.xj());this.get("audios",[]).forEach(function(b){a=a.concat(b.Xr())}.bind(this));return a};a.prototype.hR=function(a){return a? a.Zr():[]};return a});define("iX",["require","ef","mS"],function(a){var b=a("ef"),a=a("mS").G("PhotoAlbum",b,function(){b.call(this);this.set("loop",B)});a.prototype.Xr=function(){var a=[],b=this.get("playList");b&&b.get("items",[]).forEach(function(b){(b=b.get("media"))&&(a=a.concat(b.Xr()))});this.get("audios",[]).forEach(function(b){a=a.concat(b.Xr())});return a};return a}); define("gh",["require","hA","mS","iv"],function(a){var b=a("hA"),e=a("mS"),d=a("iv");return e.G("PhotoAlbumAudio",d,function(){d.call(this,b.jxa)})}); define("cR",["require","kn"],function(a){function b(a,b){this.h=a;this.Co=b;this.CD=[];this.Dq=[];this.Mp=1}var e=a("kn");b.prototype.clear=function(){for(var a=0;athis.Sa&&(this.Sa=1);var a=Math.min(0.5/this.Sa,0.5),b=Math.max(1-0.5/this.Sa,0.5);this.xab&&(this.xa=b);a=Math.min(0.5/this.Sa,0.5);b=Math.max(1-0.5/this.Sa,0.5);this.Aab&&(this.Aa=b)}};return b}); define("bA",["require"],function(){function a(a,e){this.h=a;this.W=e;this.Aa=this.xa=0.5;this.Sa=1;this.ZT=B}a.prototype.start=function(){this.Aa=this.xa=0.5;this.Sa=1;this.ZT=m};a.prototype.clear=function(){this.W=this.h=r};a.prototype.fb=function(a,e,d){this.xa=a;this.Aa=e;this.Sa=d};a.prototype.Ge=S("ZT");a.prototype.vb=function(){this.ZT=B};return a}); define("hp",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("PhotoCameraPosition",b,function(a,d,g){b.call(this);a!=l&&this.set("x",a);d!=l&&this.set("y",d);g!=l&&this.set("zoomFactor",g)})}); define("i","require,kM,bA,hp,nA,bD".split(","),function(a){var b=a("kM"),e=a("bA"),d=a("hp"),g=a("nA"),c=a("bD"),a=b.extend(e,function(a,b){e.call(this,a,b);this.N=r});a.prototype.start=function(a){var b=a.get("initialPosition",new d(0.5,0.5,1)),e=a.get("targetPosition",new d(0.5,0.5,1)),n=a.get("duration",1E3);if(n==0){this.xa=b.get("x");this.Aa=b.get("y");this.Sa=b.get("zoomFactor")}else this.N=new g(a.get("easing","linear"),[new c("x",b.get("x",0.5),e.get("x",0.5)),new c("y",b.get("y",0.5),e.get("y", 0.5)),new c("zoom",b.get("zoomFactor",1),e.get("zoomFactor",1))],n);this.vb(0)};a.prototype.clear=function(){this.N=r;e.prototype.clear.call(this)};a.prototype.Ge=function(){return this.N!=r};a.prototype.vb=function(a){if(this.N){this.N.vb(a);this.W.fb(this.N.eb("x"),this.N.eb("y"),this.N.eb("zoom"));this.xa=this.W.getX();this.Aa=this.W.getY();this.Sa=this.W.Vp();if(this.N.Se())this.N=r}};return a}); define("cF","require,kM,cu,fQ,mS,kn,lB,k,bA,i,nW".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("mS"),c=a("kn"),i=a("lB"),f=a("k"),j=a("bA"),n=a("i"),k=a("nW"),o=b.extend(d,function(a,b){d.call(this);this.h=a;this.Gd=b;this.h.bind(k.uc,this.Sb,this);this.o=c.M;this.Am=this.CT=this.ma=this.ka=r;this.W=new f});o.prototype.clear=function(){this.end();this.W=r;this.h.unbind(k.uc,this.Sb,this);this.h=r};o.prototype.end=function(a){if(this.ka==a||typeof a=="undefined"){this.Kfa();this.ma= this.CT=this.ma=this.ka=r}};o.prototype.start=function(a){if(this.ka!=a){this.end(this.ka);var b=a.get("media"),c=a.get("camera"),d=b.get("width",100),e=b.get("height",100),f=c?c.get("scaleMode",i.gh):i.gh;this.ka=a;this.ma=c;this.CT=b;b.xj();this.K=m;this.W.kO(d,e,f);this.xBa(c);this.Ba()}};o.prototype.stop=function(){if(this.o!=c.M){this.o=c.M;if(this.Am){this.Am.start(this.ma);this.Ba()}}};o.prototype.play=function(){if(this.o==c.M||this.o==c.Db){this.o=c.Q;this.Ba()}};o.prototype.pause=function(){if(this.o== c.Q)this.o=c.Db};o.prototype.ev=function(a){if(this.Am&&this.Am.Ge()){if(this.o==c.Q){this.Am.vb(a);this.Ba()}this.gl(this.Am.xa,this.Am.Aa,this.Am.Sa)}};o.prototype.xBa=function(a){this.Kfa();this.Am=g.va("MovementPhotoCamera",a)?new n(this.h,this.W):new j(this.h,this.W);this.Am.start(a)};o.prototype.Kfa=function(){if(this.Am){this.Am.clear();this.Am=r}};o.prototype.Sb=function(){this.W.setSize(this.h.Ra(),this.h.zb());this.Ba()};o.prototype.Ba=function(){this.trigger(new e(o.ob))};o.prototype.gl= function(a,b,c){this.Gd.fb(this.ka,a,b,c)};o.ob="request frame";return o}); define("hE","require,dZ,kM,cu,fQ,nW,hA,lB".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("cu"),g=a("fQ"),c=a("nW");a("hA");var i=a("lB"),f=e.extend(g,function(a,b){g.call(this);this.fM=[];this.J=a;this.h=b});f.prototype.pH=function(a){this.Ew(a).pH();return this};f.prototype.Te=function(a,b){this.Ew(a).Te(b);return this};f.prototype.Rm=function(a,b){this.Ew(a).Rm(b);return this};f.prototype.fb=function(a,b,c,d){this.Ew(a).fb(b,c,d);return this};f.prototype.mk=function(a){this.Ew(a).mk();return this}; f.prototype.stop=function(){this.aga(function(a){a.clear()});this.fM=[]};f.prototype.clear=function(){this.stop();this.h=this.J=this.fM=r};f.prototype.fd=function(){this.aga(function(a){a.update()})};f.prototype.Ew=function(a){var b=this.CCa(a);if(!b){b=new j(a,this.h);b.bind(j.Cca,this.GFa,this);b.bind(j.Aca,this.FFa,this);this.fM.push(b)}return b};f.prototype.aga=function(a){b(this.fM).each(a,this)};f.prototype.CCa=function(a){return b(this.fM).find(function(b){return b.getItem()==a})};f.prototype.GFa= function(){this.Ba()};f.prototype.FFa=function(a){this.trigger(new d(f.PY,{item:a.source.getItem()}))};f.prototype.Ba=function(){this.trigger(new d(f.ob))};f.ob="request frame";f.PY="photo preload end";var j=e.extend(g,function(a,b){g.call(this);this.ka=a;this.h=b;var d=a.get("camera");this.bf=d?d.get("scaleMode",i.gh):i.gh;this.Ci=a.get("media").xj();this.Ci.bind(c.T,this.Xc,this);this.Ci.bind(c.tc,this.pf,this);this.ca=j.jI;this.Aa=this.xa=0.5;this.Sa=1;this.hn=0;this.FD=B;this.fg=0;this.ja=B}); j.prototype.getItem=S("ka");j.prototype.pH=function(){this.ca==j.jI?this.JT():this.uoa()};j.prototype.Te=function(a){if(this.hn!=a){this.hn=a;this.we()}};j.prototype.Rm=function(a){if(this.fg!=a){this.fg=a;this.we()}};j.prototype.fb=function(a,b,c){if(this.xa!=a||this.Aa!=b||this.Sa!=c){this.xa=a;this.Aa=b;this.Sa=c;this.we()}};j.prototype.mk=function(){if(!this.FD){this.FD=m;this.we()}};j.prototype.clear=function(){this.ca==j.sP&&this.BL();(this.ca==j.gI||this.ca==j.iI||this.ca==j.hI)&&this.Yx(); this.Ci.unbind(c.T,this.Xc);this.Ci.unbind(c.tc,this.pf);this.Ci=r};j.prototype.update=function(){if(this.ja){this.ja=B;if(this.fg>-1&&this.fg<1&&this.hn>0){this.ca==j.jI&&this.OJ();this.ca==j.gI&&this.gya();if(this.ca==j.sP){if(this.FD){this.h.q9(this.Ci);this.FD=B}this.h.aq(this.Ci,this.hn);this.h.kSa(this.Ci,this.fg);this.h.rO(this.Ci,this.xa,this.Aa,this.Sa)}}else{this.ca==j.sP&&this.BL();(this.ca==j.gI||this.ca==j.hI)&&this.Yx()}}};j.prototype.we=function(){if(!this.ja){this.ja=m;this.ua()}}; j.prototype.ua=function(){this.trigger(new d(j.Cca))};j.prototype.JT=function(){this.ca=j.iI;this.h.$n(this.Ci);this.h.tsa(this.Ci)&&this.Xc()};j.prototype.OJ=function(){this.ca=j.hI;this.h.$n(this.Ci);this.h.tsa(this.Ci)&&this.Xc()};j.prototype.gya=function(){this.ca=j.sP;this.h.f9(this.Ci);this.h.nSa(this.Ci,this.bf)};j.prototype.BL=function(){this.ca=j.gI;this.h.removeItem(this.Ci)};j.prototype.Yx=function(){this.ca=j.jI;this.h.Bj(this.Ci)};j.prototype.Xc=function(){if(this.ca==j.iI||this.ca== j.hI){var a=this.ca==j.iI;this.ca=j.gI;this.we();a&&this.uoa()}};j.prototype.pf=function(){if(this.ca==j.iI||this.ca==j.hI)this.ca=j.jI};j.prototype.uoa=function(){this.trigger(new d(j.Aca))};j.Cca="requestUpdate";j.Aca="preloadEnd";j.jI="unloaded";j.iI="preloading";j.hI="loading";j.gI="loaded";j.sP="added";return f});define("mB",["require"],function(){return{Wm:"blending",xo:"scroll"}}); define("bY","require,dZ,kM,cu,fQ,nW,hE,mB".split(","),function(a){function b(a,b,c){this.Lm=a;this.item=b;this.Hva=c;this.index=a&&b?e(a.get("playList").get("items")).indexOf(this.item):0;this.loaded=B}var e=a("dZ"),d=a("kM"),g=a("cu"),c=a("fQ");a("nW");var i=a("hE"),f=a("mB");b.prototype.isEqual=function(a){return a&&a.Lm==this.Lm&&a.item==this.item};var j=d.extend(c,function(a,d,e){c.call(this);this.J=a;this.h=d;this.Gd=e;this.Gd.bind(i.PY,this.rla,this);this.zM=f.Wm;this.ca=j.uD;this.nf=new b(r, r,0);this.nt=this.Yj=this.Og=r;this.AM=l;this.Lx=0});j.prototype.XSa=R("zM");j.prototype.Haa=R("Lx");j.prototype.dba=function(a,c,d){this.Yj=r;a=new b(a,c,d);if(!a.isEqual(this.ca==j.uD?this.nf:this.Og)){this.Yj=a;this.pka()}};j.prototype.clear=function(){(this.ca==j.vP||this.ca==j.tP)&&this.trigger(new g(j.Bv,{album:this.Og.Lm,item:this.Og.item}));this.ca=j.uD;this.h=this.J=this.nt=this.nf=this.Og=this.Yj=r;this.Gd.unbind(i.PY,this.rla,this);this.Gd=r};j.prototype.fd=function(a){if(this.ca!=j.uD){this.AM= this.AM+a;a=this.Og.Hva;a=this.AM>=a?1:this.AM/a;this.ca==j.tP?this.mMa(a):this.ca==j.uP?this.nMa(a):this.zM==f.Wm?this.aMa(a):this.QMa(a);a<1?this.Ba():this.yw()}};j.prototype.mMa=function(a){this.Gd.Te(this.Og.item,a).Rm(this.Og.item,0)};j.prototype.nMa=function(a){this.Gd.Te(this.nf.item,1-a).Rm(this.nf.item,0)};j.prototype.aMa=function(a){this.Gd.Te(this.Og.item,Math.min(1,a*2)).Rm(this.Og.item,0);this.Gd.Te(this.nf.item,Math.min(1,(1-a)*2)).Rm(this.nf.item,0)};j.prototype.QMa=function(a){var b= this.nf.Lm!=this.Og.Lm||this.nf.index0?d[e-1]:r;this.In=e1){a="quad_out";b=this.iS}else if(this.JU<-1){a="quad_out";b=this.lS}else{a="quad_in_out";b=this.fg<-0.5?this.lS:this.fg>0.5?this.iS:0}this.N=new k(a,[new o("offset",this.fg,b,1E3/this.Dg)],0); this.Ba()}};p.prototype.fd=function(a){if(this.oj||this.N){if(this.N){this.N.vb(a);this.fg=this.N.eb("offset");if(this.N.Se()){this.N=r;this.lCa()}else this.Ba()}this.ka&&this.Gd.Rm(this.ka,this.fg*(1+this.Lx)).Te(this.ka,1);this.xn&&this.Gd.Rm(this.xn,(this.fg-1)*(1+this.Lx)).Te(this.xn,1);this.In&&this.Gd.Rm(this.In,(this.fg+1)*(1+this.Lx)).Te(this.In,1)}};p.prototype.lCa=function(){this.trigger(new d(p.xY,{album:this.Je,item:this.fg<0?this.In:this.fg>0?this.xn:this.ka}))};p.prototype.Ba=function(){this.trigger(new d(p.ob))}; p.prototype.eha=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,d=b?b.get("scaleMode",f.gh):f.gh,e={};if(i.va("MovementPhotoCamera",b)){b=b.get("initialPosition",new j(0.5,0.5,1));e.x=b.get("x",0.5);e.y=b.get("y",0.5);e.zoom=b.get("zoomFactor",0.5)}else{e.x=0.5;e.y=0.5;e.zoom=1}this.W.kO(a,c,d);this.W.setSize(this.h.Ra(),this.h.zb());this.W.fb(e.x,e.y,e.zoom);e.x=this.W.getX();e.y=this.W.getY();e.zoom=this.W.Vp();return e};p.ob="request frame"; p.wY="interaction begin";p.xY="interaction end";return p}); define("iL","require,kM,cu,fQ,nW,hE,mB,bY,fp".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ");a("nW");a("hE");var g=a("mB"),c=a("bY"),i=a("fp"),f=b.extend(d,function(a,b,e){d.call(this);this.J=a;this.h=b;this.Gd=e;this.zM=g.Wm;this.Dg=1E3;this.yb=new c(this.J,this.h,this.Gd);this.yb.bind(c.ob,this.re,this,m);this.yb.bind(c.WY,this.sja,this,m);this.yb.bind(c.po,this.tja,this,m);this.yb.bind(c.Vy,this.NK,this,m);this.yb.bind(c.Bv,this.QK,this,m);this.yb.bind(c.Wy,this.PK,this,m);this.yb.bind(c.jo, this.bp,this,m);this.yb.bind(c.ko,this.An,this,m);this.Mk=new i(this.J,this.h,this.Gd);this.Mk.bind(i.ob,this.re,this,m);this.Mk.bind(i.wY,this.xia,this,m);this.Mk.bind(i.xY,this.yia,this,m)});f.prototype.HX=function(a,b){this.zM=a;this.Dg=b;this.yb.XSa(a);this.Mk.WSa(b);this.yb.Haa(0.05);this.Mk.Haa(0.05)};f.prototype.display=function(a,b){this.yb.dba(a,b,this.Dg)};f.prototype.hide=function(){this.yb.dba(r,r,this.Dg)};f.prototype.clear=function(){this.yb.unbind(c.ob,this.re,this);this.yb.unbind(c.WY, this.sja,this);this.yb.unbind(c.po,this.tja,this);this.yb.unbind(c.Vy,this.NK,this);this.yb.unbind(c.Bv,this.QK,this);this.yb.unbind(c.Wy,this.PK,this);this.yb.unbind(c.jo,this.bp,this);this.yb.unbind(c.ko,this.An,this);this.yb.clear();this.yb=r;this.Mk.bind(i.ob,this.re,this,m);this.Mk.bind(i.wY,this.xia,this,m);this.Mk.bind(i.xY,this.yia,this,m);this.Mk.clear();this.Gd=this.h=this.J=this.Mk=r};f.prototype.fd=function(a){this.yb.fd(a);this.Mk.fd(a)};f.prototype.re=function(){this.Ba()};f.prototype.NK= function(a){this.trigger(new e(f.Vy,a.data))};f.prototype.QK=function(a){this.trigger(new e(f.Bv,a.data))};f.prototype.PK=function(a){this.trigger(new e(f.Wy,a.data));this.Mk.ORa(a.data.album,a.data.item)};f.prototype.bp=function(a){this.trigger(new e(f.jo,a.data))};f.prototype.An=function(a){this.trigger(new e(f.ko,a.data))};f.prototype.sja=function(){this.Mk.disable()};f.prototype.tja=function(a){this.zM==g.xo&&a.data.item&&this.Mk.enable();a.data.album||this.trigger(new e(f.tY))};f.prototype.xia= function(){this.trigger(new e(f.Dba))};f.prototype.yia=function(a){this.yb.dba(a.data.album,a.data.item,0);this.trigger(new e(f.Eba,a.data))};f.prototype.Ba=function(){this.trigger(new e(f.ob))};f.ob="request frame";f.Vy="photo added";f.Bv="photo removed";f.Wy="photo displayed";f.ko="photo album show";f.jo="photo album hide";f.Dba="manual interaction begin";f.Eba="manual interaction end";f.tY="all pending photo albums hidden";return f}); define("ig","require,dZ,kM,x,cu,fQ,kn".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("x"),g=a("cu"),c=a("fQ"),i=a("kn"),f=e.extend(c,function(){c.call(this);this.Je=r;this.o=i.M;this.v6=r});f.prototype.clear=function(){this.y9()};f.prototype.Taa=function(a){this.y9();this.Je=a;this.o=i.Q;this.v6=d.watch(this.Je,"playList.selectedIndex",this.mB,this);this.Je.get("playList").get("selectedIndex")==0?this.mB():this.Je.get("playList").set("selectedIndex",0)};f.prototype.y9=function(){if(this.Je){this.o= i.M;this.v6.unwatch();this.Je=this.v6=r}};f.prototype.stop=function(){if(this.o!=i.M){this.o=i.M;this.Je.get("playList").set("selectedIndex",0)}};f.prototype.play=function(){if(this.o==i.M){this.Je.get("playList").set("selectedIndex",0);this.o=i.Q;this.mB()}else if(this.o==i.Db)this.o=i.Q};f.prototype.pause=function(){if(this.o==i.Q)this.o=i.Db};f.prototype.next=function(){var a=this.Je.get("playList"),b=a.get("selectedIndex"),c=a.get("items").length;(b0||this.Je.get("loop"))&&a.set("selectedIndex",(b-1+c)%c)};f.prototype.XW=function(a){this.TJa(a)};f.prototype.uQa=function(a){if(this.Je){var c=b(this.Je.get("playList").get("items")).last();if(a==c&&!this.Je.get("loop")){this.o=i.M;this.trigger(new g(f.pY,{album:this.Je}))}else this.next()}};f.prototype.mB=function(){var a=this.kEa();a>=0&&(this.o!=i.Q&&a!=0?this.trigger(new g(f.SY)): this.trigger(new g(f.BY,{album:this.Je,item:this.Je.get("playList").get("items")[a]})))};f.prototype.kEa=function(){return this.Je?this.Je.get("playList").get("selectedIndex"):-1};f.prototype.TJa=function(a){if(this.Je){var c=this.Je.get("playList"),a=b(c.get("items")).indexOf(a);c.set("selectedIndex",a)}};f.SY="play request";f.BY="item request";f.pY="album end";return f}); define("cL","require,dZ,kM,nW,cu,fQ,kn,gI".split(","),function(a){a("dZ");var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("kn"),i=a("gI"),f=b.extend(g,function(a){g.call(this);this.J=a;this.sM=this.ka=r;this.eB=l;this.OR=B;this.o=c.M;i.bind(e.ra,this.bla,this,m)});f.prototype.XW=function(a){this.T0();if(this.ka=a){a=this.ka.get("media").get("duration",0);this.eB=a==0?l:Math.max(0,a-this.J.get("transitionDuration"));this.OR=B;this.o==c.Q&&this.n1()}};f.prototype.clear=function(){i.unbind(e.ra,this.bla, this,m);this.XW(r)};f.prototype.stop=function(){if(this.o!=c.M){this.T0();this.hc(c.M)}};f.prototype.play=function(){if(this.o==c.M){this.hc(c.Q);if(this.ka){this.OR=B;var a=this.ka.get("media").get("duration",0);this.eB=a==0?l:a;this.n1()}}else if(this.o==c.Db){this.hc(c.Q);this.ka&&this.n1()}};f.prototype.pause=function(){if(this.o==c.Q){this.hc(c.Db);this.ola()}};f.prototype.n1=function(){if(!this.OR){this.OR=m;this.trigger(new d(f.CY,{item:this.ka}))}this.mga()};f.prototype.bla=function(){i.visible? this.mga():i.visible||this.ola()};f.prototype.mga=function(){if(this.eB!==l){var a=this;this.cV=(new Date).getTime()+this.eB;this.sM=setTimeout(function(){a.sM=r;a.lLa()},this.eB)}else this.cV=l};f.prototype.T0=function(){if(this.sM){clearTimeout(this.sM);this.sM=r}};f.prototype.ola=function(){if(this.cV!==l){this.T0();this.eB=Math.max(1,this.cV-(new Date).getTime());this.cV=l}};f.prototype.lLa=function(){var a=this.ka;this.ka=r;this.eB=l;this.trigger(new d(f.AY,{item:a}))};f.prototype.hc=function(a){if(this.o!= a){this.o=a;this.trigger(new d(f.mc,{state:this.o}))}};f.mc="playback state change";f.CY="item start";f.AY="item end";return f}); define("mQ","require,kM,cu,fQ,bf,u".split(","),function(a){var b=a("kM"),e=a("cu"),d=a("fQ"),g=a("bf"),c=a("u"),i=b.extend(d,function(a){d.call(this);this.K=m;this.bA=B;this.h=a;this.hm=c.browser()==c.Gy&&c.Xd()==c.GZ?3:1;this.pe=this.fJ=0});i.prototype.clear=function(){this.K=B;this.h=r;this.pe=this.fJ=0};i.prototype.wb=function(){if(!this.bA){this.bA=m;g.wb(this.ij,this)}};i.prototype.ij=function(a){if(this.K){this.fJ++;this.pe=this.pe+a;if(this.fJ==this.hm){this.fJ=0;this.bA=B;a=this.pe;this.pe= 0;this.trigger(new e(i.mo,{frameTime:a}));this.trigger(new e(i.oo,{frameTime:a}));this.h.render()}else g.wb(this.ij,this)}};i.mo="frameStart";i.oo="positionSet";return i}); define("gT","require,kM,nW,cu,fQ,iI,cF,iL,ig,cL,hE,mQ".split(","),function(a){var b=a("kM");a("nW");var e=a("cu"),d=a("fQ"),g=a("iI"),c=a("cF"),i=a("iL"),f=a("ig"),j=a("cL"),n=a("hE"),k=a("mQ"),o=b.extend(d,function(a,b){d.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.Bh=new f(this.h);this.za=new j(this.J);this.Gd=new n(this.J,this.h);this.Ca=new i(this.J,this.h,this.Gd);this.Na=new c(this.h,this.Gd);this.Vf=new k(this.h);this.yd=new g(this.h);this.Gd.bind(n.ob,this.re,this,m);this.Bh.bind(f.BY, this.Kja,this,m);this.Bh.bind(f.SY,this.tka,this,m);this.Bh.bind(f.pY,this.OK,this,m);this.za.bind(j.CY,this.Lja,this);this.za.bind(j.AY,this.Jja,this);this.za.bind(j.mc,this.xe,this,m);this.Ca.bind(i.ob,this.re,this,m);this.Ca.bind(i.Vy,this.NK,this,m);this.Ca.bind(i.Bv,this.QK,this,m);this.Ca.bind(i.Wy,this.PK,this,m);this.Ca.bind(i.jo,this.bp,this,m);this.Ca.bind(i.ko,this.An,this,m);this.Ca.bind(i.Dba,this.AGa,this,m);this.Ca.bind(i.Eba,this.BGa,this,m);this.Ca.bind(i.tY,this.jja,this,m);this.Na.bind(c.ob, this.re,this,m);this.Vf.bind(k.mo,this.kx,this,m);this.Vf.bind(k.oo,this.lx,this,m)});o.prototype.clear=function(){this.Bh.clear();this.za.clear();this.Ca.clear();this.Na.clear();this.Vf.clear();this.yd.clear();this.Gd.clear();this.Gd.unbind(n.ob,this.re,this);this.Bh.unbind(f.BY,this.Kja,this);this.Bh.unbind(f.pY,this.OK,this);this.Bh.unbind(f.SY,this.tka,this);this.za.unbind(j.CY,this.Lja,this);this.za.unbind(j.AY,this.Jja,this);this.za.unbind(j.mc,this.xe,this);this.Ca.unbind(i.ob,this.re,this); this.Ca.unbind(i.Vy,this.NK,this);this.Ca.unbind(i.Bv,this.QK,this);this.Ca.unbind(i.Wy,this.PK,this);this.Ca.unbind(i.jo,this.bp,this);this.Ca.unbind(i.ko,this.An,this);this.Ca.unbind(i.tY,this.jja,this);this.Na.unbind(c.ob,this.re,this);this.Vf.unbind(k.mo,this.kx,this);this.Vf.unbind(k.oo,this.lx,this);this.J=this.h=this.Gd=this.yd=this.Vf=this.Na=this.Ca=this.za=this.Bh=r};o.prototype.HX=function(a,b){this.Ca.HX(a,b)};o.prototype.DSa=function(a){this.h.set("visible",m);this.Bh.Taa(a)};o.prototype.hv= function(){this.Bh.y9();this.za.stop();this.Ca.hide();this.Na.end();this.yd.nva()};o.prototype.next=function(){this.Bh.next()};o.prototype.R$=function(){this.Bh.R$()};o.prototype.stop=function(){this.za.stop();this.yd.stop();this.Bh.stop();this.Na.stop()};o.prototype.play=function(){this.za.play();this.yd.play();this.Bh.play();this.Na.play()};o.prototype.pause=function(){this.za.pause();this.yd.pause();this.Bh.pause();this.Na.pause()};o.prototype.AGa=function(){this.za.pause();this.yd.pause();this.Bh.pause(); this.Na.pause()};o.prototype.BGa=function(){this.za.play();this.yd.play();this.Bh.play();this.Na.play()};o.prototype.Kja=function(a){this.Ca.display(a.data.album,a.data.item)};o.prototype.tka=function(){this.play()};o.prototype.re=function(){this.Vf.wb()};o.prototype.kx=function(a){this.Na.ev(a.data.frameTime)};o.prototype.lx=function(a){a=a.data.frameTime;this.Ca.fd(a);this.Gd.fd(a);this.yd.fd(a)};o.prototype.NK=function(a){this.Na.start(a.data.item)};o.prototype.QK=function(a){var b=a.data.album, a=a.data.item,c=a.get("media");this.Na.end(a);this.yd.sTa(c);this.trigger(new e(o.OY,{photoAlbum:b,item:a}))};o.prototype.PK=function(a){var b=a.data.album,a=a.data.item;a.get("media");this.Bh.XW(a);this.za.XW(a);this.trigger(new e(o.NY,{photoAlbum:b,item:a}))};o.prototype.Lja=function(a){this.yd.pTa(a.data.item.get("media"))};o.prototype.Jja=function(a){this.Bh.uQa(a.data.item)};o.prototype.OK=function(a){this.za.stop();this.yd.stop();this.trigger(new e(o.MY,{photoAlbum:a.data.album}))};o.prototype.An= function(a){a=a.data.album;this.yd.Taa(a);this.za.play();this.Na.play();this.trigger(new e(o.ko,{photoAlbum:a}))};o.prototype.bp=function(a){a=a.data.album;this.yd.qTa(a);this.trigger(new e(o.jo,{photoAlbum:a}))};o.prototype.jja=function(){this.h.set("visible",B)};o.prototype.xe=function(a){this.trigger(new e(o.mc,{state:a.data.state}))};o.ko="photoAlbumShow";o.MY="photoAlbumEnd";o.jo="photoAlbumHide";o.NY="photoBegin";o.OY="photoEnd";o.mc="playbackStateChange";return o}); define("hi","require,jquery.mod,dZ,lB,kI,lf,u".split(","),function(a){function b(a,b){this.ka=a;this.Z=b;this.qb=a.$c();this.Ib=a.Rd();this.UQ=a.E1;this.b9=this.NJ=0;this.hn=1;this.fg=0;this.ja=m;this.s0();this.md=this.bd=100;this.Aa=this.xa=0.5;this.Sa=1;this.rL=m;this.Ne=1;this.jga={};this.Nha={};this.qpa=i.browser()!=i.Mh}var e=a("jquery.mod"),d=a("dZ"),g=a("lB"),c=a("kI");a("lf");var i=a("u");b.prototype.s0=function(){this.pP=e("
");var a={position:"absolute",left:"0",top:"0",width:this.bd+ "px",height:this.md+"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.pP.css(a);this.KZ=e(c.ff(this.ka.ji(),m));a={display:"block",position:"absolute",left:"0",top:"0",width:this.qb+"px",height:this.Ib+"px"};a["-moz-transform-origin"]=a["-webkit-transform-origin"]=a["transform-origin"]="0 0 0";a["-ms-transform-origin"]="0 0";this.KZ.css(a);this.pP.append(this.KZ)}; b.prototype.Ac=S("pP");b.prototype.getItem=S("ka");b.prototype.getX=S("xa");b.prototype.getY=S("Aa");b.prototype.Vp=S("Sa");b.prototype.Ra=function(){return Math.round(this.qb*this.Sa*this.Ne)};b.prototype.zb=function(){return Math.round(this.Ib*this.Sa*this.Ne)};b.prototype.Te=function(a){if(this.hn!=a){this.hn=a;this.ja=m}};b.prototype.pW=S("hn");b.prototype.yy=function(a){if(this.bf!=a){this.bf=a;this.ja=m}};b.prototype.wC=function(a,b){if(this.bd!=a||this.md!=b){this.bd=a;this.md=b;this.ja=m}}; b.prototype.fb=function(a,b,c){if(this.xa!=a||this.Aa!=b||this.Sa!=c){this.xa=a;this.Aa=b;this.Sa=c;this.ja=m}};b.prototype.Rm=function(a){if(this.fg!=a){this.fg=a;this.ja=m}};b.prototype.PRa=function(a){if(this.b9!=a){this.b9=a;this.ja=m}};b.prototype.render=function(){if(this.ja){this.ja=B;switch(this.bf){case g.NONE:this.Ne=1;break;case g.ro:this.Ne=this.bd/this.qb;break;case g.Fj:this.Ne=this.md/this.Ib;break;case g.iq:this.Ne=this.qb*this.md>this.Ib*this.bd?this.md/this.Ib:this.bd/this.qb;break; default:this.Ne=this.qb*this.md>this.Ib*this.bd?this.bd/this.qb:this.md/this.Ib}var a=this.Sa*this.Ne,b=this.bd*0.5-this.xa*this.qb*a,c=this.md*0.5-this.Aa*this.Ib*a,e=this.bd*this.fg,i=function(a,b){return Math.round(a*Math.pow(10,b))*Math.pow(10,-b)},p={};p.width=i(this.bd,0)+"px";p.height=i(this.md,0)+"px";p.transform=this.qpa?"translate3d("+i(e,2)+"px, 0px, 0px)":"translate("+i(e,2)+"px, 0px)";p["-moz-transform"]=p["-webkit-transform"]=p["-ms-transform"]=p.transform;p["z-index"]=this.b9;if(this.hn== 0)p.display="none";else{p.display="block";if(this.hn==1){p.filter=p["-ms-filter"]="";p.opacity=""}else{p.filter=p["-ms-filter"]="alpha(opacity="+Math.round(this.hn*100)+")";p.opacity=this.hn}}e=[];if(this.qpa){e.push("translate3d("+i(b,2)+"px, "+i(c,2)+"px, 0px)");e.push("scale3d("+a+", "+a+", "+a+")");if(this.UQ){e.push("translate3d("+this.qb+"px, 0, 0)");e.push("scale3d(-1, 1, 1)")}}else{e.push("translate("+i(b,2)+"px, "+i(c,2)+"px)");e.push("scale("+a+", "+a+")");if(this.UQ){e.push("translate("+ this.qb+"px, 0)");e.push("scale(-1, 1)")}}a={};a["-moz-transform"]=a["-webkit-transform"]=a["-ms-transform"]=a.transform=e.join(" ");if(!d.isEqual(this.jga,p)){this.jga=p;this.pP.css(p)}if(!d.isEqual(this.Nha,a)){this.Nha=a;this.KZ.css(a)}}};return b}); define("hD","require,jquery.mod,dZ,kM,nW,hA,kI,hi,bb,e".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kM"),g=a("nW"),c=a("hA"),i=a("kI"),f=a("hi"),j=a("bb"),n=a("e"),a=d.extend(n,function(){n.call(this);this.he("Renderer");this.set("toolTipDisabled",m);this.set("cursor",j.Ev);this.bind(g.uc,this.Sb,this,m);this.bind(g.Vc,this.Wj,this,m);this.bind(g.ad,this.Sj,this,m);this.gB=B;this.Zb=[];this.EU=this.Nu=B;this.i5=b("
");this.i5.css({position:"absolute",left:0,top:0,right:0,bottom:0, overflow:"hidden","-webkit-transform":"translateZ(0)"});this.sb().append(this.i5)});a.prototype.$n=function(a){i.$n(a,c.an)};a.prototype.Bj=function(a){i.Bj(a,c.an)};a.prototype.tsa=function(a){return i.QX(a)};a.prototype.f9=function(a){a=new f(a,this);a.wC(this.Ra(),this.zb());a.fb(0.5,0.5,0,1);this.i5.append(a.Ac());this.Zb.push(a);this.Nu=m};a.prototype.removeItem=function(a){if(a=this.Po(a)){this.Zb=e.without(this.Zb,a);a.Ac().detach();this.Nu=m}};a.prototype.q9=function(a){if(a=this.Po(a)){this.Zb= e.without(this.Zb,a);this.Zb.push(a);this.Nu=m}};a.prototype.nSa=function(a,b){this.Po(a).yy(b)};a.prototype.aq=function(a,b){this.Po(a).Te(b)};a.prototype.kSa=function(a,b){this.Po(a).Rm(b)};a.prototype.rO=function(a,b,c,d){this.Po(a).fb(b,c,d)};a.prototype.HN=function(a){return this.Po(a).getX()};a.prototype.IN=function(a){return this.Po(a).getY()};a.prototype.ora=function(a){return this.Po(a).Vp()};a.prototype.GN=function(a){return this.Po(a).Ra()};a.prototype.FN=function(a){return this.Po(a).zb()}; a.prototype.render=function(){if(this.gB){this.HMa();this.qKa();for(var a=0;a=0?this.Nd[a]:r};a.prototype.ena=function(a){if((this.se!=a||this.Qj!==l)&&this.Qj!==a)if(this.Qj===l){this.Qj=a;if(this.se)if(this.Qj&&this.se.get("player")==this.Qj.get("player")){this.se.EH(); this.ar()}else if(this.tFa(this.se,this.Qj)){a=this.se;a.EH();this.ar();a.Nva()}else{this.iia(this.se,this.Qj)&&this.se.get("media").get("modelLocations",[]).forEach(function(a){var b=!!(a.get("model")==this.Qj.get("media")&&a.get("forceModelLoading"));a.set("preferred",b)}.bind(this));this.se.stop()}else this.ar()}else this.Qj=a};a.prototype.tFa=function(a,b){return this.hia(b,a)};a.prototype.iia=function(a,b){return this.hia(a,b)};a.prototype.hia=function(a,b){return b&&g.va("Model3DPlayListItem", b)&&a&&g.va("PanoramaPlayListItem",a)&&a.get("player")&&a.get("player").get("model3DPlayer")==b.get("player")&&a.get("media").get("modelLocations",[]).find(function(a){return a.get("model")==b.get("media")&&(b.get("media").get("isLoaded")||a.get("forceModelLoading"))})};a.prototype.ar=function(){if(this.se){this.se.unbind(i.fq,this.SK,this);this.se.unbind(i.$f,this.ar,this);this.se.unbind(i.lb,this.ar,this)}if(this.Qj){this.iia(this.se,this.Qj)&&this.se.get("player").bind(i.CZ,this.qx,this,m);this.se= this.Qj;this.Qj=l;this.se.bind(i.fq,this.SK,this);this.se.bind(i.$f,this.ar,this);this.se.start()}else{this.Qj=this.se=l;this.set("selectedIndex",-1)}};a.prototype.qx=function(a){a.source.unbind(i.CZ,this.qx,this);this.SK();this.se.Mva()};a.prototype.SK=function(){this.se.unbind(i.fq,this.SK,this);this.se.unbind(i.$f,this.ar,this);this.se.bind(i.lb,this.ar,this)};a.prototype.bpa=function(){this.uL&&c.eX(this.uL.get("media"),-1);(this.uL=this.Nd&&this.Oe>=0?this.Nd[(this.Oe+1)%this.Nd.length]:r)&& c.eX(this.uL.get("media"),1)};return a});define("jP",["require","mS","eD"],function(a){var b=a("mS"),e=a("eD");return b.G("PhotoPlayList",e,function(){e.call(this)})});define("kd",["require","mS","hO"],function(a){var b=a("mS"),e=a("hO");return b.G("PhotoPlayListItem",e,function(){e.call(this)})});define("eo",["require","fV","mS"],function(a){var b=a("fV");return a("mS").G("PlaybackBar",b,function(){b.call(this)})}); define("mu",["require"],function(){function a(a){try{for(var g=(e.SN<<12)+e.UN&65535,c="",i=0,f=a.length;ia.Ra(),d=Math.min(a.Ra(),a.zb())/100,a=function(a){return Math.round(a*d)};this.Y({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.ih:k.tg});this.kl&&this.kl.Y({fontSize:b?a(3.15):14,textAlign:b&&c?"center":"left"});this.cw&&this.cw.Y({gap:b?0:13});this.vz&&this.vz.Y({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.ID&&this.ID.Y({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.ud()}};a.prototype.sfa= function(){var a=d.toArray(this.Vb.get("cookiesPolicy"));if(this.pL!=a){this.pL=a;this.MIa()}};a.prototype.MIa=function(){if(this.pL.length==0)this.J6(r);else{var a=this.pL[0];d.toArray(a.get("geographicArea")).length==0?this.J6(a):this.vDa(function(a){for(var b=r,c=0;c=0&&(b=e)}this.J6(b)}.bind(this))}};a.prototype.J6=function(a){if(this.vF!==a){this.vF&& this.vF.unbind(g.u("url"),this.y8,this);if(this.vF=a){this.vF.bind(g.u("url"),this.y8,this);this.y8();this.set("visible",m)}else{this.trigger(g.VC);this.set("visible",B)}}};a.prototype.y8=function(){var a=e(document.createElement("div")).html(c("cookies-notice"));a.find("a").css({color:"#2aabe2",cursor:"pointer","text-decoration":"underline"}).attr({href:this.vF.get("url"),target:"_blank"});this.r7=a.html();this.kl&&this.kl.set("content",this.r7)};a.prototype.Bza=function(){this.gna(m);this.set("visible", B);this.trigger(g.VC)};a.prototype.Nza=function(){this.gna(B);this.set("visible",B)};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.vDa=function(a){this.jDa(function(b){var c=[b];s.indexOf(b)&&c.push("EU");a(c)})};a.prototype.jDa=function(a){var c=b("tdvp_country_code");if(c)a(c);else if(!this.tga){this.tga=m;e.get("https://geoloc.3dvista.com",function(b){this.tga=B;b=b.country.toUpperCase(); try{window.localStorage.setItem("tdvp_country_code",b)}catch(c){}a(b)}.bind(this))}};var u="tdvp_accept_cookies_"+window.location.origin+window.location.pathname;a.prototype.aEa=function(){var a=b(u);if(a=="yes")return m;if(a=="no")return B};a.prototype.gna=function(a){try{window.localStorage.setItem(u,a?"yes":"no")}catch(b){}};return a}); define("lz",["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.eVa.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===l?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 e(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 d(){return(navigator.storage&&navigator.storage.persist? navigator.storage.persist():Promise.resolve(B)).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(B)}function c(){return!w?Promise.reject("files uninitialized, no space was requested"):Promise.resolve(w)}function i(a){a.length&&"/"==a[0]&&(a=a.substr(1)); return a.split("/").filter(function(a){return""!=a})}function f(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 n(a).then(function(a){return Promise.all(a.map(function(a){return a.isDirectory?j(a):f(a)}))}).then(function(){return f(a).then(function(){return Promise.resolve()},function(){return Promise.resolve()})})}function n(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 o(a,b){return new Promise(function(c,d){k(a,b,{create:B}).then(function(a){c(a)})["catch"](function(){k(a,b,{create:m}).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 p(a,b){return 0==b.length?a:o(a,b[0]).then(function(a){return p(a, b.slice(1))})}function q(a,b){return 0==b.length?a:k(a,b[0]).then(function(a){return q(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 u(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 w=r;return{kX: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})},rRa:function(a){return d().then(function(b){return e(b,a)}).then(function(a){return b(a)}).then(function(a){w=a})},jRa:function(a){var a=i(a),b=a[a.length-1],d=a.slice(0,-1);return c().then(function(a){return q(a.root,d)}).then(function(a){return t(a,b,{create:m})},function(){return Promise.resolve(r)}).then(function(a){return a&&f(a)})},bua:function(a,c){var d=i(a);return b(1024, c).then(function(a){return q(a.root,d)}).then(function(a){return j(a)},function(){return Promise.resolve()})},bwa:function(a,b,d){var e=i(a),f=e[e.length-1],g=e.slice(0,-1);return c().then(function(a){return p(a.root,g)}).then(function(a){return t(a,f,{create:B}).then(function(a){return Promise.resolve(a)},function(){return t(a,f,{create:m})})}).then(function(a){return s(a)}).then(function(c){c.seek(c.length);return new Promise(function(e,g){c.onwriteend=function(){e()};c.onerror=function(b){console.log("Error writing file:", a,b);g("error writing file: "+a)};c.write(new Blob([b],{type:d||u(f)}))})})}}}); define("cs",["require","lz","lH","u"],function(a){function b(a,b){this.kr=a;this.Dz=B;this.rp=r;this.fu=b||G()}function e(a){return a.IC>=c}var d=a("lz"),g=a("lH"),c=1048576,i=10485760,f=a("u").Ff()?3:5,a={File:function(a,b){this.url=a;this.IC=b;this.hO=this.GG=0}},j=a.Files=function(a,b,c,d){this.Hea=this.mza=a;this.er=b.slice();this.sga=[];var e=0;this.er.sort(function(a,b){return a.IC-b.IC});this.er.forEach(function(a){e+=a.IC});this.foa=e;this.Sz=[];this.VP=l;this.Mq=[];this.Q_=B;this.Af=c||G(); this.XI=d||G()};j.prototype.Mr=function(){return this.mAa().then(function(){return this.nAa()}.bind(this))};j.prototype.mAa=function(){return self.caches["delete"](this.Hea)};j.prototype.nAa=function(){var a=(new g(this.mza)).pathname;return d.bua(a,B).then(function(){return d.bua(a,m)})};j.prototype.requestStorage=function(){return d.rRa(Math.round(1.1*this.foa+10485760)).then(function(){return d.kX()})};j.prototype.download=function(){this.Q_=B;this.VP=0;this.Mr().then(function(){this.UI()}.bind(this))["catch"](function(a){console.log("error cleaning storage", a);d.kX().then(function(a){this.XI(B,a)}.bind(this))}.bind(this))};j.prototype.cancelDownload=function(){this.Q_=m;this.Mq.forEach(function(a){a.cancel()});this.Mr()};j.prototype.UI=function(){if(!(this.Q_||this.Mq.length>=f))if(0=this.sga.length;d.kX().then(function(a){this.XI(i,a)}.bind(this))}};j.prototype.Yfa=function(a,b,c){c?(this.Sz.splice(this.Sz.indexOf(a),1),this.Mq.splice(this.Mq.indexOf(b),1),this.VP+=a.IC,this.rj(),this.UI()): (a.GG=0,a.hO+=1,this.rj(),20<=a.hO?(console.log("Error downloading file: "+a.url+" after "+a.hO+" retries."),this.bia(a.url)?(this.sga.push(a),this.Mq.splice(this.Mq.indexOf(b),1),this.UI()):(this.cancelDownload(),d.kX().then(function(a){this.XI(B,a)}.bind(this)))):(console.log("Error downloading file: "+a.url+" attempt "+a.hO+" of 20. Will retry in 2000ms."),setTimeout(function(){this.Sz.splice(this.Sz.indexOf(a),1);this.Mq.splice(this.Mq.indexOf(b),1);e(a)?this.er.push(a):this.er.splice(0,0,a); this.UI()}.bind(this),2E3)))};j.prototype.QKa=function(a,b){return this.SKa(a,b).then(function(){if(this.YMa(a))return this.RKa(a,b)}.bind(this))};j.prototype.RKa=function(a,b){b=b.clone();return 200!=b.status?Promise.reject("response status: "+b.status):self.caches.open(this.Hea).then(function(c){return c.put(a,b)})};j.prototype.SKa=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,e){function f(){E.read().then(function(b){var c=b.value,d=[];if(c){for(;c.length+y>=i;){var e=c.slice(0,i-y);n.push(e);d.push(g(n));n=[];y=0;c=c.slice(e.length,c.length)}0a.indexOf("loading/")};j.prototype.YMa=function(a){var b=(new g(a)).pathname;return 0<=b.indexOf("files/")||0<=b.indexOf("pdfjs/")?m:this.bia(a)?B:m};j.prototype.rj=function(){var a=this.VP;this.Sz.forEach(function(b){a+=b.GG});this.Af(100*a/this.foa)};b.prototype.fetch=function(){return fetch(this.kr).then(function(a){if(this.Dz)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=l,d=0;b!==r&&(c=parseInt(b,10));this.rp=a.body.getReader();var e=B,f=function(a){this.Dz?a.close():e=m}.bind(this),g=function(a){return this.rp.read().then(function(b){var e=b.value;e&&(d+=e.byteLength,a.enqueue(e));b.done&&(c=d,j(a));this.fu({IC:c,GG:d})}.bind(this))["catch"](function(b){console.log("Error reading response",b);a.error(b)}.bind(this))}.bind(this),j=function(a){e&&(a.close(),e=B,this.rp=r)}.bind(this);return new Response(new ReadableStream({start:function(a){return f(a)},pull:function(a){return g(a)}, cancel:function(){j()}}))}.bind(this))};b.prototype.cancel=function(){this.Dz=m;this.rp&&this.rp.cancel()};a.Mr=function(a){return(new j(a,[])).Mr()};return a}); define("eG","require,kM,jquery.mod,nW,fQ,u,cs,lz,lS,lH,kN,dm".split(","),function(a){function b(a){q=a}var e=a("kM"),d=a("jquery.mod"),g=a("nW"),c=a("fQ"),i=a("u"),f=a("cs"),j=a("lz"),n=a("lS"),k=a("lH"),o=a("kN"),p=a("dm"),q=r;window.addEventListener("beforeinstallprompt",b);var t=e.extend(c,function(a){c.call(this);this.Vb=a;this.o="initial";this.w6=this.AU=this.aj=r;this.sp=B;this.aA=r;this.yV=l;this.Qz=q;this.YR=t.Isa();this.H3=k.Li("vr");if(!this.Qz&&!this.YR){window.removeEventListener("beforeinstallprompt", b);window.addEventListener("beforeinstallprompt",this.kGa.bind(this))}this.YR||window.addEventListener("appinstalled",this.Jya.bind(this))});t.prototype.Jaa=function(a){this.AU=a;this.Vl=k.nv(this.AU.get(TDV.PlayerSettings.BASE_DIR_URL)||k.getDirectory(this.AU.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL)));if(this.Vl[this.Vl.length-1]!="/")this.Vl=this.Vl+"/";this.aj=new s(this.Vl);this.yV=this.Sla=a.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);this.KEa=k.parse(k.getDirectory(window.location.href)).pathname; this.xCa=k.ey(k.nv("files.json",this.Vl),this.Sla);a=TDV.gb.Gra();this.w6=k.ey(this.AU.get(TDV.PlayerSettings.SERVICE_WORKER_URL),"swv="+a.MAJOR+"."+a.MINOR);this.aj=new s(this.Vl);this.aj.bind(g.T,this.iLa,this,m);this.aj.load()};t.prototype.aH=function(){return this.aj.state==s.PH};t.prototype.lqa=function(){return this.o=="can_install"&&!this.H3};t.prototype.nqa=function(){return this.aH()&&this.yV!=this.aj.version&&!this.H3};t.prototype.kqa=function(){return this.aj.state!=s.wba&&!this.H3};t.prototype.msa= function(){if(this.o=="can_install")if(this.Qz){this.Qz.userChoice.then(function(a){a.outcome!="accepted"&&this.hc("unavailable")}.bind(this));this.Qz.prompt().then(function(){this.Qz=r}.bind(this))}else this.c1()};t.prototype.cancel=function(){if(this.o=="downloading"){if(this.aA){this.aA.cancelDownload();this.aA=r}this.aj.Mr();this.hc("unavailable")}};t.prototype.Mr=function(){f.Mr(this.Vl);this.aj.Mr()};t.prototype.iLa=function(){this.Vb.get("downloadEnabled")!==m?this.hc("unavailable"):n.rwa!== m?this.hc("unavailable"):i.browser()!=i.tk||i.gd()==i.Hy||i.gd()==i.PC?this.hc("unavailable"):this.w6?"serviceWorker"in navigator?this.aH()&&!this.nqa()?this.hc("unavailable"):navigator.onLine?this.dIa():this.hc("unavailable"):this.hc("unavailable"):this.hc("unavailable")};t.prototype.hc=function(a){if(this.o!=a){this.o=a;a=["can_install","unavailable"].indexOf(this.o)>=0;if(this.sp!=a)(this.sp=a)&&this.trigger(g.Ic)}};t.prototype.dIa=function(){this.hc("registering_sw");navigator.serviceWorker.register(this.w6, {scope:this.KEa}).then(function(){this.Fma(m)}.bind(this))["catch"](function(){this.Fma(B)}.bind(this))};t.prototype.Fma=function(a){if(a)if(i.Ff())this.hc("can_install");else if(this.YR&&this.aj.state==s.oY){this.hc("can_install");this.c1()}else if(this.Qz)this.hc("can_install");else{this.hc("sw_registered");setTimeout(function(){this.o=="sw_registered"&&this.hc("can_install")}.bind(this),3E3)}else this.hc("unavailable")};t.prototype.kGa=function(a){this.Qz=a;this.o=="sw_registered"&&this.hc("can_install")}; t.prototype.Jya=function(){this.o=="sw_registered"&&this.hc("can_install");this.c1()};t.prototype.c1=function(){this.hc("downloading");this.trigger(g.fq);this.woa(0);this.IFa()};t.prototype.IFa=function(){var a=k.ey(this.xCa,"nc="+(new Date).getTime());d.getJSON(a,function(a){if(this.o=="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&&i.u$()?g.push("mobilevr2gen"): b.indexOf("mobilevr")>=0&&i.Ff()?g.push("mobilevr"):b.indexOf("mobile")>=0&&i.ub()?g.push("mobile"):b.indexOf("desktop")>=0&&!i.ub()&&g.push("desktop");b=[];for(c in a){if(d=a[c].tags){var j=B;if(Array.isArray(d))for(var e=0,n=d.length;e=0;else j=g.indexOf(d)>=0;if(!j)continue}d=k.nv(c,this.Vl);b.push(new f.File(d,a[c].size))}var q=(new k(window.location.pathname,window.location.href)).toString();b.filter(function(a){return a.url==q}).length==0&&b.push(new f.File(q,1024)); this.aA=new f.Files(this.Vl,b,this.woa.bind(this),this.Xfa.bind(this));this.aA.requestStorage().then(function(a){this.aj.storage=a?s.YH:s.wZ;this.aj.state=s.oY;this.aj.version=this.yV;this.aj.save();this.aA.download()}.bind(this))["catch"](function(){this.Xfa(B,l)}.bind(this))}}.bind(this))};t.prototype.woa=function(a){this.trigger(new o(g.dc,a))};t.prototype.Xfa=function(a,b){this.aA=r;this.hc("unavailable");if(a){this.aj.state=s.PH;this.aj.save()}a?this.trigger(g.lb,{success:m}):b?this.trigger(g.lb, {success:B,error:t.yba}):i.Ff()?this.trigger(g.lb,{success:B,error:t.xba}):this.YR?this.trigger(g.lb,{success:B,error:t.yba}):this.trigger(g.lb,{success:B,error:t.zba})};t.Isa=function(){return k.Ji("installed",B)};t.$Qa=function(a,b){var c=new t.aZ(a);c.bind(g.T,function(){var d=B;c.state==t.aZ.PH&&(d=t.Isa()?m:!navigator.onLine);d?j.toURL(a,c.storage==t.aZ.YH).then(function(a){b(a)}):b(a)},this,m);c.load()};t.zba="launchFromHomeScreen";t.xba="addToBookmark";t.yba="errorDownloading";var s=e.extend(c, function(a){c.call(this);this.Vl=a;this.y3="installation_state_"+a;this.xHa=k.parse(this.Vl).pathname+"installation_state.json";this.state=this.storage=this.version=l;this.Nma()});s.prototype.load=function(){if(this.JFa()&&this.state==s.PH)this.Zna(this.storage==s.YH).then(function(){this.trigger(g.T)}.bind(this))["catch"](function(){this.Zna(this.storage!=s.YH).then(function(){this.storage=this.storage==s.wZ?s.YH:s.wZ;this.p6();this.trigger(g.T)}.bind(this))["catch"](function(){this.state=s.oY;this.p6(); this.trigger(g.T)}.bind(this))}.bind(this));else this.trigger(g.T)};s.prototype.save=function(){this.p6();this.state==s.PH&&this.KIa()};s.prototype.JFa=function(){var a=p.getItem(this.y3);if(!a)return B;this.QCa(a);return m};s.prototype.p6=function(){p.setItem(this.y3,this.eoa())};s.prototype.Zna=function(a){return new Promise(function(b,c){j.toURL(this.Vl+"installation_state.json",a).then(function(a){d.ajax({type:"GET",url:a,success:function(){b()},error:function(){c()}})}.bind(this))}.bind(this))}; s.prototype.KIa=function(){j.bwa(this.xHa,this.eoa(),"text/json")};s.prototype.eoa=function(){var a={};a.version=this.version;a.storage=this.storage;a.state=this.state;return JSON.stringify(a)};s.prototype.QCa=function(a){this.PCa(JSON.parse(a))};s.prototype.PCa=function(a){this.version=a.version;this.storage=a.storage;this.state=a.state};s.prototype.Mr=function(){p.removeItem(this.y3);this.Nma()};s.prototype.Nma=function(){this.version="";this.storage=s.uxa;this.state=s.wba};s.uxa="unkonwn";s.wZ= "temporary";s.YH="persistent";s.wba="not started";s.oY="started";s.PH="completed";t.aZ=s;return t}); define("ka","require,kM,nW,nU,u,eG,fy,fG,mo,d,nt,e,ix".split(","),function(a){function b(a){var b=new f;b.Y({label:a,backgroundColor:"#0071BC",borderRadius:2,fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif",fontSize:14,paddingLeft:14,paddingRight:14,height:31,verticalAlign:n.Sd});return b}var e=a("kM"),d=a("nW"),g=a("nU"),c=a("u"),i=a("eG"),f=a("fy"),j=a("fG"),n=a("mo"),k=a("d"),o=a("nt"),p=a("e"),q=a("ix"),a=e.extend(o,function(a,b){o.call(this);this.Vb=a;this.Qf=b;this.Qf.bind(d.Ic, this.dFa,this,m);this.Qf.bind(d.fq,this.aFa,this,m);this.Qf.bind(d.dc,this.cFa,this,m);this.Qf.bind(d.lb,this.bFa,this,m);this.ca="hidden";this.XM=l;this.q5=B;this.Af=l;this.ri=this.et=this.wz=this.Az=this.xz=this.IU=this.Ia=r;this.Fya();this.Y({backgroundColor:"#000000",gap:18,height:55,width:"100%",paddingLeft:28,paddingRight:28,verticalAlign:n.Sd,layout:k.tg});this.Xf()});a.prototype.dFa=function(){if(this.Qf.lqa()||this.Qf.aH()&&this.Qf.kqa()){this.ca="ready";this.q5&&this.Ena()}else this.ca= "hidden";this.Xf()};a.prototype.aFa=function(){this.ca="installing";this.Xf()};a.prototype.cFa=function(a){this.Af=a.Gg;this.Xf()};a.prototype.bFa=function(a){this.ca=a.data.success?"installed":"failed";this.pga=a.data.error;this.Xf()};a.prototype.Tf=function(){this.PKa()};a.prototype.VS=function(){if(!this.q5){this.q5=m;this.ca=="ready"&&this.Ena()}};a.prototype.Ena=function(){this.XM=setTimeout(function(){this.XM=r;this.lHa()}.bind(this),5E3);this.Xf()};a.prototype.PKa=function(){this.dma();this.XM&& clearTimeout(this.XM);this.XM=r};a.prototype.lHa=function(){this.dma();if(this.ca=="ready"){this.ca="hidden";this.Xf()}};a.prototype.Fya=function(){this.bind(d.Uc,this.Tf,this);this.Vb.bind(d.Uc,this.VS,this);this.Vb.bind(d.Hb,this.VS,this)};a.prototype.dma=function(){this.unbind(d.Uc,this.Tf,this);this.Vb.unbind(d.Uc,this.VS,this);this.Vb.unbind(d.Hb,this.VS,this)};a.prototype.kb=function(){o.prototype.kb.call(this);if(this.Ia==r){this.Ia=new q;this.Ia.Y({fontColor:"#ffffff",fontWeight:"400",fontFamily:"Arial, sans-serif", fontSize:14,text:g("download-tour")});this.La(this.Ia)}if(this.xz==r){this.xz=b(g("download"));this.La(this.xz);this.xz.bind(d.oa,this.Gza,this,m)}if(this.Az==r){this.Az=b(g("refresh-downloaded"));this.La(this.Az);this.Az.bind(d.oa,this.Mza,this,m)}if(this.wz==r){this.wz=b(g("delete-downloaded"));this.La(this.wz);this.wz.bind(d.oa,this.Fza,this,m)}if(this.IU==r){this.IU=new p;this.IU.Y({width:"100%"});this.La(this.IU)}if(this.et==r){this.et=new j;this.et.Y({backgroundColor:"#ffffff",borderRadius:2, iconColor:"#000000",iconLineWidth:1,iconWidth:17,iconHeight:17,height:31,width:31});this.La(this.et);this.et.bind(d.oa,this.Eza,this,m)}if(this.ri==r){this.ri=b(g("cancel"));this.La(this.ri);this.ri.bind(d.oa,this.NP,this,m)}c.ub()&&this.ml();this.Xf()};a.prototype.Ao=function(){o.prototype.Ao.call(this);c.ub()&&this.getParent().bind(d.uc,this.ml,this,m)};a.prototype.Cm=function(){c.ub()&&this.getParent().unbind(d.uc,this.ml,this,m);o.prototype.Cm.call(this)};a.prototype.ml=function(){var a=this.getParent(); if(a){var b=Math.min(a.Ra(),a.zb())/100,c=function(a){return Math.round(a*b)};this.Y({gap:c(3.9),height:c(11.9),paddingLeft:c(6),paddingRight:c(6)});this.Ia&&this.Ia.Y({fontSize:c(3)});[this.xz,this.ri,this.Az,this.wz].forEach(function(a){a&&a.Y({borderRadius:c(0.4),fontSize:c(3),paddingLeft:c(3),paddingRight:c(3),height:c(6.7)})});this.et&&this.et.Y({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.Xf=function(){var a;switch(this.ca){case "ready":a= this.Qf.aH()?g("downloaded"):g("download-tour");break;case "installing":a=g("downloading");this.Af!==l&&(a=a+("..."+this.Af.toFixed(1)+"%"));break;case "installed":a=g("downloaded");break;case "failed":a=this.pga==i.zba?c.ub()?g("storage-not-provided-launch-from-homescreen"):g("storage-not-provided-launch-from-desktop"):this.pga==i.xba?g("storage-not-provided-bookmark"):g("download-failed")}this.Ia&&this.Ia.set("text",a);this.xz&&this.xz.set("visible",this.ca=="ready"&&!this.Qf.aH()&&this.Qf.lqa()); this.wz&&this.wz.set("visible",this.ca=="ready"&&this.Qf.aH()&&this.Qf.kqa());this.Az&&this.Az.set("visible",this.ca=="ready"&&this.Qf.nqa());this.ri&&this.ri.set("visible",this.ca=="installing");this.et&&this.et.set("visible",this.ca!="installing");this.set("visible",this.ca!="hidden")};a.prototype.Gza=function(){this.Qf.msa()};a.prototype.Mza=function(){this.Qf.msa()};a.prototype.Fza=function(){this.Qf.Mr();this.ca="hidden";this.Xf()};a.prototype.NP=function(){this.Qf.cancel();this.ca="hidden"; this.Xf()};a.prototype.Eza=function(){this.ca=="installing"&&this.Qf.cancel();this.ca="hidden";this.Xf()};return a}); define("lc","require,kM,dZ,nW,nU,u,mo,d,nt,mK,nc,fy,ix,iq".split(","),function(a){function b(a,b){this.text=a;this.Ou=b}var e=a("kM"),d=a("dZ"),g=a("nW"),c=a("nU"),i=a("u"),f=a("mo"),j=a("d"),n=a("nt"),k=a("mK"),o=a("nc"),p=a("fy"),q=a("ix"),t=a("iq"),a=e.extend(n,function(){n.call(this);this.Xo=[];this.ri=this.yz=this.Ia=this.kA=this.OF=this.Np=r;var a=new k;a.set("duration",500);a.set("easing","cubic_in");var b=new o;b.set("duration",500);b.set("easing","cubic_out");this.Y({backgroundColor:"#000000", backgroundOpacity:0.6,horizontalAlign:f.ke,gap:5,left:0,top:0,right:0,bottom:0,hideEffect:b,showEffect:a,visible:B})});a.prototype.kb=function(){n.prototype.kb.call(this);if(this.Np==r){this.Np=new n;this.Np.Y({centerX:0,centerY:0,backgroundColor:"#ffffff",horizontalAlign:f.ke,verticalAlign:f.Sd,layout:j.ih,shadow:m,shadowColor:"#000000",shadowHorizontalLength:0,shadowVerticalLength:0,shadowOpacity:0.2});this.La(this.Np)}if(this.Ia==r){this.Ia=new q;this.Ia.Y({fontColor:"#808080",fontWeight:"300", fontFamily:"Tahoma, Geneva, sans-serif"});this.Np.La(this.Ia)}if(this.kA==r){this.kA=new t;this.kA.Y({width:"80%"});this.Np.La(this.kA)}if(this.OF==r){this.OF=new n;this.OF.Y({backgroundColor:"#b3b3b3"});this.Np.La(this.OF)}if(this.si==r){this.si=new n;this.si.Y({horizontalAlign:f.ke,verticalAlign:f.Sd,layout:j.tg});this.Np.La(this.si)}if(this.yz==r){this.yz=new p;this.yz.Y({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ke,verticalAlign:f.Sd, label:c("yes").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.yz.bind(g.oa,this.Bea,this,m);this.si.La(this.yz)}if(this.ri==r){this.ri=new p;this.ri.Y({backgroundColor:"#606060",fontColor:"#FFFFFF",fontFamily:"Tahoma, Geneva, sans-serif",horizontalAlign:f.ke,verticalAlign:f.Sd,label:c("no").toUpperCase(),pressedBorderColor:"#808080",rollOverBorderColor:"#808080"});this.ri.bind(g.oa,this.NP,this,m);this.si.La(this.ri)}};a.prototype.Ao=function(){n.prototype.Ao.call(this); this.getParent().bind(g.uc,this.ml,this,m)};a.prototype.Cm=function(){this.getParent().unbind(g.uc,this.ml,this,m);n.prototype.Cm.call(this)};a.prototype.ml=function(){var a=this.getParent();if(a){var b=a.Ra(),a=a.zb();if(i.ub())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.Np&&this.Np.Y({borderRadius:b(1),width:b(80),height:b(40),gap:b(4),shadowBlurRadius:b(1),shadowSpread:b(1)});this.OF&&this.OF.Y({width:b(60),minHeight:2,height:b(0.25)}); this.si&&this.si.Y({gap:b(5)});this.ri&&this.ri.Y({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.25)});this.yz&&this.yz.Y({borderRadius:b(1),width:b(20),height:b(10),fontSize:b(4.5)});this.Ia&&this.Ia.Y({fontSize:b(5)});this.oV()}};a.prototype.show=function(a,c){this.ml();var d=this.kha(c);d>=0&&this.bma(d);this.VHa(new b(a,c));this.FD()};a.prototype.hide=function(a){a=this.kha(a);a>=0&&this.bma(a)};a.prototype.FD=function(){var a=this.getParent();a&&a.Qm(this,a.Ab().length-1)};a.prototype.Bea= function(){this.DP(m)};a.prototype.NP=function(){this.DP(B)};a.prototype.kha=function(a){for(var b=0;b'+a+"
"};a.prototype.DP=function(a){var b=this.yha();if(b){b=this.KDa(b.text);this.rIa(b);d(b).each(function(b){b.Ou&&b.Ou.call(this,a)},this)}};a.prototype.VHa=function(a){this.Xo.push(a);this.oV()};a.prototype.KDa=function(a){return d(this.Xo).filter(function(b){return b.text==a})};a.prototype.rIa=function(a){this.Xo=d(this.Xo).filter(function(b){return!d(a).contains(b)}); this.oV()};a.prototype.bma=function(a){this.Xo.splice(a,1);a==this.Xo.length&&this.oV()};a.prototype.yha=function(){return this.Xo.length>0?this.Xo[this.Xo.length-1]:r};return a}); define("iH","require,kM,nW,cu,fQ,u,mx".split(","),function(a){function b(a){return a.map(function(a){return String.fromCharCode(a)}).join("")}function e(a){for(;a&&a!=document;){if(a.getAttribute(t)=="Button")return m;a=a.parentNode}return B}var d=a("kM"),g=a("nW"),c=a("cu"),i=a("fQ"),f=a("u"),j=a("mx"),n=[],a=b([99,111,110,116,101,120,116,109,101,110,117]),k=b([109,111,117,115,101,100,111,119,110]),o=b([109,111,117,115,101,117,112]),p=b([109,111,117,115,101,108,101,97,118,101]),q=b([109,111,117, 115,101,101,110,116,101,114]),t=b([116,100,118,99,108,97,115,115]);document.addEventListener(a,function(a){if(!f.ub()||!e(a.target)){var b=f.Xd()==f.Pba?200:0;setTimeout(function(){(s===l||u===l||w===l||v===l||Math.abs(w-s)+Math.abs(v-u)<10)&&n.forEach(function(b){b(a)});s=u=w=v=l},b)}a.preventDefault();a.stopImmediatePropagation()},m);var s,u,w,v;document.addEventListener("mousedown",function(a){w=s=a.screenX;v=u=a.screenY},m);document.addEventListener("mousemove",function(a){w=a.screenX;v=a.screenY}, m);var x=1,d=d.extend(i,function(a,b){i.call(this);this.Pa=a;this.EDa=b;this.AS=this.AS.bind(this);this.Cd=this.Cd.bind(this);this.x3=B;this.u3=this.u3.bind(this);this.v3=this.v3.bind(this);this.t3=this.t3.bind(this);this.w3=this.w3.bind(this);this.ba=document.createElement("div");this.ba.style.setProperty("z-index",x,K[z]);for(var c in K[y])this.ba.style.setProperty(c,K[y][c],K[z]);n.push(this.AS)});d.prototype.clear=function(){this.EFa()&&this.L2();this.ba=r;n.splice(n.indexOf(this.AS),1)};d.prototype.AS= function(a){var b=this.EDa();if(b.length!=0){this.ba.replaceChildren();this.x3=B;var c=0;b.forEach(function(a){var b=document.createElement("div");if(a){b.textContent=a;for(var d in K[D])b.style.setProperty(d,K[D][d],K[z]);var e=c;c++;b.addEventListener(q,function(a){this.u3(a,e)}.bind(this));b.addEventListener(p,function(a){this.v3(a,e)}.bind(this));b.addEventListener(k,function(a){this.t3(a,e)}.bind(this));b.addEventListener(o,function(a){this.w3(a,e)}.bind(this))}else for(d in K[F])b.style.setProperty(d, K[F][d],K[z]);for(d in K[E])b.style.setProperty(d,K[E][d],K[z]);this.ba.appendChild(b)}.bind(this));(j.Rp()||document.body).appendChild(this.ba);this.ba.style.setProperty("display","block",K[z]);b=a.pageX;a=a.pageY;b+this.ba.clientWidth>document.body.clientWidth-5&&(b=document.body.clientWidth-this.ba.clientWidth-5);a+this.ba.clientHeight>document.body.clientHeight-5&&(a=document.body.clientHeight-this.ba.clientHeight-5);this.ba.style.setProperty("left",b+"px",K[z]);this.ba.style.setProperty("top", a+"px",K[z]);this.Pa.bind(g.Hb,this.Cd,this);document.addEventListener("mousedown",this.Cd);this.pNa=setInterval(this.oNa.bind(this),200)}};d.prototype.EFa=function(){return!!this.ba&&!!this.ba.parentNode};d.prototype.L2=function(){clearInterval(this.pNa);this.ba.parentNode.removeChild(this.ba);document.removeEventListener("mousedown",this.Cd);this.Pa.unbind(g.Hb,this.Cd,this);this.ba.style.setProperty("display","none",K[z])};d.prototype.oNa=function(){this.ba.contains(document.elementFromPoint(this.ba.offsetLeft+ this.ba.clientWidth*0.5,this.ba.offsetTop+this.ba.clientHeight*0.5))||this.ba.style.setProperty("z-index",x=x*10,K[z])};d.prototype.Cd=function(){this.L2()};d.prototype.t3=function(a){this.x3=m;a.preventDefault();a.stopImmediatePropagation()};d.prototype.w3=function(a,b){if(this.x3){this.L2();a.preventDefault();a.stopImmediatePropagation();this.trigger(new c(g.bn,{index:b}))}};d.prototype.u3=function(a){for(var b in K[L])a.currentTarget.style.setProperty(b,K[L][b],K[z])};d.prototype.v3=function(a){for(var b in K[J])a.currentTarget.style.setProperty(b, K[J][b],K[z])};var y="0",E="1",D="2",F="3",L="4",J="5",z="6",K=function(a){return JSON.parse(a.map(function(a){return String.fromCharCode(a)}).join(""))}([123,34,48,34,58,123,34,98,111,114,100,101,114,34,58,34,49,112,120,32,115,111,108,105,100,32,35,98,98,98,34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,111,115,105,116,105,111,110,34,58,34,97,98,115,111,108,117,116,101,34,44,34,100,105,115,112,108,97,121,34,58,34,110,111,110,101,34,44,34,98,97,99,107,103, 114,111,117,110,100,45,99,111,108,111,114,34,58,34,35,101,53,101,53,101,53,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,112,97,100,100,105,110,103,34,58,48,44,34,109,97,114,103,105,110,34,58,48,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,44,34,116,101,120,116,45,97,108,105,103,110,34,58,34,108,101,102,116,34,44,34,98,111,120,45,115,104,97,100,111,119,34,58,34,49,112,120,32,49,112,120,32,51,112,120,32,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,50, 41,34,125,44,34,49,34,58,123,34,102,111,110,116,45,102,97,109,105,108,121,34,58,34,65,114,105,97,108,34,44,34,102,111,110,116,45,115,105,122,101,34,58,34,49,51,112,120,34,44,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,111,112,97,99,105,116,121,34,58,49,44,34,100,105,115,112,108,97,121,34,58,34,98,108,111,99,107,34,44,34,112,111,105,110,116,101,114,45,101,118,101,110,116,115,34,58,34,97,108,108,34,125,44,34,50,34,58,123,34,99,117,114,115,111,114,34,58,34,112,111,105,110,116,101,114, 34,44,34,98,111,114,100,101,114,45,114,97,100,105,117,115,34,58,34,51,112,120,34,44,34,112,97,100,100,105,110,103,34,58,34,55,112,120,32,50,48,112,120,34,44,34,119,104,105,116,101,45,115,112,97,99,101,34,58,34,110,111,119,114,97,112,34,125,44,34,51,34,58,123,34,109,97,114,103,105,110,34,58,34,55,112,120,32,53,112,120,34,44,34,98,111,114,100,101,114,45,116,111,112,34,58,34,49,112,120,32,115,111,108,105,100,32,35,97,97,97,34,44,34,98,111,114,100,101,114,45,98,111,116,116,111,109,34,58,34,49,112,120, 32,115,111,108,105,100,32,35,102,102,102,34,125,44,34,52,34,58,123,34,99,111,108,111,114,34,58,34,35,102,102,102,102,102,102,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,114,103,98,97,40,48,44,32,48,44,32,48,44,32,48,46,55,41,34,125,44,34,53,34,58,123,34,99,111,108,111,114,34,58,34,35,48,48,48,48,48,48,34,44,34,98,97,99,107,103,114,111,117,110,100,45,99,111,108,111,114,34,58,34,34,125,44,34,54,34,58,34,105,109,112,111,114,116,97,110,116,34,125]);return d}); define("lL",["require","lH","bb"],function(a){function b(a){this.Pa=a;this.ur={};this.ur[d.axa]="move";this.ur[d.bxa]="ew-resize";this.ur[d.dxa]="ns-resize";this.ur[d.cxa]="nesw-resize";this.ur[d.exa]="nwse-resize";this.ur[d.uf]="pointer";this.ur[d.Ev]="inherit";this.ur[d.le]="default";this.Ng={};this.Ng[d.$y]="grab.cur";this.Ng[d.vk]="grabbing.cur";this.Ng[d.gca]="N.cur";this.Ng[d.hca]="NE.cur";this.Ng[d.Yba]="E.cur";this.Ng[d.kca]="SE.cur";this.Ng[d.jca]="S.cur";this.Ng[d.lca]="SW.cur";this.Ng[d.mca]= "W.cur";this.Ng[d.ica]="NW.cur";this.Ng[d.$ba]="FN.cur";this.Ng[d.aca]="FNE.cur";this.Ng[d.Zba]="FE.cur";this.Ng[d.dca]="FSE.cur";this.Ng[d.cca]="FS.cur";this.Ng[d.eca]="FSW.cur";this.Ng[d.fca]="FW.cur";this.Ng[d.bca]="FNW.cur";this.Gea={}}var e=a("lH"),d=a("bb");b.prototype.bra=function(a){return this.yFa(a)?this.vha(a):this.oFa(a)?this.kDa(a):this.vha(d.le)};b.prototype.Tza=function(a){if(!(a in this.Gea)){var b=new Image;b.src=this.Tga(a);this.Gea[a]=b}};b.prototype.yFa=function(a){return a in this.ur};b.prototype.vha=function(a){return this.ur[a]};b.prototype.oFa=function(a){return this.Ng[a]};b.prototype.kDa=function(a){this.Tza(a);return"url("+this.Tga(a)+"), default"};b.prototype.Tga=function(a){return e.nv(this.Pa.get("settings").get(TDV.PlayerSettings.CURSORS_DIR_URL))+"/"+this.Ng[a]};return b}); define("co",["require","dZ"],function(a){function b(){this.ou={};this.pp=[];this.HI=0}var e=a("dZ");b.prototype.push=function(a,b){if(this.ou[b]==l)this.ou[b]=[a],this.pp.push(b),this.pp.sort(function(a,b){return a-b}),this.HI++;else{var c=this.ou[b];e(c).contains(a)||(c.push(a),this.HI++)}};b.prototype.dra=S("HI");b.prototype.isEmpty=function(){return 0==this.pp.length};b.prototype.Sta=function(){if(!this.isEmpty()){var a=this.pp[0],b=this.ou[a].pop();0==this.ou[a].length&&(delete this.ou[a],this.pp= this.pp.slice(1));this.HI--;return b}};b.prototype.P$=function(){if(!this.isEmpty()){var a=this.pp[this.pp.length-1],b=this.ou[a].pop();0==this.ou[a].length&&(delete this.ou[a],this.pp=this.pp.slice(0,this.pp.length-1));this.HI--;return b}};return b}); define("io","require,dZ,kM,gg,co,bf,kP".split(","),function(a){function b(){this.yx=B;this.qla=l;this.K=m;this.eT=this.eT.bind(this);this.cQ=new d;this.NT=new d;this.FU=new d;this.ZR=new d;this.Z0=new d;g.wb(this.ij,this)}a("dZ");a("kM");var e=a("gg"),d=a("co"),g=a("bf"),c=a("kP");b.prototype.clear=function(){this.K=B};b.prototype.NN=function(a){this.cQ.push(a,this.vE(a));this.uu()};b.prototype.Wd=function(a){this.NT.push(a,this.vE(a));this.uu()};b.prototype.Lb=function(a){this.FU.push(a,this.vE(a)); this.uu()};b.prototype.ud=function(a){this.ZR.push(a,this.vE(a));this.uu()};b.prototype.sk=function(a){this.Z0.push(a,this.vE(a));this.uu()};b.prototype.V=function(){this.eMa();this.RMa();this.gMa()};b.prototype.eMa=function(){do{for(;!this.cQ.isEmpty();)this.cQ.P$().kb();this.NT.isEmpty()||this.NT.P$().Ja()}while(!this.NT.isEmpty()||!this.cQ.isEmpty())};b.prototype.RMa=function(){for(;!this.FU.isEmpty()||!this.ZR.isEmpty();){this.tV();this.f8()}};b.prototype.tV=function(){for(;!this.FU.isEmpty();){var a= this.FU.P$();if(a.NTa()){var b=a.getParent();if(b){b.Lb();b.ud()}else a.yua(0,0,a.Wr(),a.Vr())}}};b.prototype.f8=function(){for(;!this.ZR.isEmpty();)this.ZR.Sta().Fl()};b.prototype.gMa=function(){for(;!this.Z0.isEmpty();)this.Z0.Sta().Jg();e.ZQa()};b.prototype.uu=function(){if(!this.yx){this.yx=m;this.qla=(new Date).getTime()+500;c.ry(this.eT)}};b.prototype.eT=function(){this.yx=B;this.K&&this.V()};b.prototype.vE=function(a){return(a=a.getParent())?this.vE(a)+1:0};b.prototype.ij=function(){this.yx&& (new Date).getTime()>=this.qla&&this.eT();g.wb(this.ij,this)};return b}); define("gk","require,jquery.mod,dZ,kM,nW,nt,iH,lL,bj,io,mx,u".split(","),function(a){var b=a("jquery.mod"),e=a("dZ"),d=a("kM"),g=a("nW"),c=a("nt"),i=a("iH"),f=a("lL"),j=a("bj"),n=a("io"),k=a("mx"),o=a("u"),a=d.extend(c,function(a,d){this.yD=new n;c.call(this);this.qr(this);this.he("Application");this.Xe=b(a);this.I8=d;this.Xe.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.Au=b(document.createElement("div"));this.Au.css({position:"absolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",margin:0});this.Xe.append(this.Au);this.Au.append(this.Ac());this.Tna=this.Au.get(0);this.md=this.bd=l;this.hFa=10;this.gAa=500;this.FL=r;this.L0=new f(this);this.Xa=new j(this);this.ba.append(this.Xa.Ac());this.nQ=new i(this,this.Qga.bind(this));this.nQ.bind(g.bn,this.Xg(this.xja),this,m);this.Ria=m;this.set("contentOpaque", m);this.Mz=r;this.BI=[];this.hE(["globalmousemove"]);this.nza();this.EV=this.FV=0;this.tx=1;try{this.FV=window.top.innerWidth;this.EV=window.top.innerHeight;this.E2=m}catch(e){this.E2=B}this.npa();this.wi=new k(a);this.wi.bind(g.ra,function(){this.O1(this.wi.enabled())},this)});a.prototype.start=function(){if(!this.Fna){this.Fna=m;this.trigger(g.Ms)}};a.prototype.npa=function(){if(this.E2&&!k.enabled()){this.FV=window.top.innerWidth;this.EV=window.top.innerHeight}};a.prototype.clear=function(){this.vC(r); this.Qna();this.pCa();this.yD.clear();if(this.Xe){this.Ac().remove();this.Au.remove();this.Xe=r}this.L0=r;this.wi.eba();this.wi=r;if(this.nQ){this.nQ.clear();this.nQ=r}};a.prototype.vSa=R("Ria");a.prototype.O1=function(a){a?this.Mma():this.rAa()};a.prototype.Ut=function(){this.XJ=this.Pk=this.Au.width();this.WJ=this.Ok=this.Au.height()};a.prototype.vC=function(a){if(this.Mz!=a){this.Mz!=r&&this.Mz.DLa();this.Mz=a;for(var b=[];a!=r;){b=[a].concat(b);a=a.getParent()}for(var a=this.BI.length-1,c=m;a>= 0&&c;a--)e(b).contains(this.BI[a])?c=B:this.BI.pop().GLa();for(a=0;a=0&&c>=0&&bb?a:b)/(this.FV>this.EV?this.FV:this.EV),d=Math.round(a/c),e=Math.round(b/c);this.tx=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.tx=1}this.Au.css(a)};a.prototype.rAa=function(){this.Au.css({position:"abolute",left:0,top:0,right:0,bottom:0,width:"auto",height:"auto",transform:""});this.tx=1};a.prototype.EKa=function(){this.Qna();var a=this;this.FL=setTimeout(function(){a.FL=r;a.Lb()},this.hFa)};a.prototype.Qna=function(){if(this.FL){this.FL=r;clearTimeout(this.FL)}};a.prototype.wEa=function(){this.Tea()};a.prototype.Z1=function(){return e(c.prototype.Z1.call(this)).defaults({globaltouchmove:[{target:b(document), name:"touchmove",handler:this.Xg(this.xEa)}],globalmousemove:[{target:b(document),name:"mousemove",handler:this.Xg(this.Bha)},{target:b(window),name:"mouseout",handler:this.Xg(this.Bha)}],globalresize:[{target:b(window),name:"resize",handler:this.Xg(this.wEa)}]})};return a}); define("ge","require,jquery.mod,or,bZ,mx,nW,fQ,nU,u".split(","),function(a){function b(){q=TDV.gb.Ur();var a=p||q;if(o!=a){o=a;k.trigger(i.ra)}a=!!p&&q!=p&&n.ub();if(t!=a){if(!s){s=e("
");s.css({position:"fixed","z-index":d.Iwa,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"));u=s.find("img")}t&&s.detach();(t=a)&&(c.enabled()?e(c.Rp()):e("body")).append(s)}t&&u.css("transform",o==k.oxa?"translate(-11%, 0) rotate(-90deg)":"none")}var e=a("jquery.mod"),d=a("or"),g=a("bZ"),c=a("mx"),i=a("nW"),f=a("fQ"),j=a("nU"),n=a("u"),k=new f; k.gUa=TDV.gb.hZ;k.oxa=TDV.gb.iZ;k.AC=function(a){if(p!=a){p=a;b()}};k.pra=function(){return p};k.get=function(){return o};var o=l,p=l,q=l,t=B,s=r,u=r;window.addEventListener("resize",function(){b();setTimeout(b,500)},m);try{window.screen.orientation.addEventListener("change",b)}catch(w){window.addEventListener("orientationchange",b,B)}b();return k}); define("ij","require,kM,dZ,nW,cu,cA,mS,mu,nU,jh,F,ka,lc,dK,lw,mT,lf,u,hl,eG,cr,iT,lH,bu,dW,gk,nt,cU,mx,bC,ge,lr,dm".split(","),function(a){var b=a("kM"),e=a("dZ"),d=a("nW"),g=a("cu"),c=a("cA"),i=a("mS"),f=a("mu"),j=a("nU"),n=a("jh"),k=a("F"),o=a("ka"),p=a("lc"),q=a("dK");a("lw");var t=a("mT"),s=a("lf"),u=a("u"),w=a("hl"),v=a("eG"),x=a("cr"),y=a("iT"),E=a("lH"),D=a("bu"),F=a("dW"),L=a("gk"),J=a("nt"),z=a("cU"),K=a("mx"),I=a("bC"),A=a("ge"),N=a("lr"),H=a("dm"),C=i.G("Player",L,function(){L.apply(this, arguments);this.Qf=new v(this);this.Wfa=new o(this,this.Qf);this.Eq=new J;this.Eq.Y({backgroundOpacity:0,visible:m,width:"100%",height:"100%"});this.UE=new p;this.oG=new q;this.qQ=new k(this);var a=new z;a.IX(0);this.sO(a);this.Hf(m);this.bind(d.u("settings"),this.$Ga,this,m);this.yV=TDV.gb.Gra();A.bind(d.ra,this.KGa,this,m);I.ETa();this.Jza=new n(this,"buttonMute",F.me);this.Jza.bind(d.oa,this.jka,this,m);this.Rza=new n(this,"buttonUnmute",F.me);this.Rza.bind(d.oa,this.Uka,this,m);this.SP=new n(this, "buttonToggleMute",F.Jj);this.SP.bind(d.Hj,this.jka,this,m);this.SP.bind(d.Nl,this.Uka,this,m);this.bind(d.u("mute"),this.HGa,this);this.SP.set("pressed",this.get("mute"));this.Hza=new n(this,"buttonEnterFullscreen",F.me);this.Hza.bind(d.oa,this.Dja,this,m);this.Iza=new n(this,"buttonExitFullscreen",F.me);this.Iza.bind(d.oa,this.Eja,this,m);this.PP=new n(this,"buttonToggleFullscreen",F.Jj);this.PP.bind(d.Hj,this.Dja,this,m);this.PP.bind(d.Nl,this.Eja,this,m);this.PP.set("pressed",this.get("fullscreenEnabled")); this.bind(d.u("fullscreenEnabled"),this.sGa,this,m);this.set("fullscreenEnabled",this.wi.enabled());this.set("defaultMenu",["fullscreen","mute","rotation"]);this.bind(d.Ms,this.cHa,this,m);[d.Hb,d.ic,d.lq,d.bD,d.$C].forEach(function(a){this.bind(a,function(a){this.trigger(new g(d.WC,{CO:a}))},this,m)}.bind(this));["keydown","keyup"].forEach(function(a){document.addEventListener(a,function(a){this.trigger(new g(d.WC,{CO:a}))}.bind(this))}.bind(this));D.bind(d.ra,function(){D.isPresenting()?A.AC(l): A.AC(L.prototype.get.call(this,"lockedOrientation"))},this);this.wi.bind(d.ra,function(){var a=A.pra();A.AC(l);A.AC(a)},this)});C.zwa="orientationChange";C.prototype.logCapabilities=function(){this.QFa()};C.prototype.activateAudio=function(a){this.eya(a)};C.prototype.O1=function(a){L.prototype.O1.apply(this,arguments);this.set("fullscreenEnabled",a)};C.prototype.Ya=function(){L.prototype.Ya.call(this);this.f("mute",B);this.f("fullscreenEnabled",B)};C.prototype.kb=function(){L.prototype.kb.call(this); this.Wfa.getParent()!=this&&this.La(this.Wfa);if(this.Eq.getParent()!=this){this.La(this.Eq);this.Eq.La(this.qQ);this.Eq.La(this.UE);this.Eq.La(this.oG)}};C.prototype.JIa=function(a){var b=[];this.UE&&b.push(this.UE);this.oG&&b.push(this.oG);this.qQ&&b.push(this.qQ);for(var c=m,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)};C.prototype.Ja=function(){this.Rla||(this.Rla=e.difference(this.cEa(),["backgroundOpacity", "visible","includeInLayout","state","left","right","top","bottom","centerX","centerY","width","height","minWidth","minHeight","maxWidth","maxHeight","actualWidth","actualHeight","paddingLeft","paddingTop","paddingRight","paddingBottom"]));this.Ub(this.Rla,{},[this.Eq],m,m);L.prototype.Ja.call(this);this.SUa===m&&this.RUa()};C.prototype.set=function(a,b){switch(a){case "children":this.Eq.set(a,this.JIa(b));return;case "creationPolicy":this.Eq.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.wi.available()&&b;break;case "fullscreenFallback":K.paa(b);break;case "lockedOrientation":u.Ff()&&(b=l);A.AC(b);break;case "installAvailable":b=this.Qf.ready();break;case "mouseWheelEnabled":this.vSa(E.Ji("mousewheelenabled",b));break;case "backgroundPreloadEnabled":this.VIa(b);break;case "vrPolyfillScale":D.ISa(b);break;case "desktopMipmappingEnabled":t.NRa(b);break;case "mobileMipmappingEnabled":t.tSa(b)}L.prototype.set.call(this,a,b)};C.prototype.get= function(a,b){switch(a){case "children":case "creationPolicy":return this.Eq.get(a,b);case "touchEnabled":return this.vn;case "touchDevice":return u.cba();case "isMobile":return u.ub();case "orientation":return A.get();case "lockedOrientation":return A.pra();case "gyroscopeAvailable":return w.available;case "cardboardAvailable":case "vrAvailable":return D.available();case "fullscreenAvailable":return this.wi.available();case "vrPolyfillScale":return D.gPa();case "installAvailable":return this.Qf.ready(); case "surfaceSelectionAvailable":return m;case "pageScale":return this.tx;case O:return this.I8?L.prototype.get.apply(this,arguments):m;default:return L.prototype.get.apply(this,arguments)}};C.prototype.jka=function(){this.set("mute",m)};C.prototype.Uka=function(){this.set("mute",B)};C.prototype.HGa=function(){this.SP.set("pressed",this.get("mute"))};C.prototype.Dja=function(){this.set("fullscreenEnabled",m)};C.prototype.Eja=function(){this.set("fullscreenEnabled",B)};C.prototype.sGa=function(){this.get("fullscreenEnabled")? this.wi.nk():this.wi.Ef();this.PP.set("pressed",this.get("fullscreenEnabled"));this.set("fullscreenEnabled",this.wi.enabled())};C.prototype.$Ga=function(){var a=this.get("settings");if(a){x.Wp(a);y.Jaa(a);THREE.iwa=a.get(TDV.PlayerSettings.oba);this.Qf.Jaa(a)}};C.prototype.VIa=function(a){y.enabled(a)};C.prototype.Qga=function(){var a=[];this.SD=[];(this.get("menu")||[]).forEach(function(b){var c=b.get("label");a.push(b.get("label"));c&&this.SD.push(function(){b.trigger("click")})}.bind(this));var b= this.get("defaultMenu",[]);if(b.indexOf("rotation")>=0){var d=this.vj("PanoramaPlayer");if(d.length){a.push(d[0].get("mouseControlMode")==c.Ly?j("change-to-drag-and-release"):j("change-to-click-and-move"));this.SD.push(this.oLa.bind(this))}}if(b.indexOf("fullscreen")>=0&&this.wi.available()){a.push(this.wi.enabled()?j("exit-fullscreen"):j("enter-fullscreen"));this.SD.push(this.mLa.bind(this))}if(b.indexOf("mute")>=0){a.push(this.get("mute")?j("unmute"):j("mute"));this.SD.push(this.nLa.bind(this))}b= [].concat(f.name?[f.name]:[],f.jOa!="false"?f.SN?["v:"+f.SN+"."+f.UN]:["v:"+f.UN]:[]).join(" ");if(b!=""){a.length>0&&a.push("");a.push(b);this.SD.push(this.oHa.bind(this))}return a};C.prototype.xja=function(a){this.SD[a.data.index]()};C.prototype.oLa=function(){var a=this.vj("PanoramaPlayer"),b=a[0].get("mouseControlMode")==c.Ly?c.ts:c.Ly;a.forEach(function(a){H.setItem(M,b);a.set("mouseControlMode",b)})};C.prototype.cHa=function(){H.getItem(M)==c.ts&&this.vj("PanoramaPlayer").forEach(function(a){a.set("mouseControlMode", c.ts)});E.Li("mute")&&this.set("mute",E.Ji("mute",this.get("mute")));E.Li("vr")&&D.nk()};C.prototype.mLa=function(){this.wi.toggle()};C.prototype.nLa=function(){this.set("mute",!this.get("mute"))};C.prototype.oHa=function(){f.awa&&window.open(f.awa,"_blank")};C.prototype.KGa=function(){this.trigger(C.zwa)};C.prototype.QFa=function(){b.mOa(m);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();s.log();j.log();D.log()};C.prototype.eya=function(a){if(I.e9())N.FH(a);else{I.kba(a);I.Ni(this)}};var M="tdvp_"+window.location.pathname+"_rotation_mode",O=[119,97,116,101,114,109,97,114,107].map(function(a){return String.fromCharCode(a)}).join("");return C}); define("ck",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("PlayerMenuItem",b,function(){b.call(this)})}); define("T","require,kM,lm,nW,kn,mS,jN".split(","),function(a){a("kM");var b=a("lm"),e=a("nW"),d=a("kn"),g=a("mS"),c=a("jN"),a=g.G("PopupPanoramaOverlay",b,function(){b.call(this);this.set("state",d.M);this.bind(e.u("state"),function(){this.trigger(e.Yd)},this,m);this.Qc=l});a.prototype.show=function(){this.set("visible",m)};a.prototype.hide=function(){this.set("visible",B)};a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=function(){this.set("state",d.gP)};a.prototype.stop=function(){this.set("state", d.M)};a.prototype.hide=a.prototype.hide;a.prototype.pause=a.prototype.pause;a.prototype.play=a.prototype.play;a.prototype.show=a.prototype.show;a.prototype.stop=a.prototype.stop;a.prototype.get=function(a,d){switch(a){case "playbackPositions":if(this.Qc===l)this.Qc=c.iPa(this);return this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,c){var d=B;switch(a){case "hfov":case "vfov":case "pitch":case "rotationX":case "rotationY":case "rotationZ":case "yaw":case "playbackPositions":this.Qc= l;d=m}b.prototype.set.call(this,a,c);d&&a!="playbackPositions"&&this.trigger(e.u("playbackPositions"))};return a});define("nX",["require","z","mS"],function(a){var b=a("z");return a("mS").G("ProgressBar",b,function(){b.call(this)})}); define("gb",["require","lm","nW","mS","jN"],function(a){var b=a("lm"),e=a("nW"),d=a("mS"),g=a("jN"),a=d.G("QuadFramePanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.set=function(a,d){var f=B;switch(a){case "vertices":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&&"playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.a$(this)),this.Qc}return b.prototype.get.call(this, a,d)};return a});define("bE",["require","mS","cG"],function(a){var b=a("mS"),e=a("cG");return b.G("QuadHotspotPanoramaOverlay",e,function(){e.call(this)})});define("ir",["require","mS","t"],function(a){var b=a("mS"),e=a("t");return b.G("QuadHotspotPanoramaOverlayArea",e,function(){e.apply(this,arguments)})}); define("dA",["require","lm","nW","mS","jN"],function(a){var b=a("lm"),e=a("nW"),d=a("mS"),g=a("jN"),a=d.G("QuadHotspotPanoramaOverlayImageBase",b,function(){b.call(this);this.Qc=l});a.prototype.get=function(a,d){switch(a){case "playbackPositions":return this.Qc===l&&(this.Qc=g.a$(this)),this.Qc}return b.prototype.get.call(this,a,d)};a.prototype.set=function(a,d){var f=B;switch(a){case "opacity":case "distance":case "vertices":case "playbackPositions":this.Qc=l,f=m}b.prototype.set.call(this,a,d);f&& "playbackPositions"!=a&&this.trigger(e.u("playbackPositions"))};return a});define("fh",["require","mS","dA"],function(a){var b=a("mS"),e=a("dA");return b.G("QuadHotspotPanoramaOverlayImage",e,function(){e.call(this)})});define("jO",["require","mS","dA"],function(a){var b=a("mS"),e=a("dA");return b.G("QuadHotspotPanoramaOverlayMap",e,function(){e.call(this)})}); define("eH","require,lm,nW,kn,cu,mS,jN".split(","),function(a){var b=a("lm"),e=a("nW"),d=a("kn"),g=a("cu"),c=a("mS"),i=a("jN"),a=c.G("QuadVideoPanoramaOverlay",b,function(){b.call(this);this.Qc=l});a.prototype.play=a.prototype.play=function(){this.set("state",d.Q)};a.prototype.pause=a.prototype.pause=function(){this.set("state",d.Db)};a.prototype.stop=a.prototype.stop=function(){this.set("state",d.M)};a.prototype.set=function(a,c){var i=B;switch(a){case "state":var k=this.get("state")||d.M;k==d.M&& c==d.Q&&this.trigger(e.Ms);k!=c&&this.trigger(new g(e.Yd,{oldState:k,state:c}));break;case "enabledInCardboard":this.set("enabledInVR",c);break;case "distance":case "opacity":case "playbackPositions":case "vertices":this.Qc=l;i=m}b.prototype.set.call(this,a,c);i&&a!="playbackPositions"&&this.trigger(e.u("playbackPositions"))};a.prototype.get=function(a,c){switch(a){case "playbackPositions":if(this.Qc===l)this.Qc=i.a$(this);return this.Qc}return b.prototype.get.call(this,a,c)};return a}); define("lX",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("RainPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a});define("eW",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("RotationalCameraMovement",b,function(){b.call(this)})});define("cg",["require","mI","mS"],function(a){var b=a("mI");return a("mS").G("SlideInEffect",b,function(){b.call(this)})}); define("hT",["require","hf","mS"],function(a){var b=a("hf");return a("mS").G("SlideOutEffect",b,function(){b.call(this)})});define("nf",["require","lm","mS"],function(a){var b=a("lm"),a=a("mS").G("SnowPanoramaOverlay",b,function(){b.call(this)});a.prototype.get=function(a,d){"startState"==a&&d===l&&(d=this.get("initialState"));return b.prototype.get.call(this,a,d)};return a}); define("lA",["require","mS","kU"],function(a){var b=a("mS"),e=a("kU"),a=b.G("SphericPanoramaFrame",e,function(){e.call(this)});a.prototype.vl=function(){var a=this.get("sphere");return a&&b.va("Video360Resource",a)?m:(a=this.get("stereoSphere"))&&b.va("Video360Resource",a)?m:B};return a});define("fj",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("SphereModel3DObject",e,function(){e.call(this)})}); define("nE",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("SpriteModel3DObject",e,function(){e.call(this)})});define("bs",["require","mS","if"],function(a){var b=a("mS"),e=a("if");return b.G("SurfaceReticleModel3DObject",e,function(){e.call(this);this.set("transparentAreaActive",m)})}); define("da","require,dZ,kM,x,nt,mo,W,ix".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("x"),g=a("nt"),c=a("mo"),i=a("W"),f=a("ix"),j=e.extend(g,function(a){g.call(this);this.he("Tab");this.Z4=a;this.kl="";this.q7=B;this.nia=this.Ia=r;this.M8=this.L8=B;this.set("childrenInteractionEnabled",B);this.set("contentOpaque",m)});j.prototype.Ya=function(){g.prototype.Ya.call(this);this.f("horizontalAlign",c.ke);this.f("verticalAlign",c.Sd);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")};j.prototype.Vua=function(a){if(this.L8!=a){this.L8=a;this.M8=m;this.Wd()}};j.prototype.kb=function(){g.prototype.kb.call(this);if(this.Ia==r){this.Ia=new f;this.Ia.set("horizontalAlign","center");this.La(this.Ia)}};j.prototype.Ao=function(){g.prototype.Ao.call(this);this.nia=d.watch(this.Z4,"label", this.dF,this);this.ina(this.Z4.get("label"))};j.prototype.d6=function(){g.prototype.d6.call(this);this.nia.unwatch()};j.prototype.dF=function(){var a=this.Z4.get("label");this.ina(a?a:"")};j.prototype.ina=function(a){if(this.kl!=a){this.kl=a;this.q7=m;this.Wd()}};j.prototype.Ja=function(){if(this.q7){this.q7=B;this.Ia.set("text",this.kl)}if(this.M8){this.M8=B;this.Ia.set("direction",this.L8?i.ih:i.tg)}this.Ub(j.vda,j.vD,[this.Ia],m,m);g.prototype.Ja.call(this)};j.vda=["fontFamily","fontSize","fontColor", "fontWeight","fontStyle","textDecoration","textShadowColor","textShadowHorizontalLength","textShadowVerticalLength","textShadowBlurRadius","textShadowOpacity"];j.vD={};b(j.vda).each(function(a){j.vD[a]=a});return j});define("eO",["require"],function(){return{TH:"normal",dD:"inverse",qba:"center"}}); define("cP","require,dZ,kM,bg,bb,nW,nt,mo,d,hn,da,eO,hU".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("bg"),g=a("bb"),c=a("nW"),i=a("nt"),f=a("mo"),j=a("d"),n=a("hn"),k=a("da"),o=a("eO"),p=a("hU"),a=e.extend(i,function(){i.call(this);this.he("TabPanel");this.Oe=-1;this.mB=B;this.oM=[];this.WU=B;this.cr=[];this.b5=B;this.nM=[];this.zg=this.Ug=r;this.oB(B)});a.prototype.Ya=function(){i.prototype.Ya.call(this);this.f("pages",[]);this.f("selectedIndex",-1);this.f("tabsSize",25);this.f("tabsPosition", p.ec);this.f("tabsGap",0);this.f("tabsPadding",10);this.f("tabsAlign",o.TH);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")};a.prototype.kb=function(){i.prototype.kb.call(this);if(this.zg==r){this.zg=new i;this.zg.oB(B);this.La(this.zg)}if(this.Ug==r){this.Ug=new i;this.Ug.oB(B);this.La(this.Ug)}};a.prototype.set=function(a,b){if(a=="pages")this.BSa(b||[]);else if(a=="selectedIndex")this.Iaa(b); else if(a=="layout")b=j.WTa;i.prototype.set.call(this,a,b)};a.prototype.get=function(a,b){return a=="pages"?this.cr:a=="selectedIndex"?this.Oe:i.prototype.get.call(this,a,b)};a.prototype.Iaa=function(a){if(this.Oe!=a){this.Oe=a;this.Oe=Math.min(Math.max(this.Oe,-1),this.cr.length);this.mB=m;this.Wd();this.trigger(c.ra)}};a.prototype.BSa=function(a){if(!b.isEqual(this.cr,a)){this.cr=a;this.b5=m;this.Wd()}};a.prototype.aLa=function(a){this.oM=b(this.oM).union([a.source]);this.WU=m;this.Wd()};a.prototype.$Ka= function(a){this.oM=b(this.oM).difference([a.source]);this.WU=m;this.Wd()};a.prototype.ZKa=function(a){this.Iaa(b(this.nM).indexOf(a.source))};a.prototype.Ja=function(){var a=B,e=B,s=B,u=B,w=B,v=this.p("tabsPosition"),x=this.p("tabsAlign");if(this.b5){this.nM=[];this.Ug.Yta();this.zg.Yta();b(this.cr).forEach(function(a){var d=new k(a);d.oB(m);d.bind(c.kd,b.bind(this.aLa,this));d.bind(c.jc,b.bind(this.$Ka,this));d.bind(c.Hb,b.bind(this.ZKa,this));this.nM.push(d);this.Ug.La(d);a.Y({top:l,left:l,right:l, bottom:l,width:"100%",height:"100%"});this.zg.La(a)},this);this.Oe=Math.min(Math.max(this.Oe,0),this.cr.length-1);this.b5=B;e=a=w=m}if(this.v("tabsPosition")){this.H("tabsPosition");u=e=a=m}if(this.mB){this.mB=B;s=e=w=m}if(this.WU){this.WU=B;s=m}this.v("overflow")&&this.Ug.Y({contentOpaque:this.p("overflow")==n.xo,overflow:this.p("overflow")});b(["tabsAlign","tabsGap","tabsSize"]).forEach(function(b){if(this.v(b)){this.H(b);a=m}},this);b(["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.v(a)){this.H(a);u= e=m}},this);b(["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.v(a)){this.H(a); e=m}},this);b(["pagePaddingLeft","pagePaddingTop","pagePaddingRight","pagePaddingBottom"]).forEach(function(a){if(this.v(a)){this.H(a);u=m}},this);this.v("backgroundColorDirection")&&this.H("backgroundColorDirection");if(a){switch(v){case p.Ha:this.Ug.Y({left:0,right:l});break;case p.Ua:this.Ug.Y({left:l,right:0});break;case p.ec:this.Ug.Y({bottom:l,top:0});break;case p.Yb:this.Ug.Y({bottom:0,top:l})}switch(v){case p.Ha:case p.Ua:this.Ug.Y({layout:j.ih,top:0,bottom:0,height:l,width:this.p("tabsSize")}); switch(x){case o.dD:this.Ug.set("verticalAlign",f.Yb);break;case o.qba:this.Ug.set("verticalAlign",f.Sd);break;default:this.Ug.set("verticalAlign",f.ec)}break;case p.ec:case p.Yb:this.Ug.Y({layout:j.tg,left:0,right:0,height:this.p("tabsSize"),width:l});switch(x){case o.dD:this.Ug.set("horizontalAlign",f.Ua);break;case o.qba:this.Ug.set("horizontalAlign",f.ke);break;default:this.Ug.set("horizontalAlign",f.Ha)}}this.Ug.set("gap",this.p("tabsGap"))}if(e)for(var y=0;y0?v==p.Ha||v==p.ec?D[0]:D[D.length-1]:D}E.Y({backgroundOpacity:this.p("selectedTabBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:D,backgroundColorRatios:this.p("selectedTabBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:g.le,fontSize:this.p("selectedTabFontSize","tabsFontSize"),fontColor:this.p("selectedTabFontColor","tabsFontColor"),fontWeight:this.p("selectedTabFontWeight","tabsFontWeight"), fontStyle:this.p("selectedTabFontStyle","tabsFontStyle"),textDecoration:this.p("selectedTabTextDecoration","tabsTextDecoration"),textShadowColor:this.p("selectedTabTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("selectedTabTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("selectedTabTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("selectedTabTextShadowBlurRadius","tabsTextShadowBlurRadius"), textShadowOpacity:this.p("selectedTabTextShadowOpacity","tabsTextShadowOpacity")})}else D?E.Y({backgroundOpacity:this.p("tabsRollOverBackgroundOpacity","tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsRollOverBackgroundColor","tabsBackgroundColor"),backgroundColorRatios:this.p("tabsRollOverBackgroundColorRatios","tabsBackgroundColorRatios"),cursor:g.uf,fontSize:this.p("tabsRollOverFontSize","tabsFontSize"),fontColor:this.p("tabsRollOverFontColor","tabsFontColor"),fontWeight:this.p("tabsRollOverFontWeight", "tabsFontWeight"),fontStyle:this.p("tabsRollOverFontStyle","tabsFontStyle"),textDecoration:this.p("tabsRollOverTextDecoration","tabsTextDecoration"),textShadowColor:this.p("tabsRollOverTextShadowColor","tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsRollOverTextShadowHorizontalLength","tabsTextShadowHorizontalLength"),textShadowVerticalLength:this.p("tabsRollOverTextShadowVerticalLength","tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("tabsRollOverTextShadowBlurRadius","tabsTextShadowBlurRadius"), textShadowOpacity:this.p("tabsRollOverTextShadowOpacity","tabsTextShadowOpacity")}):E.Y({backgroundOpacity:this.p("tabsBackgroundOpacity","backgroundOpacity"),backgroundColor:this.p("tabsBackgroundColor"),backgroundColorRatios:this.p("tabsBackgroundColorRatios"),fontSize:this.p("tabsFontSize"),fontColor:this.p("tabsFontColor"),fontWeight:this.p("tabsFontWeight"),fontStyle:this.p("tabsFontStyle"),textDecoration:this.p("tabsTextDecoration"),textShadowColor:this.p("tabsTextShadowColor"),textShadowHorizontalLength:this.p("tabsTextShadowHorizontalLength"), textShadowVerticalLength:this.p("tabsTextShadowVerticalLength"),textShadowBlurRadius:this.p("tabsTextShadowBlurRadius"),textShadowOpacity:this.p("tabsTextShadowOpacity")});E.Y({borderLeftSize:v==p.Ua&&s?0:l,borderRightSize:v==p.Ha&&s?0:l,borderBottomSize:v==p.ec&&s?0:l,borderTopSize:v==p.Yb&&s?0:l})}if(u){y=this.p("tabsSize");switch(v){case p.Ha:this.zg.Y({left:y-(this.p("borderLeftSize","borderSize")||0),right:0,top:0,bottom:0});break;case p.Ua:this.zg.Y({left:0,right:y-(this.p("borderRightSize", "borderSize")||0),top:0,bottom:0});break;case p.ec:this.zg.Y({left:0,right:0,top:y-(this.p("borderTopSize","borderSize")||0),bottom:0});break;case p.Yb:this.zg.Y({left:0,right:0,top:0,bottom:y-(this.p("borderBottomSize","borderSize")||0)})}v==p.ec&&x==o.TH||v==p.Ha&&x==o.TH?this.zg.set("borderTopLeftRadius",0):this.zg.set("borderTopLeftRadius",this.p("borderTopLeftRadius","borderTopRadius","borderLeftRadius","borderRadius"));v==p.ec&&x==o.dD||v==p.Ua&&x==o.TH?this.zg.set("borderTopRightRadius",0): this.zg.set("borderTopRightRadius",this.p("borderTopRightRadius","borderTopRadius","borderRightRadius","borderRadius"));v==p.Yb&&x==o.TH||v==p.Ha&&x==o.dD?this.zg.set("borderBottomLeftRadius",0):this.zg.set("borderBottomLeftRadius",this.p("borderBottomLeftRadius","borderBottomRadius","borderLeftRadius","borderRadius"));v==p.Yb&&x==o.dD||v==p.Ua&&x==o.dD?this.zg.set("borderBottomRightRadius",0):this.zg.set("borderBottomRightRadius",this.p("borderBottomRightRadius","borderBottomRadius","borderRightRadius", "borderRadius"));this.zg.Y({paddingLeft:this.p("pagePaddingLeft"),paddingTop:this.p("pagePaddingTop"),paddingRight:this.p("pagePaddingRight"),paddingBottom:this.p("pagePaddingBottom"),borderLeftSize:this.p("borderLeftSize","borderSize"),borderTopSize:this.p("borderTopSize","borderSize"),borderRightSize:this.p("borderRightSize","borderSize"),borderBottomSize:this.p("borderBottomSize","borderSize"),borderLeftColor:this.p("borderLeftColor","borderColor"),borderTopColor:this.p("borderTopColor","borderColor"), borderRightColor:this.p("borderRightColor","borderColor"),borderBottomColor:this.p("borderBottomColor","borderColor"),shadow:this.p("shadow"),shadowHorizontalLength:this.p("shadowHorizontalLength"),shadowVerticalLength:this.p("shadowVerticalLength"),shadowBlurRadius:this.p("shadowBlurRadius"),shadowSpread:this.p("shadowSpread"),shadowColor:this.p("shadowColor"),backgroundOpacity:this.p("backgroundOpacity"),backgroundColor:this.p("backgroundColor"),backgroundColorRatios:this.p("backgroundColorRatios")}); v==p.ec||v==p.Yb?this.zg.set("backgroundColorDirection",d.BZ):this.zg.set("backgroundColorDirection",d.bZ)}if(w)for(y=0;yb.length){for(f=b.length;f=0&&aa.length){for(f=a.length;f=0&&d<2;this.XD=b;var f;for(f=this.Zl;fb)break;for(;this.Zl0){this.ae=[];this.CM()}};a.prototype.CM=function(){this.Cc.trigger(new c(g.uk,{activeCues:this.ae.slice()}))};a.prototype.r0=function(){this.ti=[];var a=this.Cc.get("cues",[]);e(a).each(function(a){this.ti.push(new b(a.get("startTime",0),a,"start"));this.ti.push(new b(a.get("endTime",Number.POSITIVE_INFINITY),a,"end"))},this);this.ti.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("mV","require,kM,bf,cu,fQ,nW,lB".split(","),function(a){var b=a("kM"),e=a("bf"),d=a("cu"),g=a("fQ");a("nW");a("lB");var c=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.WA=[];this.ca=c.jh;this.Ph=r;this.U0=l;this.ui=r;this.jg=this.Dg=l});c.prototype.display=function(a,b){this.Z_();if(this.ui!=a||this.ca!=c.jh){this.WA.push({video:a,startTime:b});this.qka()}};c.prototype.hide=function(){this.Z_();this.WA.push({video:r,startTime:l});this.qka()};c.prototype.clear=function(){this.ca= c.jh;this.Z_();this.hIa();this.Xla();this.h=r};c.prototype.Yg=function(a){if(this.ca!=c.jh&&(this.ca==c.dn||this.ca==c.Qv||this.ca==c.mz)){this.jg=this.jg+a;a=Math.min(1,this.jg/this.Dg);if(this.ca==c.dn)this.Ph.set("opacity",a);else if(this.ca==c.mz){this.Ph.set("opacity",Math.min(1,a*2));this.ui.set("opacity",Math.min(1,(1-a)*2))}else this.ui.set("opacity",1-a);this.jg0&&this.ca==c.jh&&this.Do()};c.prototype.Do=function(){this.ui&& this.trigger(new d(c.Xy,{video:this.ui}));if(this.J.get("transitionMode","blending")=="fade_out_fade_in"&&this.ui)this.Yv();else{var a=this.WA.shift();this.Ph=a.video;this.U0=a.startTime;this.Ph?this.Ph.get("chromaColor")&&this.ui?this.B_():this.qI():this.ui&&this.Yv()}};c.prototype.qI=function(){this.Qda();this.jg=0;this.Dg=this.J.get("transitionDuration");this.ca=c.dn;this.Ba()};c.prototype.B_=function(){this.Qda();this.jg=0;this.Dg=this.J.get("transitionDuration")*2;this.ca=c.mz;this.Ba()};c.prototype.Yv= function(){this.Ph=r;this.jg=0;this.Dg=this.J.get("transitionDuration");this.ca=c.Qv;this.Ba()};c.prototype.yw=function(){this.Xla();this.ui=this.Ph;this.Ph=r;this.ca=c.jh;this.ui?this.trigger(new d(c.Yy,{video:this.ui})):this.WA.length==0&&this.trigger(new d(c.Bba));this.WA.length!=0&&this.Do()};c.prototype.Ba=function(){e.wb(this.Yg,this)};c.prototype.Z_=function(){this.WA=[]};c.prototype.Qda=function(){if(this.Ph){this.Ph.set("opacity",0);this.Ph.set("zIndex",1);this.ui&&this.ui.set("zIndex",0); this.Ph.set("currentTime",this.U0||0);this.h.DNa(this.Ph);this.trigger(new d(c.XY,{video:this.Ph,startTime:this.U0}))}};c.prototype.Xla=function(){if(this.ui){this.h.dua(this.ui);this.trigger(new d(c.$O,{video:this.ui}));this.ui=r}};c.prototype.hIa=function(){if(this.Ph){this.h.dua(this.Ph);this.trigger(new d(c.$O,{video:this.Ph}));this.Ph=r}};c.jh="stopped";c.dn="blending";c.mz="double blending";c.Qv="disolving";c.ob="request frame";c.XY="video added";c.$O="video removed";c.Yy="video show";c.Xy= "video hide";c.Bba="all pending videos hidden";return c}); define("iK","require,kM,nW,cu,fQ,kn".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("cu"),g=a("fQ"),c=a("kn"),i=b.extend(g,function(){g.call(this);this.Cc=r;this.Le=B;this.G0=c.M});i.prototype.start=function(a){this.end();this.D6(a)};i.prototype.end=function(){this.stop();this.Hz()};i.prototype.clear=function(){this.Hz()};i.prototype.play=function(){this.Cc&&this.Cc.set("state",c.Q)};i.prototype.pause=function(){this.Cc&&this.Cc.set("state",c.Db)};i.prototype.stop=function(){this.Cc&&this.Cc.set("state", c.M)};i.prototype.kf=function(a){this.Le=a;this.Cc&&this.Cc.set("mute",this.Le)};i.prototype.setTime=function(a){this.Cc&&this.Cc.set("currentTime",a)};i.prototype.getTime=function(){if(this.Cc)return this.Cc.get("currentTime")};i.prototype.D6=function(a){this.Hz();this.Cc=a;this.Cc.set("mute",this.Le);this.Cc.bind(e.u("state"),this.XF,this,m);this.Cc.bind(e.u("currentTime"),this.HB,this,m);this.Cc.bind(e.lb,this.VM,this,m)};i.prototype.Hz=function(){if(this.Cc){this.Cc.unbind(e.u("state"),this.XF, this);this.Cc.unbind(e.u("currentTime"),this.HB,this);this.Cc.unbind(e.lb,this.VM,this);this.Cc=r}};i.prototype.HB=function(){this.trigger(new d(i.Zy,{video:this.Cc,time:this.Cc.get("currentTime"),duration:this.Cc.get("duration")}))};i.prototype.VM=function(){this.trigger(new d(i.QH,{video:this.Cc}))};i.prototype.XF=function(){var a=this.Cc.get("state");if(this.G0!=a){this.G0=a;this.trigger(new d(i.mc,{state:this.G0}))}};i.mc="playback state change";i.QH="video end";i.Zy="video time change";return i}); define("nk","require,kM,kn,cu,fQ,dh,mV,iK".split(","),function(a){var b=a("kM"),e=a("kn"),d=a("cu"),g=a("fQ"),c=a("dh"),i=a("mV"),f=a("iK"),j=b.extend(g,function(a,b){g.call(this);this.J=a;this.h=b;this.h.set("visible",B);this.Ca=new i(this.J,this.h);this.za=new f(this.h);this.Lo=new c(this.h);this.Ca.bind(i.Xy,this.hp,this,m);this.Ca.bind(i.Yy,this.vm,this,m);this.Ca.bind(i.XY,this.Vka,this,m);this.Ca.bind(i.$O,this.Wka,this,m);this.Ca.bind(i.Bba,this.fGa,this,m);this.za.bind(f.mc,this.xe,this,m); this.za.bind(f.QH,this.rx,this,m);this.za.bind(f.Zy,this.aL,this,m)});j.prototype.clear=function(){this.Ca.clear();this.za.clear();this.Lo.clear();this.Ca.unbind(i.Xy,this.hp,this);this.Ca.unbind(i.Yy,this.vm,this);this.Ca.unbind(i.XY,this.Vka,this);this.Ca.unbind(i.$O,this.Wka,this);this.za.unbind(f.mc,this.xe,this);this.za.unbind(f.QH,this.rx,this);this.za.unbind(f.Zy,this.aL,this);this.J=this.h=this.Lo=this.za=this.Ca=r};j.prototype.fTa=function(a,b){this.h.set("visible",m);this.Ca.display(a,b)}; j.prototype.hv=function(){this.Ca.hide();this.za.end();this.Lo.end()};j.prototype.play=function(){this.za.play()};j.prototype.stop=function(){this.za.stop()};j.prototype.pause=function(){this.za.pause()};j.prototype.kf=function(a){this.za.kf(a)};j.prototype.setTime=function(a){this.za.setTime(a)};j.prototype.getTime=function(){return this.za.getTime()};j.prototype.Vka=function(a){var b=a.data.video;this.za.start(b,a.data.startTime);this.Lo.start(b)};j.prototype.Wka=G();j.prototype.vm=function(a){a= a.data.video;a.get("autoplay")&&a.get("state")!=e.Q&&a.get("state")!=e.Db&&a.set("state",e.Q);this.trigger(new d(j.Yy,{video:a}))};j.prototype.hp=function(a){this.trigger(new d(j.Xy,{video:a.data.video}))};j.prototype.fGa=function(){this.h.set("visible",B)};j.prototype.rx=function(a){this.trigger(new d(j.QH,{video:a.data.video}))};j.prototype.aL=function(a){this.trigger(new d(j.Zy,{video:a.data.video,time:a.data.time,duration:a.data.duration}))};j.prototype.xe=function(a){this.trigger(new d(j.mc, {state:a.data.state}))};j.Yy="videoShow";j.Xy="videoHide";j.QH="videoEnd";j.Zy="videoTimeChange";j.mc="playbackStateChange";return j}); define("im",["require","kM","nW","kn","du"],function(a){var b=a("kM"),e=a("nW"),d=a("kn"),g=a("du"),a=b.extend(g,function(a,b){g.call(this,a);this.R=b;this.R.bind(e.u("video"),this.WK,this);this.R.bind(e.Yd,this.WK,this);this.WK()});a.prototype.clear=function(){this.R&&(this.R.unbind(e.u("video"),this.WK,this),this.R.unbind(e.Yd,this.WK,this),this.R=r);g.prototype.clear.call(this)};a.prototype.WK=function(){this.Kaa(this.R.get("state")!=d.M?this.R.get("video"):r)};return a}); define("eT","require,kM,nW,bb,e,dK,im".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("bb"),g=a("e"),c=a("dK"),i=a("im"),a=b.extend(g,function(a,b,n){g.call(this);this.Vb=a;this.J=b;this.R=n;this.set("toolTipDisabled",m);this.set("cursor",d.Ev);this.bind(e.uc,this.Sb,this,m);this.bG=new i(b,n);this.sF=new c.vca;this.sF.vaa(c.vca.$Y);this.sF.Hf(this.ET=B);[this.bG.Ac(),this.sF.Ac()].forEach(function(a,b){this.sb().append(a);a.css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden", "z-index":b})}.bind(this))});a.prototype.Daa=function(a,b){if(this.ET!=a){this.ET=a;this.sF.vua(b);this.sF.Hf(a)}};a.prototype.Sb=function(){this.EU=m;var a=this.Ra(),b=this.zb();this.sF.setSize(a,b)};return a}); define("lG","require,kM,nW,bb,d,nt,fm,fR,eT".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("bb"),g=a("d"),c=a("nt"),i=a("fm"),f=a("fR"),j=a("eT"),a=b.extend(c,function(a,b,f){c.call(this);this.Vb=a;this.J=b;this.R=f;this.he("Renderer");this.set("toolTipDisabled",m);this.set("cursor",d.Ev);this.set("layout",g.MO);this.Qb=this.wa=this.Qd=r;this.DV=[];this.WM=[];this.bind(e.uc,this.Sb,this,m);this.KM()});a.prototype.kb=function(){c.prototype.kb.call(this);if(this.Qd==r){this.Qd=new f(this.Vb,B); this.Qd.Y({left:0,top:0,right:0,bottom:0});this.La(this.Qd);this.ABa();this.VAa();this.DV.forEach(function(a){this.vfa(a)}.bind(this))}if(this.Qb==r){this.Qb=new j(this.Vb,this.J,this.R);this.Qb.Y({left:0,top:0,right:0,bottom:0});this.La(this.Qb);this.KM()}};a.prototype.DNa=function(a){this.DV.push(a);this.Qd&&this.vfa(a)};a.prototype.ABa=function(){this.wa=this.Qd.td("Scene");this.wa.B(i.Scene).backgroundColor="transparent";this.Qd.Ppa(this.wa)};a.prototype.VAa=function(){this.ma=this.Qd.td("Camera"); var a=this.ma.B(i.OrthographicCamera);a.width=this.Re();a.height=this.Qe();this.ma.B(i.xb).Kb=this.wa;this.wa.D(i.Scene).Un=this.ma};a.prototype.Sb=function(){if(this.ma){var a=this.ma.D(i.OrthographicCamera);a.width=this.Re();a.height=this.Qe()}};a.prototype.vfa=function(a){var b=this.Qd.td("Video");b.B(i.xb).Kb=this.wa;b.B(i.Mesh).Cb=a;var c=b.B(i.Pv);c.Cb=a;c.Un=this.ma;c=b.B(i.Nv);c.Cb=a;c.$va=a.get("video");c.Ga=a;this.WM.push(b);this.KM()};a.prototype.dua=function(a){a=this.DV.indexOf(a);if(!(a< 0)){this.DV.splice(a,1);this.Qd&&this.TBa(this.WM[a])}};a.prototype.TBa=function(a){var b=this.WM.indexOf(a);if(!(b<0)){this.WM.splice(b,1);this.Qd.Df(a);this.KM()}};a.prototype.Daa=function(a){this.ET=a;this.KM()};a.prototype.KM=function(){this.Qb&&this.Qb.Daa(this.ET&&this.WM.length>0)};return a}); define("kF","require,kM,nW,mS,ia,kn,nk,lG".split(","),function(a){var b=a("kM"),e=a("nW"),d=a("mS"),g=a("ia"),c=a("kn"),i=a("nk"),f=a("lG"),a=d.G("VideoPlayer",g,function(){g.call(this,"video");this.Mo=this.OU=this.HB=this.Hh=B;this.C=this.h=r;this.$a=this.rd=0;this.Md=b.Yp(this.Eg,this)});a.prototype.seek=function(a){this.kB(a)};a.prototype.play=function(){this.TA()};a.prototype.pause=function(){this.SA()};a.prototype.stop=function(){this.px()};a.prototype.restart=function(){this.mx()};a.prototype.set= function(a,b){if(this.get(a)!=b){switch(a){case "startTime":this.OU=m;this.Md();break;case "video":this.HB=m;this.Md();break;case "viewerArea":this.Hh=m;this.Md();break;case "displayPlaybackBar":this.Mo=m;this.Md()}g.prototype.set.call(this,a,b)}};a.prototype.get=function(a,b){switch(a){case "currentTime":return this.C&&this.C.getTime()||0}return g.prototype.get.call(this,a,b)};a.prototype.Eg=function(){if(this.Hh){this.Hh=B;this.ot();this.get("viewerArea")&&this.lt();this.WL(this.get("viewerArea")); this.HB=m}var a=B;if(this.h&&(this.HB||this.OU)){var b=this.get("video"),c=this.get("startTime")||0;if(b&&!this.h.tb()){this.Md();return}this.OU=this.HB=B;this.$a=this.rd=0;a=m;if(b){this.rH();this.C.fTa(b,c)}else this.C.hv()}if(this.Mo){this.Mo=B;a=m}a&&this.Mu()};a.prototype.ZF=function(){this.set("video",r)};a.prototype.lt=function(){var a=this.get("application"),b=this.get("viewerArea");this.h=new f(a,b,this);this.h.Y({left:0,top:0,bottom:0,right:0});b.La(this.h);b.bind(e.oa,this.$ka,this,m); this.C=new i(b,this.h);this.C.bind(i.Yy,this.vm,this);this.C.bind(i.Xy,this.hp,this);this.C.bind(i.Zy,this.aL,this,m);this.C.bind(i.mc,this.xe,this);a.bind(e.u("mute"),this.JK,this);this.C.kf(a.get("mute",B));this.Ox(m)};a.prototype.ot=function(){if(this.h){this.C.unbind(i.Yy,this.vm,this);this.C.unbind(i.Xy,this.hp,this);this.C.unbind(i.Zy,this.aL,this);this.C.unbind(i.mc,this.xe,this);this.C.clear();this.get("application").unbind(e.u("mute"),this.JK,this);var a=this.h.getParent();a.removeChild(this.h); a.unbind(e.oa,this.$ka,this,m);this.h=r;this.Ox(B)}};a.prototype.JK=function(){this.h&&this.C.kf(this.get("application").get("mute",B))};a.prototype.xe=function(a){a=a.data.state;this.h&&this.h.Daa(this.get("displayPlayOverlay")&&a!=c.Q,this.rd<0.5);this.hc(a)};a.prototype.vm=function(a){var b=this.get("viewerArea");(this.Ed=b&&b.Ed)&&this.Ed.bind(e.oa,this.ala,this,m);this.m5=B;this.ZJ(a.data.video)};a.prototype.hp=function(a){this.Ed&&this.Ed.unbind(e.oa,this.ala,this,m);this.Ed=r;this.YJ(a.data.video)}; a.prototype.aL=function(a){this.rd=a.data.time;this.$a=a.data.duration;this.Mu()};a.prototype.$ka=function(){if(this.m5)this.m5=B;else switch(this.get("clickAction")){case "play_pause":this.get("state")!=c.Q?this.C.play():this.C.pause()}};a.prototype.ala=function(){this.m5=m};a.prototype.lL=function(a){this.kB(a.data.position)};a.prototype.Zj=function(){this.C.play()};a.prototype.Nn=function(){this.C.stop()};a.prototype.jp=function(){this.C.pause()};a.prototype.kB=function(a){this.C&&this.C.setTime(a)}; a.prototype.Mu=function(){if(this.h){var a=this.h.getParent();this.$a>0&&this.get("displayPlaybackBar")?a.Y({playbackBarPosition:this.rd,playbackBarDuration:this.$a,playbackBarVisible:m}):a.set("playbackBarVisible",B)}};return a}); define("f",["require","mS","cT","hO"],function(a){var b=a("mS"),e=a("cT"),d=a("hO"),a=b.G("VideoPlayListItem",d,function(){d.call(this)});a.prototype.start=function(){d.prototype.start.call(this);var a=this.get("player");a&&(a.bind(e.Kg,this.vm,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(e.Kg,this.vm,this),a.get("video")==this.get("media")&&a.set("video",r));d.prototype.stop.call(this)};a.prototype.vm= function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Kg,this.vm,this),this.get("player").bind(e.Ll,this.hp,this),this.NB())};a.prototype.hp=function(a){a.data.media==this.get("media")&&(this.get("player").unbind(e.Ll,this.hp,this),this.stop(),this.end())};return a});define("hb",["require","lm","mS"],function(a){var b=a("lm");return a("mS").G("VideoResourceLevel",b,function(){b.call(this)})}); define("ek",["require","lm","mS","lf","hb"],function(a){var b=a("lm"),e=a("mS"),d=a("lf"),g=a("hb"),a=e.G("VideoResource",b,function(){b.call(this);this.h4=new g;this.h4.set("type","video/mp4");this.n4=new g;this.n4.set("type","video/ogg");this.U8=new g;this.U8.set("type","video/webm")});a.prototype.get=function(a,d){switch(a){case "levels":var d=[],e=this.get("mp4Url");e&&(this.h4.set("url",e),d.push(this.h4));if(e=this.get("oggUrl"))this.n4.set("url",e),d.push(this.n4);if(e=this.get("webmUrl"))this.U8.set("url", e),d.push(this.U8);d.forEach(function(a){a.set("width",this.get("width"));a.set("height",this.get("height"))}.bind(this))}return b.prototype.get.call(this,a,d)};a.prototype.ji=function(){var a=this.get("webmUrl"),b=this.get("oggUrl"),e=this.get("mp4Url");return e&&d.PW?e:a&&d.h$?a:b&&d.g$?b:e||a||b};return a});define("do",["require","mS","eS"],function(a){var b=a("mS"),e=a("eS");return b.G("VignetteModel3DPostprocessing",e,function(){e.call(this)})}); define("dD","require,jquery.mod,kM,nW,u,lH,e,gg".split(","),function(a){var b=a("jquery.mod"),e=a("kM"),d=a("nW"),g=a("u"),c=a("lH"),i=a("e"),f=a("gg"),a=e.extend(i,function(){i.call(this);this.he("WebFrame");this.QJ=this.Xz=this.gc=this.Id=r;this.B4=this.B4.bind(this);this.KS=this.KS.bind(this);this.bind(d.Vc,this.nHa,this,m);this.bind(d.ad,this.mHa,this,m)});a.prototype.Ya=function(){i.prototype.Ya.call(this);this.f("url");this.f("backgroundColor","#ffffff");this.f("insetBorder",B);this.f("scrollEnabled", m);this.f("unloadWhenHidden",m)};a.prototype.nHa=function(){this.pB("url")};a.prototype.mHa=function(){this.pB("url")};a.prototype.kb=function(){i.prototype.kb.call(this);if(!this.Id){this.Id=b("
");this.Id.css({position:"absolute",left:0,top:0,width:"100%",height:"100%"});this.sb().append(this.Id)}if(!this.gc){this.gc=b("");this.gc.css({position:"absolute",left:0,top:0});this.gc.attr("allowfullscreen","true");this.gc.attr("allow","fullscreen; accelerometer; gyroscope; magnetometer; vr; autoplay; camera; microphone; display-capture; xr-spatial-tracking"); this.Id.append(this.gc)}if(!this.Xz){this.Xz=b("
");this.Xz.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.ub()?"5vmin":"20px",position:"absolute",top:"50%",left:"50%","text-align":"center",transform:"translate(-50%, -50%)",width:"90%"});this.Id.append(this.Xz)}};a.prototype.Ja=function(){if(this.v("url")){var a=this.p("url");a&&this.Pw?this.Rma(a):(!a||this.get("unloadWhenHidden"))&& this.Rma("");this.H("url")}if(this.v("insetBorder")){this.p("insetBorder")?this.gc.attr("frameborder","1"):this.gc.attr("frameborder","0");this.H("insetBorder")}if(this.v("scrollEnabled")){if(this.p("scrollEnabled")){this.gc.attr("scrolling","auto");this.Id.css({overflow:"auto","-webkit-overflow-scrolling":"touch"})}else{this.gc.attr("scrolling","no");this.Id.css({overflow:"hidden","-webkit-overflow-scrolling":"auto"})}this.H("scrollEnabled")}i.prototype.Ja.call(this)};a.prototype.Jg=function(){this.gc&& f.css(this.gc.get(0),{width:this.X+"px",height:this.ia+"px"});i.prototype.Jg.call(this)};a.prototype.refresh=function(){if(this.p("url")&&this.Pw){this.O2();this.gw();this.P7();this.gc.attr("src","");setTimeout(function(){this.Cna();this.tea();this.gc.attr("src",this.p("url"))}.bind(this),30)}};a.prototype.Rma=function(a){if(this.gc.attr("src")!=a){this.O2();if(a){this.Cna();this.tea()}else{this.gw();this.P7()}this.gc.attr("src",a)}};a.prototype.B4=function(){this.QJ=r;this.sFa()&&this.nKa()};a.prototype.KS= function(){this.O2();this.gw();this.P7()};a.prototype.tea=function(){this.gc.on("load",this.KS)};a.prototype.P7=function(){this.gc.off("load",this.KS)};a.prototype.gw=function(){if(this.QJ){clearTimeout(this.QJ);this.QJ=r}};a.prototype.Cna=function(){this.gw();this.QJ=setTimeout(this.B4.bind(this),3E3)};a.prototype.sFa=function(){if(window.location.protocol=="https:"){var a=this.gc.attr("src");if(c.parse(a).protocol!="https:")return m}return B};a.prototype.nKa=function(){this.Xz.text("A secure web page served over HTTPS can not display insecure content served over HTTP."); this.Xz.show()};a.prototype.O2=function(){this.Xz.hide()};return a});define("ci",["require","dD","mS"],function(a){var b=a("dD"),a=a("mS").G("WebFrame",b,function(){b.call(this)});a.prototype.refresh=function(){b.prototype.refresh.call(this)};return a});define("lg",["require","dZ","kM","nt","d"],function(a){var b=a("dZ"),e=a("kM"),d=a("nt"),a=a("d"),g=e.extend(d,function(){d.call(this)});g.fc={layout:a.tg};b.defaults(g.fc,d.fc);g.prototype.Ya=function(){this.pn(g.fc)};return g}); define("lR","require,dZ,kM,nW,cu,mo,d,nt,lg,gV,fG,e,mK,nc,ix".split(","),function(a){var b=a("dZ"),e=a("kM"),d=a("nW"),g=a("cu"),c=a("mo"),i=a("d"),f=a("nt"),j=a("lg"),n=a("gV"),k=a("fG");a("e");a("mK");a("nc");var o=a("ix"),p=e.extend(n,function(){n.call(this);this.he("Window");this.$v=this.QD=this.tM=this.Ik=r;this.H_=new f;this.rE=r;this.H2=this.G2=0;this.rB=this.qna=B;this.V8=this.W8=l;for(var a in p.EUa)this.pB(a);this.bind(d.uc,this.lNa,this);this.bind(d.RH,this.jNa,this);this.bind(d.WH,this.mNa, this);this.bind(d.oa,this.iNa,this);this.xV=0;this.df=new f;this.df.Y({visible:B,includeInLayout:B,layout:"absolute",height:"100%",width:"100%",backgroundOpacity:0,contentOpaque:B});this.df.bind(d.uc,this.vpa,this);this.df.bind(d.WH,this.dNa,this);this.df.bind(d.RH,this.cNa,this);this.df.bind(d.oa,this.bNa,this);this.df.La(this)});p.prototype.set=function(a,b){switch(a){case "maxWidth":this.W8=b;this.nV();break;case "maxHeight":this.V8=b;this.nV();break;case "children":this.H_.set(a,b);break;case "shadow":this.qna= b;this.ppa();break;default:n.prototype.set.call(this,a,b)}};p.prototype.show=function(a,c){this.nV(a);this.set("visible",B);this.df.set("visible",B);this.jza();c&&this.PNa();var d=a.get("children");a.set("children",d.concat([this.df]));var e=this;b.defer(function(){e.df.set("visible",m)})};p.prototype.jza=function(){var a=this.p("modal"),b=this.p("veilShowEffect"),c=this.p("veilHideEffect");a&&b?this.df.set("showEffect",b):this.df.set("showEffect",r);a&&c?this.df.set("hideEffect",c):this.df.set("hideEffect", r)};p.prototype.hide=function(){this.get("visible")&&this.trigger(d.jwa);this.xV=0;this.yU(B);this.set("visible",B)};p.prototype.PNa=function(){this.set("centerX",0);this.set("centerY",0)};p.prototype.get=function(a,b){return a=="children"?this.H_.get(a,b):n.prototype.get.call(this,a,b)};p.pda={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"};p.oda=b(p.pda).keys();p.NZ={borderRadius:"borderTopRadius",borderTopRadius:"borderTopRadius",borderLeftRadius:"borderTopLeftRadius",borderRightRadius:"borderTopRightRadius",borderTopLeftRadius:"borderTopLeftRadius",borderTopRightRadius:"borderTopRightRadius"};p.MZ=["borderLeftRadius","borderRightRadius","borderTopLeftRadius","borderTopRightRadius","borderTopRadius","borderRadius"];p.Hda={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"}; p.Gda=b(p.Hda).keys();p.jda={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"};p.ida=b(p.jda).keys();p.lda={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"};p.kda=b(p.lda).keys();p.nda={borderRadius:"borderBottomRadius",borderBottomRadius:"borderBottomRadius",borderLeftRadius:"borderBottomLeftRadius",borderRightRadius:"borderBottomRightRadius",borderBottomLeftRadius:"borderBottomLeftRadius", borderBottomRightRadius:"borderBottomRightRadius"};p.mda=["borderLeftRadius","borderRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomRadius","borderRadius"];p.fda={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"};p.eda=b(p.fda).keys();p.gda={layout:"layout",horizontalAlign:"horizontalAlign",verticalAlign:"verticalAlign"};p.Pxa=b(p.gda).keys();p.Jda={veilOpacity:"backgroundOpacity",veilColor:"backgroundColor",veilColorRatios:"backgroundColorRatios",veilColorDirection:"backgroundColorDirection"};p.Ida=b(p.Jda).keys();p.fc=function(){var a={modal:B,visible:B,centerX:0,centerY:0,veilShowEffect:l,veilHideEffect:l}; b.defaults(a,f.fc);for(var c=[].concat(p.oda,p.Gda,p.ida,p.eda,p.kda,p.Ida),d=0;d0&&this.hide()}.bind(this),100)};p.prototype.iNa=function(){this.xV--};p.prototype.AAa=function(){this.hide()};p.prototype.FEa=function(a){this.G2=a.pageX;this.H2=a.pageY;this.tb().bind(d.Uc,this.Gpa,this,m);this.tb().bind(d.ic,this.Hpa,this,m)}; p.prototype.Gpa=function(a){this.set("centerX",this.get("centerX")+(a.pageX-this.G2));this.set("centerY",this.get("centerY")+(a.pageY-this.H2));this.G2=a.pageX;this.H2=a.pageY;this.opa()};p.prototype.Hpa=function(){this.tb().unbind(d.Uc,this.Gpa,this);this.tb().unbind(d.ic,this.Hpa,this)};p.prototype.vpa=function(){this.nV()};p.prototype.dNa=function(){this.set("visible",m)};p.prototype.cNa=function(){this.df.unbind(d.uc,this.vpa,this);var a=this.df.getParent();a&&a.removeChild(this.df);this.trigger(new g(d.RC))}; p.prototype.lNa=function(){this.opa()};p.prototype.mNa=function(){this.yU(m)};p.prototype.jNa=function(){this.df.set("visible",B)};p.prototype.yU=function(a){this.rB=a;this.ppa()};p.prototype.ppa=function(){n.prototype.set.call(this,"shadow",this.rB&&this.qna)};p.prototype.nV=function(a){a||(a=this.Z);this.W8!==l?n.prototype.set.call(this,"maxWidth",this.W8):a?n.prototype.set.call(this,"maxWidth",a.Ra()):n.prototype.set.call(this,"maxWidth",l);this.V8!==l?n.prototype.set.call(this,"maxHeight",this.V8): a?n.prototype.set.call(this,"maxHeight",a.zb()):n.prototype.set.call(this,"maxHeight",l)};p.prototype.opa=function(){var a=this.df.Ra(),b=this.Ra(),c=this.get("centerX"),b=a*0.5+c-b*0.5,d=this.Ik.rl(),e=this.Ik.Ra(),f=Math.min(e,30),a=a-d-f,d=-(d+e-f);ba&&this.set("centerX",c-(b-a));a=this.df.zb();b=this.zb();c=this.get("centerY");b=a*0.5+c-b*0.5;d=this.Ik.Rr();e=this.Ik.zb();f=Math.min(e,5);a=a-d-f;d=-(d+e-f);ba&&this.set("centerY", c-(b-a))};p.prototype.Ja=function(){this.Ub(p.oda,p.pda,[this.Ik],m,m);this.Ub(p.MZ,p.NZ,[this.Ik],m,B);this.get("headerHeight")===0?this.Ub(p.MZ,p.NZ,[this.$v],m,B):this.Ub(p.MZ,p.NZ,[this.Ik],m,B);this.Ub(p.Gda,p.Hda,[this.tM],m,m);this.Ub(p.ida,p.jda,[this.QD],m,m);this.Ub(p.eda,p.fda,[this.$v],m,m);this.Ub(p.Pxa,p.gda,[this.$v],m,B);this.Ub(p.kda,p.lda,[this.rE],m,m);this.get("footerHeight")===0?this.Ub(p.mda,p.nda,[this.$v],m,B):this.Ub(p.mda,p.nda,[this.rE],m,B);if(this.p("modal")){this.Ub(p.Ida, p.Jda,[this.df],m,m);this.df.set("contentOpaque",m)}else{this.df.set("backgroundOpacity",0);this.df.set("contentOpaque",B)}this.Y({layout:i.ih,horizontalAlign:c.ke,verticalAlign:c.Sd});n.prototype.Ja.call(this);this.wn.IX(0)};return p});define("ea",["require","lR","mS"],function(a){var b=a("lR"),a=a("mS").G("Window",b,function(){b.call(this)});a.prototype.show=a.prototype.show;a.prototype.hide=a.prototype.hide;return a}); define("ms","require,jquery.mod,dZ,jY,nW,hA,cu,fQ,bf,nA,bD,jV,lB,u,kM".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.YG=this.source.get("grayscale");this.Zu=new p(i.an)}var e=a("jquery.mod"),d=a("dZ"),g=a("jY"),c=a("nW"),i=a("hA"),f=a("cu"),j=a("fQ"),n=a("bf"),k=a("nA"),o=a("bD"),p=a("jV"),q=a("lB"),t=a("u"),s=a("kM"),u=s.extend(j,function(){j.call(this);this.JS=this.JS.bind(this);this.vg= r;this.be=[];this.om=[];this.Ib=this.qb=this.md=this.bd=100;this.Ne=1;this.fw=this.ew=0.5;this.kc=1;this.Vi=this.xi=r;this.xT=B;this.w0={};this.WD={};this.WD.low={};this.WD.hight={};if(t.EG()==t.NH){this.WD.low.transform="translateZ(0)";this.WD.hight.transform=""}this.K=B;this.qh="inherit";this.ba=e("
").css({position:"absolute",left:0,top:0,right:0,bottom:0,overflow:"hidden"});this.sJ=r;this.we=s.Yp(this.V,this)});u.prototype.Ac=S("ba");u.prototype.yy=function(a){if(this.bf!=a){this.bf=a;this.v_(1); this.we()}};u.prototype.LRa=function(a){if(this.qh!=a){this.qh=a;this.Vi&&this.Vi.css("cursor",this.qh);this.xi&&this.xi.css("cursor",this.qh)}};u.prototype.$Ra=function(a){if(this.be!=a){this.be&&g.da(this.be,["levels.url"],this.JS,m);(this.be=a)&&g.ea(this.be,["levels.url"],this.JS,m)}};u.prototype.JS=function(){this.X_();this.vg=r;if(this.xi){this.xi.detach();this.xi=r}if(this.Vi){this.Vi.detach();this.Vi=r}if(this.Nf)this.Nf=r;this.X_();this.xT=B;d(this.om).each(function(a){a.Zu.cancel();a.Zu.unbind(c.T, this.pia,this)},this);var a=(this.be&&this.be.get("levels")||[]).filter(function(a){return a.get("url")});this.om=d(a).map(function(a){a=new b(a);a.Zu.bind(c.T,this.pia,this);return a},this);if(a=this.IDa()){this.qb=a.width;this.Ib=a.height}else this.Ib=this.qb=100;this.fw=this.ew=0.5;this.v_(1);this.we()};u.prototype.wC=function(a,b){if(this.bd!=a||this.md!=b){this.bd=a;this.md=b;this.we()}};u.prototype.MRa=function(a,b){if(this.Gfa!=a||this.Ffa!=b){this.Gfa=a;this.Ffa=b;this.we()}};u.prototype.vd= function(a){if(this.K!=a){this.K=a;this.we()}};u.prototype.move=function(a,b){var c=this.Ne*this.kc;this.ew=this.ew+a/(this.qb*c);this.fw=this.fw+b/(this.Ib*c);this.XT()};u.prototype.eC=S("kc");u.prototype.setScale=function(a){this.v_(Math.max(1,Math.min(1/this.Ne,a)));this.vg&&this.vg.width=0&&a>=0&&cthis.Ib*this.bd?this.md/this.Ib:this.bd/this.qb;break;case q.mwa:a=Math.min(this.Gfa/this.qb,this.Ffa/this.Ib);break;default:a=this.qb*this.md>this.Ib* this.bd?this.bd/this.qb:this.md/this.Ib}this.fza(a)};u.prototype.pia=function(){this.we()};u.prototype.RBa=function(a){if(this.Vi){this.E6(this.Vi,1);this.xi&&this.xi.detach();this.xi=this.Vi}this.Vi=this.lBa(a);this.E6(this.Vi,0);this.ba.append(this.Vi);this.Nf=this.cBa();this.w0={}};u.prototype.QDa=function(){return this.vg?this.aDa(this.kc*this.Ne*this.qb):this.lEa()};u.prototype.Xma=function(a){d(this.om).each(function(b){b==a?b.Zu.ji()!=b.url&&b.Zu.load(b.url):b.Zu.ul()||b.Zu.cancel()})};u.prototype.IDa= function(){return d(this.om).reduce(function(a,b){a||(a=b);if(b.width>a.width||b.width==a.width&&!b.YG&&a.YG)a=b;return a},r)};u.prototype.lEa=function(){return d(this.om).reduce(function(a,b){a||(a=b);if(b.width=a&&b.width=a&&c.widthb.width||!c.YG&&b.YG)b=c;return b},r)};u.prototype.lBa=function(a){a=e(a.Zu.ff(m)); a.css({position:"absolute",cursor:this.qh,"pointer-events":"none"});return a};u.prototype.cBa=function(){return new k("linear",[new o("alpha",0,1)],200)};u.prototype.XT=function(){n.wb(function(a){this.DL(a,"low")},this)};u.prototype.O9=function(){return this.qb*this.kc*this.Ne};u.prototype.N9=function(){return this.Ib*this.kc*this.Ne};u.prototype.jra=function(){var a=this.O9();return a>this.bd?Math.max(this.bd-a,Math.min(0,this.bd*0.5-a*this.ew)):(this.bd-a)*0.5};u.prototype.kra=function(){var a= this.N9();return a>this.md?Math.max(this.md-a,Math.min(0,this.md*0.5-a*this.fw)):(this.md-a)*0.5};u.prototype.DL=function(a,b){var b=b||"low",d=this.O9(),e=this.jra(),g=this.N9(),j=this.kra();this.ew=(this.bd*0.5-e)/d;this.fw=(this.md*0.5-j)/g;var d={left:Math.round(e)+"px",top:Math.round(j)+"px",width:Math.round(d)+"px",height:Math.round(g)+"px",display:"block"},i;for(i in this.WD[b])d[i]=this.WD[b][i];if(this.w0!=d){this.xi&&this.xi.css(d);this.Vi&&this.Vi.css(d);this.w0=d}this.X_();if(this.Nf){this.Nf.vb(a); this.E6(this.Vi,this.Nf.eb("alpha"));if(this.Nf.Se()){this.Nf=r;this.xi&&this.xi.detach();this.xi=this.Vi;this.Vi=r}this.XT()}else b=="low"&&this.yKa();if(!this.Nf&&this.xT){this.xT=B;this.trigger(new f(c.T))}};u.prototype.E6=function(a,b){a.css({opacity:b,filter:"alpha(opacity="+Math.round(b*100)+")","-ms-filter":"alpha(opacity="+Math.round(b*100)+")"})};u.prototype.X_=function(){if(this.sJ!=r){clearTimeout(this.sJ);this.sJ=r}};u.prototype.yKa=function(){var a=this;this.sJ=setTimeout(function(){a.sJ= r;a.DL(50,"hight")},50)};u.prototype.v_=function(a){if(this.kc!=a){this.kc=a;this.ILa()}};u.prototype.fza=function(a){if(this.Ne!=a)this.Ne=a};u.prototype.ILa=function(){this.trigger(new f(u.ZO,{scale:this.kc}))};u.ZO="scaleChange";return u}); define("jM","require,jquery.mod,nW,cu,ms,kM,e,S".split(","),function(a){a("jquery.mod");var b=a("nW"),e=a("cu"),d=a("ms"),g=a("kM"),c=a("e"),i=a("S"),f=g.extend(c,function(){c.call(this);this.he("ZoomImage");this.mu=this.Bm=l;this.oj=B;this.Ala=l;this.Tha=this.kc;this.TM=r;this.h=new d;this.h.bind(b.T,this.UGa,this);this.h.bind(d.ZO,this.VGa,this);this.sb().append(this.h.Ac());this.bind(b.uc,this.Sb,this,m);this.bind(b.Vc,this.Wj,this,m);this.bind(b.ad,this.Sj,this,m);this.bind(b.Hb,this.Cd,this, m);this.bind(b.Uc,this.ej,this,m);this.bind(b.ic,this.fj,this,m);this.bind(b.lq,this.GA,this,m);this.bind(b.aD,this.dA,this,m)});f.prototype.set=function(a,b){switch(a){case "scale":this.h.setScale(b);b=this.h.eC();break;case "imageLeft":case "imageTop":case "imageWidth":case "imageHeight":return}c.prototype.set.call(this,a,b)};f.prototype.get=function(a,b){switch(a){case "scale":return this.h.eC();case "imageLeft":return this.h.jra();case "imageTop":return this.h.kra();case "imageWidth":return this.h.O9(); case "imageHeight":return this.h.N9()}return c.prototype.get.call(this,a,b)};f.prototype.Ya=function(){c.prototype.Ya.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")};f.prototype.Ja=function(){if(this.v("scaleMode")){this.h.yy(this.p("scaleMode"));this.H("scaleMode")}if(this.v("image")){this.h.$Ra(this.p("image"));this.H("image");this.Tha=this.kc}if(this.v("customHeight")|| this.v("customWidth")){this.H("customHeight");this.H("customWidth");this.Sb()}if(this.v("imageCursor")){this.H("imageCursor");this.h.LRa(this.Pa.L0.bra(this.get("imageCursor")))}c.prototype.Ja.call(this)};f.prototype.Sb=function(){var a=this.Ra(),b=this.zb(),c=this.get("customWidth","100%"),d=i.co(c),c=d!==l?a*d/100:c,d=this.get("customHeight","100%"),e=i.co(d);this.h.MRa(c,e!==l?b*e/100:d);this.h.wC(a,b)};f.prototype.Wj=function(){this.h.vd(m)};f.prototype.Sj=function(){this.h.vd(B)};f.prototype.Cd= function(a){this.Bm=a.x;this.mu=a.y;this.oj=m;this.Ala=this.h.ysa(a)};f.prototype.ej=function(a){if(this.oj){this.G8();this.h.move(-(a.x-this.Bm),-(a.y-this.mu));this.Bm=a.x;this.mu=a.y}};f.prototype.fj=function(a){this.oj=B;!this.Ala&&!this.h.ysa(a)&&this.trigger(new e(f.twa))};f.prototype.GA=function(a){this.G8();this.h.setScale((1+a.delta/20)*this.h.eC())};f.prototype.dA=function(a){this.G8();this.h.setScale(a.scale/this.Tha)};f.prototype.UGa=function(){this.trigger(new e(b.T))};f.prototype.VGa= function(){c.prototype.set.call(this,"scale",this.h.eC());this.trigger(new e(f.ZO))};f.prototype.G8=function(){if(this.TM){clearTimeout(this.TM);this.TM=r}else this.trigger(new e(f.fh));this.TM=setTimeout(function(){this.TM=r;this.trigger(new e(f.eh))}.bind(this),300)};f.twa="backgroundClick";f.ZO="scaleChange";f.fh="userInteractionStart";f.eh="userInteractionEnd";return f});define("ne",["require","jM","mS"],function(a){var b=a("jM");return a("mS").G("ZoomImage",b,function(){b.call(this)})}); define("iD","require,mS,iN,hC,mY,eh,dV,eE,nw,jf,iP,fM,fx,hu,iM,jB,ll,nF,gN,hL,G,gs,fq,di,bz,jn,mW,ji,kf,lV,fl,p,iJ,dO,dU,nM,mk,jm,mE,hQ,ls,gJ,N,cG,t,lb,fO,Y,jH,bw,bk,mD,nq,eR,lx,kY,iF,bI,nx,iU,mA,kv,R,ow,fH,C,ef,iv,fo,bd,fE,eX,gu,if,bF,om,eS,jp,lJ,ic,o,dB,jX,lK,ie,dX,eL,ot,gR,kl,bq,cB,bK,kU,ib,bi,ok,fP,nD,cw,cy,kQ,nV,iX,gh,jF,gy,la,mJ,hp,jP,kd,eo,ij,ck,eD,hO,T,nX,dH,gb,bE,ir,fh,dA,jO,eH,lX,lC,eW,gm,eF,cg,hT,nf,lA,fj,nE,bs,nj,gv,eY,gc,dg,ml,hw,mj,jC,gX,bU,iR,ds,bL,jy,ja,nK,nr,gD,cc,kF,f,ek,hb,do,by,ci,ea,ne".split(","), function(a){a("mS");a("iN");a("hC");a("mY");a("eh");a("dV");a("eE");a("nw");a("jf");a("iP");a("fM");a("fx");a("hu");a("iM");a("jB");a("ll");a("nF");a("gN");a("hL");a("G");a("gs");a("fq");a("di");a("bz");a("jn");a("mW");a("ji");a("kf");a("lV");a("fl");a("p");a("iJ");a("dO");a("dU");a("nM");a("mk");a("jm");a("mE");a("hQ");a("ls");a("gJ");a("N");a("cG");a("t");a("lb");a("fO");a("Y");a("jH");a("bw");a("bk");a("mD");a("nq");a("eR");a("lx");a("kY");a("iF");a("bI");a("nx");a("iU");a("mA");a("kv");a("R"); a("ow");a("fH");a("C");a("ef");a("iv");a("fo");a("bd");a("fE");a("eX");a("gu");a("if");a("bF");a("om");a("eS");a("jp");a("lJ");a("ic");a("o");a("dB");a("jX");a("lK");a("ie");a("dX");a("eL");a("ot");a("gR");a("kl");a("bq");a("cB");a("bK");a("kU");a("ib");a("bi");a("ok");a("fP");a("nD");a("cw");a("cy");a("kQ");a("nV");a("iX");a("gh");a("jF");a("gy");a("la");a("mJ");a("hp");a("jP");a("kd");a("eo");a("ij");a("ck");a("eD");a("hO");a("T");a("nX");a("dH");a("gb");a("bE");a("ir");a("fh");a("dA");a("jO"); a("eH");a("lX");a("lC");a("eW");a("gm");a("eF");a("cg");a("hT");a("nf");a("lA");a("fj");a("nE");a("bs");a("nj");a("gv");a("eY");a("gc");a("dg");a("ml");a("hw");a("mj");a("jC");a("gX");a("bU");a("iR");a("ds");a("bL");a("jy");a("ja");a("nK");a("nr");a("gD");a("cc");a("kF");a("f");a("ek");a("hb");a("do");a("by");a("ci");a("ea");a("ne");return m}); define("fW","require,dZ,jquery.mod,kM,mS,bT,iD,lH".split(","),function(a){function b(a,b){this.type=a;this.stack=b}function e(){}var d=a("dZ"),g=a("jquery.mod"),c=a("kM"),i=a("mS"),f=a("bT");a("iD");a("lH");e.prototype.OQa=function(a,b,c,d){this.v1=[];this.Hx=this.CF(a);this.qA=l;if(this.Hx.Lr.nra()){this.I8=f.validate(a);this.qA=this.Gga(this.Hx,j.cn);this.oBa(this.qA,this.Hx,b,c,d);this.aza(this.Hx);this.Zya(this.Hx,this.qA);this.bza(this.qA,this.Hx);this.sza(this.qA,this.Hx)}else this.gn("Invalid root class", []);return this.v1.length==0};e.prototype.tb=function(){return this.Hx.$d};e.prototype.CF=function(a,b){b=b||[];return d(a).isArray()?this.YHa(a,b):g.isPlainObject(a)&&a["class"]?this.aIa(a,b):g.isPlainObject(a)?this.ZHa(a,b):d(a).isFunction()?this.$Ha(a,b):this.bIa(a,b)};e.prototype.YHa=function(a,b){for(var c=[],d=0;d> ")+": "+a)};b.prototype.Ab=function(){return[]};b.prototype.$r=G();var j=c.extend(b, function(a,c,d,e,f,g){b.call(this,j.cn,a);this.Lr=c;this.id=d;this.attributes=e;this.TB=f;this.scripts=g;this.$d=r});j.prototype.Ab=function(){var a=this.Lr.vra(),b=[],c=d(this.attributes).clone();if(a)for(var e=0;e0?e.push("v:"+o.SN+"."+o.UN):e.push("v:"+o.UN);t.log(e.join(" "));this.fo=b;if(j.gQa()||[i.OC,i.vv].indexOf(i.browser())>=0){this.$k=new c;if(d=this.fo.get(TDV.PlayerSettings.BASE_DIR_URL)){d=j.nv(d); d[d.length-1]!="/"&&(d=d+"/")}else d=j.getDirectory(this.fo.get(TDV.PlayerSettings.SELECTED_SCRIPT_URL));this.W$=this.fo.get(TDV.PlayerSettings.QUERY_STRING_PARAMETERS);f.$Qa(d,function(a){this.k9=a;this.wHa()}.bind(this))}else window.alert(p("web-server-required"))}var e=a("dZ"),d=a("nW");a("cu");var g=a("mS"),c=a("fW"),i=a("u"),f=a("eG"),j=a("lH"),n=a("bu"),k=a("gZ"),o=a("mu"),p=a("nU"),q=a("mx"),t=a("kM");b.prototype.wHa=function(){this.pM.trigger(new TDV.iP(d.pxa,{},[],l));e.defer(function(){if(!this.$k.OQa(this.fo.get(TDV.PlayerSettings.SCRIPT_DATA), this.fo.get(TDV.PlayerSettings.CONTAINER),this.k9,this.W$)){if(o.rTa!="false"){window.alert(this.pha());return}t.log(this.pha())}this.qza();this.Qya(this.fo);this.dza();n.Wp(function(){this.KLa()}.bind(this))}.bind(this))};b.prototype.clear=function(){if(this.$k){this.fha().forEach(function(a){a.$d.eba();a.Lr.DN().forEach(function(b){switch(b){case "VideoPlayer":a.$d.stop();case "MapPlayer":case "Model3DPlayer":case "PanoramaPlayer":case "PhotoAlbumPlayer":case "VideoPlayer":a.$d.set("viewerArea", r);break;case "ZoomImage":a.$d.set("image",r);break;case "Audio":a.$d.stop();break;case "Effect":a.$d.end();break;case "Media":a.$d.nRa()}})});k.TQa();this.$k.tb().clear();s={};this.fo=this.$k=r}};b.prototype.oPa=function(a){return this.$k.tb()[a]};b.prototype.vj=function(a){if(a in s)return s[a].slice();var b=[];this.fha().forEach(function(c){var d=c.Lr.DN();e(d).contains(a)&&b.push(c.$d)});s[a]=b;return b.slice()};b.prototype.fha=function(){return!this.$k?[]:this.$k.qA.concat(this.uQ)};var s={}; b.prototype.Qp=function(a){var b=g.vj(a);b||h("Invalid className: "+a);s={};var a=this.$k.tb(),c={};c.Lr=b;c.$d=b.Qp(a,this.k9,this.W$);this.uQ.push(c);this.sea(b,c.$d,l);return c.$d};b.prototype.KG=function(a){var b=this.uQ.findIndex(function(b){return b.$d==a});if(!(b<0)){s={};this.uQ.splice(b,1);a.eba();a.dispose&&a.dispose()}};b.prototype.pha=function(){for(var a=this.$k.v1,b=["Errors parsing script file:"],c=0;c>8&255]+ft[t>>16&255]+ft[t>>24&255]+"-"+ft[255&e]+ft[e>>8&255]+"-"+ft[e>>16&15|64]+ft[e>>24&255]+"-"+ft[63&i|128]+ft[i>>8&255]+"-"+ft[i>>16&255]+ft[i>>24&255]+ft[255&n]+ft[n>>8&255]+ft[n>>16&255]+ft[n>>24&255]).toLowerCase()}function _t(t,e,i){return Math.max(e,Math.min(i,t))}function Mt(t,e){return(t%e+e)%e}function bt(t,e,i){return(1-i)*t+i*e}function wt(t){return 0==(t&t-1)&&0!==t}function St(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function Tt(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var At=Object.freeze({__proto__:null,DEG2RAD:vt,RAD2DEG:xt,generateUUID:yt,clamp:_t,euclideanModulo:Mt,mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},inverseLerp:function(t,e,i){return t!==e?(i-t)/(e-t):0},lerp:bt,damp:function(t,e,i,n){return bt(t,e,1-Math.exp(-i*n))},pingpong:function(t,e=1){return e-Math.abs(Mt(t,2*e)-e)},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-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){void 0!==t&&(gt=t);let e=gt+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*vt},radToDeg:function(t){return t*xt},isPowerOfTwo:wt,ceilPowerOfTwo:St,floorPowerOfTwo:Tt,setQuaternionFromProperEuler:function(t,e,i,n,r){const s=Math.cos,a=Math.sin,o=s(i/2),l=a(i/2),c=s((e+n)/2),h=a((e+n)/2),u=s((e-n)/2),d=a((e-n)/2),p=s((n-e)/2),m=a((n-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);}},normalize:function(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.");}},denormalize:function(t,e){switch(e.constructor){case Float32Array:return t;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.");}}});class Et{constructor(t=0,e=0){Et.prototype.isVector2=!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,i=this.y,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[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 i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))}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,i=this.y-t.y;return e*e+i*i}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,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,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,i){return void 0!==i&&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 i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*i-s*n+t.x,this.y=r*n+s*i+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Ct{constructor(){Ct.prototype.isMatrix3=!0,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,i,n,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=n,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=i,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,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}extractBasis(t,e,i){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),i.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 i=t.elements,n=e.elements,r=this.elements,s=i[0],a=i[3],o=i[6],l=i[1],c=i[4],h=i[7],u=i[2],d=i[5],p=i[8],m=n[0],f=n[3],g=n[6],v=n[1],x=n[4],y=n[7],_=n[2],M=n[5],b=n[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*x+o*M,r[6]=s*g+a*y+o*b,r[1]=l*m+c*v+h*_,r[4]=l*f+c*x+h*M,r[7]=l*g+c*y+h*b,r[2]=u*m+d*v+p*_,r[5]=u*f+d*x+p*M,r[8]=u*g+d*y+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],i=t[1],n=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-i*r*c+i*a*o+n*r*l-n*s*o}invert(){const t=this.elements,e=t[0],i=t[1],n=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+i*u+n*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]=(n*l-c*i)*m,t[2]=(a*i-n*s)*m,t[3]=u*m,t[4]=(c*e-n*o)*m,t[5]=(n*r-a*e)*m,t[6]=d*m,t[7]=(i*o-l*e)*m,t[8]=(s*e-i*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,i,n,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(i*o,i*l,-i*(o*s+l*a)+s+t,-n*l,n*o,-n*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){const i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=e,i[4]*=e,i[7]*=e,this}rotate(t){const e=Math.cos(t),i=Math.sin(t),n=this.elements,r=n[0],s=n[3],a=n[6],o=n[1],l=n[4],c=n[7];return n[0]=e*r+i*o,n[3]=e*s+i*l,n[6]=e*a+i*c,n[1]=-i*r+e*o,n[4]=-i*s+e*l,n[7]=-i*a+e*c,this}translate(t,e){const i=this.elements;return i[0]+=t*i[2],i[3]+=t*i[5],i[6]+=t*i[8],i[1]+=e*i[2],i[4]+=e*i[5],i[7]+=e*i[8],this}equals(t){const e=this.elements,i=t.elements;for(let t=0;t<9;t++)if(e[t]!==i[t])return!1;return!0}fromArray(t,e=0){for(let i=0;i<9;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}clone(){return new this.constructor().fromArray(this.elements)}}function Lt(t){for(let e=t.length-1;e>=0;--e)if(t[e]>65535)return!0;return!1}const Rt={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Pt(t,e){return new Rt[t](e)}function It(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function Dt(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Nt(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}const Ot={[lt]:{[ct]:Dt},[ct]:{[lt]:Nt}},zt={legacyMode:!0,get workingColorSpace(){return ct},set workingColorSpace(t){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(t,e,i){if(this.legacyMode||e===i||!e||!i)return t;if(Ot[e]&&void 0!==Ot[e][i]){const n=Ot[e][i];return t.r=n(t.r),t.g=n(t.g),t.b=n(t.b),t}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(t,e){return this.convert(t,this.workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this.workingColorSpace)}},Ft={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},Bt={r:0,g:0,b:0},Ut={h:0,s:0,l:0},kt={h:0,s:0,l:0};function Gt(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+6*(e-t)*(2/3-i):t}function Vt(t,e){return e.r=t.r,e.g=t.g,e.b=t.b,e}class Ht{constructor(t,e,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===e&&void 0===i?this.set(t):this.setRGB(t,e,i)}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,e="srgb"){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,zt.toWorkingColorSpace(this,e),this}setRGB(t,e,i,n="srgb-linear"){return this.r=t,this.g=e,this.b=i,zt.toWorkingColorSpace(this,n),this}setHSL(t,e,i,n="srgb-linear"){if(t=Mt(t,1),e=_t(e,0,1),i=_t(i,0,1),0===e)this.r=this.g=this.b=i;else{const n=i<=.5?i*(1+e):i+e-i*e,r=2*i-n;this.r=Gt(r,n,t+1/3),this.g=Gt(r,n,t),this.b=Gt(r,n,t-1/3)}return zt.toWorkingColorSpace(this,n),this}setStyle(t,e="srgb"){function i(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 r=n[1],s=n[2];switch(r){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,zt.toWorkingColorSpace(this,e),i(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(s))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,zt.toWorkingColorSpace(this,e),i(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(s)){const n=parseFloat(t[1])/360,r=parseInt(t[2],10)/100,s=parseInt(t[3],10)/100;return i(t[4]),this.setHSL(n,r,s,e)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],i=t.length;if(3===i)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,zt.toWorkingColorSpace(this,e),this;if(6===i)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,zt.toWorkingColorSpace(this,e),this}return t&&t.length>0?this.setColorName(t,e):this}setColorName(t,e="srgb"){const i=Ft[t.toLowerCase()];return void 0!==i?this.setHex(i,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}copySRGBToLinear(t){return this.r=Dt(t.r),this.g=Dt(t.g),this.b=Dt(t.b),this}copyLinearToSRGB(t){return this.r=Nt(t.r),this.g=Nt(t.g),this.b=Nt(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t="srgb"){return zt.fromWorkingColorSpace(Vt(this,Bt),t),_t(255*Bt.r,0,255)<<16^_t(255*Bt.g,0,255)<<8^_t(255*Bt.b,0,255)<<0}getHexString(t="srgb"){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e="srgb-linear"){zt.fromWorkingColorSpace(Vt(this,Bt),e);const i=Bt.r,n=Bt.g,r=Bt.b,s=Math.max(i,n,r),a=Math.min(i,n,r);let o,l;const c=(a+s)/2;if(a===s)o=0,l=0;else{const t=s-a;switch(l=c<=.5?t/(s+a):t/(2-s-a),s){case i:o=(n-r)/t+(n2048||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")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=It("canvas");e.width=t.width,e.height=t.height;const i=e.getContext("2d");i.drawImage(t,0,0,t.width,t.height);const n=i.getImageData(0,0,t.width,t.height),r=n.data;for(let t=0;t1)switch(this.wrapS){case c:t.x=t.x-Math.floor(t.x);break;case h:t.x=t.x<0?0:1;break;case u: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 c:t.y=t.y-Math.floor(t.y);break;case h:t.y=t.y<0?0:1;break;case u: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++,this.source.needsUpdate=!0)}}Zt.DEFAULT_IMAGE=null,Zt.DEFAULT_MAPPING=n;class Jt{constructor(t=0,e=0,i=0,n=1){Jt.prototype.isVector4=!0,this.x=t,this.y=e,this.z=i,this.w=n}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,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,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,i=this.y,n=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*i+s[8]*n+s[12]*r,this.y=s[1]*e+s[5]*i+s[9]*n+s[13]*r,this.z=s[2]*e+s[6]*i+s[10]*n+s[14]*r,this.w=s[3]*e+s[7]*i+s[11]*n+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,i,n,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,n=1-e*e;if(n>Number.EPSILON){const r=Math.sqrt(n),s=Math.atan2(r,e*i);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*i;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,i,n,r,s){const a=i[n],o=i[n+1],l=i[n+2],c=i[n+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,i,n){return this._x=t,this._y=e,this._z=i,this._w=n,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 i=t._x,n=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(i/2),c=a(n/2),h=a(r/2),u=o(i/2),d=o(n/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 i=e/2,n=Math.sin(i);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,i=e[0],n=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=i+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-n)*t}else if(i>a&&i>h){const t=2*Math.sqrt(1+i-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(n+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-i-h);this._w=(r-l)/t,this._x=(n+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-i-a);this._w=(s-n)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let i=t.dot(e)+1;return iMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=i):(this._x=0,this._y=-t.z,this._z=t.y,this._w=i)):(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=i),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(_t(this.dot(t),-1,1)))}rotateTowards(t,e){const i=this.angleTo(t);if(0===i)return this;const n=Math.min(1,e/i);return this.slerp(t,n),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 i=t._x,n=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=i*c+s*a+n*l-r*o,this._y=n*c+s*o+r*a-i*l,this._z=r*c+s*l+i*o-n*a,this._w=s*c-i*a-n*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const i=this._x,n=this._y,r=this._z,s=this._w;let a=s*t._w+i*t._x+n*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=i,this._y=n,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*i+e*this._x,this._y=t*n+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=i*h+this._x*u,this._y=n*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,i){return this.copy(t).slerp(e,i)}random(){const t=Math.random(),e=Math.sqrt(1-t),i=Math.sqrt(t),n=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(n),i*Math.sin(r),i*Math.cos(r),e*Math.sin(n))}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(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ee{constructor(t=0,e=0,i=0){ee.prototype.isVector3=!0,this.x=t,this.y=e,this.z=i}set(t,e,i){return void 0===i&&(i=this.z),this.x=t,this.y=e,this.z=i,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(ne.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(ne.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[3]*i+r[6]*n,this.y=r[1]*e+r[4]*i+r[7]*n,this.z=r[2]*e+r[5]*i+r[8]*n,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,i=this.y,n=this.z,r=t.elements,s=1/(r[3]*e+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*e+r[4]*i+r[8]*n+r[12])*s,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*s,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*s,this}applyQuaternion(t){const e=this.x,i=this.y,n=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*n-a*i,c=o*i+a*e-r*n,h=o*n+r*i-s*e,u=-r*e-s*i-a*n;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,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n,this.y=r[1]*e+r[5]*i+r[9]*n,this.z=r[2]*e+r[6]*i+r[10]*n,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 i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))}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,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,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 i=t.x,n=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=n*o-r*a,this.y=r*s-i*o,this.z=i*a-n*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const i=t.dot(this)/e;return this.copy(t).multiplyScalar(i)}projectOnPlane(t){return ie.copy(this).projectOnVector(t),this.sub(ie)}reflect(t){return this.sub(ie.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 i=this.dot(t)/e;return Math.acos(_t(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n}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,i){const n=Math.sin(e)*t;return this.x=n*Math.sin(i),this.y=Math.cos(e)*t,this.z=n*Math.cos(i),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,i){return this.x=t*Math.sin(e),this.y=i,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(),i=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=n,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}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,i){return void 0!==i&&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,i=Math.sqrt(1-t**2);return this.x=i*Math.cos(e),this.y=i*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const ie=new ee,ne=new te;class re{constructor(t=new ee(1/0,1/0,1/0),e=new ee(-1/0,-1/0,-1/0)){this.isBox3=!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,i=1/0,n=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,i,n),this.max.set(r,s,a),this}setFromBufferAttribute(t){let e=1/0,i=1/0,n=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,i,n),this.max.set(r,s,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,i=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,ae),ae.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=-t.constant&&i>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(me),fe.subVectors(this.max,me),le.subVectors(t.a,me),ce.subVectors(t.b,me),he.subVectors(t.c,me),ue.subVectors(ce,le),de.subVectors(he,ce),pe.subVectors(le,he);let e=[0,-ue.z,ue.y,0,-de.z,de.y,0,-pe.z,pe.y,ue.z,0,-ue.x,de.z,0,-de.x,pe.z,0,-pe.x,-ue.y,ue.x,0,-de.y,de.x,0,-pe.y,pe.x,0];return!!xe(e,le,ce,he,fe)&&(e=[1,0,0,0,1,0,0,0,1],!!xe(e,le,ce,he,fe)&&(ge.crossVectors(ue,de),e=[ge.x,ge.y,ge.z],xe(e,le,ce,he,fe)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return ae.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(ae).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()||(se[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),se[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),se[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),se[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),se[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),se[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),se[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),se[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(se)),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)}}const se=[new ee,new ee,new ee,new ee,new ee,new ee,new ee,new ee],ae=new ee,oe=new re,le=new ee,ce=new ee,he=new ee,ue=new ee,de=new ee,pe=new ee,me=new ee,fe=new ee,ge=new ee,ve=new ee;function xe(t,e,i,n,r){for(let s=0,a=t.length-3;s<=a;s+=3){ve.fromArray(t,s);const a=r.x*Math.abs(ve.x)+r.y*Math.abs(ve.y)+r.z*Math.abs(ve.z),o=e.dot(ve),l=i.dot(ve),c=n.dot(ve);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const ye=new re,_e=new ee,Me=new ee,be=new ee;class we{constructor(t=new ee,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const i=this.center;void 0!==e?i.copy(e):ye.setFromPoints(t).getCenter(i);let n=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){be.subVectors(t,this.center);const e=be.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),i=.5*(t-this.radius);this.center.add(be.multiplyScalar(i/t)),this.radius+=i}return this}union(t){return!0===this.center.equals(t.center)?Me.set(0,0,1).multiplyScalar(t.radius):Me.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(_e.copy(t.center).add(Me)),this.expandByPoint(_e.copy(t.center).sub(Me)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Se=new ee,Te=new ee,Ae=new ee,Ee=new ee,Ce=new ee,Le=new ee,Re=new ee;class Pe{constructor(t=new ee,e=new ee(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,Se)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Se.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Se.copy(this.direction).multiplyScalar(e).add(this.origin),Se.distanceToSquared(t))}distanceSqToSegment(t,e,i,n){Te.copy(t).add(e).multiplyScalar(.5),Ae.copy(e).sub(t).normalize(),Ee.copy(this.origin).sub(Te);const r=.5*t.distanceTo(e),s=-this.direction.dot(Ae),a=Ee.dot(this.direction),o=-Ee.dot(Ae),l=Ee.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 i&&i.copy(this.direction).multiplyScalar(h).add(this.origin),n&&n.copy(Ae).multiplyScalar(u).add(Te),d}intersectSphere(t,e){Se.subVectors(t.center,this.origin);const i=Se.dot(this.direction),n=Se.dot(Se)-i*i,r=t.radius*t.radius;if(n>r)return null;const s=Math.sqrt(r-n),a=i-s,o=i+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 i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null}intersectPlane(t,e){const i=this.distanceToPlane(t);return null===i?null:this.at(i,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 i,n,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?(i=(t.min.x-u.x)*l,n=(t.max.x-u.x)*l):(i=(t.max.x-u.x)*l,n=(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),i>s||r>n?null:((r>i||i!=i)&&(i=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),i>o||a>n?null:((a>i||i!=i)&&(i=a),(o=0?i:n,e)))}intersectsBox(t){return null!==this.intersectBox(t,Se)}intersectTriangle(t,e,i,n,r){Ce.subVectors(e,t),Le.subVectors(i,t),Re.crossVectors(Ce,Le);let s,a=this.direction.dot(Re);if(a>0){if(n)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}Ee.subVectors(this.origin,t);const o=s*this.direction.dot(Le.crossVectors(Ee,Le));if(o<0)return null;const l=s*this.direction.dot(Ce.cross(Ee));if(l<0)return null;if(o+l>a)return null;const c=-s*Ee.dot(Re);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 Ie{constructor(){Ie.prototype.isMatrix4=!0,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,i,n,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]=i,g[12]=n,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 Ie().fromArray(this.elements)}copy(t){const e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}copyPosition(t){const e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[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,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,i=t.elements,n=1/De.setFromMatrixColumn(t,0).length(),r=1/De.setFromMatrixColumn(t,1).length(),s=1/De.setFromMatrixColumn(t,2).length();return e[0]=i[0]*n,e[1]=i[1]*n,e[2]=i[2]*n,e[3]=0,e[4]=i[4]*r,e[5]=i[5]*r,e[6]=i[6]*r,e[7]=0,e[8]=i[8]*s,e[9]=i[9]*s,e[10]=i[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,i=t.x,n=t.y,r=t.z,s=Math.cos(i),a=Math.sin(i),o=Math.cos(n),l=Math.sin(n),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,i=s*h,n=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=i+n*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=n+i*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,i=o*h,n=l*c,r=l*h;e[0]=t+r*a,e[4]=n*a-i,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=i*a-n,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,i=o*h,n=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=n+i*a,e[1]=i+n*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,i=s*h,n=a*c,r=a*h;e[0]=o*c,e[4]=n*l-i,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=i*l-n,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,i=s*l,n=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=n*h+i,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=i*h+n,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,i=s*l,n=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]=i*h-n,e[2]=n*h-i,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(Oe,t,ze)}lookAt(t,e,i){const n=this.elements;return Ue.subVectors(t,e),0===Ue.lengthSq()&&(Ue.z=1),Ue.normalize(),Fe.crossVectors(i,Ue),0===Fe.lengthSq()&&(1===Math.abs(i.z)?Ue.x+=1e-4:Ue.z+=1e-4,Ue.normalize(),Fe.crossVectors(i,Ue)),Fe.normalize(),Be.crossVectors(Ue,Fe),n[0]=Fe.x,n[4]=Be.x,n[8]=Ue.x,n[1]=Fe.y,n[5]=Be.y,n[9]=Ue.y,n[2]=Fe.z,n[6]=Be.z,n[10]=Ue.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 i=t.elements,n=e.elements,r=this.elements,s=i[0],a=i[4],o=i[8],l=i[12],c=i[1],h=i[5],u=i[9],d=i[13],p=i[2],m=i[6],f=i[10],g=i[14],v=i[3],x=i[7],y=i[11],_=i[15],M=n[0],b=n[4],w=n[8],S=n[12],T=n[1],A=n[5],E=n[9],C=n[13],L=n[2],R=n[6],P=n[10],I=n[14],D=n[3],N=n[7],O=n[11],z=n[15];return r[0]=s*M+a*T+o*L+l*D,r[4]=s*b+a*A+o*R+l*N,r[8]=s*w+a*E+o*P+l*O,r[12]=s*S+a*C+o*I+l*z,r[1]=c*M+h*T+u*L+d*D,r[5]=c*b+h*A+u*R+d*N,r[9]=c*w+h*E+u*P+d*O,r[13]=c*S+h*C+u*I+d*z,r[2]=p*M+m*T+f*L+g*D,r[6]=p*b+m*A+f*R+g*N,r[10]=p*w+m*E+f*P+g*O,r[14]=p*S+m*C+f*I+g*z,r[3]=v*M+x*T+y*L+_*D,r[7]=v*b+x*A+y*R+_*N,r[11]=v*w+x*E+y*P+_*O,r[15]=v*S+x*C+y*I+_*z,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],i=t[4],n=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-n*l*h-r*a*u+i*l*u+n*a*d-i*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-n*s*d+n*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+i*s*d+r*a*c-i*l*c)+t[15]*(-n*a*c-e*o*h+e*a*u+n*s*h-i*s*u+i*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,i){const n=this.elements;return t.isVector3?(n[12]=t.x,n[13]=t.y,n[14]=t.z):(n[12]=t,n[13]=e,n[14]=i),this}invert(){const t=this.elements,e=t[0],i=t[1],n=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,x=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,y=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+i*x+n*y+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*n*d+i*f*d+h*n*g-i*u*g)*b,t[2]=(a*f*r-m*o*r+m*n*l-i*f*l-a*n*g+i*o*g)*b,t[3]=(h*o*r-a*u*r-h*n*l+i*u*l+a*n*d-i*o*d)*b,t[4]=x*b,t[5]=(c*f*r-p*u*r+p*n*d-e*f*d-c*n*g+e*u*g)*b,t[6]=(p*o*r-s*f*r-p*n*l+e*f*l+s*n*g-e*o*g)*b,t[7]=(s*u*r-c*o*r+c*n*l-e*u*l-s*n*d+e*o*d)*b,t[8]=y*b,t[9]=(p*h*r-c*m*r-p*i*d+e*m*d+c*i*g-e*h*g)*b,t[10]=(s*m*r-p*a*r+p*i*l-e*m*l-s*i*g+e*a*g)*b,t[11]=(c*a*r-s*h*r-c*i*l+e*h*l+s*i*d-e*a*d)*b,t[12]=_*b,t[13]=(c*m*n-p*h*n+p*i*u-e*m*u-c*i*f+e*h*f)*b,t[14]=(p*a*n-s*m*n-p*i*o+e*m*o+s*i*f-e*a*f)*b,t[15]=(s*h*n-c*a*n+c*i*o-e*h*o-s*i*u+e*a*u)*b,this}scale(t){const e=this.elements,i=t.x,n=t.y,r=t.z;return e[0]*=i,e[4]*=n,e[8]*=r,e[1]*=i,e[5]*=n,e[9]*=r,e[2]*=i,e[6]*=n,e[10]*=r,e[3]*=i,e[7]*=n,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,n))}makeTranslation(t,e,i){return this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const i=Math.cos(e),n=Math.sin(e),r=1-i,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+i,l*a-n*o,l*o+n*a,0,l*a+n*o,c*a+i,c*o-n*s,0,l*o-n*a,c*o+n*s,r*o*o+i,0,0,0,0,1),this}makeScale(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this}makeShear(t,e,i,n,r,s){return this.set(1,i,r,0,t,1,s,0,e,n,1,0,0,0,0,1),this}compose(t,e,i){const n=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,x=o*c,y=o*h,_=i.x,M=i.y,b=i.z;return n[0]=(1-(m+g))*_,n[1]=(d+y)*_,n[2]=(p-x)*_,n[3]=0,n[4]=(d-y)*M,n[5]=(1-(u+g))*M,n[6]=(f+v)*M,n[7]=0,n[8]=(p+x)*b,n[9]=(f-v)*b,n[10]=(1-(u+m))*b,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this}decompose(t,e,i){const n=this.elements;let r=De.set(n[0],n[1],n[2]).length();const s=De.set(n[4],n[5],n[6]).length(),a=De.set(n[8],n[9],n[10]).length();this.determinant()<0&&(r=-r),t.x=n[12],t.y=n[13],t.z=n[14],Ne.copy(this);const o=1/r,l=1/s,c=1/a;return Ne.elements[0]*=o,Ne.elements[1]*=o,Ne.elements[2]*=o,Ne.elements[4]*=l,Ne.elements[5]*=l,Ne.elements[6]*=l,Ne.elements[8]*=c,Ne.elements[9]*=c,Ne.elements[10]*=c,e.setFromRotationMatrix(Ne),i.x=r,i.y=s,i.z=a,this}makePerspective(t,e,i,n,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/(i-n),c=(e+t)/(e-t),h=(i+n)/(i-n),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,i,n,r,s){const a=this.elements,o=1/(e-t),l=1/(i-n),c=1/(s-r),h=(e+t)*o,u=(i+n)*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,i=t.elements;for(let t=0;t<16;t++)if(e[t]!==i[t])return!1;return!0}fromArray(t,e=0){for(let i=0;i<16;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}}const De=new ee,Ne=new Ie,Oe=new ee(0,0,0),ze=new ee(1,1,1),Fe=new ee,Be=new ee,Ue=new ee,ke=new Ie,Ge=new te;class Ve{constructor(t=0,e=0,i=0,n=Ve.DefaultOrder){this.isEuler=!0,this._x=t,this._y=e,this._z=i,this._order=n}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,i,n=this._order){return this._x=t,this._y=e,this._z=i,this._order=n,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,i=!0){const n=t.elements,r=n[0],s=n[4],a=n[8],o=n[1],l=n[5],c=n[9],h=n[2],u=n[6],d=n[10];switch(e){case"XYZ":this._y=Math.asin(_t(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(-_t(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(_t(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(-_t(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(_t(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(-_t(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===i&&this._onChangeCallback(),this}setFromQuaternion(t,e,i){return ke.makeRotationFromQuaternion(t),this.setFromRotationMatrix(ke,e,i)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Ge.setFromEuler(this),this.setFromQuaternion(Ge,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}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}toVector3(){console.error("THREE.Euler: .toVector3() has been removed. Use Vector3.setFromEuler() instead")}}Ve.DefaultOrder="XYZ",Ve.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class He{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){n.children=[];for(let e=0;e0){n.animations=[];for(let e=0;e0&&(i.geometries=e),n.length>0&&(i.materials=n),r.length>0&&(i.textures=r),a.length>0&&(i.images=a),o.length>0&&(i.shapes=o),l.length>0&&(i.skeletons=l),c.length>0&&(i.animations=c),h.length>0&&(i.nodes=h)}return i.object=n,i;function s(t){const e=[];for(const i in t){const n=t[i];delete n.metadata,e.push(n)}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?n.multiplyScalar(1/Math.sqrt(r)):n.set(0,0,0)}static getBarycoord(t,e,i,n,r){ri.subVectors(n,e),si.subVectors(i,e),ai.subVectors(t,e);const s=ri.dot(ri),a=ri.dot(si),o=ri.dot(ai),l=si.dot(si),c=si.dot(ai),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,i,n){return this.getBarycoord(t,e,i,n,oi),oi.x>=0&&oi.y>=0&&oi.x+oi.y<=1}static getUV(t,e,i,n,r,s,a,o){return this.getBarycoord(t,e,i,n,oi),o.set(0,0),o.addScaledVector(r,oi.x),o.addScaledVector(s,oi.y),o.addScaledVector(a,oi.z),o}static isFrontFacing(t,e,i,n){return ri.subVectors(i,e),si.subVectors(t,e),ri.cross(si).dot(n)<0}set(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this}setFromPointsAndIndices(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this}setFromAttributeAndIndices(t,e,i,n){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,i),this.c.fromBufferAttribute(t,n),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 ri.subVectors(this.c,this.b),si.subVectors(this.a,this.b),.5*ri.cross(si).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return mi.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return mi.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,i,n,r){return mi.getUV(t,this.a,this.b,this.c,e,i,n,r)}containsPoint(t){return mi.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return mi.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const i=this.a,n=this.b,r=this.c;let s,a;li.subVectors(n,i),ci.subVectors(r,i),ui.subVectors(t,i);const o=li.dot(ui),l=ci.dot(ui);if(o<=0&&l<=0)return e.copy(i);di.subVectors(t,n);const c=li.dot(di),h=ci.dot(di);if(c>=0&&h<=c)return e.copy(n);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(i).addScaledVector(li,s);pi.subVectors(t,r);const d=li.dot(pi),p=ci.dot(pi);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(i).addScaledVector(ci,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return hi.subVectors(r,n),a=(h-c)/(h-c+(d-p)),e.copy(n).addScaledVector(hi,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(i).addScaledVector(li,s).addScaledVector(ci,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let fi=0;class gi extends mt{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:fi++}),this.uuid=yt(),this.name="",this.type="Material",this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=i,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=ht,this.stencilZFail=ht,this.stencilZPass=ht,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 i=t[e];if(void 0===i){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===i;continue}const n=this[e];void 0!==n?n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[e]=i: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 i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function n(t){const e=[];for(const i in t){const n=t[i];delete n.metadata,e.push(n)}return e}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),void 0!==this.roughness&&(i.roughness=this.roughness),void 0!==this.metalness&&(i.metalness=this.metalness),void 0!==this.sheen&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(i.shininess=this.shininess),void 0!==this.clearcoat&&(i.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(i.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(i.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(t).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(t).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(t).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(t).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(t).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(i.combine=this.combine)),void 0!==this.envMapIntensity&&(i.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(i.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(i.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(i.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(i.size=this.size),null!==this.shadowSide&&(i.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(i.blending=this.blending),0!==this.side&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),!0===this.transparent&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(i.rotation=this.rotation),!0===this.polygonOffset&&(i.polygonOffset=!0),0!==this.polygonOffsetFactor&&(i.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(i.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(i.linewidth=this.linewidth),void 0!==this.dashSize&&(i.dashSize=this.dashSize),void 0!==this.gapSize&&(i.gapSize=this.gapSize),void 0!==this.scale&&(i.scale=this.scale),!0===this.dithering&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(i.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(i.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(i.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(i.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(i.flatShading=this.flatShading),!1===this.visible&&(i.visible=!1),!1===this.toneMapped&&(i.toneMapped=!1),!1===this.fog&&(i.fog=!1),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),e){const e=n(t.textures),r=n(t.images);e.length>0&&(i.textures=e),r.length>0&&(i.images=r)}return i}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,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 i=null;if(null!==e){const t=e.length;i=new Array(t);for(let n=0;n!==t;++n)i[n]=e[n].clone()}return this.clippingPlanes=i,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++}}class vi extends gi{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Ht(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,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.fog=!0,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.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.fog=t.fog,this}}const xi=new ee,yi=new Et;class _i{constructor(t,e,i){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===i,this.usage=ut,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this}copyAt(t,e,i){t*=this.itemSize,i*=e.itemSize;for(let n=0,r=this.itemSize;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const i in e)void 0!==e[i]&&(t[i]=e[i]);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 i=this.attributes;for(const e in i){const n=i[e];t.data.attributes[e]=n.toJSON(t.data)}const n={};let r=!1;for(const e in this.morphAttributes){const i=this.morphAttributes[e],s=[];for(let e=0,n=i.length;e0&&(n[e]=s,r=!0)}r&&(t.data.morphAttributes=n,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 i=t.index;null!==i&&this.setIndex(i.clone(e));const n=t.attributes;for(const t in n){const i=n[t];this.setAttribute(t,i.clone(e))}const r=t.morphAttributes;for(const t in r){const i=[],n=r[t];for(let t=0,r=n.length;t0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;ti.far?null:{distance:c,point:Yi.clone(),object:t}}(t,e,i,n,Oi,zi,Fi,Xi);if(p){o&&(Wi.fromBufferAttribute(o,c),ji.fromBufferAttribute(o,h),qi.fromBufferAttribute(o,u),p.uv=mi.getUV(Xi,Oi,zi,Fi,Wi,ji,qi,new Et)),l&&(Wi.fromBufferAttribute(l,c),ji.fromBufferAttribute(l,h),qi.fromBufferAttribute(l,u),p.uv2=mi.getUV(Xi,Oi,zi,Fi,Wi,ji,qi,new Et));const t={a:c,b:h,c:u,normal:new ee,materialIndex:0};mi.getNormal(Oi,zi,Fi,t.normal),p.face=t}return p}class Ki extends Pi{constructor(t=1,e=1,i=1,n=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:i,widthSegments:n,heightSegments:r,depthSegments:s};const a=this;n=Math.floor(n),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,i,n,r,s,p,m,f,g,v){const x=s/f,y=p/g,_=s/2,M=p/2,b=m/2,w=f+1,S=g+1;let T=0,A=0;const E=new ee;for(let s=0;s0?1:-1,c.push(E.x,E.y,E.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 i={};for(const t in this.extensions)!0===this.extensions[t]&&(i[t]=!0);return Object.keys(i).length>0&&(e.extensions=i),e}}class nn extends ni{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ie,this.projectionMatrix=new Ie,this.projectionMatrixInverse=new Ie}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)}}class rn extends nn{constructor(t=50,e=1,i=.1,n=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=i,this.far=n,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*xt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*vt*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*xt*Math.atan(Math.tan(.5*vt*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,i,n,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=i,this.view.offsetY=n,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*vt*this.fov)/this.zoom,i=2*e,n=this.aspect*i,r=-.5*n;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*n/t,e-=s.offsetY*i/a,n*=s.width/t,i*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+n,e,e-i,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}}const sn=90;class an extends ni{constructor(t,e,i){if(super(),this.type="CubeCamera",!0!==i.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=i;const n=new rn(sn,1,t,e);n.layers=this.layers,n.up.set(0,-1,0),n.lookAt(new ee(1,0,0)),this.add(n);const r=new rn(sn,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new ee(-1,0,0)),this.add(r);const s=new rn(sn,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new ee(0,1,0)),this.add(s);const a=new rn(sn,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new ee(0,-1,0)),this.add(a);const o=new rn(sn,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new ee(0,0,1)),this.add(o);const l=new rn(sn,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new ee(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const i=this.renderTarget,[n,r,s,a,o,l]=this.children,c=t.getRenderTarget(),h=t.toneMapping,u=t.xr.enabled;t.toneMapping=0,t.xr.enabled=!1;const d=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,t.setRenderTarget(i,0),t.render(e,n),t.setRenderTarget(i,1),t.render(e,r),t.setRenderTarget(i,2),t.render(e,s),t.setRenderTarget(i,3),t.render(e,a),t.setRenderTarget(i,4),t.render(e,o),i.texture.generateMipmaps=d,t.setRenderTarget(i,5),t.render(e,l),t.setRenderTarget(c),t.toneMapping=h,t.xr.enabled=u,i.texture.needsPMREMUpdate=!0}}class on extends Zt{constructor(t,e,i,n,s,a,o,l,c,h){super(t=void 0!==t?t:[],e=void 0!==e?e:r,i,n,s,a,o,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class ln extends Kt{constructor(t,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const i={width:t,height:t,depth:1},n=[i,i,i,i,i,i];this.texture=new on(n,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:f}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const i={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"},n=new Ki(5,5,5),r=new en({name:"CubemapFromEquirect",uniforms:Qi(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const s=new Zi(n,r),a=e.minFilter;e.minFilter===v&&(e.minFilter=f);return new an(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,i,n){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,i,n);t.setRenderTarget(r)}}const cn=new ee,hn=new ee,un=new Ct;class dn{constructor(t=new ee(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,i,n){return this.normal.set(t,e,i),this.constant=n,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,i){const n=cn.subVectors(i,e).cross(hn.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(n,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 i=t.delta(cn),n=this.normal.dot(i);if(0===n)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/n;return r<0||r>1?null:e.copy(i).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<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 i=e||un.getNormalMatrix(t),n=this.coplanarPoint(cn).applyMatrix4(t),r=this.normal.applyMatrix3(i).normalize();return this.constant=-n.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)}}const pn=new we,mn=new ee;class fn{constructor(t=new dn,e=new dn,i=new dn,n=new dn,r=new dn,s=new dn){this.planes=[t,e,i,n,r,s]}set(t,e,i,n,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(i),a[3].copy(n),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let i=0;i<6;i++)e[i].copy(t.planes[i]);return this}setFromProjectionMatrix(t){const e=this.planes,i=t.elements,n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],l=i[5],c=i[6],h=i[7],u=i[8],d=i[9],p=i[10],m=i[11],f=i[12],g=i[13],v=i[14],x=i[15];return e[0].setComponents(a-n,h-o,m-u,x-f).normalize(),e[1].setComponents(a+n,h+o,m+u,x+f).normalize(),e[2].setComponents(a+r,h+l,m+d,x+g).normalize(),e[3].setComponents(a-r,h-l,m-d,x-g).normalize(),e[4].setComponents(a-s,h-c,m-p,x-v).normalize(),e[5].setComponents(a+s,h+c,m+p,x+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),pn.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(pn)}intersectsSprite(t){return pn.center.set(0,0,0),pn.radius=.7071067811865476,pn.applyMatrix4(t.matrixWorld),this.intersectsSphere(pn)}intersectsSphere(t){const e=this.planes,i=t.center,n=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(i)0?t.max.x:t.min.x,mn.y=n.normal.y>0?t.max.y:t.min.y,mn.z=n.normal.z>0?t.max.z:t.min.z,n.distanceToPoint(mn)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function gn(){let t=null,e=!1,i=null,n=null;function r(e,s){i(e,s),n=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==i&&(n=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(t){i=t},setContext:function(e){t=e}}}function vn(t,e){const i=e.isWebGL2,n=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),n.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const i=n.get(e);i&&(t.deleteBuffer(i.buffer),n.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=n.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",iridescence_fragment:"#ifdef USE_IRIDESCENCE\nconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660,\t0.0556434,\n\t -1.5371385,\t1.8760108, -0.2040259,\n\t -0.4985314,\t0.0415560,\t1.0572252\n);\nvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t vec3 sqrtF0 = sqrt( fresnel0 );\n\t return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n}\nvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n}\nfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n}\nvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t float phase = 2.0 * PI * OPD * 1.0e-9;\n\t vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( -pow2( phase ) * var );\n\t xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[0] ) * exp( -4.5282e+09 * pow2( phase ) );\n\t xyz /= 1.0685e-7;\n\t vec3 srgb = XYZ_TO_REC709 * xyz;\n\t return srgb;\n}\nvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t vec3 I;\n\t float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t float cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t if ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t }\n\t float cosTheta2 = sqrt( cosTheta2Sq );\n\t float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t float R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t float R21 = R12;\n\t float T121 = 1.0 - R12;\n\t float phi12 = 0.0;\n\t if ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t float phi21 = PI - phi12;\n\t vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t vec3 phi23 = vec3( 0.0 );\n\t if ( baseIOR[0] < iridescenceIOR ) phi23[0] = PI;\n\t if ( baseIOR[1] < iridescenceIOR ) phi23[1] = PI;\n\t if ( baseIOR[2] < iridescenceIOR ) phi23[2] = PI;\n\t float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t vec3 phi = vec3( phi21 ) + phi23;\n\t vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t vec3 r123 = sqrt( R123 );\n\t vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t vec3 C0 = R12 + Rs;\n\t I = C0;\n\t vec3 Cm = Rs - T121;\n\t for ( int m = 1; m <= 2; ++m ) {\n\t\t\t Cm *= r123;\n\t\t\t vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\t I += Cm * Sm;\n\t }\n\t return max( I, vec3( 0.0 ) );\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; }\nvec3 pow2( const in vec3 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_minMipLevel 4.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\tvec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\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\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\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_MAX_MIP );\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\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:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\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}",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#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\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 = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\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 vec3( texture2D( gradientMap, coord ).r );\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 = lightMapTexel.rgb * lightMapIntensity;\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 *= 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_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= 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_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\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 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\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}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\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#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 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\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\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\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\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\n#ifdef USE_IRIDESCENCE\nfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\nif ( material.iridescenceThickness == 0.0 ) {\n\tmaterial.iridescence = 0.0;\n} else {\n\tmaterial.iridescence = saturate( material.iridescence );\n}\nif ( material.iridescence > 0.0 ) {\n\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n}\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 = lightMapTexel.rgb * lightMapIntensity;\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 sampledDiffuseColor = texture2D( map, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\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\tdiffuseColor *= texture2D( map, uv );\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",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\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 ).xyz * 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 ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\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\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\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",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\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\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\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( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in 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( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef texture2DLodEXT\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( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in 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( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in 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\tgl_FragColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tgl_FragColor = vec4( mix( pow( gl_FragColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), gl_FragColor.rgb * 0.0773993808, vec3( lessThanEqual( gl_FragColor.rgb, vec3( 0.04045 ) ) ) ), gl_FragColor.w );\n\t#endif\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\tgl_FragColor = texture2D( tEquirect, sampleUV );\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\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#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 += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\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\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\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#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 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\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\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\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\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_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\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 \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_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\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\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\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}"},_n={common:{diffuse:{value:new Ht(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Ct},uv2Transform:{value:new Ct},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 Et(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 Ht(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 Ht(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Ct}},sprite:{diffuse:{value:new Ht(16777215)},opacity:{value:1},center:{value:new Et(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Ct}}},Mn={basic:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.fog]),vertexShader:yn.meshbasic_vert,fragmentShader:yn.meshbasic_frag},lambert:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.fog,_n.lights,{emissive:{value:new Ht(0)}}]),vertexShader:yn.meshlambert_vert,fragmentShader:yn.meshlambert_frag},phong:{uniforms:$i([_n.common,_n.specularmap,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)},specular:{value:new Ht(1118481)},shininess:{value:30}}]),vertexShader:yn.meshphong_vert,fragmentShader:yn.meshphong_frag},standard:{uniforms:$i([_n.common,_n.envmap,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.roughnessmap,_n.metalnessmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:yn.meshphysical_vert,fragmentShader:yn.meshphysical_frag},toon:{uniforms:$i([_n.common,_n.aomap,_n.lightmap,_n.emissivemap,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.gradientmap,_n.fog,_n.lights,{emissive:{value:new Ht(0)}}]),vertexShader:yn.meshtoon_vert,fragmentShader:yn.meshtoon_frag},matcap:{uniforms:$i([_n.common,_n.bumpmap,_n.normalmap,_n.displacementmap,_n.fog,{matcap:{value:null}}]),vertexShader:yn.meshmatcap_vert,fragmentShader:yn.meshmatcap_frag},points:{uniforms:$i([_n.points,_n.fog]),vertexShader:yn.points_vert,fragmentShader:yn.points_frag},dashed:{uniforms:$i([_n.common,_n.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:yn.linedashed_vert,fragmentShader:yn.linedashed_frag},depth:{uniforms:$i([_n.common,_n.displacementmap]),vertexShader:yn.depth_vert,fragmentShader:yn.depth_frag},normal:{uniforms:$i([_n.common,_n.bumpmap,_n.normalmap,_n.displacementmap,{opacity:{value:1}}]),vertexShader:yn.meshnormal_vert,fragmentShader:yn.meshnormal_frag},sprite:{uniforms:$i([_n.sprite,_n.fog]),vertexShader:yn.sprite_vert,fragmentShader:yn.sprite_frag},background:{uniforms:{uvTransform:{value:new Ct},t2D:{value:null}},vertexShader:yn.background_vert,fragmentShader:yn.background_frag},cube:{uniforms:$i([_n.envmap,{opacity:{value:1}}]),vertexShader:yn.cube_vert,fragmentShader:yn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:yn.equirect_vert,fragmentShader:yn.equirect_frag},distanceRGBA:{uniforms:$i([_n.common,_n.displacementmap,{referencePosition:{value:new ee},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:yn.distanceRGBA_vert,fragmentShader:yn.distanceRGBA_frag},shadow:{uniforms:$i([_n.lights,_n.fog,{color:{value:new Ht(0)},opacity:{value:1}}]),vertexShader:yn.shadow_vert,fragmentShader:yn.shadow_frag}};function bn(t,e,i,n,r,s){const a=new Ht(0);let o,c,h=!0===r?0:1,u=null,d=0,p=null;function m(t,e){i.buffers.color.setClear(t.r,t.g,t.b,e,s)}return{getClearColor:function(){return a},setClearColor:function(t,e=1){a.set(t),h=e,m(a,h)},getClearAlpha:function(){return h},setClearAlpha:function(t){h=t,m(a,h)},render:function(i,r){let s=!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?m(a,h):f&&f.isColor&&(m(f,1),s=!0),(t.autoClear||s)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),f&&(f.isCubeTexture||f.mapping===l)?(void 0===c&&(c=new Zi(new Ki(1,1,1),new en({name:"BackgroundCubeMaterial",uniforms:Qi(Mn.cube.uniforms),vertexShader:Mn.cube.vertexShader,fragmentShader:Mn.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(t,e,i){this.matrixWorld.copyPosition(i.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(c)),c.material.uniforms.envMap.value=f,c.material.uniforms.flipEnvMap.value=f.isCubeTexture&&!1===f.isRenderTargetTexture?-1:1,u===f&&d===f.version&&p===t.toneMapping||(c.material.needsUpdate=!0,u=f,d=f.version,p=t.toneMapping),c.layers.enableAll(),i.unshift(c,c.geometry,c.material,0,0,null)):f&&f.isTexture&&(void 0===o&&(o=new Zi(new xn(2,2),new en({name:"BackgroundMaterial",uniforms:Qi(Mn.background.uniforms),vertexShader:Mn.background.vertexShader,fragmentShader:Mn.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(o)),o.material.uniforms.t2D.value=f,!0===f.matrixAutoUpdate&&f.updateMatrix(),o.material.uniforms.uvTransform.value.copy(f.matrix),u===f&&d===f.version&&p===t.toneMapping||(o.material.needsUpdate=!0,u=f,d=f.version,p=t.toneMapping),o.layers.enableAll(),i.unshift(o,o.geometry,o.material,0,0,null))}}}function wn(t,e,i,n){const r=t.getParameter(34921),s=n.isWebGL2?null:e.get("OES_vertex_array_object"),a=n.isWebGL2||null!==s,o={},l=p(null);let c=l,h=!1;function u(e){return n.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function d(e){return n.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function p(t){const e=[],i=[],n=[];for(let t=0;t=0){const i=r[e];let n=s[e];if(void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor)),void 0===i)return!0;if(i.attribute!==n)return!0;if(n&&i.data!==n.data)return!0;a++}}return c.attributesNum!==a||c.index!==n}(r,y,d,_),M&&function(t,e,i,n){const r={},s=e.attributes;let a=0;const o=i.getAttributes();for(const e in o){if(o[e].location>=0){let i=s[e];void 0===i&&("instanceMatrix"===e&&t.instanceMatrix&&(i=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(i=t.instanceColor));const n={};n.attribute=i,i&&i.data&&(n.data=i.data),r[e]=n,a++}}c.attributes=r,c.attributesNum=a,c.index=n}(r,y,d,_)}else{const t=!0===l.wireframe;c.geometry===y.id&&c.program===d.id&&c.wireframe===t||(c.geometry=y.id,c.program=d.id,c.wireframe=t,M=!0)}null!==_&&i.update(_,34963),(M||h)&&(h=!1,function(r,s,a,o){if(!1===n.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;m();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const n=c[e];if(n.location>=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=i.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const i=s.data,l=i.stride,d=s.offset;if(i.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!==i.precision?i.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===i.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),x=u>0,y=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==n)return n;if(!0===e.has("EXT_texture_filter_anisotropic")){const i=e.get("EXT_texture_filter_anisotropic");n=t.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:x,floatFragmentTextures:y,floatVertexTextures:x&&y,maxSamples:s?t.getParameter(36183):0}}function An(t){const e=this;let i=null,n=0,r=!1,s=!1;const a=new dn,o=new Ct,l={value:null,needsUpdate:!1};function c(){l.value!==i&&(l.value=i,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function h(t,i,n,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=n+4*s,r=i.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length0){const a=new ln(s.height/2);return a.fromEquirectangularTexture(t,r),e.set(r,a),r.addEventListener("dispose",n),i(a.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}Mn.physical={uniforms:$i([Mn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Et(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new Ht(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Et},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Ht(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new Ht(1,1,1)},specularColorMap:{value:null}}]),vertexShader:yn.meshphysical_vert,fragmentShader:yn.meshphysical_frag};class Cn extends nn{constructor(t=-1,e=1,i=1,n=-1,r=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=i,this.bottom=n,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,i,n,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=i,this.view.offsetY=n,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),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2;let r=i-t,s=i+t,a=n+e,o=n-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}}const Ln=[.125,.215,.35,.446,.526,.582],Rn=20,Pn=new Cn,In=new Ht;let Dn=null;const Nn=(1+Math.sqrt(5))/2,On=1/Nn,zn=[new ee(1,1,1),new ee(-1,1,1),new ee(1,1,-1),new ee(-1,1,-1),new ee(0,Nn,On),new ee(0,Nn,-On),new ee(On,0,Nn),new ee(-On,0,Nn),new ee(Nn,On,0),new ee(-Nn,On,0)];class Fn{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,i=.1,n=100){Dn=this._renderer.getRenderTarget(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(t,i,n,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Gn(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=kn(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;tt-4?o=Ln[a-t+4-1]:0===a&&(o=0),n.push(o);const l=1/(s-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,m=3,f=2,g=1,v=new Float32Array(m*p*d),x=new Float32Array(f*p*d),y=new Float32Array(g*p*d);for(let t=0;t2?0:-1,n=[e,i,0,e+2/3,i,0,e+2/3,i+1,0,e,i,0,e+2/3,i+1,0,e,i+1,0];v.set(n,m*p*t),x.set(u,f*p*t);const r=[t,t,t,t,t,t];y.set(r,g*p*t)}const _=new Pi;_.setAttribute("position",new _i(v,m)),_.setAttribute("uv",new _i(x,f)),_.setAttribute("faceIndex",new _i(y,g)),e.push(_),r>4&&r--}return{lodPlanes:e,sizeLods:i,sigmas:n}}(n)),this._blurMaterial=function(t,e,i){const n=new Float32Array(Rn),r=new ee(0,1,0);return new en({name:"SphericalGaussianBlur",defines:{n:Rn,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/i,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Vn(),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#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}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}(n,t,e)}return n}_compileMaterial(t){const e=new Zi(this._lodPlanes[0],t);this._renderer.compile(e,Pn)}_sceneToCubeUV(t,e,i,n){const r=new rn(90,1,e,i),s=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,c=o.toneMapping;o.getClearColor(In),o.toneMapping=0,o.autoClear=!1;const h=new vi({name:"PMREM.Background",side:1,depthWrite:!1,depthTest:!1}),u=new Zi(new Ki(),h);let d=!1;const p=t.background;p?p.isColor&&(h.color.copy(p),t.background=null,d=!0):(h.color.copy(In),d=!0);for(let e=0;e<6;e++){const i=e%3;0===i?(r.up.set(0,s[e],0),r.lookAt(a[e],0,0)):1===i?(r.up.set(0,0,s[e]),r.lookAt(0,a[e],0)):(r.up.set(0,s[e],0),r.lookAt(0,0,a[e]));const l=this._cubeSize;Un(n,i*l,e>2?l:0,l,l),o.setRenderTarget(n),d&&o.render(u,r),o.render(t,r)}u.geometry.dispose(),u.material.dispose(),o.toneMapping=c,o.autoClear=l,t.background=p}_textureToCubeUV(t,e){const i=this._renderer,n=t.mapping===r||t.mapping===s;n?(null===this._cubemapMaterial&&(this._cubemapMaterial=Gn()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=kn());const a=n?this._cubemapMaterial:this._equirectMaterial,o=new Zi(this._lodPlanes[0],a);a.uniforms.envMap.value=t;const l=this._cubeSize;Un(e,0,0,3*l,2*l),i.setRenderTarget(e),i.render(o,Pn)}_applyPMREM(t){const e=this._renderer,i=e.autoClear;e.autoClear=!1;for(let e=1;eRn&&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;tv-4?n-v+4:0),4*(this._cubeSize-x),3*x,2*x),o.setRenderTarget(e),o.render(c,Pn)}}function Bn(t,e,i){const n=new Kt(t,e,i);return n.texture.mapping=l,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function Un(t,e,i,n,r){t.viewport.set(e,i,n,r),t.scissor.set(e,i,n,r)}function kn(){return new en({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Vn(),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\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Gn(){return new en({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Vn(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Vn(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\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 Hn(t){let e=new WeakMap,i=null;function n(t){const i=t.target;i.removeEventListener("dispose",n);const r=e.get(i);void 0!==r&&(e.delete(i),r.dispose())}return{get:function(l){if(l&&l.isTexture){const c=l.mapping,h=c===a||c===o,u=c===r||c===s;if(h||u){if(l.isRenderTargetTexture&&!0===l.needsPMREMUpdate){l.needsPMREMUpdate=!1;let n=e.get(l);return null===i&&(i=new Fn(t)),n=h?i.fromEquirectangular(l,n):i.fromCubemap(l,n),e.set(l,n),n.texture}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 i=6;for(let n=0;ne.maxTextureSize&&(E=Math.ceil(A/e.maxTextureSize),A=e.maxTextureSize);const C=new Float32Array(A*E*4*m),L=new Qt(C,A,E,m);L.type=M,L.needsUpdate=!0;const R=4*T;for(let I=0;I0)return t;const r=e*i;let s=nr[r];if(void 0===s&&(s=new Float32Array(r),nr[r]=s),0!==e){n.toArray(s,0);for(let n=1,r=0;n!==e;++n)r+=i,t[n].toArray(s,r)}return s}function cr(t,e){if(t.length!==e.length)return!1;for(let i=0,n=t.length;i":" "} ${r}: ${i[t]}`)}return n.join("\n")}(t.getShaderSource(e),n)}return r}function as(t,e){const i=function(t){switch(t){case at:return["Linear","( value )"];case ot:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",t),["Linear","( value )"];}}(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+i[0]+i[1]+"; }"}function os(t,e){let i;switch(e){case 1:i="Linear";break;case 2:i="Reinhard";break;case 3:i="OptimizedCineon";break;case 4:i="ACESFilmic";break;case 5:i="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),i="Linear";}return"vec3 "+t+"( vec3 color ) { return "+i+"ToneMapping( color ); }"}function ls(t){return""!==t}function cs(t,e){return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function hs(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const us=/^[ \t]*#include +<([\w\d./]+)>/gm;function ds(t){return t.replace(us,ps)}function ps(t,e){const i=yn[e];if(void 0===i)throw new Error("Can not resolve #include <"+e+">");return ds(i)}const ms=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,fs=/#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 gs(t){return t.replace(fs,xs).replace(ms,vs)}function vs(t,e,i,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),xs(t,e,i,n)}function xs(t,e,i,n){let r="";for(let t=parseInt(e);t0&&(y+="\n"),_=[g,v].filter(ls).join("\n"),_.length>0&&(_+="\n")):(y=[ys(i),"#define SHADER_NAME "+i.shaderName,v,i.instancing?"#define USE_INSTANCING":"",i.instancingColor?"#define USE_INSTANCING_COLOR":"",i.supportsVertexTextures?"#define VERTEX_TEXTURES":"",i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+p:"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",i.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",i.displacementMap&&i.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",i.specularColorMap?"#define USE_SPECULARCOLORMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.sheenColorMap?"#define USE_SHEENCOLORMAP":"",i.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.flatShading?"#define FLAT_SHADED":"",i.skinning?"#define USE_SKINNING":"",i.morphTargets?"#define USE_MORPHTARGETS":"",i.morphNormals&&!1===i.flatShading?"#define USE_MORPHNORMALS":"",i.morphColors&&i.isWebGL2?"#define USE_MORPHCOLORS":"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+i.morphTextureStride:"",i.morphTargetsCount>0&&i.isWebGL2?"#define MORPHTARGETS_COUNT "+i.morphTargetsCount:"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+u:"",i.sizeAttenuation?"#define USE_SIZEATTENUATION":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.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(ls).join("\n"),_=[g,ys(i),"#define SHADER_NAME "+i.shaderName,v,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.matcap?"#define USE_MATCAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+d:"",i.envMap?"#define "+p:"",i.envMap?"#define "+m:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoat?"#define USE_CLEARCOAT":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.iridescence?"#define USE_IRIDESCENCE":"",i.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",i.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",i.specularColorMap?"#define USE_SPECULARCOLORMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.alphaTest?"#define USE_ALPHATEST":"",i.sheen?"#define USE_SHEEN":"",i.sheenColorMap?"#define USE_SHEENCOLORMAP":"",i.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors||i.instancingColor?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.gradientMap?"#define USE_GRADIENTMAP":"",i.flatShading?"#define FLAT_SHADED":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+u:"",i.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",i.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==i.toneMapping?"#define TONE_MAPPING":"",0!==i.toneMapping?yn.tonemapping_pars_fragment:"",0!==i.toneMapping?os("toneMapping",i.toneMapping):"",i.dithering?"#define DITHERING":"",i.opaque?"#define OPAQUE":"",yn.encodings_pars_fragment,as("linearToOutputTexel",i.outputEncoding),i.useDepthPacking?"#define DEPTH_PACKING "+i.depthPacking:"","\n"].filter(ls).join("\n")),c=ds(c),c=cs(c,i),c=hs(c,i),h=ds(h),h=cs(h,i),h=hs(h,i),c=gs(c),h=gs(h),i.isWebGL2&&!0!==i.isRawShaderMaterial&&(M="#version 300 es\n",y=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+y,_=["#define varying in",i.glslVersion===dt?"":"layout(location = 0) out highp vec4 pc_fragColor;",i.glslVersion===dt?"":"#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"+_);const b=M+_+h,w=ns(a,35633,M+y+c),S=ns(a,35632,b);if(a.attachShader(x,w),a.attachShader(x,S),void 0!==i.index0AttributeName?a.bindAttribLocation(x,0,i.index0AttributeName):!0===i.morphTargets&&a.bindAttribLocation(x,0,"position"),a.linkProgram(x),t.debug.checkShaderErrors){const t=a.getProgramInfoLog(x).trim(),e=a.getShaderInfoLog(w).trim(),i=a.getShaderInfoLog(S).trim();let n=!0,r=!0;if(!1===a.getProgramParameter(x,35714)){n=!1;const e=ss(a,w,"vertex"),i=ss(a,S,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(x,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+i)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==i||(r=!1);r&&(this.diagnostics={runnable:n,programLog:t,vertexShader:{log:e,prefix:y},fragmentShader:{log:i,prefix:_}})}let T,A;return a.deleteShader(w),a.deleteShader(S),this.getUniforms=function(){return void 0===T&&(T=new is(a,x)),T},this.getAttributes=function(){return void 0===A&&(A=function(t,e){const i={},n=t.getProgramParameter(e,35721);for(let r=0;r0,D=s.clearcoat>0,N=s.iridescence>0;return{isWebGL2:u,shaderID:w,shaderName:s.type,vertexShader:A,fragmentShader:E,defines:s.defines,customVertexShaderID:C,customFragmentShaderID:L,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:m,instancing:!0===v.isInstancedMesh,instancingColor:!0===v.isInstancedMesh&&null!==v.instanceColor,supportsVertexTextures:p,outputEncoding:null===P?t.outputEncoding:!0===P.isXRRenderTarget?P.texture.encoding:at,map:!!s.map,matcap:!!s.matcap,envMap:!!M,envMapMode:M&&M.mapping,envMapCubeUVHeight:b,lightMap:!!s.lightMap,aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:1===s.normalMapType,tangentSpaceNormalMap:0===s.normalMapType,decodeVideoTexture:!!s.map&&!0===s.map.isVideoTexture&&s.map.encoding===ot,clearcoat:D,clearcoatMap:D&&!!s.clearcoatMap,clearcoatRoughnessMap:D&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:D&&!!s.clearcoatNormalMap,iridescence:N,iridescenceMap:N&&!!s.iridescenceMap,iridescenceThicknessMap:N&&!!s.iridescenceThicknessMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,opaque:!1===s.transparent&&1===s.blending,alphaMap:!!s.alphaMap,alphaTest:I,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!y.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!y.attributes.color&&4===y.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.iridescenceMap||s.iridescenceThicknessMap||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.iridescenceMap||s.iridescenceThicknessMap||s.transmission>0||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularColorMap||s.sheen>0||s.sheenColorMap||s.sheenRoughnessMap||!s.displacementMap),fog:!!x,useFog:!0===s.fog,fogExp2:x&&x.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===v.isSkinnedMesh,morphTargets:void 0!==y.morphAttributes.position,morphNormals:void 0!==y.morphAttributes.normal,morphColors:void 0!==y.morphAttributes.color,morphTargetsCount:T,morphTextureStride:R,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,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.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,useDepthPacking:!!s.depthPacking,depthPacking:s.depthPacking||0,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:u||n.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||n.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||n.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const i=[];if(e.shaderID?i.push(e.shaderID):(i.push(e.customVertexShaderID),i.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)i.push(t),i.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputEncoding),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.combine),t.push(e.vertexUvs),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(i,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.map&&o.enable(4);e.matcap&&o.enable(5);e.envMap&&o.enable(6);e.lightMap&&o.enable(7);e.aoMap&&o.enable(8);e.emissiveMap&&o.enable(9);e.bumpMap&&o.enable(10);e.normalMap&&o.enable(11);e.objectSpaceNormalMap&&o.enable(12);e.tangentSpaceNormalMap&&o.enable(13);e.clearcoat&&o.enable(14);e.clearcoatMap&&o.enable(15);e.clearcoatRoughnessMap&&o.enable(16);e.clearcoatNormalMap&&o.enable(17);e.iridescence&&o.enable(18);e.iridescenceMap&&o.enable(19);e.iridescenceThicknessMap&&o.enable(20);e.displacementMap&&o.enable(21);e.specularMap&&o.enable(22);e.roughnessMap&&o.enable(23);e.metalnessMap&&o.enable(24);e.gradientMap&&o.enable(25);e.alphaMap&&o.enable(26);e.alphaTest&&o.enable(27);e.vertexColors&&o.enable(28);e.vertexAlphas&&o.enable(29);e.vertexUvs&&o.enable(30);e.vertexTangents&&o.enable(31);e.uvsVertexOnly&&o.enable(32);e.fog&&o.enable(33);t.push(o.mask),o.disableAll(),e.useFog&&o.enable(0);e.flatShading&&o.enable(1);e.logarithmicDepthBuffer&&o.enable(2);e.skinning&&o.enable(3);e.morphTargets&&o.enable(4);e.morphNormals&&o.enable(5);e.morphColors&&o.enable(6);e.premultipliedAlpha&&o.enable(7);e.shadowMapEnabled&&o.enable(8);e.physicallyCorrectLights&&o.enable(9);e.doubleSided&&o.enable(10);e.flipSided&&o.enable(11);e.useDepthPacking&&o.enable(12);e.dithering&&o.enable(13);e.specularIntensityMap&&o.enable(14);e.specularColorMap&&o.enable(15);e.transmission&&o.enable(16);e.transmissionMap&&o.enable(17);e.thicknessMap&&o.enable(18);e.sheen&&o.enable(19);e.sheenColorMap&&o.enable(20);e.sheenRoughnessMap&&o.enable(21);e.decodeVideoTexture&&o.enable(22);e.opaque&&o.enable(23);t.push(o.mask)}(i,e),i.push(t.outputEncoding)),i.push(e.customProgramCacheKey),i.join()},getUniforms:function(t){const e=f[t.type];let i;if(e){const t=Mn[e];i=tn.clone(t.uniforms)}else i=t.uniforms;return i},acquireProgram:function(e,i){let n;for(let t=0,e=h.length;t0?n.push(h):!0===a.transparent?r.push(h):i.push(h)},unshift:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?n.unshift(h):!0===a.transparent?r.unshift(h):i.unshift(h)},finish:function(){for(let i=e,n=t.length;i1&&i.sort(t||As),n.length>1&&n.sort(e||Es),r.length>1&&r.sort(e||Es)}}}function Ls(){let t=new WeakMap;return{get:function(e,i){let n;return!1===t.has(e)?(n=new Cs,t.set(e,[n])):i>=t.get(e).length?(n=new Cs,t.get(e).push(n)):n=t.get(e)[i],n},dispose:function(){t=new WeakMap}}}function Rs(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let i;switch(e.type){case"DirectionalLight":i={direction:new ee,color:new Ht};break;case"SpotLight":i={position:new ee,direction:new ee,color:new Ht,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":i={position:new ee,color:new Ht,distance:0,decay:0};break;case"HemisphereLight":i={direction:new ee,skyColor:new Ht,groundColor:new Ht};break;case"RectAreaLight":i={color:new Ht,position:new ee,halfWidth:new ee,halfHeight:new ee};}return t[e.id]=i,i}}}let Ps=0;function Is(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Ds(t,e){const i=new Rs,n=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let i;switch(e.type){case"DirectionalLight":case"SpotLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Et};break;case"PointLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Et,shadowCameraNear:1,shadowCameraFar:1e3};}return t[e.id]=i,i}}}(),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 ee);const s=new ee,a=new Ie,o=new Ie;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(Is);const x=!0!==a?Math.PI:1;for(let t=0,e=s.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=_n.LTC_FLOAT_1,r.rectAreaLTC2=_n.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=_n.LTC_HALF_1,r.rectAreaLTC2=_n.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 y=r.hash;y.directionalLength===h&&y.pointLength===u&&y.spotLength===d&&y.rectAreaLength===p&&y.hemiLength===m&&y.numDirectionalShadows===f&&y.numPointShadows===g&&y.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,y.directionalLength=h,y.pointLength=u,y.spotLength=d,y.rectAreaLength=p,y.hemiLength=m,y.numDirectionalShadows=f,y.numPointShadows=g,y.numSpotShadows=v,r.version=Ps++)},setupView:function(t,e){let i=0,n=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=i.get(n).length?(s=new Ns(t,e),i.get(n).push(s)):s=i.get(n)[r],s},dispose:function(){i=new WeakMap}}}class zs extends gi{constructor(t){super(),this.isMeshDepthMaterial=!0,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.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}}class Fs extends gi{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new ee,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,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}}function Bs(t,e,i){let n=new fn;const r=new Et,s=new Et,a=new Jt,o=new zs({depthPacking:3201}),l=new Fs,c={},h=i.maxTextureSize,u={0:1,1:0,2:2},p=new en({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Et},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=p.clone();m.defines.HORIZONTAL_PASS=1;const f=new Pi;f.setAttribute("position",new _i(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const g=new Zi(f,p),v=this;function x(i,n){const s=e.update(g);p.defines.VSM_SAMPLES!==i.blurSamples&&(p.defines.VSM_SAMPLES=i.blurSamples,m.defines.VSM_SAMPLES=i.blurSamples,p.needsUpdate=!0,m.needsUpdate=!0),null===i.mapPass&&(i.mapPass=new Kt(r.x,r.y)),p.uniforms.shadow_pass.value=i.map.texture,p.uniforms.resolution.value=i.mapSize,p.uniforms.radius.value=i.radius,t.setRenderTarget(i.mapPass),t.clear(),t.renderBufferDirect(n,null,s,p,g,null),m.uniforms.shadow_pass.value=i.mapPass.texture,m.uniforms.resolution.value=i.mapSize,m.uniforms.radius.value=i.radius,t.setRenderTarget(i.map),t.clear(),t.renderBufferDirect(n,null,s,m,g,null)}function y(e,i,n,r,s,a){let h=null;const d=!0===n.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(h=void 0!==d?d:!0===n.isPointLight?l:o,t.localClippingEnabled&&!0===i.clipShadows&&Array.isArray(i.clippingPlanes)&&0!==i.clippingPlanes.length||i.displacementMap&&0!==i.displacementScale||i.alphaMap&&i.alphaTest>0){const t=h.uuid,e=i.uuid;let n=c[t];void 0===n&&(n={},c[t]=n);let r=n[e];void 0===r&&(r=h.clone(),n[e]=r),h=r}return h.visible=i.visible,h.wireframe=i.wireframe,h.side=3===a?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:u[i.side],h.alphaMap=i.alphaMap,h.alphaTest=i.alphaTest,h.clipShadows=i.clipShadows,h.clippingPlanes=i.clippingPlanes,h.clipIntersection=i.clipIntersection,h.displacementMap=i.displacementMap,h.displacementScale=i.displacementScale,h.displacementBias=i.displacementBias,h.wireframeLinewidth=i.wireframeLinewidth,h.linewidth=i.linewidth,!0===n.isPointLight&&!0===h.isMeshDistanceMaterial&&(h.referencePosition.setFromMatrixPosition(n.matrixWorld),h.nearDistance=r,h.farDistance=s),h}function _(i,r,s,a,o){if(!1===i.visible)return;if(i.layers.test(r.layers)&&(i.isMesh||i.isLine||i.isPoints)&&(i.castShadow||i.receiveShadow&&3===o)&&(!i.frustumCulled||n.intersectsObject(i))){i.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,i.matrixWorld);const n=e.update(i),r=i.material;if(Array.isArray(r)){const e=n.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){const t=3!==this.type?{minFilter:d,magFilter:d}:{};u.map=new Kt(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!==R.indexOf("OpenGL ES")&&(L=parseFloat(/^OpenGL ES (\d)/.exec(R)[1]),C=L>=2);let P=null,I={};const D=t.getParameter(3088),N=t.getParameter(2978),O=new Jt().fromArray(D),z=new Jt().fromArray(N);function F(e,i,n){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;en||t.height>n)&&(r=n/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 n=e?Tt:Math.floor,s=n(r*t.width),a=n(r*t.height);void 0===D&&(D=z(s,a));const o=i?z(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 wt(t.width)&&wt(t.height)}function U(t,e){return t.generateMipmaps&&e&&t.minFilter!==d&&t.minFilter!==f}function k(e){t.generateMipmap(e)}function G(i,n,r,s,a=!1){if(!1===o)return n;if(null!==i){if(void 0!==t[i])return t[i];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+i+"'")}let l=n;return 6403===n&&(5126===r&&(l=33326),5131===r&&(l=33325),5121===r&&(l=33321)),33319===n&&(5126===r&&(l=33328),5131===r&&(l=33327),5121===r&&(l=33323)),6408===n&&(5126===r&&(l=34836),5131===r&&(l=34842),5121===r&&(l=s===ot&&!1===a?35907:32856),32819===r&&(l=32854),32820===r&&(l=32855)),33325!==l&&33326!==l&&33327!==l&&33328!==l&&34842!==l&&34836!==l||e.get("EXT_color_buffer_float"),l}function V(t,e,i){return!0===U(t,i)||t.isFramebufferTexture&&t.minFilter!==d&&t.minFilter!==f?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function H(t){return t===d||t===p||t===m?9728:9729}function W(t){const e=t.target;e.removeEventListener("dispose",W),function(t){const e=n.get(t);if(void 0===e.__webglInit)return;const i=t.source,r=N.get(i);if(r){const n=r[e.__cacheKey];n.usedTimes--,0===n.usedTimes&&q(t),0===Object.keys(r).length&&N.delete(i)}n.remove(t)}(e),e.isVideoTexture&&I.delete(e)}function j(e){const i=e.target;i.removeEventListener("dispose",j),function(e){const i=e.texture,r=n.get(e),s=n.get(i);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{if(t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer)for(let e=0;e0&&r.__version!==t.version){const i=t.image;if(null===i)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==i.complete)return void $(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}i.activeTexture(33984+e),i.bindTexture(3553,r.__webglTexture)}const Z={[c]:10497,[h]:33071,[u]:33648},J={[d]:9728,[p]:9984,[m]:9986,[f]:9729,[g]:9985,[v]:9987};function K(i,s,a){if(a?(t.texParameteri(i,10242,Z[s.wrapS]),t.texParameteri(i,10243,Z[s.wrapT]),32879!==i&&35866!==i||t.texParameteri(i,32882,Z[s.wrapR]),t.texParameteri(i,10240,J[s.magFilter]),t.texParameteri(i,10241,J[s.minFilter])):(t.texParameteri(i,10242,33071),t.texParameteri(i,10243,33071),32879!==i&&35866!==i||t.texParameteri(i,32882,33071),s.wrapS===h&&s.wrapT===h||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(i,10240,H(s.magFilter)),t.texParameteri(i,10241,H(s.minFilter)),s.minFilter!==d&&s.minFilter!==f&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.type===M&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===b&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||n.get(s).__currentAnisotropy)&&(t.texParameterf(i,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),n.get(s).__currentAnisotropy=s.anisotropy)}}function Q(e,i){let n=!1;void 0===e.__webglInit&&(e.__webglInit=!0,i.addEventListener("dispose",W));const r=i.source;let s=N.get(r);void 0===s&&(s={},N.set(r,s));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.encoding),e.join()}(i);if(o!==e.__cacheKey){void 0===s[o]&&(s[o]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,n=!0),s[o].usedTimes++;const r=s[e.__cacheKey];void 0!==r&&(s[e.__cacheKey].usedTimes--,0===r.usedTimes&&q(i)),e.__cacheKey=o,e.__webglTexture=s[o].texture}return n}function $(e,n,r){let a=3553;n.isDataArrayTexture&&(a=35866),n.isData3DTexture&&(a=32879);const l=Q(e,n),c=n.source;if(i.activeTexture(33984+r),i.bindTexture(a,e.__webglTexture),c.version!==c.__currentVersion||!0===l){t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(3317,n.unpackAlignment),t.pixelStorei(37443,0);const e=function(t){return!o&&(t.wrapS!==h||t.wrapT!==h||t.minFilter!==d&&t.minFilter!==f)}(n)&&!1===B(n.image);let r=F(n.image,e,!1,C);r=st(n,r);const u=B(r)||o,p=s.convert(n.format,n.encoding);let m,g=s.convert(n.type),v=G(n.internalFormat,p,g,n.encoding,n.isVideoTexture);K(a,n,u);const x=n.mipmaps,b=o&&!0!==n.isVideoTexture,E=void 0===c.__currentVersion||!0===l,L=V(n,r,u);if(n.isDepthTexture)v=6402,o?v=n.type===M?36012:n.type===_?33190:n.type===w?35056:33189:n.type===M&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),n.format===T&&6402===v&&n.type!==y&&n.type!==_&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),n.type=_,g=s.convert(n.type)),n.format===A&&6402===v&&(v=34041,n.type!==w&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),n.type=w,g=s.convert(n.type))),E&&(b?i.texStorage2D(3553,1,v,r.width,r.height):i.texImage2D(3553,0,v,r.width,r.height,0,p,g,null));else if(n.isDataTexture){if(x.length>0&&u){b&&E&&i.texStorage2D(3553,L,v,x[0].width,x[0].height);for(let t=0,e=x.length;t>=1,e>>=1}}else if(x.length>0&&u){b&&E&&i.texStorage2D(3553,L,v,x[0].width,x[0].height);for(let t=0,e=x.length;t0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==i.__useRenderToTexture}function st(t,i){const n=t.encoding,r=t.format,s=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===pt||n!==at&&(n===ot?!1===o?!0===e.has("EXT_sRGB")&&r===S?(t.format=pt,t.minFilter=f,t.generateMipmaps=!1):i=jt.sRGBToLinear(i):r===S&&s===x||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",n)),i}this.allocateTextureUnit=function(){const t=X;return t>=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),X+=1,t},this.resetTextureUnits=function(){X=0},this.setTexture2D=Y,this.setTexture2DArray=function(t,e){const r=n.get(t);t.version>0&&r.__version!==t.version?$(r,t,e):(i.activeTexture(33984+e),i.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=n.get(t);t.version>0&&r.__version!==t.version?$(r,t,e):(i.activeTexture(33984+e),i.bindTexture(32879,r.__webglTexture))},this.setTextureCube=function(e,r){const a=n.get(e);e.version>0&&a.__version!==e.version?function(e,n,r){if(6!==n.image.length)return;const a=Q(e,n),l=n.source;if(i.activeTexture(33984+r),i.bindTexture(34067,e.__webglTexture),l.version!==l.__currentVersion||!0===a){t.pixelStorei(37440,n.flipY),t.pixelStorei(37441,n.premultiplyAlpha),t.pixelStorei(3317,n.unpackAlignment),t.pixelStorei(37443,0);const e=n.isCompressedTexture||n.image[0].isCompressedTexture,r=n.image[0]&&n.image[0].isDataTexture,c=[];for(let t=0;t<6;t++)c[t]=e||r?r?n.image[t].image:n.image[t]:F(n.image[t],!1,!0,E),c[t]=st(n,c[t]);const h=c[0],u=B(h)||o,d=s.convert(n.format,n.encoding),p=s.convert(n.type),m=G(n.internalFormat,d,p,n.encoding),f=o&&!0!==n.isVideoTexture,g=void 0===l.__currentVersion||!0===a;let v,x=V(n,h,u);if(K(34067,n,u),e){f&&g&&i.texStorage2D(34067,x,m,h.width,h.height);for(let t=0;t<6;t++){v=c[t].mipmaps;for(let e=0;e0&&x++,i.texStorage2D(34067,x,m,c[0].width,c[0].height));for(let t=0;t<6;t++)if(r){f?i.texSubImage2D(34069+t,0,0,0,c[t].width,c[t].height,d,p,c[t].data):i.texImage2D(34069+t,0,m,c[t].width,c[t].height,0,d,p,c[t].data);for(let e=0;e0&&!1===rt(e)){const n=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],i.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let i=0;i0&&!1===rt(e)){const r=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],s=e.width,a=e.height;let o=16384;const l=[],c=e.stencilBuffer?33306:36096,h=n.get(e),u=!0===e.isWebGLMultipleRenderTargets;if(u)for(let e=0;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,i),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));null!==a&&(n=e.getPose(t.targetRaySpace,i),null===n&&null!==r&&(n=r),null!==n&&(a.matrix.fromArray(n.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),n.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(n.linearVelocity)):a.hasLinearVelocity=!1,n.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(n.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Ws)))}return null!==a&&(a.visible=null!==n),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}}class qs extends Zt{constructor(t,e,i,n,r,s,a,o,l,c){if((c=void 0!==c?c:T)!==T&&c!==A)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===i&&c===T&&(i=_),void 0===i&&c===A&&(i=w),super(null,n,r,s,a,o,c,i,l),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=void 0!==a?a:d,this.minFilter=void 0!==o?o:d,this.flipY=!1,this.generateMipmaps=!1}}class Xs extends mt{constructor(t,e){super();const i=this;let n=null,r=1,s=null,a="local-floor",o=null,l=null,c=null,h=null,u=null,d=null;const p=e.getContextAttributes();let m=null,f=null;const g=[],v=[],y=new rn;y.layers.enable(1),y.viewport=new Jt;const M=new rn;M.layers.enable(2),M.viewport=new Jt;const b=[y,M],E=new Vs;E.layers.enable(1),E.layers.enable(2);let C=null,L=null;function R(t){const e=v.indexOf(t.inputSource);if(-1===e)return;const i=g[e];void 0!==i&&i.dispatchEvent({type:t.type,data:t.inputSource})}function P(){n.removeEventListener("select",R),n.removeEventListener("selectstart",R),n.removeEventListener("selectend",R),n.removeEventListener("squeeze",R),n.removeEventListener("squeezestart",R),n.removeEventListener("squeezeend",R),n.removeEventListener("end",P),n.removeEventListener("inputsourceschange",I);for(let t=0;t=0&&(v[n]=null,g[n].dispatchEvent({type:"disconnected",data:i}))}for(let e=0;e=v.length){v.push(i),n=t;break}if(null===v[t]){v[t]=i,n=t;break}}if(-1===n)break}const r=g[n];r&&r.dispatchEvent({type:"connected",data:i})}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getGripSpace()},this.getHand=function(t){let e=g[t];return void 0===e&&(e=new js,g[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){a=t,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return o||s},this.setReferenceSpace=function(t){o=t},this.getBaseLayer=function(){return null!==h?h:u},this.getBinding=function(){return c},this.getFrame=function(){return d},this.getSession=function(){return n},this.setSession=async function(l){if(n=l,null!==n){if(m=t.getRenderTarget(),n.addEventListener("select",R),n.addEventListener("selectstart",R),n.addEventListener("selectend",R),n.addEventListener("squeeze",R),n.addEventListener("squeezestart",R),n.addEventListener("squeezeend",R),n.addEventListener("end",P),n.addEventListener("inputsourceschange",I),!0!==p.xrCompatible&&(await e.makeXRCompatible()),void 0===n.renderState.layers||!1===t.capabilities.isWebGL2){const i={antialias:void 0!==n.renderState.layers||p.antialias,alpha:p.alpha,depth:p.depth,stencil:p.stencil,framebufferScaleFactor:r};u=new XRWebGLLayer(n,e,i),n.updateRenderState({baseLayer:u}),f=new Kt(u.framebufferWidth,u.framebufferHeight,{format:S,type:x,encoding:t.outputEncoding})}else{let i=null,s=null,a=null;p.depth&&(a=p.stencil?35056:33190,i=p.stencil?A:T,s=p.stencil?w:_);const o={colorFormat:32856,depthFormat:a,scaleFactor:r};c=new XRWebGLBinding(n,e),h=c.createProjectionLayer(o),n.updateRenderState({layers:[h]}),f=new Kt(h.textureWidth,h.textureHeight,{format:S,type:x,depthTexture:new qs(h.textureWidth,h.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,i),stencilBuffer:p.stencil,encoding:t.outputEncoding,samples:p.antialias?4:0});t.properties.get(f).__ignoreDepthValues=h.ignoreDepthValues}f.isXRRenderTarget=!0,this.setFoveation(1),o=null,s=await n.requestReferenceSpace(a),F.setContext(n),F.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}};const D=new ee,N=new ee;function O(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===n)return;E.near=M.near=y.near=t.near,E.far=M.far=y.far=t.far,C===E.near&&L===E.far||(n.updateRenderState({depthNear:E.near,depthFar:E.far}),C=E.near,L=E.far);const e=t.parent,i=E.cameras;O(E,e);for(let t=0;t0&&(i.alphaTest.value=n.alphaTest);const r=e.get(n).envMap;if(r&&(i.envMap.value=r,i.flipEnvMap.value=r.isCubeTexture&&!1===r.isRenderTargetTexture?-1:1,i.reflectivity.value=n.reflectivity,i.ior.value=n.ior,i.refractionRatio.value=n.refractionRatio),n.lightMap){i.lightMap.value=n.lightMap;const e=!0!==t.physicallyCorrectLights?Math.PI:1;i.lightMapIntensity.value=n.lightMapIntensity*e}let s,a;n.aoMap&&(i.aoMap.value=n.aoMap,i.aoMapIntensity.value=n.aoMapIntensity),n.map?s=n.map:n.specularMap?s=n.specularMap:n.displacementMap?s=n.displacementMap:n.normalMap?s=n.normalMap:n.bumpMap?s=n.bumpMap:n.roughnessMap?s=n.roughnessMap:n.metalnessMap?s=n.metalnessMap:n.alphaMap?s=n.alphaMap:n.emissiveMap?s=n.emissiveMap:n.clearcoatMap?s=n.clearcoatMap:n.clearcoatNormalMap?s=n.clearcoatNormalMap:n.clearcoatRoughnessMap?s=n.clearcoatRoughnessMap:n.iridescenceMap?s=n.iridescenceMap:n.iridescenceThicknessMap?s=n.iridescenceThicknessMap:n.specularIntensityMap?s=n.specularIntensityMap:n.specularColorMap?s=n.specularColorMap:n.transmissionMap?s=n.transmissionMap:n.thicknessMap?s=n.thicknessMap:n.sheenColorMap?s=n.sheenColorMap:n.sheenRoughnessMap&&(s=n.sheenRoughnessMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),i.uvTransform.value.copy(s.matrix)),n.aoMap?a=n.aoMap:n.lightMap&&(a=n.lightMap),void 0!==a&&(a.isWebGLRenderTarget&&(a=a.texture),!0===a.matrixAutoUpdate&&a.updateMatrix(),i.uv2Transform.value.copy(a.matrix))}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,n,r,s,a){n.isMeshBasicMaterial||n.isMeshLambertMaterial?i(t,n):n.isMeshToonMaterial?(i(t,n),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,n)):n.isMeshPhongMaterial?(i(t,n),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,n)):n.isMeshStandardMaterial?(i(t,n),function(t,i){t.roughness.value=i.roughness,t.metalness.value=i.metalness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap);i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap);e.get(i).envMap&&(t.envMapIntensity.value=i.envMapIntensity)}(t,n),n.isMeshPhysicalMaterial&&function(t,e,i){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.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap));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,n,a)):n.isMeshMatcapMaterial?(i(t,n),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,n)):n.isMeshDepthMaterial?i(t,n):n.isMeshDistanceMaterial?(i(t,n),function(t,e){t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,n)):n.isMeshNormalMaterial?i(t,n):n.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,n),n.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,n)):n.isPointsMaterial?function(t,e,i,n){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*n,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,n,r,s):n.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 i;e.map?i=e.map:e.alphaMap&&(i=e.alphaMap);void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),t.uvTransform.value.copy(i.matrix))}(t,n):n.isShadowMaterial?(t.color.value.copy(n.color),t.opacity.value=n.opacity):n.isShaderMaterial&&(n.uniformsNeedUpdate=!1)}}}function Zs(t={}){this.isWebGLRenderer=!0;const e=void 0!==t.canvas?t.canvas:function(){const t=It("canvas");return t.style.display="block",t}(),i=void 0!==t.context?t.context:null,n=void 0===t.depth||t.depth,r=void 0===t.stencil||t.stencil,s=void 0!==t.antialias&&t.antialias,a=void 0===t.premultipliedAlpha||t.premultipliedAlpha,o=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,l=void 0!==t.powerPreference?t.powerPreference:"default",c=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let h;h=null!==i?i.getContextAttributes().alpha:void 0!==t.alpha&&t.alpha;let u=null,d=null;const p=[],m=[];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.outputEncoding=at,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1,Object.defineProperties(this,{gammaFactor:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaFactor has been removed."),2},set:function(){console.warn("THREE.WebGLRenderer: .gammaFactor has been removed.")}}});const f=this;let g=!1,y=0,_=0,w=null,T=-1,A=null;const E=new Jt,C=new Jt;let L=null,R=e.width,P=e.height,I=1,D=null,N=null;const O=new Jt(0,0,R,P),z=new Jt(0,0,R,P);let F=!1;const B=new fn;let U=!1,k=!1,G=null;const V=new Ie,H=new Et,W=new ee,j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function q(){return null===w?I:1}let X,Y,Z,J,K,Q,$,tt,et,it,nt,rt,st,ot,lt,ct,ht,ut,dt,pt,mt,ft,gt,vt=i;function xt(t,i){for(let n=0;n0&&function(t,e,i){const n=Y.isWebGL2;null===G&&(G=new Kt(1,1,{generateMipmaps:!0,type:X.has("EXT_color_buffer_half_float")?b:x,minFilter:v,samples:n&&!0===s?4:0}));f.getDrawingBufferSize(H),n?G.setSize(H.x,H.y):G.setSize(Tt(H.x),Tt(H.y));const r=f.getRenderTarget();f.setRenderTarget(G),f.clear();const a=f.toneMapping;f.toneMapping=0,Nt(t,e,i),f.toneMapping=a,Q.updateMultisampleRenderTarget(G),Q.updateRenderTargetMipmap(G),f.setRenderTarget(r)}(r,e,i),n&&Z.viewport(E.copy(n)),r.length>0&&Nt(r,e,i),a.length>0&&Nt(a,e,i),o.length>0&&Nt(o,e,i),Z.buffers.depth.setTest(!0),Z.buffers.depth.setMask(!0),Z.buffers.color.setMask(!0),Z.setPolygonOffset(!1)}function Nt(t,e,i){const n=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r0?m[m.length-1]:null,p.pop(),u=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return y},this.getActiveMipmapLevel=function(){return _},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(t,e,i){K.get(t.texture).__webglTexture=e,K.get(t.depthTexture).__webglTexture=i;const n=K.get(t);n.__hasExternalTextures=!0,n.__hasExternalTextures&&(n.__autoAllocateDepthBuffer=void 0===i,n.__autoAllocateDepthBuffer||!0===X.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),n.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const i=K.get(t);i.__webglFramebuffer=e,i.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,i=0){w=t,y=e,_=i;let n=!0;if(t){const e=K.get(t);void 0!==e.__useDefaultFramebuffer?(Z.bindFramebuffer(36160,null),n=!1):void 0===e.__webglFramebuffer?Q.setupRenderTarget(t):e.__hasExternalTextures&&Q.rebindTextures(t,K.get(t.texture).__webglTexture,K.get(t.depthTexture).__webglTexture)}let r=null,s=!1,a=!1;if(t){const i=t.texture;(i.isData3DTexture||i.isDataArrayTexture)&&(a=!0);const n=K.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=n[e],s=!0):r=Y.isWebGL2&&t.samples>0&&!1===Q.useMultisampledRTT(t)?K.get(t).__webglMultisampledFramebuffer:n,E.copy(t.viewport),C.copy(t.scissor),L=t.scissorTest}else E.copy(O).multiplyScalar(I).floor(),C.copy(z).multiplyScalar(I).floor(),L=F;if(Z.bindFramebuffer(36160,r)&&Y.drawBuffers&&n&&Z.drawBuffers(t,r),Z.viewport(E),Z.scissor(C),Z.setScissorTest(L),s){const n=K.get(t.texture);vt.framebufferTexture2D(36160,36064,34069+e,n.__webglTexture,i)}else if(a){const n=K.get(t.texture),r=e||0;vt.framebufferTextureLayer(36160,36064,n.__webglTexture,i||0,r)}T=-1},this.readRenderTargetPixels=function(t,e,i,n,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=K.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){Z.bindFramebuffer(36160,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==S&&ft.convert(o)!==vt.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===b&&(X.has("EXT_color_buffer_half_float")||Y.isWebGL2&&X.has("EXT_color_buffer_float"));if(!(l===x||ft.convert(l)===vt.getParameter(35738)||l===M&&(Y.isWebGL2||X.has("OES_texture_float")||X.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-n&&i>=0&&i<=t.height-r&&vt.readPixels(e,i,n,r,ft.convert(o),ft.convert(l),s)}finally{const t=null!==w?K.get(w).__webglFramebuffer:null;Z.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,i=0){const n=Math.pow(2,-i),r=Math.floor(e.image.width*n),s=Math.floor(e.image.height*n);Q.setTexture2D(e,0),vt.copyTexSubImage2D(3553,i,0,0,t.x,t.y,r,s),Z.unbindTexture()},this.copyTextureToTexture=function(t,e,i,n=0){const r=e.image.width,s=e.image.height,a=ft.convert(i.format),o=ft.convert(i.type);Q.setTexture2D(i,0),vt.pixelStorei(37440,i.flipY),vt.pixelStorei(37441,i.premultiplyAlpha),vt.pixelStorei(3317,i.unpackAlignment),e.isDataTexture?vt.texSubImage2D(3553,n,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?vt.compressedTexSubImage2D(3553,n,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):vt.texSubImage2D(3553,n,t.x,t.y,a,o,e.image),0===n&&i.generateMipmaps&&vt.generateMipmap(3553),Z.unbindTexture()},this.copyTextureToTexture3D=function(t,e,i,n,r=0){if(f.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=ft.convert(n.format),c=ft.convert(n.type);let h;if(n.isData3DTexture)Q.setTexture3D(n,0),h=32879;else{if(!n.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");Q.setTexture2DArray(n,0),h=35866}vt.pixelStorei(37440,n.flipY),vt.pixelStorei(37441,n.premultiplyAlpha),vt.pixelStorei(3317,n.unpackAlignment);const u=vt.getParameter(3314),d=vt.getParameter(32878),p=vt.getParameter(3316),m=vt.getParameter(3315),g=vt.getParameter(32877),v=i.isCompressedTexture?i.mipmaps[0]:i.image;vt.pixelStorei(3314,v.width),vt.pixelStorei(32878,v.height),vt.pixelStorei(3316,t.min.x),vt.pixelStorei(3315,t.min.y),vt.pixelStorei(32877,t.min.z),i.isDataTexture||i.isData3DTexture?vt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,v.data):i.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),vt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,v.data)):vt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,v),vt.pixelStorei(3314,u),vt.pixelStorei(32878,d),vt.pixelStorei(3316,p),vt.pixelStorei(3315,m),vt.pixelStorei(32877,g),0===r&&n.generateMipmaps&&vt.generateMipmap(h),Z.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?Q.setTextureCube(t,0):t.isData3DTexture?Q.setTexture3D(t,0):t.isDataArrayTexture?Q.setTexture2DArray(t,0):Q.setTexture2D(t,0),Z.unbindTexture()},this.resetState=function(){y=0,_=0,w=null,Z.reset(),gt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class Js extends Zs{}Js.prototype.isWebGL1Renderer=!0;class Ks{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new Ht(t),this.density=e}clone(){return new Ks(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class Qs{constructor(t,e=1,i=1e3){this.isFog=!0,this.name="",this.color=new Ht(t),this.near=e,this.far=i}clone(){return new Qs(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class $s extends ni{constructor(){super(),this.isScene=!0,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}}class ta{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=ut,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=yt()}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,i){t*=this.stride,i*=e.stride;for(let n=0,r=this.stride;nt.far||e.push({distance:o,point:sa.clone(),uv:mi.getUV(sa,ua,da,pa,ma,fa,ga,new Et),face:null,object:this})}copy(t,e){return super.copy(t,e),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function xa(t,e,i,n,r,s){la.subVectors(t,i).addScalar(.5).multiply(n),void 0!==r?(ca.x=s*la.x-r*la.y,ca.y=r*la.x+s*la.y):ca.copy(la),t.copy(e),t.x+=ca.x,t.y+=ca.y,t.applyMatrix4(ha)}const ya=new ee,_a=new ee;class Ma extends ni{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,i=e.length;t0){let i,n;for(i=1,n=e.length;i0){ya.setFromMatrixPosition(this.matrixWorld);const i=t.ray.origin.distanceTo(ya);this.getObjectForDistance(i).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){ya.setFromMatrixPosition(t.matrixWorld),_a.setFromMatrixPosition(this.matrixWorld);const i=ya.distanceTo(_a)/t.zoom;let n,r;for(e[0].object.visible=!0,n=1,r=e.length;n=e[n].distance;n++)e[n-1].object.visible=!1,e[n].object.visible=!0;for(this._currentLevel=n-1;no)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);st.far||e.push({distance:s,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else{for(let i=Math.max(0,s.start),n=Math.min(m.count,s.start+s.count)-1;io)continue;u.applyMatrix4(this.matrixWorld);const n=t.ray.origin.distanceTo(u);nt.far||e.push({distance:n,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;t0){const i=t[e[0]];if(void 0!==i){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=i.length;tr.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:i,index:e,face:null,object:a})}}class no extends Zt{constructor(t,e,i,n,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,n,r,h,u),this.isCompressedTexture=!0,this.image={width:e,height:i},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class ro{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let i,n=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)i=this.getPoint(s/t),r+=i.distanceTo(n),e.push(r),n=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const i=this.getLengths();let n=0;const r=i.length;let s;s=e||t*i[r-1];let a,o=0,l=r-1;for(;o<=l;)if(n=Math.floor(o+(l-o)/2),a=i[n]-s,a<0)o=n+1;else{if(!(a>0)){l=n;break}l=n-1}if(n=l,i[n]===s)return n/(r-1);const c=i[n];return(n+(s-c)/(i[n+1]-c))/(r-1)}getTangent(t,e){const i=1e-4;let n=t-i,r=t+i;n<0&&(n=0),r>1&&(r=1);const s=this.getPoint(n),a=this.getPoint(r),o=e||(s.isVector2?new Et:new ee);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e){const i=new ee,n=[],r=[],s=[],a=new ee,o=new Ie;for(let e=0;e<=t;e++){const i=e/t;n[e]=this.getTangentAt(i,new ee)}r[0]=new ee,s[0]=new ee;let l=Number.MAX_VALUE;const c=Math.abs(n[0].x),h=Math.abs(n[0].y),u=Math.abs(n[0].z);c<=l&&(l=c,i.set(1,0,0)),h<=l&&(l=h,i.set(0,1,0)),u<=l&&i.set(0,0,1),a.crossVectors(n[0],i).normalize(),r[0].crossVectors(n[0],a),s[0].crossVectors(n[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(n[e-1],n[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(_t(n[e-1].dot(n[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(n[e],r[e])}if(!0===e){let e=Math.acos(_t(r[0].dot(r[t]),-1,1));e/=t,n[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let i=1;i<=t;i++)r[i].applyMatrix4(o.makeRotationAxis(n[i],e*i)),s[i].crossVectors(n[i],r[i])}return{tangents:n,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 so extends ro{constructor(t=0,e=0,i=1,n=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=n,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const i=e||new Et,n=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)n;)r-=n;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=n[(l-1)%r]:(lo.subVectors(n[0],n[1]).add(n[0]),a=lo);const h=n[l%r],u=n[(l+1)%r];if(this.closed||l+2n.length-2?n.length-1:s+1],h=n[s>n.length-3?n.length-1:s+2];return i.set(mo(a,o.x,l.x,c.x,h.x),mo(a,o.y,l.y,c.y,h.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e=i){const t=n[r]-i,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 i=0,n=this.curves.length;i1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=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 Eo extends Pi{constructor(t=[new Et(0,.5),new Et(.5,0),new Et(0,-.5)],e=12,i=0,n=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:n},e=Math.floor(e),n=_t(n,0,2*Math.PI);const r=[],s=[],a=[],o=[],l=[],c=1/e,h=new ee,u=new Et,d=new ee,p=new ee,m=new ee;let f=0,g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,m.copy(d),d.normalize(),o.push(d.x,d.y,d.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,p.copy(d),d.x+=m.x,d.y+=m.y,d.z+=m.z,d.normalize(),o.push(d.x,d.y,d.z),m.copy(p);}for(let r=0;r<=e;r++){const d=i+r*c*n,p=Math.sin(d),m=Math.cos(d);for(let i=0;i<=t.length-1;i++){h.x=t[i].x*p,h.y=t[i].y,h.z=t[i].x*m,s.push(h.x,h.y,h.z),u.x=r/e,u.y=i/(t.length-1),a.push(u.x,u.y);const n=o[3*i+0]*p,c=o[3*i+1],d=o[3*i+0]*m;l.push(n,c,d)}}for(let i=0;i0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new wi(h,3)),this.setAttribute("normal",new wi(u,3)),this.setAttribute("uv",new wi(d,2))}static fromJSON(t){return new Ro(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class Po extends Ro{constructor(t=1,e=1,i=8,n=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,i,n,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:i,heightSegments:n,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 Io extends Pi{constructor(t=[],e=[],i=1,n=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:i,detail:n};const r=[],s=[];function a(t,e,i,n){const r=n+1,s=[];for(let n=0;n<=r;n++){s[n]=[];const a=t.clone().lerp(i,n/r),o=e.clone().lerp(i,n/r),l=r-n;for(let t=0;t<=l;t++)s[n][t]=0===t&&n===r?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(s[t+0]+=1),i<.2&&(s[t+2]+=1),n<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new wi(r,3)),this.setAttribute("normal",new wi(r.slice(),3)),this.setAttribute("uv",new wi(s,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new Io(t.vertices,t.indices,t.radius,t.details)}}class Do extends Io{constructor(t=1,e=0){const i=(1+Math.sqrt(5))/2,n=1/i;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,-n,-i,0,-n,i,0,n,-i,0,n,i,-n,-i,0,-n,i,0,n,-i,0,n,i,0,-i,0,-n,i,0,-n,-i,0,n,i,0,n],[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 Do(t.radius,t.detail)}}const No=new ee,Oo=new ee,zo=new ee,Fo=new mi;class Bo extends Pi{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const i=4,n=Math.pow(10,i),r=Math.cos(vt*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;t80*i){o=c=t[0],l=h=t[1];for(let e=i;ec&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?1/p:0}return Ho(s,a,i,o,l,p),a};function Go(t,e,i,n,r){let s,a;if(r===function(t,e,i,n){let r=0;for(let s=e,a=i-n;s0)for(s=e;s=e;s-=n)a=ll(s,t[s],t[s+1],a);return a&&il(a,a.next)&&(cl(a),a=a.next),a}function Vo(t,e){if(!t)return t;e||(e=t);let i,n=t;do{if(i=!1,n.steiner||!il(n,n.next)&&0!==el(n.prev,n,n.next))n=n.next;else{if(cl(n),n=e=n.prev,n===n.next)break;i=!0}}while(i||n!==e);return e}function Ho(t,e,i,n,r,s,a){if(!t)return;!a&&s&&function(t,e,i,n){let r=t;do{null===r.z&&(r.z=Ko(r.x,r.y,e,i,n)),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,i,n,r,s,a,o,l,c=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||i.z<=n.z)?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,c*=2}while(a>1)}(r)}(t,n,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?jo(t,n,r,s):Wo(t))e.push(o.i/i),e.push(t.i/i),e.push(l.i/i),cl(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Ho(t=qo(Vo(t),e,i),e,i,n,r,s,2):2===a&&Xo(t,e,i,n,r,s):Ho(Vo(t),e,i,n,r,s,1);break}}function Wo(t){const e=t.prev,i=t,n=t.next;if(el(e,i,n)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if($o(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&el(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function jo(t,e,i,n){const r=t.prev,s=t,a=t.next;if(el(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=Ko(o,l,e,i,n),d=Ko(c,h,e,i,n);let p=t.prevZ,m=t.nextZ;for(;p&&p.z>=u&&m&&m.z<=d;){if(p!==t.prev&&p!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&el(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&el(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&el(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&$o(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&el(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function qo(t,e,i){let n=t;do{const r=n.prev,s=n.next.next;!il(r,s)&&nl(r,n,n.next,s)&&al(r,s)&&al(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),cl(n),cl(n.next),n=t=s),n=n.next}while(n!==t);return Vo(n)}function Xo(t,e,i,n,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&tl(a,t)){let o=ol(a,t);return a=Vo(a,a.next),o=Vo(o,o.next),Ho(a,e,i,n,r,s),void Ho(o,e,i,n,r,s)}t=t.next}a=a.next}while(a!==t)}function Yo(t,e){return t.x-e.x}function Zo(t,e){if(e=function(t,e){let i=e;const n=t.x,r=t.y;let s,a=-1/0;do{if(r<=i.y&&r>=i.next.y&&i.next.y!==i.y){const t=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=n&&t>a){if(a=t,t===n){if(r===i.y)return i;if(r===i.next.y)return i.next}s=i.x=i.x&&i.x>=l&&n!==i.x&&$o(rs.x||i.x===s.x&&Jo(s,i)))&&(s=i,u=h)),i=i.next}while(i!==o);return s}(t,e),e){const i=ol(e,t);Vo(e,e.next),Vo(i,i.next)}}function Jo(t,e){return el(t.prev,t,e.prev)<0&&el(e.next,t,t.next)<0}function Ko(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qo(t){let e=t,i=t;do{(e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function tl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&nl(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(al(t,e)&&al(e,t)&&function(t,e){let i=t,n=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}(t,e)&&(el(t.prev,t,e.prev)||el(t,e.prev,e))||il(t,e)&&el(t.prev,t,t.next)>0&&el(e.prev,e,e.next)>0)}function el(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function il(t,e){return t.x===e.x&&t.y===e.y}function nl(t,e,i,n){const r=sl(el(t,e,i)),s=sl(el(t,e,n)),a=sl(el(i,n,t)),o=sl(el(i,n,e));return r!==s&&a!==o||!(0!==r||!rl(t,i,e))||!(0!==s||!rl(t,n,e))||!(0!==a||!rl(i,t,n))||!(0!==o||!rl(i,e,n))}function rl(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function sl(t){return t>0?1:t<0?-1:0}function al(t,e){return el(t.prev,t,t.next)<0?el(t,e,t.next)>=0&&el(t,t.prev,e)>=0:el(t,e,t.prev)<0||el(t,t.next,e)<0}function ol(t,e){const i=new hl(t.i,t.x,t.y),n=new hl(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function ll(t,e,i,n){const r=new hl(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function cl(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 hl(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class ul{static area(t){const e=t.length;let i=0;for(let n=e-1,r=0;r2&&t[e-1].equals(t[0])&&t.pop()}function pl(t,e){for(let i=0;iNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((i.x-c/d-p)*c-(i.y+l/d-m)*l)/(a*c-o*l);n=p+a*f-t.x,r=m+o*f-t.y;const g=n*n+r*r;if(g<=2)return new Et(n,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?(n=-o,r=a,s=Math.sqrt(h)):(n=a,r=o,s=Math.sqrt(h/2))}return new Et(n/s,r/s)}const P=[];for(let t=0,e=A.length,i=e-1,n=t+1;t=0;t--){const e=t/p,i=h*Math.cos(e*Math.PI/2),n=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=A.length;t=0;){const n=i;let r=i-1;r<0&&(r=t.length-1);for(let t=0,i=o+2*p;t0)&&d.push(e,r,l),(t!==i-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 iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=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.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,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}}class Il extends gi{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Ht(16777215),this.specular=new Ht(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(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.fog=!0,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.fog=t.fog,this}}class Dl extends gi{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Ht(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(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.fog=!0,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.fog=t.fog,this}}class Nl extends gi{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=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}}class Ol extends gi{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Ht(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Ht(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.fog=!0,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.fog=t.fog,this}}class zl extends gi{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Ht(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new Et(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,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.fog=t.fog,this}}class Fl extends Ua{constructor(t){super(),this.isLineDashedMaterial=!0,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}}const Bl={arraySlice:function(t,e,i){return Bl.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==i?i:t.length)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&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,i=new Array(e);for(let t=0;t!==e;++t)i[t]=t;return i.sort(function(e,i){return t[e]-t[i]}),i},sortedArray:function(t,e,i){const n=t.length,r=new t.constructor(n);for(let s=0,a=0;a!==n;++s){const n=i[s]*e;for(let i=0;i!==e;++i)r[a++]=t[n+i]}return r},flattenJSON:function(t,e,i,n){let r=1,s=t[0];for(;void 0!==s&&void 0===s[n];)s=t[r++];if(void 0===s)return;let a=s[n];if(void 0!==a)if(Array.isArray(a))do{a=s[n],void 0!==a&&(e.push(s.time),i.push.apply(i,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[n],void 0!==a&&(e.push(s.time),a.toArray(i,i.length)),s=t[r++]}while(void 0!==s);else do{a=s[n],void 0!==a&&(e.push(s.time),i.push(a)),s=t[r++]}while(void 0!==s)},subclip:function(t,e,i,n,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t=n)){l.push(e.times[t]);for(let i=0;is.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t=n.times[u]){const t=u*l+o,e=t+l-o;d=Bl.arraySlice(n.values,t,e)}else{const t=n.createInterpolant(),e=o,i=l-o;t.evaluate(s),d=Bl.arraySlice(t.resultBuffer,e,i)}if("quaternion"===r){new te().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=i,i=0}}for(;i>>1;te;)--s;if(++s,0!==r||s!==n){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=Bl.arraySlice(i,r,s),this.values=Bl.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 i=this.times,n=this.values,r=i.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const n=i[e];if("number"==typeof n&&isNaN(n)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,n),t=!1;break}if(null!==s&&s>n){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,n,s),t=!1;break}s=n}if(void 0!==n&&Bl.isTypedArray(n))for(let e=0,i=n.length;e!==i;++e){const i=n[e];if(isNaN(i)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,i),t=!1;break}}return t}optimize(){const t=Bl.arraySlice(this.times),e=Bl.arraySlice(this.values),i=this.getValueSize(),n=this.getInterpolation()===tt,r=t.length-1;let s=1;for(let a=1;a0){t[s]=t[r];for(let t=r*i,n=s*i,a=0;a!==i;++a)e[n+a]=e[t+a];++s}return s!==t.length?(this.times=Bl.arraySlice(t,0,s),this.values=Bl.arraySlice(e,0,s*i)):(this.times=t,this.values=e),this}clone(){const t=Bl.arraySlice(this.times,0),e=Bl.arraySlice(this.values,0),i=new(0,this.constructor)(this.name,t,e);return i.createInterpolant=this.createInterpolant,i}}Hl.prototype.TimeBufferType=Float32Array,Hl.prototype.ValueBufferType=Float32Array,Hl.prototype.DefaultInterpolation=$;class Wl extends Hl{}Wl.prototype.ValueTypeName="bool",Wl.prototype.ValueBufferType=Array,Wl.prototype.DefaultInterpolation=Q,Wl.prototype.InterpolantFactoryMethodLinear=void 0,Wl.prototype.InterpolantFactoryMethodSmooth=void 0;class jl extends Hl{}jl.prototype.ValueTypeName="color";class ql extends Hl{}ql.prototype.ValueTypeName="number";class Xl extends Ul{constructor(t,e,i,n){super(t,e,i,n)}interpolate_(t,e,i,n){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(i-e)/(n-e);let l=t*a;for(let t=l+a;l!==t;l+=4)te.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Yl extends Hl{InterpolantFactoryMethodLinear(t){return new Xl(this.times,this.values,this.getValueSize(),t)}}Yl.prototype.ValueTypeName="quaternion",Yl.prototype.DefaultInterpolation=$,Yl.prototype.InterpolantFactoryMethodSmooth=void 0;class Zl extends Hl{}Zl.prototype.ValueTypeName="string",Zl.prototype.ValueBufferType=Array,Zl.prototype.DefaultInterpolation=Q,Zl.prototype.InterpolantFactoryMethodLinear=void 0,Zl.prototype.InterpolantFactoryMethodSmooth=void 0;class Jl extends Hl{}Jl.prototype.ValueTypeName="vector";class Kl{constructor(t,e=-1,i,n=2500){this.name=t,this.tracks=i,this.duration=e,this.blendMode=n,this.uuid=yt(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],i=t.tracks,n=1/(t.fps||1);for(let t=0,r=i.length;t!==r;++t)e.push(Ql(i[t]).scale(n));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],i=t.tracks,n={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,n=i.length;t!==n;++t)e.push(Hl.toJSON(i[t]));return n}static CreateFromMorphTargetSequence(t,e,i,n){const r=e.length,s=[];for(let t=0;t1){const t=s[1];let e=n[t];e||(n[t]=e=[]),e.push(i)}}const s=[];for(const t in n)s.push(this.CreateFromMorphTargetSequence(t,n[t],e,i));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(t,e,i,n,r){if(0!==i.length){const s=[],a=[];Bl.flattenJSON(i,s,a,n),0!==s.length&&r.push(new t(e,s,a))}},n=[],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!==nc[t])return void nc[t].push({onLoad:e,onProgress:i,onError:n});nc[t]=[],nc[t].push({onLoad:e,onProgress:i,onError:n});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(s).then(e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const i=nc[t],n=e.body.getReader(),r=e.headers.get("Content-Length"),s=r?parseInt(r):0,a=0!==s;let o=0;const l=new ReadableStream({start(t){!function e(){n.read().then(({done:n,value:r})=>{if(n)t.close();else{o+=r.byteLength;const n=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=i.length;t{switch(o){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then(t=>new DOMParser().parseFromString(t,a));case"json":return t.json();default:if(void 0===a)return t.text();{const e=/charset="?([^;"\s]*)"?/i.exec(a),i=e&&e[1]?e[1].toLowerCase():void 0,n=new TextDecoder(i);return t.arrayBuffer().then(t=>n.decode(t))}}}).then(e=>{$l.add(t,e);const i=nc[t];delete nc[t];for(let t=0,n=i.length;t{const i=nc[t];if(void 0===i)throw this.manager.itemError(t),e;delete nc[t];for(let t=0,n=i.length;t{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class sc extends ic{constructor(t){super(t)}load(t,e,i,n){void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);const r=this,s=$l.get(t);if(void 0!==s)return r.manager.itemStart(t),setTimeout(function(){e&&e(s),r.manager.itemEnd(t)},0),s;const a=It("img");function o(){c(),$l.add(t,this),e&&e(this),r.manager.itemEnd(t)}function l(e){c(),n&&n(e),r.manager.itemError(t),r.manager.itemEnd(t)}function c(){a.removeEventListener("load",o,!1),a.removeEventListener("error",l,!1)}return a.addEventListener("load",o,!1),a.addEventListener("error",l,!1),"data:"!==t.slice(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a}}class ac extends ni{constructor(t,e=1){super(),this.isLight=!0,this.type="Light",this.color=new Ht(t),this.intensity=e}dispose(){}copy(t,e){return super.copy(t,e),this.color.copy(t.color),this.intensity=t.intensity,this}toJSON(t){const e=super.toJSON(t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}class oc extends ac{constructor(t,e,i){super(t,i),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.groundColor=new Ht(e)}copy(t,e){return super.copy(t,e),this.groundColor.copy(t.groundColor),this}}const lc=new Ie,cc=new ee,hc=new ee;class uc{constructor(t){this.camera=t,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Et(512,512),this.map=null,this.mapPass=null,this.matrix=new Ie,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new fn,this._frameExtents=new Et(1,1),this._viewportCount=1,this._viewports=[new Jt(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(t){const e=this.camera,i=this.matrix;cc.setFromMatrixPosition(t.matrixWorld),e.position.copy(cc),hc.setFromMatrixPosition(t.target.matrixWorld),e.lookAt(hc),e.updateMatrixWorld(),lc.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(lc),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(e.projectionMatrix),i.multiply(e.matrixWorldInverse)}getViewport(t){return this._viewports[t]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const t={};return 0!==this.bias&&(t.bias=this.bias),0!==this.normalBias&&(t.normalBias=this.normalBias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}class dc extends uc{constructor(){super(new rn(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(t){const e=this.camera,i=2*xt*t.angle*this.focus,n=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;i===e.fov&&n===e.aspect&&r===e.far||(e.fov=i,e.aspect=n,e.far=r,e.updateProjectionMatrix()),super.updateMatrices(t)}copy(t){return super.copy(t),this.focus=t.focus,this}}class pc extends ac{constructor(t,e,i=0,n=Math.PI/3,r=0,s=1){super(t,e),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.target=new ni,this.distance=i,this.angle=n,this.penumbra=r,this.decay=s,this.shadow=new dc}get power(){return this.intensity*Math.PI}set power(t){this.intensity=t/Math.PI}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}const mc=new Ie,fc=new ee,gc=new ee;class vc extends uc{constructor(){super(new rn(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Et(4,2),this._viewportCount=6,this._viewports=[new Jt(2,1,1,1),new Jt(0,1,1,1),new Jt(3,1,1,1),new Jt(1,1,1,1),new Jt(3,0,1,1),new Jt(1,0,1,1)],this._cubeDirections=[new ee(1,0,0),new ee(-1,0,0),new ee(0,0,1),new ee(0,0,-1),new ee(0,1,0),new ee(0,-1,0)],this._cubeUps=[new ee(0,1,0),new ee(0,1,0),new ee(0,1,0),new ee(0,1,0),new ee(0,0,1),new ee(0,0,-1)]}updateMatrices(t,e=0){const i=this.camera,n=this.matrix,r=t.distance||i.far;r!==i.far&&(i.far=r,i.updateProjectionMatrix()),fc.setFromMatrixPosition(t.matrixWorld),i.position.copy(fc),gc.copy(i.position),gc.add(this._cubeDirections[e]),i.up.copy(this._cubeUps[e]),i.lookAt(gc),i.updateMatrixWorld(),n.makeTranslation(-fc.x,-fc.y,-fc.z),mc.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(mc)}}class xc extends ac{constructor(t,e,i=0,n=1){super(t,e),this.isPointLight=!0,this.type="PointLight",this.distance=i,this.decay=n,this.shadow=new vc}get power(){return 4*this.intensity*Math.PI}set power(t){this.intensity=t/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(t,e){return super.copy(t,e),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}class yc extends uc{constructor(){super(new Cn(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class _c extends ac{constructor(t,e){super(t,e),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(ni.DefaultUp),this.updateMatrix(),this.target=new ni,this.shadow=new yc}dispose(){this.shadow.dispose()}copy(t){return super.copy(t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}class Mc extends ac{constructor(t,e){super(t,e),this.isAmbientLight=!0,this.type="AmbientLight"}}class bc extends ac{constructor(t,e,i=10,n=10){super(t,e),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=i,this.height=n}get power(){return this.intensity*this.width*this.height*Math.PI}set power(t){this.intensity=t/(this.width*this.height*Math.PI)}copy(t){return super.copy(t),this.width=t.width,this.height=t.height,this}toJSON(t){const e=super.toJSON(t);return e.object.width=this.width,e.object.height=this.height,e}}class wc{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let t=0;t<9;t++)this.coefficients.push(new ee)}set(t){for(let e=0;e<9;e++)this.coefficients[e].copy(t[e]);return this}zero(){for(let t=0;t<9;t++)this.coefficients[t].set(0,0,0);return this}getAt(t,e){const i=t.x,n=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.282095),e.addScaledVector(s[1],.488603*n),e.addScaledVector(s[2],.488603*r),e.addScaledVector(s[3],.488603*i),e.addScaledVector(s[4],i*n*1.092548),e.addScaledVector(s[5],n*r*1.092548),e.addScaledVector(s[6],.315392*(3*r*r-1)),e.addScaledVector(s[7],i*r*1.092548),e.addScaledVector(s[8],.546274*(i*i-n*n)),e}getIrradianceAt(t,e){const i=t.x,n=t.y,r=t.z,s=this.coefficients;return e.copy(s[0]).multiplyScalar(.886227),e.addScaledVector(s[1],1.023328*n),e.addScaledVector(s[2],1.023328*r),e.addScaledVector(s[3],1.023328*i),e.addScaledVector(s[4],.858086*i*n),e.addScaledVector(s[5],.858086*n*r),e.addScaledVector(s[6],.743125*r*r-.247708),e.addScaledVector(s[7],.858086*i*r),e.addScaledVector(s[8],.429043*(i*i-n*n)),e}add(t){for(let e=0;e<9;e++)this.coefficients[e].add(t.coefficients[e]);return this}addScaledSH(t,e){for(let i=0;i<9;i++)this.coefficients[i].addScaledVector(t.coefficients[i],e);return this}scale(t){for(let e=0;e<9;e++)this.coefficients[e].multiplyScalar(t);return this}lerp(t,e){for(let i=0;i<9;i++)this.coefficients[i].lerp(t.coefficients[i],e);return this}equals(t){for(let e=0;e<9;e++)if(!this.coefficients[e].equals(t.coefficients[e]))return!1;return!0}copy(t){return this.set(t.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(t,e=0){const i=this.coefficients;for(let n=0;n<9;n++)i[n].fromArray(t,e+3*n);return this}toArray(t=[],e=0){const i=this.coefficients;for(let n=0;n<9;n++)i[n].toArray(t,e+3*n);return t}static getBasisAt(t,e){const i=t.x,n=t.y,r=t.z;e[0]=.282095,e[1]=.488603*n,e[2]=.488603*r,e[3]=.488603*i,e[4]=1.092548*i*n,e[5]=1.092548*n*r,e[6]=.315392*(3*r*r-1),e[7]=1.092548*i*r,e[8]=.546274*(i*i-n*n)}}class Sc extends ac{constructor(t=new wc,e=1){super(void 0,e),this.isLightProbe=!0,this.sh=t}copy(t){return super.copy(t),this.sh.copy(t.sh),this}fromJSON(t){return this.intensity=t.intensity,this.sh.fromArray(t.sh),this}toJSON(t){const e=super.toJSON(t);return e.object.sh=this.sh.toArray(),e}}class Tc extends ic{constructor(t){super(t),this.textures={}}load(t,e,i,n){const r=this,s=new rc(r.manager);s.setPath(r.path),s.setRequestHeader(r.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,function(i){try{e(r.parse(JSON.parse(i)))}catch(e){n?n(e):console.error(e),r.manager.itemError(t)}},i,n)}parse(t){const e=this.textures;function i(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}const n=Tc.createMaterialFromType(t.type);if(void 0!==t.uuid&&(n.uuid=t.uuid),void 0!==t.name&&(n.name=t.name),void 0!==t.color&&void 0!==n.color&&n.color.setHex(t.color),void 0!==t.roughness&&(n.roughness=t.roughness),void 0!==t.metalness&&(n.metalness=t.metalness),void 0!==t.sheen&&(n.sheen=t.sheen),void 0!==t.sheenColor&&(n.sheenColor=new Ht().setHex(t.sheenColor)),void 0!==t.sheenRoughness&&(n.sheenRoughness=t.sheenRoughness),void 0!==t.emissive&&void 0!==n.emissive&&n.emissive.setHex(t.emissive),void 0!==t.specular&&void 0!==n.specular&&n.specular.setHex(t.specular),void 0!==t.specularIntensity&&(n.specularIntensity=t.specularIntensity),void 0!==t.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(t.specularColor),void 0!==t.shininess&&(n.shininess=t.shininess),void 0!==t.clearcoat&&(n.clearcoat=t.clearcoat),void 0!==t.clearcoatRoughness&&(n.clearcoatRoughness=t.clearcoatRoughness),void 0!==t.iridescence&&(n.iridescence=t.iridescence),void 0!==t.iridescenceIOR&&(n.iridescenceIOR=t.iridescenceIOR),void 0!==t.iridescenceThicknessRange&&(n.iridescenceThicknessRange=t.iridescenceThicknessRange),void 0!==t.transmission&&(n.transmission=t.transmission),void 0!==t.thickness&&(n.thickness=t.thickness),void 0!==t.attenuationDistance&&(n.attenuationDistance=t.attenuationDistance),void 0!==t.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(t.attenuationColor),void 0!==t.fog&&(n.fog=t.fog),void 0!==t.flatShading&&(n.flatShading=t.flatShading),void 0!==t.blending&&(n.blending=t.blending),void 0!==t.combine&&(n.combine=t.combine),void 0!==t.side&&(n.side=t.side),void 0!==t.shadowSide&&(n.shadowSide=t.shadowSide),void 0!==t.opacity&&(n.opacity=t.opacity),void 0!==t.transparent&&(n.transparent=t.transparent),void 0!==t.alphaTest&&(n.alphaTest=t.alphaTest),void 0!==t.depthTest&&(n.depthTest=t.depthTest),void 0!==t.depthWrite&&(n.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(n.colorWrite=t.colorWrite),void 0!==t.stencilWrite&&(n.stencilWrite=t.stencilWrite),void 0!==t.stencilWriteMask&&(n.stencilWriteMask=t.stencilWriteMask),void 0!==t.stencilFunc&&(n.stencilFunc=t.stencilFunc),void 0!==t.stencilRef&&(n.stencilRef=t.stencilRef),void 0!==t.stencilFuncMask&&(n.stencilFuncMask=t.stencilFuncMask),void 0!==t.stencilFail&&(n.stencilFail=t.stencilFail),void 0!==t.stencilZFail&&(n.stencilZFail=t.stencilZFail),void 0!==t.stencilZPass&&(n.stencilZPass=t.stencilZPass),void 0!==t.wireframe&&(n.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(n.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(n.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(n.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(n.rotation=t.rotation),1!==t.linewidth&&(n.linewidth=t.linewidth),void 0!==t.dashSize&&(n.dashSize=t.dashSize),void 0!==t.gapSize&&(n.gapSize=t.gapSize),void 0!==t.scale&&(n.scale=t.scale),void 0!==t.polygonOffset&&(n.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(n.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(n.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.dithering&&(n.dithering=t.dithering),void 0!==t.alphaToCoverage&&(n.alphaToCoverage=t.alphaToCoverage),void 0!==t.premultipliedAlpha&&(n.premultipliedAlpha=t.premultipliedAlpha),void 0!==t.visible&&(n.visible=t.visible),void 0!==t.toneMapped&&(n.toneMapped=t.toneMapped),void 0!==t.userData&&(n.userData=t.userData),void 0!==t.vertexColors&&("number"==typeof t.vertexColors?n.vertexColors=t.vertexColors>0:n.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(n.uniforms[e]={},r.type){case"t":n.uniforms[e].value=i(r.value);break;case"c":n.uniforms[e].value=new Ht().setHex(r.value);break;case"v2":n.uniforms[e].value=new Et().fromArray(r.value);break;case"v3":n.uniforms[e].value=new ee().fromArray(r.value);break;case"v4":n.uniforms[e].value=new Jt().fromArray(r.value);break;case"m3":n.uniforms[e].value=new Ct().fromArray(r.value);break;case"m4":n.uniforms[e].value=new Ie().fromArray(r.value);break;default:n.uniforms[e].value=r.value;}}if(void 0!==t.defines&&(n.defines=t.defines),void 0!==t.vertexShader&&(n.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(n.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)n.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(n.flatShading=1===t.shading),void 0!==t.size&&(n.size=t.size),void 0!==t.sizeAttenuation&&(n.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(n.map=i(t.map)),void 0!==t.matcap&&(n.matcap=i(t.matcap)),void 0!==t.alphaMap&&(n.alphaMap=i(t.alphaMap)),void 0!==t.bumpMap&&(n.bumpMap=i(t.bumpMap)),void 0!==t.bumpScale&&(n.bumpScale=t.bumpScale),void 0!==t.normalMap&&(n.normalMap=i(t.normalMap)),void 0!==t.normalMapType&&(n.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),n.normalScale=new Et().fromArray(e)}return void 0!==t.displacementMap&&(n.displacementMap=i(t.displacementMap)),void 0!==t.displacementScale&&(n.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(n.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(n.roughnessMap=i(t.roughnessMap)),void 0!==t.metalnessMap&&(n.metalnessMap=i(t.metalnessMap)),void 0!==t.emissiveMap&&(n.emissiveMap=i(t.emissiveMap)),void 0!==t.emissiveIntensity&&(n.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(n.specularMap=i(t.specularMap)),void 0!==t.specularIntensityMap&&(n.specularIntensityMap=i(t.specularIntensityMap)),void 0!==t.specularColorMap&&(n.specularColorMap=i(t.specularColorMap)),void 0!==t.envMap&&(n.envMap=i(t.envMap)),void 0!==t.envMapIntensity&&(n.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(n.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(n.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(n.lightMap=i(t.lightMap)),void 0!==t.lightMapIntensity&&(n.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(n.aoMap=i(t.aoMap)),void 0!==t.aoMapIntensity&&(n.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(n.gradientMap=i(t.gradientMap)),void 0!==t.clearcoatMap&&(n.clearcoatMap=i(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=i(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(n.clearcoatNormalMap=i(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(n.clearcoatNormalScale=new Et().fromArray(t.clearcoatNormalScale)),void 0!==t.iridescenceMap&&(n.iridescenceMap=i(t.iridescenceMap)),void 0!==t.iridescenceThicknessMap&&(n.iridescenceThicknessMap=i(t.iridescenceThicknessMap)),void 0!==t.transmissionMap&&(n.transmissionMap=i(t.transmissionMap)),void 0!==t.thicknessMap&&(n.thicknessMap=i(t.thicknessMap)),void 0!==t.sheenColorMap&&(n.sheenColorMap=i(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(n.sheenRoughnessMap=i(t.sheenRoughnessMap)),n}setTextures(t){return this.textures=t,this}static createMaterialFromType(t){return new{ShadowMaterial:Cl,SpriteMaterial:na,RawShaderMaterial:Ll,ShaderMaterial:en,PointsMaterial:Ja,MeshPhysicalMaterial:Pl,MeshStandardMaterial:Rl,MeshPhongMaterial:Il,MeshToonMaterial:Dl,MeshNormalMaterial:Nl,MeshLambertMaterial:Ol,MeshDepthMaterial:zs,MeshDistanceMaterial:Fs,MeshBasicMaterial:vi,MeshMatcapMaterial:zl,LineDashedMaterial:Fl,LineBasicMaterial:Ua,Material:gi}[t]}}class Ac{static decodeText(t){if("undefined"!=typeof TextDecoder)return new TextDecoder().decode(t);let e="";for(let i=0,n=t.length;i0){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(i,n,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(i[t]!==i[t+e]){a.setValue(i,n);break}}saveOriginalState(){const t=this.binding,e=this.buffer,i=this.valueSize,n=i*this._origIndex;t.getValue(e,n);for(let t=i,r=n;t!==r;++t)e[t]=e[n+t%i];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 i=t;i=.5)for(let n=0;n!==r;++n)t[e+n]=t[i+n]}_slerp(t,e,i,n){te.slerpFlat(t,e,t,e,t,i,n)}_slerpAdditive(t,e,i,n,r){const s=this._workIndex*r;te.multiplyQuaternionsFlat(t,s,t,e,t,i),te.slerpFlat(t,e,t,e,t,s,n)}_lerp(t,e,i,n,r){const s=1-n;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[i+a]*n}}_lerpAdditive(t,e,i,n,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[i+s]*n}}}const Zc="\\[\\]\\.:\\/",Jc=new RegExp("[\\[\\]\\.:\\/]","g"),Kc="[^\\[\\]\\.:\\/]",Qc="[^"+Zc.replace("\\.","")+"]",$c=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",Kc)+/(WCOD+)?/.source.replace("WCOD",Qc)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Kc)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Kc)+"$"),th=["material","materials","bones"];class eh{constructor(t,e,i){this.path=e,this.parsedPath=i||eh.parseTrackName(e),this.node=eh.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new eh.Composite(t,e,i):new eh(t,e,i)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Jc,"")}static parseTrackName(t){const e=$c.exec(t);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=i.nodeName&&i.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){const t=i.nodeName.substring(n+1);-1!==th.indexOf(t)&&(i.nodeName=i.nodeName.substring(0,n),i.objectName=t)}if(null===i.propertyName||0===i.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}static findNode(t,e){if(void 0===e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const i=t.skeleton.getBoneByName(e);if(void 0!==i)return i}if(t.children){const i=function(t){for(let n=0;n0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===st)for(let i=0,n=t.length;i!==n;++i)t[i].evaluate(s),e[i].accumulateAdditive(a);else for(let i=0,r=t.length;i!==r;++i)t[i].evaluate(s),e[i].accumulate(n,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const i=this._weightInterpolant;if(null!==i){const n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const i=this._timeScaleInterpolant;if(null!==i){e*=i.evaluate(t)[0],t>i.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,i=this.loop;let n=this.time+t,r=this._loopCount;const s=2202===i;if(0===t)return-1===r?n:s&&1==(1&r)?e-n:n;if(2200===i){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(n>=e)n=e;else{if(!(n<0)){this.time=n;break t}n=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=n,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)),n>=e||n<0){const i=Math.floor(n/e);n-=e*i,r+=Math.abs(i);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,n=t>0?e:0,this.time=n,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=n,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:i})}}else this.time=n;if(s&&1==(1&r))return e-n}return n}_setEndings(t,e,i){const n=this._interpolantSettings;i?(n.endingStart=it,n.endingEnd=it):(n.endingStart=t?this.zeroSlopeAtStart?it:et:nt,n.endingEnd=e?this.zeroSlopeAtEnd?it:et:nt)}_scheduleFading(t,e,i){const n=this._mixer,r=n.time;let s=this._weightInterpolant;null===s&&(s=n._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=i,this}}const nh=new Float32Array(1);class rh{constructor(t){"string"==typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}clone(){return new rh(void 0===this.value.clone?this.value:this.value.clone())}}function sh(t,e){return t.distance-e.distance}function ah(t,e,i,n){if(t.layers.test(e.layers)&&t.raycast(e,i),!0===n){const n=t.children;for(let t=0,r=n.length;t>-e-14,n[256|t]=1024>>-e-14|32768,r[t]=-e-1,r[256|t]=-e-1):e<=15?(n[t]=e+15<<10,n[256|t]=e+15<<10|32768,r[t]=13,r[256|t]=13):e<128?(n[t]=31744,n[256|t]=64512,r[t]=24,r[256|t]=24):(n[t]=31744,n[256|t]=64512,r[t]=13,r[256|t]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13,i=0;for(;0==(8388608&e);)e<<=1,i-=8388608;e&=-8388609,i+=947912704,s[t]=e|i}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944,a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(o[t]=1024);return{floatView:e,uint32View:i,baseTable:n,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}var zh=Object.freeze({__proto__:null,toHalfFloat:function(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=_t(t,-65504,65504),Ch[0]=t;const e=Lh[0],i=e>>23&511;return Rh[i]+((8388607&e)>>Ph[i])},fromHalfFloat:function(t){const e=t>>10;return Lh[0]=Ih[Nh[e]+(1023&t)]+Dh[e],Ch[0]}});"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:e}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=e),t.ACESFilmicToneMapping=4,t.AddEquation=i,t.AddOperation=2,t.AdditiveAnimationBlendMode=st,t.AdditiveBlending=2,t.AlphaFormat=1021,t.AlwaysDepth=1,t.AlwaysStencilFunc=519,t.AmbientLight=Mc,t.AmbientLightProbe=class extends Sc{constructor(t,e=1){super(void 0,e),this.isAmbientLightProbe=!0;const i=new Ht().set(t);this.sh.coefficients[0].set(i.r,i.g,i.b).multiplyScalar(2*Math.sqrt(Math.PI))}},t.AnimationClip=Kl,t.AnimationLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=new rc(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,function(i){try{e(r.parse(JSON.parse(i)))}catch(e){n?n(e):console.error(e),r.manager.itemError(t)}},i,n)}parse(t){const e=[];for(let i=0;i=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,i=this._nActiveActions,n=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==i;++a){e[a]._update(n,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;t=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=n;t!==e;++t){const e=i[t],n=e[s],r=e[l];e[l]=n,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,i=this._bindings,n=i.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=n;t!==e;++t){const e=i[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const i=this._bindingsIndicesByPath;let n=i[t];const r=this._bindings;if(void 0!==n)return r[n];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);n=r.length,i[t]=n,s.push(t),a.push(e),r.push(h);for(let i=c,n=o.length;i!==n;++i){const n=o[i];h[i]=new eh(n,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,i=e[t];if(void 0!==i){const n=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=i,s[i]=o,s.pop(),r[i]=r[a],r.pop(),n[i]=n[a],n.pop()}}},t.AnimationUtils=Bl,t.ArcCurve=ao,t.ArrayCamera=Vs,t.ArrowHelper=class extends ni{constructor(t=new ee(0,0,1),e=new ee(0,0,0),i=1,n=16776960,r=.2*i,s=.2*r){super(),this.type="ArrowHelper",void 0===Ah&&(Ah=new Pi,Ah.setAttribute("position",new wi([0,0,0,0,1,0],3)),Eh=new Ro(0,.5,1,5,1),Eh.translate(0,-.5,0)),this.position.copy(e),this.line=new ja(Ah,new Ua({color:n,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Zi(Eh,new vi({color:n,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(i,r,s)}setDirection(t){if(t.y>.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Th.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Th,e)}}setLength(t,e=.2*t,i=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),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=Hc,t.AudioAnalyser=class{constructor(t,e=2048){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=e,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let t=0;const e=this.getFrequencyData();for(let i=0;ithis.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 oh.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)}},t.Box3=re,t.Box3Helper=class extends Ya{constructor(t,e=16776960){const i=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]),n=new Pi;n.setIndex(new _i(i,1)),n.setAttribute("position",new wi([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(n,new Ua({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=Ki,t.BoxGeometry=Ki,t.BoxHelper=class extends Ya{constructor(t,e=16776960){const i=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]),n=new Float32Array(24),r=new Pi;r.setIndex(new _i(i,1)),r.setAttribute("position",new _i(n,3)),super(r,new Ua({color:e,toneMapped:!1})),this.object=t,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&Sh.setFromObject(this.object),Sh.isEmpty())return;const e=Sh.min,i=Sh.max,n=this.geometry.attributes.position,r=n.array;r[0]=i.x,r[1]=i.y,r[2]=i.z,r[3]=e.x,r[4]=i.y,r[5]=i.z,r[6]=e.x,r[7]=e.y,r[8]=i.z,r[9]=i.x,r[10]=e.y,r[11]=i.z,r[12]=i.x,r[13]=i.y,r[14]=e.z,r[15]=e.x,r[16]=i.y,r[17]=e.z,r[18]=e.x,r[19]=e.y,r[20]=e.z,r[21]=i.x,r[22]=e.y,r[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(t){return this.object=t,this.update(),this}copy(t,e){return super.copy(t,e),this.object=t.object,this}},t.BufferAttribute=_i,t.BufferGeometry=Pi,t.BufferGeometryLoader=Cc,t.ByteType=1010,t.Cache=$l,t.Camera=nn,t.CameraHelper=class extends Ya{constructor(t){const e=new Pi,i=new Ua({color:16777215,vertexColors:!0,toneMapped:!1}),n=[],r=[],s={};function a(t,e){o(t),o(e)}function o(t){n.push(0,0,0),r.push(0,0,0),void 0===s[t]&&(s[t]=[]),s[t].push(n.length/3-1)}a("n1","n2"),a("n2","n4"),a("n4","n3"),a("n3","n1"),a("f1","f2"),a("f2","f4"),a("f4","f3"),a("f3","f1"),a("n1","f1"),a("n2","f2"),a("n3","f3"),a("n4","f4"),a("p","n1"),a("p","n2"),a("p","n3"),a("p","n4"),a("u1","u2"),a("u2","u3"),a("u3","u1"),a("c","t"),a("p","c"),a("cn1","cn2"),a("cn3","cn4"),a("cf1","cf2"),a("cf3","cf4"),e.setAttribute("position",new wi(n,3)),e.setAttribute("color",new wi(r,3)),super(e,i),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update();const l=new Ht(16755200),c=new Ht(16711680),h=new Ht(43775),u=new Ht(16777215),d=new Ht(3355443);this.setColors(l,c,h,u,d)}setColors(t,e,i,n,r){const s=this.geometry.getAttribute("color");s.setXYZ(0,t.r,t.g,t.b),s.setXYZ(1,t.r,t.g,t.b),s.setXYZ(2,t.r,t.g,t.b),s.setXYZ(3,t.r,t.g,t.b),s.setXYZ(4,t.r,t.g,t.b),s.setXYZ(5,t.r,t.g,t.b),s.setXYZ(6,t.r,t.g,t.b),s.setXYZ(7,t.r,t.g,t.b),s.setXYZ(8,t.r,t.g,t.b),s.setXYZ(9,t.r,t.g,t.b),s.setXYZ(10,t.r,t.g,t.b),s.setXYZ(11,t.r,t.g,t.b),s.setXYZ(12,t.r,t.g,t.b),s.setXYZ(13,t.r,t.g,t.b),s.setXYZ(14,t.r,t.g,t.b),s.setXYZ(15,t.r,t.g,t.b),s.setXYZ(16,t.r,t.g,t.b),s.setXYZ(17,t.r,t.g,t.b),s.setXYZ(18,t.r,t.g,t.b),s.setXYZ(19,t.r,t.g,t.b),s.setXYZ(20,t.r,t.g,t.b),s.setXYZ(21,t.r,t.g,t.b),s.setXYZ(22,t.r,t.g,t.b),s.setXYZ(23,t.r,t.g,t.b),s.setXYZ(24,e.r,e.g,e.b),s.setXYZ(25,e.r,e.g,e.b),s.setXYZ(26,e.r,e.g,e.b),s.setXYZ(27,e.r,e.g,e.b),s.setXYZ(28,e.r,e.g,e.b),s.setXYZ(29,e.r,e.g,e.b),s.setXYZ(30,e.r,e.g,e.b),s.setXYZ(31,e.r,e.g,e.b),s.setXYZ(32,i.r,i.g,i.b),s.setXYZ(33,i.r,i.g,i.b),s.setXYZ(34,i.r,i.g,i.b),s.setXYZ(35,i.r,i.g,i.b),s.setXYZ(36,i.r,i.g,i.b),s.setXYZ(37,i.r,i.g,i.b),s.setXYZ(38,n.r,n.g,n.b),s.setXYZ(39,n.r,n.g,n.b),s.setXYZ(40,r.r,r.g,r.b),s.setXYZ(41,r.r,r.g,r.b),s.setXYZ(42,r.r,r.g,r.b),s.setXYZ(43,r.r,r.g,r.b),s.setXYZ(44,r.r,r.g,r.b),s.setXYZ(45,r.r,r.g,r.b),s.setXYZ(46,r.r,r.g,r.b),s.setXYZ(47,r.r,r.g,r.b),s.setXYZ(48,r.r,r.g,r.b),s.setXYZ(49,r.r,r.g,r.b),s.needsUpdate=!0}update(){const t=this.geometry,e=this.pointMap;bh.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),wh("c",e,t,bh,0,0,-1),wh("t",e,t,bh,0,0,1),wh("n1",e,t,bh,-1,-1,-1),wh("n2",e,t,bh,1,-1,-1),wh("n3",e,t,bh,-1,1,-1),wh("n4",e,t,bh,1,1,-1),wh("f1",e,t,bh,-1,-1,1),wh("f2",e,t,bh,1,-1,1),wh("f3",e,t,bh,-1,1,1),wh("f4",e,t,bh,1,1,1),wh("u1",e,t,bh,.7,1.1,-1),wh("u2",e,t,bh,-.7,1.1,-1),wh("u3",e,t,bh,0,2,-1),wh("cf1",e,t,bh,-1,0,1),wh("cf2",e,t,bh,1,0,1),wh("cf3",e,t,bh,0,-1,1),wh("cf4",e,t,bh,0,1,1),wh("cn1",e,t,bh,-1,0,-1),wh("cn2",e,t,bh,1,0,-1),wh("cn3",e,t,bh,0,-1,-1),wh("cn4",e,t,bh,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasTexture=class extends Zt{constructor(t,e,i,n,r,s,a,o,l){super(t,e,i,n,r,s,a,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},t.CapsuleBufferGeometry=Co,t.CapsuleGeometry=Co,t.CatmullRomCurve3=po,t.CineonToneMapping=3,t.CircleBufferGeometry=Lo,t.CircleGeometry=Lo,t.ClampToEdgeWrapping=h,t.Clock=Fc,t.Color=Ht,t.ColorKeyframeTrack=jl,t.ColorManagement=zt,t.CompressedTexture=no,t.CompressedTextureLoader=class extends ic{constructor(t){super(t)}load(t,e,i,n){const r=this,s=[],a=new no,o=new rc(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 i=r.parse(t,!0);s[c]={width:i.width,height:i.height,format:i.format,mipmaps:i.mipmaps},l+=1,6===l&&(1===i.mipmapCount&&(a.minFilter=f),a.image=s,a.format=i.format,a.needsUpdate=!0,e&&e(a))},i,n)}if(Array.isArray(t))for(let e=0,i=t.length;e0){const i=new tc(e);r=new sc(i),r.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e0){n=new sc(this.manager),n.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;eNumber.EPSILON){if(l<0&&(i=e[s],o=-o,a=e[r],l=-l),t.ya.y)continue;if(t.y===i.y){if(t.x===i.x)return!0}else{const e=l*(t.x-i.x)-o*(t.y-i.y);if(0===e)return!0;if(e<0)continue;n=!n}}else{if(t.y!==i.y)continue;if(a.x<=t.x&&t.x<=i.x||i.x<=t.x&&t.x<=a.x)return!0}}return n}const r=ul.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return i(s);let a,o,l;const c=[];if(1===s.length)return o=s[0],l=new Uo,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,i=s.length;e1){let t=!1,e=0;for(let t=0,e=d.length;t0&&!1===t&&(f=u)}for(let t=0,e=d.length;t=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},t.WebGL1Renderer=Js,t.WebGL3DRenderTarget=class extends Kt{constructor(t,e,i){super(t,e),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new $t(null,t,e,i),this.texture.isRenderTargetTexture=!0}},t.WebGLArrayRenderTarget=class extends Kt{constructor(t,e,i){super(t,e),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Qt(null,t,e,i),this.texture.isRenderTargetTexture=!0}},t.WebGLCubeRenderTarget=ln,t.WebGLMultipleRenderTargets=class extends Kt{constructor(t,e,i,n={}){super(t,e,n),this.isWebGLMultipleRenderTargets=!0;const r=this.texture;this.texture=[];for(let t=0;tsplitDist){splitDist=dist;splitDimIdx=i}}return splitDimIdx}function copyBounds(source,target){target.set(source)}function unionBounds(a,b,target){let aVal,bVal;for(let d=0;d<3;d++){const d3=d+3;aVal=a[d];bVal=b[d];target[d]=aValbVal?aVal:bVal}}function expandByTriangleBounds(startIndex,triangleBounds,bounds){for(let d=0;d<3;d++){const tCenter=triangleBounds[startIndex+2*d];const tHalf=triangleBounds[startIndex+2*d+1];const tMin=tCenter-tHalf;const tMax=tCenter+tHalf;if(tMinbounds[d+3]){bounds[d+3]=tMax}}}function computeSurfaceArea(bounds){const d0=bounds[3]-bounds[0];const d1=bounds[4]-bounds[1];const d2=bounds[5]-bounds[2];return 2*(d0*d1+d1*d2+d2*d0)}function ensureIndex(geo,options){if(!geo.index){const vertexCount=geo.attributes.position.count;const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;let index;if(vertexCount>65535){index=new Uint32Array(new BufferConstructor(4*vertexCount))}else{index=new Uint16Array(new BufferConstructor(2*vertexCount))}geo.setIndex(new three.BufferAttribute(index,1));for(let i=0;ia-b);for(let i=0;imaxx)maxx=rx;if(includeCentroid&&cxcmaxx)cmaxx=cx;const cy=triangleBounds[i+2];const hy=triangleBounds[i+3];const ly=cy-hy;const ry=cy+hy;if(lymaxy)maxy=ry;if(includeCentroid&&cycmaxy)cmaxy=cy;const cz=triangleBounds[i+4];const hz=triangleBounds[i+5];const lz=cz-hz;const rz=cz+hz;if(lzmaxz)maxz=rz;if(includeCentroid&&czcmaxz)cmaxz=cz}target[0]=minx;target[1]=miny;target[2]=minz;target[3]=maxx;target[4]=maxy;target[5]=maxz;if(includeCentroid){centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}}function getCentroidBounds(triangleBounds,offset,count,centroidTarget){let cminx=Infinity;let cminy=Infinity;let cminz=Infinity;let cmaxx=-Infinity;let cmaxy=-Infinity;let cmaxz=-Infinity;for(let i=offset*6,end=(offset+count)*6;icmaxx)cmaxx=cx;const cy=triangleBounds[i+2];if(cycmaxy)cmaxy=cy;const cz=triangleBounds[i+4];if(czcmaxz)cmaxz=cz}centroidTarget[0]=cminx;centroidTarget[1]=cminy;centroidTarget[2]=cminz;centroidTarget[3]=cmaxx;centroidTarget[4]=cmaxy;centroidTarget[5]=cmaxz}function partition(index,triangleBounds,offset,count,split){let left=offset;let right=offset+count-1;const pos=split.pos;const axisOffset=split.axis*2;while(true){while(left<=right&&triangleBounds[left*6+axisOffset]=pos){right--}if(lefta.candidate-b.candidate;const sahBins=new Array(BIN_COUNT).fill().map(()=>{return{count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}});const leftBounds=new Float32Array(6);function getOptimalSplit(nodeBoundingData,centroidBoundingData,triangleBounds,offset,count,strategy){let axis=-1;let pos=0;if(strategy===CENTER){axis=getLongestEdgeIndex(centroidBoundingData);if(axis!==-1){pos=(centroidBoundingData[axis]+centroidBoundingData[axis+3])/2}}else if(strategy===AVERAGE){axis=getLongestEdgeIndex(nodeBoundingData);if(axis!==-1){pos=getAverage(triangleBounds,offset,count,axis)}}else if(strategy===SAH){const rootSurfaceArea=computeSurfaceArea(nodeBoundingData);let bestCost=TRIANGLE_INTERSECT_COST*count;const cStart=offset*6;const cEnd=(offset+count)*6;for(let a=0;a<3;a++){const axisLeft=centroidBoundingData[a];const axisRight=centroidBoundingData[a+3];const axisLength=axisRight-axisLeft;const binWidth=axisLength/BIN_COUNT;if(count=bin.candidate){expandByTriangleBounds(c,triangleBounds,bin.rightCacheBounds)}else{expandByTriangleBounds(c,triangleBounds,bin.leftCacheBounds);bin.count++}}}for(let bi=0;bi=BIN_COUNT)binIndex=BIN_COUNT-1;const bin=sahBins[binIndex];bin.count++;expandByTriangleBounds(c,triangleBounds,bin.bounds)}const lastBin=sahBins[BIN_COUNT-1];copyBounds(lastBin.bounds,lastBin.rightCacheBounds);for(let i=BIN_COUNT-2;i>=0;i--){const bin=sahBins[i];const nextBin=sahBins[i+1];unionBounds(bin.bounds,nextBin.rightCacheBounds,bin.rightCacheBounds)}let leftCount=0;for(let i=0;imax)max=b;if(c>max)max=c;const halfExtents=(max-min)/2;const el2=el*2;triangleBounds[tri6+el2+0]=min+halfExtents;triangleBounds[tri6+el2+1]=halfExtents+(Math.abs(min)+halfExtents)*FLOAT32_EPSILON;if(minfullBounds[el+3])fullBounds[el+3]=max}}return triangleBounds}function buildTree(geo,options){function triggerProgress(trianglesProcessed){if(onProgress){onProgress(trianglesProcessed/totalTriangles)}}function splitNode(node,offset,count,centroidBoundingData=null,depth=0){if(!reachedMaxDepth&&depth>=maxDepth){reachedMaxDepth=true;if(verbose){console.warn(`MeshBVH: Max depth of ${maxDepth} reached when generating BVH. Consider increasing maxDepth.`);console.warn(geo)}}if(count<=maxLeafTris||depth>=maxDepth){triggerProgress(offset);node.offset=offset;node.count=count;return node}const split=getOptimalSplit(node.boundingData,centroidBoundingData,triangleBounds,offset,count,strategy);if(split.axis===-1){triggerProgress(offset);node.offset=offset;node.count=count;return node}const splitOffset=partition(indexArray,triangleBounds,offset,count,split);if(splitOffset===offset||splitOffset===offset+count){triggerProgress(offset);node.offset=offset;node.count=count}else{node.splitAxis=split.axis;const left=new MeshBVHNode;const lstart=offset;const lcount=splitOffset-offset;node.left=left;left.boundingData=new Float32Array(6);getBounds(triangleBounds,lstart,lcount,left.boundingData,cacheCentroidBoundingData);splitNode(left,lstart,lcount,cacheCentroidBoundingData,depth+1);const right=new MeshBVHNode;const rstart=splitOffset;const rcount=count-lcount;node.right=right;right.boundingData=new Float32Array(6);getBounds(triangleBounds,rstart,rcount,right.boundingData,cacheCentroidBoundingData);splitNode(right,rstart,rcount,cacheCentroidBoundingData,depth+1)}return node}ensureIndex(geo,options);const fullBounds=new Float32Array(6);const cacheCentroidBoundingData=new Float32Array(6);const triangleBounds=computeTriangleBounds(geo,fullBounds);const indexArray=geo.index.array;const maxDepth=options.maxDepth;const verbose=options.verbose;const maxLeafTris=options.maxLeafTris;const strategy=options.strategy;const onProgress=options.onProgress;const totalTriangles=geo.index.count/3;let reachedMaxDepth=false;const roots=[];const ranges=getRootIndexRanges(geo);if(ranges.length===1){const range=ranges[0];const root=new MeshBVHNode;root.boundingData=fullBounds;getCentroidBounds(triangleBounds,range.offset,range.count,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}else{for(let range of ranges){const root=new MeshBVHNode;root.boundingData=new Float32Array(6);getBounds(triangleBounds,range.offset,range.count,root.boundingData,cacheCentroidBoundingData);splitNode(root,range.offset,range.count,cacheCentroidBoundingData);roots.push(root)}}return roots}function buildPackedTree(geo,options){const roots=buildTree(geo,options);let float32Array;let uint32Array;let uint16Array;const packedRoots=[];const BufferConstructor=options.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let i=0;iMath.pow(2,32)){throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.")}uint32Array[stride4Offset+6]=nextUnusedPointer/4;nextUnusedPointer=populateBuffer(nextUnusedPointer,right);uint32Array[stride4Offset+7]=splitAxis;return nextUnusedPointer}}}class SeparatingAxisBounds{constructor(){this.min=Infinity;this.max=-Infinity}setFromPointsField(points,field){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;imax?val:max}this.min=min;this.max=max}setFromPoints(axis,points){let min=Infinity;let max=-Infinity;for(let i=0,l=points.length;imax?val:max}this.min=min;this.max=max}isSeparated(other){return this.min>other.max||other.min>this.max}}SeparatingAxisBounds.prototype.setFromBox=function(){const p=new three.Vector3;return function setFromBox(axis,box){const boxMin=box.min;const boxMax=box.max;let min=Infinity;let max=-Infinity;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){p.x=boxMin.x*x+boxMax.x*(1-x);p.y=boxMin.y*y+boxMax.y*(1-y);p.z=boxMin.z*z+boxMax.z*(1-z);const val=axis.dot(p);min=Math.min(val,min);max=Math.max(val,max)}}}this.min=min;this.max=max}}();const areIntersecting=function(){const cacheSatBounds=new SeparatingAxisBounds;return function areIntersecting(shape1,shape2){const points1=shape1.points;const satAxes1=shape1.satAxes;const satBounds1=shape1.satBounds;const points2=shape2.points;const satAxes2=shape2.satAxes;const satBounds2=shape2.satBounds;for(let i=0;i<3;i++){const sb=satBounds1[i];const sa=satAxes1[i];cacheSatBounds.setFromPoints(sa,points2);if(sb.isSeparated(cacheSatBounds))return false}for(let i=0;i<3;i++){const sb=satBounds2[i];const sa=satAxes2[i];cacheSatBounds.setFromPoints(sa,points1);if(sb.isSeparated(cacheSatBounds))return false}}}();const closestPointLineToLine=function(){const dir1=new three.Vector3;const dir2=new three.Vector3;const v02=new three.Vector3;return function closestPointLineToLine(l1,l2,result){const v0=l1.start;const v10=dir1;const v2=l2.start;const v32=dir2;v02.subVectors(v0,v2);dir1.subVectors(l1.end,l2.start);dir2.subVectors(l2.end,l2.start);const d0232=v02.dot(v32);const d3210=v32.dot(v10);const d3232=v32.dot(v32);const d0210=v02.dot(v10);const d1010=v10.dot(v10);const denom=d1010*d3232-d3210*d3210;let d,d2;if(denom!==0){d=(d0232*d3210-d0210*d3232)/denom}else{d=0}d2=(d0232+d*d3210)/d3232;result.x=d;result.y=d2}}();const closestPointsSegmentToSegment=function(){const paramResult=new three.Vector2;const temp1=new three.Vector3;const temp2=new three.Vector3;return function closestPointsSegmentToSegment(l1,l2,target1,target2){closestPointLineToLine(l1,l2,paramResult);let d=paramResult.x;let d2=paramResult.y;if(d>=0&&d<=1&&d2>=0&&d2<=1){l1.at(d,target1);l2.at(d2,target2);return}else if(d>=0&&d<=1){if(d2<0){l2.at(0,target2)}else{l2.at(1,target2)}l1.closestPointToPoint(target2,true,target1);return}else if(d2>=0&&d2<=1){if(d<0){l1.at(0,target1)}else{l1.at(1,target1)}l2.closestPointToPoint(target1,true,target2);return}else{let p;if(d<0){p=l1.start}else{p=l1.end}let p2;if(d2<0){p2=l2.start}else{p2=l2.end}const closestPoint=temp1;const closestPoint2=temp2;l1.closestPointToPoint(p2,true,temp1);l2.closestPointToPoint(p,true,temp2);if(closestPoint.distanceToSquared(p2)<=closestPoint2.distanceToSquared(p)){target1.copy(closestPoint);target2.copy(p2);return}else{target1.copy(p);target2.copy(closestPoint2);return}}}}();const sphereIntersectTriangle=function(){const closestPointTemp=new three.Vector3;const projectedPointTemp=new three.Vector3;const planeTemp=new three.Plane;const lineTemp=new three.Line3;return function sphereIntersectTriangle(sphere,triangle){const{radius,center}=sphere;const{a,b,c}=triangle;lineTemp.start=a;lineTemp.end=b;const closestPoint1=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint1.distanceTo(center)<=radius)return true;lineTemp.start=a;lineTemp.end=c;const closestPoint2=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint2.distanceTo(center)<=radius)return true;lineTemp.start=b;lineTemp.end=c;const closestPoint3=lineTemp.closestPointToPoint(center,true,closestPointTemp);if(closestPoint3.distanceTo(center)<=radius)return true;const plane=triangle.getPlane(planeTemp);const dp=Math.abs(plane.distanceToPoint(center));if(dp<=radius){const pp=plane.projectPoint(center,projectedPointTemp);const cp=triangle.containsPoint(pp);if(cp)return true}return false}}();class SeparatingAxisTriangle extends three.Triangle{constructor(...args){super(...args);this.isSeparatingAxisTriangle=true;this.satAxes=new Array(4).fill().map(()=>new three.Vector3);this.satBounds=new Array(4).fill().map(()=>new SeparatingAxisBounds);this.points=[this.a,this.b,this.c];this.sphere=new three.Sphere;this.plane=new three.Plane;this.needsUpdate=false}intersectsSphere(sphere){return sphereIntersectTriangle(sphere,this)}update(){const a=this.a;const b=this.b;const c=this.c;const points=this.points;const satAxes=this.satAxes;const satBounds=this.satBounds;const axis0=satAxes[0];const sab0=satBounds[0];this.getNormal(axis0);sab0.setFromPoints(axis0,points);const axis1=satAxes[1];const sab1=satBounds[1];axis1.subVectors(a,b);sab1.setFromPoints(axis1,points);const axis2=satAxes[2];const sab2=satBounds[2];axis2.subVectors(b,c);sab2.setFromPoints(axis2,points);const axis3=satAxes[3];const sab3=satBounds[3];axis3.subVectors(c,a);sab3.setFromPoints(axis3,points);this.sphere.setFromPoints(this.points);this.plane.setFromNormalAndCoplanarPoint(axis0,a);this.needsUpdate=false}}SeparatingAxisTriangle.prototype.closestPointToSegment=function(){const point1=new three.Vector3;const point2=new three.Vector3;const edge=new three.Line3;return function distanceToSegment(segment,target1=null,target2=null){const{start,end}=segment;const points=this.points;let distSq;let closestDistanceSq=Infinity;for(let i=0;i<3;i++){const nexti=(i+1)%3;edge.start.copy(points[i]);edge.end.copy(points[nexti]);closestPointsSegmentToSegment(edge,segment,point1,point2);distSq=point1.distanceToSquared(point2);if(distSq1-1e-10){console.warn("SeparatingAxisTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0.");target.start.set(0,0,0);target.end.set(0,0,0)}else{const points1=this.points;let found1=false;for(let i=0;i<3;i++){const p1=points1[i];const p2=points1[(i+1)%3];edge.start.copy(p1);edge.end.copy(p2);if(plane2.intersectLine(edge,found1?edge1.start:edge1.end)){if(found1){break}found1=true}}const points2=other.points;let found2=false;for(let i=0;i<3;i++){const p1=points2[i];const p2=points2[(i+1)%3];edge.start.copy(p1);edge.end.copy(p2);if(plane1.intersectLine(edge,found2?edge2.start:edge2.end)){if(found2){break}found2=true}}edge1.delta(dir1);edge2.delta(dir2);if(dir1.dot(dir2)<0){let tmp=edge2.start;edge2.start=edge2.end;edge2.end=tmp}tempDir.subVectors(edge1.start,edge2.start);if(tempDir.dot(dir1)>0){target.start.copy(edge1.start)}else{target.start.copy(edge2.start)}tempDir.subVectors(edge1.end,edge2.end);if(tempDir.dot(dir1)<0){target.end.copy(edge1.end)}else{target.end.copy(edge2.end)}}}return true}}();SeparatingAxisTriangle.prototype.distanceToPoint=function(){const target=new three.Vector3;return function distanceToPoint(point){this.closestPointToPoint(point,target);return point.distanceTo(target)}}();SeparatingAxisTriangle.prototype.distanceToTriangle=function(){const point=new three.Vector3;const point2=new three.Vector3;const cornerFields=["a","b","c"];const line1=new three.Line3;const line2=new three.Line3;return function distanceToTriangle(other,target1=null,target2=null){const lineTarget=target1||target2?line1:null;if(this.intersectsTriangle(other,lineTarget)){if(target1||target2){if(target1)lineTarget.getCenter(target1);if(target2)lineTarget.getCenter(target2)}return 0}let closestDistanceSq=Infinity;for(let i=0;i<3;i++){let dist;const field=cornerFields[i];const otherVec=other[field];this.closestPointToPoint(otherVec,point);dist=otherVec.distanceToSquared(point);if(distnew three.Vector3);this.satAxes=new Array(3).fill().map(()=>new three.Vector3);this.satBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.alignedSatBounds=new Array(3).fill().map(()=>new SeparatingAxisBounds);this.needsUpdate=false}set(min,max,matrix){super.set(min,max);this.matrix=matrix;this.needsUpdate=true}copy(other){super.copy(other);this.matrix.copy(other.matrix);this.needsUpdate=true}}OrientedBox.prototype.update=function(){return function update(){const matrix=this.matrix;const min=this.min;const max=this.max;const points=this.points;for(let x=0;x<=1;x++){for(let y=0;y<=1;y++){for(let z=0;z<=1;z++){const i=(1<<0)*x|(1<<1)*y|(1<<2)*z;const v=points[i];v.x=x?max.x:min.x;v.y=y?max.y:min.y;v.z=z?max.z:min.z;v.applyMatrix4(matrix)}}}const satBounds=this.satBounds;const satAxes=this.satAxes;const minVec=points[0];for(let i=0;i<3;i++){const axis=satAxes[i];const sb=satBounds[i];const index=1<new three.Line3);const segments2=new Array(12).fill().map(()=>new three.Line3);const point1=new three.Vector3;const point2=new three.Vector3;return function distanceToBox(box,threshold=0,target1=null,target2=null){if(this.needsUpdate){this.update()}if(this.intersectsBox(box)){if(target1||target2){box.getCenter(point2);this.closestPointToPoint(point2,point1);box.closestPointToPoint(point1,point2);if(target1)target1.copy(point1);if(target2)target2.copy(point2)}return 0}const threshold2=threshold*threshold;const min=box.min;const max=box.max;const points=this.points;let closestDistanceSq=Infinity;for(let i=0;i<8;i++){const p=points[i];point2.copy(p).clamp(min,max);const dist=p.distanceToSquared(point2);if(distraycaster.far){return null}else{return hit}}function setTriangle(tri,i,index,pos){const ta=tri.a;const tb=tri.b;const tc=tri.c;let i0=i;let i1=i+1;let i2=i+2;if(index){i0=index.getX(i);i1=index.getX(i+1);i2=index.getX(i+2)}ta.x=pos.getX(i0);ta.y=pos.getY(i0);ta.z=pos.getZ(i0);tb.x=pos.getX(i1);tb.y=pos.getY(i1);tb.z=pos.getZ(i1);tc.x=pos.getX(i2);tc.y=pos.getY(i2);tc.z=pos.getZ(i2)}function iterateOverTriangles(offset,count,geometry,intersectsTriangleFunc,contained,depth,triangle){const index=geometry.index;const pos=geometry.attributes.position;for(let i=offset,l=count+offset;i=start&&firstVertexIndex=0;let c1,c2;if(leftToRight){c1=LEFT_NODE(nodeIndex32);c2=RIGHT_NODE(nodeIndex32,uint32Array)}else{c1=RIGHT_NODE(nodeIndex32,uint32Array);c2=LEFT_NODE(nodeIndex32)}const c1Intersection=intersectRay(c1,float32Array,ray,boxIntersection);const c1Result=c1Intersection?raycastFirst(c1,geometry,side,ray):null;if(c1Result){const point=c1Result.point[xyzAxis];const isOutside=leftToRight?point<=float32Array[c2+splitAxis]:point>=float32Array[c2+splitAxis+3];if(isOutside){return c1Result}}const c2Intersection=intersectRay(c2,float32Array,ray,boxIntersection);const c2Result=c2Intersection?raycastFirst(c2,geometry,side,ray):null;if(c1Result&&c2Result){return c1Result.distance<=c2Result.distance?c1Result:c2Result}else{return c1Result||c2Result||null}}}const shapecast=function(){let _box1,_box2;const boxStack=[];const boxPool=new PrimitivePool(()=>new three.Box3);return function shapecast(...args){_box1=boxPool.getPrimitive();_box2=boxPool.getPrimitive();boxStack.push(_box1,_box2);const result=shapecastTraverse(...args);boxPool.releasePrimitive(_box1);boxPool.releasePrimitive(_box2);boxStack.pop();boxStack.pop();const length=boxStack.length;if(length>0){_box2=boxStack[length-1];_box1=boxStack[length-2]}return result};function shapecastTraverse(nodeIndex32,geometry,intersectsBoundsFunc,intersectsRangeFunc,nodeScoreFunc=null,nodeIndexByteOffset=0,depth=0){function getLeftOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=LEFT_NODE(nodeIndex32);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)}function getRightEndOffset(nodeIndex32){let nodeIndex16=nodeIndex32*2,uint16Array=_uint16Array,uint32Array=_uint32Array;while(!IS_LEAF(nodeIndex16,uint16Array)){nodeIndex32=RIGHT_NODE(nodeIndex32,uint32Array);nodeIndex16=nodeIndex32*2}return OFFSET(nodeIndex32,uint32Array)+COUNT(nodeIndex16,uint16Array)}let nodeIndex16=nodeIndex32*2,float32Array=_float32Array,uint16Array=_uint16Array,uint32Array=_uint32Array;const isLeaf=IS_LEAF(nodeIndex16,uint16Array);if(isLeaf){const offset=OFFSET(nodeIndex32,uint32Array);const count=COUNT(nodeIndex16,uint16Array);arrayToBox(BOUNDING_DATA_INDEX(nodeIndex32),float32Array,_box1);return intersectsRangeFunc(offset,count,false,depth,nodeIndexByteOffset+nodeIndex32,_box1)}else{const left=LEFT_NODE(nodeIndex32);const right=RIGHT_NODE(nodeIndex32,uint32Array);let c1=left;let c2=right;let score1,score2;let box1,box2;if(nodeScoreFunc){box1=_box1;box2=_box2;arrayToBox(BOUNDING_DATA_INDEX(c1),float32Array,box1);arrayToBox(BOUNDING_DATA_INDEX(c2),float32Array,box2);score1=nodeScoreFunc(box1);score2=nodeScoreFunc(box2);if(score2obb2.intersectsBox(box),intersectsTriangle:tri=>{tri.a.applyMatrix4(geometryToBvh);tri.b.applyMatrix4(geometryToBvh);tri.c.applyMatrix4(geometryToBvh);tri.needsUpdate=true;for(let i=offset*3,l=(count+offset)*3;inew SeparatingAxisTriangle);class MeshBVH{static serialize(bvh,options={}){if(options.isBufferGeometry){console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.serialize(arguments[0],{cloneBuffers:arguments[2]===undefined?true:arguments[2]})}options={cloneBuffers:true,...options};const geometry=bvh.geometry;const rootData=bvh._roots;const indexAttribute=geometry.getIndex();let result;if(options.cloneBuffers){result={roots:rootData.map(root=>root.slice()),index:indexAttribute.array.slice()}}else{result={roots:rootData,index:indexAttribute.array}}return result}static deserialize(data,geometry,options={}){if(typeof options==="boolean"){console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature.");return MeshBVH.deserialize(arguments[0],arguments[1],{setIndex:arguments[2]===undefined?true:arguments[2]})}options={setIndex:true,...options};const{index,roots}=data;const bvh=new MeshBVH(geometry,{...options,[SKIP_GENERATION]:true});bvh._roots=roots;if(options.setIndex){const indexAttribute=geometry.getIndex();if(indexAttribute===null){const newIndex=new three.BufferAttribute(data.index,1,false);geometry.setIndex(newIndex)}else if(indexAttribute.array!==index){indexAttribute.array.set(index);indexAttribute.needsUpdate=true}}return bvh}constructor(geometry,options={}){if(!geometry.isBufferGeometry){throw new Error("MeshBVH: Only BufferGeometries are supported.")}else if(geometry.index&&geometry.index.isInterleavedBufferAttribute){throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.")}options=Object.assign({strategy:CENTER,maxDepth:40,maxLeafTris:10,verbose:true,useSharedArrayBuffer:false,setBoundingBox:true,onProgress:null,[SKIP_GENERATION]:false},options);if(options.useSharedArrayBuffer&&typeof SharedArrayBuffer==="undefined"){throw new Error("MeshBVH: SharedArrayBuffer is not available.")}this._roots=null;if(!options[SKIP_GENERATION]){this._roots=buildPackedTree(geometry,options);if(!geometry.boundingBox&&options.setBoundingBox){geometry.boundingBox=this.getBoundingBox(new three.Box3)}}this.geometry=geometry}refit(nodeIndices=null){if(nodeIndices&&Array.isArray(nodeIndices)){nodeIndices=new Set(nodeIndices)}const geometry=this.geometry;const indexArr=geometry.index.array;const posAttr=geometry.attributes.position;const posArr=posAttr.array;const bufferOffset=posAttr.offset||0;let stride=3;if(posAttr.isInterleavedBufferAttribute){stride=posAttr.data.stride}let buffer,uint32Array,uint16Array,float32Array;let byteOffset=0;const roots=this._roots;for(let i=0,l=roots.length;imaxx)maxx=x;if(ymaxy)maxy=y;if(zmaxz)maxz=z}if(float32Array[node32Index+0]!==minx||float32Array[node32Index+1]!==miny||float32Array[node32Index+2]!==minz||float32Array[node32Index+3]!==maxx||float32Array[node32Index+4]!==maxy||float32Array[node32Index+5]!==maxz){float32Array[node32Index+0]=minx;float32Array[node32Index+1]=miny;float32Array[node32Index+2]=minz;float32Array[node32Index+3]=maxx;float32Array[node32Index+4]=maxy;float32Array[node32Index+5]=maxz;return true}else{return false}}else{const left=node32Index+8;const right=uint32Array[node32Index+6];const offsetLeft=left+byteOffset;const offsetRight=right+byteOffset;let forceChildren=force;let includesLeft=false;let includesRight=false;if(nodeIndices){if(!forceChildren){includesLeft=nodeIndices.has(offsetLeft);includesRight=nodeIndices.has(offsetRight);forceChildren=!includesLeft&&!includesRight}}else{includesLeft=true;includesRight=true}const traverseLeft=forceChildren||includesLeft;const traverseRight=forceChildren||includesRight;let leftChange=false;if(traverseLeft){leftChange=_traverse(left,byteOffset,forceChildren)}let rightChange=false;if(traverseRight){rightChange=_traverse(right,byteOffset,forceChildren)}const didChange=leftChange||rightChange;if(didChange){for(let i=0;i<3;i++){const lefti=left+i;const righti=right+i;const minLeftValue=float32Array[lefti];const maxLeftValue=float32Array[lefti+3];const minRightValue=float32Array[righti];const maxRightValue=float32Array[righti+3];float32Array[node32Index+i]=minLeftValuemaxRightValue?maxLeftValue:maxRightValue}}return didChange}}}traverse(callback,rootIndex=0){const buffer=this._roots[rootIndex];const uint32Array=new Uint32Array(buffer);const uint16Array=new Uint16Array(buffer);_traverse(0);function _traverse(node32Index,depth=0){const node16Index=node32Index*2;const isLeaf=uint16Array[node16Index+15]===IS_LEAFNODE_FLAG;if(isLeaf){const offset=uint32Array[node32Index+6];const count=uint16Array[node16Index+14];callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),offset,count)}else{const left=node32Index+BYTES_PER_NODE/4;const right=uint32Array[node32Index+6];const splitAxis=uint32Array[node32Index+7];const stopTraversal=callback(depth,isLeaf,new Float32Array(buffer,node32Index*4,6),splitAxis);if(!stopTraversal){_traverse(left,depth+1);_traverse(right,depth+1)}}}}raycast(ray,materialOrSide=three.FrontSide){const roots=this._roots;const geometry=this.geometry;const intersects=[];const isMaterial=materialOrSide.isMaterial;const isArrayMaterial=Array.isArray(materialOrSide);const groups=geometry.groups;const side=isMaterial?materialOrSide.side:materialOrSide;for(let i=0,l=roots.length;i{const i3=index*3;return originalTriangleFunc(tri,i3,i3+1,i3+2,contained,depth)}}callbacks={boundsTraverseOrder:_orderNodesFunc,intersectsBounds:callbacks,intersectsTriangle:_intersectsTriangleFunc,intersectsRange:null};console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}const triangle=trianglePool.getPrimitive();let{boundsTraverseOrder,intersectsBounds,intersectsRange,intersectsTriangle}=callbacks;if(intersectsRange&&intersectsTriangle){const originalIntersectsRange=intersectsRange;intersectsRange=(offset,count,contained,depth,nodeIndex)=>{if(!originalIntersectsRange(offset,count,contained,depth,nodeIndex)){return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}return true}}else if(!intersectsRange){if(intersectsTriangle){intersectsRange=(offset,count,contained,depth)=>{return iterateOverTriangles(offset,count,geometry,intersectsTriangle,contained,depth,triangle)}}else{intersectsRange=(offset,count,contained)=>{return contained}}}let result=false;let byteOffset=0;for(const root of this._roots){setBuffer(root);result=shapecast(0,geometry,intersectsBounds,intersectsRange,boundsTraverseOrder,byteOffset);clearBuffer();if(result){break}byteOffset+=root.byteLength}trianglePool.releasePrimitive(triangle);return result}bvhcast(otherBvh,matrixToLocal,callbacks){let{intersectsRanges,intersectsTriangles}=callbacks;const indexAttr=this.geometry.index;const positionAttr=this.geometry.attributes.position;const otherIndexAttr=otherBvh.geometry.index;const otherPositionAttr=otherBvh.geometry.attributes.position;tempMatrix.copy(matrixToLocal).invert();const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();if(intersectsTriangles){function iterateOverDoubleTriangles(offset1,count1,offset2,count2,depth1,index1,depth2,index2){for(let i2=offset2,l2=offset2+count2;i2aabb2.intersectsBox(box),intersectsRange:(offset1,count1,contained,depth1,nodeIndex1,box)=>{aabb.copy(box);aabb.applyMatrix4(tempMatrix);return otherBvh.shapecast({intersectsBounds:box=>aabb.intersectsBox(box),intersectsRange:(offset2,count2,contained,depth2,nodeIndex2)=>{return intersectsRanges(offset1,count1,offset2,count2,depth1,nodeIndex1,depth2,nodeIndex2)}})}});trianglePool.releasePrimitive(triangle);trianglePool.releasePrimitive(triangle2);return result}intersectsBox(box,boxToMesh){obb.set(box.min,box.max,boxToMesh);obb.needsUpdate=true;return this.shapecast({intersectsBounds:box=>obb.intersectsBox(box),intersectsTriangle:tri=>obb.intersectsTriangle(tri)})}intersectsSphere(sphere){return this.shapecast({intersectsBounds:box=>sphere.intersectsBox(box),intersectsTriangle:tri=>tri.intersectsSphere(sphere)})}closestPointToGeometry(otherGeometry,geometryToBvh,target1={},target2={},minThreshold=0,maxThreshold=Infinity){if(!otherGeometry.boundingBox){otherGeometry.computeBoundingBox()}obb.set(otherGeometry.boundingBox.min,otherGeometry.boundingBox.max,geometryToBvh);obb.needsUpdate=true;const geometry=this.geometry;const pos=geometry.attributes.position;const index=geometry.index;const otherPos=otherGeometry.attributes.position;const otherIndex=otherGeometry.index;const triangle=trianglePool.getPrimitive();const triangle2=trianglePool.getPrimitive();let tempTarget1=temp1;let tempTargetDest1=temp2;let tempTarget2=null;let tempTargetDest2=null;if(target2){tempTarget2=temp3;tempTargetDest2=temp4}let closestDistance=Infinity;let closestDistanceTriIndex=null;let closestDistanceOtherTriIndex=null;tempMatrix.copy(geometryToBvh).invert();obb2.matrix.copy(tempMatrix);this.shapecast({boundsTraverseOrder:box=>{return obb.distanceToBox(box,Math.min(closestDistance,maxThreshold))},intersectsBounds:(box,isLeaf,score)=>{if(score{if(otherGeometry.boundsTree){return otherGeometry.boundsTree.shapecast({boundsTraverseOrder:box=>{return obb2.distanceToBox(box,Math.min(closestDistance,maxThreshold))},intersectsBounds:(box,isLeaf,score)=>{return score{for(let i2=otherOffset*3,l2=(otherOffset+otherCount)*3;i2{temp.copy(point).clamp(box.min,box.max);return temp.distanceToSquared(point)},intersectsBounds:(box,isLeaf,score)=>{return score{tri.closestPointToPoint(point,temp);const distSq=point.distanceToSquared(temp);if(distSq{arrayToBox(0,new Float32Array(buffer),tempBox);target.union(tempBox)});return target}}const originalRaycast=MeshBVH.prototype.raycast;MeshBVH.prototype.raycast=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"raycast\" has changed. See docs for new signature.");const[mesh,raycaster,ray,intersects]=args;const results=originalRaycast.call(this,ray,mesh.material);results.forEach(hit=>{hit=convertRaycastIntersect(hit,mesh,raycaster);if(hit){intersects.push(hit)}});return intersects}else{return originalRaycast.apply(this,args)}};const originalRaycastFirst=MeshBVH.prototype.raycastFirst;MeshBVH.prototype.raycastFirst=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"raycastFirst\" has changed. See docs for new signature.");const[mesh,raycaster,ray]=args;return convertRaycastIntersect(originalRaycastFirst.call(this,ray,mesh.material),mesh,raycaster)}else{return originalRaycastFirst.apply(this,args)}};const originalClosestPointToPoint=MeshBVH.prototype.closestPointToPoint;MeshBVH.prototype.closestPointToPoint=function(...args){if(args[0].isMesh){console.warn("MeshBVH: The function signature and results frame for \"closestPointToPoint\" has changed. See docs for new signature.");args.unshift();const target=args[1];const result={};args[1]=result;originalClosestPointToPoint.apply(this,args);if(target){target.copy(result.point)}return result.distance}else{return originalClosestPointToPoint.apply(this,args)}};const originalClosestPointToGeometry=MeshBVH.prototype.closestPointToGeometry;MeshBVH.prototype.closestPointToGeometry=function(...args){const target1=args[2];const target2=args[3];if(target1&&target1.isVector3||target2&&target2.isVector3){console.warn("MeshBVH: The function signature and results frame for \"closestPointToGeometry\" has changed. See docs for new signature.");const result1={};const result2={};const geometryToBvh=args[1];args[2]=result1;args[3]=result2;originalClosestPointToGeometry.apply(this,args);if(target1){target1.copy(result1.point)}if(target2){target2.copy(result2.point).applyMatrix4(geometryToBvh)}return result1.distance}else{return originalClosestPointToGeometry.apply(this,args)}};const originalRefit=MeshBVH.prototype.refit;MeshBVH.prototype.refit=function(...args){const nodeIndices=args[0];const terminationIndices=args[1];if(terminationIndices&&(terminationIndices instanceof Set||Array.isArray(terminationIndices))){console.warn("MeshBVH: The function signature for \"refit\" has changed. See docs for new signature.");const newNodeIndices=new Set;terminationIndices.forEach(v=>newNodeIndices.add(v));if(nodeIndices){nodeIndices.forEach(v=>newNodeIndices.add(v))}originalRefit.call(this,newNodeIndices)}else{originalRefit.apply(this,args)}};["intersectsGeometry","shapecast","intersectsBox","intersectsSphere"].forEach(name=>{const originalFunc=MeshBVH.prototype[name];MeshBVH.prototype[name]=function(...args){if(args[0]===null||args[0].isMesh){args.shift();console.warn(`MeshBVH: The function signature for "${name}" has changed and no longer takes Mesh. See docs for new signature.`)}return originalFunc.apply(this,args)}});const boundingBox=new three.Box3;class MeshBVHRootVisualizer extends three.Object3D{get isMesh(){return!this.displayEdges}get isLineSegments(){return this.displayEdges}get isLine(){return this.displayEdges}constructor(mesh,material,depth=10,group=0){super();this.material=material;this.geometry=new three.BufferGeometry;this.name="MeshBVHRootVisualizer";this.depth=depth;this.displayParents=false;this.mesh=mesh;this.displayEdges=true;this._group=group}raycast(){}update(){const geometry=this.geometry;const boundsTree=this.mesh.geometry.boundsTree;const group=this._group;geometry.dispose();this.visible=false;if(boundsTree){const targetDepth=this.depth-1;const displayParents=this.displayParents;let boundsCount=0;boundsTree.traverse((depth,isLeaf)=>{if(depth===targetDepth||isLeaf){boundsCount++;return true}else if(displayParents){boundsCount++}},group);let posIndex=0;const positionArray=new Float32Array(8*3*boundsCount);boundsTree.traverse((depth,isLeaf,boundingData)=>{const terminate=depth===targetDepth||isLeaf;if(terminate||displayParents){arrayToBox(0,boundingData,boundingBox);const{min,max}=boundingBox;for(let x=-1;x<=1;x+=2){const xVal=x<0?min.x:max.x;for(let y=-1;y<=1;y+=2){const yVal=y<0?min.y:max.y;for(let z=-1;z<=1;z+=2){const zVal=z<0?min.z:max.z;positionArray[posIndex+0]=xVal;positionArray[posIndex+1]=yVal;positionArray[posIndex+2]=zVal;posIndex+=3}}}return terminate}},group);let indexArray;let indices;if(this.displayEdges){indices=new Uint8Array([0,4,1,5,2,6,3,7,0,2,1,3,4,6,5,7,0,1,2,3,4,5,6,7])}else{indices=new Uint8Array([0,1,2,2,1,3,4,6,5,6,7,5,1,4,5,0,4,1,2,3,6,3,7,6,0,2,4,2,6,4,1,5,3,3,5,7])}if(positionArray.length>65535){indexArray=new Uint32Array(indices.length*boundsCount)}else{indexArray=new Uint16Array(indices.length*boundsCount)}const indexLength=indices.length;for(let i=0;itotalRoots){this._roots.pop()}for(let i=0;i=this._roots.length){const root=new MeshBVHRootVisualizer(this.mesh,this.edgeMaterial,this.depth,i);this.add(root);this._roots.push(root)}const root=this._roots[i];root.depth=this.depth;root.mesh=this.mesh;root.displayParents=this.displayParents;root.displayEdges=this.displayEdges;root.material=this.displayEdges?this.edgeMaterial:this.meshMaterial;root.update()}}updateMatrixWorld(...args){this.position.copy(this.mesh.position);this.rotation.copy(this.mesh.rotation);this.scale.copy(this.mesh.scale);super.updateMatrixWorld(...args)}copy(source){this.depth=source.depth;this.mesh=source.mesh}clone(){return new MeshBVHVisualizer(this.mesh,this.depth)}dispose(){this.edgeMaterial.dispose();this.meshMaterial.dispose();const children=this.children;for(let i=0,l=children.length;i{const l0=boundingData[0+3]-boundingData[0];const l1=boundingData[1+3]-boundingData[1];const l2=boundingData[2+3]-boundingData[2];const surfaceArea=2*(l0*l1+l1*l2+l2*l0);result.nodeCount++;if(isLeaf){result.leafNodeCount++;result.depth.min=Math.min(depth,result.depth.min);result.depth.max=Math.max(depth,result.depth.max);result.tris.min=Math.min(count,result.tris.min);result.tris.max=Math.max(count,result.tris.max);result.surfaceAreaScore+=surfaceArea*TRIANGLE_INTERSECT_COST*count}else{result.splits[offsetOrSplit]++;result.surfaceAreaScore+=surfaceArea*TRAVERSAL_COST}},group);if(result.tris.min===Infinity){result.tris.min=0;result.tris.max=0}if(result.depth.min===Infinity){result.depth.min=0;result.depth.max=0}return result}function getBVHExtremes(bvh){return bvh._roots.map((root,i)=>getRootExtremes(bvh,i))}function estimateMemoryInBytes(obj){const traversed=new Set;const stack=[obj];let bytes=0;while(stack.length){const curr=stack.pop();if(traversed.has(curr)){continue}traversed.add(curr);for(let key in curr){if(!curr.hasOwnProperty(key)){continue}bytes+=getPrimitiveSize(key);const value=curr[key];if(value&&(typeof value==="object"||typeof value==="function")){if(isTypedArray(value)){bytes+=value.byteLength}else if(value instanceof ArrayBuffer){bytes+=value.byteLength}else{stack.push(value)}}else{bytes+=getPrimitiveSize(value)}}}return bytes}function validateBounds(bvh){const geometry=bvh.geometry;const depthStack=[];const index=geometry.index;const position=geometry.getAttribute("position");let passes=true;bvh.traverse((depth,isLeaf,boundingData,offset,count)=>{const info={depth,isLeaf,boundingData,offset,count};depthStack[depth]=info;arrayToBox(0,boundingData,_box1);const parent=depthStack[depth-1];if(isLeaf){for(let i=offset*3,l=(offset+count)*3;i{const info={bounds:arrayToBox(0,boundingData,new three.Box3)};if(isLeaf){info.count=count;info.offset=offset}else{info.left=null;info.right=null}depthStack[depth]=info;const parent=depthStack[depth-1];if(parent){if(parent.left===null){parent.left=info}else{parent.right=info}}});return depthStack[0]}const ray=new three.Ray;const tmpInverseMatrix=new three.Matrix4;const origMeshRaycastFunc=three.Mesh.prototype.raycast;function acceleratedRaycast(raycaster,intersects){if(this.geometry.boundsTree){if(this.material===undefined)return;tmpInverseMatrix.copy(this.matrixWorld).invert();ray.copy(raycaster.ray).applyMatrix4(tmpInverseMatrix);const bvh=this.geometry.boundsTree;if(raycaster.firstHitOnly===true){const hit=convertRaycastIntersect(bvh.raycastFirst(ray,this.material),this,raycaster);if(hit){intersects.push(hit)}}else{const hits=bvh.raycast(ray,this.material);for(let i=0,l=hits.length;i=2){dataArray[ii+1]=attr.getY(i)/normalizeValue}if(itemSize>=3){dataArray[ii+2]=attr.getZ(i)/normalizeValue;if(finalStride===4){dataArray[ii+3]=1}}if(itemSize>=4){dataArray[ii+3]=attr.getW(i)/normalizeValue}}this.internalFormat=internalFormat;this.format=format;this.type=type;this.image.width=dimension;this.image.height=dimension;this.image.data=dataArray;this.needsUpdate=true;attr.itemSize=originalItemSize;attr.count=originalCount}}class UIntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.UnsignedIntType}}class IntVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.IntType}}class FloatVertexAttributeTexture extends VertexAttributeTexture{constructor(){super();this._forcedType=three.FloatType}}function bvhToTextures(bvh,boundsTexture,contentsTexture){const roots=bvh._roots;if(roots.length!==1){throw new Error("MeshBVHUniformStruct: Multi-root BVHs not supported.")}const root=roots[0];const uint16Array=new Uint16Array(root);const uint32Array=new Uint32Array(root);const float32Array=new Float32Array(root);const nodeCount=root.byteLength/BYTES_PER_NODE;const boundsDimension=2*Math.ceil(Math.sqrt(nodeCount/2));const boundsArray=new Float32Array(4*boundsDimension*boundsDimension);const contentsDimension=Math.ceil(Math.sqrt(nodeCount));const contentsArray=new Uint32Array(2*contentsDimension*contentsDimension);for(let i=0;i= dist ? dist : INFINITY; } bool intersectsTriangle( vec3 rayOrigin, vec3 rayDirection, vec3 a, vec3 b, vec3 c, out vec3 barycoord, out vec3 norm, out float dist, out float side ) { // https://stackoverflow.com/questions/42740765/intersection-between-line-and-triangle-in-3d vec3 edge1 = b - a; vec3 edge2 = c - a; norm = cross( edge1, edge2 ); float det = - dot( rayDirection, norm ); float invdet = 1.0 / det; vec3 AO = rayOrigin - a; vec3 DAO = cross( AO, rayDirection ); vec4 uvt; uvt.x = dot( edge2, DAO ) * invdet; uvt.y = - dot( edge1, DAO ) * invdet; uvt.z = dot( AO, norm ) * invdet; uvt.w = 1.0 - uvt.x - uvt.y; // set the hit information barycoord = uvt.wxy; // arranged in A, B, C order dist = uvt.z; side = sign( det ); norm = side * normalize( norm ); // add an epsilon to avoid misses between triangles uvt += vec4( TRI_INTERSECT_EPSILON ); return all( greaterThanEqual( uvt, vec4( 0.0 ) ) ); } bool intersectTriangles( BVH bvh, vec3 rayOrigin, vec3 rayDirection, uint offset, uint count, inout float minDistance, // output variables out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out float dist ) { bool found = false; vec3 localBarycoord, localNormal; float localDist, localSide; for ( uint i = offset, l = offset + count; i < l; i ++ ) { uvec3 indices = uTexelFetch1D( bvh.index, i ).xyz; vec3 a = texelFetch1D( bvh.position, indices.x ).rgb; vec3 b = texelFetch1D( bvh.position, indices.y ).rgb; vec3 c = texelFetch1D( bvh.position, indices.z ).rgb; if ( intersectsTriangle( rayOrigin, rayDirection, a, b, c, localBarycoord, localNormal, localDist, localSide ) && localDist < minDistance ) { found = true; minDistance = localDist; faceIndices = uvec4( indices.xyz, i ); faceNormal = localNormal; side = localSide; barycoord = localBarycoord; dist = localDist; } } return found; } float intersectsBVHNodeBounds( vec3 rayOrigin, vec3 rayDirection, BVH bvh, uint currNodeIndex ) { vec3 boundsMin = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 0u ).xyz; vec3 boundsMax = texelFetch1D( bvh.bvhBounds, currNodeIndex * 2u + 1u ).xyz; return intersectsBounds( rayOrigin, rayDirection, boundsMin, boundsMax ); } bool bvhIntersectFirstHit( BVH bvh, vec3 rayOrigin, vec3 rayDirection, // output variables out uvec4 faceIndices, out vec3 faceNormal, out vec3 barycoord, out float side, out float dist ) { // stack needs to be twice as long as the deepest tree we expect because // we push both the left and right child onto the stack every traversal int ptr = 0; uint stack[ 60 ]; stack[ 0 ] = 0u; float triangleDistance = 1e20; bool found = false; while ( ptr > - 1 && ptr < 60 ) { uint currNodeIndex = stack[ ptr ]; ptr --; // check if we intersect the current bounds float boundsHitDistance = intersectsBVHNodeBounds( rayOrigin, rayDirection, bvh, currNodeIndex ); if ( boundsHitDistance == INFINITY || boundsHitDistance > triangleDistance ) { continue; } uvec2 boundsInfo = uTexelFetch1D( bvh.bvhContents, currNodeIndex ).xy; bool isLeaf = bool( boundsInfo.x & 0xffff0000u ); if ( isLeaf ) { uint count = boundsInfo.x & 0x0000ffffu; uint offset = boundsInfo.y; found = intersectTriangles( bvh, rayOrigin, rayDirection, offset, count, triangleDistance, faceIndices, faceNormal, barycoord, side, dist ) || found; } else { uint leftIndex = currNodeIndex + 1u; uint splitAxis = boundsInfo.x & 0x0000ffffu; uint rightIndex = boundsInfo.y; bool leftToRight = rayDirection[ splitAxis ] >= 0.0; uint c1 = leftToRight ? leftIndex : rightIndex; uint c2 = leftToRight ? rightIndex : leftIndex; // set c2 in the stack so we traverse it later. We need to keep track of a pointer in // the stack while we traverse. The second pointer added is the one that will be // traversed first ptr ++; stack[ ptr ] = c2; ptr ++; stack[ ptr ] = c1; } } return found; } `;exports.AVERAGE=AVERAGE;exports.CENTER=CENTER;exports.CONTAINED=CONTAINED;exports.FloatVertexAttributeTexture=FloatVertexAttributeTexture;exports.INTERSECTED=INTERSECTED;exports.IntVertexAttributeTexture=IntVertexAttributeTexture;exports.MeshBVH=MeshBVH;exports.MeshBVHUniformStruct=MeshBVHUniformStruct;exports.MeshBVHVisualizer=MeshBVHVisualizer;exports.NOT_INTERSECTED=NOT_INTERSECTED;exports.SAH=SAH;exports.UIntVertexAttributeTexture=UIntVertexAttributeTexture;exports.VertexAttributeTexture=VertexAttributeTexture;exports.acceleratedRaycast=acceleratedRaycast;exports.computeBoundsTree=computeBoundsTree;exports.disposeBoundsTree=disposeBoundsTree;exports.estimateMemoryInBytes=estimateMemoryInBytes;exports.getBVHExtremes=getBVHExtremes;exports.getJSONStructure=getJSONStructure;exports.getTriangleHitPointInfo=getTriangleHitPointInfo;exports.shaderIntersectFunction=shaderIntersectFunction;exports.shaderStructs=shaderStructs;exports.validateBounds=validateBounds;Object.defineProperty(exports,"__esModule",{value:true});three.BufferGeometry.prototype.computeBoundsTree=computeBoundsTree;three.BufferGeometry.prototype.disposeBoundsTree=disposeBoundsTree;three.Mesh.prototype.raycast=acceleratedRaycast});THREE.MeshoptDecoder=function(){"use strict";var wasm_base="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";var wasm_simd="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";var detector=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);var wasmpack=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=="object"){return{supported:false}}var wasm=WebAssembly.validate(detector)?wasm_simd:wasm_base;var instance;var ready=WebAssembly.instantiate(unpack(wasm),{}).then(function(result){instance=result.instance;instance.exports.__wasm_call_ctors()});function unpack(data){var result=new Uint8Array(data.length);for(var i=0;i96?ch-97:ch>64?ch-39:ch+4}var write=0;for(var i=0;i0){return decodeWorker(count,size,source,decoders[mode],filters[filter])}return ready.then(function(){var target=new Uint8Array(count*size);decode(instance.exports[decoders[mode]],target,count,size,source,instance.exports[filters[filter]]);return target})}}}();(function(t,e){e(t.THREE=t.THREE||{})})(this,function(THREE){var Color=THREE.Color,Vector3=THREE.Vector3;class Face3{constructor(a,b,c,normal,color,materialIndex=0){this.a=a;this.b=b;this.c=c;this.normal=normal&&normal.isVector3?normal:new Vector3;this.vertexNormals=Array.isArray(normal)?normal:[];this.color=color&&color.isColor?color:new Color;this.vertexColors=Array.isArray(color)?color:[];this.materialIndex=materialIndex}clone(){return new this.constructor().copy(this)}copy(source){this.a=source.a;this.b=source.b;this.c=source.c;this.normal.copy(source.normal);this.color.copy(source.color);this.materialIndex=source.materialIndex;for(let i=0,il=source.vertexNormals.length;i0){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",copyVector3sArray(new BufferAttribute(normals,3),geometry.normals))}if(geometry.colors.length>0){const colors=new Float32Array(geometry.colors.length*3);buffergeometry.setAttribute("color",copyColorsArray(new BufferAttribute(colors,3),geometry.colors))}if(geometry.uvs.length>0){const uvs=new Float32Array(geometry.uvs.length*2);buffergeometry.setAttribute("uv",copyVector2sArray(new BufferAttribute(uvs,2),geometry.uvs))}if(geometry.uvs2.length>0){const uvs2=new Float32Array(geometry.uvs2.length*2);buffergeometry.setAttribute("uv2",copyVector2sArray(new BufferAttribute(uvs2,2),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",copyVector4sArray(skinIndices,geometry.skinIndices))}if(geometry.skinWeights.length>0){const skinWeights=new Float32BufferAttribute(geometry.skinWeights.length*4,4);buffergeometry.setAttribute("skinWeight",copyVector4sArray(skinWeights,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",copyVector3sArray(positions,geometry.vertices));buffergeometry.setAttribute("color",copyColorsArray(colors,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{const workerId=this._getIdleWorker();if(workerId!==-1){this._initWorker(workerId);this.workerStatus|=1<worker.terminate());this.workersResolve.length=0;this.workers.length=0;this.queue.length=0;this.workerStatus=0}}THREE.WorkerPool=WorkerPool})();(function(){const t=0,e=1,n=2,i=3,s=0,a=0,r=2,o=0,l=1,f=160,U=161,c=162,h=163,_=0,p=1,g=0,y=1,x=2,u=3,b=4,d=5,m=6,w=7,D=8,B=9,L=10,A=11,k=12,v=13,S=14,I=15,O=16,T=17,V=18,E=0,F=1,P=2,C=3,z=4,M=5,W=6,N=7,H=8,K=9,X=10,j=11,R=0,Y=1,q=2,G=13,J=14,Q=15,Z=128,$=64,tt=32,et=16,nt=0,it=1,st=2,at=3,rt=4,ot=5,lt=6,ft=7,Ut=8,ct=9,ht=10,_t=13,pt=14,gt=15,yt=16,xt=17,ut=20,bt=21,dt=22,mt=23,wt=24,Dt=27,Bt=28,Lt=29,At=30,kt=31,vt=34,St=35,It=36,Ot=37,Tt=38,Vt=41,Et=42,Ft=43,Pt=44,Ct=45,zt=48,Mt=49,Wt=50,Nt=58,Ht=59,Kt=62,Xt=63,jt=64,Rt=65,Yt=68,qt=69,Gt=70,Jt=71,Qt=74,Zt=75,$t=76,te=77,ee=78,ne=81,ie=82,se=83,ae=84,re=85,oe=88,le=89,fe=90,Ue=91,ce=92,he=95,_e=96,pe=97,ge=98,ye=99,xe=100,ue=101,be=102,de=103,me=104,we=105,De=106,Be=107,Le=108,Ae=109,ke=110,ve=111,Se=112,Ie=113,Oe=114,Te=115,Ve=116,Ee=117,Fe=118,Pe=119,Ce=120,ze=121,Me=122,We=123,Ne=124,He=125,Ke=126,Xe=127,je=128,Re=129,Ye=130,qe=131,Ge=132,Je=133,Qe=134,Ze=135,$e=136,tn=137,en=138,nn=139,sn=140,an=141,rn=142,on=143,ln=144,fn=145,Un=146,cn=147,hn=148,_n=149,pn=150,gn=151,yn=152,xn=153,un=154,bn=155,dn=156,mn=157,wn=158,Dn=159,Bn=160,Ln=161,An=162,kn=163,vn=164,Sn=165,In=166,On=167,Tn=168,Vn=169,En=170,Fn=171,Pn=172,Cn=173,zn=174,Mn=175,Wn=176,Nn=177,Hn=178,Kn=179,Xn=180,jn=181,Rn=182,Yn=183,qn=184,Gn=1000156007,Jn=1000156008,Qn=1000156009,Zn=1000156010,$n=1000156011,ti=1000156017,ei=1000156018,ni=1000156019,ii=1000156020,si=1000156021,ai=1000054e3,ri=1000054001,oi=1000054002,li=1000054003,fi=1000054004,Ui=1000054005,ci=1000054006,hi=1000054007,_i=1000066e3,pi=1000066001,gi=1000066002,yi=1000066003,xi=1000066004,ui=1000066005,bi=1000066006,di=1000066007,mi=1000066008,wi=1000066009,Di=1000066010,Bi=1000066011,Li=1000066012,Ai=1000066013,ki=100034e4,vi=1000340001;class Si{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Ii{constructor(t,e,n,i){this._dataView=new DataView(t.buffer,t.byteOffset+e,n),this._littleEndian=i,this._offset=0}_nextUint8(){const t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){const t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){const t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){const t=this._dataView.getUint32(this._offset,this._littleEndian)+2**32*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_nextInt32(){const t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_skip(t){return this._offset+=t,this}_scan(t,e=0){const n=this._offset;let i=0;for(;this._dataView.getUint8(this._offset)!==e&&i0?c+a.byteLength:0;h%8&&(h+=8-h%8);const _=[],p=new DataView(new ArrayBuffer(3*t.levels.length*8));let g=(h||c+a.byteLength)+n.byteLength;for(let e=0;e0?h:0),!0),x.setBigUint64(60,BigInt(n.byteLength),!0),new Uint8Array(Fi([new Uint8Array(Ti).buffer,y,p.buffer,o,a,h>0?new ArrayBuffer(h-(c+a.byteLength)):new ArrayBuffer(0),n,..._]))}var KTXParse=THREE.KTXParse={};KTXParse.KHR_DF_CHANNEL_RGBSDA_ALPHA=Q,KTXParse.KHR_DF_CHANNEL_RGBSDA_BLUE=q,KTXParse.KHR_DF_CHANNEL_RGBSDA_DEPTH=J,KTXParse.KHR_DF_CHANNEL_RGBSDA_GREEN=Y,KTXParse.KHR_DF_CHANNEL_RGBSDA_RED=R,KTXParse.KHR_DF_CHANNEL_RGBSDA_STENCIL=G,KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED=p,KTXParse.KHR_DF_FLAG_ALPHA_STRAIGHT=_,KTXParse.KHR_DF_KHR_DESCRIPTORTYPE_BASICFORMAT=s,KTXParse.KHR_DF_MODEL_ASTC=c,KTXParse.KHR_DF_MODEL_ETC1=f,KTXParse.KHR_DF_MODEL_ETC1S=h,KTXParse.KHR_DF_MODEL_ETC2=U,KTXParse.KHR_DF_MODEL_RGBSDA=l,KTXParse.KHR_DF_MODEL_UNSPECIFIED=o,KTXParse.KHR_DF_PRIMARIES_ACES=W,KTXParse.KHR_DF_PRIMARIES_ACESCC=N,KTXParse.KHR_DF_PRIMARIES_ADOBERGB=j,KTXParse.KHR_DF_PRIMARIES_BT2020=z,KTXParse.KHR_DF_PRIMARIES_BT601_EBU=P,KTXParse.KHR_DF_PRIMARIES_BT601_SMPTE=C,KTXParse.KHR_DF_PRIMARIES_BT709=F,KTXParse.KHR_DF_PRIMARIES_CIEXYZ=M,KTXParse.KHR_DF_PRIMARIES_DISPLAYP3=X,KTXParse.KHR_DF_PRIMARIES_NTSC1953=H,KTXParse.KHR_DF_PRIMARIES_PAL525=K,KTXParse.KHR_DF_PRIMARIES_UNSPECIFIED=E,KTXParse.KHR_DF_SAMPLE_DATATYPE_EXPONENT=tt,KTXParse.KHR_DF_SAMPLE_DATATYPE_FLOAT=Z,KTXParse.KHR_DF_SAMPLE_DATATYPE_LINEAR=et,KTXParse.KHR_DF_SAMPLE_DATATYPE_SIGNED=$,KTXParse.KHR_DF_TRANSFER_ACESCC=O,KTXParse.KHR_DF_TRANSFER_ACESCCT=T,KTXParse.KHR_DF_TRANSFER_ADOBERGB=V,KTXParse.KHR_DF_TRANSFER_BT1886=w,KTXParse.KHR_DF_TRANSFER_DCIP3=k,KTXParse.KHR_DF_TRANSFER_HLG_EOTF=B,KTXParse.KHR_DF_TRANSFER_HLG_OETF=D,KTXParse.KHR_DF_TRANSFER_ITU=u,KTXParse.KHR_DF_TRANSFER_LINEAR=y,KTXParse.KHR_DF_TRANSFER_NTSC=b,KTXParse.KHR_DF_TRANSFER_PAL625_EOTF=S,KTXParse.KHR_DF_TRANSFER_PAL_OETF=v,KTXParse.KHR_DF_TRANSFER_PQ_EOTF=L,KTXParse.KHR_DF_TRANSFER_PQ_OETF=A,KTXParse.KHR_DF_TRANSFER_SLOG=d,KTXParse.KHR_DF_TRANSFER_SLOG2=m,KTXParse.KHR_DF_TRANSFER_SRGB=x,KTXParse.KHR_DF_TRANSFER_ST240=I,KTXParse.KHR_DF_TRANSFER_UNSPECIFIED=g,KTXParse.KHR_DF_VENDORID_KHRONOS=a,KTXParse.KHR_DF_VERSION=r,KTXParse.KHR_SUPERCOMPRESSION_BASISLZ=e,KTXParse.KHR_SUPERCOMPRESSION_NONE=t,KTXParse.KHR_SUPERCOMPRESSION_ZLIB=i,KTXParse.KHR_SUPERCOMPRESSION_ZSTD=n,KTXParse.KTX2Container=Si,KTXParse.VK_FORMAT_A1R5G5B5_UNORM_PACK16=Ut,KTXParse.VK_FORMAT_A2B10G10R10_SINT_PACK32=qt,KTXParse.VK_FORMAT_A2B10G10R10_SNORM_PACK32=Rt,KTXParse.VK_FORMAT_A2B10G10R10_UINT_PACK32=Yt,KTXParse.VK_FORMAT_A2B10G10R10_UNORM_PACK32=jt,KTXParse.VK_FORMAT_A2R10G10B10_SINT_PACK32=Xt,KTXParse.VK_FORMAT_A2R10G10B10_SNORM_PACK32=Ht,KTXParse.VK_FORMAT_A2R10G10B10_UINT_PACK32=Kt,KTXParse.VK_FORMAT_A2R10G10B10_UNORM_PACK32=Nt,KTXParse.VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT=vi,KTXParse.VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT=ki,KTXParse.VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT=Bi,KTXParse.VK_FORMAT_ASTC_10x10_SRGB_BLOCK=Xn,KTXParse.VK_FORMAT_ASTC_10x10_UNORM_BLOCK=Kn,KTXParse.VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT=mi,KTXParse.VK_FORMAT_ASTC_10x5_SRGB_BLOCK=zn,KTXParse.VK_FORMAT_ASTC_10x5_UNORM_BLOCK=Cn,KTXParse.VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT=wi,KTXParse.VK_FORMAT_ASTC_10x6_SRGB_BLOCK=Wn,KTXParse.VK_FORMAT_ASTC_10x6_UNORM_BLOCK=Mn,KTXParse.VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT=Di,KTXParse.VK_FORMAT_ASTC_10x8_SRGB_BLOCK=Hn,KTXParse.VK_FORMAT_ASTC_10x8_UNORM_BLOCK=Nn,KTXParse.VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT=Li,KTXParse.VK_FORMAT_ASTC_12x10_SRGB_BLOCK=Rn,KTXParse.VK_FORMAT_ASTC_12x10_UNORM_BLOCK=jn,KTXParse.VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT=Ai,KTXParse.VK_FORMAT_ASTC_12x12_SRGB_BLOCK=qn,KTXParse.VK_FORMAT_ASTC_12x12_UNORM_BLOCK=Yn,KTXParse.VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT=_i,KTXParse.VK_FORMAT_ASTC_4x4_SRGB_BLOCK=wn,KTXParse.VK_FORMAT_ASTC_4x4_UNORM_BLOCK=mn,KTXParse.VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT=pi,KTXParse.VK_FORMAT_ASTC_5x4_SRGB_BLOCK=Bn,KTXParse.VK_FORMAT_ASTC_5x4_UNORM_BLOCK=Dn,KTXParse.VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT=gi,KTXParse.VK_FORMAT_ASTC_5x5_SRGB_BLOCK=An,KTXParse.VK_FORMAT_ASTC_5x5_UNORM_BLOCK=Ln,KTXParse.VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT=yi,KTXParse.VK_FORMAT_ASTC_6x5_SRGB_BLOCK=vn,KTXParse.VK_FORMAT_ASTC_6x5_UNORM_BLOCK=kn,KTXParse.VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT=xi,KTXParse.VK_FORMAT_ASTC_6x6_SRGB_BLOCK=In,KTXParse.VK_FORMAT_ASTC_6x6_UNORM_BLOCK=Sn,KTXParse.VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT=ui,KTXParse.VK_FORMAT_ASTC_8x5_SRGB_BLOCK=Tn,KTXParse.VK_FORMAT_ASTC_8x5_UNORM_BLOCK=On,KTXParse.VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT=bi,KTXParse.VK_FORMAT_ASTC_8x6_SRGB_BLOCK=En,KTXParse.VK_FORMAT_ASTC_8x6_UNORM_BLOCK=Vn,KTXParse.VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT=di,KTXParse.VK_FORMAT_ASTC_8x8_SRGB_BLOCK=Pn,KTXParse.VK_FORMAT_ASTC_8x8_UNORM_BLOCK=Fn,KTXParse.VK_FORMAT_B10G11R11_UFLOAT_PACK32=Me,KTXParse.VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16=$n,KTXParse.VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16=si,KTXParse.VK_FORMAT_B4G4R4A4_UNORM_PACK16=at,KTXParse.VK_FORMAT_B5G5R5A1_UNORM_PACK16=ft,KTXParse.VK_FORMAT_B5G6R5_UNORM_PACK16=ot,KTXParse.VK_FORMAT_B8G8R8A8_SINT=Mt,KTXParse.VK_FORMAT_B8G8R8A8_SNORM=Ct,KTXParse.VK_FORMAT_B8G8R8A8_SRGB=Wt,KTXParse.VK_FORMAT_B8G8R8A8_UINT=zt,KTXParse.VK_FORMAT_B8G8R8A8_UNORM=Pt,KTXParse.VK_FORMAT_B8G8R8_SINT=St,KTXParse.VK_FORMAT_B8G8R8_SNORM=kt,KTXParse.VK_FORMAT_B8G8R8_SRGB=It,KTXParse.VK_FORMAT_B8G8R8_UINT=vt,KTXParse.VK_FORMAT_B8G8R8_UNORM=At,KTXParse.VK_FORMAT_BC1_RGBA_SRGB_BLOCK=Qe,KTXParse.VK_FORMAT_BC1_RGBA_UNORM_BLOCK=Je,KTXParse.VK_FORMAT_BC1_RGB_SRGB_BLOCK=Ge,KTXParse.VK_FORMAT_BC1_RGB_UNORM_BLOCK=qe,KTXParse.VK_FORMAT_BC2_SRGB_BLOCK=$e,KTXParse.VK_FORMAT_BC2_UNORM_BLOCK=Ze,KTXParse.VK_FORMAT_BC3_SRGB_BLOCK=en,KTXParse.VK_FORMAT_BC3_UNORM_BLOCK=tn,KTXParse.VK_FORMAT_BC4_SNORM_BLOCK=sn,KTXParse.VK_FORMAT_BC4_UNORM_BLOCK=nn,KTXParse.VK_FORMAT_BC5_SNORM_BLOCK=rn,KTXParse.VK_FORMAT_BC5_UNORM_BLOCK=an,KTXParse.VK_FORMAT_BC6H_SFLOAT_BLOCK=ln,KTXParse.VK_FORMAT_BC6H_UFLOAT_BLOCK=on,KTXParse.VK_FORMAT_BC7_SRGB_BLOCK=Un,KTXParse.VK_FORMAT_BC7_UNORM_BLOCK=fn,KTXParse.VK_FORMAT_D16_UNORM=Ne,KTXParse.VK_FORMAT_D16_UNORM_S8_UINT=je,KTXParse.VK_FORMAT_D24_UNORM_S8_UINT=Re,KTXParse.VK_FORMAT_D32_SFLOAT=Ke,KTXParse.VK_FORMAT_D32_SFLOAT_S8_UINT=Ye,KTXParse.VK_FORMAT_E5B9G9R9_UFLOAT_PACK32=We,KTXParse.VK_FORMAT_EAC_R11G11_SNORM_BLOCK=dn,KTXParse.VK_FORMAT_EAC_R11G11_UNORM_BLOCK=bn,KTXParse.VK_FORMAT_EAC_R11_SNORM_BLOCK=un,KTXParse.VK_FORMAT_EAC_R11_UNORM_BLOCK=xn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK=pn,KTXParse.VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK=_n,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK=yn,KTXParse.VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK=gn,KTXParse.VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK=hn,KTXParse.VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK=cn,KTXParse.VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16=Zn,KTXParse.VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16=ii,KTXParse.VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG=fi,KTXParse.VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG=ai,KTXParse.VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG=Ui,KTXParse.VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG=ri,KTXParse.VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG=ci,KTXParse.VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG=oi,KTXParse.VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG=hi,KTXParse.VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG=li,KTXParse.VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16=Qn,KTXParse.VK_FORMAT_R10X6G10X6_UNORM_2PACK16=Jn,KTXParse.VK_FORMAT_R10X6_UNORM_PACK16=Gn,KTXParse.VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16=ni,KTXParse.VK_FORMAT_R12X4G12X4_UNORM_2PACK16=ei,KTXParse.VK_FORMAT_R12X4_UNORM_PACK16=ti,KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT=pe,KTXParse.VK_FORMAT_R16G16B16A16_SINT=_e,KTXParse.VK_FORMAT_R16G16B16A16_SNORM=ce,KTXParse.VK_FORMAT_R16G16B16A16_UINT=he,KTXParse.VK_FORMAT_R16G16B16A16_UNORM=Ue,KTXParse.VK_FORMAT_R16G16B16_SFLOAT=fe,KTXParse.VK_FORMAT_R16G16B16_SINT=le,KTXParse.VK_FORMAT_R16G16B16_SNORM=re,KTXParse.VK_FORMAT_R16G16B16_UINT=oe,KTXParse.VK_FORMAT_R16G16B16_UNORM=ae,KTXParse.VK_FORMAT_R16G16_SFLOAT=se,KTXParse.VK_FORMAT_R16G16_SINT=ie,KTXParse.VK_FORMAT_R16G16_SNORM=ee,KTXParse.VK_FORMAT_R16G16_UINT=ne,KTXParse.VK_FORMAT_R16G16_UNORM=te,KTXParse.VK_FORMAT_R16_SFLOAT=$t,KTXParse.VK_FORMAT_R16_SINT=Zt,KTXParse.VK_FORMAT_R16_SNORM=Jt,KTXParse.VK_FORMAT_R16_UINT=Qt,KTXParse.VK_FORMAT_R16_UNORM=Gt,KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT=Ae,KTXParse.VK_FORMAT_R32G32B32A32_SINT=Le,KTXParse.VK_FORMAT_R32G32B32A32_UINT=Be,KTXParse.VK_FORMAT_R32G32B32_SFLOAT=De,KTXParse.VK_FORMAT_R32G32B32_SINT=we,KTXParse.VK_FORMAT_R32G32B32_UINT=me,KTXParse.VK_FORMAT_R32G32_SFLOAT=de,KTXParse.VK_FORMAT_R32G32_SINT=be,KTXParse.VK_FORMAT_R32G32_UINT=ue,KTXParse.VK_FORMAT_R32_SFLOAT=xe,KTXParse.VK_FORMAT_R32_SINT=ye,KTXParse.VK_FORMAT_R32_UINT=ge,KTXParse.VK_FORMAT_R4G4B4A4_UNORM_PACK16=st,KTXParse.VK_FORMAT_R4G4_UNORM_PACK8=it,KTXParse.VK_FORMAT_R5G5B5A1_UNORM_PACK16=lt,KTXParse.VK_FORMAT_R5G6B5_UNORM_PACK16=rt,KTXParse.VK_FORMAT_R64G64B64A64_SFLOAT=ze,KTXParse.VK_FORMAT_R64G64B64A64_SINT=Ce,KTXParse.VK_FORMAT_R64G64B64A64_UINT=Pe,KTXParse.VK_FORMAT_R64G64B64_SFLOAT=Fe,KTXParse.VK_FORMAT_R64G64B64_SINT=Ee,KTXParse.VK_FORMAT_R64G64B64_UINT=Ve,KTXParse.VK_FORMAT_R64G64_SFLOAT=Te,KTXParse.VK_FORMAT_R64G64_SINT=Oe,KTXParse.VK_FORMAT_R64G64_UINT=Ie,KTXParse.VK_FORMAT_R64_SFLOAT=Se,KTXParse.VK_FORMAT_R64_SINT=ve,KTXParse.VK_FORMAT_R64_UINT=ke,KTXParse.VK_FORMAT_R8G8B8A8_SINT=Et,KTXParse.VK_FORMAT_R8G8B8A8_SNORM=Tt,KTXParse.VK_FORMAT_R8G8B8A8_SRGB=Ft,KTXParse.VK_FORMAT_R8G8B8A8_UINT=Vt,KTXParse.VK_FORMAT_R8G8B8A8_UNORM=Ot,KTXParse.VK_FORMAT_R8G8B8_SINT=Bt,KTXParse.VK_FORMAT_R8G8B8_SNORM=wt,KTXParse.VK_FORMAT_R8G8B8_SRGB=Lt,KTXParse.VK_FORMAT_R8G8B8_UINT=Dt,KTXParse.VK_FORMAT_R8G8B8_UNORM=mt,KTXParse.VK_FORMAT_R8G8_SINT=bt,KTXParse.VK_FORMAT_R8G8_SNORM=xt,KTXParse.VK_FORMAT_R8G8_SRGB=dt,KTXParse.VK_FORMAT_R8G8_UINT=ut,KTXParse.VK_FORMAT_R8G8_UNORM=yt,KTXParse.VK_FORMAT_R8_SINT=pt,KTXParse.VK_FORMAT_R8_SNORM=ht,KTXParse.VK_FORMAT_R8_SRGB=gt,KTXParse.VK_FORMAT_R8_UINT=_t,KTXParse.VK_FORMAT_R8_UNORM=ct,KTXParse.VK_FORMAT_S8_UINT=Xe,KTXParse.VK_FORMAT_UNDEFINED=nt,KTXParse.VK_FORMAT_X8_D24_UNORM_PACK32=He,KTXParse.read=Pi,KTXParse.write=Mi})();(function(){var CompressedTexture=THREE.CompressedTexture,Data3DTexture=THREE.Data3DTexture,DataTexture=THREE.DataTexture,FileLoader=THREE.FileLoader,FloatType=THREE.FloatType,HalfFloatType=THREE.HalfFloatType,LinearEncoding=THREE.LinearEncoding,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,Loader=THREE.Loader,RedFormat=THREE.RedFormat,RGB_ETC1_Format=THREE.RGB_ETC1_Format,RGB_ETC2_Format=THREE.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format=THREE.RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format=THREE.RGB_S3TC_DXT1_Format,RGBA_ASTC_4x4_Format=THREE.RGBA_ASTC_4x4_Format,RGBA_BPTC_Format=THREE.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format=THREE.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format=THREE.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format=THREE.RGBA_S3TC_DXT5_Format,RGBAFormat=THREE.RGBAFormat,RGFormat=THREE.RGFormat,sRGBEncoding=THREE.sRGBEncoding,UnsignedByteType=THREE.UnsignedByteType,WorkerPool=THREE.WorkerPool;var read=THREE.KTXParse.read,KHR_DF_FLAG_ALPHA_PREMULTIPLIED=THREE.KTXParse.KHR_DF_FLAG_ALPHA_PREMULTIPLIED,KHR_DF_TRANSFER_SRGB=THREE.KTXParse.KHR_DF_TRANSFER_SRGB,KHR_SUPERCOMPRESSION_NONE=THREE.KTXParse.KHR_SUPERCOMPRESSION_NONE,KHR_SUPERCOMPRESSION_ZSTD=THREE.KTXParse.KHR_SUPERCOMPRESSION_ZSTD,VK_FORMAT_UNDEFINED=THREE.KTXParse.VK_FORMAT_UNDEFINED,VK_FORMAT_R16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16_SFLOAT,VK_FORMAT_R16G16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16_SFLOAT,VK_FORMAT_R16G16B16A16_SFLOAT=THREE.KTXParse.VK_FORMAT_R16G16B16A16_SFLOAT,VK_FORMAT_R32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32_SFLOAT,VK_FORMAT_R32G32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32_SFLOAT,VK_FORMAT_R32G32B32A32_SFLOAT=THREE.KTXParse.VK_FORMAT_R32G32B32A32_SFLOAT,VK_FORMAT_R8_SRGB=THREE.KTXParse.VK_FORMAT_R8_SRGB,VK_FORMAT_R8_UNORM=THREE.KTXParse.VK_FORMAT_R8_UNORM,VK_FORMAT_R8G8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8_SRGB,VK_FORMAT_R8G8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8_UNORM,VK_FORMAT_R8G8B8A8_SRGB=THREE.KTXParse.VK_FORMAT_R8G8B8A8_SRGB,VK_FORMAT_R8G8B8A8_UNORM=THREE.KTXParse.VK_FORMAT_R8G8B8A8_UNORM;var ZSTDDecoder=THREE.ZSTDDecoder;const _taskCache=new WeakMap;let _activeLoaders=0;let _zstd;class KTX2Loader extends Loader{constructor(manager){super(manager);this.transcoderPath="";this.transcoderBinary=null;this.transcoderPending=null;this.workerPool=new WorkerPool;this.workerSourceURL="";this.workerConfig=null;if(typeof MSC_TRANSCODER!=="undefined"){console.warn("THREE.KTX2Loader: Please update to latest \"basis_transcoder\"."+" \"msc_basis_transcoder\" is no longer supported in three.js r125+.")}}setTranscoderPath(path){this.transcoderPath=path;return this}setWorkerLimit(num){this.workerPool.setWorkerLimit(num);return this}detectSupport(renderer){this.workerConfig={astcSupported:renderer.extensions.has("WEBGL_compressed_texture_astc"),etc1Supported:renderer.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:renderer.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:renderer.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:renderer.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:renderer.extensions.has("WEBGL_compressed_texture_pvrtc")||renderer.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")};if(renderer.capabilities.isWebGL2){this.workerConfig.etc1Supported=false}return this}init(){if(!this.transcoderPending){const jsLoader=new FileLoader(this.manager);jsLoader.setPath(this.transcoderPath);jsLoader.setWithCredentials(this.withCredentials);const jsContent=jsLoader.loadAsync("basis_transcoder.js");const binaryLoader=new FileLoader(this.manager);binaryLoader.setPath(this.transcoderPath);binaryLoader.setResponseType("arraybuffer");binaryLoader.setWithCredentials(this.withCredentials);const binaryContent=binaryLoader.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([jsContent,binaryContent]).then(([jsContent,binaryContent])=>{const fn=KTX2Loader.BasisWorker.toString();const body=["/* constants */","let _EngineFormat = "+JSON.stringify(KTX2Loader.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(KTX2Loader.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(KTX2Loader.BasisFormat),"/* basis_transcoder.js */",jsContent,"/* worker */",fn.substring(fn.indexOf("{")+1,fn.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([body]));this.transcoderBinary=binaryContent;this.workerPool.setWorkerCreator(()=>{const worker=new Worker(this.workerSourceURL);const transcoderBinary=this.transcoderBinary.slice(0);worker.postMessage({type:"init",config:this.workerConfig,transcoderBinary},[transcoderBinary]);return worker})});if(_activeLoaders>0){console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues."+" Use a single KTX2Loader instance, or call .dispose() on old instances.")}_activeLoaders++}return this.transcoderPending}load(url,onLoad,onProgress,onError){if(this.workerConfig===null){throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.")}const loader=new FileLoader(this.manager);loader.setResponseType("arraybuffer");loader.setWithCredentials(this.withCredentials);loader.load(url,buffer=>{if(_taskCache.has(buffer)){const cachedTask=_taskCache.get(buffer);return cachedTask.promise.then(onLoad).catch(onError)}this._createTexture(buffer).then(texture=>onLoad?onLoad(texture):null).catch(onError)},onProgress,onError)}_createTextureFrom(transcodeResult){const{mipmaps,width,height,format,type,error,dfdTransferFn,dfdFlags}=transcodeResult;if(type==="error")return Promise.reject(error);const texture=new CompressedTexture(mipmaps,width,height,format,UnsignedByteType);texture.minFilter=mipmaps.length===1?LinearFilter:LinearMipmapLinearFilter;texture.magFilter=LinearFilter;texture.generateMipmaps=false;texture.needsUpdate=true;texture.encoding=dfdTransferFn===KHR_DF_TRANSFER_SRGB?sRGBEncoding:LinearEncoding;texture.premultiplyAlpha=!!(dfdFlags&KHR_DF_FLAG_ALPHA_PREMULTIPLIED);return texture}_createTexture(buffer,config={}){const container=read(new Uint8Array(buffer));if(container.vkFormat!==VK_FORMAT_UNDEFINED){return createDataTexture(container)}const taskConfig=config;const texturePending=this.init().then(()=>{return this.workerPool.postMessage({type:"transcode",buffer,taskConfig:taskConfig},[buffer])}).then(e=>this._createTextureFrom(e.data));_taskCache.set(buffer,{promise:texturePending});return texturePending}dispose(){this.workerPool.dispose();if(this.workerSourceURL)URL.revokeObjectURL(this.workerSourceURL);_activeLoaders--;return this}}KTX2Loader.BasisFormat={ETC1S:0,UASTC_4x4:1};KTX2Loader.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16};KTX2Loader.EngineFormat={RGBAFormat:RGBAFormat,RGBA_ASTC_4x4_Format:RGBA_ASTC_4x4_Format,RGBA_BPTC_Format:RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:RGB_ETC1_Format,RGB_ETC2_Format:RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:RGB_PVRTC_4BPPV1_Format,RGB_S3TC_DXT1_Format:RGB_S3TC_DXT1_Format};KTX2Loader.BasisWorker=function(){let config;let transcoderPending;let BasisModule;const EngineFormat=_EngineFormat;const TranscoderFormat=_TranscoderFormat;const BasisFormat=_BasisFormat;self.addEventListener("message",function(e){const message=e.data;switch(message.type){case"init":config=message.config;init(message.transcoderBinary);break;case"transcode":transcoderPending.then(()=>{try{const{width,height,hasAlpha,mipmaps,format,dfdTransferFn,dfdFlags}=transcode(message.buffer);const buffers=[];for(let i=0;i{BasisModule={wasmBinary,onRuntimeInitialized:resolve};BASIS(BasisModule)}).then(()=>{BasisModule.initializeBasis();if(BasisModule.KTX2File===undefined){console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")}})}function transcode(buffer){const ktx2File=new BasisModule.KTX2File(new Uint8Array(buffer));function cleanup(){ktx2File.close();ktx2File.delete()}if(!ktx2File.isValid()){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid or unsupported .ktx2 file")}const basisFormat=ktx2File.isUASTC()?BasisFormat.UASTC_4x4:BasisFormat.ETC1S;const width=ktx2File.getWidth();const height=ktx2File.getHeight();const levels=ktx2File.getLevels();const hasAlpha=ktx2File.getHasAlpha();const dfdTransferFn=ktx2File.getDFDTransferFunc();const dfdFlags=ktx2File.getDFDFlags();const{transcoderFormat,engineFormat}=getTranscoderFormat(basisFormat,width,height,hasAlpha);if(!width||!height||!levels){cleanup();throw new Error("THREE.KTX2Loader:\tInvalid texture")}if(!ktx2File.startTranscoding()){cleanup();throw new Error("THREE.KTX2Loader: .startTranscoding failed")}const mipmaps=[];for(let mip=0;mip{const zstd=new ZSTDDecoder;await zstd.init();resolve(zstd)})}levelData=(await _zstd).decode(level.levelData,level.uncompressedByteLength)}else{throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.")}if(TYPE_MAP[vkFormat]===FloatType){view=new Float32Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Float32Array.BYTES_PER_ELEMENT)}else if(TYPE_MAP[vkFormat]===HalfFloatType){view=new Uint16Array(levelData.buffer,levelData.byteOffset,levelData.byteLength/Uint16Array.BYTES_PER_ELEMENT)}else{view=levelData}const texture=pixelDepth===0?new DataTexture(view,pixelWidth,pixelHeight):new Data3DTexture(view,pixelWidth,pixelHeight,pixelDepth);texture.type=TYPE_MAP[vkFormat];texture.format=FORMAT_MAP[vkFormat];texture.encoding=ENCODING_MAP[vkFormat]||LinearEncoding;texture.needsUpdate=true;return Promise.resolve(texture)}THREE.KTX2Loader=KTX2Loader})();(function(){let A,I,B;const g={env:{emscripten_notify_memory_growth:function(A){B=new Uint8Array(I.exports.memory.buffer)}}};class Q{init(){return A||(A="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+C).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,g)).then(this._init):WebAssembly.instantiate(Buffer.from(C,"base64"),g).then(this._init),A)}_init(A){I=A.instance,g.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!I)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Q=A.byteLength,C=I.exports.malloc(Q);B.set(A,C),g=g||Number(I.exports.ZSTD_findDecompressedSize(C,Q));const E=I.exports.malloc(g),i=I.exports.ZSTD_decompress(E,g,C,Q),D=B.slice(E,E+i);return I.exports.free(C),I.exports.free(E),D}}const C="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";THREE.ZSTDDecoder=Q})();(function(e){var modifiedJSON={};modifiedJSON.parse=function(data){json=JSON.parse(data);json.nodes&&json.nodes.forEach((node,index)=>{(node.extras||(node.extras={})).id=index.toString()});return json};e(modifiedJSON)})(function(JSON){(function(){var AnimationClip=THREE.AnimationClip,Bone=THREE.Bone,Box3=THREE.Box3,BufferAttribute=THREE.BufferAttribute,BufferGeometry=THREE.BufferGeometry,ClampToEdgeWrapping=THREE.ClampToEdgeWrapping,Color=THREE.Color,DirectionalLight=THREE.DirectionalLight,DoubleSide=THREE.DoubleSide,FileLoader=THREE.FileLoader,FrontSide=THREE.FrontSide,Group=THREE.Group,ImageBitmapLoader=THREE.ImageBitmapLoader,InterleavedBuffer=THREE.InterleavedBuffer,InterleavedBufferAttribute=THREE.InterleavedBufferAttribute,Interpolant=THREE.Interpolant,InterpolateDiscrete=THREE.InterpolateDiscrete,InterpolateLinear=THREE.InterpolateLinear,Line=THREE.Line,LineBasicMaterial=THREE.LineBasicMaterial,LineLoop=THREE.LineLoop,LineSegments=THREE.LineSegments,LinearFilter=THREE.LinearFilter,LinearMipmapLinearFilter=THREE.LinearMipmapLinearFilter,LinearMipmapNearestFilter=THREE.LinearMipmapNearestFilter,Loader=THREE.Loader,LoaderUtils=THREE.LoaderUtils,Material=THREE.Material,MathUtils=THREE.MathUtils,Matrix4=THREE.Matrix4,Mesh=THREE.Mesh,MeshBasicMaterial=THREE.MeshBasicMaterial,MeshPhysicalMaterial=THREE.MeshPhysicalMaterial,MeshStandardMaterial=THREE.MeshStandardMaterial,MirroredRepeatWrapping=THREE.MirroredRepeatWrapping,NearestFilter=THREE.NearestFilter,NearestMipmapLinearFilter=THREE.NearestMipmapLinearFilter,NearestMipmapNearestFilter=THREE.NearestMipmapNearestFilter,NumberKeyframeTrack=THREE.NumberKeyframeTrack,Object3D=THREE.Object3D,OrthographicCamera=THREE.OrthographicCamera,PerspectiveCamera=THREE.PerspectiveCamera,PointLight=THREE.PointLight,Points=THREE.Points,PointsMaterial=THREE.PointsMaterial,PropertyBinding=THREE.PropertyBinding,Quaternion=THREE.Quaternion,QuaternionKeyframeTrack=THREE.QuaternionKeyframeTrack,RepeatWrapping=THREE.RepeatWrapping,Skeleton=THREE.Skeleton,SkinnedMesh=THREE.SkinnedMesh,Sphere=THREE.Sphere,SpotLight=THREE.SpotLight,TangentSpaceNormalMap=THREE.TangentSpaceNormalMap,Texture=THREE.Texture,TextureLoader=THREE.TextureLoader,TriangleFanDrawMode=THREE.TriangleFanDrawMode,TriangleStripDrawMode=THREE.TriangleStripDrawMode,Vector2=THREE.Vector2,Vector3=THREE.Vector3,VectorKeyframeTrack=THREE.VectorKeyframeTrack,sRGBEncoding=THREE.sRGBEncoding;class GLTFLoader extends Loader{constructor(manager){super(manager);this.dracoLoader=null;this.ktx2Loader=null;this.meshoptDecoder=null;this.pluginCallbacks=[];this.register(function(parser){return new GLTFMaterialsClearcoatExtension(parser)});this.register(function(parser){return new GLTFTextureBasisUExtension(parser)});this.register(function(parser){return new GLTFTextureWebPExtension(parser)});this.register(function(parser){return new GLTFMaterialsSheenExtension(parser)});this.register(function(parser){return new GLTFMaterialsTransmissionExtension(parser)});this.register(function(parser){return new GLTFMaterialsVolumeExtension(parser)});this.register(function(parser){return new GLTFMaterialsIorExtension(parser)});this.register(function(parser){return new GLTFMaterialsEmissiveStrengthExtension(parser)});this.register(function(parser){return new GLTFMaterialsSpecularExtension(parser)});this.register(function(parser){return new GLTFMaterialsIridescenceExtension(parser)});this.register(function(parser){return new GLTFLightsExtension(parser)});this.register(function(parser){return new GLTFMeshoptCompression(parser)})}load(url,onLoad,onProgress,onError){const scope=this;let resourcePath;if(this.resourcePath!==""){resourcePath=this.resourcePath}else if(this.path!==""){resourcePath=this.path}else{resourcePath=LoaderUtils.extractUrlBase(url)}this.manager.itemStart(url);const _onError=function(e){if(onError){onError(e)}else{console.error(e)}scope.manager.itemError(url);scope.manager.itemEnd(url)};const loader=new FileLoader(this.manager);loader.setPath(this.path);loader.setResponseType("arraybuffer");loader.setRequestHeader(this.requestHeader);loader.setWithCredentials(this.withCredentials);loader.load(url,function(data){try{scope.parse(data,resourcePath,function(gltf){onLoad(gltf);scope.manager.itemEnd(url)},_onError)}catch(e){_onError(e)}},onProgress,_onError)}setDRACOLoader(dracoLoader){this.dracoLoader=dracoLoader;return this}setDDSLoader(){throw new Error("THREE.GLTFLoader: \"MSFT_texture_dds\" no longer supported. Please update to \"KHR_texture_basisu\".")}setKTX2Loader(ktx2Loader){this.ktx2Loader=ktx2Loader;return this}setMeshoptDecoder(meshoptDecoder){this.meshoptDecoder=meshoptDecoder;return this}register(callback){if(this.pluginCallbacks.indexOf(callback)===-1){this.pluginCallbacks.push(callback)}return this}unregister(callback){if(this.pluginCallbacks.indexOf(callback)!==-1){this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(callback),1)}return this}parse(data,path,onLoad,onError){let content;const extensions={};const plugins={};if(typeof data==="string"){content=data}else{const magic=LoaderUtils.decodeText(new Uint8Array(data,0,4));if(magic===BINARY_EXTENSION_HEADER_MAGIC){try{extensions[EXTENSIONS.KHR_BINARY_GLTF]=new GLTFBinaryExtension(data)}catch(error){if(onError)onError(error);return}content=extensions[EXTENSIONS.KHR_BINARY_GLTF].content}else{content=LoaderUtils.decodeText(new Uint8Array(data))}}const json=JSON.parse(content);if(json.asset===undefined||json.asset.version[0]<2){if(onError)onError(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=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)}parseAsync(data,path){const scope=this;return new Promise(function(resolve,reject){scope.parse(data,path,resolve,reject)})}}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_IRIDESCENCE:"KHR_materials_iridescence",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",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",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,extension.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,extension.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 buffer.then(function(res){const byteOffset=extensionDef.byteOffset||0;const byteLength=extensionDef.byteLength||0;const count=extensionDef.count;const stride=extensionDef.byteStride;const source=new Uint8Array(res,byteOffset,byteLength);if(decoder.decodeGltfBufferAsync){return decoder.decodeGltfBufferAsync(count,stride,source,extensionDef.mode,extensionDef.filter).then(function(res){return res.buffer})}else{return decoder.ready.then(function(){const result=new ArrayBuffer(count*stride);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"]}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,sRGBEncoding))}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,sRGBEncoding))}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=materialParams.emissiveIntensity===undefined?1:materialParams.emissiveIntensity;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;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}interpolate_(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;let hasMorphColor=false;for(let i=0,il=targets.length;i0||uri.search(/^data\:image\/jpeg/)===0)return"image/jpeg";if(uri.search(/\.webp($|\?)/i)>0||uri.search(/^data\:image\/webp/)===0)return"image/webp";return"image/png"}class GLTFParser{constructor(json={},options={}){this.json=json;this.extensions={};this.plugins={};this.options=options;this.cache=new GLTFRegistry;this.associations=new Map;this.primitiveCache={};this.meshCache={refs:{},uses:{}};this.cameraCache={refs:{},uses:{}};this.lightCache={refs:{},uses:{}};this.sourceCache={};this.textureCache={};this.nodeNamesUsed={};const isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===true;const isFirefox=navigator.userAgent.indexOf("Firefox")>-1;const firefoxVersion=isFirefox?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1;if(typeof createImageBitmap==="undefined"||isSafari||isFirefox&&firefoxVersion<98){this.textureLoader=new TextureLoader(this.options.manager)}else{this.textureLoader=new ImageBitmapLoader(this.options.manager)}this.textureLoader.setCrossOrigin(this.options.crossOrigin);this.textureLoader.setRequestHeader(this.options.requestHeader);this.fileLoader=new FileLoader(this.options.manager);this.fileLoader.setResponseType("arraybuffer");if(this.options.crossOrigin==="use-credentials"){this.fileLoader.setWithCredentials(true)}}setExtensions(extensions){this.extensions=extensions}setPlugins(plugins){this.plugins=plugins}parse(onLoad,onError){const parser=this;const json=this.json;const extensions=this.extensions;this.cache.removeAll();this._invokeAll(function(ext){return ext._markDefs&&ext._markDefs()});Promise.all(this._invokeAll(function(ext){return ext.beforeRoot&&ext.beforeRoot()})).then(function(){return Promise.all([parser.getDependencies("scene"),parser.getDependencies("animation"),parser.getDependencies("camera")])}).then(function(dependencies){const result={scene:dependencies[0][json.scene||0],scenes:dependencies[0],animations:dependencies[1],cameras:dependencies[2],asset:json.asset,parser:parser,userData:{}};addUnknownExtensionsToUserData(extensions,result,json);assignExtrasToUserData(result,json);Promise.all(parser._invokeAll(function(ext){return ext.afterRoot&&ext.afterRoot(result)})).then(function(){onLoad(result)})}).catch(onError)}_markDefs(){const nodeDefs=this.json.nodes||[];const skinDefs=this.json.skins||[];const meshDefs=this.json.meshes||[];for(let skinIndex=0,skinLength=skinDefs.length;skinIndex{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 sourceIndex=textureDef.source;const sourceDef=json.images[sourceIndex];let loader=this.textureLoader;if(sourceDef.uri){const handler=options.manager.getHandler(sourceDef.uri);if(handler!==null)loader=handler}return this.loadTextureImage(textureIndex,sourceIndex,loader)}loadTextureImage(textureIndex,sourceIndex,loader){const parser=this;const json=this.json;const textureDef=json.textures[textureIndex];const sourceDef=json.images[sourceIndex];const cacheKey=(sourceDef.uri||sourceDef.bufferView)+":"+textureDef.sampler;if(this.textureCache[cacheKey]){return this.textureCache[cacheKey]}const promise=this.loadImageSource(sourceIndex,loader).then(function(texture){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(){return null});this.textureCache[cacheKey]=promise;return promise}loadImageSource(sourceIndex,loader){const parser=this;const json=this.json;const options=this.options;if(this.sourceCache[sourceIndex]!==undefined){return this.sourceCache[sourceIndex].then(texture=>texture.clone())}const sourceDef=json.images[sourceIndex];const URL=self.URL||self.webkitURL;let sourceURI=sourceDef.uri||"";let isObjectURL=false;if(sourceDef.bufferView!==undefined){sourceURI=parser.getDependency("bufferView",sourceDef.bufferView).then(function(bufferView){isObjectURL=true;const blob=new Blob([bufferView],{type:sourceDef.mimeType});sourceURI=URL.createObjectURL(blob);return sourceURI})}else if(sourceDef.uri===undefined){throw new Error("THREE.GLTFLoader: Image "+sourceIndex+" 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.userData.mimeType=sourceDef.mimeType||getImageURIMimeType(sourceDef.uri);return texture}).catch(function(error){console.error("THREE.GLTFLoader: Couldn't load texture",sourceURI);throw error});this.sourceCache[sourceIndex]=promise;return promise}assignTexture(materialParams,mapName,mapDef,encoding){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)}}if(encoding!==undefined){texture.encoding=encoding}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,sRGBEncoding))}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.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,sRGBEncoding))}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;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.matrixWorldAutoUpdate===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;index0){this._blur(cubeUVRenderTarget,0,0,sigma)}this._applyPMREM(cubeUVRenderTarget);this._cleanup(cubeUVRenderTarget);return cubeUVRenderTarget}fromEquirectangular(equirectangular,renderTarget=null){return this._fromTexture(equirectangular,renderTarget)}fromCubemap(cubemap,renderTarget=null){return this._fromTexture(cubemap,renderTarget)}compileCubemapShader(){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial();this._compileMaterial(this._cubemapMaterial)}}compileEquirectangularShader(){if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial();this._compileMaterial(this._equirectMaterial)}}dispose(){this._dispose();if(this._cubemapMaterial!==null)this._cubemapMaterial.dispose();if(this._equirectMaterial!==null)this._equirectMaterial.dispose()}_setSize(cubeSize){this._lodMax=Math.floor(Math.log2(cubeSize));this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){if(this._blurMaterial!==null)this._blurMaterial.dispose();if(this._pingPongRenderTarget!==null)this._pingPongRenderTarget.dispose();for(let i=0;i2?size:0,size,size);renderer.setRenderTarget(cubeUVRenderTarget);if(useSolidColor){renderer.render(backgroundBox,cubeCamera)}renderer.render(scene,cubeCamera)}backgroundBox.geometry.dispose();backgroundBox.material.dispose();renderer.toneMapping=toneMapping;renderer.autoClear=originalAutoClear;scene.background=background}_textureToCubeUV(texture,cubeUVRenderTarget){const renderer=this._renderer;const isCubeTexture=texture.mapping===CubeReflectionMapping||texture.mapping===CubeRefractionMapping;if(isCubeTexture){if(this._cubemapMaterial===null){this._cubemapMaterial=_getCubemapMaterial()}this._cubemapMaterial.uniforms.flipEnvMap.value=texture.isRenderTargetTexture===false?-1:1}else{if(this._equirectMaterial===null){this._equirectMaterial=_getEquirectMaterial()}}const material=isCubeTexture?this._cubemapMaterial:this._equirectMaterial;const mesh=new Mesh(this._lodPlanes[0],material);const uniforms=material.uniforms;uniforms["envMap"].value=texture;const size=this._cubeSize;_setViewport(cubeUVRenderTarget,0,0,3*size,2*size);renderer.setRenderTarget(cubeUVRenderTarget);renderer.render(mesh,_flatCamera)}_applyPMREM(cubeUVRenderTarget){const renderer=this._renderer;const autoClear=renderer.autoClear;renderer.autoClear=false;for(let i=1;iMAX_SAMPLES){console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`)}const weights=[];let sum=0;for(let i=0;i_lodMax-LOD_MIN?lodOut-_lodMax+LOD_MIN:0);const y=4*(this._cubeSize-outputSize);_setViewport(targetOut,x,y,3*outputSize,2*outputSize);renderer.setRenderTarget(targetOut);renderer.render(blurMesh,_flatCamera)}}function _createPlanes(lodMax){const lodPlanes=[];const sizeLods=[];const sigmas=[];let lod=lodMax;const totalLods=lodMax-LOD_MIN+1+EXTRA_LOD_SIGMA.length;for(let i=0;ilodMax-LOD_MIN){sigma=EXTRA_LOD_SIGMA[i-lodMax+LOD_MIN-1]}else if(i===0){sigma=0}sigmas.push(sigma);const texelSize=1/(sizeLod-2);const min=-texelSize;const max=1+texelSize;const uv1=[min,min,max,min,max,max,min,min,max,max,min,max];const cubeFaces=6;const vertices=6;const positionSize=3;const uvSize=2;const faceIndexSize=1;const position=new Float32Array(positionSize*vertices*cubeFaces);const uv=new Float32Array(uvSize*vertices*cubeFaces);const faceIndex=new Float32Array(faceIndexSize*vertices*cubeFaces);for(let face=0;face2?0:-1;const coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face);uv.set(uv1,uvSize*vertices*face);const fill=[face,face,face,face,face,face];faceIndex.set(fill,faceIndexSize*vertices*face)}const planes=new BufferGeometry;planes.setAttribute("position",new BufferAttribute(position,positionSize));planes.setAttribute("uv",new BufferAttribute(uv,uvSize));planes.setAttribute("faceIndex",new BufferAttribute(faceIndex,faceIndexSize));lodPlanes.push(planes);if(lod>LOD_MIN){lod--}}return{lodPlanes,sizeLods,sigmas}}function _createRenderTarget(width,height,params){const cubeUVRenderTarget=new WebGLRenderTarget(width,height,params);cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping;cubeUVRenderTarget.texture.name="PMREM.cubeUv";cubeUVRenderTarget.scissorTest=true;return cubeUVRenderTarget}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height);target.scissor.set(x,y,width,height)}function _getBlurShader(lodMax,width,height){const weights=new Float32Array(MAX_SAMPLES);const poleAxis=new Vector3(0,1,0);const shaderMaterial=new ShaderMaterial({name:"SphericalGaussianBlur",defines:{"n":MAX_SAMPLES,"CUBEUV_TEXEL_WIDTH":1/width,"CUBEUV_TEXEL_HEIGHT":1/height,"CUBEUV_MAX_MIP":`${lodMax}.0`},uniforms:{"envMap":{value:null},"samples":{value:1},"weights":{value:weights},"latitudinal":{value:false},"dTheta":{value:0},"mipInt":{value:0},"poleAxis":{value:poleAxis}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; uniform int samples; uniform float weights[ n ]; uniform bool latitudinal; uniform float dTheta; uniform float mipInt; uniform vec3 poleAxis; #define ENVMAP_TYPE_CUBE_UV #include vec3 getSample( float theta, vec3 axis ) { float cosTheta = cos( theta ); // Rodrigues' axis-angle rotation vec3 sampleDirection = vOutputDirection * cosTheta + cross( axis, vOutputDirection ) * sin( theta ) + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); return bilinearCubeUV( envMap, sampleDirection, mipInt ); } void main() { vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); if ( all( equal( axis, vec3( 0.0 ) ) ) ) { axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); } axis = normalize( axis ); gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); for ( int i = 1; i < n; i++ ) { if ( i >= samples ) { break; } float theta = dTheta * float( i ); gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); } } `,blending:NoBlending,depthTest:false,depthWrite:false});return shaderMaterial}function _getEquirectMaterial(){return new ShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{"envMap":{value:null}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; varying vec3 vOutputDirection; uniform sampler2D envMap; #include void main() { vec3 outputDirection = normalize( vOutputDirection ); vec2 uv = equirectUv( outputDirection ); gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); } `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCubemapMaterial(){return new ShaderMaterial({name:"CubemapToCubeUV",uniforms:{"envMap":{value:null},"flipEnvMap":{value:-1}},vertexShader:_getCommonVertexShader(),fragmentShader:` precision mediump float; precision mediump int; uniform float flipEnvMap; varying vec3 vOutputDirection; uniform samplerCube envMap; void main() { gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); } `,blending:NoBlending,depthTest:false,depthWrite:false})}function _getCommonVertexShader(){return` precision mediump float; precision mediump int; attribute float faceIndex; varying vec3 vOutputDirection; // RH coordinate system; PMREM face-indexing convention vec3 getDirection( vec2 uv, float face ) { uv = 2.0 * uv - 1.0; vec3 direction = vec3( uv, 1.0 ); if ( face == 0.0 ) { direction = direction.zyx; // ( 1, v, u ) pos x } else if ( face == 1.0 ) { direction = direction.xzy; direction.xz *= -1.0; // ( -u, 1, -v ) pos y } else if ( face == 2.0 ) { direction.x *= -1.0; // ( -u, v, 1 ) pos z } else if ( face == 3.0 ) { direction = direction.zyx; direction.xz *= -1.0; // ( -1, v, -u ) neg x } else if ( face == 4.0 ) { direction = direction.xzy; direction.xy *= -1.0; // ( -u, -1, v ) neg y } else if ( face == 5.0 ) { direction.z *= -1.0; // ( u, v, -1 ) neg z } return direction; } void main() { vOutputDirection = getDirection( uv, faceIndex ); gl_Position = vec4( position, 1.0 ); } `}THREE.PMREMGenerator=PMREMGenerator});(function(){const DepthLimitedBlurShader={defines:{"KERNEL_RADIUS":4,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDiffuse":{value:null},"size":{value:new THREE.Vector2(512,512)},"sampleUvOffsets":{value:[new THREE.Vector2(0,0)]},"sampleWeights":{value:[1]},"tDepth":{value:null},"cameraNear":{value:10},"cameraFar":{value:1000},"depthCutoff":{value:10}},vertexShader:` #include uniform vec2 size; varying vec2 vUv; varying vec2 vInvSize; void main() { vUv = uv; vInvSize = 1.0 / size; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #include #include uniform sampler2D tDiffuse; uniform sampler2D tDepth; uniform float cameraNear; uniform float cameraFar; uniform float depthCutoff; uniform vec2 sampleUvOffsets[ KERNEL_RADIUS + 1 ]; uniform float sampleWeights[ KERNEL_RADIUS + 1 ]; varying vec2 vUv; varying vec2 vInvSize; float getDepth( const in vec2 screenPosition ) { #if DEPTH_PACKING == 1 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); #else return texture2D( tDepth, screenPosition ).x; #endif } float getViewZ( const in float depth ) { #if PERSPECTIVE_CAMERA == 1 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); #else return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); #endif } void main() { float depth = getDepth( vUv ); if( depth >= ( 1.0 - EPSILON ) ) { discard; } float centerViewZ = -getViewZ( depth ); bool rBreak = false, lBreak = false; float weightSum = sampleWeights[0]; vec4 diffuseSum = texture2D( tDiffuse, vUv ) * weightSum; for( int i = 1; i <= KERNEL_RADIUS; i ++ ) { float sampleWeight = sampleWeights[i]; vec2 sampleUvOffset = sampleUvOffsets[i] * vInvSize; vec2 sampleUv = vUv + sampleUvOffset; float viewZ = -getViewZ( getDepth( sampleUv ) ); if( abs( viewZ - centerViewZ ) > depthCutoff ) rBreak = true; if( ! rBreak ) { diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; weightSum += sampleWeight; } sampleUv = vUv - sampleUvOffset; viewZ = -getViewZ( getDepth( sampleUv ) ); if( abs( viewZ - centerViewZ ) > depthCutoff ) lBreak = true; if( ! lBreak ) { diffuseSum += texture2D( tDiffuse, sampleUv ) * sampleWeight; weightSum += sampleWeight; } } gl_FragColor = diffuseSum / weightSum; }`};const BlurShaderUtils={createSampleWeights:function(kernelRadius,stdDev){const weights=[];for(let i=0;i<=kernelRadius;i++){weights.push(gaussian(i,stdDev))}return weights},createSampleOffsets:function(kernelRadius,uvIncrement){const offsets=[];for(let i=0;i<=kernelRadius;i++){offsets.push(uvIncrement.clone().multiplyScalar(i))}return offsets},configure:function(material,kernelRadius,stdDev,uvIncrement){material.defines["KERNEL_RADIUS"]=kernelRadius;material.uniforms["sampleUvOffsets"].value=BlurShaderUtils.createSampleOffsets(kernelRadius,uvIncrement);material.uniforms["sampleWeights"].value=BlurShaderUtils.createSampleWeights(kernelRadius,stdDev);material.needsUpdate=true}};function gaussian(x,stdDev){return Math.exp(-(x*x)/(2*(stdDev*stdDev)))/(Math.sqrt(2*Math.PI)*stdDev)}THREE.BlurShaderUtils=BlurShaderUtils;THREE.DepthLimitedBlurShader=DepthLimitedBlurShader})();(function(){class EffectComposer{constructor(renderer,renderTarget){this.renderer=renderer;if(renderTarget===undefined){const size=renderer.getSize(new THREE.Vector2);this._pixelRatio=renderer.getPixelRatio();this._width=size.width;this._height=size.height;renderTarget=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio);renderTarget.texture.name="EffectComposer.rt1"}else{this._pixelRatio=1;this._width=renderTarget.width;this._height=renderTarget.height}this.renderTarget1=renderTarget;this.renderTarget2=renderTarget.clone();this.renderTarget2.texture.name="EffectComposer.rt2";this.writeBuffer=this.renderTarget1;this.readBuffer=this.renderTarget2;this.renderToScreen=true;this.passes=[];if(THREE.CopyShader===undefined){console.error("THREE.EffectComposer relies on THREE.CopyShader")}if(THREE.ShaderPass===undefined){console.error("THREE.EffectComposer relies on THREE.ShaderPass")}this.copyPass=new THREE.ShaderPass(THREE.CopyShader);this.clock=new THREE.Clock}swapBuffers(){const tmp=this.readBuffer;this.readBuffer=this.writeBuffer;this.writeBuffer=tmp}addPass(pass){this.passes.push(pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(pass,index){this.passes.splice(index,0,pass);pass.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(pass){const index=this.passes.indexOf(pass);if(index!==-1){this.passes.splice(index,1)}}isLastEnabledPass(passIndex){for(let i=passIndex+1;i 0.; // . 1 . // 0 0 0 // . 1 . // 45 deg edge detection and corners of objects, aka V/H contrast is too similar if( abs( relativeVContrast ) < .3 ) { // locate the edge vec2 dirToEdge; dirToEdge.x = contrastE > contrastW ? 1. : -1.; dirToEdge.y = contrastS > contrastN ? 1. : -1.; // . 2 . . 1 . // 1 0 2 ~= 0 0 1 // . 1 . . 0 . // tap 2 pixels and see which ones are "outside" the edge, to // determine if the edge is vertical or horizontal vec4 rgbaAlongH = FxaaTexOff(tex, posM, vec2( dirToEdge.x, -dirToEdge.y ), fxaaQualityRcpFrame.xy); float matchAlongH = contrast( rgbaM, rgbaAlongH ); // . 1 . // 0 0 1 // . 0 H vec4 rgbaAlongV = FxaaTexOff(tex, posM, vec2( -dirToEdge.x, dirToEdge.y ), fxaaQualityRcpFrame.xy); float matchAlongV = contrast( rgbaM, rgbaAlongV ); // V 1 . // 0 0 1 // . 0 . relativeVContrast = matchAlongV - matchAlongH; relativeVContrast *= fxaaQualityinvEdgeThreshold; if( abs( relativeVContrast ) < .3 ) { // 45 deg edge // 1 1 . // 0 0 1 // . 0 1 // do a simple blur return mix( rgbaM, (rgbaN + rgbaS + rgbaE + rgbaW) * .25, .4 ); } horzSpan = relativeVContrast > 0.; } if(!horzSpan) rgbaN = rgbaW; if(!horzSpan) rgbaS = rgbaE; // . 0 . 1 // 1 0 1 -> 0 // . 0 . 1 bool pairN = contrast( rgbaM, rgbaN ) > contrast( rgbaM, rgbaS ); if(!pairN) rgbaN = rgbaS; vec2 offNP; offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; bool doneN = false; bool doneP = false; float nDist = 0.; float pDist = 0.; vec2 posN = posM; vec2 posP = posM; int iterationsUsed = 0; int iterationsUsedN = 0; int iterationsUsedP = 0; for( int i = 0; i < NUM_SAMPLES; i++ ) { iterationsUsed = i; float increment = float(i + 1); if(!doneN) { nDist += increment; posN = posM + offNP * nDist; vec4 rgbaEndN = FxaaTexTop(tex, posN.xy); doneN = contrast( rgbaEndN, rgbaM ) > contrast( rgbaEndN, rgbaN ); iterationsUsedN = i; } if(!doneP) { pDist += increment; posP = posM - offNP * pDist; vec4 rgbaEndP = FxaaTexTop(tex, posP.xy); doneP = contrast( rgbaEndP, rgbaM ) > contrast( rgbaEndP, rgbaN ); iterationsUsedP = i; } if(doneN || doneP) break; } if ( !doneP && !doneN ) return rgbaM; // failed to find end of edge float dist = min( doneN ? float( iterationsUsedN ) / float( NUM_SAMPLES - 1 ) : 1., doneP ? float( iterationsUsedP ) / float( NUM_SAMPLES - 1 ) : 1. ); // hacky way of reduces blurriness of mostly diagonal edges // but reduces AA quality dist = pow(dist, .5); dist = 1. - dist; return mix( rgbaM, rgbaN, dist * .5 ); } void main() { const float edgeDetectionQuality = .2; const float invEdgeDetectionQuality = 1. / edgeDetectionQuality; gl_FragColor = FxaaPixelShader( vUv, tDiffuse, resolution, edgeDetectionQuality, // [0,1] contrast needed, otherwise early discard invEdgeDetectionQuality ); } `};THREE.FXAAShader=FXAAShader})();(function(){const GammaCorrectionShader={uniforms:{"tDiffuse":{value:null}},vertexShader:` varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; varying vec2 vUv; void main() { vec4 tex = texture2D( tDiffuse, vUv ); gl_FragColor = LinearTosRGB( tex ); }`};THREE.GammaCorrectionShader=GammaCorrectionShader})();(function(require){class CustomRenderPass extends THREE.Pass{constructor(renderCallback){super();this.renderCallback=renderCallback;this.scene=null;this.camera=null;this.clear=true;this.clearDepth=false;this.needsSwap=false}render(renderer,writeBuffer,readBuffer,delta,maskActive){var oldAutoClear=renderer.autoClear;renderer.autoClear=false;this.renderCallback(renderer,this.scene,this.camera,this.renderToScreen?null:readBuffer,this.clear);renderer.autoClear=oldAutoClear}}THREE.CustomRenderPass=CustomRenderPass})();(function(){class MaskPass extends THREE.Pass{constructor(scene,camera){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.inverse=false}render(renderer,writeBuffer,readBuffer){const context=renderer.getContext();const state=renderer.state;state.buffers.color.setMask(false);state.buffers.depth.setMask(false);state.buffers.color.setLocked(true);state.buffers.depth.setLocked(true);let writeValue,clearValue;if(this.inverse){writeValue=0;clearValue=1}else{writeValue=1;clearValue=0}state.buffers.stencil.setTest(true);state.buffers.stencil.setOp(context.REPLACE,context.REPLACE,context.REPLACE);state.buffers.stencil.setFunc(context.ALWAYS,writeValue,4294967295);state.buffers.stencil.setClear(clearValue);state.buffers.stencil.setLocked(true);renderer.setRenderTarget(readBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();renderer.render(this.scene,this.camera);state.buffers.color.setLocked(false);state.buffers.depth.setLocked(false);state.buffers.stencil.setLocked(false);state.buffers.stencil.setFunc(context.EQUAL,1,4294967295);state.buffers.stencil.setOp(context.KEEP,context.KEEP,context.KEEP);state.buffers.stencil.setLocked(true)}}class ClearMaskPass extends THREE.Pass{constructor(){super();this.needsSwap=false}render(renderer){renderer.state.buffers.stencil.setLocked(false);renderer.state.buffers.stencil.setTest(false)}}THREE.ClearMaskPass=ClearMaskPass;THREE.MaskPass=MaskPass})();(function(){var vertexShader=["varying vec2 vUv;","void main() {"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"," vUv = uv;","}"].join("\n");var fragmentShader=["varying vec2 vUv;","uniform sampler2D tDepth;","uniform sampler2D tColor;","uniform mat4 inverseProjectionMatrix;","uniform float near;","uniform float far;","uniform float depthLimit;","uniform mat4 clipToWorldMatrix;","uniform mat4 previousWorldToClipMatrix;","uniform vec3 cameraMove; ","uniform float velocityFactor;","uniform float delta;","uniform int samples;","void main() {"," float zOverW = texture2D(tDepth, vUv).x;"," vec4 clipPosition = vec4(vUv.x * 2. - 1., vUv.y * 2. - 1., zOverW * 2. - 1., 1.);"," vec4 cameraSpacePosition = inverseProjectionMatrix * clipPosition;"," cameraSpacePosition /= cameraSpacePosition.w;"," float depth = -(cameraSpacePosition.z - near) / (far - near);"," if (depth > depthLimit)"," {"," gl_FragColor = texture2D(tColor, vUv);"," return;"," }"," vec4 worldPosition = clipToWorldMatrix * clipPosition;"," worldPosition /= worldPosition.w;"," vec4 previousClipPosition = worldPosition;"," previousClipPosition.xyz -= cameraMove * ("," 1. - smoothstep(.3, 1., clamp(length(clipPosition.xy), 0., 1.))"," );"," previousClipPosition = previousWorldToClipMatrix * previousClipPosition;"," previousClipPosition /= previousClipPosition.w;"," vec2 velocity = velocityFactor * (clipPosition - previousClipPosition).xy / delta * 16.67;"," vec4 finalColor = vec4(0.);"," vec2 offset = vec2(0.);"," float weight = 0.;"," for(int i = 0; i < samples; i++) {"," offset = velocity * (float(i) / (float(samples) - 1.) - .5);"," vec4 c = texture2D(tColor, vUv + offset);"," finalColor += c;"," }"," finalColor /= float(samples);"," gl_FragColor = vec4(finalColor.rgb, 1.);","}"].join("\n");var uniforms={"tDepth":{type:"t",value:null},"tColor":{type:"t",value:null},"velocityFactor":{type:"f",value:1},"delta":{type:"f",value:16.67},"samples":{type:"i",value:20},"inverseProjectionMatrix":{type:"m4",value:new THREE.Matrix4},"clipToWorldMatrix":{type:"m4",value:new THREE.Matrix4},"previousWorldToClipMatrix":{type:"m4",value:new THREE.Matrix4},"cameraMove":{type:"v3",value:new THREE.Vector3},"near":{type:"f",value:1},"far":{type:"f",value:1000},"depthLimit":{type:"f",value:0.99}};class MotionBlurPass extends THREE.Pass{constructor(){super();this.uniforms=THREE.UniformsUtils.clone(uniforms);this.material=new THREE.ShaderMaterial({defines:{},uniforms:this.uniforms,vertexShader:vertexShader,fragmentShader:fragmentShader});this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer,deltaTime,maskActive){this.uniforms["tColor"].value=readBuffer.texture;this.uniforms["tDepth"].value=readBuffer.depthTexture;this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}dispose(){this.fsQuad.dispose();this.material.dispose()}};THREE.MotionBlurPass=MotionBlurPass})();(function(){class RenderPass extends THREE.Pass{constructor(scene,camera,overrideMaterial,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.overrideMaterial=overrideMaterial;this.clearColor=clearColor;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this.clear=true;this.clearDepth=false;this.needsSwap=false;this._oldClearColor=new THREE.Color}render(renderer,writeBuffer,readBuffer){const oldAutoClear=renderer.autoClear;renderer.autoClear=false;let oldClearAlpha,oldOverrideMaterial;if(this.overrideMaterial!==undefined){oldOverrideMaterial=this.scene.overrideMaterial;this.scene.overrideMaterial=this.overrideMaterial}if(this.clearColor){renderer.getClearColor(this._oldClearColor);oldClearAlpha=renderer.getClearAlpha();renderer.setClearColor(this.clearColor,this.clearAlpha)}if(this.clearDepth){renderer.clearDepth()}renderer.setRenderTarget(this.renderToScreen?null:readBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);renderer.render(this.scene,this.camera);if(this.clearColor){renderer.setClearColor(this._oldClearColor,oldClearAlpha)}if(this.overrideMaterial!==undefined){this.scene.overrideMaterial=oldOverrideMaterial}renderer.autoClear=oldAutoClear}}THREE.RenderPass=RenderPass})();(function(){class SAOPass extends THREE.Pass{constructor(scene,camera,useDepthTexture=false,useNormals=false,resolution=new THREE.Vector2(256,256)){super();this.scene=scene;this.camera=camera;this.clear=true;this.needsSwap=false;this.supportsDepthTextureExtension=useDepthTexture;this.supportsNormalTexture=useNormals;this.originalClearColor=new THREE.Color;this._oldClearColor=new THREE.Color;this.oldClearAlpha=1;this.params={output:0,saoBias:0.5,saoIntensity:0.18,saoScale:1,saoKernelRadius:100,saoMinResolution:0,saoBlur:true,saoBlurRadius:8,saoBlurStdDev:4,saoBlurDepthCutoff:0.01};this.resolution=new THREE.Vector2(resolution.x,resolution.y);this.saoRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y);this.blurIntermediateRenderTarget=this.saoRenderTarget.clone();this.beautyRenderTarget=this.saoRenderTarget.clone();this.normalRenderTarget=new THREE.WebGLRenderTarget(this.resolution.x,this.resolution.y,{minFilter:THREE.NearestFilter,magFilter:THREE.NearestFilter});this.depthRenderTarget=this.normalRenderTarget.clone();let depthTexture;if(this.supportsDepthTextureExtension){depthTexture=new THREE.DepthTexture;depthTexture.type=THREE.UnsignedShortType;this.beautyRenderTarget.depthTexture=depthTexture;this.beautyRenderTarget.depthBuffer=true}this.depthMaterial=new THREE.MeshDepthMaterial;this.depthMaterial.depthPacking=THREE.RGBADepthPacking;this.depthMaterial.blending=THREE.NoBlending;this.normalMaterial=new THREE.MeshNormalMaterial;this.normalMaterial.blending=THREE.NoBlending;if(THREE.SAOShader===undefined){console.error("THREE.SAOPass relies on THREE.SAOShader")}this.saoMaterial=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SAOShader.defines),fragmentShader:THREE.SAOShader.fragmentShader,vertexShader:THREE.SAOShader.vertexShader,uniforms:THREE.UniformsUtils.clone(THREE.SAOShader.uniforms)});this.saoMaterial.extensions.derivatives=true;this.saoMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.saoMaterial.defines["NORMAL_TEXTURE"]=this.supportsNormalTexture?1:0;this.saoMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.saoMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.saoMaterial.uniforms["tNormal"].value=this.normalRenderTarget.texture;this.saoMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.blending=THREE.NoBlending;if(THREE.DepthLimitedBlurShader===undefined){console.error("THREE.SAOPass relies on THREE.DepthLimitedBlurShader")}this.vBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.vBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.vBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.vBlurMaterial.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.vBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.vBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.vBlurMaterial.blending=THREE.NoBlending;this.hBlurMaterial=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.DepthLimitedBlurShader.uniforms),defines:Object.assign({},THREE.DepthLimitedBlurShader.defines),vertexShader:THREE.DepthLimitedBlurShader.vertexShader,fragmentShader:THREE.DepthLimitedBlurShader.fragmentShader});this.hBlurMaterial.defines["DEPTH_PACKING"]=this.supportsDepthTextureExtension?0:1;this.hBlurMaterial.defines["PERSPECTIVE_CAMERA"]=this.camera.isPerspectiveCamera?1:0;this.hBlurMaterial.uniforms["tDiffuse"].value=this.blurIntermediateRenderTarget.texture;this.hBlurMaterial.uniforms["tDepth"].value=this.supportsDepthTextureExtension?depthTexture:this.depthRenderTarget.texture;this.hBlurMaterial.uniforms["size"].value.set(this.resolution.x,this.resolution.y);this.hBlurMaterial.blending=THREE.NoBlending;if(THREE.CopyShader===undefined){console.error("THREE.SAOPass relies on THREE.CopyShader")}this.materialCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.CopyShader.uniforms),vertexShader:THREE.CopyShader.vertexShader,fragmentShader:THREE.CopyShader.fragmentShader,blending:THREE.NoBlending});this.materialCopy.transparent=true;this.materialCopy.depthTest=false;this.materialCopy.depthWrite=false;this.materialCopy.blending=THREE.CustomBlending;this.materialCopy.blendSrc=THREE.DstColorFactor;this.materialCopy.blendDst=THREE.ZeroFactor;this.materialCopy.blendEquation=THREE.AddEquation;this.materialCopy.blendSrcAlpha=THREE.DstAlphaFactor;this.materialCopy.blendDstAlpha=THREE.ZeroFactor;this.materialCopy.blendEquationAlpha=THREE.AddEquation;if(THREE.UnpackDepthRGBAShader===undefined){console.error("THREE.SAOPass relies on THREE.UnpackDepthRGBAShader")}this.depthCopy=new THREE.ShaderMaterial({uniforms:THREE.UniformsUtils.clone(THREE.UnpackDepthRGBAShader.uniforms),vertexShader:THREE.UnpackDepthRGBAShader.vertexShader,fragmentShader:THREE.UnpackDepthRGBAShader.fragmentShader,blending:THREE.NoBlending});this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){if(this.renderToScreen){this.materialCopy.blending=THREE.NoBlending;this.materialCopy.uniforms["tDiffuse"].value=readBuffer.texture;this.materialCopy.needsUpdate=true;this.renderPass(renderer,this.materialCopy,null)}if(this.params.output===1){return}renderer.getClearColor(this._oldClearColor);this.oldClearAlpha=renderer.getClearAlpha();const oldAutoClear=renderer.autoClear;renderer.autoClear=false;renderer.setRenderTarget(this.depthRenderTarget);renderer.clear();this.saoMaterial.uniforms["bias"].value=this.params.saoBias;this.saoMaterial.uniforms["intensity"].value=this.params.saoIntensity;this.saoMaterial.uniforms["scale"].value=this.params.saoScale;this.saoMaterial.uniforms["kernelRadius"].value=this.params.saoKernelRadius;this.saoMaterial.uniforms["minResolution"].value=this.params.saoMinResolution;this.saoMaterial.uniforms["cameraNear"].value=this.camera.near;this.saoMaterial.uniforms["cameraFar"].value=this.camera.far;const depthCutoff=this.params.saoBlurDepthCutoff*(this.camera.far-this.camera.near);this.vBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.hBlurMaterial.uniforms["depthCutoff"].value=depthCutoff;this.vBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.vBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.hBlurMaterial.uniforms["cameraNear"].value=this.camera.near;this.hBlurMaterial.uniforms["cameraFar"].value=this.camera.far;this.params.saoBlurRadius=Math.floor(this.params.saoBlurRadius);if(this.prevStdDev!==this.params.saoBlurStdDev||this.prevNumSamples!==this.params.saoBlurRadius){THREE.BlurShaderUtils.configure(this.vBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(0,1));THREE.BlurShaderUtils.configure(this.hBlurMaterial,this.params.saoBlurRadius,this.params.saoBlurStdDev,new THREE.Vector2(1,0));this.prevStdDev=this.params.saoBlurStdDev;this.prevNumSamples=this.params.saoBlurRadius}renderer.setClearColor(0);renderer.setRenderTarget(this.beautyRenderTarget);renderer.clear();renderer.render(this.scene,this.camera);if(!this.supportsDepthTextureExtension){this.renderOverride(renderer,this.depthMaterial,this.depthRenderTarget,0,1)}if(this.supportsNormalTexture){this.renderOverride(renderer,this.normalMaterial,this.normalRenderTarget,7829503,1)}this.renderPass(renderer,this.saoMaterial,this.saoRenderTarget,16777215,1);if(this.params.saoBlur){this.renderPass(renderer,this.vBlurMaterial,this.blurIntermediateRenderTarget,16777215,1);this.renderPass(renderer,this.hBlurMaterial,this.saoRenderTarget,16777215,1)}let outputMaterial=this.materialCopy;if(this.params.output===3){if(this.supportsDepthTextureExtension){this.materialCopy.uniforms["tDiffuse"].value=this.beautyRenderTarget.depthTexture;this.materialCopy.needsUpdate=true}else{this.depthCopy.uniforms["tDiffuse"].value=this.depthRenderTarget.texture;this.depthCopy.needsUpdate=true;outputMaterial=this.depthCopy}}else if(this.params.output===4){this.materialCopy.uniforms["tDiffuse"].value=this.normalRenderTarget.texture;this.materialCopy.needsUpdate=true}else{this.materialCopy.uniforms["tDiffuse"].value=this.saoRenderTarget.texture;this.materialCopy.needsUpdate=true}if(this.params.output===0){outputMaterial.blending=THREE.CustomBlending}else{outputMaterial.blending=THREE.NoBlending}this.renderPass(renderer,outputMaterial,this.renderToScreen?null:readBuffer);renderer.setClearColor(this._oldClearColor,this.oldClearAlpha);renderer.autoClear=oldAutoClear}renderPass(renderer,passMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.fsQuad.material=passMaterial;this.fsQuad.render(renderer);renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}renderOverride(renderer,overrideMaterial,renderTarget,clearColor,clearAlpha){renderer.getClearColor(this.originalClearColor);const originalClearAlpha=renderer.getClearAlpha();const originalAutoClear=renderer.autoClear;renderer.setRenderTarget(renderTarget);renderer.autoClear=false;clearColor=overrideMaterial.clearColor||clearColor;clearAlpha=overrideMaterial.clearAlpha||clearAlpha;if(clearColor!==undefined&&clearColor!==null){renderer.setClearColor(clearColor);renderer.setClearAlpha(clearAlpha||0);renderer.clear()}this.scene.overrideMaterial=overrideMaterial;renderer.render(this.scene,this.camera);this.scene.overrideMaterial=null;renderer.autoClear=originalAutoClear;renderer.setClearColor(this.originalClearColor);renderer.setClearAlpha(originalClearAlpha)}setSize(width,height){this.beautyRenderTarget.setSize(width,height);this.saoRenderTarget.setSize(width,height);this.blurIntermediateRenderTarget.setSize(width,height);this.normalRenderTarget.setSize(width,height);this.depthRenderTarget.setSize(width,height);this.saoMaterial.uniforms["size"].value.set(width,height);this.saoMaterial.uniforms["cameraInverseProjectionMatrix"].value.copy(this.camera.projectionMatrixInverse);this.saoMaterial.uniforms["cameraProjectionMatrix"].value=this.camera.projectionMatrix;this.saoMaterial.needsUpdate=true;this.vBlurMaterial.uniforms["size"].value.set(width,height);this.vBlurMaterial.needsUpdate=true;this.hBlurMaterial.uniforms["size"].value.set(width,height);this.hBlurMaterial.needsUpdate=true}}SAOPass.OUTPUT={"Beauty":1,"Default":0,"SAO":2,"Depth":3,"Normal":4};THREE.SAOPass=SAOPass})();(function(){const SAOShader={defines:{"NUM_SAMPLES":7,"NUM_RINGS":4,"NORMAL_TEXTURE":0,"DIFFUSE_TEXTURE":0,"DEPTH_PACKING":1,"PERSPECTIVE_CAMERA":1},uniforms:{"tDepth":{value:null},"tDiffuse":{value:null},"tNormal":{value:null},"size":{value:new THREE.Vector2(512,512)},"cameraNear":{value:1},"cameraFar":{value:100},"cameraProjectionMatrix":{value:new THREE.Matrix4},"cameraInverseProjectionMatrix":{value:new THREE.Matrix4},"scale":{value:1},"intensity":{value:0.1},"bias":{value:0.5},"minResolution":{value:0},"kernelRadius":{value:100},"randomSeed":{value:0}},vertexShader:` varying vec2 vUv; void main() { vUv = uv; gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #include varying vec2 vUv; #if DIFFUSE_TEXTURE == 1 uniform sampler2D tDiffuse; #endif uniform sampler2D tDepth; #if NORMAL_TEXTURE == 1 uniform sampler2D tNormal; #endif uniform float cameraNear; uniform float cameraFar; uniform mat4 cameraProjectionMatrix; uniform mat4 cameraInverseProjectionMatrix; uniform float scale; uniform float intensity; uniform float bias; uniform float kernelRadius; uniform float minResolution; uniform vec2 size; uniform float randomSeed; // RGBA depth #include vec4 getDefaultColor( const in vec2 screenPosition ) { #if DIFFUSE_TEXTURE == 1 return texture2D( tDiffuse, vUv ); #else return vec4( 1.0 ); #endif } float getDepth( const in vec2 screenPosition ) { #if DEPTH_PACKING == 1 return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) ); #else return texture2D( tDepth, screenPosition ).x; #endif } float getViewZ( const in float depth ) { #if PERSPECTIVE_CAMERA == 1 return perspectiveDepthToViewZ( depth, cameraNear, cameraFar ); #else return orthographicDepthToViewZ( depth, cameraNear, cameraFar ); #endif } vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) { float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3]; vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 ); clipPosition *= clipW; // unprojection. return ( cameraInverseProjectionMatrix * clipPosition ).xyz; } vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) { #if NORMAL_TEXTURE == 1 return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz ); #else return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) ); #endif } float scaleDividedByCameraFar; float minResolutionMultipliedByCameraFar; float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) { vec3 viewDelta = sampleViewPosition - centerViewPosition; float viewDistance = length( viewDelta ); float scaledScreenDistance = scaleDividedByCameraFar * viewDistance; return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) ); } // moving costly divides into consts const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES ); const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES ); float getAmbientOcclusion( const in vec3 centerViewPosition ) { // precompute some variables require in getOcclusion. scaleDividedByCameraFar = scale / cameraFar; minResolutionMultipliedByCameraFar = minResolution * cameraFar; vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv ); // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/ float angle = rand( vUv + randomSeed ) * PI2; vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size; vec2 radiusStep = radius; float occlusionSum = 0.0; float weightSum = 0.0; for( int i = 0; i < NUM_SAMPLES; i ++ ) { vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius; radius += radiusStep; angle += ANGLE_STEP; float sampleDepth = getDepth( sampleUv ); if( sampleDepth >= ( 1.0 - EPSILON ) ) { continue; } float sampleViewZ = getViewZ( sampleDepth ); vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ ); occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition ); weightSum += 1.0; } if( weightSum == 0.0 ) discard; return occlusionSum * ( intensity / weightSum ); } void main() { float centerDepth = getDepth( vUv ); if( centerDepth >= ( 1.0 - EPSILON ) ) { discard; } float centerViewZ = getViewZ( centerDepth ); vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ ); float ambientOcclusion = getAmbientOcclusion( viewPosition ); gl_FragColor = getDefaultColor( vUv ); gl_FragColor.xyz *= 1.0 - ambientOcclusion; }`};THREE.SAOShader=SAOShader})();(function(){class SavePass extends THREE.Pass{constructor(renderTarget){super();if(THREE.CopyShader===undefined)console.error("THREE.SavePass relies on THREE.CopyShader");const shader=THREE.CopyShader;this.textureID="tDiffuse";this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader});this.renderTarget=renderTarget;if(this.renderTarget===undefined){this.renderTarget=new THREE.WebGLRenderTarget(window.innerWidth,window.innerHeight);this.renderTarget.texture.name="SavePass.rt"}this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}renderer.setRenderTarget(this.renderTarget);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}THREE.SavePass=SavePass})();(function(){class ShaderPass extends THREE.Pass{constructor(shader,textureID){super();this.textureID=textureID!==undefined?textureID:"tDiffuse";if(shader instanceof THREE.ShaderMaterial){this.uniforms=shader.uniforms;this.material=shader}else if(shader){this.uniforms=THREE.UniformsUtils.clone(shader.uniforms);this.material=new THREE.ShaderMaterial({defines:Object.assign({},shader.defines),uniforms:this.uniforms,vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader})}this.fsQuad=new THREE.FullScreenQuad(this.material)}render(renderer,writeBuffer,readBuffer){if(this.uniforms[this.textureID]){this.uniforms[this.textureID].value=readBuffer.texture}this.fsQuad.material=this.material;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil);this.fsQuad.render(renderer)}}}THREE.ShaderPass=ShaderPass})();(function(){class SMAAPass extends THREE.Pass{constructor(width,height){super();this.edgesRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.edgesRT.texture.name="SMAAPass.edges";this.weightsRT=new THREE.WebGLRenderTarget(width,height,{depthBuffer:false});this.weightsRT.texture.name="SMAAPass.weights";const scope=this;const areaTextureImage=new Image;areaTextureImage.src=this.getAreaTexture();areaTextureImage.onload=function(){scope.areaTexture.needsUpdate=true};this.areaTexture=new THREE.Texture;this.areaTexture.name="SMAAPass.area";this.areaTexture.image=areaTextureImage;this.areaTexture.minFilter=THREE.LinearFilter;this.areaTexture.generateMipmaps=false;this.areaTexture.flipY=false;const searchTextureImage=new Image;searchTextureImage.src=this.getSearchTexture();searchTextureImage.onload=function(){scope.searchTexture.needsUpdate=true};this.searchTexture=new THREE.Texture;this.searchTexture.name="SMAAPass.search";this.searchTexture.image=searchTextureImage;this.searchTexture.magFilter=THREE.NearestFilter;this.searchTexture.minFilter=THREE.NearestFilter;this.searchTexture.generateMipmaps=false;this.searchTexture.flipY=false;if(THREE.SMAAEdgesShader===undefined){console.error("THREE.SMAAPass relies on SMAAShader")}this.uniformsEdges=THREE.UniformsUtils.clone(THREE.SMAAEdgesShader.uniforms);this.uniformsEdges["resolution"].value.set(1/width,1/height);this.materialEdges=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAEdgesShader.defines),uniforms:this.uniformsEdges,vertexShader:THREE.SMAAEdgesShader.vertexShader,fragmentShader:THREE.SMAAEdgesShader.fragmentShader});this.uniformsWeights=THREE.UniformsUtils.clone(THREE.SMAAWeightsShader.uniforms);this.uniformsWeights["resolution"].value.set(1/width,1/height);this.uniformsWeights["tDiffuse"].value=this.edgesRT.texture;this.uniformsWeights["tArea"].value=this.areaTexture;this.uniformsWeights["tSearch"].value=this.searchTexture;this.materialWeights=new THREE.ShaderMaterial({defines:Object.assign({},THREE.SMAAWeightsShader.defines),uniforms:this.uniformsWeights,vertexShader:THREE.SMAAWeightsShader.vertexShader,fragmentShader:THREE.SMAAWeightsShader.fragmentShader});this.uniformsBlend=THREE.UniformsUtils.clone(THREE.SMAABlendShader.uniforms);this.uniformsBlend["resolution"].value.set(1/width,1/height);this.uniformsBlend["tDiffuse"].value=this.weightsRT.texture;this.materialBlend=new THREE.ShaderMaterial({uniforms:this.uniformsBlend,vertexShader:THREE.SMAABlendShader.vertexShader,fragmentShader:THREE.SMAABlendShader.fragmentShader});this.needsSwap=false;this.fsQuad=new THREE.FullScreenQuad(null)}render(renderer,writeBuffer,readBuffer){this.uniformsEdges["tDiffuse"].value=readBuffer.texture;this.fsQuad.material=this.materialEdges;renderer.setRenderTarget(this.edgesRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.fsQuad.material=this.materialWeights;renderer.setRenderTarget(this.weightsRT);if(this.clear)renderer.clear();this.fsQuad.render(renderer);this.uniformsBlend["tColor"].value=readBuffer.texture;this.fsQuad.material=this.materialBlend;if(this.renderToScreen){renderer.setRenderTarget(null);this.fsQuad.render(renderer)}else{renderer.setRenderTarget(writeBuffer);if(this.clear)renderer.clear();this.fsQuad.render(renderer)}}setSize(width,height){this.edgesRT.setSize(width,height);this.weightsRT.setSize(width,height);this.materialEdges.uniforms["resolution"].value.set(1/width,1/height);this.materialWeights.uniforms["resolution"].value.set(1/width,1/height);this.materialBlend.uniforms["resolution"].value.set(1/width,1/height)}getAreaTexture(){return"data:image/png;base64,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"}getSearchTexture(){return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAhCAAAAABIXyLAAAAAOElEQVRIx2NgGAWjYBSMglEwEICREYRgFBZBqDCSLA2MGPUIVQETE9iNUAqLR5gIeoQKRgwXjwAAGn4AtaFeYLEAAAAASUVORK5CYII="}}THREE.SMAAPass=SMAAPass})();(function(){const SMAAEdgesShader={defines:{"SMAA_THRESHOLD":"0.1"},uniforms:{"tDiffuse":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 3 ]; void SMAAEdgeDetectionVS( vec2 texcoord ) { vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component vOffset[ 2 ] = texcoord.xyxy + resolution.xyxy * vec4( -2.0, 0.0, 0.0, 2.0 ); // WebGL port note: Changed sign in W component } void main() { vUv = uv; SMAAEdgeDetectionVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; varying vec2 vUv; varying vec4 vOffset[ 3 ]; vec4 SMAAColorEdgeDetectionPS( vec2 texcoord, vec4 offset[3], sampler2D colorTex ) { vec2 threshold = vec2( SMAA_THRESHOLD, SMAA_THRESHOLD ); // Calculate color deltas: vec4 delta; vec3 C = texture2D( colorTex, texcoord ).rgb; vec3 Cleft = texture2D( colorTex, offset[0].xy ).rgb; vec3 t = abs( C - Cleft ); delta.x = max( max( t.r, t.g ), t.b ); vec3 Ctop = texture2D( colorTex, offset[0].zw ).rgb; t = abs( C - Ctop ); delta.y = max( max( t.r, t.g ), t.b ); // We do the usual threshold: vec2 edges = step( threshold, delta.xy ); // Then discard if there is no edge: if ( dot( edges, vec2( 1.0, 1.0 ) ) == 0.0 ) discard; // Calculate right and bottom deltas: vec3 Cright = texture2D( colorTex, offset[1].xy ).rgb; t = abs( C - Cright ); delta.z = max( max( t.r, t.g ), t.b ); vec3 Cbottom = texture2D( colorTex, offset[1].zw ).rgb; t = abs( C - Cbottom ); delta.w = max( max( t.r, t.g ), t.b ); // Calculate the maximum delta in the direct neighborhood: float maxDelta = max( max( max( delta.x, delta.y ), delta.z ), delta.w ); // Calculate left-left and top-top deltas: vec3 Cleftleft = texture2D( colorTex, offset[2].xy ).rgb; t = abs( C - Cleftleft ); delta.z = max( max( t.r, t.g ), t.b ); vec3 Ctoptop = texture2D( colorTex, offset[2].zw ).rgb; t = abs( C - Ctoptop ); delta.w = max( max( t.r, t.g ), t.b ); // Calculate the final maximum delta: maxDelta = max( max( maxDelta, delta.z ), delta.w ); // Local contrast adaptation in action: edges.xy *= step( 0.5 * maxDelta, delta.xy ); return vec4( edges, 0.0, 0.0 ); } void main() { gl_FragColor = SMAAColorEdgeDetectionPS( vUv, vOffset, tDiffuse ); }`};const SMAAWeightsShader={defines:{"SMAA_MAX_SEARCH_STEPS":"8","SMAA_AREATEX_MAX_DISTANCE":"16","SMAA_AREATEX_PIXEL_SIZE":"( 1.0 / vec2( 160.0, 560.0 ) )","SMAA_AREATEX_SUBTEX_SIZE":"( 1.0 / 7.0 )"},uniforms:{"tDiffuse":{value:null},"tArea":{value:null},"tSearch":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 3 ]; varying vec2 vPixcoord; void SMAABlendingWeightCalculationVS( vec2 texcoord ) { vPixcoord = texcoord / resolution; // We will use these offsets for the searches later on (see @PSEUDO_GATHER4): vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.25, 0.125, 1.25, 0.125 ); // WebGL port note: Changed sign in Y and W components vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( -0.125, 0.25, -0.125, -1.25 ); // WebGL port note: Changed sign in Y and W components // And these for the searches, they indicate the ends of the loops: vOffset[ 2 ] = vec4( vOffset[ 0 ].xz, vOffset[ 1 ].yw ) + vec4( -2.0, 2.0, -2.0, 2.0 ) * resolution.xxyy * float( SMAA_MAX_SEARCH_STEPS ); } void main() { vUv = uv; SMAABlendingWeightCalculationVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` #define SMAASampleLevelZeroOffset( tex, coord, offset ) texture2D( tex, coord + float( offset ) * resolution, 0.0 ) uniform sampler2D tDiffuse; uniform sampler2D tArea; uniform sampler2D tSearch; uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[3]; varying vec2 vPixcoord; #if __VERSION__ == 100 vec2 round( vec2 x ) { return sign( x ) * floor( abs( x ) + 0.5 ); } #endif float SMAASearchLength( sampler2D searchTex, vec2 e, float bias, float scale ) { // Not required if searchTex accesses are set to point: // float2 SEARCH_TEX_PIXEL_SIZE = 1.0 / float2(66.0, 33.0); // e = float2(bias, 0.0) + 0.5 * SEARCH_TEX_PIXEL_SIZE + // e * float2(scale, 1.0) * float2(64.0, 32.0) * SEARCH_TEX_PIXEL_SIZE; e.r = bias + e.r * scale; return 255.0 * texture2D( searchTex, e, 0.0 ).r; } float SMAASearchXLeft( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { /** * @PSEUDO_GATHER4 * This texcoord has been offset by (-0.25, -0.125) in the vertex shader to * sample between edge, thus fetching four edges in a row. * Sampling with different offsets in each direction allows to disambiguate * which edges are active from the four fetched ones. */ vec2 e = vec2( 0.0, 1.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord -= vec2( 2.0, 0.0 ) * resolution; if ( ! ( texcoord.x > end && e.g > 0.8281 && e.r == 0.0 ) ) break; } // We correct the previous (-0.25, -0.125) offset we applied: texcoord.x += 0.25 * resolution.x; // The searches are bias by 1, so adjust the coords accordingly: texcoord.x += resolution.x; // Disambiguate the length added by the last step: texcoord.x += 2.0 * resolution.x; // Undo last step texcoord.x -= resolution.x * SMAASearchLength(searchTex, e, 0.0, 0.5); return texcoord.x; } float SMAASearchXRight( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 0.0, 1.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord += vec2( 2.0, 0.0 ) * resolution; if ( ! ( texcoord.x < end && e.g > 0.8281 && e.r == 0.0 ) ) break; } texcoord.x -= 0.25 * resolution.x; texcoord.x -= resolution.x; texcoord.x -= 2.0 * resolution.x; texcoord.x += resolution.x * SMAASearchLength( searchTex, e, 0.5, 0.5 ); return texcoord.x; } float SMAASearchYUp( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 1.0, 0.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord += vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign if ( ! ( texcoord.y > end && e.r > 0.8281 && e.g == 0.0 ) ) break; } texcoord.y -= 0.25 * resolution.y; // WebGL port note: Changed sign texcoord.y -= resolution.y; // WebGL port note: Changed sign texcoord.y -= 2.0 * resolution.y; // WebGL port note: Changed sign texcoord.y += resolution.y * SMAASearchLength( searchTex, e.gr, 0.0, 0.5 ); // WebGL port note: Changed sign return texcoord.y; } float SMAASearchYDown( sampler2D edgesTex, sampler2D searchTex, vec2 texcoord, float end ) { vec2 e = vec2( 1.0, 0.0 ); for ( int i = 0; i < SMAA_MAX_SEARCH_STEPS; i ++ ) { // WebGL port note: Changed while to for e = texture2D( edgesTex, texcoord, 0.0 ).rg; texcoord -= vec2( 0.0, 2.0 ) * resolution; // WebGL port note: Changed sign if ( ! ( texcoord.y < end && e.r > 0.8281 && e.g == 0.0 ) ) break; } texcoord.y += 0.25 * resolution.y; // WebGL port note: Changed sign texcoord.y += resolution.y; // WebGL port note: Changed sign texcoord.y += 2.0 * resolution.y; // WebGL port note: Changed sign texcoord.y -= resolution.y * SMAASearchLength( searchTex, e.gr, 0.5, 0.5 ); // WebGL port note: Changed sign return texcoord.y; } vec2 SMAAArea( sampler2D areaTex, vec2 dist, float e1, float e2, float offset ) { // Rounding prevents precision errors of bilinear filtering: vec2 texcoord = float( SMAA_AREATEX_MAX_DISTANCE ) * round( 4.0 * vec2( e1, e2 ) ) + dist; // We do a scale and bias for mapping to texel space: texcoord = SMAA_AREATEX_PIXEL_SIZE * texcoord + ( 0.5 * SMAA_AREATEX_PIXEL_SIZE ); // Move to proper place, according to the subpixel offset: texcoord.y += SMAA_AREATEX_SUBTEX_SIZE * offset; return texture2D( areaTex, texcoord, 0.0 ).rg; } vec4 SMAABlendingWeightCalculationPS( vec2 texcoord, vec2 pixcoord, vec4 offset[ 3 ], sampler2D edgesTex, sampler2D areaTex, sampler2D searchTex, ivec4 subsampleIndices ) { vec4 weights = vec4( 0.0, 0.0, 0.0, 0.0 ); vec2 e = texture2D( edgesTex, texcoord ).rg; if ( e.g > 0.0 ) { // Edge at north vec2 d; // Find the distance to the left: vec2 coords; coords.x = SMAASearchXLeft( edgesTex, searchTex, offset[ 0 ].xy, offset[ 2 ].x ); coords.y = offset[ 1 ].y; // offset[1].y = texcoord.y - 0.25 * resolution.y (@CROSSING_OFFSET) d.x = coords.x; // Now fetch the left crossing edges, two at a time using bilinear // filtering. Sampling at -0.25 (see @CROSSING_OFFSET) enables to // discern what value each edge has: float e1 = texture2D( edgesTex, coords, 0.0 ).r; // Find the distance to the right: coords.x = SMAASearchXRight( edgesTex, searchTex, offset[ 0 ].zw, offset[ 2 ].y ); d.y = coords.x; // We want the distances to be in pixel units (doing this here allow to // better interleave arithmetic and memory accesses): d = d / resolution.x - pixcoord.x; // SMAAArea below needs a sqrt, as the areas texture is compressed // quadratically: vec2 sqrt_d = sqrt( abs( d ) ); // Fetch the right crossing edges: coords.y -= 1.0 * resolution.y; // WebGL port note: Added float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 1, 0 ) ).r; // Ok, we know how this pattern looks like, now it is time for getting // the actual area: weights.rg = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.y ) ); } if ( e.r > 0.0 ) { // Edge at west vec2 d; // Find the distance to the top: vec2 coords; coords.y = SMAASearchYUp( edgesTex, searchTex, offset[ 1 ].xy, offset[ 2 ].z ); coords.x = offset[ 0 ].x; // offset[1].x = texcoord.x - 0.25 * resolution.x; d.x = coords.y; // Fetch the top crossing edges: float e1 = texture2D( edgesTex, coords, 0.0 ).g; // Find the distance to the bottom: coords.y = SMAASearchYDown( edgesTex, searchTex, offset[ 1 ].zw, offset[ 2 ].w ); d.y = coords.y; // We want the distances to be in pixel units: d = d / resolution.y - pixcoord.y; // SMAAArea below needs a sqrt, as the areas texture is compressed // quadratically: vec2 sqrt_d = sqrt( abs( d ) ); // Fetch the bottom crossing edges: coords.y -= 1.0 * resolution.y; // WebGL port note: Added float e2 = SMAASampleLevelZeroOffset( edgesTex, coords, ivec2( 0, 1 ) ).g; // Get the area for this direction: weights.ba = SMAAArea( areaTex, sqrt_d, e1, e2, float( subsampleIndices.x ) ); } return weights; } void main() { gl_FragColor = SMAABlendingWeightCalculationPS( vUv, vPixcoord, vOffset, tDiffuse, tArea, tSearch, ivec4( 0.0 ) ); }`};const SMAABlendShader={uniforms:{"tDiffuse":{value:null},"tColor":{value:null},"resolution":{value:new THREE.Vector2(1/1024,1/512)}},vertexShader:` uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 2 ]; void SMAANeighborhoodBlendingVS( vec2 texcoord ) { vOffset[ 0 ] = texcoord.xyxy + resolution.xyxy * vec4( -1.0, 0.0, 0.0, 1.0 ); // WebGL port note: Changed sign in W component vOffset[ 1 ] = texcoord.xyxy + resolution.xyxy * vec4( 1.0, 0.0, 0.0, -1.0 ); // WebGL port note: Changed sign in W component } void main() { vUv = uv; SMAANeighborhoodBlendingVS( vUv ); gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); }`,fragmentShader:` uniform sampler2D tDiffuse; uniform sampler2D tColor; uniform vec2 resolution; varying vec2 vUv; varying vec4 vOffset[ 2 ]; vec4 SMAANeighborhoodBlendingPS( vec2 texcoord, vec4 offset[ 2 ], sampler2D colorTex, sampler2D blendTex ) { // Fetch the blending weights for current pixel: vec4 a; a.xz = texture2D( blendTex, texcoord ).xz; a.y = texture2D( blendTex, offset[ 1 ].zw ).g; a.w = texture2D( blendTex, offset[ 1 ].xy ).a; // Is there any blending weight with a value greater than 0.0? if ( dot(a, vec4( 1.0, 1.0, 1.0, 1.0 )) < 1e-5 ) { return texture2D( colorTex, texcoord, 0.0 ); } else { // Up to 4 lines can be crossing a pixel (one through each edge). We // favor blending by choosing the line with the maximum weight for each // direction: vec2 offset; offset.x = a.a > a.b ? a.a : -a.b; // left vs. right offset.y = a.g > a.r ? -a.g : a.r; // top vs. bottom // WebGL port note: Changed signs // Then we go in the direction that has the maximum weight: if ( abs( offset.x ) > abs( offset.y )) { // horizontal vs. vertical offset.y = 0.0; } else { offset.x = 0.0; } // Fetch the opposite color and lerp by hand: vec4 C = texture2D( colorTex, texcoord, 0.0 ); texcoord += sign( offset ) * resolution; vec4 Cop = texture2D( colorTex, texcoord, 0.0 ); float s = abs( offset.x ) > abs( offset.y ) ? abs( offset.x ) : abs( offset.y ); // WebGL port note: Added gamma correction C.xyz = pow(C.xyz, vec3(2.2)); Cop.xyz = pow(Cop.xyz, vec3(2.2)); vec4 mixed = mix(C, Cop, s); mixed.xyz = pow(mixed.xyz, vec3(1.0 / 2.2)); return mixed; } } void main() { gl_FragColor = SMAANeighborhoodBlendingPS( vUv, vOffset, tColor, tDiffuse ); }`};THREE.SMAABlendShader=SMAABlendShader;THREE.SMAAEdgesShader=SMAAEdgesShader;THREE.SMAAWeightsShader=SMAAWeightsShader})();(function(){class SSAARenderPass extends THREE.Pass{constructor(scene,camera,clearColor,clearAlpha){super();this.scene=scene;this.camera=camera;this.sampleLevel=4;this.unbiased=true;this.clearColor=clearColor!==undefined?clearColor:0;this.clearAlpha=clearAlpha!==undefined?clearAlpha:0;this._oldClearColor=new THREE.Color;if(THREE.CopyShader===undefined)console.error("THREE.SSAARenderPass relies on THREE.CopyShader");const copyShader=THREE.CopyShader;this.copyUniforms=THREE.UniformsUtils.clone(copyShader.uniforms);this.copyMaterial=new THREE.ShaderMaterial({uniforms:this.copyUniforms,vertexShader:copyShader.vertexShader,fragmentShader:copyShader.fragmentShader,transparent:true,blending:THREE.AdditiveBlending,depthTest:false,depthWrite:false});this.fsQuad=new THREE.FullScreenQuad(this.copyMaterial)}dispose(){if(this.sampleRenderTarget){this.sampleRenderTarget.dispose();this.sampleRenderTarget=null}}setSize(width,height){if(this.sampleRenderTarget)this.sampleRenderTarget.setSize(width,height)}render(renderer,writeBuffer,readBuffer){if(!this.sampleRenderTarget){this.sampleRenderTarget=new THREE.WebGLRenderTarget(readBuffer.width,readBuffer.height);this.sampleRenderTarget.texture.name="SSAARenderPass.sample"}const jitterOffsets=_JitterVectors[Math.max(0,Math.min(this.sampleLevel,5))];const autoClear=renderer.autoClear;renderer.autoClear=false;renderer.getClearColor(this._oldClearColor);const oldClearAlpha=renderer.getClearAlpha();const baseSampleWeight=1/jitterOffsets.length;const roundingRange=1/32;this.copyUniforms["tDiffuse"].value=this.sampleRenderTarget.texture;const viewOffset={fullWidth:readBuffer.width,fullHeight:readBuffer.height,offsetX:0,offsetY:0,width:readBuffer.width,height:readBuffer.height};const originalViewOffset=Object.assign({},this.camera.view);if(originalViewOffset.enabled)Object.assign(viewOffset,originalViewOffset);for(let i=0;i void main() { float depth = 1.0 - unpackRGBAToDepth( texture2D( tDiffuse, vUv ) ); gl_FragColor = vec4( vec3( depth ), opacity ); }`};THREE.UnpackDepthRGBAShader=UnpackDepthRGBAShader})(); })();